Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
Qisda-SO1037-AGVDispatch
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit df95c47d
由
张东亮
编写于
2024-06-25 11:07:12 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
发送任务间隔长
1 个父辈
e3289279
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
51 行增加
和
35 行删除
Common/util/HttpHelper.cs
DeviceLibrary/bean/MiR_API.cs
DeviceLibrary/bean/job/ChargeJob.cs
DeviceLibrary/bean/job/LiftToLinesJob.cs
DeviceLibrary/bean/job/LineOneToManyJob.cs
DeviceLibrary/bean/job/LineToLiftJob.cs
DeviceLibrary/bean/job/LineToLineJob.cs
DeviceLibrary/bean/job/SteelLiftToLinesJob.cs
DeviceLibrary/bean/job/SteelLiftToStorageJob.cs
DeviceLibrary/bean/job/SteelLineToLiftJob.cs
DeviceLibrary/manager/HttpManager.cs
DeviceLibrary/manager/MissionManager.cs
DeviceLibrary/manager/UploadManager.cs
Common/util/HttpHelper.cs
查看文件 @
df95c47
...
@@ -184,7 +184,7 @@ namespace Common
...
@@ -184,7 +184,7 @@ namespace Common
{
{
try
try
{
{
var
wc
=
new
MyWebClient
(
10
000
)
{
Encoding
=
encoding
};
var
wc
=
new
MyWebClient
(
3
000
)
{
Encoding
=
encoding
};
var
readStream
=
wc
.
OpenRead
(
url
);
var
readStream
=
wc
.
OpenRead
(
url
);
using
(
var
sr
=
new
StreamReader
(
readStream
,
encoding
))
using
(
var
sr
=
new
StreamReader
(
readStream
,
encoding
))
{
{
...
...
DeviceLibrary/bean/MiR_API.cs
查看文件 @
df95c47
...
@@ -388,7 +388,7 @@ namespace DeviceLibrary
...
@@ -388,7 +388,7 @@ namespace DeviceLibrary
{
{
try
try
{
{
string
ip
=
info
.
FleetIP
;
string
ip
=
info
.
FleetIP
;
string
url
=
"http://"
+
ip
+
"/api/v2.0.0/mission_scheduler/search"
;
string
url
=
"http://"
+
ip
+
"/api/v2.0.0/mission_scheduler/search"
;
string
body
=
"{\"filters\" : [{\"fieldname\": \"description\", \"operator\": \"LIKE\", \"value\": \""
+
info
.
TaskRunState
.
Task
.
Name
+
"-"
+
info
.
TaskRunState
.
TaskTimeStamp
+
"-"
+
info
.
ID
+
"\"}]}"
;
string
body
=
"{\"filters\" : [{\"fieldname\": \"description\", \"operator\": \"LIKE\", \"value\": \""
+
info
.
TaskRunState
.
Task
.
Name
+
"-"
+
info
.
TaskRunState
.
TaskTimeStamp
+
"-"
+
info
.
ID
+
"\"}]}"
;
...
@@ -482,7 +482,7 @@ namespace DeviceLibrary
...
@@ -482,7 +482,7 @@ namespace DeviceLibrary
/// 删除当前所有任务
/// 删除当前所有任务
/// </summary>
/// </summary>
/// <param name="info"></param>
/// <param name="info"></param>
static
void
Del_Mission
(
AgvInfo
info
)
static
void
Del_Mission
(
AgvInfo
info
)
{
{
try
try
{
{
...
@@ -500,7 +500,7 @@ namespace DeviceLibrary
...
@@ -500,7 +500,7 @@ namespace DeviceLibrary
/// </summary>
/// </summary>
/// <param name="authorization"></param>
/// <param name="authorization"></param>
/// <param name="id"></param>
/// <param name="id"></param>
static
void
Del_Mission_Fleet
(
AgvInfo
agv
)
static
void
Del_Mission_Fleet
(
AgvInfo
agv
)
{
{
try
try
{
{
...
@@ -588,7 +588,7 @@ namespace DeviceLibrary
...
@@ -588,7 +588,7 @@ namespace DeviceLibrary
/// <param name="battery"></param>
/// <param name="battery"></param>
/// <param name="mission_text"></param>
/// <param name="mission_text"></param>
/// <returns></returns>
/// <returns></returns>
public
static
bool
Get_State
(
AgvInfo
info
,
out
eAGVState
stateID
,
out
string
stateText
,
out
int
battery
,
out
string
mission_text
,
out
MirPosition
position
,
out
List
<
Mir_Error
>
mir_Errors
)
public
static
bool
Get_State
(
AgvInfo
info
,
out
eAGVState
stateID
,
out
string
stateText
,
out
int
battery
,
out
string
mission_text
,
out
MirPosition
position
,
out
List
<
Mir_Error
>
mir_Errors
)
{
{
stateID
=
eAGVState
.
UNKNOWN
;
stateID
=
eAGVState
.
UNKNOWN
;
stateText
=
""
;
stateText
=
""
;
...
@@ -629,13 +629,17 @@ namespace DeviceLibrary
...
@@ -629,13 +629,17 @@ namespace DeviceLibrary
position
.
Point
.
Y
=
Convert
.
ToSingle
(
posDic
[
"y"
]);
position
.
Point
.
Y
=
Convert
.
ToSingle
(
posDic
[
"y"
]);
object
[]
errors
=
(
object
[])
dic
[
"errors"
];
object
[]
errors
=
(
object
[])
dic
[
"errors"
];
if
(
errors
!=
null
)
if
(
errors
!=
null
)
{
{
foreach
(
var
item
in
errors
)
foreach
(
var
item
in
errors
)
{
{
Dictionary
<
string
,
object
>
tmp
=
(
Dictionary
<
string
,
object
>)
item
;
Dictionary
<
string
,
object
>
tmp
=
(
Dictionary
<
string
,
object
>)
item
;
mir_Errors
.
Add
(
new
Mir_Error
()
{
code
=
int
.
Parse
(
tmp
[
"code"
].
ToString
()),
mir_Errors
.
Add
(
new
Mir_Error
()
description
=
tmp
[
"description"
].
ToString
(),
module
=
tmp
[
"module"
].
ToString
()
});
{
code
=
int
.
Parse
(
tmp
[
"code"
].
ToString
()),
description
=
tmp
[
"description"
].
ToString
(),
module
=
tmp
[
"module"
].
ToString
()
});
}
}
}
}
return
true
;
return
true
;
...
@@ -665,6 +669,8 @@ namespace DeviceLibrary
...
@@ -665,6 +669,8 @@ namespace DeviceLibrary
Dictionary
<
string
,
object
>
dic
=
(
Dictionary
<
string
,
object
>)
serializer
.
DeserializeObject
(
json
);
Dictionary
<
string
,
object
>
dic
=
(
Dictionary
<
string
,
object
>)
serializer
.
DeserializeObject
(
json
);
if
(
dic
==
null
)
return
false
;
if
(
dic
==
null
)
return
false
;
if
(!
dic
.
ContainsKey
(
"state_id"
))
return
false
;
string
s
=
dic
[
"state_id"
].
ToString
();
string
s
=
dic
[
"state_id"
].
ToString
();
if
(
s
==
"3"
)
if
(
s
==
"3"
)
return
true
;
return
true
;
...
@@ -756,7 +762,7 @@ namespace DeviceLibrary
...
@@ -756,7 +762,7 @@ namespace DeviceLibrary
ping
.
Dispose
();
ping
.
Dispose
();
if
(
result
.
Status
!=
System
.
Net
.
NetworkInformation
.
IPStatus
.
Success
)
if
(
result
.
Status
!=
System
.
Net
.
NetworkInformation
.
IPStatus
.
Success
)
{
{
// log.Debug("Ping " + ip + " 请求没有响应");
// log.Debug("Ping " + ip + " 请求没有响应");
return
false
;
return
false
;
}
}
return
true
;
return
true
;
...
@@ -792,7 +798,7 @@ namespace DeviceLibrary
...
@@ -792,7 +798,7 @@ namespace DeviceLibrary
{
{
var
client
=
new
RestClient
(
url
)
{
Timeout
=
httpTimeout
};
var
client
=
new
RestClient
(
url
)
{
Timeout
=
httpTimeout
};
var
request
=
new
RestRequest
(
Method
.
POST
);
var
request
=
new
RestRequest
(
Method
.
POST
);
request
.
Timeout
=
10000
;
request
.
Timeout
=
10000
;
request
.
AddHeader
(
"Host"
,
ip
);
request
.
AddHeader
(
"Host"
,
ip
);
request
.
AddHeader
(
"Content-Type"
,
"application/json"
);
request
.
AddHeader
(
"Content-Type"
,
"application/json"
);
request
.
AddHeader
(
"Accept-Language"
,
"zh_CN"
);
request
.
AddHeader
(
"Accept-Language"
,
"zh_CN"
);
...
@@ -836,7 +842,7 @@ namespace DeviceLibrary
...
@@ -836,7 +842,7 @@ namespace DeviceLibrary
request
.
AddHeader
(
"Accept-Language"
,
"zh_CN"
);
request
.
AddHeader
(
"Accept-Language"
,
"zh_CN"
);
request
.
AddParameter
(
"application/json"
,
""
,
ParameterType
.
RequestBody
);
request
.
AddParameter
(
"application/json"
,
""
,
ParameterType
.
RequestBody
);
int
tryTimes
=
5
;
int
tryTimes
=
5
;
while
(
tryTimes
>
0
)
while
(
tryTimes
>
0
)
{
{
IRestResponse
response
=
client
.
Execute
(
request
);
IRestResponse
response
=
client
.
Execute
(
request
);
log
.
Info
(
$
"HttpDel URL: [{url}][{response.StatusCode}]"
);
log
.
Info
(
$
"HttpDel URL: [{url}][{response.StatusCode}]"
);
...
...
DeviceLibrary/bean/job/ChargeJob.cs
查看文件 @
df95c47
...
@@ -103,6 +103,7 @@ namespace DeviceLibrary
...
@@ -103,6 +103,7 @@ namespace DeviceLibrary
ChargePileManager
.
StopCharge
(
agv
);
ChargePileManager
.
StopCharge
(
agv
);
runInfo
=
"充电过程检测到任务,电量"
+
agv
.
Battery
+
"%大于最小电量"
+
BatteryMin
+
"%,中断充电执行任务"
;
runInfo
=
"充电过程检测到任务,电量"
+
agv
.
Battery
+
"%大于最小电量"
+
BatteryMin
+
"%,中断充电执行任务"
;
JobRunStep
.
Msg
=
runInfo
;
JobRunStep
.
Msg
=
runInfo
;
MiR_API
.
DelMission
(
agv
);
JobRunStep
.
EndJob
();
JobRunStep
.
EndJob
();
return
job
;
return
job
;
}
}
...
@@ -132,6 +133,7 @@ namespace DeviceLibrary
...
@@ -132,6 +133,7 @@ namespace DeviceLibrary
ChargePileManager
.
StopCharge
(
agv
);
ChargePileManager
.
StopCharge
(
agv
);
runInfo
=
"充电过程检测到任务,电量"
+
agv
.
Battery
+
"%大于最小电量"
+
BatteryMin
+
"%,中断充电执行任务"
;
runInfo
=
"充电过程检测到任务,电量"
+
agv
.
Battery
+
"%大于最小电量"
+
BatteryMin
+
"%,中断充电执行任务"
;
JobRunStep
.
Msg
=
runInfo
;
JobRunStep
.
Msg
=
runInfo
;
MiR_API
.
DelMission
(
agv
);
JobRunStep
.
EndJob
();
JobRunStep
.
EndJob
();
return
job
;
return
job
;
}
}
...
...
DeviceLibrary/bean/job/LiftToLinesJob.cs
查看文件 @
df95c47
...
@@ -231,7 +231,7 @@ namespace DeviceLibrary
...
@@ -231,7 +231,7 @@ namespace DeviceLibrary
// //报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
// //报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
tru
e
);
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
fals
e
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
SD_LiftToLine_10_CheckNextLine
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
SD_LiftToLine_10_CheckNextLine
))
...
@@ -423,7 +423,7 @@ namespace DeviceLibrary
...
@@ -423,7 +423,7 @@ namespace DeviceLibrary
////上报运输状态
////上报运输状态
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
SrcNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
SrcNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
$
"等待电梯到达超时"
));
$
"等待电梯到达超时"
)
,
false
);
}
}
...
@@ -498,7 +498,7 @@ namespace DeviceLibrary
...
@@ -498,7 +498,7 @@ namespace DeviceLibrary
//上报位置
//上报位置
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
status
,
agv
.
Name
,
JobParam
.
SrcNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
service
.
model
.
TransportStatus
.
TypeStr
.
status
,
agv
.
Name
,
JobParam
.
SrcNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
$
"电梯卸车"
));
$
"电梯卸车"
)
,
false
);
//任务状态变更
//任务状态变更
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
返回到达电梯内
,
out
string
msg
);
MissionManager
.
SetMissionState
(
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
MissionState
.
返回到达电梯内
,
out
string
msg
);
}
}
...
...
DeviceLibrary/bean/job/LineOneToManyJob.cs
查看文件 @
df95c47
...
@@ -158,7 +158,7 @@ namespace DeviceLibrary.bean.job
...
@@ -158,7 +158,7 @@ namespace DeviceLibrary.bean.job
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
tru
e
);
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
fals
e
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
SD_Line_OneToMany_06_CheckNextLine
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
SD_Line_OneToMany_06_CheckNextLine
))
...
...
DeviceLibrary/bean/job/LineToLiftJob.cs
查看文件 @
df95c47
...
@@ -193,6 +193,7 @@ namespace DeviceLibrary
...
@@ -193,6 +193,7 @@ namespace DeviceLibrary
//4C车使用4D的标识
//4C车使用4D的标识
liftClient
=
$
"{Common.AppConfigHelper.GetValue(SettingString.AppIdentity, "
NEOTEL
")}-{SettingString._4D}"
;
liftClient
=
$
"{Common.AppConfigHelper.GetValue(SettingString.AppIdentity, "
NEOTEL
")}-{SettingString._4D}"
;
}
}
if
(
lift
.
LiftContext
.
HasShelfNeedLeave
(
JobParam
.
CurTargetNode
.
Name
,
liftClient
,
out
JobParam
.
LiftStatus
))
if
(
lift
.
LiftContext
.
HasShelfNeedLeave
(
JobParam
.
CurTargetNode
.
Name
,
liftClient
,
out
JobParam
.
LiftStatus
))
{
{
ChargePileManager
.
StopCharge
(
agv
);
ChargePileManager
.
StopCharge
(
agv
);
...
@@ -207,7 +208,7 @@ namespace DeviceLibrary
...
@@ -207,7 +208,7 @@ namespace DeviceLibrary
JobRunStep
.
ToNextStep
(
RunStep
.
LineToLift_05_01_ToStandby
);
JobRunStep
.
ToNextStep
(
RunStep
.
LineToLift_05_01_ToStandby
);
//设置电梯占用
//设置电梯占用
//SetLiftOccupied(JobParam.CurTargetNode.Name, agv);
//SetLiftOccupied(JobParam.CurTargetNode.Name, agv);
runInfo
=
$
"{JobParam.CurTargetNode.AliceName}已开门。电梯内有送料的料车但无工单信息
,去待机点,需要手动清空电梯缓存并关闭电梯门
"
;
//
runInfo
=
$
"{JobParam.CurTargetNode.AliceName}已开门。电梯内有送料的料车但无工单信息
【{JsonHelper.SerializeObject(JobParam?.LiftStatus)}】,去待机点,需要手动清空电梯缓存并关闭电梯门【{LiftContext.GetLiftInfos()}】
"
;
//
ToStandby
(
agv
);
ToStandby
(
agv
);
JobRunStep
.
Msg
=
runInfo
;
JobRunStep
.
Msg
=
runInfo
;
}
}
...
@@ -244,7 +245,7 @@ namespace DeviceLibrary
...
@@ -244,7 +245,7 @@ namespace DeviceLibrary
////上报运输状态
////上报运输状态
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
$
"等待电梯到达超时"
));
$
"等待电梯到达超时"
)
,
false
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
LineToLift_05_01_ToStandby
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
LineToLift_05_01_ToStandby
))
...
...
DeviceLibrary/bean/job/LineToLineJob.cs
查看文件 @
df95c47
...
@@ -111,7 +111,7 @@ namespace DeviceLibrary.bean.job
...
@@ -111,7 +111,7 @@ namespace DeviceLibrary.bean.job
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
tru
e
);
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
fals
e
);
}
}
}
}
}
}
...
...
DeviceLibrary/bean/job/SteelLiftToLinesJob.cs
查看文件 @
df95c47
...
@@ -176,7 +176,7 @@ namespace DeviceLibrary.bean.job
...
@@ -176,7 +176,7 @@ namespace DeviceLibrary.bean.job
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
tru
e
);
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
fals
e
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_10_CheckNextLine
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_10_CheckNextLine
))
...
...
DeviceLibrary/bean/job/SteelLiftToStorageJob.cs
查看文件 @
df95c47
...
@@ -170,7 +170,7 @@ namespace DeviceLibrary.bean.job
...
@@ -170,7 +170,7 @@ namespace DeviceLibrary.bean.job
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
tru
e
);
$
"等待{JobParam.CurTargetNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
fals
e
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_10_CheckNextLine
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_10_CheckNextLine
))
...
@@ -281,7 +281,7 @@ namespace DeviceLibrary.bean.job
...
@@ -281,7 +281,7 @@ namespace DeviceLibrary.bean.job
//上报运输状态
//上报运输状态
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
$
"等待立库离开信号超时"
));
$
"等待立库离开信号超时"
)
,
false
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_18_PutOn
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_18_PutOn
))
...
@@ -409,7 +409,7 @@ namespace DeviceLibrary.bean.job
...
@@ -409,7 +409,7 @@ namespace DeviceLibrary.bean.job
//上报运输状态
//上报运输状态
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
SrcNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
SrcNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
$
"等待电梯到达超时"
));
$
"等待电梯到达超时"
)
,
false
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_22_CheckLiftStatus
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
Steel_LiftToLine_22_CheckLiftStatus
))
...
...
DeviceLibrary/bean/job/SteelLineToLiftJob.cs
查看文件 @
df95c47
...
@@ -115,7 +115,7 @@ namespace DeviceLibrary
...
@@ -115,7 +115,7 @@ namespace DeviceLibrary
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
//报警,$"等待{JobParam.CurTargetNode.AliceName}的人员确认超时{timeoutval}分"
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
agv
.
Place
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
agvButton
,
$
"等待{JobParam.SrcNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
tru
e
);
$
"等待{JobParam.SrcNode.Name}确认超时{timeoutval.ToString("
f2
")}分"
),
fals
e
);
}
}
}
}
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
LineToLift_WaitConfirm
))
else
if
(
JobRunStep
.
IsStep
(
RunStep
.
LineToLift_WaitConfirm
))
...
@@ -184,7 +184,7 @@ namespace DeviceLibrary
...
@@ -184,7 +184,7 @@ namespace DeviceLibrary
JobRunStep
.
ToNextStep
(
RunStep
.
LineToLift_05_01_ToStandby
);
JobRunStep
.
ToNextStep
(
RunStep
.
LineToLift_05_01_ToStandby
);
//设置电梯占用
//设置电梯占用
//SetLiftOccupied(JobParam.CurTargetNode.Name, agv);
//SetLiftOccupied(JobParam.CurTargetNode.Name, agv);
runInfo
=
$
"{JobParam.CurTargetNode.AliceName}已开门。电梯内有送料的料车但无工单信息
,去待机点,需要手动清空电梯缓存并关闭电梯门
"
;
//
runInfo
=
$
"{JobParam.CurTargetNode.AliceName}已开门。电梯内有送料的料车但无工单信息
【{JsonHelper.SerializeObject(JobParam?.LiftStatus)}】,去待机点,需要手动清空电梯缓存并关闭电梯门【{LiftContext.GetLiftInfos()}】
"
;
//
ToStandby
(
agv
);
ToStandby
(
agv
);
JobRunStep
.
Msg
=
runInfo
;
JobRunStep
.
Msg
=
runInfo
;
}
}
...
@@ -219,7 +219,7 @@ namespace DeviceLibrary
...
@@ -219,7 +219,7 @@ namespace DeviceLibrary
//上报运输状态
//上报运输状态
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
manager
.
UploadManager
.
UploadTransportStatus
(
new
service
.
model
.
TransportStatus
(
agv
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
service
.
model
.
TransportStatus
.
TypeStr
.
error
,
agv
.
Name
,
JobParam
.
CurTargetNode
.
Name
,
service
.
model
.
TransportStatus
.
ModeStr
.
auto
,
$
"等待电梯到达超时"
));
$
"等待电梯到达超时"
)
,
false
);
}
}
}
}
...
...
DeviceLibrary/manager/HttpManager.cs
查看文件 @
df95c47
...
@@ -472,14 +472,14 @@ namespace DeviceLibrary
...
@@ -472,14 +472,14 @@ namespace DeviceLibrary
}
}
static
string
agvreporttask
=
AppConfigHelper
.
GetValue
(
SettingString
.
ITS_UpdateLine
,
"http://10.85.17.233/ESMTCommonInterface/CommonService.asmx/"
)
+
"UpdateAGVtranstask"
;
static
string
agvreporttask
=
AppConfigHelper
.
GetValue
(
SettingString
.
ITS_UpdateLine
,
"http://10.85.17.233/ESMTCommonInterface/CommonService.asmx/"
)
+
"UpdateAGVtranstask"
;
/// <summary>
/// <summary>
/// AGV反馈任务执行信息
/// AGV反馈任务执行信息
/// </summary>
/// </summary>
/// <param name="send"></param>
/// <param name="send"></param>
/// <returns></returns>
/// <returns></returns>
public
static
void
UpdateAGVtranstask
(
string
txt
,
bool
isError
=
false
)
public
static
void
UpdateAGVtranstask
(
string
txt
,
bool
waiFinish
=
false
)
{
{
Task
task
=
Task
.
Factory
.
StartNew
(()
=>
Task
task
=
Task
.
Factory
.
StartNew
(()
=>
...
@@ -514,7 +514,10 @@ namespace DeviceLibrary
...
@@ -514,7 +514,10 @@ namespace DeviceLibrary
}
}
}
}
);
);
task
.
Wait
();
if
(
waiFinish
)
{
task
.
Wait
();
}
}
}
#
endregion
#
endregion
}
}
...
...
DeviceLibrary/manager/MissionManager.cs
查看文件 @
df95c47
...
@@ -289,7 +289,7 @@ namespace DeviceLibrary.manager
...
@@ -289,7 +289,7 @@ 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
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
&&
s
.
state
.
Equals
(
MissionState
.
创建
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网入库
)
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
AgvCanGetMission
(
s
)&&
CanExecuteLiftMission
(
s
));
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())
&&
AgvCanGetMission
(
s
)
&&
CanExecuteLiftMission
(
s
));
if
(
missionInfo
!=
null
)
// && AgvCanGetMission(missionInfo)
if
(
missionInfo
!=
null
)
// && AgvCanGetMission(missionInfo)
{
{
liftname
=
missionInfo
.
liftName
;
//MissionManager.GetLiftName(missionInfo);
liftname
=
missionInfo
.
liftName
;
//MissionManager.GetLiftName(missionInfo);
...
@@ -348,7 +348,7 @@ namespace DeviceLibrary.manager
...
@@ -348,7 +348,7 @@ namespace DeviceLibrary.manager
/// </summary>
/// </summary>
/// <param name="missionType"></param>
/// <param name="missionType"></param>
/// <returns></returns>
/// <returns></returns>
public
static
MissionInfo
GetReceiveMission
(
AgvInfo
agv
,
string
liftId
)
public
static
MissionInfo
GetReceiveMission
(
AgvInfo
agv
,
string
liftId
)
{
{
MissionInfo
missionInfo
=
null
;
MissionInfo
missionInfo
=
null
;
try
try
...
@@ -360,7 +360,7 @@ namespace DeviceLibrary.manager
...
@@ -360,7 +360,7 @@ namespace DeviceLibrary.manager
&&
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
.
liftName
.
Equals
(
liftId
));
&&
!
s
.
projectType
.
Equals
(
ProjectType
.
钢网领用
)
&&
s
.
liftName
.
Equals
(
liftId
));
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
{
{
return
missionInfo
;
return
missionInfo
;
...
@@ -607,7 +607,7 @@ namespace DeviceLibrary.manager
...
@@ -607,7 +607,7 @@ namespace DeviceLibrary.manager
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
&&
w
.
state
!=
MissionState
.
取消
&&
w
.
state
!=
MissionState
.
完成
).
ToList
();
missionInfo
=
missions
.
Where
(
s
=>
s
.
destinationWorkshop
.
Equals
(
SettingString
.
_4C
)
&&
missionInfo
=
missions
.
Where
(
s
=>
s
.
destinationWorkshop
.
Equals
(
SettingString
.
_4C
)
&&
s
.
sourceWorkshop
.
Equals
(
SettingString
.
_4D
)
&&
agv
.
Scope
.
Workshop
.
Equals
(
SettingString
.
_4D
)
&&
s
.
sourceWorkshop
.
Equals
(
SettingString
.
_4D
)
&&
agv
.
Scope
.
Workshop
.
Equals
(
SettingString
.
_4D
)
&&
//(s.projectType.Equals(ProjectType.PCB领用) || s.projectType.Equals(ProjectType.包材领用))&&
//(s.projectType.Equals(ProjectType.PCB领用) || s.projectType.Equals(ProjectType.包材领用))&&
(
s
.
state
==
MissionState
.
创建
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
(
s
.
state
==
MissionState
.
创建
)
&&
agv
.
Scope
.
Tasks
.
Contains
(
s
.
projectType
.
ToString
())).
FirstOrDefault
();
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
if
(
missionInfo
!=
null
&&
AgvCanGetMission
(
missionInfo
))
...
@@ -932,6 +932,10 @@ namespace DeviceLibrary.manager
...
@@ -932,6 +932,10 @@ namespace DeviceLibrary.manager
{
{
liftname
=
SettingString
.
LIFT_D2
;
liftname
=
SettingString
.
LIFT_D2
;
}
}
else
if
(
missionInfo
.
destinationWorkshop
.
Equals
(
SettingString
.
_3D
))
{
liftname
=
SettingString
.
LIFT_D2
;
}
}
}
if
(
missionInfo
.
sourceWorkshop
.
Equals
(
SettingString
.
_4C
))
if
(
missionInfo
.
sourceWorkshop
.
Equals
(
SettingString
.
_4C
))
{
{
...
...
DeviceLibrary/manager/UploadManager.cs
查看文件 @
df95c47
...
@@ -93,12 +93,12 @@ namespace DeviceLibrary.manager
...
@@ -93,12 +93,12 @@ namespace DeviceLibrary.manager
/// 运输状态上报
/// 运输状态上报
/// </summary>
/// </summary>
/// <param name="transportStatus"></param>
/// <param name="transportStatus"></param>
public
static
void
UploadTransportStatus
(
service
.
model
.
TransportStatus
transportStatus
,
bool
iserror
=
fals
e
)
public
static
void
UploadTransportStatus
(
service
.
model
.
TransportStatus
transportStatus
,
bool
waiFinish
=
tru
e
)
{
{
try
try
{
{
string
txt
=
Common
.
JsonHelper
.
SerializeObject
(
transportStatus
);
string
txt
=
Common
.
JsonHelper
.
SerializeObject
(
transportStatus
);
HttpManager
.
UpdateAGVtranstask
(
txt
,
iserror
);
HttpManager
.
UpdateAGVtranstask
(
txt
,
waiFinish
);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论