Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
AGV_3D_Line
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 0e94e3ea
由
张东亮
编写于
2021-01-29 18:54:39 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
0129
1 个父辈
afe4d84f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
31 个修改的文件
包含
434 行增加
和
306 行删除
AGV_3D_Line/App.config
AGV_3D_Line/FrmMain.Designer.cs
AGV_3D_Line/FrmMain.cs
AGV_3D_Line/Manual.cs
AGV_3D_Line/Program.cs
AGV_UI/Manager.cs
AGV_UI/Status.Designer.cs
AGV_UI/Status.cs
Common/SettingString.cs
Common/util/LogUtil.cs
DeviceLibrary/Charge.cs
DeviceLibrary/Config/AgvMission.csv
DeviceLibrary/Config/AgvName.csv
DeviceLibrary/Config/AgvProductionLine.csv
DeviceLibrary/Control.cs
DeviceLibrary/MissionSys.cs
DeviceLibrary/bean/Agv_Info.cs
DeviceLibrary/bean/Job.cs
DeviceLibrary/bean/MiR_API.cs
DeviceLibrary/bean/Mission.cs
DeviceLibrary/bean/job/ChargeJob.cs
DeviceLibrary/bean/job/EmptyAGVBackJob.cs
DeviceLibrary/bean/job/EmptyShelfBackJob.cs
DeviceLibrary/bean/job/EnterLeaveShelfJob.cs
DeviceLibrary/bean/job/GoEmptyShelfLineJob.cs
DeviceLibrary/bean/job/GoFullShelfStationJob.cs
DeviceLibrary/bean/job/SendFullShelfToLineJob.cs
DeviceLibrary/bean/job/StandyJob.cs
DeviceLibrary/manager/AGVManager.cs
DeviceLibrary/manager/HttpManager.cs
DeviceLibrary/unlock/LineWebService.cs
AGV_3D_Line/App.config
查看文件 @
0e94e3e
...
...
@@ -11,6 +11,28 @@
<
file
value
=
"logs/AgvServer.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
param
name
=
"MaxSizeRollBackups"
value
=
"30"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t][%c:%L]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
appender
name
=
"HttpManager"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/HttpManager.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
param
name
=
"MaxSizeRollBackups"
value
=
"30"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t][%c:%L]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
appender
name
=
"AGV_3D_Line"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/AGV_3D_Line.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
...
...
@@ -21,12 +43,12 @@
<
file
value
=
"logs/UnlockInfo.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
param
name
=
"MaxSizeRollBackups"
value
=
"
1
0"
/>
<
param
name
=
"MaxSizeRollBackups"
value
=
"
3
0"
/>
<!-- 切割最多文件数 -->
<
param
name
=
"MaximumFileSize"
value
=
"
10
0MB"
/>
<
param
name
=
"MaximumFileSize"
value
=
"
5
0MB"
/>
<!-- 每个文件的大小 -->
<
param
name
=
"RollingStyle"
value
=
"Size"
/>
<
param
name
=
"StaticLogFileName"
value
=
"true"
/
>
<
!--
param
name
=
"StaticLogFileName"
value
=
"true"
/--
>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date]%-5p %m%n"
/>
</
layout
>
...
...
@@ -35,20 +57,28 @@
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"LineWebService"
/>
</
logger
>
<
root
>
<
logger
name
=
"AgvServer"
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"AgvServer"
/>
</
logger
>
<
logger
name
=
"HttpManager"
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"HttpManager"
/>
</
logger
>
<
root
name
=
"AGV_3D_Line"
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"AGV_3D_Line"
/>
</
root
>
</
log4net
>
<
appSettings
>
<
add
key
=
"ITS"
value
=
"
http://10.85.17.233/ESMTCommonInterface/CommonService.asmx/VMIGetBoxDestInfo?boxRFID=
"
/>
<
add
key
=
"ITS"
value
=
"
10.85.17.233
"
/>
<
add
key
=
"WebService"
value
=
"http://127.0.0.1/BenQMIR/Webservice/AGVService.asmx/"
/>
<
add
key
=
"http.server"
value
=
"http://10.85.1
99.25
/myproject/"
/>
<
add
key
=
"FLEET"
value
=
"10.85.19
9
.3"
/>
<
add
key
=
"
AutoCharge"
value
=
"Tru
e"
/>
<
add
key
=
"http.server"
value
=
"http://10.85.1
62.124
/myproject/"
/>
<
add
key
=
"FLEET"
value
=
"10.85.19.3"
/>
<
add
key
=
"
UseFleet"
value
=
"Fals
e"
/>
<
add
key
=
"ChargeWait"
value
=
"1"
/>
<
add
key
=
"ChargeThreshold"
value
=
"20,90"
/>
<
add
key
=
"IP_
4D_Light"
value
=
"10.85.196.40
:8088"
/>
<
add
key
=
"IP_
4C_Light"
value
=
"10.85.197.40
:8088"
/>
<
add
key
=
"IP_
3D_Light"
value
=
"10.85.197.122
:8088"
/>
<
add
key
=
"IP_
3C_Light"
value
=
"10.85.197.122
:8088"
/>
</
appSettings
>
</
configuration
>
AGV_3D_Line/FrmMain.Designer.cs
查看文件 @
0e94e3e
...
...
@@ -137,6 +137,7 @@
this
.
tabControl1
.
SelectedIndex
=
0
;
this
.
tabControl1
.
Size
=
new
System
.
Drawing
.
Size
(
1209
,
373
);
this
.
tabControl1
.
TabIndex
=
7
;
this
.
tabControl1
.
SelectedIndexChanged
+=
new
System
.
EventHandler
(
this
.
tabControl1_SelectedIndexChanged
);
//
// tabPage1
//
...
...
AGV_3D_Line/FrmMain.cs
查看文件 @
0e94e3e
...
...
@@ -188,9 +188,9 @@ namespace AGVControl
{
AGVManager
.
WriteIni
(
item
.
Name
,
SettingString
.
RFID
,
item
.
RFID
);
}
//showTimer.Enabled = false;
showTimer
.
Stop
();
LogUtil
.
logBox
=
null
;
//showTimer.Enabled = false;
showTimer
.
Stop
();
AGVManager
.
server
.
NodeChanged
-=
Server_NodeChanged
;
AGVManager
.
server
.
NodeOnline
-=
Server_NodeOnline
;
}
...
...
@@ -406,12 +406,12 @@ namespace AGVControl
private
void
btnClearStationRFID_Click
(
object
sender
,
EventArgs
e
)
{
if
(!
txtBoxLineName
.
Text
.
Equals
(
""
)
&&
!
txtBoxRFID
.
Text
.
Equals
(
""
))
if
(!
txtBoxLineName
.
Text
.
Equals
(
""
)
&&
!
txtBoxRFID
.
Text
.
Equals
(
""
)
&&
AGVManager
.
GetNodeNameByLineName
(
txtBoxLineName
.
Text
.
ToUpper
(),
out
string
nodename
)
)
{
try
{
Task
.
Factory
.
StartNew
(
new
Action
(()
=>
{
bool
rtn
=
HttpManager
.
ClearRFID
(
txtBoxLineName
.
Text
.
ToUpper
()
,
txtBoxRFID
.
Text
.
ToUpper
());
bool
rtn
=
HttpManager
.
ClearRFID
(
nodename
,
txtBoxRFID
.
Text
.
ToUpper
());
this
.
Invoke
(
new
Action
(()
=>
{
label11
.
Text
=
rtn
?
"清除接驳RFID成功:"
+
txtBoxLineName
.
Text
+
" "
+
txtBoxRFID
.
Text
:
"清除接驳RFID失败:"
+
txtBoxLineName
.
Text
+
" "
+
txtBoxRFID
.
Text
;
}));
txtBoxLineName
.
Text
=
""
;
txtBoxRFID
.
Text
=
""
;
...
...
@@ -464,5 +464,13 @@ namespace AGVControl
// tabPageList.Add(lineTabPage);
tabControlManual
.
Controls
.
Add
(
lineTabPage
);
}
private
void
tabControl1_SelectedIndexChanged
(
object
sender
,
EventArgs
e
)
{
if
(
tabControl1
.
SelectedIndex
==
1
)
{
LogUtil
.
logBox
=
this
.
richTextBox1
;
}
}
}
}
AGV_3D_Line/Manual.cs
查看文件 @
0e94e3e
...
...
@@ -76,8 +76,14 @@ namespace AGVControl
{
if
(
MessageBox
.
Show
(
"确定对小车重发任务?"
,
Agv
.
Name
,
MessageBoxButtons
.
YesNo
)
==
DialogResult
.
No
)
return
;
Agv
.
Resend
();
LogUtil
.
info
(
string
.
Format
(
"{0} 手动重发任务"
,
Agv
.
Name
));
Task
.
Factory
.
StartNew
(
new
Action
(()=>
{
MiR_API
.
Clear_Error
(
Agv
);
System
.
Threading
.
Thread
.
Sleep
(
1000
);
MiR_API
.
State_Ready
(
Agv
);
Agv
.
Resend
();
LogUtil
.
info
(
string
.
Format
(
"{0} 手动重发任务"
,
Agv
.
Name
));
}));
}
}
...
...
@@ -114,8 +120,12 @@ namespace AGVControl
{
if
(
Agv
.
IsCon
)
{
//Agv.AssignTask(CommonVar.showNameMissionName[cmbBxMission.SelectedItem.ToString()]);
LogUtil
.
info
(
string
.
Format
(
"{0} 手动发任务 {1}"
,
Agv
.
Name
,
cmbBxMission
.
SelectedItem
.
ToString
()));
string
taskName
=
MissionSys
.
GetTaskNameByAliceName
(
cmbBxMission
.
SelectedItem
.
ToString
());
if
(
taskName
.
Equals
(
SettingString
.
Enter
)
||
taskName
.
Equals
(
SettingString
.
Leave
))
if
(
MessageBox
.
Show
(
"确定对小车发送进/出任务?"
,
Agv
.
Name
,
MessageBoxButtons
.
YesNo
)
==
DialogResult
.
No
)
return
;
MissionSys
.
AssignMission
(
Agv
,
taskName
);
LogUtil
.
info
(
string
.
Format
(
"{0} 手动发任务 [{1}]"
,
Agv
.
Name
,
cmbBxMission
.
SelectedItem
.
ToString
()));
}
}
...
...
AGV_3D_Line/Program.cs
查看文件 @
0e94e3e
...
...
@@ -46,7 +46,7 @@ namespace AGVControl
AGVManager
.
control
=
new
DeviceLibrary
.
Control
();
//获取节点位置
AGVManager
.
GetNodesPosition
();
//
AGVManager.GetNodesPosition();
AGVManager
.
control
.
Start
();
AGVManager
.
server
=
new
AgvServer
();
AGVManager
.
server
.
Start
();
...
...
AGV_UI/Manager.cs
查看文件 @
0e94e3e
...
...
@@ -20,9 +20,11 @@ namespace AGV_UI
static
string
FullBattery
=
"FullBattery"
;
static
string
ChargeBattery
=
"ChargeBattery"
;
static
string
Ready
=
"Ready"
;
static
string
Done
=
"Done"
;
static
string
Pause
=
"Pause"
;
static
string
Executing
=
"Executing"
;
static
string
Aborted
=
"Aborted"
;
static
string
Invalid
=
"Invalid"
;
static
string
EmergencyStop
=
"EmergencyStop"
;
static
string
ManualControl
=
"ManualControl"
;
static
string
Error
=
"Error"
;
...
...
@@ -50,12 +52,14 @@ namespace AGV_UI
stateImageList
.
ImageSize
=
new
System
.
Drawing
.
Size
(
48
,
48
);
stateImageList
.
Images
.
Add
(
UNKNOWN
,
Properties
.
Resources
.
Unknown
);
stateImageList
.
Images
.
Add
(
Ready
,
Properties
.
Resources
.
ready
);
stateImageList
.
Images
.
Add
(
Done
,
Properties
.
Resources
.
ready
);
stateImageList
.
Images
.
Add
(
Pause
,
Properties
.
Resources
.
pause
);
stateImageList
.
Images
.
Add
(
ManualControl
,
Properties
.
Resources
.
manual
);
stateImageList
.
Images
.
Add
(
Executing
,
Properties
.
Resources
.
Executing
);
stateImageList
.
Images
.
Add
(
Error
,
Properties
.
Resources
.
Error
);
stateImageList
.
Images
.
Add
(
EmergencyStop
,
Properties
.
Resources
.
emergency
);
stateImageList
.
Images
.
Add
(
Aborted
,
Properties
.
Resources
.
Aborted
);
stateImageList
.
Images
.
Add
(
Invalid
,
Properties
.
Resources
.
Aborted
);
}
/// <summary>
/// 设置连接状态
...
...
AGV_UI/Status.Designer.cs
查看文件 @
0e94e3e
...
...
@@ -112,7 +112,7 @@
this
.
lblAGVState
.
Size
=
new
System
.
Drawing
.
Size
(
127
,
50
);
this
.
lblAGVState
.
TabIndex
=
1
;
this
.
lblAGVState
.
Text
=
"None"
;
this
.
lblAGVState
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
Middle
Center
;
this
.
lblAGVState
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
Middle
Right
;
//
// lblTask
//
...
...
AGV_UI/Status.cs
查看文件 @
0e94e3e
...
...
@@ -69,6 +69,10 @@ namespace AGV_UI
{
this
.
Invoke
(
new
Action
(()
=>
{
if
(
curBattery
<
MinBattery
)
lblBattery
.
ForeColor
=
Color
.
White
;
else
lblBattery
.
ForeColor
=
Color
.
Black
;
lblBattery
.
Text
=
objs
[
0
]
as
string
;
lblBattery
.
Image
=
objs
[
1
]
as
Image
;
}
...
...
Common/SettingString.cs
查看文件 @
0e94e3e
...
...
@@ -18,9 +18,12 @@ namespace Common
public
const
string
DoorAirIn
=
"DoorAirIn"
;
public
const
string
DoorAirOut
=
"DoorAirOut"
;
public
const
string
AutoCharge
=
"AutoCharge"
;
public
const
string
UseFleet
=
"UseFleet"
;
public
const
string
Leave
=
"Leave"
;
public
const
string
Enter
=
"Enter"
;
public
const
string
Init
=
"Init"
;
//任务状态
public
const
string
Wait
=
"Wait"
;
public
const
string
Done
=
"Done"
;
...
...
@@ -57,8 +60,8 @@ namespace Common
public
const
string
SmallShelf_Prefix
=
"D"
;
public
const
string
RoomC_Name
=
"3C"
;
public
const
string
RoomD_Name
=
"3D"
;
public
const
string
IP_
4D_Light
=
"IP_4
D_Light"
;
public
const
string
IP_
4C_Light
=
"IP_4
C_Light"
;
public
const
string
IP_
3D_Light
=
"IP_3
D_Light"
;
public
const
string
IP_
3C_Light
=
"IP_3
C_Light"
;
public
static
List
<
string
>
Lines_In_Air_Door
=
new
List
<
string
>()
{
"C100"
};
public
static
List
<
string
>
RoomC_AGV_IPs
=
new
List
<
string
>()
{
"10.85.199.666"
};
...
...
Common/util/LogUtil.cs
查看文件 @
0e94e3e
...
...
@@ -10,7 +10,7 @@ namespace Common
{
public
class
LogUtil
{
public
static
readonly
ILog
AIOLog
=
LogManager
.
GetLogger
(
"AGV_3D_
SMD
"
);
public
static
readonly
ILog
AIOLog
=
LogManager
.
GetLogger
(
"AGV_3D_
Line
"
);
private
static
LogUtil
instance
=
new
LogUtil
();
public
delegate
void
ShowLog
(
string
msg
,
Color
color
);
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
...
...
DeviceLibrary/Charge.cs
查看文件 @
0e94e3e
...
...
@@ -28,7 +28,7 @@ namespace DeviceLibrary
{
Station
=
new
Dictionary
<
string
,
string
>();
Station
.
Add
(
AutoCharge1
,
""
);
Station
.
Add
(
AutoCharge2
,
""
);
//
Station.Add(AutoCharge2, "");
string
s
=
AppConfigHelper
.
GetValue
(
SettingString
.
ChargeThreshold
);
string
[]
arr
=
s
.
Split
(
','
);
...
...
@@ -95,19 +95,20 @@ namespace DeviceLibrary
/// <returns></returns>
public
bool
HasEmptyChargeStation
(
Agv_Info
agv
)
{
lock
(
loc
)
{
if
(
SettingString
.
FixedCharge_AGV_IPs
.
Contains
(
agv
.
IP
))
//固定充电小车
return
true
;
else
{
if
(
Station
[
AutoCharge2
].
Equals
(
""
))
{
return
true
;
}
}
}
return
false
;
//lock(loc)
//{
// if (SettingString.FixedCharge_AGV_IPs.Contains(agv.IP))//固定充电小车
// return true;
// else
// {
// if (Station[AutoCharge2].Equals(""))
// {
// return true;
// }
// }
//}
//return false;
return
true
;
}
/// <summary>
/// 开始充电任务
...
...
DeviceLibrary/Config/AgvMission.csv
查看文件 @
0e94e3e
任务名称,任务别名,目的地,目的地别名,任务GUID
MoveA5,移动到双层线入口,A5,双层线入口,eec1eed4-2a04-11ea-9c84-94c691a734f1
任务名称,任务别名,任务GUID
Init,初始化,219cd91a-61da-11eb-96a9-0001297a1dca
Standby,初始化615cef05-61f4-11eb-96a9-0001297a1dca
AutoCharge,充电,615cef05-61f4-11eb-96a9-0001297a1dca
A5,双层线入口,90cece3e-6205-11eb-a040-0001297a2016
A6,双层线出口,9fd1183d-6205-11eb-a040-0001297a2016
D12,S12线,82abbf41-614c-11eb-b885-0001297a1dca
D11,S11线,61bab7dd-614c-11eb-b885-0001297a1dca
D10,S10线,b9bcc942-6205-11eb-a040-0001297a2016
D9,S9线,c19a6ce3-6205-11eb-a040-0001297a2016
D8,S8线,d3181a94-6205-11eb-a040-0001297a2016
D7,S7线,e718516c-6205-11eb-a040-0001297a2016
D6,S6线,fa13c4a5-6205-11eb-a040-0001297a2016
D5,S5线07e146a9-6206-11eb-a040-0001297a2016
D4,S4线,11cd500c-6206-11eb-a040-0001297a2016
D3,S3线,19b42469-6206-11eb-a040-0001297a2016
D2,S2线,2575e471-6206-11eb-a040-0001297a2016
D1,S1线,3037232d-6206-11eb-a040-0001297a2016
D21,备料区入口88486aae-6208-11eb-a040-0001297a2016
D22,备料区出口,97f8b64a-6208-11eb-a040-0001297a2016
CheckShelf,检查负载情况,d7ecd9b0-6207-11eb-a040-0001297a2016
Leave,出料,5a17e712-6205-11eb-a040-0001297a2016
Enter,进料,432f1946-6205-11eb-a040-0001297a2016
\ No newline at end of file
DeviceLibrary/Config/AgvName.csv
查看文件 @
0e94e3e
Fleet ID,agv名称,IP,授权码,IOID
1,5号车,10.85.199.67,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==,007615a5-2220-11ea-99f2-94c691a73b53
2,6号车,10.85.199.68,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==,007615a5-2220-11ea-99f2-94c691a73b53
3,7号车,10.85.199.69,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==,007615a5-2220-11ea-99f2-94c691a73b53
\ No newline at end of file
5,18号车,10.85.199.138,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==,007615a5-2220-11ea-99f2-94c691a73b53
DeviceLibrary/Config/AgvProductionLine.csv
查看文件 @
0e94e3e
产线名,节点名,IP,产线别名,位置名称,位置guid
A5,A5,10.85.162.40,双层线入口(A5),PA5,7ed952c3-b520-11ea-b6ad-00012998f5a0
A6,A6,10.85.162.40,双层线出(A6),PA6,929eb1c2-b520-11ea-b6ad-00012998f5a0
D3,D3,10.85.199.12,3D-S
3线,DL3,43855a9b-b365-11ea-a1a5-00012999830e
D4,D4,10.85.199.15,3D-S
4线,DL4,73c8b98c-b368-11ea-a1a5-00012999830e
D5,D5,10.85.199.31,3D-S
5线,DL5,5436efd7-b432-11ea-a1a5-00012999830e
D6,D6,10.85.199.32,3D-S
6线,DL6,6b7710c1-b432-11ea-a1a5-00012999830e
D7,D7,10.85.199.36,3D-S
7线,DL6,6b7710c1-b432-11ea-a1a5-00012999830e
D8,D8,10.85.199.37,3D-S
8线,DL8,8f039d2e-b432-11ea-a1a5-00012999830e
D9,D9,10.85.199.43,3D-S
9线,DL9,9e0b64ab-b432-11ea-a1a5-00012999830e
D10,D10,10.85.199.44,3D-S
10线,DL10,aec7da80-b432-11ea-a1a5-00012999830e
D11,D11,10.85.199.14,3D-S
11线,DL11,c10984c9-b432-11ea-a1a5-00012999830e
D12,D12,10.85.199.13,3D-S
12线,DL12,d6e0b92a-b432-11ea-a1a5-00012999830e
FeederIn,D21,10.85.199.1
,3D-备料区入口,FI,1e546c3a-8abe-11ea-ab63-000129922ca6
FeederOut,D22,10.85.199.1
,3D-备料区出口,FO,431649a4-8abe-11ea-ab63-000129922ca6
S3,D3,10.85.197.151,3D-
3线,DL3,43855a9b-b365-11ea-a1a5-00012999830e
S4,D4,10.85.197.146,3D-
4线,DL4,73c8b98c-b368-11ea-a1a5-00012999830e
S5,D5,10.85.197.15,3D-
5线,DL5,5436efd7-b432-11ea-a1a5-00012999830e
S6,D6,10.85.197.14,3D-
6线,DL6,6b7710c1-b432-11ea-a1a5-00012999830e
S7,D7,10.85.197.9,3D-
7线,DL6,6b7710c1-b432-11ea-a1a5-00012999830e
S8,D8,10.85.197.141,3D-
8线,DL8,8f039d2e-b432-11ea-a1a5-00012999830e
S9,D9,10.85.197.8,3D-
9线,DL9,9e0b64ab-b432-11ea-a1a5-00012999830e
S10,D10,10.85.197.7,3D-
10线,DL10,aec7da80-b432-11ea-a1a5-00012999830e
S11,D11,10.85.197.131,3D-
11线,DL11,c10984c9-b432-11ea-a1a5-00012999830e
S12,D12,10.85.197.6,3D-
12线,DL12,d6e0b92a-b432-11ea-a1a5-00012999830e
3DFeederIn,D21,10.85.197.3
,3D-备料区入口,FI,1e546c3a-8abe-11ea-ab63-000129922ca6
3DFeederOut,D22,10.85.197.3
,3D-备料区出口,FO,431649a4-8abe-11ea-ab63-000129922ca6
DeviceLibrary/Control.cs
查看文件 @
0e94e3e
...
...
@@ -96,7 +96,7 @@ namespace DeviceLibrary
if
(!
AGVManager
.
nodeInfo
[
j
].
Name
.
Equals
(
SettingString
.
RoomCFeederIn
)
&&
!
AGVManager
.
nodeInfo
[
j
].
Name
.
Equals
(
SettingString
.
RoomCFeederOut
)
&&
!
AGVManager
.
nodeInfo
[
j
].
Name
.
Equals
(
SettingString
.
RoomDFeederIn
)
&&
!
AGVManager
.
nodeInfo
[
j
].
Name
.
Equals
(
SettingString
.
RoomDFeederOut
))
{
tmp
=
HttpManager
.
GetFirstRFID
(
AGVManager
.
nodeInfo
[
j
].
Name
);
tmp
=
HttpManager
.
GetFirstRFID
(
AGVManager
.
nodeInfo
[
j
].
Line
Name
);
if
(!
tmp
.
Equals
(
AGVManager
.
nodeInfo
[
j
].
RFID
))
{
AGVManager
.
nodeInfo
[
j
].
RFID
=
tmp
;
...
...
@@ -122,9 +122,9 @@ namespace DeviceLibrary
}
HttpManager
.
updateDeviceAlarmMsg
(
msglist
);
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
log
.
Error
(
"NodeStateTimer "
+
ex
.
Message
+
ex
.
StackTrace
);
log
.
Error
(
"NodeStateTimer "
+
ex
.
Message
+
ex
.
StackTrace
);
}
NodeStateInProcess
=
false
;
}
...
...
@@ -144,14 +144,14 @@ namespace DeviceLibrary
{
if
(!
CheckOnline
(
i
))
continue
;
bool
change
=
false
;
MiR_API
.
Get_Task_State
(
AGVManager
.
agvInfo
[
i
]
.
CurTaskID
,
out
string
stateStr
);
MiR_API
.
Get_Task_State
(
AGVManager
.
agvInfo
[
i
],
out
string
stateStr
);
Thread
.
Sleep
(
50
);
//获取AGV状态
rtn
=
MiR_API
.
Get_State
(
AGVManager
.
agvInfo
[
i
],
out
eAGVState
stateID
,
out
string
stateText
,
out
int
battery
,
out
string
mission_text
,
out
Agv_Info
.
MirPosition
position
);
Thread
.
Sleep
(
50
);
if
(
rtn
)
change
=
AGVManager
.
agvInfo
[
i
].
SetState
(
stateID
,
stateStr
,
battery
,
mission_text
,
position
);
// if (change)
// if (change)
{
AgvChanged
?.
Invoke
(
i
);
}
...
...
@@ -160,13 +160,13 @@ namespace DeviceLibrary
if
(
stateText
.
Equals
(
"Error"
)
||
stateText
.
Equals
(
"EmergencyStop"
)
||
stateText
.
Equals
(
"Pause"
))
{
isAlarm
=
true
;
msglist
.
Add
(
new
AlarmMsg
(
AGVManager
.
agvInfo
[
i
].
Name
,
"lineAgv."
+
AGVManager
.
agvInfo
[
i
].
Name
+
".
Error.EmergencyStop
"
,
"agv状态:"
+
stateText
+
""
));
msglist
.
Add
(
new
AlarmMsg
(
AGVManager
.
agvInfo
[
i
].
Name
,
"lineAgv."
+
AGVManager
.
agvInfo
[
i
].
Name
+
".
Msg
"
,
"agv状态:"
+
stateText
+
""
));
}
if
(!
isAlarm
&&
AGVManager
.
agvInfo
[
i
].
StandTimeOut
)
{
isAlarm
=
true
;
msglist
.
Add
(
new
AlarmMsg
(
AGVManager
.
agvInfo
[
i
].
Name
,
"lineAgv."
+
AGVManager
.
agvInfo
[
i
].
Name
+
".
StandTimeOut
"
,
"在"
+
AGVManager
.
agvInfo
[
i
].
PlaceAliceName
+
"停留超时"
+
(
DateTime
.
Now
-
AGVManager
.
agvInfo
[
i
].
StandStartTime
).
TotalMinutes
.
ToString
(
"f2"
)
+
"分钟"
));
msglist
.
Add
(
new
AlarmMsg
(
AGVManager
.
agvInfo
[
i
].
Name
,
"lineAgv."
+
AGVManager
.
agvInfo
[
i
].
Name
+
".
Msg
"
,
"在"
+
AGVManager
.
agvInfo
[
i
].
PlaceAliceName
+
"停留超时"
+
(
DateTime
.
Now
-
AGVManager
.
agvInfo
[
i
].
StandStartTime
).
TotalMinutes
.
ToString
(
"f2"
)
+
"分钟"
));
}
if
(!
isAlarm
)
...
...
@@ -184,7 +184,7 @@ namespace DeviceLibrary
}
}
catch
(
Exception
ex
)
{
{
log
.
Error
(
AGVManager
.
agvInfo
[
i
].
Name
+
"上报小车运行步骤失败"
+
ex
.
Message
+
ex
.
StackTrace
);
}
}
...
...
@@ -209,9 +209,10 @@ namespace DeviceLibrary
foreach
(
JobType
jobType
in
AGVManager
.
jobTypes
)
{
Job
job
=
null
;
job
=
jobType
.
GetNewJob
(
agv_Info
);
if
(
agv_Info
.
IsUse
)
job
=
jobType
.
GetNewJob
(
agv_Info
);
else
return
null
;
if
(
job
!=
null
)
{
log
.
Debug
(
agv_Info
.
Name
+
" GetJob OK "
+
job
.
ToString
());
...
...
@@ -236,7 +237,7 @@ namespace DeviceLibrary
//Ready,Pause,Executing,Error
if
(!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Ready
)
&&
!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Pause
)
&&
!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Executing
)
&&
!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Error
))
&&
!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
Executing
)
&&
!
AGVManager
.
agvInfo
[
i
].
StateID
.
Equals
(
eAGVState
.
None
))
{
log
.
Warn
(
string
.
Format
(
"{0}不能调用 StateID={1}"
,
AGVManager
.
agvInfo
[
i
].
Name
,
AGVManager
.
agvInfo
[
i
].
StateID
.
ToString
()));
continue
;
...
...
@@ -288,7 +289,6 @@ namespace DeviceLibrary
AGVManager
.
agvInfo
[
idx
].
IsCon
=
true
;
log
.
Info
(
AGVManager
.
agvInfo
[
idx
].
Name
+
" Online"
);
AgvOnline
?.
Invoke
(
idx
);
AgvChanged
?.
Invoke
(
idx
);
}
}
else
...
...
@@ -298,7 +298,6 @@ namespace DeviceLibrary
AGVManager
.
agvInfo
[
idx
].
IsCon
=
false
;
log
.
Info
(
AGVManager
.
agvInfo
[
idx
].
Name
+
" Offline"
);
AgvOnline
?.
Invoke
(
idx
);
AgvChanged
?.
Invoke
(
idx
);
}
else
{
...
...
DeviceLibrary/MissionSys.cs
查看文件 @
0e94e3e
...
...
@@ -31,8 +31,8 @@ namespace DeviceLibrary
for
(
int
i
=
1
;
i
<
line
.
Length
;
i
++)
{
temp
=
line
[
i
].
Split
(
','
);
if
(
temp
.
Length
!=
5
)
continue
;
Missions
.
Add
(
new
Mission
(
temp
[
0
],
temp
[
1
],
temp
[
2
]
,
temp
[
3
],
temp
[
4
]
));
if
(
temp
.
Length
!=
3
)
continue
;
Missions
.
Add
(
new
Mission
(
temp
[
0
],
temp
[
1
],
temp
[
2
]));
}
LogUtil
.
info
(
"加载任务成功"
);
}
...
...
@@ -47,13 +47,13 @@ namespace DeviceLibrary
/// </summary>
/// <param name="taskName"></param>
/// <returns></returns>
public
static
string
GetMissionGuidBy
Name
(
string
n
ame
)
public
static
string
GetMissionGuidBy
AliceName
(
string
aliceN
ame
)
{
Mission
mission
=
Missions
.
Find
(
s
=>
s
.
TargetName
.
Equals
(
n
ame
));
Mission
mission
=
Missions
.
Find
(
s
=>
s
.
AliceName
.
Equals
(
aliceN
ame
));
if
(
mission
!=
null
)
return
mission
.
Guid
;
else
LogUtil
.
error
(
string
.
Format
(
"任务
目的地{0}不存在,请检查!"
,
n
ame
));
LogUtil
.
error
(
string
.
Format
(
"任务
[{0}]不存在,请检查!"
,
aliceN
ame
));
return
""
;
}
/// <summary>
...
...
@@ -70,43 +70,63 @@ namespace DeviceLibrary
LogUtil
.
error
(
string
.
Format
(
"任务{0}不存在,请检查!"
,
taskName
));
return
""
;
}
public
static
string
GetAliceNameByTaskName
(
string
taskName
)
{
Mission
mission
=
Missions
.
Find
(
s
=>
s
.
Name
.
Equals
(
taskName
));
if
(
mission
!=
null
)
return
mission
.
AliceName
;
else
LogUtil
.
error
(
string
.
Format
(
"任务{0}不存在,请检查!"
,
taskName
));
return
""
;
}
public
static
string
GetTaskNameByAliceName
(
string
aliceName
)
{
Mission
mission
=
Missions
.
Find
(
s
=>
s
.
AliceName
.
Equals
(
aliceName
));
if
(
mission
!=
null
)
return
mission
.
Name
;
else
LogUtil
.
error
(
string
.
Format
(
"任务[{0}]不存在,请检查!"
,
aliceName
));
return
""
;
}
/// <summary>
/// 向小车发送任务
/// </summary>
/// <returns></returns>
public
static
bool
AssignMission
(
Agv_Info
agv
,
string
mission
Name
)
public
static
bool
AssignMission
(
Agv_Info
agv
,
string
task
Name
)
{
bool
rtn
=
false
;
string
guid
=
GetMissionGuidBy
Name
(
mission
Name
);
string
guid
=
GetMissionGuidBy
TaskName
(
task
Name
);
if
(!
guid
.
Equals
(
""
))
{
if
(
agv
.
UseFleet
)
{
agv
.
CurTarName
=
taskName
;
rtn
=
MiR_API
.
Add_Mission_Fleet
(
agv
,
guid
);
MiR_API
.
State_Ready
(
agv
);
if
(
rtn
)
{
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission_Fleet [{1}] OK"
,
agv
.
Name
,
mission
Name
));
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission_Fleet [{1}] OK"
,
agv
.
Name
,
task
Name
));
}
else
{
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission_Fleet [{1}] Fail"
,
agv
.
Name
,
mission
Name
));
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission_Fleet [{1}] Fail"
,
agv
.
Name
,
task
Name
));
}
}
else
{
agv
.
CurTarName
=
taskName
;
rtn
=
MiR_API
.
Add_Mission
(
agv
,
guid
);
MiR_API
.
State_Ready
(
agv
);
if
(
rtn
)
{
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission [{1}] OK"
,
agv
.
Name
,
mission
Name
));
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission [{1}] OK"
,
agv
.
Name
,
task
Name
));
}
else
{
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission [{1}] Fail"
,
agv
.
Name
,
mission
Name
));
LogUtil
.
info
(
string
.
Format
(
"{0} Add_Mission [{1}] Fail"
,
agv
.
Name
,
task
Name
));
}
}
agv
.
StateKanban
.
SetCurTask
(
MissionSys
.
GetAliceNameByTaskName
(
taskName
));
}
return
rtn
;
}
...
...
@@ -136,7 +156,7 @@ namespace DeviceLibrary
public
static
bool
CheckTaskFinished
(
Agv_Info
agv
,
string
taskName
,
string
curTaskState
)
{
LogUtil
.
debug
(
agv
.
Name
+
" 检查当前任务是否结束: "
+
taskName
+
" "
+
curTaskState
);
return
GetMissionGuidByName
(
taskName
).
Equals
(
agv
.
CurTaskGUID
)
&&
curTaskState
.
Equals
(
SettingString
.
Done
);
return
GetMissionGuidBy
Task
Name
(
taskName
).
Equals
(
agv
.
CurTaskGUID
)
&&
curTaskState
.
Equals
(
SettingString
.
Done
);
}
/// <summary>
/// 检查当前是否分配成功
...
...
@@ -146,16 +166,16 @@ namespace DeviceLibrary
/// <returns></returns>
public
static
bool
CheckTaskIsOK
(
Agv_Info
agv
,
string
taskName
,
string
curTaskState
)
{
return
GetMissionGuidByName
(
taskName
).
Equals
(
agv
.
CurTaskGUID
)
&&
curTaskState
.
Equals
(
SettingString
.
Executing
);
return
GetMissionGuidBy
Task
Name
(
taskName
).
Equals
(
agv
.
CurTaskGUID
)
&&
curTaskState
.
Equals
(
SettingString
.
Executing
);
}
/// <summary>
/// 获取Fleet Job任务状态
/// </summary>
/// <param name="CurTaskID"></param>
/// <returns></returns>
public
static
string
GetTakJobState
(
int
CurTaskID
)
public
static
string
GetTakJobState
(
Agv_Info
agv
)
{
if
(!
CurTaskID
.
Equals
(-
1
)
&&
MiR_API
.
Get_Task_State
(
CurTaskID
,
out
string
st
))
if
(!
agv
.
CurTaskID
.
Equals
(-
1
)
&&
MiR_API
.
Get_Task_State
(
agv
,
out
string
st
))
return
st
;
return
SettingString
.
Wait
;
}
...
...
DeviceLibrary/bean/Agv_Info.cs
查看文件 @
0e94e3e
...
...
@@ -41,7 +41,19 @@ namespace DeviceLibrary
/// <summary>
/// 是否在线
/// </summary>
public
bool
IsCon
{
set
;
get
;
}
public
bool
IsCon
{
set
{
if
(!
value
.
Equals
(
isCon
))
{
isCon
=
value
;
StateKanban
.
SetConnectState
(
isCon
);
}
}
get
{
return
isCon
;
}
}
private
bool
isCon
=
false
;
public
bool
IsInCharge
{
get
;
set
;
}
/// <summary>
...
...
@@ -55,7 +67,7 @@ namespace DeviceLibrary
if
(!
value
.
Equals
(
_IsUse
))
{
_IsUse
=
value
;
AGVManager
.
WriteIni
(
Name
,
SettingString
.
IsUse
,
_IsUse
.
ToString
());
AGVManager
.
WriteIni
(
Name
,
SettingString
.
IsUse
,
_IsUse
.
ToString
());
}
}
get
{
return
_IsUse
;
}
...
...
@@ -87,14 +99,14 @@ namespace DeviceLibrary
/// <summary>
/// 当前任务文本,(从小车获取)
/// </summary>
public
string
MissionText
{
set
;
get
;
}
public
string
MissionText
{
set
;
get
;
}
=
""
;
public
class
MirPosition
{
public
float
orientation
{
get
;
set
;
}
public
PointF
Point
;
}
/// <summary>
/// 当前位置
...
...
@@ -116,7 +128,7 @@ namespace DeviceLibrary
/// <summary>
/// 使用Fleet发任务
/// </summary>
public
bool
UseFleet
{
get
;
set
;
}
=
false
;
public
bool
UseFleet
=
AppConfigHelper
.
GetBoolValue
(
SettingString
.
UseFleet
)
;
/// <summary>
/// 当前任务的ID号
/// </summary>
...
...
@@ -224,7 +236,7 @@ namespace DeviceLibrary
if
(!
Battery
.
Equals
(
battery
))
{
Battery
=
battery
;
StateKanban
.
SetBattery
(
battery
,
IsInCharge
);
StateKanban
.
SetBattery
(
battery
,
IsInCharge
);
}
//"目的地", "RFID", "负载", "运行模式","任务信息", "AGV运行信息"
if
(
AGVManager
.
nodeInfo
!=
null
&&
AGVManager
.
nodeInfo
.
Count
!=
0
)
...
...
@@ -242,7 +254,8 @@ namespace DeviceLibrary
StateKanban
.
ShowInfo
(
"负载"
,
IsExistShelf
?
"满载"
:
"空载"
);
}
StateKanban
.
ShowInfo
(
"运行模式"
,
IsUse
?
"自动"
:
"手动"
);
StateKanban
.
ShowInfo
(
"任务信息"
,
this
.
CurJob
.
RunInfo
);
if
(
this
.
CurJob
!=
null
)
StateKanban
.
ShowInfo
(
"任务信息"
,
this
.
CurJob
.
RunInfo
);
if
(!
MissionText
.
Equals
(
missionText
))
{
...
...
@@ -262,7 +275,7 @@ namespace DeviceLibrary
if
(
IsUse
&&
CurJob
!=
null
&&
!(
CurJob
is
ChargeJob
)
&&
(!
CurTarName
.
Contains
(
SettingString
.
Standby
)))
//!CurTaskName.Contains(SettingString.AutoCharge) ||
{
if
(
Math
.
Abs
(
position
.
Point
.
X
-
Position
.
Point
.
X
)
<
1
&&
Math
.
Abs
(
position
.
Point
.
Y
-
Position
.
Point
.
Y
)
<
1
)
if
(
Math
.
Abs
(
position
.
Point
.
X
-
Position
.
Point
.
X
)
<
1
&&
Math
.
Abs
(
position
.
Point
.
Y
-
Position
.
Point
.
Y
)
<
1
)
{
//满足条件,计算持续时间
if
(
StandStartTime
==
DateTime
.
MaxValue
)
...
...
DeviceLibrary/bean/Job.cs
查看文件 @
0e94e3e
...
...
@@ -33,11 +33,11 @@ namespace DeviceLibrary
/// </summary>
/// <param name="curTaskName"></param>
/// <param name="curTaskId"></param>
protected
void
UpdateJobTaskInfo
(
string
curTaskName
,
int
curTaskId
)
protected
void
UpdateJobTaskInfo
(
Agv_Info
agv
)
{
CurTaskID
=
curTaskId
;
CurTarName
=
curTask
Name
;
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskID
=
agv
.
CurTaskID
;
CurTarName
=
agv
.
CurTar
Name
;
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
}
/// <summary>
/// 任务重发
...
...
@@ -46,25 +46,25 @@ namespace DeviceLibrary
public
bool
ResendTask
(
Agv_Info
agv
)
{
bool
rtn
=
false
;
if
(!
CurTaskID
.
Equals
(-
1
)
&&
MiR_API
.
Get_Task_State
(
CurTaskID
,
out
string
stateStr
))
if
(!
CurTaskID
.
Equals
(-
1
)
&&
MiR_API
.
Get_Task_State
(
agv
,
out
string
stateStr
))
{
if
(
stateStr
.
Equals
(
SettingString
.
Aborted
)
||
stateStr
.
Equals
(
SettingString
.
Invalid
))
{
rtn
=
MissionSys
.
AssignMission
(
agv
,
CurTarName
);
if
(
rtn
)
{
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
return
true
;
}
}
}
else
if
(!
CurTarName
.
Equals
(
""
)
&&
!
MissionSys
.
GetMissionGuidByName
(
CurTarName
).
Equals
(
agv
.
CurTaskGUID
))
//Job的当前任务与agv最新任务不一致
else
if
(!
CurTarName
.
Equals
(
""
)
&&
!
MissionSys
.
GetMissionGuidBy
Task
Name
(
CurTarName
).
Equals
(
agv
.
CurTaskGUID
))
//Job的当前任务与agv最新任务不一致
{
rtn
=
MissionSys
.
AssignMission
(
agv
,
CurTarName
);
if
(
rtn
)
{
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
return
true
;
}
}
...
...
@@ -73,7 +73,7 @@ namespace DeviceLibrary
rtn
=
MissionSys
.
AssignMission
(
agv
,
CurTarName
);
if
(
rtn
)
{
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
return
true
;
}
}
...
...
DeviceLibrary/bean/MiR_API.cs
查看文件 @
0e94e3e
...
...
@@ -452,32 +452,56 @@ namespace DeviceLibrary
/// <param name="CurTaskID"></param>
/// <param name="stateStr"></param>
/// <returns></returns>
public
static
bool
Get_Task_State
(
int
CurTaskID
,
out
string
stateStr
)
public
static
bool
Get_Task_State
(
Agv_Info
agv
,
out
string
stateStr
)
{
stateStr
=
SettingString
.
Wait
;
try
{
if
(
CurTaskID
==
-
1
)
if
(
agv
.
CurTaskID
==
-
1
)
return
true
;
string
ip
=
AppConfigHelper
.
GetValue
(
SettingString
.
FLEET
);
//http://10.85.199.3/api/v2.0.0/mission_scheduler
string
url
=
"http://"
+
ip
+
"/api/v2.0.0/mission_scheduler/"
+
CurTaskID
;
string
json
=
HttpGet
(
url
,
ip
,
AGVManager
.
agvInfo
[
0
].
Authorization
);
log
.
Debug
(
"URL: "
+
url
+
"\n"
+
"Return: "
+
json
);
if
(
string
.
IsNullOrWhiteSpace
(
json
))
return
false
;
JavaScriptSerializer
serializer
=
new
JavaScriptSerializer
();
Dictionary
<
string
,
object
>
dic
=
(
Dictionary
<
string
,
object
>)
serializer
.
DeserializeObject
(
json
);
if
(
dic
==
null
)
return
false
;
// "mission_id": "2e433130-c045-11ea-9a66-94c691a7387d",
// "id": 7178,
// "state": "Done"
string
s
=
dic
[
"id"
].
ToString
();
if
(
s
.
Equals
(
CurTaskID
.
ToString
()))
if
(
agv
.
UseFleet
)
{
stateStr
=
dic
[
"state"
].
ToString
();
return
true
;
string
ip
=
AppConfigHelper
.
GetValue
(
SettingString
.
FLEET
);
string
url
=
"http://"
+
ip
+
"/api/v2.0.0/mission_scheduler/"
+
agv
.
CurTaskID
;
string
json
=
HttpGet
(
url
,
ip
,
AGVManager
.
agvInfo
[
0
].
Authorization
);
log
.
Debug
(
"URL: "
+
url
+
"\n"
+
"Return: "
+
json
);
if
(
string
.
IsNullOrWhiteSpace
(
json
))
return
false
;
JavaScriptSerializer
serializer
=
new
JavaScriptSerializer
();
Dictionary
<
string
,
object
>
dic
=
(
Dictionary
<
string
,
object
>)
serializer
.
DeserializeObject
(
json
);
if
(
dic
==
null
)
return
false
;
// "mission_id": "2e433130-c045-11ea-9a66-94c691a7387d",
// "id": 7178,
// "state": "Done"
string
s
=
dic
[
"id"
].
ToString
();
if
(
s
.
Equals
(
agv
.
CurTaskID
.
ToString
()))
{
stateStr
=
dic
[
"state"
].
ToString
();
return
true
;
}
}
else
{
string
url
=
"http://"
+
agv
.
IP
+
"/api/v2.0.0/mission_queue/"
+
agv
.
CurTaskID
;
string
json
=
HttpGet
(
url
,
agv
.
IP
,
agv
.
Authorization
);
log
.
Debug
(
"URL: "
+
url
+
"\n"
+
"Return: "
+
json
);
if
(
string
.
IsNullOrWhiteSpace
(
json
))
return
false
;
JavaScriptSerializer
serializer
=
new
JavaScriptSerializer
();
Dictionary
<
string
,
object
>
dic
=
(
Dictionary
<
string
,
object
>)
serializer
.
DeserializeObject
(
json
);
if
(
dic
==
null
)
return
false
;
// "mission_id": "2e433130-c045-11ea-9a66-94c691a7387d",
// "id": 7178,
// "state": "Done"
string
s
=
dic
[
"id"
].
ToString
();
if
(
s
.
Equals
(
agv
.
CurTaskID
.
ToString
()))
{
stateStr
=
dic
[
"state"
].
ToString
();
return
true
;
}
}
return
false
;
}
...
...
@@ -488,6 +512,7 @@ namespace DeviceLibrary
}
}
/// <summary>
/// 获取当前小车状态
/// </summary>
...
...
DeviceLibrary/bean/Mission.cs
查看文件 @
0e94e3e
...
...
@@ -18,15 +18,6 @@ namespace DeviceLibrary
/// </summary>
public
string
AliceName
{
private
set
;
get
;
}
/// <summary>
/// 目的地名称(节点名)
/// </summary>
public
string
TargetName
{
private
set
;
get
;
}
/// <summary>
/// 目的地别名(与节点名对应)
/// </summary>
public
string
TargetAliceName
{
private
set
;
get
;
}
/// <summary>
/// 任务guid
/// </summary>
public
string
Guid
{
private
set
;
get
;
}
...
...
@@ -38,12 +29,10 @@ namespace DeviceLibrary
/// <param name="targetName">目的地名</param>
/// <param name="targetAliceName">目的地别名</param>
/// <param name="guid">任务guid</param>
public
Mission
(
string
name
,
string
aliceName
,
string
targetName
,
string
targetAliceName
,
string
guid
)
public
Mission
(
string
name
,
string
aliceName
,
string
guid
)
{
Name
=
name
;
AliceName
=
aliceName
;
TargetName
=
targetName
;
TargetAliceName
=
targetAliceName
;
Guid
=
guid
;
}
}
...
...
DeviceLibrary/bean/job/ChargeJob.cs
查看文件 @
0e94e3e
...
...
@@ -28,7 +28,7 @@ namespace DeviceLibrary
/// </summary>
public
override
string
RunInfo
{
get
{
return
string
.
Format
(
"充电任务[{0}]
[{1}]:{2} "
,
CurTaskID
,
CurTaskState
,
runInfo
);}
get
{
return
string
.
Format
(
"充电任务[{0}]
:{1} "
,
CurTaskID
,
runInfo
);}
}
private
JobStep
<
CHARGE_STEP
>
jobStep
=
new
JobStep
<
CHARGE_STEP
>(
CHARGE_STEP
.
NONE
);
...
...
@@ -41,7 +41,7 @@ namespace DeviceLibrary
{
string
msg
=
string
.
Format
(
"{0} 充电任务: "
,
agv
.
Name
);
//bool rtn = false;
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
jobStep
.
IsStep
(
CHARGE_STEP
.
NONE
))
{
if
(
agv
.
Battery
>
AGVManager
.
Charge
.
BatteryMax
)
...
...
@@ -53,7 +53,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agvPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
)
&&
AGVManager
.
CheckIsInAirDoor
(
agvPlace
))
{
...
...
@@ -62,7 +62,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agvPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
{
...
...
@@ -71,7 +71,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -81,7 +81,7 @@ namespace DeviceLibrary
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
...
...
@@ -94,7 +94,7 @@ namespace DeviceLibrary
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agvPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
{
...
...
@@ -104,7 +104,7 @@ namespace DeviceLibrary
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -116,7 +116,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -124,7 +124,7 @@ namespace DeviceLibrary
runInfo
=
"电量"
+
agv
.
Battery
+
"%小于最大电量"
+
AGVManager
.
Charge
.
BatteryMax
+
"%,从当前位置"
+
agvPlace
+
"去充电位"
;
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
...
...
@@ -139,7 +139,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
CHARGE_STEP
.
WAIT_AGV_REACH_ROOMD_DOOR
))
...
...
@@ -153,7 +153,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -165,7 +165,7 @@ namespace DeviceLibrary
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -173,7 +173,7 @@ namespace DeviceLibrary
runInfo
=
"电量"
+
agv
.
Battery
+
"%小于最大电量"
+
AGVManager
.
Charge
.
BatteryMax
+
"%,从当前位置"
+
agvPlace
+
"回到充电位"
;
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -201,7 +201,7 @@ namespace DeviceLibrary
jobStep
.
Msg
=
msg
;
AGVManager
.
Charge
.
DelOccupyInfo
(
agv
);
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agv
.
Battery
>=
AGVManager
.
Charge
.
BatteryMin
)
{
...
...
DeviceLibrary/bean/job/EmptyAGVBackJob.cs
查看文件 @
0e94e3e
...
...
@@ -36,7 +36,7 @@ namespace DeviceLibrary
/// </summary>
public
override
string
RunInfo
{
get
{
return
string
.
Format
(
"返回任务[{0}]
[{1}]:{2}"
,
CurTaskID
,
CurTaskState
,
runInfo
);
}
get
{
return
string
.
Format
(
"返回任务[{0}]
:{1}"
,
CurTaskID
,
runInfo
);
}
}
...
...
@@ -50,7 +50,7 @@ namespace DeviceLibrary
{
string
msg
=
string
.
Format
(
"{0} 返回任务: "
,
agv
.
Name
);
//bool rtn = false;
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
jobStep
.
IsStep
(
EMPTY_AGV_BACK_STEP
.
NONE
))
{
if
(
AGVManager
.
FindEmptyShelfNode
(
agv
,
out
string
nodeName
,
true
))
...
...
@@ -75,7 +75,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agvPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
{
...
...
@@ -84,7 +84,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -93,7 +93,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
...
...
@@ -106,7 +106,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agvPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
{
...
...
@@ -115,7 +115,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -124,7 +124,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -138,7 +138,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agvPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
{
...
...
@@ -147,7 +147,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -156,13 +156,13 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
else
if
(
jobStep
.
IsStep
(
EMPTY_AGV_BACK_STEP
.
WAIT_REACH_STANDBY
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Standby
,
CurTaskState
))
{
Job
job
=
AGVManager
.
control
.
GetJob
(
agv
);
...
...
@@ -196,7 +196,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
EMPTY_AGV_BACK_STEP
.
WAIT_AGV_REACH_RoomC_AIR_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorAirOut
,
CurTaskState
))
{
jobStep
.
ToNextStep
(
EMPTY_AGV_BACK_STEP
.
WAIT_AGV_REACH_RoomD_DOOR
);
...
...
@@ -204,12 +204,12 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
EMPTY_AGV_BACK_STEP
.
WAIT_AGV_REACH_RoomD_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorCToD
,
CurTaskState
))
{
if
(
AGVManager
.
FindFullShelfTask
(
agv
))
...
...
DeviceLibrary/bean/job/EmptyShelfBackJob.cs
查看文件 @
0e94e3e
...
...
@@ -42,7 +42,7 @@ namespace DeviceLibrary
/// </summary>
public
override
string
RunInfo
{
get
{
return
string
.
Format
(
"空料架[{0}][{1}]
[{2}]返回:{3} "
,
shelfType
.
ToString
(),
CurTaskID
,
CurTaskState
,
runInfo
);
}
get
{
return
string
.
Format
(
"空料架[{0}][{1}]
返回:{2} "
,
shelfType
.
ToString
(),
CurTaskID
,
runInfo
);
}
}
...
...
@@ -66,7 +66,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
EmptyShelfPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
//C车间
{
...
...
@@ -75,7 +75,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -89,7 +89,7 @@ namespace DeviceLibrary
if
(!
EmptyShelfTargetPlace
.
Equals
(
""
))
{
MissionSys
.
AssignMission
(
agv
,
EmptyShelfTargetPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -100,13 +100,13 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
else
if
(
jobStep
.
IsStep
(
EMPTY_SHELF_BACK_STEP
.
WAIT_AGV_REACH_AIR_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorAirOut
,
CurTaskState
))
{
jobStep
.
ToNextStep
(
EMPTY_SHELF_BACK_STEP
.
WAIT_AGV_REACH_DOOR
);
...
...
@@ -114,12 +114,12 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
EMPTY_SHELF_BACK_STEP
.
WAIT_AGV_REACH_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorCToD
,
CurTaskState
))
{
if
(
AGVManager
.
CheckA5A6State
(
agv
,
shelfType
,
out
string
nodeName
))
...
...
@@ -130,7 +130,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
EmptyShelfTargetPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -140,13 +140,13 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
else
if
(
jobStep
.
IsStep
(
EMPTY_SHELF_BACK_STEP
.
WAIT_AGV_REACH_STANDBY
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
AGVManager
.
CheckA5A6State
(
agv
,
shelfType
,
out
string
nodeName
))
{
EmptyShelfTargetPlace
=
nodeName
;
...
...
@@ -155,12 +155,12 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
EmptyShelfTargetPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
EMPTY_SHELF_BACK_STEP
.
WAIT_AGV_REACH_A5A6
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
EmptyShelfTargetPlace
,
CurTaskState
)
&&
EmptyShelfTargetPlace
.
StartsWith
(
SettingString
.
DoubleLine_Name_Prefix
))
{
jobStep
.
ToNextStep
(
EMPTY_SHELF_BACK_STEP
.
WAIT_DOUBLE_LINE_RESPONSE
);
...
...
@@ -183,7 +183,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Leave
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -198,12 +198,12 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
EMPTY_SHELF_BACK_STEP
.
WAIT__EMPTY_SHELF_IN_DOUBLE_LINE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Leave
,
CurTaskState
))
{
agv
.
RFID
=
""
;
...
...
DeviceLibrary/bean/job/EnterLeaveShelfJob.cs
查看文件 @
0e94e3e
...
...
@@ -75,7 +75,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Leave
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
ActionType
.
Equals
(
eEnterLeaveType
.
Enter
))
{
...
...
@@ -88,7 +88,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Enter
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
ENTER_LEAVE_SHELF_STEP
.
WAIT_LINE_ReadyEnter_RESPONSE
))
...
...
@@ -102,7 +102,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Leave
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
jobStep
.
IsTimeOut
(
15000
,
out
double
timeOutValue
))
{
...
...
@@ -123,7 +123,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Enter
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
jobStep
.
IsTimeOut
(
15000
,
out
double
timeOutValue
))
{
...
...
@@ -135,7 +135,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
ENTER_LEAVE_SHELF_STEP
.
WAIT__SHELF_IN_LINE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Leave
,
CurTaskState
))
{
...
...
@@ -158,7 +158,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
ENTER_LEAVE_SHELF_STEP
.
WAIT__SHELF_OUT_LINE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Enter
,
CurTaskState
))
{
...
...
DeviceLibrary/bean/job/GoEmptyShelfLineJob.cs
查看文件 @
0e94e3e
...
...
@@ -36,7 +36,7 @@ namespace DeviceLibrary
/// </summary>
public
override
string
RunInfo
{
get
{
return
string
.
Format
(
"回收空料架[RFID={0}][{1}]
[{2}]:{3}"
,
RFID
,
CurTaskID
,
CurTaskState
,
runInfo
);
}
get
{
return
string
.
Format
(
"回收空料架[RFID={0}][{1}]
:{2}"
,
RFID
,
CurTaskID
,
runInfo
);
}
}
...
...
@@ -60,7 +60,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(!
AGVManager
.
CheckIsInAirDoor
(
agvPlae
)
&&
AGVManager
.
CheckIsInAirDoor
(
EmptyShelfPlace
))
//4C风淋门外->风淋门内
{
...
...
@@ -73,7 +73,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
AGVManager
.
MoveToRoomCStandy
(
agv
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -82,7 +82,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirIn
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
((
agvPlae
.
StartsWith
(
SettingString
.
RoomD_Name_Prefix
)
||
agvPlae
.
StartsWith
(
SettingString
.
DoubleLine_Name_Prefix
)
||
agvPlae
.
Equals
(
SettingString
.
Standby
)
||
...
...
@@ -94,7 +94,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorDToC
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
//起始与目的地在风淋门同一侧
...
...
@@ -108,7 +108,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -129,7 +129,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
AGVManager
.
MoveToRoomCStandy
(
agv
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -146,7 +146,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
((
agvPlae
.
StartsWith
(
SettingString
.
RoomD_Name_Prefix
)
||
agvPlae
.
StartsWith
(
SettingString
.
DoubleLine_Name_Prefix
)
||
agvPlae
.
Equals
(
SettingString
.
Standby
)
||
agvPlae
.
Equals
(
SettingString
.
AutoCharge
))
...
...
@@ -157,7 +157,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorDToC
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
//4D->4D
...
...
@@ -174,7 +174,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_AGV_REACH_AIR_OUT_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorAirOut
,
CurTaskState
))
{
//4C风淋门内->风淋门外,到达风淋门外
...
...
@@ -187,7 +187,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
AGVManager
.
MoveToRoomCStandy
(
agv
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -204,7 +204,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
//都在风淋门内,到达风淋门外
else
...
...
@@ -214,13 +214,13 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
AGVManager
.
MoveToRoomCStandy
(
agv
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
else
if
(
jobStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_AGV_REACH_AIR_IN_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorAirIn
,
CurTaskState
))
{
//4C风淋门外->风淋门内
...
...
@@ -232,7 +232,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_AGV_REACH_4C_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorDToC
,
CurTaskState
))
{
if
(
AGVManager
.
CheckRoomCTarget
(
agv
,
EmptyShelfPlace
))
//被占用
...
...
@@ -242,7 +242,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
AGVManager
.
MoveToRoomCStandy
(
agv
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -253,7 +253,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirIn
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -267,7 +267,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_REACH_TEMP_PLACE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY1
,
CurTaskState
)
||
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY2
,
CurTaskState
))
{
if
(!
AGVManager
.
CheckRoomCTarget
(
agv
,
EmptyShelfPlace
))
//未占用
...
...
@@ -282,7 +282,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_AGV_REACH_4D_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorCToD
,
CurTaskState
))
{
jobStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
ASSIGN_AGV_TASK
);
...
...
@@ -301,7 +301,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
EmptyShelfPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -323,7 +323,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_REACH_PLACE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
EmptyShelfPlace
,
CurTaskState
))
{
//if (EmptyShelfPlace.Equals(SettingString.C4FeederOut))
...
...
@@ -374,7 +374,7 @@ namespace DeviceLibrary
jobStep
.
Msg
=
msg
;
//agv.RFID = node.RFID;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Enter
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -385,7 +385,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_TAKE_EMPTY_SHELF
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Enter
,
CurTaskState
))
{
ClientNode
node
=
AGVManager
.
nodeInfo
[
nodeIdx
];
...
...
DeviceLibrary/bean/job/GoFullShelfStationJob.cs
查看文件 @
0e94e3e
...
...
@@ -32,7 +32,7 @@ namespace DeviceLibrary
/// </summary>
public
override
string
RunInfo
{
get
{
return
string
.
Format
(
"接满料任务[{0}]
[{1}]:{2}"
,
CurTaskID
,
CurTaskState
,
runInfo
);
}
get
{
return
string
.
Format
(
"接满料任务[{0}]
:{1}"
,
CurTaskID
,
runInfo
);
}
}
/// <summary>
...
...
@@ -55,11 +55,11 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
CheckShelf
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
jobStep
.
IsStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT_CHECK_RESULT
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
CheckShelf
,
CurTaskState
))
{
if
(
agv
.
IsExistShelf
)
...
...
@@ -79,7 +79,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
FullShelfStationPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
AGVManager
.
CheckIsInAirDoor
(
agvPlace
))
{
...
...
@@ -88,7 +88,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirOut
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
if
(
agvPlace
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
//4C车间
{
...
...
@@ -97,7 +97,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -106,7 +106,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
FullShelfStationPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -115,7 +115,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT_AGV_REACH_AIR_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorAirOut
,
CurTaskState
))
{
jobStep
.
ToNextStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT_AGV_REACH_DOOR
);
...
...
@@ -123,13 +123,13 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT_AGV_REACH_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorCToD
,
CurTaskState
))
{
jobStep
.
ToNextStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT_AGV_REACH_A6
);
...
...
@@ -137,13 +137,13 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
FullShelfStationPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT_AGV_REACH_A6
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
FullShelfStationPlace
,
CurTaskState
))
{
ClientNode
node
=
AGVManager
.
nodeInfo
.
Find
(
s
=>
s
.
Name
.
Equals
(
SettingString
.
A6
)
...
...
@@ -180,7 +180,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
...
...
@@ -190,7 +190,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT_REACH_STANDBY
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Standby
,
CurTaskState
))
{
jobStep
.
ToNextStep
(
GO_FULL_SHELF_STATION_STEP
.
END
);
...
...
@@ -219,7 +219,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Enter
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -232,7 +232,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
GO_FULL_SHELF_STATION_STEP
.
WAIT__FULL_SHELF_IN_AGV
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Enter
,
CurTaskState
))
{
...
...
DeviceLibrary/bean/job/SendFullShelfToLineJob.cs
查看文件 @
0e94e3e
...
...
@@ -40,7 +40,7 @@ namespace DeviceLibrary
/// </summary>
public
override
string
RunInfo
{
get
{
return
string
.
Format
(
"送满料任务[RFID={0}][{1}]
[{2}]:{3}"
,
RFID
,
CurTaskID
,
CurTaskState
,
runInfo
);
}
get
{
return
string
.
Format
(
"送满料任务[RFID={0}][{1}]
:{2}"
,
RFID
,
CurTaskID
,
runInfo
);
}
}
...
...
@@ -61,7 +61,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorDToC
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -70,13 +70,13 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
FullShelfPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorDToC
,
CurTaskState
))
{
if
(
AGVManager
.
CheckRoomCTarget
(
agv
,
FullShelfPlace
))
//被占用
...
...
@@ -86,7 +86,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
AGVManager
.
MoveToRoomCStandy
(
agv
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -97,7 +97,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirIn
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -106,7 +106,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
FullShelfPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -114,7 +114,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_AIR_DOOR
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorAirIn
,
CurTaskState
))
{
jobStep
.
ToNextStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_LINE
);
...
...
@@ -122,12 +122,12 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
FullShelfPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
jobStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT_REACH_TEMP_PLACE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY1
,
CurTaskState
)
||
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY2
,
CurTaskState
))
{
if
(!
AGVManager
.
CheckRoomCTarget
(
agv
,
FullShelfPlace
))
//未占用
...
...
@@ -139,7 +139,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorAirIn
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -148,14 +148,14 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
FullShelfPlace
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
}
}
else
if
(
jobStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_LINE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
FullShelfPlace
,
CurTaskState
))
{
//if (FullShelfPlace.Equals(SettingString.C4FeederIn))
...
...
@@ -222,7 +222,7 @@ namespace DeviceLibrary
msg
+=
string
.
Format
(
"[{0}] {1}"
,
jobStep
.
CurStep
(),
runInfo
);
jobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Leave
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -246,7 +246,7 @@ namespace DeviceLibrary
}
else
if
(
jobStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT__SHELF_IN_LINE
))
{
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
MissionSys
.
CheckTaskFinished
(
agv
,
SettingString
.
Leave
,
CurTaskState
))
{
runInfo
=
"满料进入"
+
FullShelfPlace
+
"完成["
+
agv
.
BoxDestInfo
+
"]"
;
...
...
DeviceLibrary/bean/job/StandyJob.cs
查看文件 @
0e94e3e
...
...
@@ -43,7 +43,7 @@ namespace DeviceLibrary
bool
rtn
=
false
;
agv
.
Msg
=
""
;
CurTaskState
=
MissionSys
.
GetTakJobState
(
CurTaskID
);
CurTaskState
=
MissionSys
.
GetTakJobState
(
agv
);
if
(
curJobStep
.
IsStep
(
EXECUTE_STEP
.
NONE
))
{
if
(
agvPlace
.
Equals
(
SettingString
.
Standby
))
//在待机位不操作
...
...
@@ -61,7 +61,7 @@ namespace DeviceLibrary
msg
+=
runInfo
;
curJobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
DoorCToD
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
else
{
...
...
@@ -71,7 +71,7 @@ namespace DeviceLibrary
curJobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
...
...
@@ -86,7 +86,7 @@ namespace DeviceLibrary
curJobStep
.
Msg
=
msg
;
MissionSys
.
AssignMission
(
agv
,
SettingString
.
Standby
);
UpdateJobTaskInfo
(
agv
.
CurTarName
,
agv
.
CurTaskID
);
UpdateJobTaskInfo
(
agv
);
}
}
else
if
(
curJobStep
.
IsStep
(
EXECUTE_STEP
.
WAIT_REACH_STANDBY
))
...
...
DeviceLibrary/manager/AGVManager.cs
查看文件 @
0e94e3e
此文件的差异被折叠,
点击展开。
DeviceLibrary/manager/HttpManager.cs
查看文件 @
0e94e3e
...
...
@@ -43,13 +43,13 @@ namespace DeviceLibrary
if
(
workOrder
.
data
.
line
!=
null
)
{
string
tempLocation
=
workOrder
.
data
.
line
;
if
(
workOrder
.
data
.
line
.
Equals
(
"Feeder"
))
if
(
workOrder
.
data
.
line
.
Equals
(
"
3D
Feeder"
))
{
tempLocation
=
"FeederIn"
;
tempLocation
=
"
3D
FeederIn"
;
}
else
if
(
workOrder
.
data
.
line
.
Equals
(
"
4
CFeeder"
))
else
if
(
workOrder
.
data
.
line
.
Equals
(
"
3
CFeeder"
))
{
tempLocation
=
"
4
CFeederIn"
;
tempLocation
=
"
3
CFeederIn"
;
}
workOrder
.
data
.
line
=
tempLocation
;
woData
=
workOrder
.
data
;
...
...
@@ -106,7 +106,7 @@ namespace DeviceLibrary
{
if
(
rfid
.
Equals
(
""
)
||
rfid
.
Equals
(
"00"
))
return
false
;
string
itsHttp
=
AppConfigHelper
.
GetValue
(
SettingString
.
ITS
)
;
string
itsHttp
=
"http://"
+
AppConfigHelper
.
GetValue
(
SettingString
.
ITS
)+
"/ESMTCommonInterface/CommonService.asmx/VMIGetBoxDestInfo?boxRFID="
;
string
url
=
itsHttp
+
rfid
;
var
client
=
new
RestClient
(
url
)
{
Timeout
=
-
1
};
var
request
=
new
RestRequest
(
Method
.
GET
);
...
...
@@ -126,13 +126,13 @@ namespace DeviceLibrary
string
tempLocation
=
res
[
0
].
location
;
if
(
res
[
0
].
id
==
rfid
)
{
if
(
res
[
0
].
location
.
Equals
(
"Feeder"
))
if
(
res
[
0
].
location
.
Equals
(
"
3D
Feeder"
))
{
tempLocation
=
"FeederIn"
;
tempLocation
=
"
3D
FeederIn"
;
}
else
if
(
res
[
0
].
location
.
Equals
(
"
4
CFeeder"
))
else
if
(
res
[
0
].
location
.
Equals
(
"
3
CFeeder"
))
{
tempLocation
=
"
4
CFeederIn"
;
tempLocation
=
"
3
CFeederIn"
;
}
if
(
AGVManager
.
GetNodeNameByLineName
(
tempLocation
,
out
string
loc
))
...
...
@@ -219,15 +219,15 @@ namespace DeviceLibrary
//Host: 10.85.17.233
AGVManager
.
GetLineNameByNodeName
(
nodeName
,
out
string
lineName
);
if
(
lineName
.
Equals
(
"FeederIn"
))
if
(
lineName
.
Equals
(
"
3D
FeederIn"
))
{
lineName
=
"Feeder"
;
lineName
=
"
3D
Feeder"
;
}
else
if
(
lineName
.
Equals
(
"
4
CFeederIn"
))
else
if
(
lineName
.
Equals
(
"
3
CFeederIn"
))
{
lineName
=
"
4
CFeeder"
;
lineName
=
"
3
CFeeder"
;
}
string
addr
=
"http://
10.85.17.233
/ESMTCommonInterface/CommonService.asmx/UpdateStatusBy?id="
+
rfid
+
"&location="
+
lineName
;
string
addr
=
"http://
"
+
AppConfigHelper
.
GetValue
(
SettingString
.
ITS
)
+
"
/ESMTCommonInterface/CommonService.asmx/UpdateStatusBy?id="
+
rfid
+
"&location="
+
lineName
;
//[{"msg":"1更新成功"}]
try
{
...
...
@@ -267,7 +267,7 @@ namespace DeviceLibrary
lineName
=
""
;
//GET /ESMTCommonInterface/CommonService.asmx/GetRackBy?id=string HTTP/1.1
//Host: 10.85.17.233
string
addr
=
"http://
10.85.17.233
/ESMTCommonInterface/CommonService.asmx/GetRackBy?id="
+
rfid
;
string
addr
=
"http://
"
+
AppConfigHelper
.
GetValue
(
SettingString
.
ITS
)+
"
/ESMTCommonInterface/CommonService.asmx/GetRackBy?id="
+
rfid
;
//[{"msg":"1OKD1"}]
//[{"msg":"0NGFeeder"}]
try
...
...
@@ -301,7 +301,7 @@ namespace DeviceLibrary
{
//GET /ESMTCommonInterface/CommonService.asmx/GetRackBy?id=string HTTP/1.1
//Host: 10.85.17.233
string
addr
=
"http://10.85.
17.233
/ESMTCommonInterface/CommonService.asmx/GetRackBy?id="
+
rfid
;
string
addr
=
"http://10.85.
71.25
/ESMTCommonInterface/CommonService.asmx/GetRackBy?id="
+
rfid
;
//[{"msg":"1OKD1"}]
//[{"msg":"0NGFeeder"}]
try
...
...
@@ -347,6 +347,7 @@ namespace DeviceLibrary
string
msg
=
""
;
try
{
if
(
msgList
.
Count
.
Equals
(
0
))
return
""
;
Dictionary
<
string
,
string
>
paramMap
=
new
Dictionary
<
string
,
string
>();
string
msgListStr
=
JsonHelper
.
SerializeObject
(
msgList
);
paramMap
.
Add
(
"deviceAlarmList"
,
msgListStr
);
...
...
@@ -390,40 +391,40 @@ namespace DeviceLibrary
return
path
;
}
public
static
string
Add_emptyMsg
=
"http://10.85.199.1
/BenQMIR/Webservice/AGVService.asmx/CreateEmptyRecycleTask"
;
public
static
string
CreateEmptyTask
()
{
try
{
Dictionary
<
string
,
string
>
paramMap
=
new
Dictionary
<
string
,
string
>();
paramMap
.
Add
(
"emptyStation"
,
"D1"
);
string
path
=
Add_emptyMsg
+
"?"
;
foreach
(
string
paramName
in
paramMap
.
Keys
)
{
string
par
=
System
.
Web
.
HttpUtility
.
UrlEncode
(
paramMap
[
paramName
],
System
.
Text
.
Encoding
.
UTF8
);
path
+=
paramName
+
"="
+
par
+
"&"
;
}
path
=
path
.
Substring
(
0
,
path
.
Length
-
1
);
string
resultStr
=
HttpHelper
.
Post
(
path
,
""
);
log
.
Debug
(
"【"
+
path
+
"】【"
+
resultStr
+
"】"
);
Result
data
=
JsonHelper
.
DeserializeJsonToObject
<
Result
>(
resultStr
);
if
(
data
==
null
)
{
return
" updateDeviceAlarmMsg 没有收到服务器反馈"
;
}
else
{
return
data
.
Succeed
.
ToString
();
}
}
catch
(
Exception
e
)
{
return
e
.
ToString
();
}
}
//public static string Add_emptyMsg = "http://10.85.197.3
/BenQMIR/Webservice/AGVService.asmx/CreateEmptyRecycleTask";
//
public static string CreateEmptyTask()
//
{
//
try
//
{
//
Dictionary<string, string> paramMap = new Dictionary<string, string>();
//
paramMap.Add("emptyStation", "D1");
//
string path = Add_emptyMsg + "?";
//
foreach (string paramName in paramMap.Keys)
//
{
//
string par = System.Web.HttpUtility.UrlEncode(paramMap[paramName], System.Text.Encoding.UTF8);
//
path += paramName + "=" + par + "&";
//
}
//
path = path.Substring(0, path.Length - 1);
//
string resultStr = HttpHelper.Post(path, "");
//
log.Debug("【" + path + "】【" + resultStr + "】");
//
Result data = JsonHelper.DeserializeJsonToObject<Result>(resultStr);
//
if (data == null)
//
{
//
return " updateDeviceAlarmMsg 没有收到服务器反馈";
//
}
//
else
//
{
//
return data.Succeed.ToString();
//
}
//
}
//
catch (Exception e)
//
{
//
return e.ToString();
//
}
//
}
/// <summary>
/// 获取接驳台料架情况
...
...
@@ -436,11 +437,11 @@ namespace DeviceLibrary
if
(
lineName
.
StartsWith
(
SettingString
.
RoomD_Name_Prefix
))
{
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
4
D_Light
),
lineName
);
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
3
D_Light
),
lineName
);
}
else
if
(
lineName
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
{
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
4
C_Light
),
lineName
);
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
3
C_Light
),
lineName
);
}
try
{
...
...
@@ -477,11 +478,11 @@ namespace DeviceLibrary
if
(
lineName
.
StartsWith
(
SettingString
.
RoomD_Name_Prefix
))
{
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
4
D_Light
),
lineName
);
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
3
D_Light
),
lineName
);
}
else
if
(
lineName
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
{
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
4
C_Light
),
lineName
);
addr
=
string
.
Format
(
"http://{0}/LineGetRFID?line={1}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
3
C_Light
),
lineName
);
}
try
{
...
...
@@ -520,17 +521,18 @@ namespace DeviceLibrary
/// <param name="lineName"></param>
/// <param name="rfid"></param>
/// <returns></returns>
public
static
bool
ClearRFID
(
string
lin
eName
,
string
rfid
)
public
static
bool
ClearRFID
(
string
nod
eName
,
string
rfid
)
{
string
addr
=
""
;
if
(
lineName
.
StartsWith
(
SettingString
.
RoomD_Name_Prefix
))
string
lineName
=
""
;
if
(
nodeName
.
StartsWith
(
SettingString
.
RoomD_Name_Prefix
)
&&
AGVManager
.
GetLineNameByNodeName
(
nodeName
,
out
lineName
))
{
addr
=
string
.
Format
(
"http://{0}/LineClearRFID?line={1}&rfid={2}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
4
D_Light
),
lineName
,
rfid
);
addr
=
string
.
Format
(
"http://{0}/LineClearRFID?line={1}&rfid={2}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
3
D_Light
),
lineName
,
rfid
);
}
else
if
(
lineName
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
))
else
if
(
nodeName
.
StartsWith
(
SettingString
.
RoomC_Name_Prefix
)
&&
AGVManager
.
GetLineNameByNodeName
(
nodeName
,
out
lineName
))
{
addr
=
string
.
Format
(
"http://{0}/LineClearRFID?line={1}&rfid={2}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
4
C_Light
),
lineName
,
rfid
);
addr
=
string
.
Format
(
"http://{0}/LineClearRFID?line={1}&rfid={2}"
,
AppConfigHelper
.
GetValue
(
SettingString
.
IP_
3
C_Light
),
lineName
,
rfid
);
}
try
{
...
...
DeviceLibrary/unlock/LineWebService.cs
查看文件 @
0e94e3e
...
...
@@ -58,9 +58,9 @@ namespace DeviceLibrary
res
=
new
Result
()
{
Succeed
=
false
,
ResultData
=
null
,
ErrorMessage
=
"emptyStation =null "
};
else
{
if
(
emptyStation
.
Equals
(
"Feeder"
))
if
(
emptyStation
.
Equals
(
"
3D
Feeder"
))
{
emptyStation
=
"FeederOut"
;
emptyStation
=
"
3D
FeederOut"
;
}
else
if
(
emptyStation
.
Equals
(
"3CFeeder"
))
{
...
...
@@ -107,9 +107,9 @@ namespace DeviceLibrary
public
string
CreateEmptyRecycleTaskGET
(
string
line
,
string
RFID
)
{
Result
res
;
if
(
line
.
Equals
(
"Feeder"
))
if
(
line
.
Equals
(
"
3D
Feeder"
))
{
line
=
"FeederOut"
;
line
=
"
3D
FeederOut"
;
}
else
if
(
line
.
Equals
(
"3CFeeder"
))
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论