Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
Qisda-SO1037-AGVDispatch
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 132ba046
由
张东亮
编写于
2022-03-07 14:59:14 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
添加调试状态
1 个父辈
685b768b
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
348 行增加
和
278 行删除
AGVDispatch/FrmMain.Designer.cs
AGVDispatch/FrmMain.cs
AGVDispatch/FrmMain.resx
AGVDispatch/Manual.Designer.cs
AGVDispatch/Manual.cs
Common/SettingString.cs
DeviceLibrary/Config/XmlConfigOperation.cs
DeviceLibrary/Config/agvinfos.xml
DeviceLibrary/bean/ChargePiles.cs
DeviceLibrary/bean/agv/Agv_Info.cs
DeviceLibrary/manager/HttpManager.cs
DeviceLibrary/manager/MissionManager.cs
DeviceLibrary/manager/UploadManager.cs
DeviceLibrary/service/Service.cs
DeviceLibrary/service/model/AgvState.cs
DeviceLibrary/service/model/MissionInfo.cs
AGVDispatch/FrmMain.Designer.cs
查看文件 @
132ba04
...
...
@@ -44,12 +44,13 @@
this
.
tblLayoutUnlock
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
dgvInfos
=
new
System
.
Windows
.
Forms
.
DataGridView
();
this
.
tabPage3
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
lblShow
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label12
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
groupBox2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
tabControlManual
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tableLayoutPanel4
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
flowLayoutPanel1
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
tabPage5
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
txtShow
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
tableLayoutPanel3
.
SuspendLayout
();
this
.
tabControl1
.
SuspendLayout
();
this
.
tabPage2
.
SuspendLayout
();
...
...
@@ -66,6 +67,7 @@
this
.
tabPage3
.
SuspendLayout
();
this
.
groupBox2
.
SuspendLayout
();
this
.
tableLayoutPanel4
.
SuspendLayout
();
this
.
tabPage5
.
SuspendLayout
();
this
.
SuspendLayout
();
//
// tableLayoutPanel3
...
...
@@ -91,6 +93,7 @@
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage1
);
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage4
);
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage3
);
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage5
);
this
.
tabControl1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
tabControl1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
418
);
this
.
tabControl1
.
Name
=
"tabControl1"
;
...
...
@@ -105,7 +108,7 @@
this
.
tabPage2
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
this
.
tabPage2
.
Name
=
"tabPage2"
;
this
.
tabPage2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage2
.
Size
=
new
System
.
Drawing
.
Size
(
1
756
,
347
);
this
.
tabPage2
.
Size
=
new
System
.
Drawing
.
Size
(
1
270
,
282
);
this
.
tabPage2
.
TabIndex
=
3
;
this
.
tabPage2
.
Text
=
"日志"
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
...
...
@@ -122,7 +125,7 @@
this
.
tableLayoutPanel1
.
Name
=
"tableLayoutPanel1"
;
this
.
tableLayoutPanel1
.
RowCount
=
1
;
this
.
tableLayoutPanel1
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
1
750
,
341
);
this
.
tableLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
1
264
,
276
);
this
.
tableLayoutPanel1
.
TabIndex
=
6
;
//
// richTextBox1
...
...
@@ -130,7 +133,7 @@
this
.
richTextBox1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
richTextBox1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
richTextBox1
.
Name
=
"richTextBox1"
;
this
.
richTextBox1
.
Size
=
new
System
.
Drawing
.
Size
(
1
744
,
335
);
this
.
richTextBox1
.
Size
=
new
System
.
Drawing
.
Size
(
1
258
,
270
);
this
.
richTextBox1
.
TabIndex
=
7
;
this
.
richTextBox1
.
Text
=
""
;
//
...
...
@@ -140,7 +143,7 @@
this
.
tabPage1
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
this
.
tabPage1
.
Name
=
"tabPage1"
;
this
.
tabPage1
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage1
.
Size
=
new
System
.
Drawing
.
Size
(
1
756
,
347
);
this
.
tabPage1
.
Size
=
new
System
.
Drawing
.
Size
(
1
270
,
282
);
this
.
tabPage1
.
TabIndex
=
0
;
this
.
tabPage1
.
Text
=
"节点状态"
;
this
.
tabPage1
.
UseVisualStyleBackColor
=
true
;
...
...
@@ -157,7 +160,7 @@
this
.
tableLayoutPanel2
.
Name
=
"tableLayoutPanel2"
;
this
.
tableLayoutPanel2
.
RowCount
=
1
;
this
.
tableLayoutPanel2
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel2
.
Size
=
new
System
.
Drawing
.
Size
(
1
750
,
341
);
this
.
tableLayoutPanel2
.
Size
=
new
System
.
Drawing
.
Size
(
1
264
,
276
);
this
.
tableLayoutPanel2
.
TabIndex
=
34
;
//
// DgvNode
...
...
@@ -178,7 +181,7 @@
this
.
DgvNode
.
RowHeadersVisible
=
false
;
this
.
DgvNode
.
RowHeadersWidth
=
50
;
this
.
DgvNode
.
RowTemplate
.
Height
=
23
;
this
.
DgvNode
.
Size
=
new
System
.
Drawing
.
Size
(
1
744
,
335
);
this
.
DgvNode
.
Size
=
new
System
.
Drawing
.
Size
(
1
258
,
270
);
this
.
DgvNode
.
TabIndex
=
1
;
this
.
DgvNode
.
CellContentClick
+=
new
System
.
Windows
.
Forms
.
DataGridViewCellEventHandler
(
this
.
DgvNode_CellClick
);
//
...
...
@@ -187,7 +190,7 @@
this
.
tabPage4
.
Controls
.
Add
(
this
.
groupBox1
);
this
.
tabPage4
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
this
.
tabPage4
.
Name
=
"tabPage4"
;
this
.
tabPage4
.
Size
=
new
System
.
Drawing
.
Size
(
1
756
,
347
);
this
.
tabPage4
.
Size
=
new
System
.
Drawing
.
Size
(
1
270
,
282
);
this
.
tabPage4
.
TabIndex
=
4
;
this
.
tabPage4
.
Text
=
"任务信息"
;
this
.
tabPage4
.
UseVisualStyleBackColor
=
true
;
...
...
@@ -201,7 +204,7 @@
this
.
groupBox1
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
2
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
2
);
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
1
756
,
347
);
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
1
270
,
282
);
this
.
groupBox1
.
TabIndex
=
34
;
this
.
groupBox1
.
TabStop
=
false
;
//
...
...
@@ -216,8 +219,8 @@
this
.
tableLayoutPanel5
.
Name
=
"tableLayoutPanel5"
;
this
.
tableLayoutPanel5
.
RowCount
=
1
;
this
.
tableLayoutPanel5
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel5
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Absolute
,
326
F
));
this
.
tableLayoutPanel5
.
Size
=
new
System
.
Drawing
.
Size
(
1
752
,
326
);
this
.
tableLayoutPanel5
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Absolute
,
261
F
));
this
.
tableLayoutPanel5
.
Size
=
new
System
.
Drawing
.
Size
(
1
266
,
261
);
this
.
tableLayoutPanel5
.
TabIndex
=
2
;
//
// grpUnlock
...
...
@@ -227,7 +230,7 @@
this
.
grpUnlock
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
grpUnlock
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
grpUnlock
.
Name
=
"grpUnlock"
;
this
.
grpUnlock
.
Size
=
new
System
.
Drawing
.
Size
(
1
746
,
320
);
this
.
grpUnlock
.
Size
=
new
System
.
Drawing
.
Size
(
1
260
,
255
);
this
.
grpUnlock
.
TabIndex
=
4
;
this
.
grpUnlock
.
TabStop
=
false
;
this
.
grpUnlock
.
Text
=
"任务信息"
;
...
...
@@ -244,7 +247,7 @@
this
.
tblLayoutUnlock
.
Name
=
"tblLayoutUnlock"
;
this
.
tblLayoutUnlock
.
RowCount
=
1
;
this
.
tblLayoutUnlock
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tblLayoutUnlock
.
Size
=
new
System
.
Drawing
.
Size
(
1
740
,
298
);
this
.
tblLayoutUnlock
.
Size
=
new
System
.
Drawing
.
Size
(
1
254
,
233
);
this
.
tblLayoutUnlock
.
TabIndex
=
1
;
//
// dgvInfos
...
...
@@ -258,13 +261,12 @@
this
.
dgvInfos
.
ReadOnly
=
true
;
this
.
dgvInfos
.
RowHeadersVisible
=
false
;
this
.
dgvInfos
.
RowTemplate
.
Height
=
23
;
this
.
dgvInfos
.
Size
=
new
System
.
Drawing
.
Size
(
1
734
,
292
);
this
.
dgvInfos
.
Size
=
new
System
.
Drawing
.
Size
(
1
248
,
227
);
this
.
dgvInfos
.
TabIndex
=
0
;
this
.
dgvInfos
.
CellContentClick
+=
new
System
.
Windows
.
Forms
.
DataGridViewCellEventHandler
(
this
.
dgvInfos_CellContentClick
);
//
// tabPage3
//
this
.
tabPage3
.
Controls
.
Add
(
this
.
lblShow
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
label12
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
groupBox2
);
this
.
tabPage3
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
...
...
@@ -275,15 +277,6 @@
this
.
tabPage3
.
Text
=
"手动"
;
this
.
tabPage3
.
UseVisualStyleBackColor
=
true
;
//
// lblShow
//
this
.
lblShow
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Left
;
this
.
lblShow
.
Location
=
new
System
.
Drawing
.
Point
(
253
,
3
);
this
.
lblShow
.
Name
=
"lblShow"
;
this
.
lblShow
.
Size
=
new
System
.
Drawing
.
Size
(
420
,
276
);
this
.
lblShow
.
TabIndex
=
47
;
this
.
lblShow
.
Text
=
resources
.
GetString
(
"lblShow.Text"
);
//
// label12
//
this
.
label12
.
BackColor
=
System
.
Drawing
.
Color
.
FromArgb
(((
int
)(((
byte
)(
255
)))),
((
int
)(((
byte
)(
224
)))),
((
int
)(((
byte
)(
192
)))));
...
...
@@ -293,18 +286,19 @@
this
.
label12
.
Size
=
new
System
.
Drawing
.
Size
(
250
,
276
);
this
.
label12
.
TabIndex
=
46
;
this
.
label12
.
Text
=
"说明:\r\n·小车/任务状态:\r\n Wait=已发送任务,还未获取到最新状态\r\n Executing=正在执行任务\r\n None=空闲状态\r\n "
+
" Done=任务完成\r\n Aborted=任务中止\r\n Unknown=软件获取小车状态失败\r\n\r\n"
;
" Done=任务完成\r\n Aborted=任务中止\r\n Unknown=软件获取小车状态失败\r\n·小车调试状态\r\n 开启时,小车只会执行充电或待机"
+
"任务。\r\n 关闭时,AGV可以正常执行任务"
;
//
// groupBox2
//
this
.
groupBox2
.
BackColor
=
System
.
Drawing
.
Color
.
FromArgb
(((
int
)(((
byte
)(
128
)))),
((
int
)(((
byte
)(
255
)))),
((
int
)(((
byte
)(
255
)))));
this
.
groupBox2
.
Controls
.
Add
(
this
.
tabControlManual
);
this
.
groupBox2
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Right
;
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
83
9
,
3
);
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
83
8
,
3
);
this
.
groupBox2
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
2
);
this
.
groupBox2
.
Name
=
"groupBox2"
;
this
.
groupBox2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
2
);
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
42
8
,
276
);
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
42
9
,
276
);
this
.
groupBox2
.
TabIndex
=
32
;
this
.
groupBox2
.
TabStop
=
false
;
this
.
groupBox2
.
Text
=
"小车操作"
;
...
...
@@ -315,7 +309,7 @@
this
.
tabControlManual
.
Location
=
new
System
.
Drawing
.
Point
(
2
,
16
);
this
.
tabControlManual
.
Name
=
"tabControlManual"
;
this
.
tabControlManual
.
SelectedIndex
=
0
;
this
.
tabControlManual
.
Size
=
new
System
.
Drawing
.
Size
(
42
4
,
258
);
this
.
tabControlManual
.
Size
=
new
System
.
Drawing
.
Size
(
42
5
,
258
);
this
.
tabControlManual
.
TabIndex
=
0
;
//
// tableLayoutPanel4
...
...
@@ -342,6 +336,25 @@
this
.
flowLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
1274
,
405
);
this
.
flowLayoutPanel1
.
TabIndex
=
0
;
//
// tabPage5
//
this
.
tabPage5
.
Controls
.
Add
(
this
.
txtShow
);
this
.
tabPage5
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
this
.
tabPage5
.
Name
=
"tabPage5"
;
this
.
tabPage5
.
Size
=
new
System
.
Drawing
.
Size
(
1270
,
282
);
this
.
tabPage5
.
TabIndex
=
5
;
this
.
tabPage5
.
Text
=
"AGV定时上报内容"
;
this
.
tabPage5
.
UseVisualStyleBackColor
=
true
;
//
// txtShow
//
this
.
txtShow
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
txtShow
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
0
);
this
.
txtShow
.
Multiline
=
true
;
this
.
txtShow
.
Name
=
"txtShow"
;
this
.
txtShow
.
Size
=
new
System
.
Drawing
.
Size
(
1270
,
282
);
this
.
txtShow
.
TabIndex
=
0
;
//
// FrmMain
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
...
...
@@ -370,6 +383,8 @@
this
.
tabPage3
.
ResumeLayout
(
false
);
this
.
groupBox2
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel4
.
ResumeLayout
(
false
);
this
.
tabPage5
.
ResumeLayout
(
false
);
this
.
tabPage5
.
PerformLayout
();
this
.
ResumeLayout
(
false
);
}
...
...
@@ -395,7 +410,8 @@
private
System
.
Windows
.
Forms
.
GroupBox
grpUnlock
;
private
System
.
Windows
.
Forms
.
TableLayoutPanel
tblLayoutUnlock
;
private
System
.
Windows
.
Forms
.
DataGridView
dgvInfos
;
private
System
.
Windows
.
Forms
.
Label
lblShow
;
private
System
.
Windows
.
Forms
.
TabPage
tabPage5
;
private
System
.
Windows
.
Forms
.
TextBox
txtShow
;
}
}
AGVDispatch/FrmMain.cs
查看文件 @
132ba04
...
...
@@ -110,7 +110,6 @@ namespace AGVControl
//托盘控件
notify
=
new
NotifyIcon
{
Icon
=
Icon
,
Visible
=
true
,
ContextMenuStrip
=
notifyMenu
,
Text
=
Text
};
notify
.
MouseDoubleClick
+=
Notify_MouseDoubleClick
;
ShowConfig
();
NodeManager
.
RegisEvent
(
Server_NodeChanged
,
Server_NodeOnline
);
}
...
...
@@ -156,7 +155,7 @@ namespace AGVControl
Invoke
(
new
Action
(()
=>
{
lbl
Show
.
Text
=
DeviceLibrary
.
HttpManager
.
Agvtransinfo
;
txt
Show
.
Text
=
DeviceLibrary
.
HttpManager
.
Agvtransinfo
;
}));
...
...
@@ -191,23 +190,10 @@ namespace AGVControl
LogUtil
.
logBox
=
this
.
richTextBox1
;
}
}
int
missionCurRow
=
0
,
missionCurColum
=
0
;
private
void
dgvInfos_CellContentClick
(
object
sender
,
DataGridViewCellEventArgs
e
)
{
if
(
e
.
RowIndex
==
-
1
)
return
;
missionCurColum
=
e
.
ColumnIndex
;
missionCurRow
=
e
.
RowIndex
;
}
private
void
dgvInfos_CellContentClick_1
(
object
sender
,
DataGridViewCellEventArgs
e
)
{
}
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
{
HttpManager
.
UpdateStatusToLift
(
new
DeviceLibrary
.
lift
.
ClientStatus
()
{
liftId
=
"D2"
,
sourceClient
=
"4D"
,
hasIdleAgv
=
true
});
}
}
...
...
AGVDispatch/FrmMain.resx
查看文件 @
132ba04
...
...
@@ -117,9 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblShow.Text" xml:space="preserve">
<value>[2021-12-28 16:17:29,631][162][HttpManager:282]ERROR AgvReportState fail[http://10.85.17.233/ESMTCommonInterface/CommonService.asmx/UpdateAgvtransinfo]:[[{"agvNum":"2号车","workshop":"4D","battery":0,"position":{"Point":{"IsEmpty":true,"X":0.0,"Y":0.0},"orientation":0.0},"state":null,"missionId":null,"remark":null,"curTarget":null,"statusTxt":""},{"agvNum":"7号车","workshop":"4D","battery":0,"position":{"Point":{"IsEmpty":true,"X":0.0,"Y":0.0},"orientation":0.0},"state":null,"missionId":null,"remark":null,"curTarget":null,"statusTxt":""},{"agvNum":"17号车","workshop":"3D","battery":0,"position":{"Point":{"IsEmpty":true,"X":0.0,"Y":0.0},"orientation":0.0},"state":null,"missionId":null,"remark":null,"curTarget":null,"statusTxt":""}]][]</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
...
...
AGVDispatch/Manual.Designer.cs
查看文件 @
132ba04
...
...
@@ -33,28 +33,29 @@
this
.
panelInfo
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
lblInfo
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
grpBxRunMode
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
btnAssignTask
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
chkBxAuto
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
cmbBxMission
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
btnReSendTask
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
grpBxOperation
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
flowLayoutPanel1
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
btnReady
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnPause
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnClearErr
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAssignTask
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
cmbBxMission
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
tableLayoutPanel1
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
flowLayoutPanel2
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
flowLayoutPanel3
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
pictureBox1
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
pictureBox2
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
pictureBox3
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
pictureBox4
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
flowLayoutPanel3
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
pictureBox5
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
pictureBox6
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
pictureBox7
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
pictureBox8
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
chkDebug
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
panelInfo
.
SuspendLayout
();
this
.
grpBxRunMode
.
SuspendLayout
();
this
.
grpBxOperation
.
SuspendLayout
();
...
...
@@ -62,11 +63,11 @@
this
.
groupBox1
.
SuspendLayout
();
this
.
tableLayoutPanel1
.
SuspendLayout
();
this
.
flowLayoutPanel2
.
SuspendLayout
();
this
.
flowLayoutPanel3
.
SuspendLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox1
)).
BeginInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox2
)).
BeginInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox3
)).
BeginInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox4
)).
BeginInit
();
this
.
flowLayoutPanel3
.
SuspendLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox5
)).
BeginInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox6
)).
BeginInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox7
)).
BeginInit
();
...
...
@@ -96,9 +97,8 @@
//
// grpBxRunMode
//
this
.
grpBxRunMode
.
Controls
.
Add
(
this
.
btnAssignTask
);
this
.
grpBxRunMode
.
Controls
.
Add
(
this
.
chkDebug
);
this
.
grpBxRunMode
.
Controls
.
Add
(
this
.
chkBxAuto
);
this
.
grpBxRunMode
.
Controls
.
Add
(
this
.
cmbBxMission
);
this
.
grpBxRunMode
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Top
;
this
.
grpBxRunMode
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Bold
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
grpBxRunMode
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
43
);
...
...
@@ -108,10 +108,20 @@
this
.
grpBxRunMode
.
TabStop
=
false
;
this
.
grpBxRunMode
.
Text
=
"模式选择"
;
//
// btnAssignTask
//
this
.
btnAssignTask
.
Location
=
new
System
.
Drawing
.
Point
(
168
,
70
);
this
.
btnAssignTask
.
Name
=
"btnAssignTask"
;
this
.
btnAssignTask
.
Size
=
new
System
.
Drawing
.
Size
(
88
,
35
);
this
.
btnAssignTask
.
TabIndex
=
1
;
this
.
btnAssignTask
.
Text
=
"发任务"
;
this
.
btnAssignTask
.
UseVisualStyleBackColor
=
true
;
this
.
btnAssignTask
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAssignTask_Click
);
//
// chkBxAuto
//
this
.
chkBxAuto
.
AutoSize
=
true
;
this
.
chkBxAuto
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
20
);
this
.
chkBxAuto
.
Location
=
new
System
.
Drawing
.
Point
(
18
,
20
);
this
.
chkBxAuto
.
Name
=
"chkBxAuto"
;
this
.
chkBxAuto
.
Size
=
new
System
.
Drawing
.
Size
(
76
,
16
);
this
.
chkBxAuto
.
TabIndex
=
0
;
...
...
@@ -119,6 +129,16 @@
this
.
chkBxAuto
.
UseVisualStyleBackColor
=
true
;
this
.
chkBxAuto
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chkBxAuto_CheckedChanged
);
//
// cmbBxMission
//
this
.
cmbBxMission
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Bold
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
cmbBxMission
.
FormattingEnabled
=
true
;
this
.
cmbBxMission
.
ItemHeight
=
14
;
this
.
cmbBxMission
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
70
);
this
.
cmbBxMission
.
Name
=
"cmbBxMission"
;
this
.
cmbBxMission
.
Size
=
new
System
.
Drawing
.
Size
(
159
,
22
);
this
.
cmbBxMission
.
TabIndex
=
0
;
//
// btnReSendTask
//
this
.
btnReSendTask
.
Location
=
new
System
.
Drawing
.
Point
(
285
,
3
);
...
...
@@ -136,7 +156,7 @@
this
.
grpBxOperation
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Bold
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
grpBxOperation
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
93
);
this
.
grpBxOperation
.
Name
=
"grpBxOperation"
;
this
.
grpBxOperation
.
Size
=
new
System
.
Drawing
.
Size
(
390
,
92
);
this
.
grpBxOperation
.
Size
=
new
System
.
Drawing
.
Size
(
390
,
146
);
this
.
grpBxOperation
.
TabIndex
=
2
;
this
.
grpBxOperation
.
TabStop
=
false
;
this
.
grpBxOperation
.
Text
=
"操作"
;
...
...
@@ -147,10 +167,12 @@
this
.
flowLayoutPanel1
.
Controls
.
Add
(
this
.
btnPause
);
this
.
flowLayoutPanel1
.
Controls
.
Add
(
this
.
btnClearErr
);
this
.
flowLayoutPanel1
.
Controls
.
Add
(
this
.
btnReSendTask
);
this
.
flowLayoutPanel1
.
Controls
.
Add
(
this
.
cmbBxMission
);
this
.
flowLayoutPanel1
.
Controls
.
Add
(
this
.
btnAssignTask
);
this
.
flowLayoutPanel1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
flowLayoutPanel1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
17
);
this
.
flowLayoutPanel1
.
Name
=
"flowLayoutPanel1"
;
this
.
flowLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
384
,
72
);
this
.
flowLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
384
,
126
);
this
.
flowLayoutPanel1
.
TabIndex
=
0
;
//
// btnReady
...
...
@@ -186,30 +208,12 @@
this
.
btnClearErr
.
UseVisualStyleBackColor
=
false
;
this
.
btnClearErr
.
Click
+=
new
System
.
EventHandler
(
this
.
btnClearErr_Click
);
//
// btnAssignTask
//
this
.
btnAssignTask
.
Location
=
new
System
.
Drawing
.
Point
(
288
,
10
);
this
.
btnAssignTask
.
Name
=
"btnAssignTask"
;
this
.
btnAssignTask
.
Size
=
new
System
.
Drawing
.
Size
(
88
,
35
);
this
.
btnAssignTask
.
TabIndex
=
1
;
this
.
btnAssignTask
.
Text
=
"发任务"
;
this
.
btnAssignTask
.
UseVisualStyleBackColor
=
true
;
this
.
btnAssignTask
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAssignTask_Click
);
//
// cmbBxMission
//
this
.
cmbBxMission
.
FormattingEnabled
=
true
;
this
.
cmbBxMission
.
Location
=
new
System
.
Drawing
.
Point
(
102
,
16
);
this
.
cmbBxMission
.
Name
=
"cmbBxMission"
;
this
.
cmbBxMission
.
Size
=
new
System
.
Drawing
.
Size
(
159
,
20
);
this
.
cmbBxMission
.
TabIndex
=
0
;
//
// groupBox1
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
tableLayoutPanel1
);
this
.
groupBox1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Top
;
this
.
groupBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Bold
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
185
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
239
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
390
,
57
);
this
.
groupBox1
.
TabIndex
=
4
;
...
...
@@ -243,18 +247,6 @@
this
.
flowLayoutPanel2
.
Size
=
new
System
.
Drawing
.
Size
(
186
,
31
);
this
.
flowLayoutPanel2
.
TabIndex
=
0
;
//
// flowLayoutPanel3
//
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox5
);
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox6
);
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox7
);
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox8
);
this
.
flowLayoutPanel3
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
flowLayoutPanel3
.
Location
=
new
System
.
Drawing
.
Point
(
195
,
3
);
this
.
flowLayoutPanel3
.
Name
=
"flowLayoutPanel3"
;
this
.
flowLayoutPanel3
.
Size
=
new
System
.
Drawing
.
Size
(
186
,
31
);
this
.
flowLayoutPanel3
.
TabIndex
=
1
;
//
// pictureBox1
//
this
.
pictureBox1
.
Image
=
global
::
AGVDispatch
.
Properties
.
Resources
.
gray2
;
...
...
@@ -295,6 +287,18 @@
this
.
pictureBox4
.
TabIndex
=
3
;
this
.
pictureBox4
.
TabStop
=
false
;
//
// flowLayoutPanel3
//
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox5
);
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox6
);
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox7
);
this
.
flowLayoutPanel3
.
Controls
.
Add
(
this
.
pictureBox8
);
this
.
flowLayoutPanel3
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
flowLayoutPanel3
.
Location
=
new
System
.
Drawing
.
Point
(
195
,
3
);
this
.
flowLayoutPanel3
.
Name
=
"flowLayoutPanel3"
;
this
.
flowLayoutPanel3
.
Size
=
new
System
.
Drawing
.
Size
(
186
,
31
);
this
.
flowLayoutPanel3
.
TabIndex
=
1
;
//
// pictureBox5
//
this
.
pictureBox5
.
Image
=
global
::
AGVDispatch
.
Properties
.
Resources
.
gray2
;
...
...
@@ -340,11 +344,22 @@
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
// chkDebug
//
this
.
chkDebug
.
AutoSize
=
true
;
this
.
chkDebug
.
Location
=
new
System
.
Drawing
.
Point
(
157
,
17
);
this
.
chkDebug
.
Name
=
"chkDebug"
;
this
.
chkDebug
.
Size
=
new
System
.
Drawing
.
Size
(
76
,
16
);
this
.
chkDebug
.
TabIndex
=
1
;
this
.
chkDebug
.
Text
=
"调试模式"
;
this
.
chkDebug
.
UseVisualStyleBackColor
=
true
;
this
.
chkDebug
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chkDebug_CheckedChanged
);
//
// Manual
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Font
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
390
,
257
);
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
390
,
302
);
this
.
Controls
.
Add
(
this
.
groupBox1
);
this
.
Controls
.
Add
(
this
.
grpBxOperation
);
this
.
Controls
.
Add
(
this
.
grpBxRunMode
);
...
...
@@ -361,11 +376,11 @@
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel1
.
ResumeLayout
(
false
);
this
.
flowLayoutPanel2
.
ResumeLayout
(
false
);
this
.
flowLayoutPanel3
.
ResumeLayout
(
false
);
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox1
)).
EndInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox2
)).
EndInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox3
)).
EndInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox4
)).
EndInit
();
this
.
flowLayoutPanel3
.
ResumeLayout
(
false
);
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox5
)).
EndInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox6
)).
EndInit
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
pictureBox7
)).
EndInit
();
...
...
@@ -401,5 +416,6 @@
private
System
.
Windows
.
Forms
.
PictureBox
pictureBox7
;
private
System
.
Windows
.
Forms
.
PictureBox
pictureBox8
;
private
System
.
Windows
.
Forms
.
Timer
timer1
;
private
System
.
Windows
.
Forms
.
CheckBox
chkDebug
;
}
}
AGVDispatch/Manual.cs
查看文件 @
132ba04
...
...
@@ -21,13 +21,14 @@ namespace AGVControl
chkBxAuto
.
Checked
=
agv
.
Auto
;
btnReSendTask
.
Enabled
=
agv
.
Auto
;
btnAssignTask
.
Enabled
=
!
agv
.
Auto
;
chkDebug
.
Checked
=
agv
.
IsDebug
;
}
AgvInfo
Agv
;
private
bool
isIni
=
false
;
private
void
Manual_Load
(
object
sender
,
EventArgs
e
)
{
lblInfo
.
Text
=
string
.
Format
(
"[{0}]"
,
Agv
.
IP
);
AgvTaskManager
.
InitView
(
cmbBxMission
,
Agv
);
AgvTaskManager
.
InitView
(
cmbBxMission
,
Agv
);
InState
.
AddRange
(
new
PictureBox
[]
{
pictureBox1
,
pictureBox2
,
pictureBox3
,
pictureBox4
});
OutState
.
AddRange
(
new
PictureBox
[]
{
pictureBox5
,
pictureBox6
,
pictureBox7
,
pictureBox8
});
timer1
.
Enabled
=
true
;
...
...
@@ -43,11 +44,11 @@ namespace AGVControl
{
try
{
if
(
Agv
.
IOStatus
[
0
]
!=
null
&&
Agv
.
IOStatus
[
0
].
Inputs
!=
null
)
if
(
Agv
.
IOStatus
[
0
]
!=
null
&&
Agv
.
IOStatus
[
0
].
Inputs
!=
null
)
{
for
(
int
i
=
0
;
i
<
Agv
.
IOStatus
[
0
].
Inputs
.
Length
;
i
++)
{
if
(
Agv
.
GetInput
(
0
,
i
))
if
(
Agv
.
GetInput
(
0
,
i
))
{
InState
[
i
].
Image
=
AGVDispatch
.
Properties
.
Resources
.
green1
;
}
...
...
@@ -57,7 +58,7 @@ namespace AGVControl
}
}
}
if
(
Agv
.
IOStatus
[
0
]!=
null
&&
Agv
.
IOStatus
[
0
].
Inputs
!=
null
)
if
(
Agv
.
IOStatus
[
0
]
!=
null
&&
Agv
.
IOStatus
[
0
].
Inputs
!=
null
)
{
for
(
int
i
=
0
;
i
<
Agv
.
IOStatus
[
0
].
Inputs
.
Length
;
i
++)
{
...
...
@@ -71,7 +72,6 @@ namespace AGVControl
}
}
}
}
catch
{
}
}));
...
...
@@ -83,7 +83,7 @@ namespace AGVControl
{
if
(!
chkBxAuto
.
Checked
&&
!
Agv
.
JobContext
.
MissionId
.
Equals
(
""
))
{
if
(
MessageBox
.
Show
(
$
"正在执行任务[{Agv.JobContext.MissionId}],切到手动后该任务无法继续执行,确定切到手动状态?"
,
"警告"
,
MessageBoxButtons
.
YesNo
).
Equals
(
if
(
MessageBox
.
Show
(
$
"正在执行任务[{Agv.JobContext.MissionId}],切到手动后该任务无法继续执行,确定切到手动状态?"
,
"警告"
,
MessageBoxButtons
.
YesNo
).
Equals
(
DialogResult
.
No
))
{
chkBxAuto
.
Checked
=
true
;
...
...
@@ -104,7 +104,7 @@ namespace AGVControl
try
{
//Agv.CurJob != null && Agv.CurJob.JobParam != null &&
if
(
Agv
.
CurJob
.
JobParam
.
GetMissionInfo
()
!=
null
)
if
(
Agv
.
CurJob
.
JobParam
.
GetMissionInfo
()
!=
null
)
{
if
(
MessageBox
.
Show
(
$
"是否删除该任务[{Agv.JobContext.MissionId}]?"
,
"提示"
,
MessageBoxButtons
.
YesNo
).
Equals
(
DialogResult
.
Yes
))
{
...
...
@@ -120,7 +120,7 @@ namespace AGVControl
catch
{
}
//MiR_API.Del_Mission(Agv);
//添加Init任务
AgvTaskManager
.
AssignMission
(
Agv
,
$
"{SettingString.Init}"
);
AgvTaskManager
.
AssignMission
(
Agv
,
$
"{SettingString.Init}"
);
}
Agv
.
CurJob
=
null
;
Agv
.
JobContext
=
new
DeviceLibrary
.
bean
.
agv
.
JobContext
();
...
...
@@ -194,7 +194,7 @@ namespace AGVControl
{
if
(
Agv
.
IsCon
)
{
DeviceLibrary
.
AgvTask
task
=
AgvTaskManager
.
GetTaskByName
((
cmbBxMission
.
SelectedItem
as
DeviceLibrary
.
AgvTask
).
Name
,
Agv
);
DeviceLibrary
.
AgvTask
task
=
AgvTaskManager
.
GetTaskByName
((
cmbBxMission
.
SelectedItem
as
DeviceLibrary
.
AgvTask
).
Name
,
Agv
);
if
(
task
.
Type
.
Equals
(
TaskType
.
InOut
))
if
(
MessageBox
.
Show
(
"确定对小车发送进/出任务?"
,
Agv
.
Name
,
MessageBoxButtons
.
YesNo
)
==
DialogResult
.
No
)
return
;
...
...
@@ -214,5 +214,10 @@ namespace AGVControl
{
Close
();
}
private
void
chkDebug_CheckedChanged
(
object
sender
,
EventArgs
e
)
{
Agv
.
IsDebug
=
chkDebug
.
Checked
;
}
}
}
Common/SettingString.cs
查看文件 @
132ba04
...
...
@@ -66,6 +66,7 @@ namespace Common
public
const
string
Lift_Server
=
"Lift_Server"
;
public
const
string
AppIdentity
=
"AppIdentity"
;
public
const
string
Lift_Names
=
"Lift_Names"
;
public
const
string
IsDebug
=
"IsDebug"
;
#
endregion
}
...
...
DeviceLibrary/Config/XmlConfigOperation.cs
查看文件 @
132ba04
...
...
@@ -53,6 +53,7 @@ namespace DeviceLibrary.manager
agv_Info
.
UseFleet
=
bool
.
Parse
(
xnl0
.
Item
(
3
).
InnerText
);
agv_Info
.
FleetIP
=
xnl0
.
Item
(
4
).
InnerText
;
agv_Info
.
Authorization
=
xnl0
.
Item
(
5
).
InnerText
;
agv_Info
.
IsDebug
=
bool
.
Parse
(
xnl0
.
Item
(
6
).
InnerText
);
XmlNode
xnIO
=
xe
.
SelectSingleNode
(
"IO_GUIDs"
);
XmlNodeList
xnlios
=
xnIO
.
ChildNodes
;
foreach
(
XmlNode
item
in
xnlios
)
...
...
@@ -79,7 +80,18 @@ namespace DeviceLibrary.manager
selectXe
.
GetElementsByTagName
(
"Auto"
).
Item
(
0
).
InnerText
=
agv
.
Auto
.
ToString
();
xmlDoc
.
Save
(
File_AgvInfo
);
}
public
static
void
SetAgvIsDebug
(
AgvInfo
agv
)
{
if
(!
isLoadAgv
)
return
;
XmlDocument
xmlDoc
=
new
XmlDocument
();
xmlDoc
.
Load
(
File_AgvInfo
);
XmlElement
xe
=
xmlDoc
.
DocumentElement
;
// DocumentElement 获取xml文档对象的根XmlElement.
string
strPath
=
string
.
Format
(
"/agvs/agv[@ip=\"{0}\"]"
,
agv
.
IP
);
XmlElement
selectXe
=
(
XmlElement
)
xe
.
SelectSingleNode
(
strPath
);
//selectSingleNode 根据XPath表达式,获得符合条件的第一个节点.
//selectXe.SetAttribute("Type", dgvBookInfo.CurrentRow.Cells[0].Value.ToString());//也可以通过SetAttribute来增加一个属性
selectXe
.
GetElementsByTagName
(
"IsDebug"
).
Item
(
0
).
InnerText
=
agv
.
Auto
.
ToString
();
xmlDoc
.
Save
(
File_AgvInfo
);
}
public
static
void
LoadNodeInfos
(
List
<
Node
>
nodes
)
{
XmlDocument
doc
=
new
XmlDocument
();
...
...
DeviceLibrary/Config/agvinfos.xml
查看文件 @
132ba04
<?xml version="1.0" encoding="utf-8"?>
<agvs>
<agv
id=
"20"
ip=
"10.85.199.68"
>
<name>
2号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
4D
</Workshop>
<!--可执行的任务:
<agv
id=
"20"
ip=
"10.85.199.68"
>
<name>
2号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
4D
</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
...
...
@@ -19,29 +19,30 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>
PCB领用
</Task>
<Task>
半成品领用
</Task>
<Task>
Tray领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_D2
</Remark>
</Scope>
<!--是否自动-->
<Auto>
True
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.3
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"4"
ip=
"10.85.199.64"
>
<name>
17号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
3C
</Workshop>
<!--可执行的任务:
<Tasks>
<Task>
PCB领用
</Task>
<Task>
半成品领用
</Task>
<Task>
Tray领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_D2
</Remark>
</Scope>
<!--是否自动-->
<Auto>
True
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.3
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IsDebug>
false
</IsDebug>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"4"
ip=
"10.85.199.64"
>
<name>
17号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
3C
</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
...
...
@@ -55,28 +56,29 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>
包材领用
</Task>
<Task>
半成品领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_C1
</Remark>
</Scope>
<!--是否自动-->
<Auto>
True
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.140
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"132"
ip=
"10.85.199.132"
>
<name>
207号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
1F
</Workshop>
<!--可执行的任务:
<Tasks>
<Task>
包材领用
</Task>
<Task>
半成品领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_C1
</Remark>
</Scope>
<!--是否自动-->
<Auto>
True
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.140
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IsDebug>
false
</IsDebug>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"132"
ip=
"10.85.199.132"
>
<name>
207号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
1F
</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
...
...
@@ -90,37 +92,38 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>
包材领用
</Task>
<Task>
半成品领用
</Task>
<Task>
Tray领用
</Task>
<Task>
静电箱领用
</Task>
<Task>
PCB领用
</Task>
<Task>
空台车领用
</Task>
<Task>
空台车归还
</Task>
<Task>
成品入库
</Task>
<Task>
半成品入库
</Task>
<Task>
半成品入库与领用
</Task>
<Task>
垃圾清运
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_C1,LIFT_D2
</Remark>
</Scope>
<!--是否自动-->
<Auto>
True
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.132
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"19"
ip=
"10.85.199.19"
>
<name>
205号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
3D
</Workshop>
<!--可执行的任务:
<Tasks>
<Task>
包材领用
</Task>
<Task>
半成品领用
</Task>
<Task>
Tray领用
</Task>
<Task>
静电箱领用
</Task>
<Task>
PCB领用
</Task>
<Task>
空台车领用
</Task>
<Task>
空台车归还
</Task>
<Task>
成品入库
</Task>
<Task>
半成品入库
</Task>
<Task>
半成品入库与领用
</Task>
<Task>
垃圾清运
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_C1,LIFT_D2
</Remark>
</Scope>
<!--是否自动-->
<Auto>
True
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.132
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IsDebug>
false
</IsDebug>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"19"
ip=
"10.85.199.19"
>
<name>
205号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
3D
</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
...
...
@@ -134,27 +137,28 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>
PCB领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_D2
</Remark>
</Scope>
<!--是否自动-->
<Auto>
False
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.140
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"27"
ip=
"10.85.199.27"
>
<name>
201号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
4C
</Workshop>
<!--可执行的任务:
<Tasks>
<Task>
PCB领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_D2
</Remark>
</Scope>
<!--是否自动-->
<Auto>
False
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.140
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IsDebug>
false
</IsDebug>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"27"
ip=
"10.85.199.27"
>
<name>
201号车
</name>
<!--职责范围-->
<Scope>
<Workshop>
4C
</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
...
...
@@ -168,30 +172,31 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>
PCB领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_C1
</Remark>
</Scope>
<!--是否自动-->
<Auto>
False
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.3
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"7"
ip=
"10.85.199.73"
>
<name>
7号车
</name>
<!-- 职责范围 -->
<scope>
<workshop>
4d
</workshop>
<!--可执行的任务:
<Tasks>
<Task>
PCB领用
</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>
LIFT_C1
</Remark>
</Scope>
<!--是否自动-->
<Auto>
False
</Auto>
<UseFleet>
false
</UseFleet>
<FleetIp>
10.85.199.3
</FleetIp>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IsDebug>
false
</IsDebug>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
<agv
id=
"7"
ip=
"10.85.199.73"
>
<name>
7号车
</name>
<!-- 职责范围 -->
<scope>
<workshop>
4D
</workshop>
<!--可执行的任务:
无,
pcb
领用 = 1,
t
ray领用 = 2,
PCB
领用 = 1,
T
ray领用 = 2,
包材领用 = 4,
半成品领用,
静电箱领用,
...
...
@@ -200,22 +205,24 @@
成品入库,
半成品入库,
半成品入库与领用,
垃圾清运 -->
<tasks>
<task>
pcb领用
</task>
<task>
半成品领用
</task>
<task>
tray领用
</task>
</tasks>
<!-- 使用的电梯,多个电梯使用逗号隔开 -->
<remark>
lift_d2
</remark>
</scope>
<!-- 是否自动 -->
<auto>
false
</auto>
<usefleet>
false
</usefleet>
<fleetip>
10.85.199.3
</fleetip>
<authorization>
basic zglzdhjpynv0b3i6njjmmmywzjflzmyxmgqzmtuyyzk1zjzmmdu5nju3nmu0odjiyjhlndq4mdy0mznmngnmoti5nzkyodm0yjaxna==
</authorization>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
垃圾清运
-->
<tasks>
<task>
PCB领用
</task>
<task>
半成品领用
</task>
<task>
Tray领用
</task>
</tasks>
<!-- 使用的电梯,多个电梯使用逗号隔开 -->
<remark>
lift_d2
</remark>
</scope>
<!-- 是否自动 -->
<auto>
false
</auto>
<usefleet>
false
</usefleet>
<fleetip>
10.85.199.3
</fleetip>
<Authorization>
Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
</Authorization>
<IsDebug>
false
</IsDebug>
<IO_GUIDs>
<IO_GUID
index=
"0"
>
6ad07e3a-e0e9-11eb-a184-0001299981d4
</IO_GUID>
</IO_GUIDs>
</agv>
</agvs>
\ No newline at end of file
DeviceLibrary/bean/ChargePiles.cs
查看文件 @
132ba04
...
...
@@ -102,7 +102,7 @@ namespace DeviceLibrary.bean
else
//多个agv共享充电桩
{
if
(
Agvs
.
Contains
(
agv
.
IP
))
return
Occupied
;
return
!
Occupied
;
else
return
false
;
}
...
...
DeviceLibrary/bean/agv/Agv_Info.cs
查看文件 @
132ba04
...
...
@@ -97,7 +97,22 @@ namespace DeviceLibrary
/// 负载
/// </summary>
public
bool
IsExistShelf
{
set
;
get
;
}
=
false
;
private
bool
_isdebug
=
false
;
/// <summary>
/// 是否是调试状态,true时不执行新任务
/// </summary>
public
bool
IsDebug
{
set
{
if
(!
value
.
Equals
(
_isdebug
))
{
_isdebug
=
value
;
XmlConfigOperation
.
SetAgvIsDebug
(
this
);
}
}
get
{
return
_isdebug
;
}
}
/// <summary>
/// 电量百分比,(从小车获取)
/// </summary>
...
...
@@ -162,6 +177,8 @@ namespace DeviceLibrary
}
else
{
if
(
IsDebug
)
return
false
;
if
(
CurJob
==
null
||
((
CurJob
is
ChargeJob
||
CurJob
is
StandyJob
)
&&
!
IsExistShelf
))
return
true
;
else
...
...
@@ -271,7 +288,7 @@ namespace DeviceLibrary
{
bool
isChange
=
false
;
bool
preShelfState
=
IsExistShelf
;
bool
reachIoValue
=
GetInput
(
0
,
0
).
Equals
(
true
);
bool
reachIoValue
=
GetInput
(
0
,
3
).
Equals
(
true
);
if
(
reachIoValue
)
{
//满足给定的IO值,计算持续时间
...
...
@@ -335,7 +352,16 @@ namespace DeviceLibrary
public
void
SetKanban
()
{
StateKanban
.
ShowInfo
(
"目的地"
,
Place
==
null
?
""
:
Place
.
AliceName
);
StateKanban
.
ShowInfo
(
"运行模式"
,
Auto
?
"自动"
:
"手动"
);
string
runmode
=
""
;
if
(
Auto
)
{
runmode
=
IsDebug
?
"调试"
:
"自动"
;
}
else
{
runmode
=
"手动"
;
}
StateKanban
.
ShowInfo
(
"运行模式"
,
runmode
);
if
(
Scope
!=
null
)
StateKanban
.
ShowInfo
(
"车间"
,
Scope
.
Workshop
);
if
(
this
.
CurJob
!=
null
)
...
...
DeviceLibrary/manager/HttpManager.cs
查看文件 @
132ba04
...
...
@@ -358,7 +358,7 @@ namespace DeviceLibrary
//fbackkinfo":"no agvinfo","fbacktime":"20215306105317"}
//if (data == null)
{
Agvtransinfo
=
$
"{agvreportstate}:
[{txt}]\r\n[{resultStr}]
"
;
Agvtransinfo
=
$
"{agvreportstate}:
【{txt}】\r\n【{resultStr}】
"
;
}
log
.
Debug
(
$
"[{agvreportstate}]【{txt}】"
);
//else
...
...
DeviceLibrary/manager/MissionManager.cs
查看文件 @
132ba04
...
...
@@ -180,7 +180,6 @@ namespace DeviceLibrary.manager
{
Monitor
.
Exit
(
lockObj
);
}
MissionChangedEvent
?.
Invoke
();
return
missionInfo
;
}
...
...
@@ -212,7 +211,6 @@ namespace DeviceLibrary.manager
{
Monitor
.
Exit
(
lockObj
);
}
MissionChangedEvent
?.
Invoke
();
return
missionInfo
;
}
/// <summary>
...
...
@@ -243,7 +241,6 @@ namespace DeviceLibrary.manager
{
Monitor
.
Exit
(
lockObj
);
}
MissionChangedEvent
?.
Invoke
();
return
missionInfo
;
}
...
...
@@ -276,7 +273,6 @@ namespace DeviceLibrary.manager
{
Monitor
.
Exit
(
lockObj
);
}
MissionChangedEvent
?.
Invoke
();
return
missionInfo
;
}
...
...
@@ -311,7 +307,6 @@ namespace DeviceLibrary.manager
{
Monitor
.
Exit
(
lockObj
);
}
MissionChangedEvent
?.
Invoke
();
return
missionInfo
;
}
...
...
@@ -343,7 +338,6 @@ namespace DeviceLibrary.manager
{
Monitor
.
Exit
(
lockObj
);
}
MissionChangedEvent
?.
Invoke
();
return
missionInfo
;
}
/// <summary>
...
...
@@ -387,7 +381,7 @@ namespace DeviceLibrary.manager
MissionChangedEvent
?.
Invoke
();
}
public
static
void
SetMissionState
(
MissionInfo
missionInfo
,
MissionState
missionState
)
static
void
SetMissionState
(
MissionInfo
missionInfo
,
MissionState
missionState
)
{
missionInfo
.
SetState
(
missionState
);
Log
.
Info
(
$
"设置任务[{missionInfo.missionId}] 状态为[{missionState}]成功"
);
...
...
DeviceLibrary/manager/UploadManager.cs
查看文件 @
132ba04
...
...
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace
DeviceLibrary.manager
{
public
class
UploadManager
public
class
UploadManager
{
#
region
上传到
ITS
static
object
locupdate
=
new
object
();
...
...
@@ -34,19 +34,14 @@ namespace DeviceLibrary.manager
curTarget
=
item
.
Place
.
Name
,
statusTxt
=
item
.
MissionText
};
if
(
item
.
CurJob
!=
null
&&
item
.
CurJob
.
JobParam
!=
null
&&
item
.
CurJob
.
JobParam
.
GetMissionInfo
()
!=
null
)
//当前状态:执行任务/归位中/充电中/故障中/调试中/手动/自动
if
(
item
.
StateID
.
Equals
(
eAGVState
.
Error
)
||
item
.
StateID
.
Equals
(
eAGVState
.
EmergencyStop
))
{
agvState
.
state
=
"执行任务"
;
agvState
.
missionId
=
item
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
;
agvState
.
remark
=
item
.
CurJob
.
JobParam
.
GetMissionInfo
().
Remark
;
agvState
.
state
=
"故障中"
;
}
else
else
if
(
item
.
Auto
)
{
if
(
item
.
StateID
.
Equals
(
eAGVState
.
Error
)
||
item
.
StateID
.
Equals
(
eAGVState
.
EmergencyStop
))
{
agvState
.
state
=
"故障中"
;
}
else
if
(
item
.
CurJob
!=
null
&&
item
.
CurJob
is
StandyJob
)
if
(
item
.
CurJob
!=
null
&&
item
.
CurJob
is
StandyJob
)
{
agvState
.
state
=
"归位中"
;
}
...
...
@@ -54,6 +49,20 @@ namespace DeviceLibrary.manager
{
agvState
.
state
=
"充电中"
;
}
else
if
(
item
.
CurJob
!=
null
&&
item
.
CurJob
.
JobParam
!=
null
&&
item
.
CurJob
.
JobParam
.
GetMissionInfo
()
!=
null
)
{
agvState
.
state
=
"执行任务"
;
agvState
.
missionId
=
item
.
CurJob
.
JobParam
.
GetMissionInfo
().
missionId
;
agvState
.
remark
=
item
.
CurJob
.
JobParam
.
GetMissionInfo
().
Remark
;
}
else
if
(
item
.
IsDebug
)
agvState
.
state
=
"调试中"
;
else
agvState
.
state
=
"自动"
;
}
else
{
agvState
.
state
=
"手动"
;
}
agvStates
.
Add
(
agvState
);
}
...
...
@@ -82,8 +91,9 @@ namespace DeviceLibrary.manager
HttpManager
.
UpdateAGVtranstask
(
txt
);
System
.
Threading
.
Thread
.
Sleep
(
2000
);
}
catch
(
Exception
ex
)
{
Common
.
LogUtil
.
error
(
$
"UploadTransportStatus:{Common.JsonHelper.SerializeObject(transportStatus)}"
,
ex
);
catch
(
Exception
ex
)
{
Common
.
LogUtil
.
error
(
$
"UploadTransportStatus:{Common.JsonHelper.SerializeObject(transportStatus)}"
,
ex
);
}
}
#
endregion
...
...
DeviceLibrary/service/Service.cs
查看文件 @
132ba04
...
...
@@ -105,16 +105,16 @@ namespace DeviceLibrary
{
if
(
missionInfo
.
State
.
Equals
(
MissionState
.
创建
))
{
MissionManager
.
SetMissionState
(
missionInfo
,
MissionState
.
取消
);
MissionManager
.
DeleteById
(
deleteMission
.
missionId
)
;
MissionManager
.
SetMissionState
(
missionInfo
.
missionId
,
MissionState
.
取消
,
out
string
msg
);
result
.
msg
=
msg
;
}
else
{
AgvInfo
agvInfo
=
AGVManager
.
agvInfo
.
Find
(
k
=>
k
.
JobContext
.
MissionId
==
deleteMission
.
missionId
);
if
(
agvInfo
==
null
)
{
MissionManager
.
SetMissionState
(
missionInfo
,
MissionState
.
中止
);
MissionManager
.
DeleteById
(
deleteMission
.
missionId
)
;
MissionManager
.
SetMissionState
(
missionInfo
.
missionId
,
MissionState
.
中止
,
out
string
msg
);
result
.
msg
=
msg
;
}
else
{
...
...
DeviceLibrary/service/model/AgvState.cs
查看文件 @
132ba04
...
...
@@ -30,7 +30,7 @@ namespace DeviceLibrary.service.model
/// </summary>
public
MirPosition
position
{
get
;
set
;
}
/// <summary>
/// 当前状态:执行任务/归位中/充电中/故障中
/// 当前状态:执行任务/归位中/充电中/故障中
/调试中/手动/自动
/// </summary>
public
string
state
{
get
;
set
;
}
/// <summary>
...
...
DeviceLibrary/service/model/MissionInfo.cs
查看文件 @
132ba04
...
...
@@ -23,7 +23,7 @@ namespace DeviceLibrary.service.model
/// 优先级。3最高,1最低
/// </summary>
//public int Priority { get; set; } = 1;
/// <summary>
/// 是否可合并
/// </summary>
...
...
@@ -195,19 +195,19 @@ namespace DeviceLibrary.service.model
/// </summary>
public
enum
ProjectType
{
无
=
0
,
无
=
0
,
PCB
领用
,
Tray
领用
,
治具领用
,
包材领用
,
半成品领用
,
静电箱领用
,
空台车领用
,
空台车归还
,
包材归还
,
成品入库
,
半成品入库
,
半成品入库与领用
,
垃圾清运
垃圾清运
,
治具领用
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论