Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
Qisda-SO1037-AGVDispatch
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 5fad85aa
由
张东亮
编写于
2022-12-15 16:58:49 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
启用空台车项目
1 个父辈
ab1c3da7
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
18 行增加
和
15 行删除
DeviceLibrary/bean/job/LineOneToManyJob.cs
DeviceLibrary/bean/job/SteelLiftToLinesJob.cs
DeviceLibrary/bean/job/SteelLineToLiftJob.cs
DeviceLibrary/bean/job/SwitchShelfJob.cs
DeviceLibrary/manager/MissionManager.cs
DeviceLibrary/bean/job/LineOneToManyJob.cs
查看文件 @
5fad85a
...
...
@@ -27,7 +27,7 @@ namespace DeviceLibrary.bean.job
runInfo
=
$
"任务开始,去{JobParam.SrcNode.AliceName}的取料点"
;
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
已分配
,
out
string
msg
);
AllocateTask
(
agv
,
$
"{JobParam.SrcNode.Name}_{SettingString.PutShelfOn
}"
);
ToPutShelfOn
(
agv
,
$
"{JobParam.SrcNode.Name
}"
);
JobRunStep
.
Msg
=
runInfo
;
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
SD_Line_OneToMany_01_ToPickUpPosition
))
...
...
@@ -59,7 +59,7 @@ namespace DeviceLibrary.bean.job
runInfo
=
$
"在{JobParam.SrcNode.AliceName}拾取料车完成,去{JobParam.CurTargetNode.AliceName}的放料点"
;
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
送料
,
out
string
msg
);
AllocateTask
(
agv
,
$
"{JobParam.CurTargetNode.Name}_{SettingString.TakeShelfOff
}"
);
ToTakeShelfOff
(
agv
,
$
"{JobParam.CurTargetNode.Name
}"
);
JobRunStep
.
Msg
=
runInfo
;
}
}
...
...
@@ -132,7 +132,7 @@ namespace DeviceLibrary.bean.job
System
.
Threading
.
Thread
.
Sleep
(
1000
);
runInfo
=
$
"去下一线体{JobParam.CurTargetNode.AliceName}的放料点"
;
JobRunStep
.
Msg
=
runInfo
;
AllocateTask
(
agv
,
$
"{JobParam.CurTargetNode.Name}_{SettingString.TakeShelfOff
}"
);
ToTakeShelfOff
(
agv
,
$
"{JobParam.CurTargetNode.Name
}"
);
}
else
{
...
...
@@ -142,7 +142,7 @@ namespace DeviceLibrary.bean.job
runInfo
=
$
"{JobParam.CurTargetNode.AliceName}是最后一个线体,分发结束,需要返回{JobParam.SrcNode.Name}的放料点"
;
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
返回起始地
,
out
string
msg
);
AllocateTask
(
agv
,
$
"{JobParam.SrcNode.Name}_{SettingString.TakeShelfOff
}"
);
ToTakeShelfOff
(
agv
,
$
"{JobParam.SrcNode.Name
}"
);
JobRunStep
.
Msg
=
runInfo
;
}
else
if
(
JobParam
.
GetMissionInfo
()
!=
null
&&
!
JobParam
.
GetMissionInfo
().
needBack
)
...
...
@@ -150,7 +150,7 @@ namespace DeviceLibrary.bean.job
JobRunStep
.
ToNextStep
(
RunStep
.
SD_Line_OnToMany_08_TakeShelfOff
);
runInfo
=
$
"{JobParam.CurTargetNode.AliceName}是最后一个线体,分发结束,无需返回,直接卸下"
;
JobRunStep
.
Msg
=
runInfo
;
AllocateTask
(
agv
,
$
"{SettingString.TakeShelfOff}"
);
TakeShelfOff
(
agv
);
}
else
{
...
...
@@ -171,7 +171,7 @@ namespace DeviceLibrary.bean.job
$
"到达{ JobParam.SrcNode.Name }"
));
runInfo
=
$
"到达{JobParam.SrcNode.AliceName}的放料点,准备卸下料车"
;
JobRunStep
.
Msg
=
runInfo
;
AllocateTask
(
agv
,
SettingString
.
TakeShelfOff
);
TakeShelfOff
(
agv
);
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
SD_Line_OnToMany_08_TakeShelfOff
))
...
...
DeviceLibrary/bean/job/SteelLiftToLinesJob.cs
查看文件 @
5fad85a
...
...
@@ -20,7 +20,6 @@ namespace DeviceLibrary.bean.job
{
}
lift
.
LiftStatus
liftStatus
;
public
override
Job
Run
(
AgvInfo
agv
)
{
agv
.
SetJobContext
(
new
bean
.
agv
.
JobContext
()
...
...
@@ -37,7 +36,7 @@ namespace DeviceLibrary.bean.job
JobRunStep
.
ToNextStep
(
RunStep
.
Steel_LiftToLine_01_ToLift
);
runInfo
=
$
"任务开始:去{JobParam.SrcNode.AliceName}"
;
JobRunStep
.
Msg
=
runInfo
;
AllocateTask
(
agv
,
JobParam
.
SrcNode
.
Name
);
ToLift
(
agv
,
JobParam
.
SrcNode
.
Name
);
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_01_ToLift
))
{
...
...
@@ -60,7 +59,7 @@ namespace DeviceLibrary.bean.job
JobRunStep
.
ToNextStep
(
RunStep
.
Steel_LiftToLine_03_EnterLift
);
SetLiftOccupied
(
JobParam
.
SrcNode
.
Name
,
agv
);
runInfo
=
$
"{JobParam.SrcNode.AliceName}门已开启,进电梯取料点"
;
AllocateTask
(
agv
,
$
"{JobParam.SrcNode.Name}_{SettingString.PutShelfOn}"
);
ToPutShelfOn
(
agv
,
JobParam
.
SrcNode
.
Name
);
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
电梯到达
,
out
string
msg
);
JobRunStep
.
Msg
=
runInfo
;
...
...
@@ -74,7 +73,6 @@ namespace DeviceLibrary.bean.job
runInfo
=
$
"到达{JobParam.SrcNode.AliceName}取料点,准备拾取料车"
;
JobRunStep
.
Msg
=
runInfo
;
PutLiftShelfOn
(
agv
,
JobParam
.
SrcNode
.
Name
);
//AllocateTask(agv, $"{SettingString.PutShelfOn}_{JobParam.SrcNode.Name}");
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_04_PutShelfOn
))
...
...
@@ -89,7 +87,7 @@ namespace DeviceLibrary.bean.job
runInfo
=
$
"在{JobParam.SrcNode.AliceName}拾取料车完成,准备离开"
;
JobRunStep
.
Msg
=
runInfo
;
AllocateTask
(
agv
,
$
"{SettingString.Leave}_
{JobParam.SrcNode.Name}"
);
LeaveLift
(
agv
,
$
"
{JobParam.SrcNode.Name}"
);
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_05_LeaveLift
))
...
...
@@ -103,6 +101,7 @@ namespace DeviceLibrary.bean.job
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
离开电梯
,
out
string
msg
);
JobRunStep
.
Msg
=
runInfo
;
ClearLiftNodeOccupied
(
agv
);
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_06_CloseLiftDoor
))
...
...
DeviceLibrary/bean/job/SteelLineToLiftJob.cs
查看文件 @
5fad85a
此文件的差异被折叠,
点击展开。
DeviceLibrary/bean/job/SwitchShelfJob.cs
查看文件 @
5fad85a
...
...
@@ -90,8 +90,8 @@ namespace DeviceLibrary
if
(
AGVTaskIsFinished
(
agv
))
{
JobRunStep
.
ToNextStep
(
RunStep
.
Switch_03_ToLift
);
runInfo
=
$
"去{JobParam.CurTargetNode.AliceName},
,
{missionInfo()}"
;
MoveToNode
(
agv
,
JobParam
.
CurTargetNode
.
Name
);
runInfo
=
$
"去{JobParam.CurTargetNode.AliceName},{missionInfo()}"
;
//
MoveToNode(agv, JobParam.CurTargetNode.Name);
JobRunStep
.
Msg
=
runInfo
;
}
}
...
...
@@ -181,7 +181,7 @@ namespace DeviceLibrary
{
JobRunStep
.
ToNextStep
(
RunStep
.
Switch_11_ToLift
);
runInfo
=
$
"去{JobParam.CurTargetNode.AliceName},{missionInfo()}"
;
MoveToNode
(
agv
,
JobParam
.
CurTargetNode
.
Name
);
//
MoveToNode(agv, JobParam.CurTargetNode.Name);
JobRunStep
.
Msg
=
runInfo
;
}
}
...
...
DeviceLibrary/manager/MissionManager.cs
查看文件 @
5fad85a
...
...
@@ -456,7 +456,11 @@ namespace DeviceLibrary.manager
missionInfo
=
missions
.
Where
(
s
=>
s
.
destinationWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
s
.
sourceWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
((
s
.
projectType
.
Equals
(
ProjectType
.
半成品领用
))
||
(
s
.
sourceWorkshop
.
Equals
(
s
.
destinationWorkshop
)))
&&
((
s
.
projectType
.
Equals
(
ProjectType
.
半成品领用
)||
s
.
projectType
.
Equals
(
ProjectType
.
空台车领用
)||
s
.
projectType
.
Equals
(
ProjectType
.
空台车归还
))
||
(
s
.
sourceWorkshop
.
Equals
(
s
.
destinationWorkshop
)))
&&
(
s
.
state
==
MissionState
.
创建
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论