Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 11e2c782
由
LN
编写于
2019-11-08 15:13:59 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加料架位置的配置
1 个父辈
9717704f
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
1117 行增加
和
945 行删除
source/ACPackingStore/App.config
source/ACPackingStore/FrmBox.Designer.cs
source/ACPackingStore/FrmBox.cs
source/ACPackingStore/FrmStore.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
source/DeviceLibrary/ACPackingStore/StoreManager.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
source/DeviceLibrary/StoreConfig/shelfPosition.csv
source/DeviceLibrary/store/AutoInoutInfo.cs
source/DeviceLibrary/store/InOrOutStoreParam.cs → source/DeviceLibrary/store/InOutParam.cs
source/DeviceLibrary/store/LineMoveP.cs
source/DeviceLibrary/store/StoreStep.cs
source/DeviceLibrary/store/model/FixtureCodeInfo.cs
source/DeviceLibrary/store/model/FixtureInfo.cs
source/LoadCVSLibrary/position/ShelfPosition.cs
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
source/ACPackingStore/App.config
查看文件 @
11e2c78
...
@@ -28,11 +28,15 @@
...
@@ -28,11 +28,15 @@
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<!--二维码类型列表配置,用
#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<
add
key
=
"CodeType"
value
=
"QR Code"
/>
<!--出库等待料盘拿走的时间,秒-->
<!--出库等待料盘拿走的时间,秒-->
<
add
key
=
"OutStoreWaitSeconds"
value
=
"10"
/>
<
add
key
=
"OutStoreWaitSeconds"
value
=
"10"
/>
<!--温控器类型,
0
=壁挂王字壳温湿度变送器,
1
=妙昕温湿度记录仪-->
<!--温控器类型,
0
=壁挂王字壳温湿度变送器,
1
=妙昕温湿度记录仪-->
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"DIMS"
value
=
"120"
/>
<
add
key
=
"DOMS"
value
=
"300"
/>
<!--流水线地址和端口配置-->
<!--流水线地址和端口配置-->
<
add
key
=
"LineServerIp"
value
=
"192.168.101.11"
/>
<
add
key
=
"LineServerIp"
value
=
"192.168.101.11"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
...
...
source/ACPackingStore/FrmBox.Designer.cs
查看文件 @
11e2c78
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
this
.
button2
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
button2
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label10
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label10
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtBusyStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtBusyStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
b
utton1
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
b
tnMPA
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtAlarmStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtAlarmStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnGetAlarm
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnGetAlarm
=
new
System
.
Windows
.
Forms
.
Button
();
...
@@ -58,7 +58,6 @@
...
@@ -58,7 +58,6 @@
this
.
btnAxisRMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisRMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisReturnHome
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisReturnHome
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisAMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisAMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
Bt_ClearCounter
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnComAlarmClear
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnComAlarmClear
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtAPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtAPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label48
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label48
=
new
System
.
Windows
.
Forms
.
Label
();
...
@@ -172,6 +171,18 @@
...
@@ -172,6 +171,18 @@
this
.
panel1
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
panel1
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
lblCid
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblCid
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnScanTest
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnScanTest
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
cmbShelfPosition
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
groupShelf
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
label13
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtInoutPA
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnInoutPA
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtMPA
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
button5
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtUpdownPA1
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtUpdownPA2
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnUpdownPA1
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnUpdownPA2
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnSaveShelf
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupAxis
.
SuspendLayout
();
this
.
groupAxis
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupInout
.
SuspendLayout
();
this
.
groupInout
.
SuspendLayout
();
...
@@ -182,6 +193,7 @@
...
@@ -182,6 +193,7 @@
this
.
groupHistory
.
SuspendLayout
();
this
.
groupHistory
.
SuspendLayout
();
this
.
groupBox7
.
SuspendLayout
();
this
.
groupBox7
.
SuspendLayout
();
this
.
panel1
.
SuspendLayout
();
this
.
panel1
.
SuspendLayout
();
this
.
groupShelf
.
SuspendLayout
();
this
.
SuspendLayout
();
this
.
SuspendLayout
();
//
//
// timer1
// timer1
...
@@ -216,7 +228,7 @@
...
@@ -216,7 +228,7 @@
this
.
groupAxis
.
Controls
.
Add
(
this
.
button2
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
button2
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
label10
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
label10
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
txtBusyStatus
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
txtBusyStatus
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
b
utton1
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
b
tnMPA
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
label2
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
label2
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
txtAlarmStatus
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
txtAlarmStatus
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnGetAlarm
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnGetAlarm
);
...
@@ -234,7 +246,6 @@
...
@@ -234,7 +246,6 @@
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnAxisRMove
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnAxisRMove
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnAxisReturnHome
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnAxisReturnHome
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnAxisAMove
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnAxisAMove
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
Bt_ClearCounter
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnComAlarmClear
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
btnComAlarmClear
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
txtAPosition
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
txtAPosition
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
label48
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
label48
);
...
@@ -249,7 +260,7 @@
...
@@ -249,7 +260,7 @@
this
.
groupAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupAxis
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
6
);
this
.
groupAxis
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
6
);
this
.
groupAxis
.
Name
=
"groupAxis"
;
this
.
groupAxis
.
Name
=
"groupAxis"
;
this
.
groupAxis
.
Size
=
new
System
.
Drawing
.
Size
(
78
9
,
351
);
this
.
groupAxis
.
Size
=
new
System
.
Drawing
.
Size
(
52
9
,
351
);
this
.
groupAxis
.
TabIndex
=
216
;
this
.
groupAxis
.
TabIndex
=
216
;
this
.
groupAxis
.
TabStop
=
false
;
this
.
groupAxis
.
TabStop
=
false
;
this
.
groupAxis
.
Text
=
"伺服运动"
;
this
.
groupAxis
.
Text
=
"伺服运动"
;
...
@@ -293,7 +304,7 @@
...
@@ -293,7 +304,7 @@
// chbAutoRead
// chbAutoRead
//
//
this
.
chbAutoRead
.
AutoSize
=
true
;
this
.
chbAutoRead
.
AutoSize
=
true
;
this
.
chbAutoRead
.
Location
=
new
System
.
Drawing
.
Point
(
418
,
205
);
this
.
chbAutoRead
.
Location
=
new
System
.
Drawing
.
Point
(
395
,
205
);
this
.
chbAutoRead
.
Name
=
"chbAutoRead"
;
this
.
chbAutoRead
.
Name
=
"chbAutoRead"
;
this
.
chbAutoRead
.
Size
=
new
System
.
Drawing
.
Size
(
99
,
21
);
this
.
chbAutoRead
.
Size
=
new
System
.
Drawing
.
Size
(
99
,
21
);
this
.
chbAutoRead
.
TabIndex
=
296
;
this
.
chbAutoRead
.
TabIndex
=
296
;
...
@@ -371,15 +382,15 @@
...
@@ -371,15 +382,15 @@
this
.
txtBusyStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtBusyStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtBusyStatus
.
TabIndex
=
288
;
this
.
txtBusyStatus
.
TabIndex
=
288
;
//
//
// b
utton1
// b
tnMPA
//
//
this
.
b
utton1
.
Location
=
new
System
.
Drawing
.
Point
(
278
,
228
);
this
.
b
tnMPA
.
Location
=
new
System
.
Drawing
.
Point
(
278
,
228
);
this
.
b
utton1
.
Name
=
"button1
"
;
this
.
b
tnMPA
.
Name
=
"btnMPA
"
;
this
.
b
utton1
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
33
);
this
.
b
tnMPA
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
33
);
this
.
b
utton1
.
TabIndex
=
287
;
this
.
b
tnMPA
.
TabIndex
=
287
;
this
.
b
utton1
.
Text
=
"读BUSY状态"
;
this
.
b
tnMPA
.
Text
=
"读BUSY状态"
;
this
.
b
utton1
.
UseVisualStyleBackColor
=
true
;
this
.
b
tnMPA
.
UseVisualStyleBackColor
=
true
;
this
.
b
utton1
.
Click
+=
new
System
.
EventHandler
(
this
.
button1_Click_1
);
this
.
b
tnMPA
.
Click
+=
new
System
.
EventHandler
(
this
.
button1_Click_1
);
//
//
// label2
// label2
//
//
...
@@ -414,7 +425,7 @@
...
@@ -414,7 +425,7 @@
this
.
btnReadPosition
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
btnReadPosition
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
btnReadPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnReadPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnReadPosition
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
ControlText
;
this
.
btnReadPosition
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
ControlText
;
this
.
btnReadPosition
.
Location
=
new
System
.
Drawing
.
Point
(
418
,
298
);
this
.
btnReadPosition
.
Location
=
new
System
.
Drawing
.
Point
(
321
,
146
);
this
.
btnReadPosition
.
Name
=
"btnReadPosition"
;
this
.
btnReadPosition
.
Name
=
"btnReadPosition"
;
this
.
btnReadPosition
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnReadPosition
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnReadPosition
.
Size
=
new
System
.
Drawing
.
Size
(
90
,
33
);
this
.
btnReadPosition
.
Size
=
new
System
.
Drawing
.
Size
(
90
,
33
);
...
@@ -587,24 +598,9 @@
...
@@ -587,24 +598,9 @@
this
.
btnAxisAMove
.
UseVisualStyleBackColor
=
true
;
this
.
btnAxisAMove
.
UseVisualStyleBackColor
=
true
;
this
.
btnAxisAMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAxisAMove_Click
);
this
.
btnAxisAMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAxisAMove_Click
);
//
//
// Bt_ClearCounter
//
this
.
Bt_ClearCounter
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
Bt_ClearCounter
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
Bt_ClearCounter
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
Bt_ClearCounter
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
ControlText
;
this
.
Bt_ClearCounter
.
Location
=
new
System
.
Drawing
.
Point
(
319
,
146
);
this
.
Bt_ClearCounter
.
Name
=
"Bt_ClearCounter"
;
this
.
Bt_ClearCounter
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
Bt_ClearCounter
.
Size
=
new
System
.
Drawing
.
Size
(
90
,
33
);
this
.
Bt_ClearCounter
.
TabIndex
=
170
;
this
.
Bt_ClearCounter
.
Text
=
"重置位置"
;
this
.
Bt_ClearCounter
.
UseVisualStyleBackColor
=
true
;
this
.
Bt_ClearCounter
.
Click
+=
new
System
.
EventHandler
(
this
.
Bt_ClearCounter_Click
);
//
// btnComAlarmClear
// btnComAlarmClear
//
//
this
.
btnComAlarmClear
.
Location
=
new
System
.
Drawing
.
Point
(
203
,
148
);
this
.
btnComAlarmClear
.
Location
=
new
System
.
Drawing
.
Point
(
400
,
295
);
this
.
btnComAlarmClear
.
Name
=
"btnComAlarmClear"
;
this
.
btnComAlarmClear
.
Name
=
"btnComAlarmClear"
;
this
.
btnComAlarmClear
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
33
);
this
.
btnComAlarmClear
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
33
);
this
.
btnComAlarmClear
.
TabIndex
=
50
;
this
.
btnComAlarmClear
.
TabIndex
=
50
;
...
@@ -754,7 +750,7 @@
...
@@ -754,7 +750,7 @@
this
.
groupBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
368
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
368
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
78
9
,
182
);
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
52
9
,
182
);
this
.
groupBox1
.
TabIndex
=
217
;
this
.
groupBox1
.
TabIndex
=
217
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"伺服状态"
;
this
.
groupBox1
.
Text
=
"伺服状态"
;
...
@@ -978,7 +974,7 @@
...
@@ -978,7 +974,7 @@
this
.
groupInout
.
Enabled
=
false
;
this
.
groupInout
.
Enabled
=
false
;
this
.
groupInout
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
224
);
this
.
groupInout
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
224
);
this
.
groupInout
.
Name
=
"groupInout"
;
this
.
groupInout
.
Name
=
"groupInout"
;
this
.
groupInout
.
Size
=
new
System
.
Drawing
.
Size
(
496
,
545
);
this
.
groupInout
.
Size
=
new
System
.
Drawing
.
Size
(
503
,
545
);
this
.
groupInout
.
TabIndex
=
100
;
this
.
groupInout
.
TabIndex
=
100
;
this
.
groupInout
.
TabStop
=
false
;
this
.
groupInout
.
TabStop
=
false
;
this
.
groupInout
.
Text
=
"料仓操作"
;
this
.
groupInout
.
Text
=
"料仓操作"
;
...
@@ -1058,7 +1054,7 @@
...
@@ -1058,7 +1054,7 @@
this
.
txtComP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtComP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtComP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtComP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtComP1
.
TabIndex
=
214
;
this
.
txtComP1
.
TabIndex
=
214
;
this
.
txtComP1
.
Text
=
"
-12388
"
;
this
.
txtComP1
.
Text
=
"
999
"
;
//
//
// txtInOutP2
// txtInOutP2
//
//
...
@@ -1073,7 +1069,7 @@
...
@@ -1073,7 +1069,7 @@
this
.
txtInOutP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtInOutP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtInOutP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtInOutP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtInOutP2
.
TabIndex
=
212
;
this
.
txtInOutP2
.
TabIndex
=
212
;
this
.
txtInOutP2
.
Text
=
"
-17000
"
;
this
.
txtInOutP2
.
Text
=
"
999
"
;
//
//
// txtInOutP1
// txtInOutP1
//
//
...
@@ -1088,7 +1084,7 @@
...
@@ -1088,7 +1084,7 @@
this
.
txtInOutP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtInOutP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtInOutP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtInOutP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtInOutP1
.
TabIndex
=
210
;
this
.
txtInOutP1
.
TabIndex
=
210
;
this
.
txtInOutP1
.
Text
=
"
3000
"
;
this
.
txtInOutP1
.
Text
=
"
999
"
;
//
//
// txtMiddleP1
// txtMiddleP1
//
//
...
@@ -1103,7 +1099,7 @@
...
@@ -1103,7 +1099,7 @@
this
.
txtMiddleP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtMiddleP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtMiddleP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtMiddleP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtMiddleP1
.
TabIndex
=
208
;
this
.
txtMiddleP1
.
TabIndex
=
208
;
this
.
txtMiddleP1
.
Text
=
"
-52388
"
;
this
.
txtMiddleP1
.
Text
=
"
999
"
;
//
//
// txtUpDownP7
// txtUpDownP7
//
//
...
@@ -1118,7 +1114,7 @@
...
@@ -1118,7 +1114,7 @@
this
.
txtUpDownP7
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP7
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP7
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP7
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP7
.
TabIndex
=
204
;
this
.
txtUpDownP7
.
TabIndex
=
204
;
this
.
txtUpDownP7
.
Text
=
"
-836025
"
;
this
.
txtUpDownP7
.
Text
=
"
999
"
;
//
//
// txtUpDownP8
// txtUpDownP8
//
//
...
@@ -1133,7 +1129,7 @@
...
@@ -1133,7 +1129,7 @@
this
.
txtUpDownP8
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP8
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP8
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP8
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP8
.
TabIndex
=
206
;
this
.
txtUpDownP8
.
TabIndex
=
206
;
this
.
txtUpDownP8
.
Text
=
"
-816491
"
;
this
.
txtUpDownP8
.
Text
=
"
999
"
;
//
//
// txtUpDownP1
// txtUpDownP1
//
//
...
@@ -1148,7 +1144,7 @@
...
@@ -1148,7 +1144,7 @@
this
.
txtUpDownP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP1
.
TabIndex
=
200
;
this
.
txtUpDownP1
.
TabIndex
=
200
;
this
.
txtUpDownP1
.
Text
=
"
-816491
"
;
this
.
txtUpDownP1
.
Text
=
"
999
"
;
//
//
// txtUpDownP2
// txtUpDownP2
//
//
...
@@ -1163,7 +1159,7 @@
...
@@ -1163,7 +1159,7 @@
this
.
txtUpDownP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP2
.
TabIndex
=
202
;
this
.
txtUpDownP2
.
TabIndex
=
202
;
this
.
txtUpDownP2
.
Text
=
"
-836025
"
;
this
.
txtUpDownP2
.
Text
=
"
999
"
;
//
//
// txtComP3
// txtComP3
//
//
...
@@ -1178,7 +1174,7 @@
...
@@ -1178,7 +1174,7 @@
this
.
txtComP3
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtComP3
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtComP3
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtComP3
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtComP3
.
TabIndex
=
198
;
this
.
txtComP3
.
TabIndex
=
198
;
this
.
txtComP3
.
Text
=
"
-12388
"
;
this
.
txtComP3
.
Text
=
"
999
"
;
//
//
// txtComP2
// txtComP2
//
//
...
@@ -1193,7 +1189,7 @@
...
@@ -1193,7 +1189,7 @@
this
.
txtComP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtComP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtComP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtComP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtComP2
.
TabIndex
=
196
;
this
.
txtComP2
.
TabIndex
=
196
;
this
.
txtComP2
.
Text
=
"
-12388
"
;
this
.
txtComP2
.
Text
=
"
999
"
;
//
//
// txtInOutP3
// txtInOutP3
//
//
...
@@ -1208,7 +1204,7 @@
...
@@ -1208,7 +1204,7 @@
this
.
txtInOutP3
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtInOutP3
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtInOutP3
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtInOutP3
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtInOutP3
.
TabIndex
=
194
;
this
.
txtInOutP3
.
TabIndex
=
194
;
this
.
txtInOutP3
.
Text
=
"
-12388
"
;
this
.
txtInOutP3
.
Text
=
"
999
"
;
//
//
// txtMiddleP2
// txtMiddleP2
//
//
...
@@ -1223,7 +1219,7 @@
...
@@ -1223,7 +1219,7 @@
this
.
txtMiddleP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtMiddleP2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtMiddleP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtMiddleP2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtMiddleP2
.
TabIndex
=
192
;
this
.
txtMiddleP2
.
TabIndex
=
192
;
this
.
txtMiddleP2
.
Text
=
"
-12388
"
;
this
.
txtMiddleP2
.
Text
=
"
999
"
;
//
//
// txtUpDownP5
// txtUpDownP5
//
//
...
@@ -1238,7 +1234,7 @@
...
@@ -1238,7 +1234,7 @@
this
.
txtUpDownP5
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP5
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP5
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP5
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP5
.
TabIndex
=
188
;
this
.
txtUpDownP5
.
TabIndex
=
188
;
this
.
txtUpDownP5
.
Text
=
"
-16388
"
;
this
.
txtUpDownP5
.
Text
=
"
999
"
;
//
//
// txtUpDownP6
// txtUpDownP6
//
//
...
@@ -1253,7 +1249,7 @@
...
@@ -1253,7 +1249,7 @@
this
.
txtUpDownP6
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP6
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP6
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP6
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP6
.
TabIndex
=
190
;
this
.
txtUpDownP6
.
TabIndex
=
190
;
this
.
txtUpDownP6
.
Text
=
"
-12388
"
;
this
.
txtUpDownP6
.
Text
=
"
999
"
;
//
//
// cmbPosition
// cmbPosition
//
//
...
@@ -1293,7 +1289,7 @@
...
@@ -1293,7 +1289,7 @@
this
.
txtUpDownP3
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP3
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP3
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP3
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP3
.
TabIndex
=
162
;
this
.
txtUpDownP3
.
TabIndex
=
162
;
this
.
txtUpDownP3
.
Text
=
"
-16388
"
;
this
.
txtUpDownP3
.
Text
=
"
999
"
;
//
//
// btnInStore
// btnInStore
//
//
...
@@ -1330,7 +1326,7 @@
...
@@ -1330,7 +1326,7 @@
this
.
txtUpDownP4
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP4
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpDownP4
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP4
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpDownP4
.
TabIndex
=
166
;
this
.
txtUpDownP4
.
TabIndex
=
166
;
this
.
txtUpDownP4
.
Text
=
"
-12388
"
;
this
.
txtUpDownP4
.
Text
=
"
999
"
;
//
//
// btnComP1
// btnComP1
//
//
...
@@ -1630,7 +1626,7 @@
...
@@ -1630,7 +1626,7 @@
this
.
groupBox3
.
Controls
.
Add
(
this
.
lblThisSta
);
this
.
groupBox3
.
Controls
.
Add
(
this
.
lblThisSta
);
this
.
groupBox3
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
96
);
this
.
groupBox3
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
96
);
this
.
groupBox3
.
Name
=
"groupBox3"
;
this
.
groupBox3
.
Name
=
"groupBox3"
;
this
.
groupBox3
.
Size
=
new
System
.
Drawing
.
Size
(
496
,
124
);
this
.
groupBox3
.
Size
=
new
System
.
Drawing
.
Size
(
762
,
124
);
this
.
groupBox3
.
TabIndex
=
268
;
this
.
groupBox3
.
TabIndex
=
268
;
this
.
groupBox3
.
TabStop
=
false
;
this
.
groupBox3
.
TabStop
=
false
;
this
.
groupBox3
.
Text
=
"设备状态"
;
this
.
groupBox3
.
Text
=
"设备状态"
;
...
@@ -1666,10 +1662,10 @@
...
@@ -1666,10 +1662,10 @@
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage1
);
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage1
);
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage2
);
this
.
tabControl1
.
Controls
.
Add
(
this
.
tabPage2
);
this
.
tabControl1
.
Location
=
new
System
.
Drawing
.
Point
(
509
,
95
);
this
.
tabControl1
.
Location
=
new
System
.
Drawing
.
Point
(
775
,
94
);
this
.
tabControl1
.
Name
=
"tabControl1"
;
this
.
tabControl1
.
Name
=
"tabControl1"
;
this
.
tabControl1
.
SelectedIndex
=
0
;
this
.
tabControl1
.
SelectedIndex
=
0
;
this
.
tabControl1
.
Size
=
new
System
.
Drawing
.
Size
(
81
4
,
675
);
this
.
tabControl1
.
Size
=
new
System
.
Drawing
.
Size
(
55
4
,
675
);
this
.
tabControl1
.
TabIndex
=
272
;
this
.
tabControl1
.
TabIndex
=
272
;
//
//
// tabPage1
// tabPage1
...
@@ -1679,7 +1675,7 @@
...
@@ -1679,7 +1675,7 @@
this
.
tabPage1
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
29
);
this
.
tabPage1
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
29
);
this
.
tabPage1
.
Name
=
"tabPage1"
;
this
.
tabPage1
.
Name
=
"tabPage1"
;
this
.
tabPage1
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage1
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage1
.
Size
=
new
System
.
Drawing
.
Size
(
80
6
,
642
);
this
.
tabPage1
.
Size
=
new
System
.
Drawing
.
Size
(
54
6
,
642
);
this
.
tabPage1
.
TabIndex
=
0
;
this
.
tabPage1
.
TabIndex
=
0
;
this
.
tabPage1
.
Text
=
" 伺服调试 "
;
this
.
tabPage1
.
Text
=
" 伺服调试 "
;
this
.
tabPage1
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage1
.
UseVisualStyleBackColor
=
true
;
...
@@ -1691,7 +1687,7 @@
...
@@ -1691,7 +1687,7 @@
this
.
tabPage2
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
29
);
this
.
tabPage2
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
29
);
this
.
tabPage2
.
Name
=
"tabPage2"
;
this
.
tabPage2
.
Name
=
"tabPage2"
;
this
.
tabPage2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage2
.
Size
=
new
System
.
Drawing
.
Size
(
80
6
,
642
);
this
.
tabPage2
.
Size
=
new
System
.
Drawing
.
Size
(
54
6
,
642
);
this
.
tabPage2
.
TabIndex
=
1
;
this
.
tabPage2
.
TabIndex
=
1
;
this
.
tabPage2
.
Text
=
" 温湿度 "
;
this
.
tabPage2
.
Text
=
" 温湿度 "
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
...
@@ -2079,11 +2075,194 @@
...
@@ -2079,11 +2075,194 @@
this
.
btnScanTest
.
UseVisualStyleBackColor
=
true
;
this
.
btnScanTest
.
UseVisualStyleBackColor
=
true
;
this
.
btnScanTest
.
Click
+=
new
System
.
EventHandler
(
this
.
btnScanTest_Click
);
this
.
btnScanTest
.
Click
+=
new
System
.
EventHandler
(
this
.
btnScanTest_Click
);
//
//
// cmbShelfPosition
//
this
.
cmbShelfPosition
.
DropDownStyle
=
System
.
Windows
.
Forms
.
ComboBoxStyle
.
DropDownList
;
this
.
cmbShelfPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
cmbShelfPosition
.
FormattingEnabled
=
true
;
this
.
cmbShelfPosition
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
77
);
this
.
cmbShelfPosition
.
Name
=
"cmbShelfPosition"
;
this
.
cmbShelfPosition
.
Size
=
new
System
.
Drawing
.
Size
(
189
,
28
);
this
.
cmbShelfPosition
.
TabIndex
=
272
;
this
.
cmbShelfPosition
.
SelectedIndexChanged
+=
new
System
.
EventHandler
(
this
.
cmbShelfPosition_SelectedIndexChanged
);
//
// groupShelf
//
this
.
groupShelf
.
Controls
.
Add
(
this
.
btnSaveShelf
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
label13
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
txtInoutPA
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
btnInoutPA
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
txtMPA
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
button5
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
txtUpdownPA1
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
txtUpdownPA2
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
btnUpdownPA1
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
btnUpdownPA2
);
this
.
groupShelf
.
Controls
.
Add
(
this
.
cmbShelfPosition
);
this
.
groupShelf
.
Enabled
=
false
;
this
.
groupShelf
.
Location
=
new
System
.
Drawing
.
Point
(
517
,
224
);
this
.
groupShelf
.
Name
=
"groupShelf"
;
this
.
groupShelf
.
Size
=
new
System
.
Drawing
.
Size
(
252
,
545
);
this
.
groupShelf
.
TabIndex
=
274
;
this
.
groupShelf
.
TabStop
=
false
;
this
.
groupShelf
.
Text
=
"料架位置"
;
//
// label13
//
this
.
label13
.
AutoSize
=
true
;
this
.
label13
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
label13
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label13
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
ControlText
;
this
.
label13
.
Location
=
new
System
.
Drawing
.
Point
(
16
,
40
);
this
.
label13
.
Name
=
"label13"
;
this
.
label13
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
label13
.
Size
=
new
System
.
Drawing
.
Size
(
104
,
17
);
this
.
label13
.
TabIndex
=
281
;
this
.
label13
.
Text
=
"请选择料架位置:"
;
this
.
label13
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtInoutPA
//
this
.
txtInoutPA
.
AcceptsReturn
=
true
;
this
.
txtInoutPA
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Window
;
this
.
txtInoutPA
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
IBeam
;
this
.
txtInoutPA
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtInoutPA
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
WindowText
;
this
.
txtInoutPA
.
Location
=
new
System
.
Drawing
.
Point
(
136
,
294
);
this
.
txtInoutPA
.
MaxLength
=
0
;
this
.
txtInoutPA
.
Name
=
"txtInoutPA"
;
this
.
txtInoutPA
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtInoutPA
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtInoutPA
.
TabIndex
=
280
;
this
.
txtInoutPA
.
Text
=
"999"
;
//
// btnInoutPA
//
this
.
btnInoutPA
.
AutoSize
=
true
;
this
.
btnInoutPA
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInoutPA
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
btnInoutPA
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInoutPA
.
ForeColor
=
System
.
Drawing
.
Color
.
Green
;
this
.
btnInoutPA
.
Location
=
new
System
.
Drawing
.
Point
(
18
,
289
);
this
.
btnInoutPA
.
Name
=
"btnInoutPA"
;
this
.
btnInoutPA
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnInoutPA
.
Size
=
new
System
.
Drawing
.
Size
(
114
,
33
);
this
.
btnInoutPA
.
TabIndex
=
279
;
this
.
btnInoutPA
.
Text
=
"进出轴位置PA:"
;
this
.
btnInoutPA
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
this
.
btnInoutPA
.
UseVisualStyleBackColor
=
true
;
//
// txtMPA
//
this
.
txtMPA
.
AcceptsReturn
=
true
;
this
.
txtMPA
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Window
;
this
.
txtMPA
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
IBeam
;
this
.
txtMPA
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtMPA
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
WindowText
;
this
.
txtMPA
.
Location
=
new
System
.
Drawing
.
Point
(
136
,
135
);
this
.
txtMPA
.
MaxLength
=
0
;
this
.
txtMPA
.
Name
=
"txtMPA"
;
this
.
txtMPA
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtMPA
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtMPA
.
TabIndex
=
278
;
this
.
txtMPA
.
Text
=
"999"
;
//
// button5
//
this
.
button5
.
AutoSize
=
true
;
this
.
button5
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
button5
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
button5
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
button5
.
ForeColor
=
System
.
Drawing
.
Color
.
FromArgb
(((
int
)(((
byte
)(
0
)))),
((
int
)(((
byte
)(
0
)))),
((
int
)(((
byte
)(
192
)))));
this
.
button5
.
ImageAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
this
.
button5
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
130
);
this
.
button5
.
Name
=
"button5"
;
this
.
button5
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
button5
.
Size
=
new
System
.
Drawing
.
Size
(
114
,
33
);
this
.
button5
.
TabIndex
=
277
;
this
.
button5
.
Text
=
"旋转轴位置PA:"
;
this
.
button5
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
this
.
button5
.
UseVisualStyleBackColor
=
true
;
//
// txtUpdownPA1
//
this
.
txtUpdownPA1
.
AcceptsReturn
=
true
;
this
.
txtUpdownPA1
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Window
;
this
.
txtUpdownPA1
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
IBeam
;
this
.
txtUpdownPA1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtUpdownPA1
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
WindowText
;
this
.
txtUpdownPA1
.
Location
=
new
System
.
Drawing
.
Point
(
137
,
188
);
this
.
txtUpdownPA1
.
MaxLength
=
0
;
this
.
txtUpdownPA1
.
Name
=
"txtUpdownPA1"
;
this
.
txtUpdownPA1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpdownPA1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpdownPA1
.
TabIndex
=
274
;
this
.
txtUpdownPA1
.
Text
=
"999"
;
//
// txtUpdownPA2
//
this
.
txtUpdownPA2
.
AcceptsReturn
=
true
;
this
.
txtUpdownPA2
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Window
;
this
.
txtUpdownPA2
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
IBeam
;
this
.
txtUpdownPA2
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtUpdownPA2
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
WindowText
;
this
.
txtUpdownPA2
.
Location
=
new
System
.
Drawing
.
Point
(
137
,
241
);
this
.
txtUpdownPA2
.
MaxLength
=
0
;
this
.
txtUpdownPA2
.
Name
=
"txtUpdownPA2"
;
this
.
txtUpdownPA2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtUpdownPA2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
23
);
this
.
txtUpdownPA2
.
TabIndex
=
276
;
this
.
txtUpdownPA2
.
Text
=
"999"
;
//
// btnUpdownPA1
//
this
.
btnUpdownPA1
.
AutoSize
=
true
;
this
.
btnUpdownPA1
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpdownPA1
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
btnUpdownPA1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnUpdownPA1
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpdownPA1
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
183
);
this
.
btnUpdownPA1
.
Name
=
"btnUpdownPA1"
;
this
.
btnUpdownPA1
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnUpdownPA1
.
Size
=
new
System
.
Drawing
.
Size
(
114
,
33
);
this
.
btnUpdownPA1
.
TabIndex
=
273
;
this
.
btnUpdownPA1
.
Text
=
"升降轴低点PA1:"
;
this
.
btnUpdownPA1
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
this
.
btnUpdownPA1
.
UseVisualStyleBackColor
=
true
;
//
// btnUpdownPA2
//
this
.
btnUpdownPA2
.
AutoSize
=
true
;
this
.
btnUpdownPA2
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpdownPA2
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
btnUpdownPA2
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnUpdownPA2
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpdownPA2
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
236
);
this
.
btnUpdownPA2
.
Name
=
"btnUpdownPA2"
;
this
.
btnUpdownPA2
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnUpdownPA2
.
Size
=
new
System
.
Drawing
.
Size
(
114
,
33
);
this
.
btnUpdownPA2
.
TabIndex
=
275
;
this
.
btnUpdownPA2
.
Text
=
"升降轴高点PA2:"
;
this
.
btnUpdownPA2
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
this
.
btnUpdownPA2
.
UseVisualStyleBackColor
=
true
;
//
// btnSaveShelf
//
this
.
btnSaveShelf
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnSaveShelf
.
Location
=
new
System
.
Drawing
.
Point
(
70
,
357
);
this
.
btnSaveShelf
.
Name
=
"btnSaveShelf"
;
this
.
btnSaveShelf
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
38
);
this
.
btnSaveShelf
.
TabIndex
=
282
;
this
.
btnSaveShelf
.
Text
=
"保存位置"
;
this
.
btnSaveShelf
.
UseVisualStyleBackColor
=
true
;
this
.
btnSaveShelf
.
Click
+=
new
System
.
EventHandler
(
this
.
btnSaveShelf_Click
);
//
// FrmBox
// FrmBox
//
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Dpi
;
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Dpi
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1335
,
775
);
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1335
,
775
);
this
.
Controls
.
Add
(
this
.
groupShelf
);
this
.
Controls
.
Add
(
this
.
panel1
);
this
.
Controls
.
Add
(
this
.
panel1
);
this
.
Controls
.
Add
(
this
.
tabControl1
);
this
.
Controls
.
Add
(
this
.
tabControl1
);
this
.
Controls
.
Add
(
this
.
groupBox3
);
this
.
Controls
.
Add
(
this
.
groupBox3
);
...
@@ -2093,7 +2272,6 @@
...
@@ -2093,7 +2272,6 @@
this
.
Name
=
"FrmBox"
;
this
.
Name
=
"FrmBox"
;
this
.
Opacity
=
0D
;
this
.
Opacity
=
0D
;
this
.
Text
=
"AC_SA_料仓"
;
this
.
Text
=
"AC_SA_料仓"
;
this
.
FormClosing
+=
new
System
.
Windows
.
Forms
.
FormClosingEventHandler
(
this
.
FrmTest_FormClosing
);
this
.
Load
+=
new
System
.
EventHandler
(
this
.
FrmTest_Load
);
this
.
Load
+=
new
System
.
EventHandler
(
this
.
FrmTest_Load
);
this
.
Shown
+=
new
System
.
EventHandler
(
this
.
FrmStoreBox_Shown
);
this
.
Shown
+=
new
System
.
EventHandler
(
this
.
FrmStoreBox_Shown
);
this
.
groupAxis
.
ResumeLayout
(
false
);
this
.
groupAxis
.
ResumeLayout
(
false
);
...
@@ -2113,6 +2291,8 @@
...
@@ -2113,6 +2291,8 @@
this
.
groupBox7
.
PerformLayout
();
this
.
groupBox7
.
PerformLayout
();
this
.
panel1
.
ResumeLayout
(
false
);
this
.
panel1
.
ResumeLayout
(
false
);
this
.
panel1
.
PerformLayout
();
this
.
panel1
.
PerformLayout
();
this
.
groupShelf
.
ResumeLayout
(
false
);
this
.
groupShelf
.
PerformLayout
();
this
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
}
}
...
@@ -2129,7 +2309,6 @@
...
@@ -2129,7 +2309,6 @@
public
System
.
Windows
.
Forms
.
Button
btnUpDownP4
;
public
System
.
Windows
.
Forms
.
Button
btnUpDownP4
;
public
System
.
Windows
.
Forms
.
Label
label21
;
public
System
.
Windows
.
Forms
.
Label
label21
;
private
System
.
Windows
.
Forms
.
ComboBox
cmbPosition
;
private
System
.
Windows
.
Forms
.
ComboBox
cmbPosition
;
public
System
.
Windows
.
Forms
.
Button
Bt_ClearCounter
;
private
System
.
Windows
.
Forms
.
Label
label43
;
private
System
.
Windows
.
Forms
.
Label
label43
;
private
System
.
Windows
.
Forms
.
Label
label42
;
private
System
.
Windows
.
Forms
.
Label
label42
;
private
System
.
Windows
.
Forms
.
TextBox
lblOutPulse
;
private
System
.
Windows
.
Forms
.
TextBox
lblOutPulse
;
...
@@ -2218,7 +2397,7 @@
...
@@ -2218,7 +2397,7 @@
private
System
.
Windows
.
Forms
.
Button
button2
;
private
System
.
Windows
.
Forms
.
Button
button2
;
private
System
.
Windows
.
Forms
.
Label
label10
;
private
System
.
Windows
.
Forms
.
Label
label10
;
private
System
.
Windows
.
Forms
.
TextBox
txtBusyStatus
;
private
System
.
Windows
.
Forms
.
TextBox
txtBusyStatus
;
private
System
.
Windows
.
Forms
.
Button
b
utton1
;
private
System
.
Windows
.
Forms
.
Button
b
tnMPA
;
private
System
.
Windows
.
Forms
.
Label
label2
;
private
System
.
Windows
.
Forms
.
Label
label2
;
private
System
.
Windows
.
Forms
.
TextBox
txtAlarmStatus
;
private
System
.
Windows
.
Forms
.
TextBox
txtAlarmStatus
;
private
System
.
Windows
.
Forms
.
Button
btnGetAlarm
;
private
System
.
Windows
.
Forms
.
Button
btnGetAlarm
;
...
@@ -2267,6 +2446,18 @@
...
@@ -2267,6 +2446,18 @@
private
System
.
Windows
.
Forms
.
Panel
panel1
;
private
System
.
Windows
.
Forms
.
Panel
panel1
;
private
System
.
Windows
.
Forms
.
Button
btnScanTest
;
private
System
.
Windows
.
Forms
.
Button
btnScanTest
;
private
System
.
Windows
.
Forms
.
Label
lblCid
;
private
System
.
Windows
.
Forms
.
Label
lblCid
;
private
System
.
Windows
.
Forms
.
ComboBox
cmbShelfPosition
;
private
System
.
Windows
.
Forms
.
GroupBox
groupShelf
;
public
System
.
Windows
.
Forms
.
TextBox
txtInoutPA
;
public
System
.
Windows
.
Forms
.
Button
btnInoutPA
;
public
System
.
Windows
.
Forms
.
TextBox
txtMPA
;
public
System
.
Windows
.
Forms
.
Button
button5
;
public
System
.
Windows
.
Forms
.
TextBox
txtUpdownPA1
;
public
System
.
Windows
.
Forms
.
TextBox
txtUpdownPA2
;
public
System
.
Windows
.
Forms
.
Button
btnUpdownPA1
;
public
System
.
Windows
.
Forms
.
Button
btnUpdownPA2
;
public
System
.
Windows
.
Forms
.
Label
label13
;
private
System
.
Windows
.
Forms
.
Button
btnSaveShelf
;
}
}
}
}
source/ACPackingStore/FrmBox.cs
查看文件 @
11e2c78
...
@@ -23,12 +23,12 @@ namespace OnlineStore.ACPackingStore
...
@@ -23,12 +23,12 @@ namespace OnlineStore.ACPackingStore
public
partial
class
FrmBox
:
FrmBase
public
partial
class
FrmBox
:
FrmBase
{
{
public
AC_BOX_Bean
BoxBean
=
null
;
public
AC_BOX_Bean
BoxBean
=
null
;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
FrmBox
()
public
FrmBox
()
{
{
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
InitializeComponent
();
InitializeComponent
();
}
}
#
region
"初始化界面数据"
#
region
"初始化界面数据"
...
@@ -38,8 +38,8 @@ namespace OnlineStore.ACPackingStore
...
@@ -38,8 +38,8 @@ namespace OnlineStore.ACPackingStore
{
{
LoadStore
();
LoadStore
();
}
}
public
void
LoadStore
(
)
public
void
LoadStore
(
)
{
{
if
(
BoxBean
==
null
)
if
(
BoxBean
==
null
)
{
{
LogUtil
.
error
(
LOGGER
,
"找不到对应的料仓"
);
LogUtil
.
error
(
LOGGER
,
"找不到对应的料仓"
);
...
@@ -62,6 +62,20 @@ namespace OnlineStore.ACPackingStore
...
@@ -62,6 +62,20 @@ namespace OnlineStore.ACPackingStore
ktkPosition
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
cmbPosition
.
Text
);
ktkPosition
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
cmbPosition
.
Text
);
//BoxBean.PositionNumList = positionNumList;
//BoxBean.PositionNumList = positionNumList;
}
}
ShelfPosition
shelrfP
=
null
;
if
(
BoxBean
.
ShelfPosList
.
Count
>
0
)
{
cmbShelfPosition
.
DataSource
=
BoxBean
.
ShelfPosList
;
cmbShelfPosition
.
SelectedIndex
=
0
;
shelrfP
=
CSVPositionReader
<
ShelfPosition
>.
GetPositon
(
cmbShelfPosition
.
Text
);
}
if
(
shelrfP
!=
null
)
{
txtInoutPA
.
Text
=
shelrfP
.
InoutAxis_PA
.
ToString
();
txtUpdownPA1
.
Text
=
shelrfP
.
UpDownAxis_LPA1
.
ToString
();
txtUpdownPA2
.
Text
=
shelrfP
.
UpDownAxis_HPA2
.
ToString
();
txtMPA
.
Text
=
shelrfP
.
MiddleAxis_PA
.
ToString
();
}
txtMiddleP1
.
Text
=
BoxBean
.
Config
.
MiddleAxis_P1_Position
.
ToString
();
txtMiddleP1
.
Text
=
BoxBean
.
Config
.
MiddleAxis_P1_Position
.
ToString
();
txtUpDownP1
.
Text
=
BoxBean
.
Config
.
UpDownAxis_DoorOPosition_P1
.
ToString
();
txtUpDownP1
.
Text
=
BoxBean
.
Config
.
UpDownAxis_DoorOPosition_P1
.
ToString
();
...
@@ -90,15 +104,11 @@ namespace OnlineStore.ACPackingStore
...
@@ -90,15 +104,11 @@ namespace OnlineStore.ACPackingStore
txtInOutP2
.
Text
=
ktkPosition
.
InOutAxis_DoorPosition_P2
.
ToString
();
txtInOutP2
.
Text
=
ktkPosition
.
InOutAxis_DoorPosition_P2
.
ToString
();
//txtUpDownP1.Text = ktkPosition.UpDownAxis_DoorOPosition_P1.ToString();
//txtUpDownP1.Text = ktkPosition.UpDownAxis_DoorOPosition_P1.ToString();
}
}
timer1
.
Enabled
=
true
;
timer1
.
Enabled
=
true
;
chbDebug
.
Checked
=
BoxBean
.
IsDebug
;
chbDebug
.
Checked
=
BoxBean
.
IsDebug
;
this
.
ShowInTaskbar
=
true
;
this
.
ShowInTaskbar
=
true
;
this
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
this
.
Opacity
=
1
;
txtTempPort
.
Text
=
BoxBean
.
Config
.
Humiture_Port
;
txtTempPort
.
Text
=
BoxBean
.
Config
.
Humiture_Port
;
if
(
HumitureController
.
HumitureControllerType
.
Equals
(
1
))
if
(
HumitureController
.
HumitureControllerType
.
Equals
(
1
))
{
{
...
@@ -109,10 +119,10 @@ namespace OnlineStore.ACPackingStore
...
@@ -109,10 +119,10 @@ namespace OnlineStore.ACPackingStore
groupHistory
.
Visible
=
false
;
groupHistory
.
Visible
=
false
;
}
}
LoadOk
=
true
;
LoadOk
=
true
;
}
}
#
endregion
#
endregion
private
bool
preOpen
=
false
;
private
bool
preOpen
=
false
;
public
void
StoreOpenStatus
(
bool
isOpen
)
public
void
StoreOpenStatus
(
bool
isOpen
)
{
{
...
@@ -123,14 +133,14 @@ namespace OnlineStore.ACPackingStore
...
@@ -123,14 +133,14 @@ namespace OnlineStore.ACPackingStore
preOpen
=
isOpen
;
preOpen
=
isOpen
;
btnOutStore
.
Enabled
=
isOpen
;
btnOutStore
.
Enabled
=
isOpen
;
btnInStore
.
Enabled
=
isOpen
;
btnInStore
.
Enabled
=
isOpen
;
btnStoreStart
.
Enabled
=
!
isOpen
;
btnStoreStart
.
Enabled
=
!
isOpen
;
btnStoreStop
.
Enabled
=
isOpen
;
btnStoreStop
.
Enabled
=
isOpen
;
btnSotreReset
.
Enabled
=
isOpen
;
btnSotreReset
.
Enabled
=
isOpen
;
btnStoreStart
.
Enabled
=
!
isOpen
;
btnStoreStart
.
Enabled
=
!
isOpen
;
btnSotreReset
.
Enabled
=
isOpen
;
btnSotreReset
.
Enabled
=
isOpen
;
btnStoreStop
.
Enabled
=
isOpen
;
btnStoreStop
.
Enabled
=
isOpen
;
}
}
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
{
{
if
(!
this
.
Visible
)
if
(!
this
.
Visible
)
...
@@ -242,9 +252,9 @@ namespace OnlineStore.ACPackingStore
...
@@ -242,9 +252,9 @@ namespace OnlineStore.ACPackingStore
// lblWarnMsg.Text = msg;
// lblWarnMsg.Text = msg;
//}
//}
}
}
if
(
BoxBean
.
autoNext
)
if
(
BoxBean
.
AutoInout
.
autoNext
)
{
{
string
msg
=
BoxBean
.
autoMsg
;
string
msg
=
BoxBean
.
AutoInout
.
autoMsg
;
lblMsg
.
Text
=
msg
;
lblMsg
.
Text
=
msg
;
if
(
btnStartAuTo
.
Text
.
Equals
(
"开始自动出入库"
))
if
(
btnStartAuTo
.
Text
.
Equals
(
"开始自动出入库"
))
{
{
...
@@ -286,7 +296,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -286,7 +296,7 @@ namespace OnlineStore.ACPackingStore
//判断私服是否打开、
//判断私服是否打开、
if
(
ACServerManager
.
ServerOnStatus
(
portName
,
SlvAddr
))
if
(
ACServerManager
.
ServerOnStatus
(
portName
,
SlvAddr
))
{
{
lblServerOn
.
Text
=
"伺服ON"
;
lblServerOn
.
Text
=
"伺服ON"
;
}
}
else
else
{
{
...
@@ -302,7 +312,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -302,7 +312,7 @@ namespace OnlineStore.ACPackingStore
int
lCountPulse1
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
Middle_Axis
.
DeviceName
,
BoxBean
.
Config
.
Middle_Axis
.
GetAxisValue
());
int
lCountPulse1
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
Middle_Axis
.
DeviceName
,
BoxBean
.
Config
.
Middle_Axis
.
GetAxisValue
());
lblCountPulse1
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse1
);
lblCountPulse1
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse1
);
txtMiddleTarget
.
Text
=
BoxBean
.
Config
.
Middle_Axis
.
TargetPosition
.
ToString
();
txtMiddleTarget
.
Text
=
BoxBean
.
Config
.
Middle_Axis
.
TargetPosition
.
ToString
();
if
(
BoxBean
.
Config
.
Middle_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
if
(
BoxBean
.
Config
.
Middle_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
{
lblOutPulse
.
Text
=
lblOutPulse1
.
Text
;
lblOutPulse
.
Text
=
lblOutPulse1
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse1
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse1
.
Text
;
...
@@ -317,7 +327,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -317,7 +327,7 @@ namespace OnlineStore.ACPackingStore
int
lCountPulse2
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
UpDown_Axis
.
DeviceName
,
BoxBean
.
Config
.
UpDown_Axis
.
GetAxisValue
());
int
lCountPulse2
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
UpDown_Axis
.
DeviceName
,
BoxBean
.
Config
.
UpDown_Axis
.
GetAxisValue
());
lblCountPulse2
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse2
);
lblCountPulse2
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse2
);
txtInoutTarget
.
Text
=
BoxBean
.
Config
.
InOut_Axis
.
TargetPosition
.
ToString
();
txtInoutTarget
.
Text
=
BoxBean
.
Config
.
InOut_Axis
.
TargetPosition
.
ToString
();
if
(
BoxBean
.
Config
.
UpDown_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
if
(
BoxBean
.
Config
.
UpDown_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
{
lblOutPulse
.
Text
=
lblOutPulse2
.
Text
;
lblOutPulse
.
Text
=
lblOutPulse2
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse2
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse2
.
Text
;
...
@@ -331,30 +341,13 @@ namespace OnlineStore.ACPackingStore
...
@@ -331,30 +341,13 @@ namespace OnlineStore.ACPackingStore
int
lCountPulse3
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
InOut_Axis
.
DeviceName
,
BoxBean
.
Config
.
InOut_Axis
.
GetAxisValue
());
int
lCountPulse3
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
InOut_Axis
.
DeviceName
,
BoxBean
.
Config
.
InOut_Axis
.
GetAxisValue
());
lblCountPulse3
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse3
);
lblCountPulse3
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse3
);
txtUpdownTarget
.
Text
=
BoxBean
.
Config
.
UpDown_Axis
.
TargetPosition
.
ToString
();
txtUpdownTarget
.
Text
=
BoxBean
.
Config
.
UpDown_Axis
.
TargetPosition
.
ToString
();
if
(
BoxBean
.
Config
.
InOut_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
if
(
BoxBean
.
Config
.
InOut_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
{
lblOutPulse
.
Text
=
lblOutPulse3
.
Text
;
lblOutPulse
.
Text
=
lblOutPulse3
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse3
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse3
.
Text
;
}
}
}
}
}
}
private
void
Bt_ClearCounter_Click
(
object
sender
,
EventArgs
e
)
{
string
portName
=
txtAxisDeviceName
.
Text
;
short
SlvAddr
=
FormUtil
.
GetShortValue
(
txtAxisValue
);
//KTKSMCManager.WSetCountPulse(portName, SlvAddr, 0);
//KTKSMCManager.WSetOutPulse(portName, SlvAddr, 0);
}
private
void
FrmTest_FormClosing
(
object
sender
,
FormClosingEventArgs
e
)
{
if
(
e
.
CloseReason
==
CloseReason
.
UserClosing
)
//当用户点击窗体右上角X按钮或(Alt + F4)时 发生
{
e
.
Cancel
=
true
;
}
}
private
void
btnOutStore_Click
(
object
sender
,
EventArgs
e
)
private
void
btnOutStore_Click
(
object
sender
,
EventArgs
e
)
{
{
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
...
@@ -403,6 +396,11 @@ namespace OnlineStore.ACPackingStore
...
@@ -403,6 +396,11 @@ namespace OnlineStore.ACPackingStore
ktk
.
UpDown_P6
=
FormUtil
.
GetIntValue
(
txtUpDownP6
);
ktk
.
UpDown_P6
=
FormUtil
.
GetIntValue
(
txtUpDownP6
);
ktk
.
UpDown_P7
=
FormUtil
.
GetIntValue
(
txtUpDownP7
);
ktk
.
UpDown_P7
=
FormUtil
.
GetIntValue
(
txtUpDownP7
);
ktk
.
UpDown_P8
=
FormUtil
.
GetIntValue
(
txtUpDownP8
);
ktk
.
UpDown_P8
=
FormUtil
.
GetIntValue
(
txtUpDownP8
);
ktk
.
InOut_PA
=
FormUtil
.
GetIntValue
(
txtInoutPA
);
ktk
.
UpDown_LPA1
=
FormUtil
.
GetIntValue
(
txtUpdownPA1
);
ktk
.
UpDown_HPA2
=
FormUtil
.
GetIntValue
(
txtUpdownPA2
);
ktk
.
Middle_PA
=
FormUtil
.
GetIntValue
(
txtMPA
);
return
ktk
;
return
ktk
;
}
}
private
void
btnComAlarmClear_Click
(
object
sender
,
EventArgs
e
)
private
void
btnComAlarmClear_Click
(
object
sender
,
EventArgs
e
)
...
@@ -449,19 +447,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -449,19 +447,7 @@ namespace OnlineStore.ACPackingStore
ConfigMoveAxis
SlvAddr
=
BoxBean
.
moveAxisList
[
cmbAxisList
.
SelectedIndex
];
ConfigMoveAxis
SlvAddr
=
BoxBean
.
moveAxisList
[
cmbAxisList
.
SelectedIndex
];
txtAxisDeviceName
.
Text
=
SlvAddr
.
DeviceName
;
txtAxisDeviceName
.
Text
=
SlvAddr
.
DeviceName
;
txtAxisValue
.
Text
=
SlvAddr
.
GetAxisValue
().
ToString
();
txtAxisValue
.
Text
=
SlvAddr
.
GetAxisValue
().
ToString
();
txtASpeed
.
Text
=
SlvAddr
.
TargetSpeed
.
ToString
();
txtASpeed
.
Text
=
SlvAddr
.
TargetSpeed
.
ToString
();
//if (SlvAddr.Equals(BoxBean.Config.InOut_Axis))
//{
// txtASpeed.Text = BoxBean.Config.InOutAxis_P1_Speed.ToString();
//}
//else if (SlvAddr.Equals(BoxBean.Config.Middle_Axis))
//{
// txtASpeed.Text = BoxBean.Config.MiddleAxis_P1_Speed.ToString();
//}
//else if (SlvAddr.Equals(BoxBean.Config.UpDown_Axis))
//{
// txtASpeed.Text = BoxBean.Config.UpDownAxis_P1_Speed.ToString();
//}
}
}
}
}
...
@@ -477,20 +463,20 @@ namespace OnlineStore.ACPackingStore
...
@@ -477,20 +463,20 @@ namespace OnlineStore.ACPackingStore
// MessageBox.Show("位置超出" + axisC.Explain + "上下限(" + axisC.PositionMin + "-" + axisC.PositionMax + ")");
// MessageBox.Show("位置超出" + axisC.Explain + "上下限(" + axisC.PositionMin + "-" + axisC.PositionMax + ")");
// return;
// return;
//}
//}
if
(
BoxBean
.
Config
.
InOut_Axis
.
IsSameAxis
(
portName
,
SlvAddr
)
&&
(
BoxBean
.
InOutAxisCanMove
().
Equals
(
false
)))
if
(
BoxBean
.
Config
.
InOut_Axis
.
IsSameAxis
(
portName
,
SlvAddr
)
&&
(
BoxBean
.
InOutAxisCanMove
().
Equals
(
false
)))
{
{
MessageBox
.
Show
(
"定位气缸不在下降端,不能移动进出轴"
,
"警告"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Warning
);
MessageBox
.
Show
(
"定位气缸不在下降端,不能移动进出轴"
,
"警告"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Warning
);
return
;
return
;
}
}
else
if
(
BoxBean
.
Config
.
Middle_Axis
.
IsSameAxis
(
portName
,
SlvAddr
)
||
BoxBean
.
Config
.
UpDown_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
else
if
(
BoxBean
.
Config
.
Middle_Axis
.
IsSameAxis
(
portName
,
SlvAddr
)
||
BoxBean
.
Config
.
UpDown_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
{
if
(!
InOutIsIsP1
())
if
(!
InOutIsIsP1
())
{
{
return
;
return
;
}
}
}
}
LogUtil
.
info
(
"点击【绝对运动】,端口号【"
+
portName
+
"】地址【"
+
SlvAddr
+
"】位置【"
+
position
+
"】速度【"
+
speed
+
"】"
);
LogUtil
.
info
(
"点击【绝对运动】,端口号【"
+
portName
+
"】地址【"
+
SlvAddr
+
"】位置【"
+
position
+
"】速度【"
+
speed
+
"】"
);
ACServerManager
.
AbsMove
(
portName
,
SlvAddr
,
position
,
speed
);
ACServerManager
.
AbsMove
(
portName
,
SlvAddr
,
position
,
speed
);
}
}
private
void
btnAxisVMove_Click
(
object
sender
,
EventArgs
e
)
private
void
btnAxisVMove_Click
(
object
sender
,
EventArgs
e
)
{
{
...
@@ -511,7 +497,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -511,7 +497,7 @@ namespace OnlineStore.ACPackingStore
}
}
}
}
LogUtil
.
info
(
"点击【匀速运动】,端口号【"
+
portName
+
"】地址【"
+
SlvAddr
+
"】 速度【"
+
speed
+
"】"
);
LogUtil
.
info
(
"点击【匀速运动】,端口号【"
+
portName
+
"】地址【"
+
SlvAddr
+
"】 速度【"
+
speed
+
"】"
);
ACServerManager
.
SpeedMove
(
portName
,
SlvAddr
,
speed
);
ACServerManager
.
SpeedMove
(
portName
,
SlvAddr
,
speed
);
}
}
private
void
btnAxisRMove_Click
(
object
sender
,
EventArgs
e
)
private
void
btnAxisRMove_Click
(
object
sender
,
EventArgs
e
)
...
@@ -545,7 +531,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -545,7 +531,7 @@ namespace OnlineStore.ACPackingStore
ACServerManager
.
RelMove
(
portName
,
SlvAddr
,
position
,
speed
);
ACServerManager
.
RelMove
(
portName
,
SlvAddr
,
position
,
speed
);
}
}
private
void
btnAxisStop_Click
(
object
sender
,
EventArgs
e
)
private
void
btnAxisStop_Click
(
object
sender
,
EventArgs
e
)
{
{
...
@@ -601,12 +587,12 @@ namespace OnlineStore.ACPackingStore
...
@@ -601,12 +587,12 @@ namespace OnlineStore.ACPackingStore
if
(!
File
.
Exists
(
positionConfigFile
))
if
(!
File
.
Exists
(
positionConfigFile
))
{
{
string
nameStr
=
BoxBean
.
DeviceID
.
ToString
();
string
nameStr
=
BoxBean
.
DeviceID
.
ToString
();
positionConfigFile
=
positionConfigFile
.
Replace
(
".csv"
,
"_"
+
nameStr
+
".csv"
);
positionConfigFile
=
positionConfigFile
.
Replace
(
".csv"
,
"_"
+
nameStr
+
".csv"
);
}
}
bool
result
=
CSVPositionReader
<
ACBoxPosition
>.
SavePostion
(
positionConfigFile
,
ktkPosition
);
bool
result
=
CSVPositionReader
<
ACBoxPosition
>.
SavePostion
(
positionConfigFile
,
ktkPosition
);
if
(!
result
)
if
(!
result
)
{
{
MessageBox
.
Show
(
"
保存位置
失败!"
);
MessageBox
.
Show
(
"
库位【"
+
selectPositionNum
+
"】保存
失败!"
);
}
}
//料仓固定位置保存
//料仓固定位置保存
bool
needUpdate
=
false
;
bool
needUpdate
=
false
;
...
@@ -682,13 +668,13 @@ namespace OnlineStore.ACPackingStore
...
@@ -682,13 +668,13 @@ namespace OnlineStore.ACPackingStore
/// </summary>
/// </summary>
private
bool
InOutIsIsP1
()
private
bool
InOutIsIsP1
()
{
{
int
InOutDefaultPosition
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
InOutDefaultPosition
);
int
InOutDefaultPosition
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
InOutDefaultPosition
);
int
currValue
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
InOut_Axis
.
DeviceName
,
BoxBean
.
Config
.
InOut_Axis
.
GetAxisValue
());
int
currValue
=
ACServerManager
.
GetActualtPosition
(
BoxBean
.
Config
.
InOut_Axis
.
DeviceName
,
BoxBean
.
Config
.
InOut_Axis
.
GetAxisValue
());
if
(
currValue
<=
InOutDefaultPosition
)
if
(
currValue
<=
InOutDefaultPosition
)
{
{
return
true
;
return
true
;
}
}
MessageBox
.
Show
(
"叉子不在待机位,请先将叉子退回待机位("
+
InOutDefaultPosition
+
")"
,
"警告(叉子在待机位时,才能移动升降轴和旋转轴) "
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Exclamation
);
MessageBox
.
Show
(
"叉子不在待机位,请先将叉子退回待机位("
+
InOutDefaultPosition
+
")"
,
"警告(叉子在待机位时,才能移动升降轴和旋转轴) "
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Exclamation
);
return
false
;
return
false
;
}
}
private
void
btnCloseAxis_Click
(
object
sender
,
EventArgs
e
)
private
void
btnCloseAxis_Click
(
object
sender
,
EventArgs
e
)
...
@@ -700,13 +686,13 @@ namespace OnlineStore.ACPackingStore
...
@@ -700,13 +686,13 @@ namespace OnlineStore.ACPackingStore
}
}
private
void
AxisABSMove
(
ConfigMoveAxis
moveAxis
,
int
targetPosition
,
int
targetSpeed
)
private
void
AxisABSMove
(
ConfigMoveAxis
moveAxis
,
int
targetPosition
,
int
targetSpeed
)
{
{
moveAxis
.
TargetPosition
=
targetPosition
;
moveAxis
.
TargetPosition
=
targetPosition
;
ACServerManager
.
AbsMove
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
(),
targetPosition
,
targetSpeed
);
ACServerManager
.
AbsMove
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
(),
targetPosition
,
targetSpeed
);
}
}
private
void
btnUpDownP1_Click
(
object
sender
,
EventArgs
e
)
private
void
btnUpDownP1_Click
(
object
sender
,
EventArgs
e
)
{
{
if
(
InOutIsIsP1
())
if
(
InOutIsIsP1
())
{
{
int
value
=
FormUtil
.
GetIntValue
(
txtUpDownP1
);
int
value
=
FormUtil
.
GetIntValue
(
txtUpDownP1
);
AxisABSMove
(
BoxBean
.
Config
.
UpDown_Axis
,
value
,
BoxBean
.
Config
.
UpDownAxis_P1_Speed
);
AxisABSMove
(
BoxBean
.
Config
.
UpDown_Axis
,
value
,
BoxBean
.
Config
.
UpDownAxis_P1_Speed
);
}
}
...
@@ -828,31 +814,31 @@ namespace OnlineStore.ACPackingStore
...
@@ -828,31 +814,31 @@ namespace OnlineStore.ACPackingStore
private
void
btnComP2_Click
(
object
sender
,
EventArgs
e
)
private
void
btnComP2_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
FormUtil
.
GetIntValue
(
txtComP2
);
int
value
=
FormUtil
.
GetIntValue
(
txtComP2
);
AxisABSMove
(
BoxBean
.
Config
.
Comp_Axis
,
value
,
BoxBean
.
Config
.
CompAxis_P2_Speed
);
AxisABSMove
(
BoxBean
.
Config
.
Comp_Axis
,
value
,
BoxBean
.
Config
.
CompAxis_P2_Speed
);
}
}
private
void
btnComP1_Click
(
object
sender
,
EventArgs
e
)
private
void
btnComP1_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
FormUtil
.
GetIntValue
(
txtComP1
);
int
value
=
FormUtil
.
GetIntValue
(
txtComP1
);
AxisABSMove
(
BoxBean
.
Config
.
Comp_Axis
,
value
,
BoxBean
.
Config
.
CompAxis_P1_Speed
);
AxisABSMove
(
BoxBean
.
Config
.
Comp_Axis
,
value
,
BoxBean
.
Config
.
CompAxis_P1_Speed
);
}
}
private
void
btnComP3_Click
(
object
sender
,
EventArgs
e
)
private
void
btnComP3_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
FormUtil
.
GetIntValue
(
txtComP3
);
int
value
=
FormUtil
.
GetIntValue
(
txtComP3
);
AxisABSMove
(
BoxBean
.
Config
.
Comp_Axis
,
value
,
BoxBean
.
Config
.
CompAxis_P3_Speed
);
AxisABSMove
(
BoxBean
.
Config
.
Comp_Axis
,
value
,
BoxBean
.
Config
.
CompAxis_P3_Speed
);
}
}
int
xWidth
=
SystemInformation
.
PrimaryMonitorSize
.
Width
;
//获取显示器屏幕宽度
int
xWidth
=
SystemInformation
.
PrimaryMonitorSize
.
Width
;
//获取显示器屏幕宽度
int
yHeight
=
SystemInformation
.
PrimaryMonitorSize
.
Height
;
//高度
int
yHeight
=
SystemInformation
.
PrimaryMonitorSize
.
Height
;
//高度
private
void
btnStartAuTo_Click
(
object
sender
,
EventArgs
e
)
private
void
btnStartAuTo_Click
(
object
sender
,
EventArgs
e
)
{
{
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
{
{
if
(
BoxBean
.
autoNext
)
if
(
BoxBean
.
AutoInout
.
autoNext
)
{
{
BoxBean
.
autoNext
=
false
;
BoxBean
.
AutoInout
.
autoNext
=
false
;
btnStartAuTo
.
Text
=
"开始自动出入库"
;
btnStartAuTo
.
Text
=
"开始自动出入库"
;
}
}
else
else
...
@@ -860,19 +846,20 @@ namespace OnlineStore.ACPackingStore
...
@@ -860,19 +846,20 @@ namespace OnlineStore.ACPackingStore
DialogResult
res
=
MessageBox
.
Show
(
"确定开始自动出入库?"
,
"提示"
,
MessageBoxButtons
.
YesNo
);
DialogResult
res
=
MessageBox
.
Show
(
"确定开始自动出入库?"
,
"提示"
,
MessageBoxButtons
.
YesNo
);
if
(
res
.
Equals
(
DialogResult
.
Yes
))
if
(
res
.
Equals
(
DialogResult
.
Yes
))
{
{
BoxBean
.
autoNext
=
true
;
BoxBean
.
AutoInout
.
autoNext
=
true
;
int
jiange
=
FormUtil
.
GetIntValue
(
txtJiange
);
int
jiange
=
FormUtil
.
GetIntValue
(
txtJiange
);
BoxBean
.
auto
Jiange
=
jiange
;
BoxBean
.
AutoInout
.
Jiange
=
jiange
;
if
(
cmbPosition
.
SelectedIndex
>=
0
)
if
(
cmbPosition
.
SelectedIndex
>=
0
)
{
{
int
currIndex
=
cmbPosition
.
SelectedIndex
;
int
currIndex
=
cmbPosition
.
SelectedIndex
;
BoxBean
.
autoPositionIndex
=
currIndex
;
BoxBean
.
AutoInout
.
positionIndex
=
currIndex
;
BoxBean
.
AutoStartIndex
=
currIndex
;
BoxBean
.
AutoInout
.
startIndex
=
currIndex
;
BoxBean
.
AutoInout
.
shelfPosId
=
cmbShelfPosition
.
Text
;
string
poText
=
cmbPosition
.
Text
;
string
poText
=
cmbPosition
.
Text
;
BoxBean
.
autoMsg
=
"自动出库:"
+
poText
;
BoxBean
.
AutoInout
.
autoMsg
=
"自动出库:"
+
poText
;
LogUtil
.
info
(
LOGGER
,
BoxBean
.
Name
+
"开启自动出入库模式,开始位置【"
+
poText
+
"】(索引="
+
currIndex
+
"),间隔="
+
jiange
+
",入库开始!"
);
LogUtil
.
info
(
LOGGER
,
BoxBean
.
Name
+
"开启自动出入库模式,开始位置【"
+
poText
+
"】(索引="
+
currIndex
+
"),间隔="
+
jiange
+
",入库开始!"
);
//BoxBean.StartOutStoreMove(new InOutStoreParam("", poText));
//BoxBean.StartOutStoreMove(new InOutStoreParam("", poText));
BoxBean
.
StartInStoreMove
(
new
InOutParam
(
""
,
poText
));
BoxBean
.
StartInStoreMove
(
new
InOutParam
(
""
,
poText
,
BoxBean
.
AutoInout
.
shelfPosId
));
}
}
btnStartAuTo
.
Text
=
"停止自动出入库"
;
btnStartAuTo
.
Text
=
"停止自动出入库"
;
}
}
...
@@ -882,11 +869,11 @@ namespace OnlineStore.ACPackingStore
...
@@ -882,11 +869,11 @@ namespace OnlineStore.ACPackingStore
{
{
MessageBox
.
Show
(
"请先启动料仓!"
);
MessageBox
.
Show
(
"请先启动料仓!"
);
}
}
}
}
private
void
btnAxisP_Click
(
object
sender
,
EventArgs
e
)
private
void
btnAxisP_Click
(
object
sender
,
EventArgs
e
)
{
{
FormManager
.
ShowAxisDebug
(
BoxBean
);
FormManager
.
ShowAxisDebug
(
BoxBean
);
}
}
private
void
btnStoreStart_Click
(
object
sender
,
EventArgs
e
)
private
void
btnStoreStart_Click
(
object
sender
,
EventArgs
e
)
{
{
...
@@ -920,22 +907,22 @@ namespace OnlineStore.ACPackingStore
...
@@ -920,22 +907,22 @@ namespace OnlineStore.ACPackingStore
private
void
查看
IOToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
查看
IOToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
FormManager
.
ShowIOShow
(
BoxBean
);
FormManager
.
ShowIOShow
(
BoxBean
);
}
}
private
void
料仓运转
ONToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
料仓运转
ONToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
this
.
Enabled
=
false
;
this
.
Enabled
=
false
;
BoxBean
.
RunAxis
(
false
);
BoxBean
.
RunAxis
(
false
);
this
.
Enabled
=
true
;
this
.
Enabled
=
true
;
LogUtil
.
info
(
"料仓运转ON完成"
);
LogUtil
.
info
(
"料仓运转ON完成"
);
}
}
private
void
料仓运转
OFFToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
料仓运转
OFFToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
BoxBean
.
CloseAllAxis
();
BoxBean
.
CloseAllAxis
();
LogUtil
.
info
(
"料仓运转OFF完成"
);
LogUtil
.
info
(
"料仓运转OFF完成"
);
}
}
private
void
回待机点
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
回待机点
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
...
@@ -954,9 +941,9 @@ namespace OnlineStore.ACPackingStore
...
@@ -954,9 +941,9 @@ namespace OnlineStore.ACPackingStore
MessageBox
.
Show
(
"请先启动料仓!"
);
MessageBox
.
Show
(
"请先启动料仓!"
);
}
}
}
}
private
void
FrmStoreBox_Shown
(
object
sender
,
EventArgs
e
)
private
void
FrmStoreBox_Shown
(
object
sender
,
EventArgs
e
)
{
{
this
.
btnUpDownP1
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpDownP1
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpDownP2
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpDownP2
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpDownP3
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpDownP3
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
...
@@ -980,7 +967,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -980,7 +967,7 @@ namespace OnlineStore.ACPackingStore
}
}
private
int
GetSlaveAddr
()
private
int
GetSlaveAddr
()
{
{
return
FormUtil
.
GetShortValue
(
txtAxisValue
);
return
FormUtil
.
GetShortValue
(
txtAxisValue
);
...
@@ -1026,20 +1013,20 @@ namespace OnlineStore.ACPackingStore
...
@@ -1026,20 +1013,20 @@ namespace OnlineStore.ACPackingStore
private
void
button1_Click_1
(
object
sender
,
EventArgs
e
)
private
void
button1_Click_1
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
ACServerManager
.
GetBusyStatus
(
GetPortName
(),
GetSlaveAddr
());
int
value
=
ACServerManager
.
GetBusyStatus
(
GetPortName
(),
GetSlaveAddr
());
this
.
txtBusyStatus
.
Text
=
value
.
ToString
();
this
.
txtBusyStatus
.
Text
=
value
.
ToString
();
}
}
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
ACServerManager
.
GetHomeEndStatus
(
GetPortName
(),
GetSlaveAddr
());
int
value
=
ACServerManager
.
GetHomeEndStatus
(
GetPortName
(),
GetSlaveAddr
());
this
.
txtHomeStatus
.
Text
=
value
.
ToString
();
this
.
txtHomeStatus
.
Text
=
value
.
ToString
();
}
}
private
void
btnReadHomeSingle_Click
(
object
sender
,
EventArgs
e
)
private
void
btnReadHomeSingle_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
ACServerManager
.
GetHomeSingle
(
GetPortName
(),
GetSlaveAddr
());
int
value
=
ACServerManager
.
GetHomeSingle
(
GetPortName
(),
GetSlaveAddr
());
this
.
txtHomeSingle
.
Text
=
value
.
ToString
();
this
.
txtHomeSingle
.
Text
=
value
.
ToString
();
}
}
private
void
btnTempInit_Click
(
object
sender
,
EventArgs
e
)
private
void
btnTempInit_Click
(
object
sender
,
EventArgs
e
)
{
{
...
@@ -1061,7 +1048,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -1061,7 +1048,7 @@ namespace OnlineStore.ACPackingStore
ASTemperateParam
param
=
HumitureController
.
QueryData
();
ASTemperateParam
param
=
HumitureController
.
QueryData
();
txtTemp
.
Text
=
param
.
Temperate
.
ToString
();
txtTemp
.
Text
=
param
.
Temperate
.
ToString
();
txtHum
.
Text
=
param
.
Humidity
.
ToString
();
txtHum
.
Text
=
param
.
Humidity
.
ToString
();
}
}
private
void
btnSelHistory_Click
(
object
sender
,
EventArgs
e
)
private
void
btnSelHistory_Click
(
object
sender
,
EventArgs
e
)
{
{
...
@@ -1084,9 +1071,10 @@ namespace OnlineStore.ACPackingStore
...
@@ -1084,9 +1071,10 @@ namespace OnlineStore.ACPackingStore
{
{
groupAxis
.
Enabled
=
isDebug
;
groupAxis
.
Enabled
=
isDebug
;
groupInout
.
Enabled
=
isDebug
;
groupInout
.
Enabled
=
isDebug
;
groupShelf
.
Enabled
=
isDebug
;
}
}
private
void
chbDebug_CheckedChanged
(
object
sender
,
EventArgs
e
)
private
void
chbDebug_CheckedChanged
(
object
sender
,
EventArgs
e
)
{
{
if
(!
LoadOk
)
if
(!
LoadOk
)
{
{
return
;
return
;
...
@@ -1114,7 +1102,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -1114,7 +1102,7 @@ namespace OnlineStore.ACPackingStore
DialogResult
result
=
MessageBox
.
Show
(
"是否切换到正常工作状态?"
,
"是否确认切换"
,
MessageBoxButtons
.
YesNo
,
MessageBoxIcon
.
Question
,
MessageBoxDefaultButton
.
Button1
);
DialogResult
result
=
MessageBox
.
Show
(
"是否切换到正常工作状态?"
,
"是否确认切换"
,
MessageBoxButtons
.
YesNo
,
MessageBoxIcon
.
Question
,
MessageBoxDefaultButton
.
Button1
);
if
(
result
.
Equals
(
DialogResult
.
Yes
))
if
(
result
.
Equals
(
DialogResult
.
Yes
))
{
{
BoxBean
.
IsDebug
=
false
;
BoxBean
.
IsDebug
=
false
;
BoxBean
.
Config
.
IsInDebug
=
0
;
BoxBean
.
Config
.
IsInDebug
=
0
;
StoreManager
.
UpdateBoxConfig
(
BoxBean
.
Config
);
StoreManager
.
UpdateBoxConfig
(
BoxBean
.
Config
);
LogUtil
.
info
(
"用户切换到正常工作状态 "
);
LogUtil
.
info
(
"用户切换到正常工作状态 "
);
...
@@ -1133,5 +1121,48 @@ namespace OnlineStore.ACPackingStore
...
@@ -1133,5 +1121,48 @@ namespace OnlineStore.ACPackingStore
}
}
LogUtil
.
info
(
"扫到二维码:"
+
result
);
LogUtil
.
info
(
"扫到二维码:"
+
result
);
}
}
private
void
cmbShelfPosition_SelectedIndexChanged
(
object
sender
,
EventArgs
e
)
{
if
(
LoadOk
.
Equals
(
false
))
{
return
;
}
if
(
cmbShelfPosition
.
SelectedIndex
>=
0
)
{
string
selText
=
cmbShelfPosition
.
Text
;
ShelfPosition
shelrfP
=
CSVPositionReader
<
ShelfPosition
>.
GetPositon
(
selText
);
if
(
shelrfP
!=
null
)
{
txtInoutPA
.
Text
=
shelrfP
.
InoutAxis_PA
.
ToString
();
txtUpdownPA1
.
Text
=
shelrfP
.
UpDownAxis_LPA1
.
ToString
();
txtUpdownPA2
.
Text
=
shelrfP
.
UpDownAxis_HPA2
.
ToString
();
txtMPA
.
Text
=
shelrfP
.
MiddleAxis_PA
.
ToString
();
}
}
}
private
void
btnSaveShelf_Click
(
object
sender
,
EventArgs
e
)
{
//料仓格子位置保存
string
selectPositionNum
=
cmbShelfPosition
.
Text
;
ShelfPosition
pso
=
CSVPositionReader
<
ShelfPosition
>.
GetPositon
(
selectPositionNum
);
if
(
pso
!=
null
)
{
pso
.
InoutAxis_PA
=
FormUtil
.
GetIntValue
(
txtInoutPA
);
pso
.
MiddleAxis_PA
=
FormUtil
.
GetIntValue
(
txtMPA
);
pso
.
UpDownAxis_LPA1
=
FormUtil
.
GetIntValue
(
txtUpdownPA1
);
pso
.
UpDownAxis_HPA2
=
FormUtil
.
GetIntValue
(
txtUpdownPA2
);
}
//位置配置
string
positionConfigFile
=
Application
.
StartupPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Shelf_Position_Config
);
bool
result
=
CSVPositionReader
<
ShelfPosition
>.
SavePostion
(
positionConfigFile
,
pso
);
if
(!
result
)
{
MessageBox
.
Show
(
"库位【"
+
selectPositionNum
+
"】保存失败!"
);
}
}
}
}
}
}
source/ACPackingStore/FrmStore.cs
查看文件 @
11e2c78
...
@@ -26,36 +26,35 @@ namespace OnlineStore.ACPackingStore
...
@@ -26,36 +26,35 @@ namespace OnlineStore.ACPackingStore
internal
FrmStore
()
internal
FrmStore
()
{
{
InitializeComponent
();
InitializeComponent
();
LogUtil
.
logBox
=
this
.
logBox
;
startTimer
=
new
System
.
Timers
.
Timer
();
startTimer
=
new
System
.
Timers
.
Timer
();
startTimer
.
Interval
=
1000
;
startTimer
.
Interval
=
1000
;
startTimer
.
Enabled
=
false
;
startTimer
.
Enabled
=
false
;
startTimer
.
AutoReset
=
false
;
startTimer
.
AutoReset
=
false
;
}
}
private
void
FrmMain_Load
(
object
sender
,
EventArgs
e
)
private
void
FrmMain_Load
(
object
sender
,
EventArgs
e
)
{
{
FrmBase
.
GetVersion
();
FrmBase
.
GetVersion
();
store
=
StoreManager
.
InitStore
();
store
=
StoreManager
.
InitStore
();
if
(
store
==
null
)
if
(
store
==
null
)
{
{
this
.
Close
();
this
.
Close
();
return
;
return
;
}
}
else
foreach
(
AC_BOX_Bean
box
in
store
.
BoxMap
.
Values
)
{
{
foreach
(
AC_BOX_Bean
box
in
store
.
BoxMap
.
Values
)
FrmBox
frm
=
new
FrmBox
();
{
frm
.
BoxBean
=
box
;
FrmBox
frm
=
new
FrmBox
();
AddForm
(
box
.
Name
,
frm
);
frm
.
BoxBean
=
box
;
AddForm
(
box
.
Name
,
frm
);
}
}
}
chbAutoRun
.
Checked
=
store
.
UseBuzzer
;
this
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
this
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
chbAutoRun
.
Checked
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_AutoRun
).
Equals
(
1
);
chbAutoRun
.
Checked
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_AutoRun
).
Equals
(
1
);
HideForm
()
;
// LogUtil.logBox = this.logBox
;
chbAutoRun
.
Checked
=
store
.
UseBuzzer
;
// HideForm()
;
LoadOk
=
true
;
LoadOk
=
true
;
}
}
...
@@ -88,8 +87,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -88,8 +87,7 @@ namespace OnlineStore.ACPackingStore
this
.
Opacity
=
0
;
this
.
Opacity
=
0
;
this
.
ShowInTaskbar
=
false
;
this
.
ShowInTaskbar
=
false
;
this
.
notifyIcon1
.
Visible
=
true
;
this
.
notifyIcon1
.
Visible
=
true
;
this
.
Hide
();
this
.
Hide
();
GC
.
Collect
();
}
}
private
void
notifyIcon1_MouseDoubleClick
(
object
sender
,
MouseEventArgs
e
)
private
void
notifyIcon1_MouseDoubleClick
(
object
sender
,
MouseEventArgs
e
)
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
查看文件 @
11e2c78
using
OnlineStore.Common
;
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Diagnostics
;
using
System.Diagnostics
;
using
System.Linq
;
using
System.Linq
;
...
@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
public
partial
class
AC_BOX_Bean
:
KTK_Store
public
partial
class
AC_BOX_Bean
:
KTK_Store
{
{
private
static
bool
IsIntSlvBlock
=
false
;
private
static
bool
IsIntSlvBlock
=
false
;
public
AutoInoutInfo
AutoInout
=
new
AutoInoutInfo
();
public
static
bool
IsRun
=
false
;
public
static
bool
IsRun
=
false
;
public
string
CID
=
""
;
public
string
CID
=
""
;
public
AC_BOX_Config
Config
;
public
AC_BOX_Config
Config
;
...
@@ -26,19 +26,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -26,19 +26,9 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
public
string
lastPosId
=
""
;
public
string
lastPosId
=
""
;
public
StoreStatus
lastPosIdStatus
=
StoreStatus
.
StoreOnline
;
public
StoreStatus
lastPosIdStatus
=
StoreStatus
.
StoreOnline
;
/// <summary>
/// 轴列表
/// </summary>
public
List
<
ConfigMoveAxis
>
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
public
List
<
ConfigMoveAxis
>
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
/// <summary>
/// 轴报警信息
/// </summary>
private
Dictionary
<
string
,
AxisAlarmInfo
>
AxisAlarmCodeMap
=
new
Dictionary
<
string
,
AxisAlarmInfo
>();
private
Dictionary
<
string
,
AxisAlarmInfo
>
AxisAlarmCodeMap
=
new
Dictionary
<
string
,
AxisAlarmInfo
>();
/// <summary>
/// 料仓内所有的位置列表
/// </summary>
public
List
<
string
>
PositionNumList
=
new
List
<
string
>();
public
List
<
string
>
PositionNumList
=
new
List
<
string
>();
public
List
<
string
>
ShelfPosList
=
new
List
<
string
>();
public
List
<
string
>
ShelfPosList
=
new
List
<
string
>();
private
System
.
Timers
.
Timer
serverConnectTimer
=
new
System
.
Timers
.
Timer
();
private
System
.
Timers
.
Timer
serverConnectTimer
=
new
System
.
Timers
.
Timer
();
...
@@ -73,12 +63,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -73,12 +63,12 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
position
.
StoreId
.
Equals
(
DeviceID
)
&&
ACBoxPosition
.
CheckPosition
(
position
,
Config
))
if
(
position
.
StoreId
.
Equals
(
DeviceID
)
&&
ACBoxPosition
.
CheckPosition
(
position
,
Config
))
{
{
PositionNumList
.
Add
(
position
.
PositionNum
);
PositionNumList
.
Add
(
position
.
PositionNum
);
}
}
}
}
List
<
ShelfPosition
>
sPlist
=
CSVPositionReader
<
ShelfPosition
>.
getPositionList
();
List
<
ShelfPosition
>
sPlist
=
CSVPositionReader
<
ShelfPosition
>.
getPositionList
();
ShelfPosList
=
new
List
<
string
>();
ShelfPosList
=
new
List
<
string
>();
foreach
(
ShelfPosition
p
in
sPlist
)
foreach
(
ShelfPosition
p
in
sPlist
)
{
{
if
(
p
.
StoreId
.
Equals
(
DeviceID
))
if
(
p
.
StoreId
.
Equals
(
DeviceID
))
{
{
...
@@ -103,13 +93,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -103,13 +93,13 @@ namespace OnlineStore.DeviceLibrary
if
(
isInSuddenDown
.
Equals
(
false
))
if
(
isInSuddenDown
.
Equals
(
false
))
{
{
isInSuddenDown
=
true
;
isInSuddenDown
=
true
;
LogUtil
.
error
(
Name
+
"收到急停信号,报警急停"
);
LogUtil
.
error
(
Name
+
"收到急停信号,报警急停"
);
WarnMsg
=
Name
+
"收到急停信号,报警急停"
;
WarnMsg
=
Name
+
"收到急停信号,报警急停"
;
//报警时会关闭所有轴
//报警时会关闭所有轴
Alarm
(
StoreAlarmType
.
SuddenStop
,
"1"
,
WarnMsg
,
StoreMoveType
.
None
);
Alarm
(
StoreAlarmType
.
SuddenStop
,
"1"
,
WarnMsg
,
StoreMoveType
.
None
);
}
}
}
}
}
}
}
}
/// <summary>
/// <summary>
...
@@ -130,7 +120,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -130,7 +120,7 @@ namespace OnlineStore.DeviceLibrary
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Middle_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Middle_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Comp_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Comp_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
}
}
/// <summary>
/// <summary>
...
@@ -138,17 +128,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -138,17 +128,17 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
public
override
bool
StartRun
()
public
override
bool
StartRun
()
{
{
LogInfo
(
"开始启动,启动时间:"
+
StartTime
.
ToString
());
LogInfo
(
"开始启动,启动时间:"
+
StartTime
.
ToString
());
autoNext
=
false
;
AutoInout
.
autoNext
=
false
;
mainTimer
.
Enabled
=
false
;
mainTimer
.
Enabled
=
false
;
alarmType
=
StoreAlarmType
.
None
;
alarmType
=
StoreAlarmType
.
None
;
//急停按钮和气压检测需要一起判断
//急停按钮和气压检测需要一起判断
IO_VALUE
suddenBtn
=
IOValue
(
IO_Type
.
SuddenStop_BTN
);
IO_VALUE
suddenBtn
=
IOValue
(
IO_Type
.
SuddenStop_BTN
);
IO_VALUE
airCheck
=
IOValue
(
IO_Type
.
Airpressure_Check
);
IO_VALUE
airCheck
=
IOValue
(
IO_Type
.
Airpressure_Check
);
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
HIGH
)
&&
(
airCheck
.
Equals
(
IO_VALUE
.
HIGH
))
)
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
HIGH
)
&&
(
airCheck
.
Equals
(
IO_VALUE
.
HIGH
)))
{
{
//lastAirValue = airCheck;
//lastAirValue = airCheck;
lastAirCloseTime
=
DateTime
.
Now
;
lastAirCloseTime
=
DateTime
.
Now
;
...
@@ -161,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -161,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
storeStatus
=
StoreStatus
.
ResetMove
;
storeStatus
=
StoreStatus
.
ResetMove
;
//启动温湿度服务器
//启动温湿度服务器
HumitureController
.
Init
(
Config
.
Humiture_Port
);
HumitureController
.
Init
(
Config
.
Humiture_Port
);
ReturnHome
();
ReturnHome
();
StartTime
=
DateTime
.
Now
;
StartTime
=
DateTime
.
Now
;
...
@@ -175,11 +165,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -175,11 +165,11 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
LOW
))
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
LOW
))
{
{
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:急停没开 !启动失败!"
);
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:急停没开 !启动失败!"
);
}
}
else
else
{
{
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:没有气压信号 !启动失败!"
);
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:没有气压信号 !启动失败!"
);
}
}
return
false
;
return
false
;
}
}
...
@@ -191,78 +181,64 @@ namespace OnlineStore.DeviceLibrary
...
@@ -191,78 +181,64 @@ namespace OnlineStore.DeviceLibrary
{
{
isNoAirCheck
=
false
;
isNoAirCheck
=
false
;
isInSuddenDown
=
false
;
isInSuddenDown
=
false
;
WarnMsg
=
""
;
WarnMsg
=
""
;
CurrInOutACount
=
0
;
AutoInout
.
ClearCount
();
CurrInOutCount
=
0
;
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
MoveInfo
.
NewMove
(
StoreMoveType
.
ReturnHome
);
MoveInfo
.
NewMove
(
StoreMoveType
.
ReturnHome
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
InoutStartReset
();
ACAxisHomeMove
(
Config
.
InOut_Axis
);
LogInfo
(
"开始原点返回,先把进出轴回原点"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
}
}
public
void
MoveToP1
()
public
void
MoveToP1
()
{
{
//压紧轴回原点,叉子回到P1,关闭门旋转轴和升降轴回到P1
//压紧轴回原点,叉子回到P1,关闭门旋转轴和升降轴回到P1
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
);
LogInfo
(
"到待机状态,进出轴到P1,判断叉子没有料盘"
);
LogInfo
(
"到待机状态,进出轴到P1,判断叉子没有料盘"
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
//ComBeforeHomeMove();
//ComBeforeHomeMove();
//判断叉子没有料盘
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
}
}
public
override
void
Reset
(
bool
isNeedClearAuto
=
true
)
{
CurrInOutCount
=
0
;
CurrInOutACount
=
0
;
public
override
void
Reset
(
bool
isNeedClearAuto
=
true
)
{
AutoInout
.
ClearCount
();
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
//复位之前先停止运行
//复位之前先停止运行
if
(
isNeedClearAuto
)
if
(
isNeedClearAuto
)
{
{
autoNext
=
false
;
AutoInout
.
autoNext
=
false
;
}
}
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
isInSuddenDown
=
false
;
isInSuddenDown
=
false
;
isNoAirCheck
=
false
;
isNoAirCheck
=
false
;
alarmType
=
StoreAlarmType
.
None
;
alarmType
=
StoreAlarmType
.
None
;
storeRunStatus
=
StoreRunStatus
.
Reset
;
storeRunStatus
=
StoreRunStatus
.
Reset
;
storeStatus
=
StoreStatus
.
ResetMove
;
storeStatus
=
StoreStatus
.
ResetMove
;
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
WarnMsg
=
""
;
WarnMsg
=
""
;
if
(!
RunAxis
(
true
))
if
(!
RunAxis
(
true
))
{
////打开四个轴
LogInfo
(
"复位时打开轴失败,需要再次复位,直接报警停止复位"
);
//if (!OpenAllAxis())
{
LogInfo
(
"复位时打开轴失败,需要再次复位,直接报警停止复位"
);
return
;
return
;
}
}
InoutStartReset
();
InoutStartReset
();
isInPro
=
false
;
isInPro
=
false
;
}
}
private
void
InoutStartReset
()
private
void
InoutStartReset
()
{
{
string
portName
=
Config
.
InOut_Axis
.
DeviceName
;
int
slvAddr
=
Config
.
InOut_Axis
.
GetAxisValue
();
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
LogInfo
(
"复位中
,进出轴开始原点返回"
);
LogInfo
(
MoveInfo
.
MoveType
+
":
,进出轴开始原点返回"
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
}
}
...
@@ -287,13 +263,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -287,13 +263,13 @@ namespace OnlineStore.DeviceLibrary
case
StoreMoveStep
.
BOX_H_InOutMove
:
case
StoreMoveStep
.
BOX_H_InOutMove
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
LogInfo
(
"复位中:
进出轴开始原点返回"
);
LogInfo
(
MoveInfo
.
MoveType
+
":
进出轴开始原点返回"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
break
;
break
;
case
StoreMoveStep
.
BOX_H_InOutBack
:
case
StoreMoveStep
.
BOX_H_InOutBack
:
Thread
.
Sleep
(
200
);
Thread
.
Sleep
(
200
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutToP1
);
LogInfo
(
"复位中:
进出轴到待机点P1,关闭舱门"
);
LogInfo
(
MoveInfo
.
MoveType
+
":
进出轴到待机点P1,关闭舱门"
);
//进出轴原点返回完成,将进出轴的位置设置=0
//进出轴原点返回完成,将进出轴的位置设置=0
AxisCountClear
(
Config
.
InOut_Axis
);
AxisCountClear
(
Config
.
InOut_Axis
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
...
@@ -305,28 +281,26 @@ namespace OnlineStore.DeviceLibrary
...
@@ -305,28 +281,26 @@ namespace OnlineStore.DeviceLibrary
//如果此时轴三还在报警,需要提示错误并等待
//如果此时轴三还在报警,需要提示错误并等待
if
(
ACServerManager
.
GetAlarmStatus
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
())
>
0
)
if
(
ACServerManager
.
GetAlarmStatus
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
())
>
0
)
{
{
LogUtil
.
error
(
Name
+
"进出轴报警!复位失败,请检查!"
);
LogUtil
.
error
(
Name
+
MoveInfo
.
MoveType
+
"进出轴报警!复位失败,请检查!"
);
}
}
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogInfo
(
"复位中:
压紧轴,旋转轴,上下轴开始 原点返回"
);
LogInfo
(
MoveInfo
.
MoveType
+
":
压紧轴,旋转轴,上下轴开始 原点返回"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
break
;
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack
:
case
StoreMoveStep
.
BOX_H_OtherAxisBack
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
LogInfo
(
"复位中:
旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
LogInfo
(
MoveInfo
.
MoveType
+
":
旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
LogInfo
(
"复位
完成"
);
LogInfo
(
MoveInfo
.
MoveType
+
":
完成"
);
storeRunStatus
=
StoreRunStatus
.
Runing
;
storeRunStatus
=
StoreRunStatus
.
Runing
;
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
storeStatus
=
StoreStatus
.
StoreOnline
;
storeStatus
=
StoreStatus
.
StoreOnline
;
...
@@ -338,22 +312,20 @@ namespace OnlineStore.DeviceLibrary
...
@@ -338,22 +312,20 @@ namespace OnlineStore.DeviceLibrary
case
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
:
case
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
);
LogInfo
(
"到待机状态,压紧轴回原点,关闭舱门"
);
LogInfo
(
"到待机状态,压紧轴回原点,关闭舱门"
);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
//关闭舱门
//关闭舱门
CloseDoor
();
CloseDoor
();
break
;
break
;
case
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
:
case
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
);
LogInfo
(
"复位中:
旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
LogInfo
(
MoveInfo
.
MoveType
+
":
旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
break
;
case
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
:
case
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
:
LogInfo
(
"到待机状态完成"
);
LogInfo
(
"到待机状态完成"
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
storeStatus
=
StoreStatus
.
StoreOnline
;
storeStatus
=
StoreStatus
.
StoreOnline
;
storeRunStatus
=
StoreRunStatus
.
Runing
;
storeRunStatus
=
StoreRunStatus
.
Runing
;
...
@@ -368,31 +340,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -368,31 +340,14 @@ namespace OnlineStore.DeviceLibrary
}
}
private
void
ComMoveToPosition
(
int
targetPosition
,
int
targetSpeed
)
private
void
ComMoveToPosition
(
int
targetPosition
,
int
targetSpeed
)
{
{
ACAxisMove
(
Config
.
Comp_Axis
,
targetPosition
,
targetSpeed
);
ACAxisMove
(
Config
.
Comp_Axis
,
targetPosition
,
targetSpeed
);
}
}
public
void
OpenDoor
(
bool
IsWait
=
true
)
public
void
OpenDoor
(
bool
IsWait
=
true
)
{
{
//Thread.Sleep(60);
//IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
//IOMove(IO_Type.Door_Up, IO_VALUE.HIGH);
//if (IsWait)
//{
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Down, IO_VALUE.LOW));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Up, IO_VALUE.HIGH));
//}
}
}
public
void
CloseDoor
(
bool
IsWait
=
true
)
public
void
CloseDoor
(
bool
IsWait
=
true
)
{
{
//IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
//IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
//if (IsWait)
//{
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Down, IO_VALUE.HIGH));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Up, IO_VALUE.LOW));
//}
}
}
/// <summary>
/// <summary>
...
@@ -400,69 +355,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -400,69 +355,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
protected
override
void
ReturnHomeProcess
()
protected
override
void
ReturnHomeProcess
()
{
{
if
(
MoveInfo
.
IsInWait
)
ResetProcess
();
{
CheckWait
();
}
if
(
MoveInfo
.
IsInWait
)
{
return
;
}
switch
(
MoveInfo
.
MoveStep
)
{
case
StoreMoveStep
.
BOX_H_LocationCylinderBack
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
LogInfo
(
"原点返回中,进出轴回原点"
);
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
ACAxisHomeMove
(
Config
.
InOut_Axis
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
break
;
case
StoreMoveStep
.
BOX_H_InOutBack
:
Thread
.
Sleep
(
200
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutToP1
);
LogInfo
(
"原点返回中,进出轴退回P1点,关闭仓门,检测叉子没有料盘"
);
//进出轴原点返回完成,将进出轴的位置设置=0
AxisCountClear
(
Config
.
InOut_Axis
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
//ComBeforeHomeMove();
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
CloseDoor
();
break
;
case
StoreMoveStep
.
BOX_H_InOutToP1
:
//如果此时轴三还在报警,需要提示错误并等待
if
(
ACServerManager
.
GetAlarmStatus
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
())
>
0
)
{
WarnMsg
=
"进出轴报警!复位失败,请检查!"
;
LogUtil
.
error
(
Name
+
"进出轴报警!复位失败,请检查!"
);
}
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogInfo
(
"原点返回中 :压紧轴,旋转轴,上下轴开始原点返回"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
LogInfo
(
"回原点:旋转轴运动到P1,上下轴到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
LogInfo
(
"回原点完成"
);
storeRunStatus
=
StoreRunStatus
.
Runing
;
MoveInfo
.
EndMove
();
storeStatus
=
StoreStatus
.
StoreOnline
;
WarnMsg
=
""
;
break
;
default
:
break
;
}
}
}
#
endregion
#
endregion
...
@@ -512,26 +405,26 @@ namespace OnlineStore.DeviceLibrary
...
@@ -512,26 +405,26 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
ACServerManager
.
ServerOnStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
()))
if
(
ACServerManager
.
ServerOnStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
()))
{
{
LogInfo
(
"成功打开轴:"
+
axis
.
Explain
);
LogInfo
(
"成功打开轴:"
+
axis
.
Explain
);
}
}
else
else
{
{
//清理报警,再重新打开一次
//清理报警,再重新打开一次
LogInfo
(
"第一次打开轴"
+
axis
.
Explain
+
"失败,先清理一下报警,再重新打开一次"
);
LogInfo
(
"第一次打开轴"
+
axis
.
Explain
+
"失败,先清理一下报警,再重新打开一次"
);
ACServerManager
.
AlarmClear
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
ACServerManager
.
AlarmClear
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
System
.
Threading
.
Thread
.
Sleep
(
1200
);
System
.
Threading
.
Thread
.
Sleep
(
1200
);
ACServerManager
.
ServoOn
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
ACServerManager
.
ServoOn
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
System
.
Threading
.
Thread
.
Sleep
(
100
);
System
.
Threading
.
Thread
.
Sleep
(
100
);
if
(
ACServerManager
.
ServerOnStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
()))
if
(
ACServerManager
.
ServerOnStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
()))
{
{
LogInfo
(
"清理报警后重新打卡轴成功:"
+
axis
.
Explain
);
LogInfo
(
"清理报警后重新打卡轴成功:"
+
axis
.
Explain
);
}
}
else
else
{
{
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
int
alarmCode
=
GetAlarmCodeByAxis
(
axis
);
int
alarmCode
=
GetAlarmCodeByAxis
(
axis
);
WarnMsg
=
Name
+
"打开轴"
+
axis
.
Explain
+
"失败 "
;
WarnMsg
=
Name
+
"打开轴"
+
axis
.
Explain
+
"失败 "
;
LogInfo
(
WarnMsg
);
LogInfo
(
WarnMsg
);
Alarm
(
StoreAlarmType
.
AxisAlarm
,
GetAlarmCodeByAxis
(
axis
).
ToString
(),
WarnMsg
,
MoveInfo
.
MoveType
);
Alarm
(
StoreAlarmType
.
AxisAlarm
,
GetAlarmCodeByAxis
(
axis
).
ToString
(),
WarnMsg
,
MoveInfo
.
MoveType
);
return
false
;
return
false
;
}
}
...
@@ -548,23 +441,23 @@ namespace OnlineStore.DeviceLibrary
...
@@ -548,23 +441,23 @@ namespace OnlineStore.DeviceLibrary
{
{
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
//关闭串口,等下次重新打开
//关闭串口,等下次重新打开
// ACServerManager.ColsePort(axis.DeviceName);
// ACServerManager.ColsePort(axis.DeviceName);
}
}
Thread
.
Sleep
(
100
);
Thread
.
Sleep
(
100
);
IOMove
(
IO_Type
.
Run_Signal
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Run_Signal
,
IO_VALUE
.
LOW
);
}
}
/// <summary>
/// <summary>
/// 停止运行
/// 停止运行
/// </summary>
/// </summary>
public
override
void
StopRun
()
public
override
void
StopRun
()
{
{
WarnMsg
=
""
;
WarnMsg
=
""
;
autoNext
=
false
;
AutoInout
.
autoNext
=
false
;
IoCheckTimer
.
Enabled
=
false
;
IoCheckTimer
.
Enabled
=
false
;
serverConnectTimer
.
Enabled
=
false
;
serverConnectTimer
.
Enabled
=
false
;
StopMove
(
);
StopMove
();
storeRunStatus
=
StoreRunStatus
.
Wait
;
storeRunStatus
=
StoreRunStatus
.
Wait
;
mainTimer
.
Enabled
=
false
;
mainTimer
.
Enabled
=
false
;
...
@@ -573,44 +466,44 @@ namespace OnlineStore.DeviceLibrary
...
@@ -573,44 +466,44 @@ namespace OnlineStore.DeviceLibrary
//LineConnect.StopConnect();
//LineConnect.StopConnect();
IOManager
.
instance
.
CloseAllDO
();
IOManager
.
instance
.
CloseAllDO
();
LogInfo
(
",停止运行,总运行时间:"
+
span
.
ToString
());
LogInfo
(
",停止运行,总运行时间:"
+
span
.
ToString
());
}
}
public
override
void
Alarm
(
StoreAlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
StoreMoveType
storeMoveType
)
public
override
void
Alarm
(
StoreAlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
StoreMoveType
storeMoveType
)
{
{
SaveAlarmInfo
(
alarmType
,
alarmDetial
,
alarmMsg
,
storeMoveType
);
SaveAlarmInfo
(
alarmType
,
alarmDetial
,
alarmMsg
,
storeMoveType
);
autoNext
=
false
;
AutoInout
.
autoNext
=
false
;
if
(
this
.
alarmType
.
Equals
(
alarmType
)
&&
alarmType
!=
StoreAlarmType
.
SuddenStop
&&
alarmType
!=
StoreAlarmType
.
NoAirCheck
)
if
(
this
.
alarmType
.
Equals
(
alarmType
)
&&
alarmType
!=
StoreAlarmType
.
SuddenStop
&&
alarmType
!=
StoreAlarmType
.
NoAirCheck
)
{
{
return
;
return
;
}
}
LogUtil
.
error
(
Name
+
" 报警,报警类型:"
+
alarmType
);
LogUtil
.
error
(
Name
+
" 报警,报警类型:"
+
alarmType
);
this
.
alarmType
=
alarmType
;
this
.
alarmType
=
alarmType
;
if
(
alarmType
.
Equals
(
StoreAlarmType
.
AxisAlarm
)
|
alarmType
.
Equals
(
StoreAlarmType
.
AxisMoveError
))
if
(
alarmType
.
Equals
(
StoreAlarmType
.
AxisAlarm
)
|
alarmType
.
Equals
(
StoreAlarmType
.
AxisMoveError
))
{
{
LogUtil
.
error
(
Name
+
"轴报警,关闭刹车,停止运动,关闭轴,打开报警灯"
);
LogUtil
.
error
(
Name
+
"轴报警,关闭刹车,停止运动,关闭轴,打开报警灯"
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
StopMove
(
);
StopMove
();
}
}
else
if
(
alarmType
==
StoreAlarmType
.
SuddenStop
)
else
if
(
alarmType
==
StoreAlarmType
.
SuddenStop
)
{
{
isInSuddenDown
=
true
;
isInSuddenDown
=
true
;
LogUtil
.
error
(
Name
+
"收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 "
);
LogUtil
.
error
(
Name
+
"收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 "
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
StopMove
(
);
StopMove
();
storeStatus
=
StoreStatus
.
SuddenStop
;
storeStatus
=
StoreStatus
.
SuddenStop
;
}
}
else
if
(
alarmType
.
Equals
(
StoreAlarmType
.
NoAirCheck
))
else
if
(
alarmType
.
Equals
(
StoreAlarmType
.
NoAirCheck
))
{
{
isNoAirCheck
=
true
;
isNoAirCheck
=
true
;
LogUtil
.
error
(
Name
+
" 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 "
);
LogUtil
.
error
(
Name
+
" 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 "
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
StopMove
(
);
StopMove
();
storeStatus
=
StoreStatus
.
SuddenStop
;
storeStatus
=
StoreStatus
.
SuddenStop
;
}
}
}
}
...
@@ -660,7 +553,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -660,7 +553,7 @@ namespace OnlineStore.DeviceLibrary
private
IO_VALUE
preAirValue
=
IO_VALUE
.
HIGH
;
private
IO_VALUE
preAirValue
=
IO_VALUE
.
HIGH
;
private
void
AirCheckProcess
()
private
void
AirCheckProcess
()
{
{
IO_VALUE
currAirValue
=
IOValue
(
IO_Type
.
Airpressure_Check
);
IO_VALUE
currAirValue
=
IOValue
(
IO_Type
.
Airpressure_Check
);
if
(
isInSuddenDown
)
if
(
isInSuddenDown
)
{
{
...
@@ -704,8 +597,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -704,8 +597,8 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
"【"
+
info
+
"】 处理完成,耗时:"
+
stopwatch
.
Elapsed
.
ToString
());
LogUtil
.
info
(
"【"
+
info
+
"】 处理完成,耗时:"
+
stopwatch
.
Elapsed
.
ToString
());
}
}
}
}
private
IO_VALUE
lastAutoRun
=
IO_VALUE
.
LOW
;
private
IO_VALUE
lastAutoRun
=
IO_VALUE
.
LOW
;
public
void
IoCheckProcess
()
public
void
IoCheckProcess
()
{
{
DateTime
time
=
DateTime
.
Now
;
DateTime
time
=
DateTime
.
Now
;
...
@@ -718,11 +611,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -718,11 +611,11 @@ namespace OnlineStore.DeviceLibrary
if
(
autoSingle
.
Equals
(
IO_VALUE
.
HIGH
)
&&
lastAutoRun
.
Equals
(
IO_VALUE
.
LOW
))
if
(
autoSingle
.
Equals
(
IO_VALUE
.
HIGH
)
&&
lastAutoRun
.
Equals
(
IO_VALUE
.
LOW
))
{
{
//没有启动时收到复位按钮,相当于启动按钮
//没有启动时收到复位按钮,相当于启动按钮
LogInfo
(
"没有启动时收到复位按钮,相当于启动按钮,开始调用启动方法!"
);
LogInfo
(
"没有启动时收到复位按钮,相当于启动按钮,开始调用启动方法!"
);
bool
result
=
StartRun
();
bool
result
=
StartRun
();
if
(
result
.
Equals
(
false
))
if
(
result
.
Equals
(
false
))
{
{
LogUtil
.
error
(
Name
+
"料仓启动失败,继续等待下次启动!"
);
LogUtil
.
error
(
Name
+
"料仓启动失败,继续等待下次启动!"
);
mainTimer
.
Enabled
=
true
;
mainTimer
.
Enabled
=
true
;
}
}
}
}
...
@@ -750,20 +643,20 @@ namespace OnlineStore.DeviceLibrary
...
@@ -750,20 +643,20 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
None
))
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
None
))
{
{
LogUtil
.
info
(
Name
+
"收到复位信号,当前无报警,且空闲中,只回到待机点"
);
LogUtil
.
info
(
Name
+
"收到复位信号,当前无报警,且空闲中,只回到待机点"
);
MoveToP1
();
MoveToP1
();
}
}
else
else
{
{
LogUtil
.
info
(
Name
+
"收到复位信号,当前无报警, 在"
+
MoveInfo
.
MoveType
+
"处理中,不处理复位"
);
LogUtil
.
info
(
Name
+
"收到复位信号,当前无报警, 在"
+
MoveInfo
.
MoveType
+
"处理中,不处理复位"
);
}
}
}
}
else
else
{
{
//收到复位信号
//收到复位信号
LogUtil
.
info
(
"收到复位信号,自动复位"
);
LogUtil
.
info
(
"收到复位信号,自动复位"
);
WarnMsg
=
"收到复位信号,自动复位"
;
WarnMsg
=
"收到复位信号,自动复位"
;
Reset
();
Reset
();
}
}
}
}
}
}
...
@@ -782,22 +675,19 @@ namespace OnlineStore.DeviceLibrary
...
@@ -782,22 +675,19 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
))
else
if
(
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
))
{
{
ShowTimeLog
(
"判断是否需要出入库"
);
ShowTimeLog
(
"判断是否需要出入库"
);
AutoResetProcess
();
AutoResetProcess
();
ShowTimeLog
(
"AutoResetProcess"
);
ShowTimeLog
(
"AutoResetProcess"
);
IOTimeOutProcess
();
IOTimeOutProcess
();
ShowTimeLog
(
"IOTimeOutProcess"
);
ShowTimeLog
(
"IOTimeOutProcess"
);
}
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
Name
+
"定时处理出错"
+
ex
.
ToString
());
LogUtil
.
error
(
Name
+
"定时处理出错"
+
ex
.
ToString
());
}
}
}
}
private
DateTime
preIoTimerOutTime
=
DateTime
.
Now
;
private
DateTime
preIoTimerOutTime
=
DateTime
.
Now
;
/// <summary>
/// <summary>
/// io检测异常
/// io检测异常
...
@@ -822,7 +712,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -822,7 +712,6 @@ namespace OnlineStore.DeviceLibrary
{
{
return
;
return
;
}
}
//若BOX和移栽都没有在等待Io的过程中则此Io超时异常可能已经处理过
//若BOX和移栽都没有在等待Io的过程中则此Io超时异常可能已经处理过
if
(
MoveInfo
.
IsInWait
==
false
)
if
(
MoveInfo
.
IsInWait
==
false
)
{
{
...
@@ -834,7 +723,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -834,7 +723,7 @@ namespace OnlineStore.DeviceLibrary
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
Name
+
"IOTimeOutProcess出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
Name
+
"IOTimeOutProcess出错:"
+
ex
.
ToString
());
}
}
}
}
...
@@ -845,59 +734,59 @@ namespace OnlineStore.DeviceLibrary
...
@@ -845,59 +734,59 @@ namespace OnlineStore.DeviceLibrary
{
{
try
try
{
{
// bool noInStore = LineConnect.WaitInStoreList.Count <= 0;
// bool noInStore = LineConnect.WaitInStoreList.Count <= 0;
bool
noInStore
=
true
;
bool
noInStore
=
true
;
if
(
CurrInOutACount
>=
this
.
Config
.
Box_ResetACount
&&
noInStore
)
if
(
AutoInout
.
CurrInOutACount
>=
this
.
Config
.
Box_ResetACount
&&
noInStore
)
{
{
if
(
storeRunStatus
<
StoreRunStatus
.
Runing
||
MoveInfo
.
MoveType
==
StoreMoveType
.
InStore
||
MoveInfo
.
MoveType
==
StoreMoveType
.
OutStore
)
if
(
storeRunStatus
<
StoreRunStatus
.
Runing
||
MoveInfo
.
MoveType
==
StoreMoveType
.
InStore
||
MoveInfo
.
MoveType
==
StoreMoveType
.
OutStore
)
{
{
LogInfo
(
"已经累计出入库"
+
CurrInOutACount
+
"次,当时当前正在忙碌中暂不复位"
);
LogInfo
(
"已经累计出入库"
+
AutoInout
.
CurrInOutACount
+
"次,当时当前正在忙碌中暂不复位"
);
}
}
else
else
{
{
LogInfo
(
"已经累计出入库"
+
CurrInOutACount
+
"次,需要复位一下"
);
LogInfo
(
"已经累计出入库"
+
AutoInout
.
CurrInOutACount
+
"次,需要复位一下"
);
Reset
();
Reset
();
}
}
}
}
else
if
(
CurrInOutCount
>=
this
.
Config
.
Box_ResetMCount
&&
noInStore
)
//else if (AutoInout.
CurrInOutCount >= this.Config.Box_ResetMCount && noInStore)
{
//
{
if
(
storeRunStatus
<
StoreRunStatus
.
Runing
||
MoveInfo
.
MoveType
==
StoreMoveType
.
InStore
||
MoveInfo
.
MoveType
==
StoreMoveType
.
OutStore
)
//
if (storeRunStatus < StoreRunStatus.Runing || MoveInfo.MoveType == StoreMoveType.InStore || MoveInfo.MoveType == StoreMoveType.OutStore)
{
//
{
LogInfo
(
"已经累计出入库"
+
CurrInOutCount
+
"次,当时当前正在忙碌中暂不复位旋转轴"
);
// LogInfo( "已经累计出入库" + AutoInout.
CurrInOutCount + "次,当时当前正在忙碌中暂不复位旋转轴");
}
//
}
else
//
else
{
//
{
LogInfo
(
"已经累计出入库"
+
CurrInOutCount
+
"次,需要复位一下旋转轴"
);
// LogInfo( "已经累计出入库" + AutoInout.
CurrInOutCount + "次,需要复位一下旋转轴");
}
//
}
}
//
}
//else if (LineConnect.CanStartOut() || IsDebug)
//else if (LineConnect.CanStartOut() || IsDebug)
else
if
(
IsDebug
)
else
{
{
FixtureCodeInfo
currInOutFixture
=
null
;
InOutParam
param
=
null
;
lock
(
waitOutListLock
)
lock
(
waitOutListLock
)
{
{
if
(
waitOutStoreList
.
Count
>
0
&&
CanStarInOut
())
if
(
waitOutStoreList
.
Count
>
0
&&
CanStarInOut
())
{
{
currInOutFixture
=
waitOutStoreList
[
0
];
param
=
waitOutStoreList
[
0
];
waitOutStoreList
.
RemoveAt
(
0
);
waitOutStoreList
.
RemoveAt
(
0
);
}
}
}
}
if
(
currInOutFixture
!=
null
)
if
(
param
!=
null
)
{
//出库
{
//出库
LogInfo
(
"开始执行排队中的出库【"
+
currInOutFixture
.
ToStr
()
+
"】"
);
LogInfo
(
"开始执行排队中的出库【"
+
param
.
ToStr
()
+
"】"
);
bool
result
=
StartOutStoreMove
(
new
InOutParam
(
""
,
currInOutFixture
.
PosId
,
currInOutFixture
.
plateH
,
currInOutFixture
.
plateW
));
bool
result
=
StartOutStoreMove
(
new
InOutParam
(
param
.
WareCode
,
param
.
PosID
,
param
.
PlateH
,
param
.
PlateW
,
param
.
ShelfPosID
));
if
(!
result
)
if
(!
result
)
{
{
LogInfo
(
" 执行排队中的出库【"
+
currInOutFixture
.
ToStr
()
+
"】失败,重新加入等待队列"
);
LogInfo
(
" 执行排队中的出库【"
+
param
.
ToStr
()
+
"】失败,重新加入等待队列"
);
AddWaitOutInfo
(
currInOutFixture
);
AddWaitOutInfo
(
param
);
}
}
}
}
}
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
Name
+
"处理出入库排队列表出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
Name
+
"处理出入库排队列表出错:"
+
ex
.
ToString
());
}
}
}
}
...
@@ -951,7 +840,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -951,7 +840,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(!
info
.
AlarmIoValue
.
Equals
(
alarmIo
))
if
(!
info
.
AlarmIoValue
.
Equals
(
alarmIo
))
{
{
LogUtil
.
error
(
Name
+
" 运动轴 "
+
axisInfo
.
Explain
+
",报警已解除!"
);
LogUtil
.
error
(
Name
+
" 运动轴 "
+
axisInfo
.
Explain
+
",报警已解除!"
);
info
.
AlarmIoValue
=
alarmIo
;
info
.
AlarmIoValue
=
alarmIo
;
}
}
}
}
...
@@ -964,7 +853,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -964,7 +853,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 停止所有运行
/// 停止所有运行
/// </summary>
/// </summary>
public
override
void
StopMove
(
)
public
override
void
StopMove
()
{
{
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
...
@@ -972,16 +861,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -972,16 +861,9 @@ namespace OnlineStore.DeviceLibrary
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
CloseAllAxis
();
LogInfo
(
"StopMove"
);
CloseAllAxis
();
LogInfo
(
"StopMove"
);
//IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
//IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
isInPro
=
false
;
isInPro
=
false
;
}
}
...
@@ -1019,8 +901,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1019,8 +901,8 @@ namespace OnlineStore.DeviceLibrary
if
(!(
posArray
.
Length
==
2
))
if
(!(
posArray
.
Length
==
2
))
{
{
WarnMsg
=
Name
+
"入库库位格式错误:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
;
WarnMsg
=
Name
+
"入库库位格式错误:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
;
LogUtil
.
error
(
Name
+
"服务器反馈 入库库位格式错误:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
LogUtil
.
error
(
Name
+
"服务器反馈 入库库位格式错误:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
LogUtil
.
info
(
"服务器反馈 入库库位格式错误:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
LogUtil
.
info
(
"服务器反馈 入库库位格式错误:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
return
;
return
;
}
}
...
@@ -1031,7 +913,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1031,7 +913,7 @@ namespace OnlineStore.DeviceLibrary
{
//出入库没有找到服务器发送的库位,需要打印日志方便查询原因
{
//出入库没有找到服务器发送的库位,需要打印日志方便查询原因
WarnMsg
=
"入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】 "
;
WarnMsg
=
"入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】 "
;
LogUtil
.
error
(
Name
+
"收到服务器入库命令:入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
LogUtil
.
error
(
Name
+
"收到服务器入库命令:入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
LogUtil
.
info
(
"收到服务器入库命令:入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
LogUtil
.
info
(
"收到服务器入库命令:入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
return
;
return
;
}
}
//TODO:判断BOX是否处于可以入库状态,如果调试或急停中,需要返回给服务器;
//TODO:判断BOX是否处于可以入库状态,如果调试或急停中,需要返回给服务器;
...
@@ -1040,11 +922,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1040,11 +922,11 @@ namespace OnlineStore.DeviceLibrary
InOutParam
param
=
new
InOutParam
(
message
,
posId
,
plateH
,
plateW
);
InOutParam
param
=
new
InOutParam
(
message
,
posId
,
plateH
,
plateW
);
StartInStoreMove
(
param
);
StartInStoreMove
(
param
);
//如果当前正在出入库中,需要记录下来,等待空闲时执行
//如果当前正在出入库中,需要记录下来,等待空闲时执行
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 开始入库!"
);
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 开始入库!"
);
}
}
else
else
{
{
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 正在忙碌中,无法入库!"
);
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 正在忙碌中,无法入库!"
);
}
}
}
}
...
@@ -1053,17 +935,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1053,17 +935,16 @@ namespace OnlineStore.DeviceLibrary
public
bool
ReviceLineCheckInStoreCMD
(
string
posId
,
string
plateH
,
string
plateW
,
string
message
)
public
bool
ReviceLineCheckInStoreCMD
(
string
posId
,
string
plateH
,
string
plateW
,
string
message
)
{
{
string
logName
=
Name
+
"入库库位验证【 "
+
message
+
"】【"
+
posId
+
"】:"
;
string
logName
=
Name
+
"入库库位验证【 "
+
message
+
"】【"
+
posId
+
"】:"
;
try
try
{
{
if
(
storeRunStatus
.
Equals
(
StoreRunStatus
.
Wait
))
if
(
storeRunStatus
.
Equals
(
StoreRunStatus
.
Wait
))
{
{
LogUtil
.
info
(
logName
+
" 设备未启动,验证失败"
);
LogUtil
.
info
(
logName
+
" 设备未启动,验证失败"
);
return
false
;
return
false
;
}
}
// CodeMsg = "收到二维码【 " + message + "】,发送给服务器获取入库PosID";
// CodeMsg = "收到二维码【 " + message + "】,发送给服务器获取入库PosID";
LogUtil
.
debug
(
logName
+
"发送给服务器验证入库PosID"
);
LogUtil
.
debug
(
logName
+
"发送给服务器验证入库PosID"
);
//发送扫码内容到服务器进行入库操作
//发送扫码内容到服务器进行入库操作
Operation
operation
=
getLineBoxStatus
();
Operation
operation
=
getLineBoxStatus
();
operation
.
op
=
1
;
operation
.
op
=
1
;
...
@@ -1074,23 +955,23 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1074,23 +955,23 @@ namespace OnlineStore.DeviceLibrary
if
(
resultOperation
==
null
)
if
(
resultOperation
==
null
)
{
{
// CodeMsg = "二维码【" + message + "】没有收到服务器反馈";
// CodeMsg = "二维码【" + message + "】没有收到服务器反馈";
LogUtil
.
info
(
logName
+
" 没有收到服务器反馈 "
);
LogUtil
.
info
(
logName
+
" 没有收到服务器反馈 "
);
}
}
else
if
(!
string
.
IsNullOrEmpty
(
resultOperation
.
msg
))
else
if
(!
string
.
IsNullOrEmpty
(
resultOperation
.
msg
))
{
{
//如果有提示消息,直接显示提示
//如果有提示消息,直接显示提示
LogUtil
.
info
(
logName
+
"服务器反馈 :"
+
resultOperation
.
msg
);
LogUtil
.
info
(
logName
+
"服务器反馈 :"
+
resultOperation
.
msg
);
}
}
else
if
(
resultOperation
.
op
.
Equals
(
1
))
else
if
(
resultOperation
.
op
.
Equals
(
1
))
{
{
LogUtil
.
info
(
logName
+
" 成功"
);
LogUtil
.
info
(
logName
+
" 成功"
);
return
true
;
return
true
;
}
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
info
(
logName
+
" 出错:"
+
ex
.
ToString
());
LogUtil
.
info
(
logName
+
" 出错:"
+
ex
.
ToString
());
}
}
return
false
;
return
false
;
...
@@ -1132,7 +1013,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1132,7 +1013,7 @@ namespace OnlineStore.DeviceLibrary
{
{
LogUtil
.
info
(
logName
+
" 正在忙碌中,无法入库!"
);
LogUtil
.
info
(
logName
+
" 正在忙碌中,无法入库!"
);
}
}
}
}
#
endregion
#
endregion
...
@@ -1174,7 +1055,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1174,7 +1055,7 @@ namespace OnlineStore.DeviceLibrary
{
{
humidity
=
param
.
Humidity
;
humidity
=
param
.
Humidity
;
temp
=
param
.
Temperate
;
temp
=
param
.
Temperate
;
currTempStr
=
Name
+
(
"当前湿度:"
+
humidity
.
ToString
()
+
",当前温度:"
+
temp
);
currTempStr
=
Name
+
(
"当前湿度:"
+
humidity
.
ToString
()
+
",当前温度:"
+
temp
);
}
}
//double currMaxHumidity = HumitureServer.GetMaxHumidity(Config.GetTempAddrList());
//double currMaxHumidity = HumitureServer.GetMaxHumidity(Config.GetTempAddrList());
double
currMaxHumidity
=
param
.
Humidity
;
double
currMaxHumidity
=
param
.
Humidity
;
...
@@ -1268,7 +1149,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1268,7 +1149,7 @@ namespace OnlineStore.DeviceLibrary
#
endregion
#
endregion
#
region
与服务器通信定时器,每
1
秒向服务器通知一次状态
,
同时执行出库操作
#
region
与服务器通信定时器,每
1
秒向服务器通知一次状态
,
同时执行出库操作
private
string
CodeMsg
=
""
;
private
string
CodeMsg
=
""
;
private
bool
isInProcess
=
false
;
private
bool
isInProcess
=
false
;
public
void
server_connect_timer_Tick
(
object
sender
,
EventArgs
e
)
public
void
server_connect_timer_Tick
(
object
sender
,
EventArgs
e
)
...
@@ -1276,10 +1157,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1276,10 +1157,10 @@ namespace OnlineStore.DeviceLibrary
if
(
isInProcess
)
if
(
isInProcess
)
{
{
return
;
return
;
}
}
isInProcess
=
true
;
isInProcess
=
true
;
try
try
{
{
if
(
StoreManager
.
IsConnectServer
)
if
(
StoreManager
.
IsConnectServer
)
{
{
try
try
...
@@ -1288,15 +1169,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1288,15 +1169,16 @@ namespace OnlineStore.DeviceLibrary
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
Name
+
"定时给服务器发送消息出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
Name
+
"定时给服务器发送消息出错:"
+
ex
.
ToString
());
}
}
}
}
HumitureController
.
QueryData
();
HumitureController
.
QueryData
();
HumidityProcess
();
HumidityProcess
();
}
catch
(
Exception
ex
)
}
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
Name
+
"server_connect_timer_Tick出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
Name
+
"server_connect_timer_Tick出错:"
+
ex
.
ToString
());
}
}
isInProcess
=
false
;
isInProcess
=
false
;
}
}
...
@@ -1326,7 +1208,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1326,7 +1208,7 @@ namespace OnlineStore.DeviceLibrary
BoxStatus
boxStatus
=
new
BoxStatus
();
BoxStatus
boxStatus
=
new
BoxStatus
();
boxStatus
.
boxId
=
1
;
boxStatus
.
boxId
=
1
;
boxStatus
.
msg
=
WarnMsg
;
boxStatus
.
msg
=
WarnMsg
;
lineOperation
.
msg
=
WarnMsg
;
lineOperation
.
msg
=
WarnMsg
;
...
@@ -1361,10 +1243,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1361,10 +1243,10 @@ namespace OnlineStore.DeviceLibrary
boxStatus
.
status
=
(
int
)
lastPosIdStatus
;
boxStatus
.
status
=
(
int
)
lastPosIdStatus
;
if
(
lastPosId
!=
""
)
if
(
lastPosId
!=
""
)
{
{
LogUtil
.
info
(
"给服务器发送出入库完成消息:"
+
Name
+
",status【"
+
lastPosIdStatus
+
"】posId【"
+
lastPosId
+
"】"
);
LogUtil
.
info
(
"给服务器发送出入库完成消息:"
+
Name
+
",status【"
+
lastPosIdStatus
+
"】posId【"
+
lastPosId
+
"】"
);
}
}
lastPosId
=
""
;
lastPosId
=
""
;
}
}
//温湿度
//温湿度
//ASTemperateParam param = HumitureServer.GetTemperateParam(Config.Temperate_Serveraddress);
//ASTemperateParam param = HumitureServer.GetTemperateParam(Config.Temperate_Serveraddress);
...
@@ -1392,11 +1274,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1392,11 +1274,11 @@ namespace OnlineStore.DeviceLibrary
if
(
Max_Humidity
<=
0
||
(
Max_Temperature
<=
0
))
if
(
Max_Humidity
<=
0
||
(
Max_Temperature
<=
0
))
{
{
lineOperation
.
op
=
5
;
lineOperation
.
op
=
5
;
LogInfo
(
"没有湿度预警范围,需要从服务器获取,发送OP="
+
lineOperation
.
op
);
LogInfo
(
"没有湿度预警范围,需要从服务器获取,发送OP="
+
lineOperation
.
op
);
}
}
string
server
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
string
server
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
Operation
resultOperation
=
HttpHelper
.
Post
(
StoreManager
.
GetPostApi
(
server
),
lineOperation
,
false
);
Operation
resultOperation
=
HttpHelper
.
Post
(
StoreManager
.
GetPostApi
(
server
),
lineOperation
,
false
);
//发送状态信息到服务器
//发送状态信息到服务器
if
(
resultOperation
==
null
||
(
resultOperation
.
op
<=
0
))
if
(
resultOperation
==
null
||
(
resultOperation
.
op
<=
0
))
{
{
...
@@ -1432,13 +1314,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1432,13 +1314,13 @@ namespace OnlineStore.DeviceLibrary
{
{
string
maxHumidity
=
data
[
ParamDefine
.
maxHumidity
];
string
maxHumidity
=
data
[
ParamDefine
.
maxHumidity
];
string
maxTemp
=
data
[
ParamDefine
.
maxTemperature
];
string
maxTemp
=
data
[
ParamDefine
.
maxTemperature
];
LogUtil
.
info
(
"收到服务器温湿度预警值:maxHumidity="
+
maxHumidity
+
",maxTemperature="
+
maxTemp
);
LogUtil
.
info
(
"收到服务器温湿度预警值:maxHumidity="
+
maxHumidity
+
",maxTemperature="
+
maxTemp
);
try
try
{
{
this
.
Max_Humidity
=
(
float
)
Convert
.
ToDouble
(
maxHumidity
);
this
.
Max_Humidity
=
(
float
)
Convert
.
ToDouble
(
maxHumidity
);
this
.
Max_Temperature
=
(
float
)
Convert
.
ToDouble
(
maxTemp
);
this
.
Max_Temperature
=
(
float
)
Convert
.
ToDouble
(
maxTemp
);
LogUtil
.
info
(
"保存温湿度预警值:Max_Humidity="
+
Max_Humidity
+
",Max_Temperature="
+
Max_Temperature
);
LogUtil
.
info
(
"保存温湿度预警值:Max_Humidity="
+
Max_Humidity
+
",Max_Temperature="
+
Max_Temperature
);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
...
@@ -1447,7 +1329,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1447,7 +1329,8 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
private
void
ReviceOutStoreProcess
(
Operation
resultOperation
)
{
private
void
ReviceOutStoreProcess
(
Operation
resultOperation
)
{
DateTime
time
=
DateTime
.
Now
;
DateTime
time
=
DateTime
.
Now
;
Dictionary
<
string
,
string
>
data
=
resultOperation
.
data
;
Dictionary
<
string
,
string
>
data
=
resultOperation
.
data
;
if
(
data
!=
null
&&
data
.
ContainsKey
(
ParamDefine
.
posId
)
if
(
data
!=
null
&&
data
.
ContainsKey
(
ParamDefine
.
posId
)
...
@@ -1457,7 +1340,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1457,7 +1340,7 @@ namespace OnlineStore.DeviceLibrary
string
plateWStr
=
data
[
ParamDefine
.
plateW
];
string
plateWStr
=
data
[
ParamDefine
.
plateW
];
string
plateHStr
=
data
[
ParamDefine
.
plateH
];
string
plateHStr
=
data
[
ParamDefine
.
plateH
];
LogUtil
.
info
(
"收到服务器出库消息:poaIs="
+
posIdStr
+
",platew="
+
plateWStr
+
",plateh="
+
plateHStr
);
LogUtil
.
info
(
"收到服务器出库消息:poaIs="
+
posIdStr
+
",platew="
+
plateWStr
+
",plateh="
+
plateHStr
);
char
splitChar
=
'|'
;
char
splitChar
=
'|'
;
string
[]
posIdArray
=
posIdStr
.
Split
(
splitChar
);
string
[]
posIdArray
=
posIdStr
.
Split
(
splitChar
);
string
[]
plateWArray
=
plateWStr
.
Split
(
splitChar
);
string
[]
plateWArray
=
plateWStr
.
Split
(
splitChar
);
...
@@ -1472,7 +1355,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1472,7 +1355,7 @@ namespace OnlineStore.DeviceLibrary
if
(
posArray
.
Length
!=
2
)
if
(
posArray
.
Length
!=
2
)
{
{
WarnMsg
=
Name
+
"出库格式错误:库位号【"
+
posId
+
"】"
;
WarnMsg
=
Name
+
"出库格式错误:库位号【"
+
posId
+
"】"
;
LogUtil
.
error
(
Name
+
"收到服务器出库命令:库位号【"
+
posId
+
"】格式错误"
);
LogUtil
.
error
(
Name
+
"收到服务器出库命令:库位号【"
+
posId
+
"】格式错误"
);
continue
;
continue
;
}
}
int
storeId
=
int
.
Parse
(
posArray
[
0
]);
int
storeId
=
int
.
Parse
(
posArray
[
0
]);
...
@@ -1483,50 +1366,51 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1483,50 +1366,51 @@ namespace OnlineStore.DeviceLibrary
{
{
//出入库没有找到服务器发送的库位,需要打印日志方便查询原因
//出入库没有找到服务器发送的库位,需要打印日志方便查询原因
WarnMsg
=
Name
+
"出库未找库位:【"
+
posId
+
"】"
;
WarnMsg
=
Name
+
"出库未找库位:【"
+
posId
+
"】"
;
LogUtil
.
error
(
Name
+
"收到服务器出库命令:未找到【"
+
posId
+
"】的库位信息"
);
LogUtil
.
error
(
Name
+
"收到服务器出库命令:未找到【"
+
posId
+
"】的库位信息"
);
continue
;
continue
;
}
}
else
else
{
{
FixtureCodeInfo
currInOutFixture
=
new
FixtureCodeInfo
(
0
,
""
,
posId
,
plateW
,
plateH
);
InOutParam
currInOutFixture
=
new
InOutParam
(
""
,
posId
,
plateW
,
plateH
);
try
try
{
{
//判断是否接收过此库位的出库信息
//判断是否接收过此库位的出库信息
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
MoveInfo
.
MoveParam
.
Pos
itionNum
.
Equals
(
posId
))
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
MoveInfo
.
MoveParam
.
Pos
ID
.
Equals
(
posId
))
{
{
LogInfo
(
" 收到出库【"
+
currInOutFixture
.
ToStr
()
+
"】重复,当前已在【"
+
posId
+
"】出库中"
);
LogInfo
(
" 收到出库【"
+
currInOutFixture
.
ToStr
()
+
"】重复,当前已在【"
+
posId
+
"】出库中"
);
continue
;
continue
;
}
}
else
else
{
{
//判断排队列表中是否已存在
//判断排队列表中是否已存在
List
<
FixtureCodeInfo
>
reviceList
=
new
List
<
FixtureCodeInfo
>(
waitOutStoreList
);
List
<
InOutParam
>
reviceList
=
new
List
<
InOutParam
>(
waitOutStoreList
);
reviceList
=
(
from
m
in
reviceList
where
m
.
PosI
d
.
Equals
(
posId
)
select
m
).
ToList
<
FixtureCodeInfo
>();
reviceList
=
(
from
m
in
reviceList
where
m
.
PosI
D
.
Equals
(
posId
)
select
m
).
ToList
<
InOutParam
>();
if
(
reviceList
.
Count
>
0
)
if
(
reviceList
.
Count
>
0
)
{
{
LogInfo
(
" 收到出库【"
+
currInOutFixture
.
ToStr
()
+
"】重复,排队列表中已存在【"
+
reviceList
[
0
].
ToStr
()
+
"】"
);
LogInfo
(
" 收到出库【"
+
currInOutFixture
.
ToStr
()
+
"】重复,排队列表中已存在【"
+
reviceList
[
0
].
ToStr
()
+
"】"
);
continue
;
continue
;
}
}
}
}
}
catch
(
Exception
ex
)
}
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
"验证出库【"
+
currInOutFixture
.
ToStr
()
+
"】是否重复出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
"验证出库【"
+
currInOutFixture
.
ToStr
()
+
"】是否重复出错:"
+
ex
.
ToString
());
}
}
if
(
CanStarInOut
()
)
if
(
CanStarInOut
())
//if (CanStarInOut() &&( LineConnect.CanStartOut()||IsDebug))
//if (CanStarInOut() &&( LineConnect.CanStartOut()||IsDebug))
{
{
bool
result
=
StartOutStoreMove
(
new
InOutParam
(
""
,
posId
,
plateW
,
plateH
));
bool
result
=
StartOutStoreMove
(
new
InOutParam
(
""
,
posId
,
plateW
,
plateH
));
if
(!
result
)
if
(!
result
)
{
{
LogInfo
(
" 执行出库【"
+
currInOutFixture
.
ToStr
()
+
"】失败,加入等待队列"
);
LogInfo
(
" 执行出库【"
+
currInOutFixture
.
ToStr
()
+
"】失败,加入等待队列"
);
AddWaitOutInfo
(
currInOutFixture
);
AddWaitOutInfo
(
currInOutFixture
);
}
}
}
}
else
else
{
{
LogUtil
.
error
(
Name
+
"执行出库【"
+
currInOutFixture
.
ToStr
()
+
"】失败,当前在忙碌中,加入等待队列"
);
LogUtil
.
error
(
Name
+
"执行出库【"
+
currInOutFixture
.
ToStr
()
+
"】失败,当前在忙碌中,加入等待队列"
);
AddWaitOutInfo
(
currInOutFixture
);
AddWaitOutInfo
(
currInOutFixture
);
}
}
}
}
...
@@ -1541,7 +1425,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1541,7 +1425,7 @@ namespace OnlineStore.DeviceLibrary
}
}
#
endregion
#
endregion
}
}
}
}
\ No newline at end of file
\ No newline at end of file
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
查看文件 @
11e2c78
...
@@ -11,79 +11,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -11,79 +11,6 @@ namespace OnlineStore.DeviceLibrary
partial
class
AC_BOX_Bean
partial
class
AC_BOX_Bean
{
{
#
region
自动出入库参数
/// <summary>
/// 入库完成后自动出库,出库完成后自动入库
/// </summary>
public
bool
autoNext
=
false
;
/// <summary>
/// 自动出入库间隔
/// </summary>
public
int
autoJiange
=
3
;
public
int
autoPositionIndex
=
0
;
public
string
autoMsg
=
""
;
public
int
AutoStartIndex
=
-
1
;
#
endregion
#
region
出入库参数
/// <summary>
/// 当前出入库的次数,超过配置的数量时,需要自动重置一下,再进行出入库
/// </summary>
private
int
CurrInOutCount
=
0
;
private
int
CurrInOutACount
=
0
;
private
bool
LoadParamPosition
(
InOutParam
param
)
{
if
(
param
==
null
)
{
return
false
;
}
//加载位置
if
(
param
.
MoveP
==
null
)
{
LineMoveP
p
=
new
LineMoveP
();
ACBoxPosition
position
=
param
.
GetACPosition
();
if
(
position
==
null
)
{
LogUtil
.
error
(
Name
+
"出入库时发现param中取到的Position=null,没有库位不能执行出入库"
);
return
false
;
}
p
.
ComPress_P1
=
Config
.
CompressAxis_P1_Position
;
p
.
InOut_P1
=
Config
.
InOutAxis_P1_Position
;
p
.
Middle_P1
=
Config
.
MiddleAxis_P1_Position
;
p
.
InOut_P2
=
position
.
InOutAxis_DoorPosition_P2
;
p
.
UpDown_P1
=
Config
.
UpDownAxis_DoorOPosition_P1
;
p
.
UpDown_P8
=
Config
.
UpDownAxis_DoorIBPosition_P8
;
p
.
UpDown_P2
=
Config
.
UpDownAxis_DoorIPosition_P2
;
p
.
UpDown_P7
=
Config
.
UpDownAxis_DoorOBPosition_P7
;
p
.
ComPress_P2
=
position
.
CompressAxis_Position_P2
;
p
.
ComPress_P3
=
position
.
CompressAxis_CPosition_P3
;
p
.
InOut_P3
=
position
.
InOutAxis_Position_P3
;
p
.
Middle_P2
=
position
.
MiddleAxis_Position_P2
;
p
.
UpDown_P3
=
position
.
UpDownAxis_IHPosition_P3
;
p
.
UpDown_P4
=
position
.
UpDownAxis_ILPosition_P4
;
p
.
UpDown_P5
=
position
.
UpDownAxis_OHPosition_P5
;
p
.
UpDown_P6
=
position
.
UpDownAxis_OLPosition_P6
;
param
.
MoveP
=
p
;
if
(
String
.
IsNullOrEmpty
(
param
.
PlateH
))
{
param
.
PlateH
=
position
.
BagHigh
.
ToString
();
}
if
(
string
.
IsNullOrEmpty
(
param
.
PlateW
))
{
param
.
PlateW
=
position
.
BagWidth
.
ToString
();
}
return
true
;
}
return
true
;
}
#
endregion
#
region
出入库结果验证
#
region
出入库结果验证
private
void
InOutBackToP1
(
int
InOut_P1
)
private
void
InOutBackToP1
(
int
InOut_P1
)
{
{
...
@@ -227,10 +154,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -227,10 +154,10 @@ namespace OnlineStore.DeviceLibrary
public
override
void
StartInStoreMove
(
InOutParam
param
)
public
override
void
StartInStoreMove
(
InOutParam
param
)
{
{
startInStoreTime
=
DateTime
.
Now
;
startInStoreTime
=
DateTime
.
Now
;
string
posId
=
param
!=
null
?
param
.
Pos
itionNum
:
""
;
string
posId
=
param
!=
null
?
param
.
Pos
ID
:
""
;
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
{
{
if
(!
LoadParamPosition
(
param
))
if
(!
StoreManager
.
LoadInoutParam
(
param
,
this
))
{
{
LogUtil
.
error
(
Name
+
" 启动入库【"
+
posId
+
"】出错,找不到库位信息"
);
LogUtil
.
error
(
Name
+
" 启动入库【"
+
posId
+
"】出错,找不到库位信息"
);
return
;
return
;
...
@@ -279,10 +206,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -279,10 +206,8 @@ namespace OnlineStore.DeviceLibrary
return
;
return
;
}
}
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_00_TrayCheck
)
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_00_TrayCheck
)
{
{
SI_02_Move
(
moveP
);
SI_02_Move
(
moveP
);
}
}
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_01_LocationCylinderDown
)
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_01_LocationCylinderDown
)
{
{
...
@@ -298,11 +223,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -298,11 +223,9 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_03_ReturnHome
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_03_ReturnHome
)
{
{
InStoreLog
(
"入库:SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴至P3(压紧前点) 开始"
);
InStoreLog
(
"入库:SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴至P3(压紧前点) 开始"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_04_CompressWare
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_04_CompressWare
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_04_CompressWare
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_04_CompressWare
)
{
{
...
@@ -325,49 +248,37 @@ namespace OnlineStore.DeviceLibrary
...
@@ -325,49 +248,37 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_07_DeviceBackFromDoor
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_07_DeviceBackFromDoor
)
{
{
InStoreLog
(
"入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) "
);
InStoreLog
(
"入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
//关闭舱门
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
CloseDoor
(
false
);
CloseDoor
(
false
);
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_08_LocationCylinder_Up
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_08_LocationCylinder_Up
)
{
{
InStoreLog
(
"入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点)),关闭舱门 "
);
InStoreLog
(
"入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点)),关闭舱门 "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
//关闭舱门
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
CloseDoor
(
false
);
CloseDoor
(
false
);
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_09_MoveToBag
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_09_MoveToBag
)
{
{
InStoreLog
(
"入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) "
);
InStoreLog
(
"入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_11_DeviceToBag
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_11_DeviceToBag
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_10_LocationCylinder_Down
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_10_LocationCylinder_Down
)
{
{
//IOManager.IOMove(IO_Type.LocationCylinder_Down, IO_VALUE.LOW);
InStoreLog
(
"入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) "
);
InStoreLog
(
"入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_11_DeviceToBag
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_11_DeviceToBag
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_11_DeviceToBag
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_11_DeviceToBag
)
{
{
InStoreLog
(
"入库:SI_12 放下物品,升降轴至P4(库位入料缓冲点),压紧轴至P3(压紧前点) "
);
InStoreLog
(
"入库:SI_12 放下物品,升降轴至P4(库位入料缓冲点),压紧轴至P3(压紧前点) "
);
// 5= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态)
// 5= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态)
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
itionNum
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
ID
:
""
;
lastPosId
=
posId
;
lastPosId
=
posId
;
lastPosIdStatus
=
StoreStatus
.
InStoreEnd
;
lastPosIdStatus
=
StoreStatus
.
InStoreEnd
;
storeStatus
=
StoreStatus
.
InStoreEnd
;
storeStatus
=
StoreStatus
.
InStoreEnd
;
...
@@ -381,8 +292,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -381,8 +292,7 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_12_PutWareToBag
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_12_PutWareToBag
)
{
{
InStoreLog
(
"入库:SI_13 叉子从库位中返回,进出轴动作至P1(待机点) "
);
InStoreLog
(
"入库:SI_13 叉子从库位中返回,进出轴动作至P1(待机点) "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_13_DeviceBackFromBag
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_13_DeviceBackFromBag
);
InOutBackToP1
(
moveP
.
InOut_P1
);
InOutBackToP1
(
moveP
.
InOut_P1
);
}
}
...
@@ -398,17 +308,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -398,17 +308,17 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_14_GoBack
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_14_GoBack
)
{
{
TimeSpan
span
=
DateTime
.
Now
-
startInStoreTime
;
TimeSpan
span
=
DateTime
.
Now
-
startInStoreTime
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
itionNum
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
ID
:
""
;
LogInfo
(
" 【"
+
posId
+
"】 整个入库流程结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
);
LogInfo
(
" 【"
+
posId
+
"】 整个入库流程结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
storeRunStatus
=
StoreRunStatus
.
Runing
;
storeRunStatus
=
StoreRunStatus
.
Runing
;
//设备连接,入库后,BOX恢复原始状态
//设备连接,入库后,BOX恢复原始状态
storeStatus
=
StoreStatus
.
StoreOnline
;
storeStatus
=
StoreStatus
.
StoreOnline
;
InOutEndProcess
(
StoreMoveType
.
InStore
);
AutoInout
.
InOutEndProcess
(
this
,
StoreMoveType
.
InStore
);
}
}
else
else
{
{
LogInfo
(
" 入库,moveStatus="
+
MoveInfo
.
MoveStep
+
",没有对应的处理!"
);
ShelfInStoreProcess
(
);
}
}
}
}
...
@@ -424,10 +334,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -424,10 +334,10 @@ namespace OnlineStore.DeviceLibrary
public
override
bool
StartOutStoreMove
(
InOutParam
param
)
public
override
bool
StartOutStoreMove
(
InOutParam
param
)
{
{
startOutStoreTime
=
DateTime
.
Now
;
startOutStoreTime
=
DateTime
.
Now
;
string
posId
=
param
!=
null
?
param
.
Pos
itionNum
:
""
;
string
posId
=
param
!=
null
?
param
.
Pos
ID
:
""
;
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
{
{
if
(!
LoadParamPosition
(
param
))
if
(!
StoreManager
.
LoadInoutParam
(
param
,
this
))
{
{
LogUtil
.
error
(
Name
+
" 启动出库【"
+
posId
+
"】出错,找不到库位信息"
);
LogUtil
.
error
(
Name
+
" 启动出库【"
+
posId
+
"】出错,找不到库位信息"
);
return
false
;
return
false
;
...
@@ -501,7 +411,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -501,7 +411,7 @@ namespace OnlineStore.DeviceLibrary
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
moveP
.
InOut_P1
);
InOutBackToP1
(
moveP
.
InOut_P1
);
//把库位的物品放到取到叉子上之后是出仓完成
//把库位的物品放到取到叉子上之后是出仓完成
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
itionNum
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
ID
:
""
;
lastPosId
=
posId
;
lastPosId
=
posId
;
lastPosIdStatus
=
StoreStatus
.
OutStoreBoxEnd
;
lastPosIdStatus
=
StoreStatus
.
OutStoreBoxEnd
;
storeStatus
=
StoreStatus
.
OutStoreBoxEnd
;
storeStatus
=
StoreStatus
.
OutStoreBoxEnd
;
...
@@ -511,7 +421,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -511,7 +421,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
IOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
LOW
))
if
(
IOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
LOW
))
{
{
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
itionNum
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
ID
:
""
;
CodeMsg
=
"出库["
+
posId
+
"]叉子从库位退出后,未检测到料盘有料"
;
CodeMsg
=
"出库["
+
posId
+
"]叉子从库位退出后,未检测到料盘有料"
;
LogUtil
.
error
(
CodeMsg
);
LogUtil
.
error
(
CodeMsg
);
}
}
...
@@ -597,19 +507,18 @@ namespace OnlineStore.DeviceLibrary
...
@@ -597,19 +507,18 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_14_WaitTake
)
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_14_WaitTake
)
{
{
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
itionNum
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
ID
:
""
;
storeStatus
=
StoreStatus
.
StoreOnline
;
storeStatus
=
StoreStatus
.
StoreOnline
;
LogInfo
(
" 【"
+
posId
+
"】 整个出库流程结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
);
LogInfo
(
" 【"
+
posId
+
"】 整个出库流程结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
storeRunStatus
=
StoreRunStatus
.
Runing
;
storeRunStatus
=
StoreRunStatus
.
Runing
;
InOutEndProcess
(
StoreMoveType
.
OutStore
);
AutoInout
.
InOutEndProcess
(
this
,
StoreMoveType
.
OutStore
);
}
}
else
else
{
{
LogUtil
.
error
(
Name
+
" 出库处理,moveStatus="
+
MoveInfo
.
MoveStep
+
",没有对应的处理!"
);
LogUtil
.
error
(
Name
+
" 出库处理,moveStatus="
+
MoveInfo
.
MoveStep
+
",没有对应的处理!"
);
}
}
}
}
private
void
SendOutStoreEnd
(
StoreMoveInfo
storeMove
)
private
void
SendOutStoreEnd
(
StoreMoveInfo
storeMove
)
...
@@ -650,131 +559,25 @@ namespace OnlineStore.DeviceLibrary
...
@@ -650,131 +559,25 @@ namespace OnlineStore.DeviceLibrary
#
endregion
#
endregion
public
List
<
FixtureCodeInfo
>
waitOutStoreList
=
new
List
<
FixtureCodeInfo
>();
public
List
<
InOutParam
>
waitOutStoreList
=
new
List
<
InOutParam
>();
public
object
waitOutListLock
=
""
;
public
object
waitOutListLock
=
""
;
public
void
AddWaitOutInfo
(
FixtureCodeInfo
code
)
public
void
AddWaitOutInfo
(
InOutParam
code
)
{
{
lock
(
waitOutListLock
)
lock
(
waitOutListLock
)
{
{
waitOutStoreList
.
Add
(
code
);
waitOutStoreList
.
Add
(
code
);
}
}
}
}
private
void
InOutEndProcess
(
StoreMoveType
storeMoveType
)
{
try
{
CurrInOutCount
++;
CurrInOutACount
++;
//是否自动进入出库状态
if
(!
autoNext
)
{
return
;
}
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
int
newIndex
=
autoPositionIndex
-
1
;
if
(
newIndex
<
0
)
{
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
{
newIndex
=
AutoStartIndex
;
LogInfo
(
"下一个索引不存在,重新开始自动出入库,索引【"
+
AutoStartIndex
+
"】"
);
}
else
{
autoNext
=
false
;
autoMsg
=
"自动出入库结束!"
;
LogInfo
(
"下一个索引不存在,自动 出入库结束!"
);
}
}
else
{
autoPositionIndex
=
newIndex
;
string
posid
=
PositionNumList
[
autoPositionIndex
];
//判断是否需要重置
if
(
CurrInOutACount
>=
Config
.
Box_ResetACount
)
{
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把出库信息存入排队列表中"
);
Reset
(
false
);
autoMsg
=
"自动出库:"
+
posid
;
AddWaitOutInfo
(
new
FixtureCodeInfo
(
0
,
""
,
posid
));
}
else
if
(
CurrInOutCount
>=
Config
.
Box_ResetMCount
)
{
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutCount
+
"次,需要重置BOX旋转轴,先把出库信息存入排队列表中"
);
//ResetMiddleAxis(false);
autoMsg
=
"自动出库:"
+
posid
;
AddWaitOutInfo
(
new
FixtureCodeInfo
(
0
,
""
,
posid
));
}
else
{
LogInfo
(
"自动进入下一个出库:posid="
+
posid
);
autoMsg
=
"自动出库:"
+
posid
;
StartOutStoreMove
(
new
InOutParam
(
""
,
posid
));
}
}
}
else
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
int
newIndex
=
autoPositionIndex
-
autoJiange
;
if
(
newIndex
<
0
)
{
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
{
newIndex
=
AutoStartIndex
;
LogInfo
(
"下一个索引不存在,重新开始自动出入库,索引【"
+
AutoStartIndex
+
"】"
);
}
else
{
autoNext
=
false
;
autoMsg
=
"自动出入库结束!"
;
LogInfo
(
"下一个索引不存在,自动 出入库结束!"
);
}
}
else
{
string
posid
=
PositionNumList
[
newIndex
];
//判断是否需要重置
if
(
CurrInOutACount
>=
Config
.
Box_ResetACount
)
{
LogInfo
(
"自动进入下一个入库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把入库信息存入排队列表中"
);
Reset
(
false
);
autoMsg
=
"自动入库:"
+
posid
;
AddWaitOutInfo
(
new
FixtureCodeInfo
(
0
,
"AAAA"
,
posid
));
}
else
if
(
CurrInOutCount
>=
Config
.
Box_ResetMCount
)
{
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutCount
+
"次,需要重置BOX旋转轴,先把出库信息存入排队列表中"
);
//ResetMiddleAxis(false);
autoMsg
=
"自动入库:"
+
posid
;
AddWaitOutInfo
(
new
FixtureCodeInfo
(
0
,
"AAAA"
,
posid
));
}
else
{
LogInfo
(
"自动进入下一个入库:posid="
+
posid
);
autoMsg
=
"自动入库:"
+
posid
;
StartInStoreMove
(
new
InOutParam
(
"AAAA"
,
posid
));
}
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
Name
+
"InOutEndProcess ERROR:"
+
ex
.
ToString
());
}
}
private
void
InStoreLog
(
string
msg
)
private
void
InStoreLog
(
string
msg
)
{
{
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
itionNum
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
ID
:
""
;
LogInfo
(
"【"
+
posId
+
"】"
+
msg
);
LogInfo
(
"【"
+
posId
+
"】"
+
msg
);
}
}
private
void
OutStoreLog
(
string
msg
)
private
void
OutStoreLog
(
string
msg
)
{
{
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
itionNum
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
Pos
ID
:
""
;
LogInfo
(
"【"
+
posId
+
"】"
+
msg
);
LogInfo
(
"【"
+
posId
+
"】"
+
msg
);
}
}
}
}
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
查看文件 @
11e2c78
...
@@ -18,22 +18,81 @@ namespace OnlineStore.DeviceLibrary
...
@@ -18,22 +18,81 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
public
void
StartShelfInStore
()
public
void
StartShelfInStore
()
{
{
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
{
{
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
LogInfo
(
" 空闲中,检测到入料口有信号,入料口移门打开,"
);
LogInfo
(
" 空闲中,检测到入料口有信号,
料架入库:
入料口移门打开,"
);
storeRunStatus
=
StoreRunStatus
.
Busy
;
storeRunStatus
=
StoreRunStatus
.
Busy
;
storeStatus
=
StoreStatus
.
InStoreExecute
;
storeStatus
=
StoreStatus
.
InStoreExecute
;
MoveInfo
.
NewMove
(
StoreMoveType
.
InStore
,
new
InOutParam
());
MoveInfo
.
NewMove
(
StoreMoveType
.
InStore
,
new
InOutParam
());
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
)
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S02_DoorOpen
);
CylinderMove
(
MoveInfo
,
IO_Type
.
EntranceDoor_Close
,
IO_Type
.
EntranceDoor_Open
);
}
}
}
}
}
}
private
void
ShelfInStoreProcess
()
{
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S01_LineIn_Check
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S02_DoorOpen
);
InStoreLog
(
"SI_S02_DoorOpen:料架入库:入料口移门打开"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
EntranceDoor_Close
,
IO_Type
.
EntranceDoor_Open
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S02_DoorOpen
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S03_LineRun
);
InStoreLog
(
"SI_S03_LineRun:料架入库:线体正转,等待取料位检测到信号"
);
IOMove
(
IO_Type
.
Line_BackRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineIn_Check
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineTake_Check
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S03_LineRun
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S04_LineStop
);
InStoreLog
(
"SI_S04_LineStop:料架入库:取料位检测到信号,停止线体正转"
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
LOW
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S04_LineStop
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S05_DoorClose
);
InStoreLog
(
"SI_S05_DoorClose:料架入库:入料口移门关闭"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
EntranceDoor_Open
,
IO_Type
.
EntranceDoor_Close
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S05_DoorClose
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S06_LocationUp
);
InStoreLog
(
"SI_S06_LocationUp:料架入库:定位装置上升"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
LocationCylinder_Down
,
IO_Type
.
LocationCylinder_Up
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S06_LocationUp
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S07_TopCylinderUp
);
InStoreLog
(
"SI_S07_TopCylinderUp:料架入库:顶升装置上升"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_Up
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S07_TopCylinderUp
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S08_StartGetTray
);
InStoreLog
(
"SI_S07_TopCylinderUp:料架入库:开始循环从第一个空位逐个取料盘,扫码入库"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_Up
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S08_StartGetTray
))
{
}
else
{
LogInfo
(
" 入库,moveStatus="
+
MoveInfo
.
MoveStep
+
",没有对应的处理!"
);
}
}
}
}
}
}
source/DeviceLibrary/ACPackingStore/StoreManager.cs
查看文件 @
11e2c78
...
@@ -37,7 +37,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -37,7 +37,8 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
valueList
.
Contains
(
item
))
if
(
valueList
.
Contains
(
item
))
{
{
LogUtil
.
error
(
LOGGER
,
type
.
Name
+
"枚举值:"
+
item
+
"重复存在,请检查代码!"
);
LogUtil
.
error
(
type
.
Name
+
"枚举值:"
+
item
+
"重复存在,请检查代码,即将 退出程序!"
);
MessageBox
.
Show
(
type
.
Name
+
"枚举值:"
+
item
+
"重复存在,请检查代码,即将 退出程序!"
);
Application
.
Exit
();
Application
.
Exit
();
break
;
break
;
}
}
...
@@ -122,7 +123,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -122,7 +123,7 @@ namespace OnlineStore.DeviceLibrary
{
{
LOGGER
.
Error
(
"出错:"
,
ex
);
LOGGER
.
Error
(
"出错:"
,
ex
);
MessageBox
.
Show
(
ex
.
ToString
(),
"加载配置错误(请检查配置)"
);
MessageBox
.
Show
(
ex
.
ToString
(),
"加载配置错误(请检查配置)"
);
Application
.
Exit
();
}
}
return
Store
;
return
Store
;
}
}
...
@@ -153,6 +154,66 @@ namespace OnlineStore.DeviceLibrary
...
@@ -153,6 +154,66 @@ namespace OnlineStore.DeviceLibrary
LOGGER
.
Error
(
"出错:"
,
ex
);
LOGGER
.
Error
(
"出错:"
,
ex
);
}
}
}
}
public
static
bool
LoadInoutParam
(
InOutParam
param
,
AC_BOX_Bean
box
)
{
if
(
param
==
null
)
{
return
false
;
}
//加载位置
if
(
param
.
MoveP
==
null
)
{
LineMoveP
p
=
new
LineMoveP
();
ACBoxPosition
position
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
param
.
PosID
);
if
(
position
==
null
)
{
LogUtil
.
error
(
box
.
Name
+
"GetPositon["
+
param
.
PosID
+
"]=null,没有库位不能执行出入库"
);
return
false
;
}
ShelfPosition
sp
=
CSVPositionReader
<
ShelfPosition
>.
GetPositon
(
param
.
ShelfPosID
);
if
(
sp
==
null
)
{
LogUtil
.
error
(
box
.
Name
+
"GetPositon["
+
param
.
ShelfPosID
+
"]=null,没有库位不能执行出入库"
);
return
false
;
}
p
.
InOut_PA
=
sp
.
InoutAxis_PA
;
p
.
UpDown_LPA1
=
sp
.
UpDownAxis_LPA1
;
p
.
UpDown_HPA2
=
sp
.
UpDownAxis_HPA2
;
p
.
Middle_PA
=
sp
.
MiddleAxis_PA
;
p
.
ComPress_P1
=
box
.
Config
.
CompressAxis_P1_Position
;
p
.
InOut_P1
=
box
.
Config
.
InOutAxis_P1_Position
;
p
.
Middle_P1
=
box
.
Config
.
MiddleAxis_P1_Position
;
p
.
InOut_P2
=
position
.
InOutAxis_DoorPosition_P2
;
p
.
UpDown_P1
=
box
.
Config
.
UpDownAxis_DoorOPosition_P1
;
p
.
UpDown_P8
=
box
.
Config
.
UpDownAxis_DoorIBPosition_P8
;
p
.
UpDown_P2
=
box
.
Config
.
UpDownAxis_DoorIPosition_P2
;
p
.
UpDown_P7
=
box
.
Config
.
UpDownAxis_DoorOBPosition_P7
;
p
.
ComPress_P2
=
position
.
CompressAxis_Position_P2
;
p
.
ComPress_P3
=
position
.
CompressAxis_CPosition_P3
;
p
.
InOut_P3
=
position
.
InOutAxis_Position_P3
;
p
.
Middle_P2
=
position
.
MiddleAxis_Position_P2
;
p
.
UpDown_P3
=
position
.
UpDownAxis_IHPosition_P3
;
p
.
UpDown_P4
=
position
.
UpDownAxis_ILPosition_P4
;
p
.
UpDown_P5
=
position
.
UpDownAxis_OHPosition_P5
;
p
.
UpDown_P6
=
position
.
UpDownAxis_OLPosition_P6
;
param
.
MoveP
=
p
;
if
(
String
.
IsNullOrEmpty
(
param
.
PlateH
))
{
param
.
PlateH
=
position
.
BagHigh
.
ToString
();
}
if
(
string
.
IsNullOrEmpty
(
param
.
PlateW
))
{
param
.
PlateW
=
position
.
BagWidth
.
ToString
();
}
return
true
;
}
return
true
;
}
private
static
string
api_communication
=
"service/store/communication"
;
//流水线状态通信接口
private
static
string
api_communication
=
"service/store/communication"
;
//流水线状态通信接口
private
static
string
api_nextFeeder
=
"service/store/nextFeeder"
;
// 出库站位列表切换接口
private
static
string
api_nextFeeder
=
"service/store/nextFeeder"
;
// 出库站位列表切换接口
public
static
string
GetPostApi
(
string
host
)
public
static
string
GetPostApi
(
string
host
)
...
...
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
11e2c78
...
@@ -77,14 +77,14 @@
...
@@ -77,14 +77,14 @@
<Compile Include="device\PanasonicServo\ACServerManager.cs" />
<Compile Include="device\PanasonicServo\ACServerManager.cs" />
<Compile Include="device\PanasonicServo\ACServerManager_Partial.cs" />
<Compile Include="device\PanasonicServo\ACServerManager_Partial.cs" />
<Compile Include="device\RFID\RFIDManager.cs" />
<Compile Include="device\RFID\RFIDManager.cs" />
<Compile Include="store\AutoInoutInfo.cs" />
<Compile Include="store\LineMoveP.cs" />
<Compile Include="store\LineMoveP.cs" />
<Compile Include="store\LineAlarm.cs">
<Compile Include="store\LineAlarm.cs">
<SubType>Code</SubType>
<SubType>Code</SubType>
</Compile>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="store\model\AxisAlarmInfo.cs" />
<Compile Include="store\model\AxisAlarmInfo.cs" />
<Compile Include="store\model\FixtureCodeInfo.cs" />
<Compile Include="store\InOutParam.cs">
<Compile Include="store\InOrOutStoreParam.cs">
<SubType>Code</SubType>
<SubType>Code</SubType>
</Compile>
</Compile>
<Compile Include="store\model\StoreMoveInfo.cs">
<Compile Include="store\model\StoreMoveInfo.cs">
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
查看文件 @
11e2c78
...
@@ -113,7 +113,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
...
@@ -113,7 +113,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
查看文件 @
11e2c78
...
@@ -115,7 +115,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
...
@@ -115,7 +115,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
...
...
source/DeviceLibrary/StoreConfig/shelfPosition.csv
查看文件 @
11e2c78
位置,优先级,高度,宽度,料仓ID,旋转轴位置
,升降轴低点,升降轴高点,进出轴位置
位置,优先级,高度,宽度,料仓ID,旋转轴位置
PA,升降轴低点PA1,升降轴高点PA2,进出轴位置PA
1#
AC1_1
_1_4,1,8,7,1,211783,51884,55245,81000
1#
S
_1_4,1,8,7,1,211783,51884,55245,81000
1#
AC1_1
_1_5,2,8,7,1,211783,67807,71168,81000
1#
S
_1_5,2,8,7,1,211783,67807,71168,81000
1#
AC1_1
_1_6,3,8,7,1,211783,83730,87091,81000
1#
S
_1_6,3,8,7,1,211783,83730,87091,81000
1#
AC1_1
_1_7,4,8,7,1,211783,99653,103014,81000
1#
S
_1_7,4,8,7,1,211783,99653,103014,81000
1#
AC1_1
_1_8,5,8,7,1,211783,115576,118937,81000
1#
S
_1_8,5,8,7,1,211783,115576,118937,81000
1#
AC1_1
_1_9,6,8,7,1,211783,131499,134860,81000
1#
S
_1_9,6,8,7,1,211783,131499,134860,81000
1#
AC1_1
_1_10,7,8,7,1,211783,147422,150783,81000
1#
S
_1_10,7,8,7,1,211783,147422,150783,81000
1#
AC1_1
_1_11,8,8,7,1,211783,163345,166706,81000
1#
S
_1_11,8,8,7,1,211783,163345,166706,81000
1#
AC1_1
_1_12,9,8,7,1,211783,179268,182629,81000
1#
S
_1_12,9,8,7,1,211783,179268,182629,81000
1#
AC1_1
_1_13,10,8,7,1,211783,195191,198552,81000
1#
S
_1_13,10,8,7,1,211783,195191,198552,81000
1#
AC1_1
_1_14,11,8,7,1,211783,211114,214475,81000
1#
S
_1_14,11,8,7,1,211783,211114,214475,81000
1#
AC1_1
_1_15,12,8,7,1,211783,227037,230398,81000
1#
S
_1_15,12,8,7,1,211783,227037,230398,81000
1#
AC1_1
_1_16,13,8,7,1,211783,242960,246321,81000
1#
S
_1_16,13,8,7,1,211783,242960,246321,81000
1#
AC1_1
_1_17,14,8,7,1,211783,258883,262244,81000
1#
S
_1_17,14,8,7,1,211783,258883,262244,81000
1#
AC1_1
_1_18,15,8,7,1,211783,274806,278167,81000
1#
S
_1_18,15,8,7,1,211783,274806,278167,81000
1#
AC1_1
_1_19,16,8,7,1,211783,289000,294090,81000
1#
S
_1_19,16,8,7,1,211783,289000,294090,81000
1#
AC1_1
_1_20,17,8,7,1,211783,304652,310013,81000
1#
S
_1_20,17,8,7,1,211783,304652,310013,81000
1#
AC1_1
_1_21,18,8,7,1,211783,320575,325936,81000
1#
S
_1_21,18,8,7,1,211783,320575,325936,81000
1#
AC1_1
_1_22,19,8,7,1,211783,336498,341859,81000
1#
S
_1_22,19,8,7,1,211783,336498,341859,81000
1#
AC1_1
_2_3,20,8,7,1,211783,385700,389433,81000
1#
S
_2_3,20,8,7,1,211783,385700,389433,81000
1#
AC1_1
_2_4,21,8,7,1,211783,403000,405356,81000
1#
S
_2_4,21,8,7,1,211783,403000,405356,81000
1#
AC1_1
_2_5,22,8,7,1,211783,418345,421279,81000
1#
S
_2_5,22,8,7,1,211783,418345,421279,81000
1#
AC1_1
_2_6,23,8,7,1,211783,434000,437202,81000
1#
S
_2_6,23,8,7,1,211783,434000,437202,81000
1#
AC1_1
_2_7,24,8,7,1,211783,450000,453125,81000
1#
S
_2_7,24,8,7,1,211783,450000,453125,81000
1#
AC1_1
_2_8,25,8,7,1,211783,465900,469048,81000
1#
S
_2_8,25,8,7,1,211783,465900,469048,81000
1#
AC1_1
_2_9,26,8,7,1,211783,481800,484971,81000
1#
S
_2_9,26,8,7,1,211783,481800,484971,81000
1#
AC1_1
_2_10,27,8,7,1,211783,497660,500894,81000
1#
S
_2_10,27,8,7,1,211783,497660,500894,81000
1#
AC1_1
_2_11,28,8,7,1,211783,513600,516817,81000
1#
S
_2_11,28,8,7,1,211783,513600,516817,81000
1#
AC1_1
_2_12,29,8,7,1,211783,529200,532740,81000
1#
S
_2_12,29,8,7,1,211783,529200,532740,81000
1#
AC1_1
_2_13,30,8,7,1,211783,545100,548663,81000
1#
S
_2_13,30,8,7,1,211783,545100,548663,81000
1#
AC1_1
_2_14,31,8,7,1,211783,560500,564586,81000
1#
S
_2_14,31,8,7,1,211783,560500,564586,81000
1#
AC1_1
_2_15,32,8,7,1,211783,575500,580509,81000
1#
S
_2_15,32,8,7,1,211783,575500,580509,81000
1#
AC1_1
_2_16,33,8,7,1,211783,591500,596432,81000
1#
S
_2_16,33,8,7,1,211783,591500,596432,81000
1#
AC1_1
_2_17,34,8,7,1,211783,606000,612355,81000
1#
S
_2_17,34,8,7,1,211783,606000,612355,81000
1#
AC1_1
_2_18,35,8,7,1,211783,621000,628278,81000
1#
S
_2_18,35,8,7,1,211783,621000,628278,81000
,,,,,,,,
,,,,,,,,
2#
AC1_1
_1_4,1,8,7,2,211783,51884,55245,81000
2#
S
_1_4,1,8,7,2,211783,51884,55245,81000
2#
AC1_1
_1_5,2,8,7,2,211783,67807,71168,81000
2#
S
_1_5,2,8,7,2,211783,67807,71168,81000
2#
AC1_1
_1_6,3,8,7,2,211783,83730,87091,81000
2#
S
_1_6,3,8,7,2,211783,83730,87091,81000
2#
AC1_1
_1_7,4,8,7,2,211783,99653,103014,81000
2#
S
_1_7,4,8,7,2,211783,99653,103014,81000
2#
AC1_1
_1_8,5,8,7,2,211783,115576,118937,81000
2#
S
_1_8,5,8,7,2,211783,115576,118937,81000
2#
AC1_1
_1_9,6,8,7,2,211783,131499,134860,81000
2#
S
_1_9,6,8,7,2,211783,131499,134860,81000
2#
AC1_1
_1_10,7,8,7,2,211783,147422,150783,81000
2#
S
_1_10,7,8,7,2,211783,147422,150783,81000
2#
AC1_1
_1_11,8,8,7,2,211783,163345,166706,81000
2#
S
_1_11,8,8,7,2,211783,163345,166706,81000
2#
AC1_1
_1_12,9,8,7,2,211783,179268,182629,81000
2#
S
_1_12,9,8,7,2,211783,179268,182629,81000
2#
AC1_1
_1_13,10,8,7,2,211783,195191,198552,81000
2#
S
_1_13,10,8,7,2,211783,195191,198552,81000
2#
AC1_1
_1_14,11,8,7,2,211783,211114,214475,81000
2#
S
_1_14,11,8,7,2,211783,211114,214475,81000
2#
AC1_1
_1_15,12,8,7,2,211783,227037,230398,81000
2#
S
_1_15,12,8,7,2,211783,227037,230398,81000
2#
AC1_1
_1_16,13,8,7,2,211783,242960,246321,81000
2#
S
_1_16,13,8,7,2,211783,242960,246321,81000
2#
AC1_1
_1_17,14,8,7,2,211783,258883,262244,81000
2#
S
_1_17,14,8,7,2,211783,258883,262244,81000
2#
AC1_1
_1_18,15,8,7,2,211783,274806,278167,81000
2#
S
_1_18,15,8,7,2,211783,274806,278167,81000
2#
AC1_1
_1_19,16,8,7,2,211783,289000,294090,81000
2#
S
_1_19,16,8,7,2,211783,289000,294090,81000
2#
AC1_1
_1_20,17,8,7,2,211783,304652,310013,81000
2#
S
_1_20,17,8,7,2,211783,304652,310013,81000
2#
AC1_1
_1_21,18,8,7,2,211783,320575,325936,81000
2#
S
_1_21,18,8,7,2,211783,320575,325936,81000
2#
AC1_1
_1_22,19,8,7,2,211783,336498,341859,81000
2#
S
_1_22,19,8,7,2,211783,336498,341859,81000
2#
AC1_1
_2_3,20,8,7,2,211783,385700,389433,81000
2#
S
_2_3,20,8,7,2,211783,385700,389433,81000
2#
AC1_1
_2_4,21,8,7,2,211783,403000,405356,81000
2#
S
_2_4,21,8,7,2,211783,403000,405356,81000
2#
AC1_1
_2_5,22,8,7,2,211783,418345,421279,81000
2#
S
_2_5,22,8,7,2,211783,418345,421279,81000
2#
AC1_1
_2_6,23,8,7,2,211783,434000,437202,81000
2#
S
_2_6,23,8,7,2,211783,434000,437202,81000
2#
AC1_1
_2_7,24,8,7,2,211783,450000,453125,81000
2#
S
_2_7,24,8,7,2,211783,450000,453125,81000
2#
AC1_1
_2_8,25,8,7,2,211783,465900,469048,81000
2#
S
_2_8,25,8,7,2,211783,465900,469048,81000
2#
AC1_1
_2_9,26,8,7,2,211783,481800,484971,81000
2#
S
_2_9,26,8,7,2,211783,481800,484971,81000
2#
AC1_1
_2_10,27,8,7,2,211783,497660,500894,81000
2#
S
_2_10,27,8,7,2,211783,497660,500894,81000
2#
AC1_1
_2_11,28,8,7,2,211783,513600,516817,81000
2#
S
_2_11,28,8,7,2,211783,513600,516817,81000
2#
AC1_1
_2_12,29,8,7,2,211783,529200,532740,81000
2#
S
_2_12,29,8,7,2,211783,529200,532740,81000
2#
AC1_1
_2_13,30,8,7,2,211783,545100,548663,81000
2#
S
_2_13,30,8,7,2,211783,545100,548663,81000
2#
AC1_1
_2_14,31,8,7,2,211783,560500,564586,81000
2#
S
_2_14,31,8,7,2,211783,560500,564586,81000
2#
AC1_1
_2_15,32,8,7,2,211783,575500,580509,81000
2#
S
_2_15,32,8,7,2,211783,575500,580509,81000
2#
AC1_1
_2_16,33,8,7,2,211783,591500,596432,81000
2#
S
_2_16,33,8,7,2,211783,591500,596432,81000
2#
AC1_1
_2_17,34,8,7,2,211783,606000,612355,81000
2#
S
_2_17,34,8,7,2,211783,606000,612355,81000
2#
AC1_1
_2_18,35,8,7,2,211783,621000,628278,81000
2#
S
_2_18,35,8,7,2,211783,621000,628278,81000
source/DeviceLibrary/store/AutoInoutInfo.cs
0 → 100644
查看文件 @
11e2c78
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
public
class
AutoInoutInfo
{
/// <summary>
/// 入库完成后自动出库,出库完成后自动入库
/// </summary>
public
bool
autoNext
=
false
;
/// <summary>
/// 自动出入库间隔
/// </summary>
public
int
Jiange
=
3
;
public
int
positionIndex
=
0
;
public
string
autoMsg
=
""
;
public
int
startIndex
=
-
1
;
public
string
shelfPosId
=
""
;
#
region
出入库参数
/// <summary>
/// 当前出入库的次数,超过配置的数量时,需要自动重置一下,再进行出入库
/// </summary>
internal
int
CurrInOutCount
=
0
;
internal
int
CurrInOutACount
=
0
;
#
endregion
internal
void
InOutEndProcess
(
AC_BOX_Bean
boxBean
,
StoreMoveType
storeMoveType
)
{
try
{
CurrInOutCount
++;
CurrInOutACount
++;
//是否自动进入出库状态
if
(!
autoNext
)
{
return
;
}
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
int
newIndex
=
positionIndex
-
1
;
if
(
newIndex
<
0
)
{
if
(
startIndex
>=
0
&&
startIndex
<
boxBean
.
PositionNumList
.
Count
)
{
newIndex
=
startIndex
;
boxBean
.
LogInfo
(
"下一个索引不存在,重新开始自动出入库,索引【"
+
startIndex
+
"】"
);
}
else
{
autoNext
=
false
;
autoMsg
=
"自动出入库结束!"
;
boxBean
.
LogInfo
(
"下一个索引不存在,自动 出入库结束!"
);
}
}
else
{
positionIndex
=
newIndex
;
string
posid
=
boxBean
.
PositionNumList
[
positionIndex
];
//判断是否需要重置
if
(
CurrInOutACount
>=
boxBean
.
Config
.
Box_ResetACount
)
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把出库信息存入排队列表中"
);
boxBean
.
Reset
(
false
);
autoMsg
=
"自动出库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
""
,
posid
,
shelfPosId
));
}
else
if
(
CurrInOutCount
>=
boxBean
.
Config
.
Box_ResetMCount
)
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutCount
+
"次,需要重置BOX旋转轴,先把出库信息存入排队列表中"
);
//ResetMiddleAxis(false);
autoMsg
=
"自动出库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
""
,
posid
,
shelfPosId
));
}
else
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
);
autoMsg
=
"自动出库:"
+
posid
;
boxBean
.
StartOutStoreMove
(
new
InOutParam
(
""
,
posid
,
shelfPosId
));
}
}
}
else
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
int
newIndex
=
positionIndex
-
Jiange
;
if
(
newIndex
<
0
)
{
if
(
startIndex
>=
0
&&
startIndex
<
boxBean
.
PositionNumList
.
Count
)
{
newIndex
=
startIndex
;
boxBean
.
LogInfo
(
"下一个索引不存在,重新开始自动出入库,索引【"
+
startIndex
+
"】"
);
}
else
{
autoNext
=
false
;
autoMsg
=
"自动出入库结束!"
;
boxBean
.
LogInfo
(
"下一个索引不存在,自动 出入库结束!"
);
}
}
else
{
string
posid
=
boxBean
.
PositionNumList
[
newIndex
];
//判断是否需要重置
if
(
CurrInOutACount
>=
boxBean
.
Config
.
Box_ResetACount
)
{
boxBean
.
LogInfo
(
"自动进入下一个入库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把入库信息存入排队列表中"
);
boxBean
.
Reset
(
false
);
autoMsg
=
"自动入库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
));
}
else
if
(
CurrInOutCount
>=
boxBean
.
Config
.
Box_ResetMCount
)
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutCount
+
"次,需要重置BOX旋转轴,先把出库信息存入排队列表中"
);
//ResetMiddleAxis(false);
autoMsg
=
"自动入库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
));
}
else
{
boxBean
.
LogInfo
(
"自动进入下一个入库:posid="
+
posid
);
autoMsg
=
"自动入库:"
+
posid
;
boxBean
.
StartInStoreMove
(
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
));
}
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
boxBean
.
Name
+
"InOutEndProcess ERROR:"
+
ex
.
ToString
());
}
}
internal
void
ClearCount
()
{
CurrInOutACount
=
0
;
CurrInOutCount
=
0
;
}
}
}
source/DeviceLibrary/store/InO
rOutStore
Param.cs
→
source/DeviceLibrary/store/InO
ut
Param.cs
查看文件 @
11e2c78
...
@@ -17,9 +17,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -17,9 +17,8 @@ namespace OnlineStore.DeviceLibrary
{
{
public
static
readonly
ILog
log
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
readonly
ILog
log
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
InOutParam
()
public
InOutParam
()
{
{
ACStoreP
=
null
;
this
.
WareCode
=
""
;
this
.
WareNumber
=
""
;
MoveP
=
null
;
MoveP
=
null
;
}
}
/// <summary>
/// <summary>
...
@@ -27,71 +26,43 @@ namespace OnlineStore.DeviceLibrary
...
@@ -27,71 +26,43 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
/// <param name="wareNo">物品二维码</param>
/// <param name="wareNo">物品二维码</param>
/// <param name="position">仓位号</param>
/// <param name="position">仓位号</param>
public
InOutParam
(
string
wareNo
,
string
posId
)
public
InOutParam
(
string
wareNo
,
string
posId
,
string
ShelfPosID
)
{
{
ACStoreP
=
null
;
this
.
ShelfPosID
=
ShelfPosID
;
Ware
Number
=
wareNo
;
Ware
Code
=
wareNo
;
Pos
itionNum
=
posId
;
Pos
ID
=
posId
;
MoveP
=
null
;
MoveP
=
null
;
IsSolderPaste
=
false
;
IsSolderPaste
=
false
;
}
}
public
InOutParam
(
string
wareNo
,
string
posId
,
string
plateH
,
string
plateW
)
public
InOutParam
(
string
wareNo
,
string
posId
,
string
plateH
,
string
plateW
,
string
ShelfPosID
=
""
)
{
{
ACStoreP
=
null
;
this
.
ShelfPosID
=
ShelfPosID
;
Ware
Number
=
wareNo
;
Ware
Code
=
wareNo
;
Pos
itionNum
=
posId
;
Pos
ID
=
posId
;
MoveP
=
null
;
MoveP
=
null
;
this
.
PlateW
=
plateW
;
this
.
PlateW
=
plateW
;
this
.
PlateH
=
plateH
;
this
.
PlateH
=
plateH
;
IsSolderPaste
=
false
;
IsSolderPaste
=
false
;
}
}
public
InOutParam
(
string
wareNo
,
string
posId
,
LineMoveP
linePosition
)
{
public
InOutParam
(
string
wareNo
,
string
posId
,
LineMoveP
linePosition
)
WareCode
=
wareNo
;
{
PosID
=
posId
;
ACStoreP
=
null
;
WareNumber
=
wareNo
;
PositionNum
=
posId
;
MoveP
=
linePosition
;
MoveP
=
linePosition
;
IsSolderPaste
=
false
;
IsSolderPaste
=
false
;
}
}
//public InOutStoreParam(string wareNo, string posId, ACStorePosition movep)
//{
// ACStoreP = movep;
// WareNumber = wareNo;
// PositionNum = posId;
// MoveP = null;
// IsSolderPaste = false;
//}
private
ACBoxPosition
ACStoreP
=
null
;
public
ACBoxPosition
GetACPosition
()
{
try
{
if
(
ACStoreP
==
null
)
{
ACStoreP
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
PositionNum
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
log
,
"出入库获取库位信息GetKTKPosition出错:"
+
ex
.
ToString
());
}
return
ACStoreP
;
}
/// <summary>
/// <summary>
/// 物品二维码信息
/// 物品二维码信息
/// </summary>
/// </summary>
public
string
Ware
Number
{
get
;
set
;
}
public
string
Ware
Code
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 位置坐标名(对应配置表的位置)
/// 位置坐标名(对应配置表的位置)
/// </summary>
/// </summary>
public
string
PositionNum
{
get
;
set
;
}
public
string
PosID
{
get
;
set
;
}
/// <summary>
/// 料架对应的库位号
/// </summary>
public
string
ShelfPosID
=
""
;
public
LineMoveP
MoveP
{
get
;
set
;
}
public
LineMoveP
MoveP
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 料盘高度
/// 料盘高度
...
@@ -105,7 +76,100 @@ namespace OnlineStore.DeviceLibrary
...
@@ -105,7 +76,100 @@ namespace OnlineStore.DeviceLibrary
/// 是否是放入锡膏(在线料仓才需要此字段)
/// 是否是放入锡膏(在线料仓才需要此字段)
/// </summary>
/// </summary>
public
bool
IsSolderPaste
{
get
;
set
;
}
public
bool
IsSolderPaste
{
get
;
set
;
}
/// <summary>
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
}
/// </summary>
/// <returns></returns>
public
int
GetStoreId
()
{
if
(!
PosID
.
Equals
(
""
))
{
string
[]
arr
=
PosID
.
Split
(
'#'
);
if
(
arr
.
Length
>=
2
)
{
try
{
return
int
.
Parse
(
arr
[
0
]);
}
catch
(
Exception
ex
)
{
}
}
}
return
-
1
;
}
public
string
ToStr
()
{
return
" ShelfPosID=["
+
ShelfPosID
+
"],WareCode=【"
+
WareCode
+
"】,PosID=【"
+
PosID
+
"】,PlateW=【"
+
PlateW
+
"】,PlateH=【"
+
PlateH
+
"】"
;
}
}
///// <summary>
// /// 夹具编码信息(保存夹具检测到的IO数值,和对应的料仓位置)
// /// </summary>
//public class FixtureCodeInfo
//{
// public FixtureCodeInfo(string wareNum, string posId)
// {
// this.WareNum = wareNum;
// this.PosId = posId;
// this.plateH = "";
// this.plateW = "";
// }
// public FixtureCodeInfo(string wareNum, string posId, string platew, string plateh)
// {
// this.WareNum = wareNum;
// this.PosId = posId;
// this.plateW = platew;
// this.plateH = plateh;
// }
// /// <summary>
// /// 物品二维码
// /// </summary>
// public string WareNum { get; set; }
// /// <summary>
// /// 库位号编码
// /// </summary>
// public string PosId { get; set; }
// /// <summary>
// /// 料盘宽
// /// </summary>
// public string plateW { get; set; }
// /// <summary>
// /// 料盘高
// /// </summary>
// public string plateH { get; set; }
// public string ToStr()
// {
// return " WareNum=【" + WareNum + "】,PosId=【" + PosId + "】,plateW=【" + plateW + "】,plateH=【" + plateH + "】";
// }
// /// <summary>
// /// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
// /// </summary>
// /// <returns></returns>
// public int GetStoreId()
// {
// if (!PosId.Equals(""))
// {
// string[] arr = PosId.Split('#');
// if (arr.Length >= 2)
// {
// try
// {
// return int.Parse(arr[0]);
// }
// catch (Exception ex)
// {
// }
// }
// }
// return -1;
// }
//}
}
}
source/DeviceLibrary/store/LineMoveP.cs
查看文件 @
11e2c78
...
@@ -79,5 +79,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -79,5 +79,22 @@ namespace OnlineStore.DeviceLibrary
/// 轴4( 压紧轴) 压紧前点P3
/// 轴4( 压紧轴) 压紧前点P3
/// </summary>
/// </summary>
public
int
ComPress_P3
{
get
;
set
;
}
public
int
ComPress_P3
{
get
;
set
;
}
/// <summary>
/// 料架进出轴取料点
/// </summary>
public
int
InOut_PA
=
0
;
/// <summary>
/// 料架旋转轴位置
/// </summary>
public
int
Middle_PA
=
0
;
/// <summary>
/// 料架升降轴低点PA1
/// </summary>
public
int
UpDown_LPA1
=
0
;
/// <summary>
/// 料架升降轴高点PA2
/// </summary>
public
int
UpDown_HPA2
=
0
;
}
}
}
}
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
11e2c78
...
@@ -316,7 +316,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -316,7 +316,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 料架入库:检测到线体入料口信号
/// 料架入库:检测到线体入料口信号
/// </summary>
/// </summary>
SI_S01_L
I
neIn_Check
=
20001
,
SI_S01_L
i
neIn_Check
=
20001
,
/// <summary>
/// <summary>
/// 料架入库:入料口移门打开
/// 料架入库:入料口移门打开
/// </summary>
/// </summary>
...
@@ -342,6 +342,63 @@ namespace OnlineStore.DeviceLibrary
...
@@ -342,6 +342,63 @@ namespace OnlineStore.DeviceLibrary
/// 料架入库:顶升装置上升
/// 料架入库:顶升装置上升
/// </summary>
/// </summary>
SI_S07_TopCylinderUp
=
20007
,
SI_S07_TopCylinderUp
=
20007
,
/// <summary>
/// 料架入库:开始循环从第一个空位逐个取料盘,扫码入库
/// </summary>
SI_S08_StartGetTray
=
20008
,
///// <summary>
///// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点)
///// </summary>
//SI_S03_CompressWare = 20103,
///// <summary>
///// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点)
///// </summary>
//SI_S04_CompressWare = 20104,
///// <summary>
///// 入库。。叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点)
///// </summary>
//SI_S05_DeviceToDoor = 20105,
///// <summary>
///// 入库。。把物品放入叉子上,轴2( 上下) 至P7( 进料口取料缓冲点),压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P2(压紧点)
///// </summary>
//SI_S06_DoorWarToDevice = 20106,
///// <summary>
///// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
///// </summary>
//SI_S07_DeviceBackFromDoor = 20107,
///// <summary>
///// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤)
///// </summary>
//SI_S08_LocationCylinder_Up = 20108,
///// <summary>
///// 入库。。移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)
///// </summary>
//SI_S09_MoveToBag = 20109,
///// <summary>
///// 入库。。定位气缸退回 (有压紧轴的不需要此步骤)
///// </summary>
//SI_S10_LocationCylinder_Down = 20110,
///// <summary>
///// 入库。。叉子进入库位中,轴3( 叉子) 至P3(库位取放料点)
///// </summary>
//SI_S11_DeviceToBag = 20111,
///// <summary>
///// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点)
///// </summary>
//SI_S12_PutWareToBag = 20112,
///// <summary>
///// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
///// </summary>
//SI_S13_DeviceBackFromBag = 20113,
///// <summary>
///// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
///// </summary>
//SI_S14_GoBack = 20114,
#
endregion
#
endregion
}
}
...
...
source/DeviceLibrary/store/model/FixtureCodeInfo.cs
deleted
100644 → 0
查看文件 @
9717704
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
OnlineStore.DeviceLibrary
{
/// <summary>
/// 夹具编码信息(保存夹具检测到的IO数值,和对应的料仓位置)
/// </summary>
public
class
FixtureCodeInfo
{
public
FixtureCodeInfo
(
int
trayCode
,
string
wareNum
,
string
posId
)
{
this
.
TrayCode
=
trayCode
;
this
.
WareNum
=
wareNum
;
this
.
PosId
=
posId
;
this
.
plateH
=
""
;
this
.
plateW
=
""
;
}
public
FixtureCodeInfo
(
int
trayCode
,
string
wareNum
,
string
posId
,
string
platew
,
string
plateh
)
{
this
.
TrayCode
=
trayCode
;
this
.
WareNum
=
wareNum
;
this
.
PosId
=
posId
;
this
.
plateW
=
platew
;
this
.
plateH
=
plateh
;
}
/// <summary>
/// 夹具编码值(1-6)
/// </summary>
public
int
TrayCode
{
get
;
set
;
}
/// <summary>
/// 物品二维码
/// </summary>
public
string
WareNum
{
get
;
set
;
}
/// <summary>
/// 库位号编码
/// </summary>
public
string
PosId
{
get
;
set
;
}
/// <summary>
/// 料盘宽
/// </summary>
public
string
plateW
{
get
;
set
;
}
/// <summary>
/// 料盘高
/// </summary>
public
string
plateH
{
get
;
set
;
}
public
string
ToStr
()
{
return
"TrayCode【"
+
TrayCode
+
"】,WareNum=【"
+
WareNum
+
"】,PosId=【"
+
PosId
+
"】,plateW=【"
+
plateW
+
"】,plateH=【"
+
plateH
+
"】"
;
}
/// <summary>
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
/// </summary>
/// <returns></returns>
public
int
GetStoreId
()
{
if
(!
PosId
.
Equals
(
""
))
{
string
[]
arr
=
PosId
.
Split
(
'#'
);
if
(
arr
.
Length
>=
2
)
{
try
{
return
int
.
Parse
(
arr
[
0
]);
}
catch
(
Exception
ex
)
{
}
}
}
return
-
1
;
}
}
}
source/DeviceLibrary/store/model/FixtureInfo.cs
deleted
100644 → 0
查看文件 @
9717704
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
OnlineStore.DeviceLibrary
{
/// <summary>
/// 托盘信息
/// </summary>
public
class
FixtureInfo
{
private
int
codeNum
;
private
int
inOrOut
;
public
FixtureInfo
(
int
codeNum
,
bool
isFull
,
int
inOrOut
,
int
bagWidth
)
{
this
.
codeNum
=
codeNum
;
this
.
IsFull
=
isFull
;
this
.
inOrOut
=
inOrOut
;
BagWidth
=
bagWidth
;
}
/// <summary>
/// 夹具编码值(1-6)
/// </summary>
public
int
TrayCode
{
get
;
set
;
}
/// <summary>
/// 是否有料盘,true=有料盘
/// </summary>
public
bool
IsFull
{
get
;
set
;
}
/// <summary>
/// 出库还是入库(有料盘时才有此操作)0=无操作,1=入库,2=出库
/// </summary>
public
int
InOrOutStore
{
get
;
set
;
}
/// <summary>
/// 如果是出库,需要记录盘宽,七寸小盘可以累积到托盘上
/// 只有出库才会有值
/// </summary>
public
int
BagWidth
{
get
;
set
;
}
}
}
source/LoadCVSLibrary/position/ShelfPosition.cs
查看文件 @
11e2c78
...
@@ -12,27 +12,27 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -12,27 +12,27 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
/// </summary>
[
CSVAttribute
(
"料仓ID"
)]
[
CSVAttribute
(
"料仓ID"
)]
public
int
StoreId
{
get
;
set
;
}
public
int
StoreId
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 旋转轴位置
/// 旋转轴位置
PA
/// </summary>
/// </summary>
[
CSVAttribute
(
"旋转轴位置"
)]
[
CSVAttribute
(
"旋转轴位置
PA
"
)]
public
int
MiddleAxis_P
100
{
get
;
set
;
}
public
int
MiddleAxis_P
A
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 升降轴
高点
/// 升降轴
低点PA1
/// </summary>
/// </summary>
[
CSVAttribute
(
"升降轴低点"
)]
[
CSVAttribute
(
"升降轴低点
PA1
"
)]
public
int
UpDownAxis_
HP100
{
get
;
set
;
}
public
int
UpDownAxis_
LPA1
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 升降轴高点
/// 升降轴高点
PA2
/// /// </summary>
/// /// </summary>
[
CSVAttribute
(
"升降轴高点"
)]
[
CSVAttribute
(
"升降轴高点
PA2
"
)]
public
int
UpDownAxis_
LP100
{
get
;
set
;
}
public
int
UpDownAxis_
HPA2
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 进出轴位置
/// 进出轴位置
PA
/// </summary>
/// </summary>
[
CSVAttribute
(
"进出轴位置"
)]
[
CSVAttribute
(
"进出轴位置
PA
"
)]
public
int
UpDownAxis_P100
{
get
;
set
;
}
public
int
InoutAxis_PA
{
get
;
set
;
}
}
}
}
}
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
查看文件 @
11e2c78
...
@@ -288,29 +288,14 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -288,29 +288,14 @@ namespace OnlineStore.LoadCSVLibrary
{
{
IoValue
=
-
1
;
IoValue
=
-
1
;
}
}
else
if
(
ProType
.
Equals
(
ConfigItemType
.
DI
))
else
{
{
IoValue
=
Convert
.
ToInt32
(
ProValue
,
8
);
IoValue
=
Convert
.
ToInt32
(
ProValue
);
}
}
else
if
(
ProType
.
Equals
(
ConfigItemType
.
DO
))
{
if
(
ProValue
.
Length
==
2
)
{
int
a
=
Convert
.
ToInt32
(
ProValue
.
Substring
(
0
,
1
),
16
)
-
8
;
string
str
=
a
+
ProValue
.
Substring
(
1
,
1
);
IoValue
=
Convert
.
ToInt32
(
str
,
8
);
//IoValue = a + b;
}
else
{
IoValue
=
Convert
.
ToInt32
(
ProValue
,
16
)
-
Convert
.
ToInt32
(
"80"
,
16
);
}
}
//LOGGER.Info("IO转换:(" + ElectricalDefinition + ")" + ProVale + "=" + IoValue);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LOGGER
.
Error
(
"出错了:"
,
ex
);
LOGGER
.
Error
(
ToString
()+
"出错了:"
,
ex
);
return
-
1
;
return
-
1
;
}
}
return
IoValue
;
return
IoValue
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论