Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
Qisda-SO1037-AGVDispatch
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit cbb95ba8
由
张东亮
编写于
2023-04-21 09:21:37 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
8e420219
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
23 行增加
和
14 行删除
DeviceLibrary/manager/MissionManager.cs
DeviceLibrary/service/Service.cs
DeviceLibrary/manager/MissionManager.cs
查看文件 @
cbb95ba
...
@@ -26,7 +26,7 @@ namespace DeviceLibrary.manager
...
@@ -26,7 +26,7 @@ namespace DeviceLibrary.manager
/// <returns></returns>
/// <returns></returns>
public
static
bool
AUOIsUsingD2
()
public
static
bool
AUOIsUsingD2
()
{
{
return
AUOResult
?.
code
==
0
;
return
AUOResult
?.
code
==
0
;
}
}
public
static
void
InitMission
()
public
static
void
InitMission
()
{
{
...
@@ -210,7 +210,7 @@ namespace DeviceLibrary.manager
...
@@ -210,7 +210,7 @@ namespace DeviceLibrary.manager
public
static
bool
AddSteelMission
(
MissionInfo
mission
)
public
static
bool
AddSteelMission
(
MissionInfo
mission
)
{
{
var
find
=
GetMissionInfos
().
Find
(
w
=>
w
.
missionId
.
Substring
(
0
,
3
).
Equals
(
mission
.
missionId
.
Substring
(
0
,
3
)));
var
find
=
GetMissionInfos
().
Find
(
w
=>
w
.
missionId
.
Substring
(
0
,
3
).
Equals
(
mission
.
missionId
.
Substring
(
0
,
3
)));
if
(
find
==
null
)
if
(
find
==
null
)
{
{
Log
.
Info
(
$
"新建任务:{JsonHelper.SerializeObject(mission)}"
);
Log
.
Info
(
$
"新建任务:{JsonHelper.SerializeObject(mission)}"
);
...
@@ -255,10 +255,10 @@ namespace DeviceLibrary.manager
...
@@ -255,10 +255,10 @@ namespace DeviceLibrary.manager
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
missionInfo
=
missions
.
Where
(
s
=>
s
.
sourceWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
missionInfo
=
missions
.
Where
(
s
=>
s
.
sourceWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
s
.
state
.
Equals
(
MissionState
.
创建
)
&&
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
||
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
))
&&
s
.
state
.
Equals
(
MissionState
.
创建
)
&&
(
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
||
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
))
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
AgvCanGetMission
(
s
)
).
FirstOrDefault
();
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
)
)
if
(
missionInfo
!=
null
)
//&& AgvCanGetMission(missionInfo
)
{
{
liftname
=
MissionManager
.
GetLiftName
(
missionInfo
);
liftname
=
missionInfo
.
liftName
;
//
MissionManager.GetLiftName(missionInfo);
if
(
liftname
.
Equals
(
""
))
if
(
liftname
.
Equals
(
""
))
{
{
return
null
;
return
null
;
...
@@ -274,7 +274,7 @@ namespace DeviceLibrary.manager
...
@@ -274,7 +274,7 @@ namespace DeviceLibrary.manager
return
null
;
return
null
;
}
}
/// <summary>
/// <summary>
/// 获取
取料架任务,以准备执行 LineToLiftJobType
/// 获取
LineToLiftJob
/// </summary>
/// </summary>
/// <param name="missionType"></param>
/// <param name="missionType"></param>
/// <returns></returns>
/// <returns></returns>
...
@@ -289,10 +289,10 @@ namespace DeviceLibrary.manager
...
@@ -289,10 +289,10 @@ namespace DeviceLibrary.manager
missionInfo
=
missions
.
Find
(
s
=>
s
.
sourceWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
!
s
.
sourceWorkshop
.
Equals
(
s
.
destinationWorkshop
)
&&
missionInfo
=
missions
.
Find
(
s
=>
s
.
sourceWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
!
s
.
sourceWorkshop
.
Equals
(
s
.
destinationWorkshop
)
&&
s
.
state
.
Equals
(
MissionState
.
创建
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
&&
s
.
state
.
Equals
(
MissionState
.
创建
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
()));
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
AgvCanGetMission
(
s
)&&
CanExecuteLiftMission
(
s
)
);
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
)
)
if
(
missionInfo
!=
null
)
// && AgvCanGetMission(missionInfo
)
{
{
liftname
=
MissionManager
.
GetLiftName
(
missionInfo
);
liftname
=
missionInfo
.
liftName
;
//
MissionManager.GetLiftName(missionInfo);
if
(
liftname
.
Equals
(
""
))
if
(
liftname
.
Equals
(
""
))
{
{
return
null
;
return
null
;
...
@@ -303,10 +303,15 @@ namespace DeviceLibrary.manager
...
@@ -303,10 +303,15 @@ namespace DeviceLibrary.manager
}
}
catch
(
Exception
e
)
catch
(
Exception
e
)
{
{
Log
.
Error
(
"Get
F1Deliver
Mission"
,
e
);
Log
.
Error
(
"Get
LineToLift
Mission"
,
e
);
}
}
return
null
;
return
null
;
}
}
static
bool
CanExecuteLiftMission
(
MissionInfo
mission
)
{
if
(
SettingString
.
LIFT_C1
.
Equals
(
mission
.
liftName
))
return
true
;
return
SettingString
.
LIFT_D2
.
Equals
(
mission
.
liftName
)
&&
MissionManager
.
AUOIsUsingD2
();
}
/// <summary>
/// <summary>
/// 获取料架缓存点的任务
/// 获取料架缓存点的任务
/// </summary>
/// </summary>
...
@@ -352,7 +357,7 @@ namespace DeviceLibrary.manager
...
@@ -352,7 +357,7 @@ namespace DeviceLibrary.manager
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
);
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
);
missionInfo
=
missions
.
Find
(
s
=>
s
.
destinationWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
missionInfo
=
missions
.
Find
(
s
=>
s
.
destinationWorkshop
.
Equals
(
agv
.
Scope
.
Workshop
)
&&
(
s
.
state
>=
MissionState
.
到达电梯
&&
s
.
state
<=
MissionState
.
电梯到达
)
(
s
.
state
>=
MissionState
.
到达电梯
&&
s
.
state
<=
MissionState
.
电梯到达
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
移远成品入库
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
移远成品入库
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
));
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
));
...
@@ -380,7 +385,7 @@ namespace DeviceLibrary.manager
...
@@ -380,7 +385,7 @@ namespace DeviceLibrary.manager
var
missions
=
GetMissionInfos
().
FindAll
(
w
=>
w
.
state
!=
MissionState
.
中止
var
missions
=
GetMissionInfos
().
FindAll
(
w
=>
w
.
state
!=
MissionState
.
中止
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
);
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
);
missionInfo
=
missions
.
Find
(
s
=>
s
.
destinationWorkshop
.
Equals
(
SettingString
.
_4C
)
&&
missionInfo
=
missions
.
Find
(
s
=>
s
.
destinationWorkshop
.
Equals
(
SettingString
.
_4C
)
&&
s
.
sourceWorkshop
.
Equals
(
SettingString
.
_3D
)&&
s
.
sourceWorkshop
.
Equals
(
SettingString
.
_3D
)
&&
(
s
.
state
>=
MissionState
.
到达电梯
&&
s
.
state
<=
MissionState
.
电梯到达
)
(
s
.
state
>=
MissionState
.
到达电梯
&&
s
.
state
<=
MissionState
.
电梯到达
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
s
.
projectType
.
Equals
(
ProjectType
.
空台车领用
));
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
s
.
projectType
.
Equals
(
ProjectType
.
空台车领用
));
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
...
@@ -705,7 +710,7 @@ namespace DeviceLibrary.manager
...
@@ -705,7 +710,7 @@ namespace DeviceLibrary.manager
mission
.
liftName
=
item
.
liftName
;
mission
.
liftName
=
item
.
liftName
;
mission
.
occupiedAgv
=
item
.
occupiedAgv
;
mission
.
occupiedAgv
=
item
.
occupiedAgv
;
mission
.
destinationPoint
=
item
.
destinationPoint
;
mission
.
destinationPoint
=
item
.
destinationPoint
;
mission
.
sourcePoint
=
item
.
sourcePoint
;
mission
.
sourcePoint
=
item
.
sourcePoint
;
}
}
}
}
ctx
.
SaveChanges
();
ctx
.
SaveChanges
();
...
...
DeviceLibrary/service/Service.cs
查看文件 @
cbb95ba
...
@@ -60,9 +60,12 @@ namespace DeviceLibrary
...
@@ -60,9 +60,12 @@ namespace DeviceLibrary
else
if
(!
MissionManager
.
Contains
(
createMissionInfo
))
else
if
(!
MissionManager
.
Contains
(
createMissionInfo
))
{
{
createMissionInfo
.
state
=
MissionState
.
创建
;
createMissionInfo
.
state
=
MissionState
.
创建
;
MissionManager
.
GetLiftName
(
createMissionInfo
);
bool
rtn
=
MissionManager
.
AddMission
(
createMissionInfo
);
bool
rtn
=
MissionManager
.
AddMission
(
createMissionInfo
);
if
(
rtn
)
if
(
rtn
)
{
Log
.
Info
(
$
"创建任务成功:{s}"
);
Log
.
Info
(
$
"创建任务成功:{s}"
);
}
else
else
{
{
result
.
code
=
-
1
;
result
.
code
=
-
1
;
...
@@ -216,11 +219,12 @@ namespace DeviceLibrary
...
@@ -216,11 +219,12 @@ namespace DeviceLibrary
MissionInfo
missionInfo
=
new
MissionInfo
()
MissionInfo
missionInfo
=
new
MissionInfo
()
{
{
state
=
MissionState
.
创建
,
state
=
MissionState
.
创建
,
missionId
=
$
"P150"
+
DateTime
.
Now
.
ToString
(
"yyyyMMdd
hh
mmss"
),
missionId
=
$
"P150"
+
DateTime
.
Now
.
ToString
(
"yyyyMMdd
HH
mmss"
),
sourcePoint
=
"3dwash"
,
sourcePoint
=
"3dwash"
,
destinationPoint
=
"storage"
,
destinationPoint
=
"storage"
,
needBack
=
true
needBack
=
true
};
};
MissionManager
.
GetLiftName
(
missionInfo
);
bool
rtn
=
MissionManager
.
AddSteelMission
(
missionInfo
);
bool
rtn
=
MissionManager
.
AddSteelMission
(
missionInfo
);
if
(!
rtn
)
if
(!
rtn
)
Log
.
Error
(
$
"已呼叫钢网出库,忽略"
);
Log
.
Error
(
$
"已呼叫钢网出库,忽略"
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论