Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c2b136f3
由
ke.sun
编写于
2018-04-04 14:24:47 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
调试修改
1 个父辈
88520123
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
682 行增加
和
596 行删除
source/ACSingleStore/FrmIOStatus.Designer.cs
source/ACSingleStore/FrmIOStatus.cs
source/ACSingleStore/FrmStoreBox.Designer.cs
source/ACSingleStore/FrmStoreBox.cs
source/DeviceLibrary/PanasonicServo/ACServerManager.cs
source/DeviceLibrary/PanasonicServo/ACServerManager_Partial.cs
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
source/DeviceLibrary/acSingleStore/ACStoreManager.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/store/KTK_Store.cs
source/DeviceLibrary/store/StoreManager.cs
source/ACSingleStore/FrmIOStatus.Designer.cs
查看文件 @
c2b136f
...
...
@@ -43,6 +43,8 @@
this
.
tableLayoutPanel2
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
groupBox3
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
tableLayoutPanel1
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
btnCloseAxisBreak
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnOpenAxisBreak
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox4
.
SuspendLayout
();
this
.
groupBox3
.
SuspendLayout
();
...
...
@@ -56,6 +58,8 @@
//
// groupBox1
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnCloseAxisBreak
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnOpenAxisBreak
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnLocationDown
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnLocationUp
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnCloseDoor
);
...
...
@@ -88,7 +92,7 @@
// btnLocationDown
//
this
.
btnLocationDown
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnLocationDown
.
Location
=
new
System
.
Drawing
.
Point
(
144
,
3
26
);
this
.
btnLocationDown
.
Location
=
new
System
.
Drawing
.
Point
(
144
,
3
08
);
this
.
btnLocationDown
.
Name
=
"btnLocationDown"
;
this
.
btnLocationDown
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnLocationDown
.
TabIndex
=
251
;
...
...
@@ -99,7 +103,7 @@
// btnLocationUp
//
this
.
btnLocationUp
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnLocationUp
.
Location
=
new
System
.
Drawing
.
Point
(
27
,
3
26
);
this
.
btnLocationUp
.
Location
=
new
System
.
Drawing
.
Point
(
27
,
3
08
);
this
.
btnLocationUp
.
Name
=
"btnLocationUp"
;
this
.
btnLocationUp
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnLocationUp
.
TabIndex
=
250
;
...
...
@@ -110,7 +114,7 @@
// btnCloseDoor
//
this
.
btnCloseDoor
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnCloseDoor
.
Location
=
new
System
.
Drawing
.
Point
(
144
,
2
82
);
this
.
btnCloseDoor
.
Location
=
new
System
.
Drawing
.
Point
(
144
,
2
70
);
this
.
btnCloseDoor
.
Name
=
"btnCloseDoor"
;
this
.
btnCloseDoor
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnCloseDoor
.
TabIndex
=
249
;
...
...
@@ -121,7 +125,7 @@
// btnOpenDoor
//
this
.
btnOpenDoor
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnOpenDoor
.
Location
=
new
System
.
Drawing
.
Point
(
27
,
2
82
);
this
.
btnOpenDoor
.
Location
=
new
System
.
Drawing
.
Point
(
27
,
2
70
);
this
.
btnOpenDoor
.
Name
=
"btnOpenDoor"
;
this
.
btnOpenDoor
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnOpenDoor
.
TabIndex
=
248
;
...
...
@@ -166,7 +170,7 @@
// btnReadAllDo
//
this
.
btnReadAllDo
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnReadAllDo
.
Location
=
new
System
.
Drawing
.
Point
(
144
,
23
8
);
this
.
btnReadAllDo
.
Location
=
new
System
.
Drawing
.
Point
(
144
,
23
2
);
this
.
btnReadAllDo
.
Name
=
"btnReadAllDo"
;
this
.
btnReadAllDo
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnReadAllDo
.
TabIndex
=
245
;
...
...
@@ -188,7 +192,7 @@
// btnReadAllDi
//
this
.
btnReadAllDi
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnReadAllDi
.
Location
=
new
System
.
Drawing
.
Point
(
27
,
23
8
);
this
.
btnReadAllDi
.
Location
=
new
System
.
Drawing
.
Point
(
27
,
23
2
);
this
.
btnReadAllDi
.
Name
=
"btnReadAllDi"
;
this
.
btnReadAllDi
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnReadAllDi
.
TabIndex
=
244
;
...
...
@@ -376,6 +380,28 @@
this
.
tableLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
386
);
this
.
tableLayoutPanel1
.
TabIndex
=
102
;
//
// btnCloseAxisBreak
//
this
.
btnCloseAxisBreak
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnCloseAxisBreak
.
Location
=
new
System
.
Drawing
.
Point
(
144
,
346
);
this
.
btnCloseAxisBreak
.
Name
=
"btnCloseAxisBreak"
;
this
.
btnCloseAxisBreak
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnCloseAxisBreak
.
TabIndex
=
253
;
this
.
btnCloseAxisBreak
.
Text
=
"关闭刹车"
;
this
.
btnCloseAxisBreak
.
UseVisualStyleBackColor
=
true
;
this
.
btnCloseAxisBreak
.
Click
+=
new
System
.
EventHandler
(
this
.
btnCloseAxisBreak_Click
);
//
// btnOpenAxisBreak
//
this
.
btnOpenAxisBreak
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnOpenAxisBreak
.
Location
=
new
System
.
Drawing
.
Point
(
27
,
346
);
this
.
btnOpenAxisBreak
.
Name
=
"btnOpenAxisBreak"
;
this
.
btnOpenAxisBreak
.
Size
=
new
System
.
Drawing
.
Size
(
102
,
34
);
this
.
btnOpenAxisBreak
.
TabIndex
=
252
;
this
.
btnOpenAxisBreak
.
Text
=
"打开刹车"
;
this
.
btnOpenAxisBreak
.
UseVisualStyleBackColor
=
true
;
this
.
btnOpenAxisBreak
.
Click
+=
new
System
.
EventHandler
(
this
.
btnOpenAxisBreak_Click
);
//
// FrmIOStatus
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
7F
,
17F
);
...
...
@@ -428,8 +454,8 @@
private
System
.
Windows
.
Forms
.
Button
btnOpenDoor
;
private
System
.
Windows
.
Forms
.
Button
btnLocationDown
;
private
System
.
Windows
.
Forms
.
Button
btnLocationUp
;
private
System
.
Windows
.
Forms
.
Button
btnCloseAxisBreak
;
private
System
.
Windows
.
Forms
.
Button
btnOpenAxisBreak
;
}
}
source/ACSingleStore/FrmIOStatus.cs
查看文件 @
c2b136f
...
...
@@ -261,5 +261,16 @@ namespace OnlineStore.ACSingleStore
{
SetSkin
(
this
);
}
private
void
btnOpenAxisBreak_Click
(
object
sender
,
EventArgs
e
)
{
boxBean
.
KNDIOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
HIGH
);
}
private
void
btnCloseAxisBreak_Click
(
object
sender
,
EventArgs
e
)
{
boxBean
.
KNDIOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
}
}
}
source/ACSingleStore/FrmStoreBox.Designer.cs
查看文件 @
c2b136f
...
...
@@ -149,11 +149,25 @@
this
.
txtPosition3
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtPosition2
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtPosition1
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label16
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label15
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label14
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label11
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtHomeStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
button2
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label10
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtBusyStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
button1
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtAlarmStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnGetAlarm
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupBox3
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox5
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox2
.
SuspendLayout
();
this
.
menuStrip1
.
SuspendLayout
();
this
.
groupBox4
.
SuspendLayout
();
this
.
groupBox3
.
SuspendLayout
();
this
.
SuspendLayout
();
//
// timer1
...
...
@@ -163,18 +177,31 @@
//
// lblWarnMsg
//
this
.
lblWarnMsg
.
AutoSize
=
true
;
this
.
lblWarnMsg
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblWarnMsg
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
lblWarnMsg
.
Location
=
new
System
.
Drawing
.
Point
(
455
,
28
);
this
.
lblWarnMsg
.
Location
=
new
System
.
Drawing
.
Point
(
12
,
44
);
this
.
lblWarnMsg
.
Name
=
"lblWarnMsg"
;
this
.
lblWarnMsg
.
Size
=
new
System
.
Drawing
.
Size
(
0
,
2
0
);
this
.
lblWarnMsg
.
Size
=
new
System
.
Drawing
.
Size
(
620
,
4
0
);
this
.
lblWarnMsg
.
TabIndex
=
224
;
this
.
lblWarnMsg
.
Text
=
"?"
;
this
.
lblWarnMsg
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleCenter
;
//
// groupBox5
//
this
.
groupBox5
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)(((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
groupBox5
.
Controls
.
Add
(
this
.
label16
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
label15
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
label14
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
label11
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
txtHomeStatus
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
button2
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
label10
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
txtBusyStatus
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
button1
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
label2
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
txtAlarmStatus
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnGetAlarm
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnReadPosition
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
lblServerOn
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
label7
);
...
...
@@ -201,9 +228,9 @@
this
.
groupBox5
.
Controls
.
Add
(
this
.
cmbAxisList
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
label49
);
this
.
groupBox5
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupBox5
.
Location
=
new
System
.
Drawing
.
Point
(
6
21
,
7
1
);
this
.
groupBox5
.
Location
=
new
System
.
Drawing
.
Point
(
6
03
,
12
1
);
this
.
groupBox5
.
Name
=
"groupBox5"
;
this
.
groupBox5
.
Size
=
new
System
.
Drawing
.
Size
(
64
3
,
203
);
this
.
groupBox5
.
Size
=
new
System
.
Drawing
.
Size
(
64
2
,
318
);
this
.
groupBox5
.
TabIndex
=
216
;
this
.
groupBox5
.
TabStop
=
false
;
this
.
groupBox5
.
Text
=
"伺服运动"
;
...
...
@@ -532,7 +559,7 @@
this
.
richTextBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
richTextBox1
.
Location
=
new
System
.
Drawing
.
Point
(
22
,
461
);
this
.
richTextBox1
.
Name
=
"richTextBox1"
;
this
.
richTextBox1
.
Size
=
new
System
.
Drawing
.
Size
(
5
81
,
259
);
this
.
richTextBox1
.
Size
=
new
System
.
Drawing
.
Size
(
5
68
,
250
);
this
.
richTextBox1
.
TabIndex
=
256
;
this
.
richTextBox1
.
Text
=
""
;
//
...
...
@@ -560,9 +587,9 @@
this
.
groupBox1
.
Controls
.
Add
(
this
.
label43
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label42
);
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
21
,
279
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
6
03
,
445
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
404
,
193
);
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
396
,
193
);
this
.
groupBox1
.
TabIndex
=
217
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"伺服状态"
;
...
...
@@ -789,7 +816,7 @@
this
.
groupBox2
.
Controls
.
Add
(
this
.
btnUpDownP4
);
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
22
,
28
);
this
.
groupBox2
.
Name
=
"groupBox2"
;
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
5
81
,
423
);
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
5
68
,
423
);
this
.
groupBox2
.
TabIndex
=
100
;
this
.
groupBox2
.
TabStop
=
false
;
this
.
groupBox2
.
Text
=
"料仓操作"
;
...
...
@@ -808,11 +835,11 @@
// lblMsg
//
this
.
lblMsg
.
AutoSize
=
true
;
this
.
lblMsg
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Bold
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblMsg
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblMsg
.
ForeColor
=
System
.
Drawing
.
Color
.
Green
;
this
.
lblMsg
.
Location
=
new
System
.
Drawing
.
Point
(
285
,
67
);
this
.
lblMsg
.
Name
=
"lblMsg"
;
this
.
lblMsg
.
Size
=
new
System
.
Drawing
.
Size
(
135
,
19
);
this
.
lblMsg
.
Size
=
new
System
.
Drawing
.
Size
(
135
,
20
);
this
.
lblMsg
.
TabIndex
=
223
;
this
.
lblMsg
.
Text
=
"没有开启自动出入库"
;
//
...
...
@@ -1496,7 +1523,7 @@
this
.
日志
ToolStripMenuItem
});
this
.
menuStrip1
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
0
);
this
.
menuStrip1
.
Name
=
"menuStrip1"
;
this
.
menuStrip1
.
Size
=
new
System
.
Drawing
.
Size
(
12
76
,
25
);
this
.
menuStrip1
.
Size
=
new
System
.
Drawing
.
Size
(
12
68
,
25
);
this
.
menuStrip1
.
TabIndex
=
257
;
this
.
menuStrip1
.
Text
=
"menuStrip1"
;
//
...
...
@@ -1514,28 +1541,28 @@
// 启动ToolStripMenuItem
//
this
.
启动
ToolStripMenuItem
.
Name
=
"启动ToolStripMenuItem"
;
this
.
启动
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
24
,
22
);
this
.
启动
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
22
);
this
.
启动
ToolStripMenuItem
.
Text
=
"启动"
;
this
.
启动
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
启动
ToolStripMenuItem_Click
);
//
// 停止ToolStripMenuItem
//
this
.
停止
ToolStripMenuItem
.
Name
=
"停止ToolStripMenuItem"
;
this
.
停止
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
24
,
22
);
this
.
停止
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
22
);
this
.
停止
ToolStripMenuItem
.
Text
=
"停止"
;
this
.
停止
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
停止
ToolStripMenuItem_Click
);
//
// 复位ToolStripMenuItem
//
this
.
复位
ToolStripMenuItem
.
Name
=
"复位ToolStripMenuItem"
;
this
.
复位
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
24
,
22
);
this
.
复位
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
22
);
this
.
复位
ToolStripMenuItem
.
Text
=
"复位"
;
this
.
复位
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
复位
ToolStripMenuItem_Click
);
//
// 回待机点ToolStripMenuItem
//
this
.
回待机点
ToolStripMenuItem
.
Name
=
"回待机点ToolStripMenuItem"
;
this
.
回待机点
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
24
,
22
);
this
.
回待机点
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
22
);
this
.
回待机点
ToolStripMenuItem
.
Text
=
"回待机点"
;
this
.
回待机点
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
回待机点
ToolStripMenuItem_Click
);
//
...
...
@@ -1652,8 +1679,8 @@
//
this
.
lblThisSta
.
AutoSize
=
true
;
this
.
lblThisSta
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Bold
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblThisSta
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
lblThisSta
.
Location
=
new
System
.
Drawing
.
Point
(
621
,
41
);
this
.
lblThisSta
.
ForeColor
=
System
.
Drawing
.
Color
.
Green
;
this
.
lblThisSta
.
Location
=
new
System
.
Drawing
.
Point
(
14
,
19
);
this
.
lblThisSta
.
Name
=
"lblThisSta"
;
this
.
lblThisSta
.
Size
=
new
System
.
Drawing
.
Size
(
65
,
19
);
this
.
lblThisSta
.
TabIndex
=
216
;
...
...
@@ -1669,7 +1696,7 @@
this
.
groupBox4
.
Controls
.
Add
(
this
.
txtPosition2
);
this
.
groupBox4
.
Controls
.
Add
(
this
.
txtPosition1
);
this
.
groupBox4
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupBox4
.
Location
=
new
System
.
Drawing
.
Point
(
10
42
,
279
);
this
.
groupBox4
.
Location
=
new
System
.
Drawing
.
Point
(
10
13
,
445
);
this
.
groupBox4
.
Name
=
"groupBox4"
;
this
.
groupBox4
.
Size
=
new
System
.
Drawing
.
Size
(
232
,
193
);
this
.
groupBox4
.
TabIndex
=
267
;
...
...
@@ -1737,19 +1764,137 @@
this
.
txtPosition1
.
Size
=
new
System
.
Drawing
.
Size
(
87
,
23
);
this
.
txtPosition1
.
TabIndex
=
265
;
//
// label16
//
this
.
label16
.
AutoSize
=
true
;
this
.
label16
.
Location
=
new
System
.
Drawing
.
Point
(
152
,
256
);
this
.
label16
.
Name
=
"label16"
;
this
.
label16
.
Size
=
new
System
.
Drawing
.
Size
(
112
,
17
);
this
.
label16
.
TabIndex
=
295
;
this
.
label16
.
Text
=
"1=完成,0=未完成"
;
//
// label15
//
this
.
label15
.
AutoSize
=
true
;
this
.
label15
.
Location
=
new
System
.
Drawing
.
Point
(
152
,
227
);
this
.
label15
.
Name
=
"label15"
;
this
.
label15
.
Size
=
new
System
.
Drawing
.
Size
(
124
,
17
);
this
.
label15
.
TabIndex
=
294
;
this
.
label15
.
Text
=
"1=执行中,0=未执行"
;
//
// label14
//
this
.
label14
.
AutoSize
=
true
;
this
.
label14
.
Location
=
new
System
.
Drawing
.
Point
(
152
,
194
);
this
.
label14
.
Name
=
"label14"
;
this
.
label14
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
17
);
this
.
label14
.
TabIndex
=
293
;
this
.
label14
.
Text
=
"1=报警,0=正常"
;
//
// label11
//
this
.
label11
.
AutoSize
=
true
;
this
.
label11
.
Location
=
new
System
.
Drawing
.
Point
(
5
,
256
);
this
.
label11
.
Name
=
"label11"
;
this
.
label11
.
Size
=
new
System
.
Drawing
.
Size
(
114
,
17
);
this
.
label11
.
TabIndex
=
292
;
this
.
label11
.
Text
=
"HOME-CMP状态:"
;
//
// txtHomeStatus
//
this
.
txtHomeStatus
.
Enabled
=
false
;
this
.
txtHomeStatus
.
Location
=
new
System
.
Drawing
.
Point
(
121
,
253
);
this
.
txtHomeStatus
.
Name
=
"txtHomeStatus"
;
this
.
txtHomeStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtHomeStatus
.
TabIndex
=
291
;
//
// button2
//
this
.
button2
.
Location
=
new
System
.
Drawing
.
Point
(
278
,
249
);
this
.
button2
.
Name
=
"button2"
;
this
.
button2
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
33
);
this
.
button2
.
TabIndex
=
290
;
this
.
button2
.
Text
=
"读HOME状态"
;
this
.
button2
.
UseVisualStyleBackColor
=
true
;
this
.
button2
.
Click
+=
new
System
.
EventHandler
(
this
.
button2_Click
);
//
// label10
//
this
.
label10
.
AutoSize
=
true
;
this
.
label10
.
Location
=
new
System
.
Drawing
.
Point
(
44
,
225
);
this
.
label10
.
Name
=
"label10"
;
this
.
label10
.
Size
=
new
System
.
Drawing
.
Size
(
75
,
17
);
this
.
label10
.
TabIndex
=
289
;
this
.
label10
.
Text
=
"BUSY状态:"
;
//
// txtBusyStatus
//
this
.
txtBusyStatus
.
Enabled
=
false
;
this
.
txtBusyStatus
.
Location
=
new
System
.
Drawing
.
Point
(
121
,
222
);
this
.
txtBusyStatus
.
Name
=
"txtBusyStatus"
;
this
.
txtBusyStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtBusyStatus
.
TabIndex
=
288
;
//
// button1
//
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
278
,
216
);
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
33
);
this
.
button1
.
TabIndex
=
287
;
this
.
button1
.
Text
=
"读BUSY状态"
;
this
.
button1
.
UseVisualStyleBackColor
=
true
;
this
.
button1
.
Click
+=
new
System
.
EventHandler
(
this
.
button1_Click_1
);
//
// label2
//
this
.
label2
.
AutoSize
=
true
;
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
51
,
194
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
68
,
17
);
this
.
label2
.
TabIndex
=
286
;
this
.
label2
.
Text
=
"报警状态:"
;
//
// txtAlarmStatus
//
this
.
txtAlarmStatus
.
Enabled
=
false
;
this
.
txtAlarmStatus
.
Location
=
new
System
.
Drawing
.
Point
(
121
,
191
);
this
.
txtAlarmStatus
.
Name
=
"txtAlarmStatus"
;
this
.
txtAlarmStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtAlarmStatus
.
TabIndex
=
285
;
//
// btnGetAlarm
//
this
.
btnGetAlarm
.
Location
=
new
System
.
Drawing
.
Point
(
278
,
183
);
this
.
btnGetAlarm
.
Name
=
"btnGetAlarm"
;
this
.
btnGetAlarm
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
33
);
this
.
btnGetAlarm
.
TabIndex
=
284
;
this
.
btnGetAlarm
.
Text
=
"读报警状态"
;
this
.
btnGetAlarm
.
UseVisualStyleBackColor
=
true
;
this
.
btnGetAlarm
.
Click
+=
new
System
.
EventHandler
(
this
.
btnGetAlarm_Click
);
//
// groupBox3
//
this
.
groupBox3
.
Controls
.
Add
(
this
.
lblWarnMsg
);
this
.
groupBox3
.
Controls
.
Add
(
this
.
lblThisSta
);
this
.
groupBox3
.
Location
=
new
System
.
Drawing
.
Point
(
603
,
28
);
this
.
groupBox3
.
Name
=
"groupBox3"
;
this
.
groupBox3
.
Size
=
new
System
.
Drawing
.
Size
(
642
,
90
);
this
.
groupBox3
.
TabIndex
=
268
;
this
.
groupBox3
.
TabStop
=
false
;
this
.
groupBox3
.
Text
=
"设备状态"
;
//
// FrmStoreBox
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Dpi
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1276
,
730
);
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1268
,
730
);
this
.
Controls
.
Add
(
this
.
groupBox3
);
this
.
Controls
.
Add
(
this
.
groupBox4
);
this
.
Controls
.
Add
(
this
.
lblWarnMsg
);
this
.
Controls
.
Add
(
this
.
groupBox5
);
this
.
Controls
.
Add
(
this
.
richTextBox1
);
this
.
Controls
.
Add
(
this
.
groupBox1
);
this
.
Controls
.
Add
(
this
.
groupBox2
);
this
.
Controls
.
Add
(
this
.
menuStrip1
);
this
.
Controls
.
Add
(
this
.
lblThisSta
);
this
.
Icon
=
((
System
.
Drawing
.
Icon
)(
resources
.
GetObject
(
"$this.Icon"
)));
this
.
MainMenuStrip
=
this
.
menuStrip1
;
this
.
Name
=
"FrmStoreBox"
;
...
...
@@ -1768,6 +1913,8 @@
this
.
menuStrip1
.
PerformLayout
();
this
.
groupBox4
.
ResumeLayout
(
false
);
this
.
groupBox4
.
PerformLayout
();
this
.
groupBox3
.
ResumeLayout
(
false
);
this
.
groupBox3
.
PerformLayout
();
this
.
ResumeLayout
(
false
);
this
.
PerformLayout
();
...
...
@@ -1900,6 +2047,19 @@
private
System
.
Windows
.
Forms
.
Button
btnStart
;
private
System
.
Windows
.
Forms
.
Label
lblServerOn
;
public
System
.
Windows
.
Forms
.
Button
btnReadPosition
;
private
System
.
Windows
.
Forms
.
Label
label16
;
private
System
.
Windows
.
Forms
.
Label
label15
;
private
System
.
Windows
.
Forms
.
Label
label14
;
private
System
.
Windows
.
Forms
.
Label
label11
;
private
System
.
Windows
.
Forms
.
TextBox
txtHomeStatus
;
private
System
.
Windows
.
Forms
.
Button
button2
;
private
System
.
Windows
.
Forms
.
Label
label10
;
private
System
.
Windows
.
Forms
.
TextBox
txtBusyStatus
;
private
System
.
Windows
.
Forms
.
Button
button1
;
private
System
.
Windows
.
Forms
.
Label
label2
;
private
System
.
Windows
.
Forms
.
TextBox
txtAlarmStatus
;
private
System
.
Windows
.
Forms
.
Button
btnGetAlarm
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox3
;
}
}
source/ACSingleStore/FrmStoreBox.cs
查看文件 @
c2b136f
...
...
@@ -142,13 +142,17 @@ namespace OnlineStore.ACSingleStore
//验证运动是否完成
//CheckWait();
string
portName
=
txtAxisDeviceName
.
Text
;
int
SlvAddr
=
FormUtil
.
GetIntValue
(
txtAxisValue
);
string
portName
=
GetPortName
()
;
int
SlvAddr
=
GetSlaveAddr
(
);
//判断私服是否打开、
if
(
ACServerManager
.
ServerOnStatus
(
portName
,
SlvAddr
)
)
{
lblServerOn
.
Text
=
"伺服ON"
;
int
lOutPulse
=
ACServerManager
.
GetTargetPosition
(
portName
,
SlvAddr
);
lblOutPulse
.
Text
=
string
.
Format
(
"{0:d}"
,
lOutPulse
);
int
lCountPulse
=
ACServerManager
.
GetActualtPosition
(
portName
,
SlvAddr
);
lblCountPulse
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse
);
}
else
{
...
...
@@ -171,7 +175,6 @@ namespace OnlineStore.ACSingleStore
txtStoreRunTime
.
Text
=
store
.
GetStoreRunTime
().
ToString
(
@"dd\.hh\:mm\:ss"
);
}
//复位按钮状态显示
if
(
复位
ToolStripMenuItem
.
Enabled
==
false
)
{
...
...
@@ -235,6 +238,7 @@ namespace OnlineStore.ACSingleStore
private
void
ReadPosistion
()
{
string
deviceName
=
GetPortName
();
if
(
ACServerManager
.
ServerOnStatus
(
store
.
Config
.
Middle_Axis
.
DeviceName
,
store
.
Config
.
Middle_Axis
.
GetAxisValue
()))
{
axis_1_Alarm
.
IOValue
=
ACServerManager
.
GetAlarmStatus
(
store
.
Config
.
Middle_Axis
.
DeviceName
,
store
.
Config
.
Middle_Axis
.
GetAxisValue
());
...
...
@@ -244,7 +248,11 @@ namespace OnlineStore.ACSingleStore
int
lCountPulse1
=
ACServerManager
.
GetActualtPosition
(
store
.
Config
.
Middle_Axis
.
DeviceName
,
store
.
Config
.
Middle_Axis
.
GetAxisValue
());
lblCountPulse1
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse1
);
txtMiddleTarget
.
Text
=
store
.
Config
.
Middle_Axis
.
TargetPosition
.
ToString
();
if
(
deviceName
.
Equals
(
store
.
Config
.
Middle_Axis
.
DeviceName
))
{
lblOutPulse
.
Text
=
lblOutPulse1
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse1
.
Text
;
}
}
if
(
ACServerManager
.
ServerOnStatus
(
store
.
Config
.
UpDown_Axis
.
DeviceName
,
store
.
Config
.
UpDown_Axis
.
GetAxisValue
()))
{
...
...
@@ -255,6 +263,11 @@ namespace OnlineStore.ACSingleStore
int
lCountPulse2
=
ACServerManager
.
GetActualtPosition
(
store
.
Config
.
UpDown_Axis
.
DeviceName
,
store
.
Config
.
UpDown_Axis
.
GetAxisValue
());
lblCountPulse2
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse2
);
txtInoutTarget
.
Text
=
store
.
Config
.
InOut_Axis
.
TargetPosition
.
ToString
();
if
(
deviceName
.
Equals
(
store
.
Config
.
UpDown_Axis
.
DeviceName
))
{
lblOutPulse
.
Text
=
lblOutPulse2
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse2
.
Text
;
}
}
if
(
ACServerManager
.
ServerOnStatus
(
store
.
Config
.
InOut_Axis
.
DeviceName
,
store
.
Config
.
InOut_Axis
.
GetAxisValue
()))
{
...
...
@@ -264,6 +277,11 @@ namespace OnlineStore.ACSingleStore
int
lCountPulse3
=
ACServerManager
.
GetActualtPosition
(
store
.
Config
.
InOut_Axis
.
DeviceName
,
store
.
Config
.
InOut_Axis
.
GetAxisValue
());
lblCountPulse3
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse3
);
txtUpdownTarget
.
Text
=
store
.
Config
.
UpDown_Axis
.
TargetPosition
.
ToString
();
if
(
deviceName
.
Equals
(
store
.
Config
.
InOut_Axis
.
DeviceName
))
{
lblOutPulse
.
Text
=
lblOutPulse3
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse3
.
Text
;
}
}
}
...
...
@@ -409,18 +427,19 @@ namespace OnlineStore.ACSingleStore
ConfigMoveAxis
SlvAddr
=
store
.
moveAxisList
[
cmbAxisList
.
SelectedIndex
];
txtAxisDeviceName
.
Text
=
SlvAddr
.
DeviceName
;
txtAxisValue
.
Text
=
SlvAddr
.
GetAxisValue
().
ToString
();
if
(
SlvAddr
.
Equals
(
store
.
Config
.
InOut_Axis
))
{
txtASpeed
.
Text
=
store
.
Config
.
InOutAxis_P1_Speed
.
ToString
();
}
else
if
(
SlvAddr
.
Equals
(
store
.
Config
.
Middle_Axis
))
{
txtASpeed
.
Text
=
store
.
Config
.
MiddleAxis_P1_Speed
.
ToString
();
}
else
if
(
SlvAddr
.
Equals
(
store
.
Config
.
UpDown_Axis
))
{
txtASpeed
.
Text
=
store
.
Config
.
UpDownAxis_P1_Speed
.
ToString
();
}
txtASpeed
.
Text
=
SlvAddr
.
TargetSpeed
.
ToString
();
//if (SlvAddr.Equals(store.Config.InOut_Axis))
//{
// txtASpeed.Text = store.Config.InOutAxis_P1_Speed.ToString();
//}
//else if (SlvAddr.Equals(store.Config.Middle_Axis))
//{
// txtASpeed.Text = store.Config.MiddleAxis_P1_Speed.ToString();
//}
//else if (SlvAddr.Equals(store.Config.UpDown_Axis))
//{
// txtASpeed.Text = store.Config.UpDownAxis_P1_Speed.ToString();
//}
}
}
...
...
@@ -884,8 +903,8 @@ namespace OnlineStore.ACSingleStore
this
.
btnUpDownP6
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpDownP7
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
btnUpDownP8
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
lblWarnMsg
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
lblThisSta
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
//
this.lblWarnMsg.ForeColor = System.Drawing.Color.Red;
//
this.lblThisSta.ForeColor = System.Drawing.Color.Red;
this
.
btnComP1
.
ForeColor
=
System
.
Drawing
.
Color
.
Purple
;
this
.
btnComP3
.
ForeColor
=
System
.
Drawing
.
Color
.
Purple
;
...
...
@@ -1024,6 +1043,15 @@ namespace OnlineStore.ACSingleStore
}
private
int
GetSlaveAddr
()
{
return
FormUtil
.
GetShortValue
(
txtAxisValue
);
}
private
string
GetPortName
()
{
return
txtAxisDeviceName
.
Text
;
}
private
void
btnAxisReturnHome_Click
(
object
sender
,
EventArgs
e
)
{
string
portName
=
txtAxisDeviceName
.
Text
;
...
...
@@ -1037,5 +1065,23 @@ namespace OnlineStore.ACSingleStore
{
ReadPosistion
();
}
private
void
btnGetAlarm_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
ACServerManager
.
GetAlarmStatus
(
GetPortName
(),
GetSlaveAddr
());
this
.
txtAlarmStatus
.
Text
=
value
.
ToString
();
}
private
void
button1_Click_1
(
object
sender
,
EventArgs
e
)
{
int
value
=
ACServerManager
.
GetBusyStatus
(
GetPortName
(),
GetSlaveAddr
());
this
.
txtBusyStatus
.
Text
=
value
.
ToString
();
}
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
ACServerManager
.
GetHomeEndStatus
(
GetPortName
(),
GetSlaveAddr
());
this
.
txtHomeStatus
.
Text
=
value
.
ToString
();
}
}
}
source/DeviceLibrary/PanasonicServo/ACServerManager.cs
查看文件 @
c2b136f
...
...
@@ -13,7 +13,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
public
partial
class
ACServerManager
{
private
static
int
SleepMSendons
=
1
0
;
private
static
int
SleepMSendons
=
10
0
;
public
static
bool
OpenPort
(
string
portName
)
{
if
(
serialBeanMap
.
ContainsKey
(
portName
))
...
...
@@ -225,30 +225,23 @@ namespace OnlineStore.DeviceLibrary
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
06
,
ACCMDManager
.
BlockNo
,
ACCMDManager
.
Block_RelMove
,
2
);
SendData
(
portName
,
data
);
//Thread.Sleep(100);
Thread
.
Sleep
(
SleepMSendons
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
public
static
void
HomeMove
(
string
portName
,
int
slvAddr
,
int
speed
)
{
byte
[]
date
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
"4637"
,
string
.
Format
(
"{0:X2}"
,
Math
.
Abs
(
speed
)),
1
);
SendData
(
portName
,
date
);
Thread
.
Sleep
(
SleepMSendons
);
date
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
"4638"
,
string
.
Format
(
"{0:X2}"
,
Math
.
Abs
(
speed
/
2
)),
1
);
SendData
(
portName
,
date
);
Thread
.
Sleep
(
SleepMSendons
);
//if (speed > 0)
//{
//byte[] data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_HomeMove0, 2);
//SendData(portName, data);
//}
//else
//{
//byte[] date = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, "4637", string.Format("{0:X2}", Math.Abs(speed)), 1);
//SendData(portName, date);
//Thread.Sleep(SleepMSendons);
//date = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, "4638", string.Format("{0:X2}", Math.Abs(speed / 2)), 1);
//SendData(portName, date);
//Thread.Sleep(SleepMSendons);
//默认负方向原点返回
byte
[]
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
ACCMDManager
.
BlockNo
,
ACCMDManager
.
Block_HomeMove1
,
2
);
SendData
(
portName
,
data
);
//}
//Thread.Sleep(100);
Thread
.
Sleep
(
SleepMSendons
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
...
...
@@ -267,7 +260,7 @@ namespace OnlineStore.DeviceLibrary
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
ACCMDManager
.
BlockNo
,
ACCMDManager
.
Block_VolMove1
,
2
);
SendData
(
portName
,
data
);
}
//Thread.Sleep(100
);
Thread
.
Sleep
(
SleepMSendons
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
public
static
void
AbsMove
(
string
portName
,
int
slvAddr
,
int
targetPosition
,
int
targetSpeed
)
...
...
@@ -321,7 +314,7 @@ namespace OnlineStore.DeviceLibrary
}
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
SendData
(
portName
,
data
);
System
.
Threading
.
Thread
.
Sleep
(
SleepMSendons
);
Thread
.
Sleep
(
SleepMSendons
);
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
ACCMDManager
.
BlockNo
,
ACCMDManager
.
Block_AbsMove
,
2
);
SendData
(
portName
,
data
);
Thread
.
Sleep
(
SleepMSendons
);
...
...
source/DeviceLibrary/PanasonicServo/ACServerManager_Partial.cs
查看文件 @
c2b136f
...
...
@@ -31,15 +31,13 @@ namespace OnlineStore.DeviceLibrary
public
static
void
RunBlock
(
string
portName
,
int
slvAddr
,
int
index
)
{
//运动
byte
[]
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
"4414"
,
index
.
ToString
(),
2
);
byte
[]
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
ACCMDManager
.
BlockNo
,
index
.
ToString
(),
2
);
SendData
(
portName
,
data
);
//开始
byte
[]
data1
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
ACCMDManager
.
STB_Addr
,
"0000"
,
2
);
SendData
(
portName
,
data1
);
System
.
Threading
.
Thread
.
Sleep
(
100
);
byte
[]
data2
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
ACCMDManager
.
STB_Addr
,
"ff00"
,
2
);
SendData
(
portName
,
data2
);
Thread
.
Sleep
(
100
);
CloseSTB
(
portName
,
slvAddr
);
Thread
.
Sleep
(
100
);
OnlyOpenSTB
(
portName
,
slvAddr
);
}
public
static
void
SendStrAndSleep
(
string
portName
,
string
str
)
{
...
...
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
查看文件 @
c2b136f
...
...
@@ -28,12 +28,12 @@ AXIS,(轴一)旋转轴,Middle_Axis,1,COM3,0,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,1,COM4,0,,,,
AXIS,(轴三)进出轴,InOut_Axis,1,COM5,0,,,,
PRO,温湿度传感器地址,Temperate_ServerAddress,192.168.200.14,,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,
-1
0000,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,
-10
000,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,
-10
000,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,
-1
0000,,,,,,
,进出轴进料口取料点 P2,InOutAxis_DoorPosition_P2,
9
,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,
5
000,,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,
70
0000,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,
702
000,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,
702
000,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,
70
0000,,,,,,
,进出轴进料口取料点 P2,InOutAxis_DoorPosition_P2,
4000
,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,
230
000,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,
PRO,押金轴(轴4)P1待机原位点,CompressAxis_P1_Position,360,,,,,,
,,,,,,,,,
...
...
@@ -46,21 +46,21 @@ PRO,预警湿度,WarnHumidity,80,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,100,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,30,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,30,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,
5
0,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,
10
0,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,
30,
,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,
2
0,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,
4
0,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,
10
,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,100,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,30,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,30,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,
5
0,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,
100,
,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,
30,
,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,
2
0,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,
40
,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,
10
,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,30,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,30,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,
5
0,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,
10
0,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,
3
0,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,
4
0,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,
6
0,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,
2
0,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,100,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,100,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,100,,,,,,
...
...
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
查看文件 @
c2b136f
位置,优先级,高度,宽度,料仓ID,中轴位置P2,升降轴库位出料前点P5,升降轴库位出料缓冲点P6,升降轴库位入料前点P3,升降轴库位入料缓冲点P4,进出轴库位点取料点P3,压紧轴压紧点P2,压紧轴压紧前点P3,进出轴进料口取料点P2,升降轴进料口出料前点P2,升降轴进料口取料缓冲点P7
1#SA1_1_2_2:1,149,65,325,1,228600,-828700,-840700,-840700,-828700,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_2:2,149,65,325,1,228600,-828700,-840700,-840700,-828700,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_2:3,149,65,325,1,228600,-828700,-840700,-840700,-828700,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_2:4,149,65,325,1,228600,-828700,-840700,-840700,-828700,94000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_1_2_3:1,148,65,325,1,228600,-884900,-894900,-894900,-884900,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_3:2,148,65,325,1,228600,-884900,-894900,-894900,-884900,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_3:3,148,65,325,1,228600,-884900,-894900,-894900,-884900,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_3:4,148,65,325,1,228600,-884900,-894900,-894900,-884900,94000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_1_2_4:1,147,65,325,1,228600,-939100,-949100,-949100,-939100,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_4:2,147,65,325,1,228600,-939100,-949100,-949100,-939100,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_4:3,147,65,325,1,228600,-939100,-949100,-949100,-939100,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_4:4,147,65,325,1,228600,-939100,-949100,-949100,-939100,94000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_1_2_5:1,146,65,325,1,228600,-993300,-1003300,-1003300,-993300,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_5:2,146,65,325,1,228600,-993300,-1003300,-1003300,-993300,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_5:3,146,65,325,1,228600,-993300,-1003300,-1003300,-993300,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_5:4,146,65,325,1,228600,-993300,-1003300,-1003300,-993300,94000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_1_2_6:1,145,65,325,1,228600,-1047500,-1057500,-1057500,-1047500,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_6:2,145,65,325,1,228600,-1047500,-1057500,-1057500,-1047500,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_6:3,145,65,325,1,228600,-1047500,-1057500,-1057500,-1047500,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_6:4,145,65,325,1,228600,-1047500,-1057500,-1057500,-1047500,94000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_1_2_7:1,144,65,325,1,228600,-1101700,-1111700,-1111700,-1101700,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_7:2,144,65,325,1,228600,-1101700,-1111700,-1111700,-1101700,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_7:3,144,65,325,1,228600,-1101700,-1111700,-1111700,-1101700,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_7:4,144,65,325,1,228600,-1101700,-1111700,-1111700,-1101700,94000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_1_2_8:1,143,65,325,1,228600,-1155900,-1165900,-1165900,-1155900,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_8:2,143,65,325,1,228600,-1155900,-1165900,-1165900,-1155900,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_8:3,143,65,325,1,228600,-1155900,-1165900,-1165900,-1155900,94000,-92000,-20000,97000,-494500,-494500
1#SA1_1_2_8:4,143,65,325,1,228600,-1155900,-1165900,-1165900,-1155900,94000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,
1#SA1_2_1_1:1,137,45,420,1,113900,-7000,-23000,-23000,-7000,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_2:1,138,45,420,1,113900,-52900,-68900,-68900,-52900,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_3:1,139,45,420,1,113900,-98700,-114700,-114700,-98700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_4:1,140,45,420,1,113900,-144200,-160200,-160200,-144200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_5:1,141,45,420,1,113900,-189700,-205700,-205700,-189700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_6:1,142,45,420,1,113900,-235200,-251200,-251200,-235200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_7:1,143,45,420,1,113900,-280700,-296700,-296700,-280700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_8:1,144,45,420,1,113900,-326200,-342200,-342200,-326200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_9:1,145,45,420,1,113900,-371700,-387700,-387700,-371700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_10:1,146,45,420,1,113900,-417200,-433200,-433200,-417200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_11:1,147,45,420,1,113900,-462700,-478700,-478700,-462700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_12:1,148,45,420,1,113900,-508200,-524200,-524200,-508200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_1_13:1,149,45,420,1,113900,-553700,-569700,-569700,-553700,90000,-175000,-100000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_2_2_1:1,150,45,420,1,113900,-598200,-614200,-614200,-598200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_2:1,149,45,420,1,113900,-643700,-659700,-659700,-643700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_3:1,148,45,420,1,113900,-689200,-705200,-705200,-689200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_4:1,147,45,420,1,113900,-734700,-750700,-750700,-734700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_5:1,146,45,420,1,113900,-780200,-796200,-796200,-780200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_6:1,145,45,420,1,113900,-825700,-841700,-841700,-825700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_7:1,144,45,420,1,113900,-871200,-887200,-887200,-871200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_8:1,143,45,420,1,113900,-916700,-932700,-932700,-916700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_9:1,142,45,420,1,113900,-962200,-978200,-978200,-962200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_10:1,141,45,420,1,113900,-1007700,-1023700,-1023700,-1007700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_11:1,140,45,420,1,113900,-1053200,-1069200,-1069200,-1053200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_12:1,139,45,420,1,113900,-1098700,-1114700,-1114700,-1098700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_2_2_13:1,138,45,420,1,113900,-1144200,-1160200,-1160200,-1144200,90000,-175000,-100000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_1_1:1,137,45,420,1,-1320,-7000,-23000,-23000,-7000,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_2:1,138,45,420,1,-1320,-52900,-68900,-68900,-52900,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_3:1,139,45,420,1,-1320,-98700,-114700,-114700,-98700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_4:1,140,45,420,1,-1320,-144200,-160200,-160200,-144200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_5:1,141,45,420,1,-1320,-189700,-205700,-205700,-189700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_6:1,142,45,420,1,-1320,-235200,-251200,-251200,-235200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_7:1,143,45,420,1,-1320,-280700,-296700,-296700,-280700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_8:1,144,45,420,1,-1320,-326200,-342200,-342200,-326200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_9:1,145,45,420,1,-1320,-371700,-387700,-387700,-371700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_10:1,146,45,420,1,-1320,-417200,-433200,-433200,-417200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_11:1,147,45,420,1,-1320,-462700,-478700,-478700,-462700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_12:1,148,45,420,1,-1320,-508200,-524200,-524200,-508200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_3_1_13:1,149,45,420,1,-1320,-553700,-569700,-569700,-553700,90000,-175000,-100000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_1:1,150,65,325,1,-1320,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_1:2,150,65,325,1,-1320,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_1:3,150,65,325,1,-1320,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_1:4,150,65,325,1,-1320,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_2:1,149,65,325,1,-1320,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_2:2,149,65,325,1,-1320,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_2:3,149,65,325,1,-1320,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_2:4,149,65,325,1,-1320,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_3:1,148,65,325,1,-1320,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_3:2,148,65,325,1,-1320,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_3:3,148,65,325,1,-1320,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_3:4,148,65,325,1,-1320,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_4:1,147,65,325,1,-1320,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_4:2,147,65,325,1,-1320,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_4:3,147,65,325,1,-1320,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_4:4,147,65,325,1,-1320,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_5:1,146,65,325,1,-1320,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_5:2,146,65,325,1,-1320,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_5:3,146,65,325,1,-1320,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_5:4,146,65,325,1,-1320,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_6:1,145,65,325,1,-1320,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_6:2,145,65,325,1,-1320,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_6:3,145,65,325,1,-1320,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_6:4,145,65,325,1,-1320,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_7:1,144,65,325,1,-1320,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_7:2,144,65,325,1,-1320,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_7:3,144,65,325,1,-1320,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_7:4,144,65,325,1,-1320,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_8:1,143,65,325,1,-1320,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_8:2,143,65,325,1,-1320,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_8:3,143,65,325,1,-1320,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_8:4,143,65,325,1,-1320,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_9:1,142,65,325,1,-1320,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_9:2,142,65,325,1,-1320,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_9:3,142,65,325,1,-1320,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_9:4,142,65,325,1,-1320,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_10:1,141,65,325,1,-1320,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_10:2,141,65,325,1,-1320,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_10:3,141,65,325,1,-1320,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_10:4,141,65,325,1,-1320,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_3_2_11:1,140,65,325,1,-1320,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_11:2,140,65,325,1,-1320,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_11:3,140,65,325,1,-1320,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_3_2_11:4,140,65,325,1,-1320,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,
1#SA1_4_1_1:1,137,45,420,1,459800,-7000,-23000,-23000,-7000,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_2:1,138,45,420,1,459800,-52900,-68900,-68900,-52900,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_3:1,139,45,420,1,459800,-98700,-114700,-114700,-98700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_4:1,140,45,420,1,459800,-144200,-160200,-160200,-144200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_5:1,141,45,420,1,459800,-189700,-205700,-205700,-189700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_6:1,142,45,420,1,459800,-235200,-251200,-251200,-235200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_7:1,143,45,420,1,459800,-280700,-296700,-296700,-280700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_8:1,144,45,420,1,459800,-326200,-342200,-342200,-326200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_9:1,145,45,420,1,459800,-371700,-387700,-387700,-371700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_10:1,146,45,420,1,459800,-417200,-433200,-433200,-417200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_11:1,147,45,420,1,459800,-462700,-478700,-478700,-462700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_12:1,148,45,420,1,459800,-508200,-524200,-524200,-508200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_4_1_13:1,149,45,420,1,459800,-553700,-569700,-569700,-553700,90000,-175000,-100000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_1:1,150,65,325,1,459800,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_1:2,150,65,325,1,459800,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_1:3,150,65,325,1,459800,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_1:4,150,65,325,1,459800,-611300,-621300,-621300,-611300,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_2:1,149,65,325,1,459800,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_2:2,149,65,325,1,459800,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_2:3,149,65,325,1,459800,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_2:4,149,65,325,1,459800,-666000,-676000,-676000,-666000,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_3:1,148,65,325,1,459800,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_3:2,148,65,325,1,459800,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_3:3,148,65,325,1,459800,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_3:4,148,65,325,1,459800,-719600,-729600,-729600,-719600,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_4:1,147,65,325,1,459800,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_4:2,147,65,325,1,459800,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_4:3,147,65,325,1,459800,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_4:4,147,65,325,1,459800,-773800,-783800,-783800,-773800,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_5:1,146,65,325,1,459800,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_5:2,146,65,325,1,459800,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_5:3,146,65,325,1,459800,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_5:4,146,65,325,1,459800,-828000,-838000,-838000,-828000,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_6:1,145,65,325,1,459800,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_6:2,145,65,325,1,459800,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_6:3,145,65,325,1,459800,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_6:4,145,65,325,1,459800,-882200,-892200,-892200,-882200,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_7:1,144,65,325,1,459800,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_7:2,144,65,325,1,459800,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_7:3,144,65,325,1,459800,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_7:4,144,65,325,1,459800,-936400,-946400,-946400,-936400,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_8:1,143,65,325,1,459800,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_8:2,143,65,325,1,459800,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_8:3,143,65,325,1,459800,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_8:4,143,65,325,1,459800,-990600,-1000600,-1000600,-990600,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_9:1,142,65,325,1,459800,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_9:2,142,65,325,1,459800,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_9:3,142,65,325,1,459800,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_9:4,142,65,325,1,459800,-1044800,-1054800,-1054800,-1044800,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_10:1,141,65,325,1,459800,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_10:2,141,65,325,1,459800,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_10:3,141,65,325,1,459800,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_10:4,141,65,325,1,459800,-1099000,-1109000,-1109000,-1099000,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_4_2_11:1,140,65,325,1,459800,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_11:2,140,65,325,1,459800,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_11:3,140,65,325,1,459800,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
1#SA1_4_2_11:4,140,65,325,1,459800,-1153200,-1163200,-1163200,-1153200,95000,-92000,-20000,97000,-494500,-494500
,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,
1#SA1_5_1_1:1,137,45,420,1,345000,-7000,-23000,-23000,-7000,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_2:1,138,45,420,1,345000,-52900,-68900,-68900,-52900,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_3:1,139,45,420,1,345000,-98700,-114700,-114700,-98700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_4:1,140,45,420,1,345000,-144200,-160200,-160200,-144200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_5:1,141,45,420,1,345000,-189700,-205700,-205700,-189700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_6:1,142,45,420,1,345000,-235200,-251200,-251200,-235200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_7:1,143,45,420,1,345000,-280700,-296700,-296700,-280700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_8:1,144,45,420,1,345000,-326200,-342200,-342200,-326200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_9:1,145,45,420,1,345000,-371700,-387700,-387700,-371700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_10:1,146,45,420,1,345000,-417200,-433200,-433200,-417200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_11:1,147,45,420,1,345000,-462700,-478700,-478700,-462700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_12:1,148,45,420,1,345000,-508200,-524200,-524200,-508200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_1_13:1,149,45,420,1,345000,-553700,-569700,-569700,-553700,90000,-175000,-100000,97000,-494500,-494500
,,,,,,,,,,,,,,,
1#SA1_5_2_1:1,150,45,420,1,345000,-598200,-614200,-614200,-598200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_2:1,149,45,420,1,345000,-643700,-659700,-659700,-643700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_3:1,148,45,420,1,345000,-689200,-705200,-705200,-689200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_4:1,147,45,420,1,345000,-734700,-750700,-750700,-734700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_5:1,146,45,420,1,345000,-780200,-796200,-796200,-780200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_6:1,145,45,420,1,345000,-825700,-841700,-841700,-825700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_7:1,144,45,420,1,345000,-871200,-887200,-887200,-871200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_8:1,143,45,420,1,345000,-916700,-932700,-932700,-916700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_9:1,142,45,420,1,345000,-962200,-978200,-978200,-962200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_10:1,141,45,420,1,345000,-1007700,-1023700,-1023700,-1007700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_11:1,140,45,420,1,345000,-1053200,-1069200,-1069200,-1053200,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_12:1,139,45,420,1,345000,-1098700,-1114700,-1114700,-1098700,90000,-175000,-100000,97000,-494500,-494500
1#SA1_5_2_13:1,138,45,420,1,345000,-1144200,-1160200,-1160200,-1144200,90000,-175000,-100000,97000,-494500,-494500
1#AC1_1_2_2,149,65,325,1,165000,720000,723000,723000,720000,5000, ,0,4000,703000,703000
1#AC1_1_2_3,148,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_1_2_4,147,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_1_2_5,146,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_1_2_6,145,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_1_2_7,144,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,,0,0,4000,703000,703000
1#AC1_1_2_8,143,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_1,137,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_2,138,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_3,139,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_4,140,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_5,141,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_6,142,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_7,143,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_8,144,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_9,145,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_10,146,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_11,147,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_12,148,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_1_13,149,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,,0,0,4000,703000,703000
1#AC1_2_2_1,150,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_2,149,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_3,148,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_4,147,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_5,146,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_6,145,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_7,144,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_8,143,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_9,142,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_10,141,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_11,140,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_12,139,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_2_2_13,138,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,,0,0,4000,703000,703000
1#AC1_3_1_1,137,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_2,138,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_3,139,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_4,140,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_5,141,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_6,142,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_7,143,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_8,144,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_9,145,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_10,146,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_11,147,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_12,148,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_1_13,149,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,,0,0,4000,703000,703000
1#AC1_3_2_1,150,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_2,149,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_3,148,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_4,147,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_5,146,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_6,145,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_7,144,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_8,143,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_9,142,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_10,141,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_3_2_11,140,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_1,137,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_2,138,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_3,139,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_4,140,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_5,141,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_6,142,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_7,143,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_8,144,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_9,145,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_10,146,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_11,147,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_12,148,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_1_13,149,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_1,150,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_2,149,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_3,148,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_4,147,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_5,146,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_6,145,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_7,144,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_8,143,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_9,142,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_10,141,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_4_2_11,140,65,325,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_1,137,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_2,138,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_3,139,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_4,140,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_5,141,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_6,142,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_7,143,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_8,144,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_9,145,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_10,146,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_11,147,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_12,148,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_1_13,149,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
,,,,,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_1,150,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_2,149,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_3,148,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_4,147,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_5,146,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_6,145,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_7,144,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_8,143,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_9,142,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_10,141,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_11,140,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_12,139,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
1#AC1_5_2_13,138,45,420,1,165000,720000,723000,723000,720000,5000,0,0,4000,703000,703000
source/DeviceLibrary/acSingleStore/ACStoreManager.cs
查看文件 @
c2b136f
...
...
@@ -50,7 +50,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
IsConnectServer
=
true
;
//
IsConnectServer = true;
}
CheckEnum
(
typeof
(
StoreMoveStep
));
CheckEnum
(
typeof
(
StoreStatus
));
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
c2b136f
...
...
@@ -198,9 +198,9 @@ namespace OnlineStore.DeviceLibrary
Config
.
InOut_Axis
.
DefaultPosition
=
Config
.
InOutAxis_P1_Position
;
Config
.
UpDown_Axis
.
DefaultPosition
=
Config
.
UpDownAxis_DoorOPosition_P1
;
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
moveAxisList
.
Add
(
Config
.
UpDown_Axis
);
moveAxisList
.
Add
(
Config
.
InOut_Axis
);
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
this
.
AxisAlarmCodeMap
=
new
Dictionary
<
ConfigMoveAxis
,
AxisAlarmInfo
>();
this
.
AxisAlarmCodeMap
.
Add
(
Config
.
UpDown_Axis
,
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
Config
.
InOut_Axis
,
new
AxisAlarmInfo
());
...
...
@@ -229,11 +229,12 @@ namespace OnlineStore.DeviceLibrary
//急停按钮和气压检测需要一起判断
IO_VALUE
suddenBtn
=
KNDIOValue
(
IO_Type
.
SuddenStop_BTN
);
IO_VALUE
airCheck
=
KNDIOValue
(
IO_Type
.
Airpressure_Check
);
//
IO_VALUE airCheck = KNDIOValue(IO_Type.Airpressure_Check);
if
(
suddenBtn
==
IO_VALUE
.
HIGH
&&
airCheck
==
IO_VALUE
.
HIGH
)
if
(
suddenBtn
==
IO_VALUE
.
HIGH
)
//if (suddenBtn == IO_VALUE.HIGH && airCheck == IO_VALUE.HIGH)
{
lastAirValue
=
airCheck
;
//
lastAirValue = airCheck;
lastAirCloseTime
=
DateTime
.
Now
;
RunAxis
();
...
...
@@ -246,7 +247,7 @@ namespace OnlineStore.DeviceLibrary
//TODO 启动时先所有轴远点返回,测试暂时关闭
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
//启动温湿度服务器
HumitureServer
.
StartTemperateServer
(
Config
.
TemperateServer_Port
);
//
HumitureServer.StartTemperateServer(Config.TemperateServer_Port);
ReturnHome
();
StartTime
=
DateTime
.
Now
;
...
...
@@ -269,7 +270,7 @@ namespace OnlineStore.DeviceLibrary
}
}
#
region
原点返回和
重置
处理
#
region
原点返回和
复位
处理
private
void
ReturnHome
()
{
WarnMsg
=
""
;
...
...
@@ -285,7 +286,6 @@ namespace OnlineStore.DeviceLibrary
ACAxisHomeMove
(
Config
.
InOut_Axis
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始原点返回,先把进出轴回原点"
);
//设置速度
SetShuokeSpeed
();
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
}
...
...
@@ -295,17 +295,6 @@ namespace OnlineStore.DeviceLibrary
{
return
;
}
//ShuoKeControls.SetSpeed(Config.CompressAxis_Slv, ShuoKeCMD.SetAddSpeed, Config.CompressAxis_AddSpeed);
//Thread.Sleep(100);
//ShuoKeControls.SetSpeed(Config.CompressAxis_Slv, ShuoKeCMD.SetDelSpeed, Config.CompressAxis_DelSpeed);
//Thread.Sleep(100);
//ShuoKeControls.SetSpeed(Config.CompressAxis_Slv, ShuoKeCMD.SetEndSpeed, Config.CompressAxis_EndSpeed);
//Thread.Sleep(100);
//ShuoKeControls.SetSpeed(Config.CompressAxis_Slv, ShuoKeCMD.SetHomeSpeed, Config.CompressAxis_HomeSpeed);
//Thread.Sleep(100);
//ShuoKeControls.SetSpeed(Config.CompressAxis_Slv, ShuoKeCMD.SetMaxSpeed, Config.CompressAxis_MaxSpeed);
//Thread.Sleep(100);
//ShuoKeControls.SetSpeed(Config.CompressAxis_Slv, ShuoKeCMD.SetStartSpeed, Config.CompressAxis_StartSpeed);
}
public
void
MoveToP1
()
{
...
...
@@ -323,7 +312,7 @@ namespace OnlineStore.DeviceLibrary
Reset
(
true
);
}
/// <summary>
///
重置
///
复位
/// </summary>
/// <param name="isNeedClearAuto">是否需要清理自动出入库</param>
public
void
Reset
(
bool
isNeedClearAuto
)
...
...
@@ -332,11 +321,8 @@ namespace OnlineStore.DeviceLibrary
CurrInOutACount
=
0
;
KNDIOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
100
);
KNDIOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
Thread
.
Sleep
(
100
);
KNDIOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
100
);
//复位之前先停止运行
if
(
isNeedClearAuto
)
{
...
...
@@ -358,12 +344,12 @@ namespace OnlineStore.DeviceLibrary
//打开四个轴
if
(!
OpenAllAxis
())
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
重置
时打开轴失败,需要再次复位,直接报警停止复位"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
复位
时打开轴失败,需要再次复位,直接报警停止复位"
);
}
if
(
IsHasCompress_Axis
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始
重置
,先把进出轴回原点"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始
复位
,先把进出轴回原点"
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
//硕科压紧轴回原点
...
...
@@ -372,8 +358,8 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始
重置
:先定位气缸下降"
);
//
重置
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始
复位
:先定位气缸下降"
);
//
复位
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_LocationCylinderBack
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
...
...
@@ -383,7 +369,7 @@ namespace OnlineStore.DeviceLibrary
}
/// <summary>
///
重置
处理
///
复位
处理
/// </summary>
protected
override
void
ResetProcess
()
{
...
...
@@ -399,39 +385,31 @@ namespace OnlineStore.DeviceLibrary
{
case
StoreMoveStep
.
BOX_H_LocationCylinderBack
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
原点返回中,
进出轴回原点"
);
//
重置
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
复位:
进出轴回原点"
);
//
复位
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
ACAxisHomeMove
(
Config
.
InOut_Axis
);
break
;
case
StoreMoveStep
.
BOX_H_InOutBack
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBackWait
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"重置中 ,进出轴已经回原点 ,等待1000毫秒清空位置"
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
break
;
case
StoreMoveStep
.
BOX_H_InOutBackWait
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
重置中 ,进出轴已经回原点 , 并且进出轴退回P1点,关闭舱门,判断叉子没料盘
"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
复位:进出轴走到P1,关闭舱门
"
);
//进出轴原点返回完成,将进出轴的位置设置=0
AxisCountClear
(
Config
.
InOut_Axis
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
//判断叉子没有料盘
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_3
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_4
,
IO_VALUE
.
LOW
));
//关闭舱门
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
CloseDoorAndWait
();
break
;
case
StoreMoveStep
.
BOX_H_InOutToP1
:
//如果此时轴三还在报警,需要提示错误并等待
if
(
ACServerManager
.
GetAlarmStatus
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
())
>
0
)
{
LogUtil
.
error
(
LOGGER
,
"进出轴报警!
重置
失败,请检查!"
);
LogUtil
.
error
(
LOGGER
,
"进出轴报警!
复位
失败,请检查!"
);
}
//
重置
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
重置中
: 压紧轴,旋转轴,上下轴开始 原点返回"
);
//
复位
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
复位
: 压紧轴,旋转轴,上下轴开始 原点返回"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
if
(
IsHasCompress_Axis
)
{
...
...
@@ -442,22 +420,14 @@ namespace OnlineStore.DeviceLibrary
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_WaitAxisCountClear
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"重置中:等待1500后清理 轴的位置!"
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1500
));
break
;
case
StoreMoveStep
.
BOX_H_WaitAxisCountClear
:
LogUtil
.
info
(
LOGGER
,
StoreName
+
"重置中:压紧轴,旋转轴,上下轴计数器清空!"
);
AxisCountClear
(
Config
.
Middle_Axis
);
AxisCountClear
(
Config
.
UpDown_Axis
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
重置
中:旋转轴运动到P1,上下轴走到P1!"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
复位
中:旋转轴运动到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
);
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
重置
完成"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
复位
完成"
);
storeRunStatus
=
StoreRunStatus
.
Runing
;
StoreMove
.
EndMove
();
storeStatus
=
StoreStatus
.
StoreOnline
;
...
...
@@ -472,18 +442,13 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
"到待机状态,压紧轴回原点,关闭舱门"
);
if
(
IsHasCompress_Axis
)
{
//ShuoKeControls.HomeMove(Config.CompressAxis_Slv, 0);
//StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, 0, true));
}
//关闭舱门
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
CloseDoorAndWait
();
break
;
case
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
重置
中:旋转轴运动到P1,上下轴走到P1!"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
复位
中:旋转轴运动到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
);
break
;
...
...
@@ -501,6 +466,20 @@ namespace OnlineStore.DeviceLibrary
default
:
break
;
}
}
private
void
OpenDoorAndWait
()
{
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
}
private
void
CloseDoorAndWait
()
{
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
}
/// <summary>
/// 原点返回处理
...
...
@@ -520,16 +499,11 @@ namespace OnlineStore.DeviceLibrary
case
StoreMoveStep
.
BOX_H_LocationCylinderBack
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"原点返回中,进出轴回原点"
);
//
重置
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
//
复位
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
ACAxisHomeMove
(
Config
.
InOut_Axis
);
break
;
case
StoreMoveStep
.
BOX_H_InOutBack
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBackWait
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"重置中 ,进出轴已经回原点 ,等待1000毫秒清空位置"
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
break
;
case
StoreMoveStep
.
BOX_H_InOutBackWait
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"原点返回中,进出轴已经回原点, 进出轴退回P1点,关闭仓门,检测叉子没有料盘"
);
//进出轴原点返回完成,将进出轴的位置设置=0
...
...
@@ -538,22 +512,17 @@ namespace OnlineStore.DeviceLibrary
//判断叉子没有料盘
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_3
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_4
,
IO_VALUE
.
LOW
));
//关闭舱门
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
CloseDoorAndWait
();
break
;
case
StoreMoveStep
.
BOX_H_InOutToP1
:
//如果此时轴三还在报警,需要提示错误并等待
if
(
ACServerManager
.
GetAlarmStatus
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
())
>
0
)
{
WarnMsg
=
"进出轴报警!
重置
失败,请检查!"
;
LogUtil
.
error
(
LOGGER
,
"进出轴报警!
重置
失败,请检查!"
);
WarnMsg
=
"进出轴报警!
复位
失败,请检查!"
;
LogUtil
.
error
(
LOGGER
,
"进出轴报警!
复位
失败,请检查!"
);
}
//
重置
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
//
复位
和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil
.
info
(
LOGGER
,
StoreName
+
"原点返回中 :压紧轴,旋转轴,上下轴开始原点返回"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
if
(
IsHasCompress_Axis
)
...
...
@@ -566,22 +535,14 @@ namespace OnlineStore.DeviceLibrary
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_WaitAxisCountClear
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"原点返回中:等待1500后清理压紧轴,旋转轴,上下轴的位置!"
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1500
));
break
;
case
StoreMoveStep
.
BOX_H_WaitAxisCountClear
:
LogUtil
.
info
(
LOGGER
,
StoreName
+
"原点返回中:压紧轴,旋转轴,上下轴计数器清空!"
);
AxisCountClear
(
Config
.
Middle_Axis
);
AxisCountClear
(
Config
.
UpDown_Axis
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
原点返回中
:旋转轴运动到P1,上下轴到P1!"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
回原点
:旋转轴运动到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
);
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
原点返回完成
"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
回原点
"
);
storeRunStatus
=
StoreRunStatus
.
Runing
;
StoreMove
.
EndMove
();
storeStatus
=
StoreStatus
.
StoreOnline
;
...
...
@@ -706,8 +667,11 @@ namespace OnlineStore.DeviceLibrary
IsRun
=
false
;
KNDManager
.
CloseAllDO
();
if
(
IsHasCompress_Axis
)
{
ShuoKeControls
.
ClosePort
();
HumitureServer
.
StopTemperateServer
();
}
//HumitureServer.StopTemperateServer();
LogUtil
.
info
(
LOGGER
,
StoreName
+
",停止运行,总运行时间:"
+
span
.
ToString
());
}
...
...
@@ -911,39 +875,39 @@ namespace OnlineStore.DeviceLibrary
}
}
}
IO_VALUE
airCheck
=
KNDIOValue
(
IO_Type
.
Airpressure_Check
);
//气压检测按钮灭三秒以上才算关闭
if
(
airCheck
==
IO_VALUE
.
LOW
&&
(!
isInSuddenDown
))
{
int
checkSenconds
=
Config
.
AirCheckSeconds
;
LogUtil
.
info
(
LOGGER
,
StoreName
+
"未检测到气压信号,判断未检测到信号持续的时间是否"
+
checkSenconds
+
"以上!"
);
//判断是否持续
if
(
lastAirValue
==
IO_VALUE
.
LOW
)
{
if
((!
isNoAirCheck
)
&&
(
DateTime
.
Now
-
lastAirCloseTime
).
TotalSeconds
>
checkSenconds
)
{
isNoAirCheck
=
true
;
//没有了气压检测信号
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 未检测到气压信号!"
);
WarnMsg
=
StoreName
+
" 未检测到气压信号"
;
//报警时会关闭所有轴
Alarm
(
StoreAlarmType
.
NoAirCheck
,
"2"
,
WarnMsg
,
StoreMoveType
.
None
);
}
}
else
{
lastAirValue
=
airCheck
;
lastAirCloseTime
=
DateTime
.
Now
;
isNoAirCheck
=
false
;
}
}
else
{
lastAirValue
=
airCheck
;
lastAirCloseTime
=
DateTime
.
Now
;
isNoAirCheck
=
false
;
}
//
IO_VALUE airCheck = KNDIOValue(IO_Type.Airpressure_Check);
//
//
气压检测按钮灭三秒以上才算关闭
//
if (airCheck == IO_VALUE.LOW && (!isInSuddenDown))
//
{
//
int checkSenconds = Config.AirCheckSeconds;
//
LogUtil.info(LOGGER, StoreName + "未检测到气压信号,判断未检测到信号持续的时间是否" + checkSenconds + "以上!");
//
//判断是否持续
//
if (lastAirValue == IO_VALUE.LOW)
//
{
//
if ((!isNoAirCheck) && (DateTime.Now - lastAirCloseTime).TotalSeconds > checkSenconds)
//
{
//
isNoAirCheck = true;
//
//没有了气压检测信号
//
LogUtil.error(LOGGER, StoreName + " 未检测到气压信号!");
//
WarnMsg = StoreName + " 未检测到气压信号";
//
//报警时会关闭所有轴
//
Alarm(StoreAlarmType.NoAirCheck, "2", WarnMsg, StoreMoveType.None);
//
}
//
}
//
else
//
{
//
lastAirValue = airCheck;
//
lastAirCloseTime = DateTime.Now;
//
isNoAirCheck = false;
//
}
//
}
//
else
//
{
//
lastAirValue = airCheck;
//
lastAirCloseTime = DateTime.Now;
//
isNoAirCheck = false;
//
}
//检查运动轴报警
if
(
storeRunStatus
>=
StoreRunStatus
.
Runing
&&
(!
isInSuddenDown
))
{
...
...
@@ -1053,7 +1017,7 @@ namespace OnlineStore.DeviceLibrary
}
/// <summary>
/// 超过配置次数时需要
重置
/// 超过配置次数时需要
复位
/// </summary>
private
void
AutoResetProcess
()
{
...
...
@@ -1063,11 +1027,11 @@ namespace OnlineStore.DeviceLibrary
{
if
(
storeRunStatus
<
StoreRunStatus
.
Runing
||
StoreMove
.
MoveType
==
StoreMoveType
.
InStore
||
StoreMove
.
MoveType
==
StoreMoveType
.
OutStore
)
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutACount
+
"次,当时当前正在忙碌中暂不
重置
"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutACount
+
"次,当时当前正在忙碌中暂不
复位
"
);
}
else
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutACount
+
"次,需要
重置
一下"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutACount
+
"次,需要
复位
一下"
);
Reset
();
}
}
...
...
@@ -1075,11 +1039,11 @@ namespace OnlineStore.DeviceLibrary
{
if
(
storeRunStatus
<
StoreRunStatus
.
Runing
||
StoreMove
.
MoveType
==
StoreMoveType
.
InStore
||
StoreMove
.
MoveType
==
StoreMoveType
.
OutStore
)
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutCount
+
"次,当时当前正在忙碌中暂不
重置
旋转轴"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutCount
+
"次,当时当前正在忙碌中暂不
复位
旋转轴"
);
}
else
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutCount
+
"次,需要
重置
一下旋转轴"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"已经累计出入库"
+
CurrInOutCount
+
"次,需要
复位
一下旋转轴"
);
}
}
else
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
c2b136f
...
...
@@ -112,17 +112,23 @@ namespace OnlineStore.DeviceLibrary
{
if
(
wait
.
WaitType
==
1
)
{
string
msg
=
""
;
if
(
wait
.
IsHomeMove
)
{
if
((!
ACHomeMoveIsEnd
(
wait
.
AxisInfo
)))
if
((!
ACHomeMoveIsEnd
(
wait
.
AxisInfo
,
out
msg
)))
{
if
(!
msg
.
Equals
(
""
))
{
WarnMsg
=
msg
;
Alarm
(
StoreAlarmType
.
AxisMoveError
,
GetAlarmCodeByAxis
(
wait
.
AxisInfo
).
ToString
(),
WarnMsg
,
StoreMove
.
MoveType
);
}
isOk
=
false
;
break
;
}
}
else
{
string
msg
=
""
;
bool
isEnd
=
ACAxisMoveIsEnd
(
wait
.
AxisInfo
,
wait
.
TargetPosition
,
wait
.
TargetSpeed
,
out
msg
);
if
(!
msg
.
Equals
(
""
))
{
...
...
@@ -140,21 +146,21 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
wait
.
WaitType
==
2
)
{
if
(!
KNDIOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
))
{
//一分钟还未检测到
if
(
span
.
TotalMilliseconds
>
Config
.
IOSingle_TimerOut
)
{
ConfigIO
io
=
Config
.
getWaitIO
(
wait
.
IoType
);
WarnMsg
=
StoreName
+
" 等待信号"
+
io
.
DisplayStr
+
"="
+
wait
.
IoValue
+
"超时!"
;
//SendAlarmCode(StoreID, LineAlarm.IoNotOk, wait.IoType);
Alarm
(
StoreAlarmType
.
IoSingleTimeOut
,
io
.
ElectricalDefinition
,
WarnMsg
,
StoreMove
.
MoveType
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
wait
.
IoType
+
"等待信号("
+
io
.
DisplayStr
+
"="
+
wait
.
IoValue
+
")
超时"
,
14
);
}
isOk
=
false
;
break
;
}
//
if (!KNDIOValue(wait.IoType).Equals(wait.IoValue))
//
{
//
//一分钟还未检测到
//
if (span.TotalMilliseconds > Config.IOSingle_TimerOut)
//
{
//
ConfigIO io = Config.getWaitIO(wait.IoType);
//
WarnMsg = StoreName + " 等待信号" + io.DisplayStr + "=" + wait.IoValue + "超时!";
//
//SendAlarmCode(StoreID, LineAlarm.IoNotOk, wait.IoType);
//
Alarm(StoreAlarmType.IoSingleTimeOut, io.ElectricalDefinition, WarnMsg, StoreMove.MoveType);
// LogUtil.error(LOGGER, StoreName + wait.IoType + "等待信号(" + io.DisplayStr + "=" + wait.IoValue + ")
超时", 14);
//
}
//
isOk = false;
//
break;
//
}
}
else
if
(
wait
.
WaitType
==
3
)
{
...
...
@@ -219,18 +225,18 @@ namespace OnlineStore.DeviceLibrary
{
if
(!
LoadParamPosition
(
param
))
{
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
一个 入库运动
出错,找不到库位信息"
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
入库
出错,找不到库位信息"
);
return
;
}
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
入库【"
+
posId
+
"】处理:启动新的入库,目标位置【"
+
param
.
PositionNum
+
"】"
,
storeMoveColor
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
启动入库【"
+
posId
+
"】"
,
storeMoveColor
);
storeRunStatus
=
StoreRunStatus
.
Busy
;
storeStatus
=
StoreStatus
.
InStoreExecute
;
StoreMove
.
NewMove
(
StoreMoveType
.
InStore
,
param
);
if
(
isNeedCheckIO
)
{
//料盘检测
InStoreLog
(
"
入库【"
+
posId
+
"】处理:(SI_00_TrayCheck
检测料盘信号"
);
InStoreLog
(
"
入库:(SI_00
检测料盘信号"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_00_TrayCheck
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_1
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_2
,
IO_VALUE
.
HIGH
));
...
...
@@ -239,20 +245,16 @@ namespace OnlineStore.DeviceLibrary
{
if
(
IsHasCompress_Axis
)
{
InStoreLog
(
"
入库处理:(SI_02_InOutAxisHome 进出轴(叉子)
动作至P1, 打开舱门"
);
InStoreLog
(
"
入库:(SI_02 进出轴(叉子)
动作至P1, 打开舱门"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_02_InOutAxisHome
);
//打开门 ,门上升
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
//ACAxisMove(Config.InOut_Axis, param.MoveP.InOut_P1, Config.InOutAxis_P1_Speed);
OpenDoorAndWait
();
InOutBackToP1
(
param
.
MoveP
.
InOut_P1
);
}
else
{
InStoreLog
(
"
入库处理:(SI_01_LocationCylinderDown
定位气缸下降"
);
InStoreLog
(
"
入库:(SI_01
定位气缸下降"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_01_LocationCylinderDown
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
);
...
...
@@ -264,7 +266,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
一个 入库【"
+
posId
+
"】运动
出错,当前状态,storeStatus="
+
storeRunStatus
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
【"
+
posId
+
"】入库
出错,当前状态,storeStatus="
+
storeRunStatus
);
}
}
/// <summary>
...
...
@@ -289,45 +291,34 @@ namespace OnlineStore.DeviceLibrary
{
if
(
IsHasCompress_Axis
)
{
InStoreLog
(
"
入库处理:(SI_02_InOutAxisHome 进出轴(叉子)
动作至P1,打开舱门"
);
InStoreLog
(
"
入库:(SI_02_ 进出轴(叉子)
动作至P1,打开舱门"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_02_InOutAxisHome
);
//打开门 ,门上升
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
OpenDoorAndWait
();
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
moveP
.
InOut_P1
);
}
else
{
InStoreLog
(
"
入库处理:(SI_01_LocationCylinderDown
定位气缸下降"
);
InStoreLog
(
"
入库:(SI_01
定位气缸下降"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_01_LocationCylinderDown
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
));
LocationDownAndWait
();
}
}
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_01_LocationCylinderDown
)
{
InStoreLog
(
"
入库处理:(SI_02_InOutAxisHome 进出轴(叉子)
动作至P1,打开舱门"
);
InStoreLog
(
"
入库:(SI_02 进出轴(叉子)
动作至P1,打开舱门"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_02_InOutAxisHome
);
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
moveP
.
InOut_P1
);
//打开门 ,门上升
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
OpenDoorAndWait
();
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_02_InOutAxisHome
)
{
InStoreLog
(
"
入库处理:(SI_03_ReturnHome
所有轴先回到待机点,轴2、轴1 动作到P1,,轴4动作至P3"
);
InStoreLog
(
"
入库:(SI_03
所有轴先回到待机点,轴2、轴1 动作到P1,,轴4动作至P3"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_03_ReturnHome
);
if
(
IsHasCompress_Axis
)
{
...
...
@@ -341,27 +332,27 @@ namespace OnlineStore.DeviceLibrary
{
if
(
IsHasCompress_Axis
)
{
//InStoreLog("
入库处理:(SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),轴4( 压紧)
至P3(压紧前点))开始");
//InStoreLog("
入库:(SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴
至P3(压紧前点))开始");
//StoreMove.NextMoveStep(StoreMoveStep.SI_04_CompressWare);
//ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P3);
//StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P3, false));
}
else
{
InStoreLog
(
"
入库处理:(SI_05_DeviceToDoor 叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点)
)开始"
);
InStoreLog
(
"
入库:(SI_05 叉子进入入料口,进出轴至P2(进料口取料点)
)开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_05_DeviceToDoor
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_04_CompressWare
)
{
InStoreLog
(
"
入库处理:(SI_05_DeviceToDoor 叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点)
)开始"
);
InStoreLog
(
"
入库:(SI_05 叉子进入入料口,进出轴至P2(进料口取料点)
)开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_05_DeviceToDoor
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_05_DeviceToDoor
)
{
InStoreLog
(
"
入库处理:(SI_06_DoorWarToDevice 把物品放入叉子上,轴4( 压紧) 至P2(压紧点))开始,等待一秒后,轴2( 上下) 至P7( 进料口取料缓冲点))
开始"
);
InStoreLog
(
"
入库:(SI_06 拿起物品,压紧轴至P2(压紧点)) 升降轴至P7(进料口取料缓冲点))
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_06_DoorWarToDevice
);
if
(
IsHasCompress_Axis
)
{
...
...
@@ -374,7 +365,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_06_DoorWarToDevice
)
{
InStoreLog
(
"
入库处理:(SI_07_DeviceBackFromDoor 叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点))
开始"
);
InStoreLog
(
"
入库:(SI_07 叉子 从入料口抽出,进出轴至P1(待机点))
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_07_DeviceBackFromDoor
);
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
moveP
.
InOut_P1
);
...
...
@@ -383,7 +374,7 @@ namespace OnlineStore.DeviceLibrary
{
if
(
IsHasCompress_Axis
)
{
InStoreLog
(
"
入库处理:(SI_09_MoveToBag 移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)
)开始"
);
InStoreLog
(
"
入库:(SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点)
)开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
...
...
@@ -393,17 +384,14 @@ namespace OnlineStore.DeviceLibrary
}
else
{
InStoreLog
(
"
入库处理:(SI_08_LocationCylinder_Up 定位气缸伸出 (有压紧轴的不需要此步骤)
开始"
);
InStoreLog
(
"
入库:(SI_08 定位气缸伸出
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_08_LocationCylinder_Up
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
));
LocationUpAndWait
();
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_08_LocationCylinder_Up
)
{
InStoreLog
(
"
入库处理:(SI_09_MoveToBag 移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)
),关闭舱门 开始"
);
InStoreLog
(
"
入库:(SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点)
),关闭舱门 开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
...
...
@@ -417,32 +405,29 @@ namespace OnlineStore.DeviceLibrary
{
if
(
IsHasCompress_Axis
)
{
InStoreLog
(
"
入库处理:(SI_11_DeviceToBag 叉子进入库位中,轴3( 叉子) 至P3(库位取放料点))
开始"
);
InStoreLog
(
"
入库:(SI_11 叉子进入库位中,进出轴至P3(库位取放料点))
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_11_DeviceToBag
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
}
else
{
InStoreLog
(
"
入库处理:(SI_10_LocationCylinder_Down 定位气缸退回 (有压紧轴的不需要此步骤) )
开始"
);
InStoreLog
(
"
入库:(SI_10 定位气缸退回 )
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_10_LocationCylinder_Down
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
));
LocationDownAndWait
();
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_10_LocationCylinder_Down
)
{
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
);
InStoreLog
(
"
入库处理:(SI_11_DeviceToBag 叉子进入库位中,轴3( 叉子) 至P3(库位取放料点))
开始"
);
InStoreLog
(
"
入库:(SI_11 叉子进入库位中,进出轴至P3(库位取放料点))
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_11_DeviceToBag
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_11_DeviceToBag
)
{
InStoreLog
(
"
入库处理:(SI_12_PutWareToBag 放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点))
开始!"
);
InStoreLog
(
"
入库:(SI_12 放下物品,升降轴至P4(库位入料缓冲点),压紧轴至P3(压紧前点))
开始!"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_12_PutWareToBag
);
if
(
IsHasCompress_Axis
)
{
...
...
@@ -453,8 +438,8 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_12_PutWareToBag
)
{
InStoreLog
(
"
入库处理:(SI_13_DeviceBackFromBag 叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
)开始!"
);
// 5= 入仓位完成
(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态)
InStoreLog
(
"
入库:(SI_13 叉子从库位中返回,进出轴动作至P1(待机点)
)开始!"
);
// 5= 入仓位完成
(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态)
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
lastPosId
=
posId
;
lastPosIdStatus
=
StoreStatus
.
InStoreEnd
;
...
...
@@ -467,7 +452,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_13_DeviceBackFromBag
)
{
InStoreLog
(
"
入库处理:(SI_14_GoBack 返回待机点,轴2/轴1/轴4动作至P1( 待机点)
),检测门关闭,开始!"
);
InStoreLog
(
"
入库:(SI_14 返回待机点,轴2/轴1/轴4动作至P1(待机点)
),检测门关闭,开始!"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_14_GoBack
);
if
(
IsHasCompress_Axis
)
{
...
...
@@ -476,16 +461,12 @@ namespace OnlineStore.DeviceLibrary
}
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
//关闭门
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
CloseDoorAndWait
();
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_14_GoBack
)
{
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
入库【"
+
posId
+
"】处理:
整个入库流程结束!"
,
storeMoveColor
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
【"
+
posId
+
"】
整个入库流程结束!"
,
storeMoveColor
);
StoreMove
.
EndMove
();
storeRunStatus
=
StoreRunStatus
.
Runing
;
//设备连接,入库后,BOX恢复原始状态
...
...
@@ -494,7 +475,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 入库
处理
,moveStatus="
+
StoreMove
.
MoveStep
+
",没有对应的处理!"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 入库,moveStatus="
+
StoreMove
.
MoveStep
+
",没有对应的处理!"
);
}
}
...
...
@@ -514,39 +495,32 @@ namespace OnlineStore.DeviceLibrary
{
if
(!
LoadParamPosition
(
param
))
{
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
一个 出库【"
+
posId
+
"】运动
出错,找不到库位信息"
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
【"
+
posId
+
"】出库
出错,找不到库位信息"
);
return
;
}
storeStatus
=
StoreStatus
.
OutStoreExecute
;
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
出库处理:启动一个出库【"
+
posId
+
"】 开始处理
"
,
storeMoveColor
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
启动出库【"
+
posId
+
"】
"
,
storeMoveColor
);
storeRunStatus
=
StoreRunStatus
.
Busy
;
StoreMove
.
NewMove
(
StoreMoveType
.
OutStore
,
param
);
if
(
IsHasCompress_Axis
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_02_DeviceBack
);
OutStoreLog
(
"
出库处理:(SO_02_DeviceBack
叉子先运动到P1 ,打开舱门 开始"
);
OutStoreLog
(
"
出库:(SO_02
叉子先运动到P1 ,打开舱门 开始"
);
//ACAxisMove(Config.InOut_Axis, StoreMove.MoveParam.MoveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
StoreMove
.
MoveParam
.
MoveP
.
InOut_P1
);
//打开舱门
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
OpenDoorAndWait
();
}
else
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_01_LocationCylinderDown
);
OutStoreLog
(
" 出库处理:(SO_01_LocationCylinderDown 定位气缸下降"
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
));
//CylinderMove(StoreMove, Store_IO_Type.LocationCylinder_Up, Store_IO_Type.LocationCylinder_Down);
OutStoreLog
(
"出库:(SO_01 定位气缸下降"
);
LocationDownAndWait
();
}
}
else
{
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
一个 出库运动
出错,当前状态,storeStatus="
+
storeRunStatus
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 启动
出库
出错,当前状态,storeStatus="
+
storeRunStatus
);
}
}
protected
override
void
OutStoreProcess
()
...
...
@@ -563,13 +537,13 @@ namespace OnlineStore.DeviceLibrary
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_01_LocationCylinderDown
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_02_DeviceBack
);
OutStoreLog
(
"
出库处理:(SO_02_DeviceBack
叉子先运动到P1 开始"
);
OutStoreLog
(
"
出库:(SO_02
叉子先运动到P1 开始"
);
InOutBackToP1
(
StoreMove
.
MoveParam
.
MoveP
.
InOut_P1
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_02_DeviceBack
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_03_ToBagPosition
);
OutStoreLog
(
"
出库处理:(SO_03_ToBagPosition 所有轴运行到库位, 轴4( 压紧) 至P3(压紧前点) ,轴1( 转盘) 至P2( 库位点),轴2(上下) 至P5(库位出库前点)
) 开始"
);
OutStoreLog
(
"
出库:(SO_03 所有轴运行到库位, 压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)
) 开始"
);
if
(
IsHasCompress_Axis
)
{
//ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P3);
...
...
@@ -581,12 +555,12 @@ namespace OnlineStore.DeviceLibrary
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_03_ToBagPosition
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_04_DeviceToBag
);
OutStoreLog
(
"
出库处理:(SO_04_DeviceToBag叉子进入库位中, 轴3( 叉子) 至P3(库位取放料点))
开始"
);
OutStoreLog
(
"
出库:(SO_04 叉子进入库位中, 进出轴至P3(库位取放料点))
开始"
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_04_DeviceToBag
)
{
OutStoreLog
(
"
出库处理:(SO_05_BagWareToDevice库位的物品放入叉子上,轴2( 上下) 至P6( 库位出料缓冲点),轴4( 压紧) 至P2(压紧点))
开始"
);
OutStoreLog
(
"
出库:(SO_05 库位的物品放入叉子上,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点))
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_05_BagWareToDevice
);
//电缸微动至对应料盘的上端位置
if
(
IsHasCompress_Axis
)
...
...
@@ -599,7 +573,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_05_BagWareToDevice
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_06_BagDeviceBack
);
OutStoreLog
(
"
出库处理:(SO_06_BagDeviceBack,叉子从 库位返回,轴3( 叉子) 至P1( 待机点))
开始"
);
OutStoreLog
(
"
出库:(SO_06 叉子从 库位返回,进出轴至P1(待机点))
开始"
);
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
moveP
.
InOut_P1
);
//把库位的物品放到取到叉子上之后是出仓完成
...
...
@@ -614,30 +588,23 @@ namespace OnlineStore.DeviceLibrary
if
(
IsHasCompress_Axis
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_08_ToDoorPosition
);
OutStoreLog
(
"
出库处理: (SO_08_ToDoorPosition所有设备运行到门,,轴1( 转盘) 至P1( 待机点)轴2( 上下) 至P2( 进料口出料前点))
,打开舱门 开始"
);
OutStoreLog
(
"
出库: (SO_08 所有设备运行到门,旋转轴至P1(待机点)升降轴至P2(进料口出料前点))
,打开舱门 开始"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P2
,
Config
.
UpDownAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
//打开舱门
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
OpenDoorAndWait
();
}
else
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_07_LocationCylinder_Up
);
OutStoreLog
(
" 出库处理: (SO_07_LocationCylinder_Up定位气缸伸出(有压紧轴的不需要此步骤),,定位气缸伸出 )开始"
);
//同时运动,电缸移动至入料口的上端位置 旋转电机2反转
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
));
OutStoreLog
(
"出库: (SO_07 定位气缸伸出(有压紧轴的不需要此步骤),,定位气缸伸出 )开始"
);
LocationUpAndWait
();
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_07_LocationCylinder_Up
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_08_ToDoorPosition
);
OutStoreLog
(
"
出库处理: (SO_08_ToDoorPosition所有设备运行到门,,轴1( 转盘) 至P1( 待机点)轴2( 上下) 至P2( 进料口出料前点))
开始"
);
OutStoreLog
(
"
出库: (SO_08 所有设备运行到门,旋转轴至P1(待机点)升降轴至P2(进料口出料前点))
开始"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P2
,
Config
.
UpDownAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
//此处需要等待box门口没有盘
...
...
@@ -650,29 +617,27 @@ namespace OnlineStore.DeviceLibrary
if
(
IsHasCompress_Axis
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_10_DeviceToDoor
);
OutStoreLog
(
"
出库处理:(SO_10_DeviceToDoor叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点))
开始"
);
OutStoreLog
(
"
出库:(SO_10 叉子进出料口,进出轴至P2(进料口取料点))
开始"
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
else
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_09_LocationCylinder_Down
);
OutStoreLog
(
" 出库处理:(SO_09_LocationCylinder_Down定位气缸退回(有压紧轴的不需要此步骤),,定位气缸退回 )开始"
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
));
OutStoreLog
(
"出库:(SO_09 定位气缸退回(有压紧轴的不需要此步骤),,定位气缸退回 )开始"
);
LocationDownAndWait
();
}
}
//此处需要等待移栽没有工作,才能把盘放入出料口
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_09_LocationCylinder_Down
)
{
OutStoreLog
(
"
出库处理:(SO_10_DeviceToDoor叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点))
开始"
);
OutStoreLog
(
"
出库:(SO_10 叉子进出料口,进出轴至P2(进料口取料点))
开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_10_DeviceToDoor
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_10_DeviceToDoor
)
{
OutStoreLog
(
"
出库处理:(SO_11_DevicePutWare把物品放下,,轴2( 上下) 至P8( 进料口出料缓冲点)轴4( 压紧) 至P1( 待机点))
开始!"
);
OutStoreLog
(
"
出库:(SO_11 把物品放下,升降轴至P8(进料口出料缓冲点)压紧轴至P1(待机点))
开始!"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_11_DevicePutWare
);
if
(
IsHasCompress_Axis
)
{
...
...
@@ -684,25 +649,22 @@ namespace OnlineStore.DeviceLibrary
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_11_DevicePutWare
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_12_DeviceOutFromDoor
);
OutStoreLog
(
"
出库处理:(SO_12_DeviceOutFromDoor叉子从出料口返回,,轴3( 叉子) 动作至P1( 待机点)
)开始!"
);
OutStoreLog
(
"
出库:(SO_12 叉子从出料口返回,,进出轴动作至P1(待机点)
)开始!"
);
InOutBackToP1
(
moveP
.
InOut_P1
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_12_DeviceOutFromDoor
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_13_GoBack
);
OutStoreLog
(
"
出库处理:(SO_13_GoBack升降轴返回,, 轴2至P1( 待机点)
)开始,关闭舱门!"
);
OutStoreLog
(
"
出库:(SO_13 升降轴返回,轴2至P1(待机点)
)开始,关闭舱门!"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
CloseDoorAndWait
();
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_13_GoBack
)
{
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
storeStatus
=
StoreStatus
.
OutStoreBoxEnd
;
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
出库【"
+
posId
+
"】处理:
整个出库流程结束!"
,
storeMoveColor
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"
【"
+
posId
+
"】
整个出库流程结束!"
,
storeMoveColor
);
StoreMove
.
EndMove
();
storeRunStatus
=
StoreRunStatus
.
Runing
;
InOutEndProcess
(
StoreMoveType
.
OutStore
);
...
...
@@ -713,6 +675,21 @@ namespace OnlineStore.DeviceLibrary
}
}
private
void
LocationUpAndWait
()
{
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
));
}
private
void
LocationDownAndWait
()
{
KNDIOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
));
}
#
endregion
public
List
<
FixtureCodeInfo
>
waitOutStoreList
=
new
List
<
FixtureCodeInfo
>();
public
object
waitOutListLock
=
""
;
...
...
@@ -823,12 +800,12 @@ namespace OnlineStore.DeviceLibrary
private
void
InStoreLog
(
string
msg
)
{
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
LogUtil
.
info
(
LOGGER
,
StoreName
+
"【"
+
posId
+
"】"
+
msg
,
storeMoveColor
);
LogUtil
.
info
(
LOGGER
,
"【"
+
posId
+
"】"
+
msg
,
storeMoveColor
);
}
private
void
OutStoreLog
(
string
msg
)
{
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
LogUtil
.
info
(
LOGGER
,
StoreName
+
"【"
+
posId
+
"】"
+
msg
,
storeMoveColor
);
LogUtil
.
info
(
LOGGER
,
"【"
+
posId
+
"】"
+
msg
,
storeMoveColor
);
}
}
}
source/DeviceLibrary/store/KTK_Store.cs
查看文件 @
c2b136f
...
...
@@ -246,9 +246,9 @@ namespace OnlineStore.DeviceLibrary
protected
void
ACAxisHomeMove
(
ConfigMoveAxis
moveAxis
)
{
moveAxis
.
TargetPosition
=
0
;
LogUtil
.
debug
(
LOGGER
,
"DeviceName="
+
moveAxis
.
DeviceName
+
",AxisNo="
+
moveAxis
.
GetAxisValue
()
+
",speed="
+
moveAxis
.
TargetSpeed
+
"
开始原点返回"
);
LogUtil
.
debug
(
LOGGER
,
moveAxis
.
DisplayStr
+
"speed["
+
moveAxis
.
TargetSpeed
+
"]
开始原点返回"
);
AddAxisMoveTime
(
moveAxis
);
ACServerManager
.
HomeMove
(
moveAxis
.
DeviceName
,
(
short
)
moveAxis
.
GetAxisValue
(),
moveAxis
.
Target
Speed
);
ACServerManager
.
HomeMove
(
moveAxis
.
DeviceName
,
(
short
)
moveAxis
.
GetAxisValue
(),
moveAxis
.
HomeHigh
Speed
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAxis
(
moveAxis
,
true
));
}
...
...
@@ -272,25 +272,27 @@ namespace OnlineStore.DeviceLibrary
string
deviceName
=
moveAxis
.
DeviceName
;
short
axisNo
=
moveAxis
.
GetAxisValue
();
bool
isend
=
ACServerManager
.
IsHomeMoveEnd
(
deviceName
,
axisNo
);
bool
isOk
=
ACServerManager
.
GetBusyStatus
(
deviceName
,
axisNo
).
Equals
(
0
);
if
(
isOk
)
{
int
outCount
=
ACServerManager
.
GetActualtPosition
(
deviceName
,
axisNo
);
int
errorCount
=
Math
.
Abs
(
outCount
-
targetPosition
);
if
(
isend
)
{
if
(
errorCount
>
moveAxis
.
CanErrorCountMax
)
{
//判断是否需要重新运动
if
(
StoreMove
.
CanWhileCount
>
0
)
{
LogUtil
.
error
(
LOGGER
,
StoreName
+
" storeMoveStep="
+
StoreMove
.
MoveStep
+
", DeviceName="
+
deviceName
+
",AxisNo="
+
axisNo
+
",targetPosition="
+
targetPosition
+
",targetSpeed="
+
targetSpeed
+
",当前outCount=
"
+
outCount
+
"
,误差值大于最大误差【"
+
moveAxis
.
CanErrorCountMax
+
"】,但是轴已经停止运动,还有【"
+
StoreMove
.
CanWhileCount
+
"】
次可以重复运动的次数"
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" storeMoveStep="
+
StoreMove
.
MoveStep
+
", DeviceName="
+
deviceName
+
",AxisNo="
+
axisNo
+
",targetPosition="
+
targetPosition
+
"开始重新
运动"
);
ACServerManager
.
AbsMove
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
(),
targetPosition
,
targetSpeed
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" storeMoveStep="
+
StoreMove
.
MoveStep
+
moveAxis
.
DisplayStr
+
"目标位置["
+
targetPosition
+
"]速度["
+
targetSpeed
+
"]当前位置[
"
+
outCount
+
"
],误差值大于最大误差["
+
moveAxis
.
CanErrorCountMax
+
"],但是轴已经停止运动,还有["
+
StoreMove
.
CanWhileCount
+
"]
次可以重复运动的次数"
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" storeMoveStep="
+
StoreMove
.
MoveStep
+
moveAxis
.
DisplayStr
+
"目标位置["
+
targetPosition
+
"]重新开始
运动"
);
ACServerManager
.
AbsMove
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
(),
targetPosition
,
targetSpeed
);
StoreMove
.
CanWhileCount
--;
}
else
{
msg
=
StoreName
+
" storeMoveStep="
+
StoreMove
.
MoveStep
+
", DeviceName="
+
deviceName
+
",AxisNo="
+
axisNo
+
",targetPosition="
+
targetPosition
+
",targetSpeed="
+
targetSpeed
+
",当前outCount="
+
outCount
+
",误差值大于最大误差【"
+
moveAxis
.
CanErrorCountMax
+
"】,但是轴已经停止运动,需要报警"
;
msg
=
StoreName
+
" storeMoveStep="
+
StoreMove
.
MoveStep
+
moveAxis
.
DisplayStr
+
"目标位置["
+
targetPosition
+
"]当前位置["
+
outCount
+
"]误差值大于最大误差["
+
moveAxis
.
CanErrorCountMax
+
"],但是轴已经停止运动,需要报警"
;
LogUtil
.
error
(
LOGGER
,
msg
);
return
false
;
}
...
...
@@ -298,24 +300,47 @@ namespace OnlineStore.DeviceLibrary
}
else
{
return
true
;
}
}
else
if
(
errorCount
<
moveAxis
.
CanErrorCountMin
)
{
LogUtil
.
info
(
LOGGER
,
" storeMoveStep="
+
StoreMove
.
MoveStep
+
", DeviceName="
+
deviceName
+
",AxisNo="
+
axisNo
+
",targetPosition="
+
targetPosition
+
",当前outCount="
+
outCount
+
",误差值小于最小误差【"
+
moveAxis
.
CanErrorCountMin
+
"】,默认轴已经停止运动"
);
return
true
;
}
//else if (errorCount < moveAxis.CanErrorCountMin)
//{
// LogUtil.info(LOGGER, " storeMoveStep=" + StoreMove.MoveStep + moveAxis.DisplayStr + ",targetPosition=" + targetPosition + ",当前outCount=" + outCount +
// ",误差值小于最小误差【" + moveAxis.CanErrorCountMin + "】,默认轴已经停止运动");
// return true;
//}
return
false
;
}
protected
bool
ACHomeMoveIsEnd
(
ConfigMoveAxis
moveAxis
)
protected
bool
ACHomeMoveIsEnd
(
ConfigMoveAxis
moveAxis
,
out
string
msg
)
{
msg
=
""
;
if
(
ACServerManager
.
IsHomeMoveEnd
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
())
)
{
//原点完成并且位置=0
int
outCount
=
ACServerManager
.
GetActualtPosition
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
());
int
errorCount
=
Math
.
Abs
(
outCount
);
if
(
errorCount
>
moveAxis
.
CanErrorCountMax
)
{
//判断是否需要重新运动
if
(
StoreMove
.
CanWhileCount
>
0
)
{
LogUtil
.
error
(
LOGGER
,
StoreName
+
moveAxis
.
DisplayStr
+
"收到原点完成信号,当前位置["
+
outCount
+
"],还有["
+
StoreMove
.
CanWhileCount
+
"]次可以重复运动的次数"
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
moveAxis
.
DisplayStr
+
"重新回原点"
);
ACServerManager
.
HomeMove
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
(),
moveAxis
.
HomeHighSpeed
);
StoreMove
.
CanWhileCount
--;
}
else
{
msg
=
StoreName
+
" storeMoveStep="
+
StoreMove
.
MoveStep
+
moveAxis
.
DisplayStr
+
"收到原点完成信号,当前位置["
+
outCount
+
"],误差值大于["
+
moveAxis
.
CanErrorCountMax
+
"],需要报警"
;
LogUtil
.
error
(
LOGGER
,
msg
);
return
false
;
}
}
else
{
return
true
;
}
return
true
;
}
return
false
;
...
...
source/DeviceLibrary/store/StoreManager.cs
查看文件 @
c2b136f
...
...
@@ -218,7 +218,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 料仓原点返回和重置步骤,,轴三进出轴返回原点后,需要等待500毫秒,然后再清空
/// </summary>
BOX_H_InOutBackWait
=
012
,
//
BOX_H_InOutBackWait = 012,
/// <summary>
/// 料仓原点返回和重置步骤,,轴三返回P1点
/// </summary>
...
...
@@ -227,10 +227,10 @@ namespace OnlineStore.DeviceLibrary
/// 料仓原点返回和重置步骤,,升降轴,旋转轴,压紧轴原点返回
/// </summary>
BOX_H_OtherAxisBack
=
014
,
/// <summary>
/// 清理轴位置
/// </summary>
BOX_H_WaitAxisCountClear
=
015
,
///
//
<summary>
///
//
清理轴位置
///
//
</summary>
//
BOX_H_WaitAxisCountClear = 015,
/// <summary>
/// 旋转轴返回P1
/// </summary>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论