Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
Qisda-SO1037-AGVDispatch
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d1c76358
由
张东亮
编写于
2022-12-20 16:40:50 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
删除不必要的延时
1 个父辈
29e0dfa3
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
22 行增加
和
31 行删除
DeviceLibrary/Control.cs
DeviceLibrary/bean/job/ChargeJob.cs
DeviceLibrary/bean/job/LiftToLinesJob.cs
DeviceLibrary/bean/job/StandyJob.cs
DeviceLibrary/bean/job/SwitchShelfJob.cs
DeviceLibrary/Control.cs
查看文件 @
d1c7635
...
...
@@ -199,22 +199,20 @@ namespace DeviceLibrary
AgvInfo
agv
=
AGVManager
.
agvInfo
[
i
];
if
(!
agv
.
IsCon
)
continue
;
//AGV网络连接
if
(!
AGVManager
.
agvInfo
[
i
].
Auto
)
continue
;
//AGV是否可用
//Ready,Pause,Executing,Error
if
(
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Pause
))
{
MiR_API
.
State_Ready
(
AGVManager
.
agvInfo
[
i
]);
continue
;
}
if
(
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Error
))
{
MiR_API
.
Clear_Error
(
AGVManager
.
agvInfo
[
i
]);
continue
;
}
if
(!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Ready
)
&&
!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Executing
)
&&
!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
None
))
if
(
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Pause
))
{
continue
;
MiR_API
.
State_Ready
(
AGVManager
.
agvInfo
[
i
])
;
}
//if (!AGVManager.agvInfo[i].StateID.Equals(eAGVState.Ready)
// && !AGVManager.agvInfo[i].StateID.Equals(eAGVState.Executing) && !AGVManager.agvInfo[i].StateID.Equals(eAGVState.None))
//{
// continue;
//}
if
(
agv
.
TaskRunState
.
DeWaitTaskQueue
(
out
AgvTask
task
))
{
if
(
agv
.
CurJob
!=
null
)
...
...
@@ -234,12 +232,18 @@ namespace DeviceLibrary
agv
.
CurJob
=
job
;
}
}
if
(
agv
.
CurJob
!=
null
)
else
{
agv
.
CurJob
=
agv
.
CurJob
.
Execute
(
agv
);
}
if
(
(
agv
.
CurJob
!=
null
&&
!(
agv
.
CurJob
is
ChargeJob
||
agv
.
CurJob
is
StandyJob
))&&
(
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Executing
)))
{
MiR_API
.
Get_Task_State
(
agv
);
Thread
.
Sleep
(
50
);
MiR_API
.
Get_IO_Status
(
agv
);
}
}
catch
(
Exception
ex
)
{
...
...
DeviceLibrary/bean/job/ChargeJob.cs
查看文件 @
d1c7635
...
...
@@ -24,14 +24,9 @@ namespace DeviceLibrary
/// <param name="agv"></param>
public
override
Job
Run
(
AgvInfo
agv
)
{
//agv.SetJobContext(new bean.agv.JobContext()
//{
// AgvTask = agv.TaskRunState.Task,
// JobFullName = this.ToString(),
// JobStep = JobRunStep.PreStep(),
// Name = agv.Name,
// JobParam = JobParam
//}) ;
agv
.
SetJobContext
(
new
bean
.
agv
.
JobContext
()
{
});
if
(
JobRunStep
.
IsStep
(
RunStep
.
NONE
))
{
ClearLiftNodeOccupied
(
agv
);
...
...
DeviceLibrary/bean/job/LiftToLinesJob.cs
查看文件 @
d1c7635
...
...
@@ -379,7 +379,7 @@ namespace DeviceLibrary
runInfo
=
$
"{JobParam.SrcNode.AliceName}门已开,检查电梯内该层是否有料车"
;
JobRunStep
.
Msg
=
runInfo
;
//上报位置
System
.
Threading
.
Thread
.
Sleep
(
1000
);
//
System.Threading.Thread.Sleep(1000);
}
else
if
(
JobRunStep
.
IsTimeOut
(
20
)
&&
!
lift
.
LiftContext
.
CheckIfRequestOk
(
JobParam
.
SrcNode
.
Name
,
JobParam
.
GetMissionInfo
()))
{
...
...
@@ -461,7 +461,6 @@ namespace DeviceLibrary
bool
rtn
=
lift
.
LiftContext
.
AGVLeave
(
JobParam
.
SrcNode
.
Name
,
agv
);
runInfo
=
$
"离开{JobParam.SrcNode.AliceName},关门: {rtn}"
;
JobRunStep
.
Msg
=
runInfo
;
System
.
Threading
.
Thread
.
Sleep
(
5000
);
ClearLiftNodeOccupied
(
agv
);
}
}
...
...
DeviceLibrary/bean/job/StandyJob.cs
查看文件 @
d1c7635
...
...
@@ -27,14 +27,9 @@ namespace DeviceLibrary
/// <param name="agv"></param>
public
override
Job
Run
(
AgvInfo
agv
)
{
//agv.SetJobContext(new bean.agv.JobContext()
//{
// AgvTask = agv.TaskRunState.Task,
// JobFullName = this.ToString(),
// JobStep = JobRunStep.PreStep(),
// Name = agv.Name,
// JobParam=JobParam
//});
agv
.
SetJobContext
(
new
bean
.
agv
.
JobContext
()
{
});
if
(
JobRunStep
.
IsStep
(
RunStep
.
NONE
))
{
{
...
...
DeviceLibrary/bean/job/SwitchShelfJob.cs
查看文件 @
d1c7635
...
...
@@ -240,7 +240,6 @@ namespace DeviceLibrary
}
JobRunStep
.
Msg
=
runInfo
;
Thread
.
Sleep
(
1000
);
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Switch_15_CloseDoor
))
...
...
@@ -263,7 +262,6 @@ namespace DeviceLibrary
continueUse
=
true
;
//关门
bool
rtn
=
lift
.
LiftContext
.
AGVLeave
(
JobParam
.
CurTargetNode
.
Name
,
agv
,
continueUse
);
Thread
.
Sleep
(
2000
);
if
(
mission
.
projectType
.
Equals
(
ProjectType
.
移远成品入库
)
&&
SettingString
.
LIFT_D2
.
Equals
(
JobParam
.
CurTargetNode
.
Name
))
{
LiftContext
.
CloseFinishedProduct
(
JobParam
.
CurTargetNode
.
Name
,
agv
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论