Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit f575439c
由
LN
编写于
2019-10-18 17:10:52 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
5d86a6d0
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
165 行增加
和
150 行删除
source/AssemblyLineClient/FrmIOStatus.Designer.cs
source/AssemblyLineClient/FrmIOStatus.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/assemblyLine/AssemblyLineManager.cs → source/DeviceLibrary/assemblyLine/ALineManager.cs
source/DeviceLibrary/assemblyLine/DischargeLine.cs
source/DeviceLibrary/assemblyLine/DischargeLine_Partial.cs
source/DeviceLibrary/assemblyLine/LineBean.cs
source/DeviceLibrary/assemblyLine/LineBean_Partial.cs
source/DeviceLibrary/assemblyLine/MoveEquip.cs
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
source/DeviceLibrary/assemblyLine/ProvidingEquip.cs
source/DeviceLibrary/assemblyLine/ProvidingEquip_Partial.cs
source/DeviceLibrary/model/TrayInfo.cs
source/AssemblyLineClient/FrmIOStatus.Designer.cs
查看文件 @
f575439
...
...
@@ -19,7 +19,6 @@
System
.
ComponentModel
.
ComponentResourceManager
resources
=
new
System
.
ComponentModel
.
ComponentResourceManager
(
typeof
(
FrmIOStatus
));
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
checkBox1
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
txtDOIndex
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtDoName
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label17
=
new
System
.
Windows
.
Forms
.
Label
();
...
...
@@ -27,8 +26,6 @@
this
.
btnWriteSingleDO
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtWriteTime
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label5
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnReadAllDi
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnReadAllDo
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
cmbWriteIO
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
txtSlaveId
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
chbAutoRead
=
new
System
.
Windows
.
Forms
.
CheckBox
();
...
...
@@ -56,6 +53,7 @@
this
.
btnSW4Run
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnDriveMotor_Run
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
panel1
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
button1
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox4
.
SuspendLayout
();
this
.
groupBox3
.
SuspendLayout
();
...
...
@@ -71,7 +69,7 @@
//
// groupBox1
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
checkBox
1
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
button
1
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtDOIndex
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtDoName
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label17
);
...
...
@@ -79,32 +77,20 @@
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnWriteSingleDO
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtWriteTime
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label5
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnReadAllDi
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnReadAllDo
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
cmbWriteIO
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtSlaveId
);
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
(
738
,
5
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
343
,
1
90
);
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
343
,
1
54
);
this
.
groupBox1
.
TabIndex
=
105
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"DO写入"
;
//
// checkBox1
//
this
.
checkBox1
.
AutoSize
=
true
;
this
.
checkBox1
.
Location
=
new
System
.
Drawing
.
Point
(
128
,
101
);
this
.
checkBox1
.
Name
=
"checkBox1"
;
this
.
checkBox1
.
Size
=
new
System
.
Drawing
.
Size
(
51
,
21
);
this
.
checkBox1
.
TabIndex
=
256
;
this
.
checkBox1
.
Text
=
"打开"
;
this
.
checkBox1
.
UseVisualStyleBackColor
=
true
;
//
// txtDOIndex
//
this
.
txtDOIndex
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtDOIndex
.
Location
=
new
System
.
Drawing
.
Point
(
2
50
,
58
);
this
.
txtDOIndex
.
Location
=
new
System
.
Drawing
.
Point
(
2
77
,
58
);
this
.
txtDOIndex
.
MaxLength
=
10
;
this
.
txtDOIndex
.
Name
=
"txtDOIndex"
;
this
.
txtDOIndex
.
Size
=
new
System
.
Drawing
.
Size
(
52
,
23
);
...
...
@@ -117,7 +103,7 @@
this
.
txtDoName
.
Location
=
new
System
.
Drawing
.
Point
(
71
,
58
);
this
.
txtDoName
.
MaxLength
=
10
;
this
.
txtDoName
.
Name
=
"txtDoName"
;
this
.
txtDoName
.
Size
=
new
System
.
Drawing
.
Size
(
1
08
,
23
);
this
.
txtDoName
.
Size
=
new
System
.
Drawing
.
Size
(
1
33
,
23
);
this
.
txtDoName
.
TabIndex
=
241
;
this
.
txtDoName
.
Text
=
"0"
;
//
...
...
@@ -138,7 +124,7 @@
this
.
label14
.
AutoSize
=
true
;
this
.
label14
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label14
.
ImageAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
this
.
label14
.
Location
=
new
System
.
Drawing
.
Point
(
199
,
61
);
this
.
label14
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
61
);
this
.
label14
.
Name
=
"label14"
;
this
.
label14
.
Size
=
new
System
.
Drawing
.
Size
(
44
,
17
);
this
.
label14
.
TabIndex
=
239
;
...
...
@@ -149,18 +135,18 @@
//
this
.
btnWriteSingleDO
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnWriteSingleDO
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnWriteSingleDO
.
Location
=
new
System
.
Drawing
.
Point
(
1
8
5
,
94
);
this
.
btnWriteSingleDO
.
Location
=
new
System
.
Drawing
.
Point
(
1
4
5
,
94
);
this
.
btnWriteSingleDO
.
Name
=
"btnWriteSingleDO"
;
this
.
btnWriteSingleDO
.
Size
=
new
System
.
Drawing
.
Size
(
130
,
34
);
this
.
btnWriteSingleDO
.
Size
=
new
System
.
Drawing
.
Size
(
87
,
34
);
this
.
btnWriteSingleDO
.
TabIndex
=
232
;
this
.
btnWriteSingleDO
.
Text
=
"
写入DO
"
;
this
.
btnWriteSingleDO
.
Text
=
"
打开
"
;
this
.
btnWriteSingleDO
.
UseVisualStyleBackColor
=
true
;
this
.
btnWriteSingleDO
.
Click
+=
new
System
.
EventHandler
(
this
.
btnWriteSingleDO_Click
);
//
// txtWriteTime
//
this
.
txtWriteTime
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtWriteTime
.
Location
=
new
System
.
Drawing
.
Point
(
71
,
100
);
this
.
txtWriteTime
.
Location
=
new
System
.
Drawing
.
Point
(
82
,
100
);
this
.
txtWriteTime
.
MaxLength
=
10
;
this
.
txtWriteTime
.
Name
=
"txtWriteTime"
;
this
.
txtWriteTime
.
Size
=
new
System
.
Drawing
.
Size
(
52
,
23
);
...
...
@@ -172,37 +158,13 @@
this
.
label5
.
AutoSize
=
true
;
this
.
label5
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label5
.
ImageAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
5
,
103
);
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
103
);
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
60
,
17
);
this
.
label5
.
TabIndex
=
237
;
this
.
label5
.
Text
=
"定时(ms):"
;
this
.
label5
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnReadAllDi
//
this
.
btnReadAllDi
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
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
(
22
,
141
);
this
.
btnReadAllDi
.
Name
=
"btnReadAllDi"
;
this
.
btnReadAllDi
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
34
);
this
.
btnReadAllDi
.
TabIndex
=
244
;
this
.
btnReadAllDi
.
Text
=
"读取所有DI"
;
this
.
btnReadAllDi
.
UseVisualStyleBackColor
=
true
;
this
.
btnReadAllDi
.
Click
+=
new
System
.
EventHandler
(
this
.
btnReadAllDi_Click
);
//
// btnReadAllDo
//
this
.
btnReadAllDo
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
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
(
173
,
141
);
this
.
btnReadAllDo
.
Name
=
"btnReadAllDo"
;
this
.
btnReadAllDo
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
34
);
this
.
btnReadAllDo
.
TabIndex
=
245
;
this
.
btnReadAllDo
.
Text
=
"读取所有DO"
;
this
.
btnReadAllDo
.
UseVisualStyleBackColor
=
true
;
this
.
btnReadAllDo
.
Click
+=
new
System
.
EventHandler
(
this
.
btnReadAllDo_Click
);
//
// cmbWriteIO
//
this
.
cmbWriteIO
.
DisplayMember
=
"ProName"
;
...
...
@@ -237,12 +199,13 @@
this
.
chbAutoRead
.
Checked
=
true
;
this
.
chbAutoRead
.
CheckState
=
System
.
Windows
.
Forms
.
CheckState
.
Checked
;
this
.
chbAutoRead
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
chbAutoRead
.
Location
=
new
System
.
Drawing
.
Point
(
57
,
833
);
this
.
chbAutoRead
.
Location
=
new
System
.
Drawing
.
Point
(
22
,
681
);
this
.
chbAutoRead
.
Name
=
"chbAutoRead"
;
this
.
chbAutoRead
.
Size
=
new
System
.
Drawing
.
Size
(
75
,
21
);
this
.
chbAutoRead
.
TabIndex
=
244
;
this
.
chbAutoRead
.
Text
=
"自动读取"
;
this
.
chbAutoRead
.
UseVisualStyleBackColor
=
true
;
this
.
chbAutoRead
.
Visible
=
false
;
//
// groupBox4
//
...
...
@@ -329,6 +292,7 @@
//
this
.
groupBox5
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)(((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
groupBox5
.
Controls
.
Add
(
this
.
chbAutoRead
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnSw3Location
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnSw3Top
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnSw2Location
);
...
...
@@ -345,9 +309,9 @@
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnNGCylinder
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnSW4Run
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
btnDriveMotor_Run
);
this
.
groupBox5
.
Location
=
new
System
.
Drawing
.
Point
(
738
,
201
);
this
.
groupBox5
.
Location
=
new
System
.
Drawing
.
Point
(
738
,
165
);
this
.
groupBox5
.
Name
=
"groupBox5"
;
this
.
groupBox5
.
Size
=
new
System
.
Drawing
.
Size
(
343
,
672
);
this
.
groupBox5
.
Size
=
new
System
.
Drawing
.
Size
(
343
,
708
);
this
.
groupBox5
.
TabIndex
=
246
;
this
.
groupBox5
.
TabStop
=
false
;
this
.
groupBox5
.
Text
=
"IO操作测试"
;
...
...
@@ -559,12 +523,23 @@
this
.
panel1
.
Size
=
new
System
.
Drawing
.
Size
(
1384
,
881
);
this
.
panel1
.
TabIndex
=
248
;
//
// button1
//
this
.
button1
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
button1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
238
,
94
);
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
87
,
34
);
this
.
button1
.
TabIndex
=
256
;
this
.
button1
.
Text
=
"关闭"
;
this
.
button1
.
UseVisualStyleBackColor
=
true
;
this
.
button1
.
Click
+=
new
System
.
EventHandler
(
this
.
button1_Click
);
//
// FrmIOStatus
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
7F
,
17F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Font
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1384
,
881
);
this
.
Controls
.
Add
(
this
.
chbAutoRead
);
this
.
Controls
.
Add
(
this
.
panel1
);
this
.
Icon
=
((
System
.
Drawing
.
Icon
)(
resources
.
GetObject
(
"$this.Icon"
)));
this
.
MaximizeBox
=
false
;
...
...
@@ -583,7 +558,6 @@
this
.
groupBox5
.
PerformLayout
();
this
.
panel1
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
this
.
PerformLayout
();
}
...
...
@@ -603,8 +577,6 @@
private
System
.
Windows
.
Forms
.
Button
btnWriteSingleDO
;
private
System
.
Windows
.
Forms
.
ComboBox
cmbWriteIO
;
private
System
.
Windows
.
Forms
.
CheckBox
chbAutoRead
;
private
System
.
Windows
.
Forms
.
Button
btnReadAllDi
;
private
System
.
Windows
.
Forms
.
Button
btnReadAllDo
;
private
System
.
Windows
.
Forms
.
TextBox
txtDoName
;
private
System
.
Windows
.
Forms
.
TextBox
txtSlaveId
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox2
;
...
...
@@ -615,7 +587,6 @@
private
System
.
Windows
.
Forms
.
Button
btnSw4Top
;
private
System
.
Windows
.
Forms
.
Button
btnNGCylinder
;
private
System
.
Windows
.
Forms
.
Panel
panel1
;
private
System
.
Windows
.
Forms
.
CheckBox
checkBox1
;
private
System
.
Windows
.
Forms
.
Button
btnCloseAll
;
private
System
.
Windows
.
Forms
.
Label
lblTrayNum
;
private
System
.
Windows
.
Forms
.
Button
btnSw4Location
;
...
...
@@ -628,6 +599,7 @@
private
System
.
Windows
.
Forms
.
Button
btnSw2Top
;
private
System
.
Windows
.
Forms
.
Button
btnSw1Location
;
private
System
.
Windows
.
Forms
.
Button
btnSw1Top
;
private
System
.
Windows
.
Forms
.
Button
button1
;
}
}
source/AssemblyLineClient/FrmIOStatus.cs
查看文件 @
f575439
...
...
@@ -110,34 +110,35 @@ namespace OnlineStore.AssemblyLine
LogUtil
.
error
(
LOGGER
,
ex
.
StackTrace
);
}
}
private
void
btnWriteSingleDO_Click
(
object
sender
,
EventArgs
e
)
private
ConfigIO
GetSelectDO
()
{
string
text
=
cmbWriteIO
.
SelectedValue
.
ToString
();
if
(
LineManager
.
Config
.
DOList
.
ContainsKey
(
text
))
{
ConfigIO
io
=
LineManager
.
Config
.
DOList
[
text
];
return
io
;
}
return
null
;
}
IOTextControl
selectControl
=
null
;
private
void
WriteDO
(
IO_VALUE
value
)
{
string
deviceName
=
txtDoName
.
Text
;
int
index
=
FormUtil
.
GetIntValue
(
txtDOIndex
);
IO_VALUE
value
=
checkBox1
.
Checked
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
;
int
time
=
FormUtil
.
GetIntValue
(
txtWriteTime
);
int
slaveId
=
FormUtil
.
GetIntValue
(
txtSlaveId
);
if
(
time
>
0
)
{
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
slaveId
,
(
ushort
)
index
,
(
IO_VALUE
)
value
,
time
);
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
slaveId
,
(
ushort
)
index
,
value
,
time
);
}
else
{
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
slaveId
,
(
ushort
)
index
,
(
IO_VALUE
)
value
);
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
slaveId
,
(
ushort
)
index
,
value
);
}
}
private
ConfigIO
GetSelectDO
()
{
string
text
=
cmbWriteIO
.
SelectedValue
.
ToString
();
if
(
LineManager
.
Config
.
DOList
.
ContainsKey
(
text
))
{
ConfigIO
io
=
LineManager
.
Config
.
DOList
[
text
];
return
io
;
}
return
null
;
}
IOTextControl
selectControl
=
null
;
private
void
cmbWriteIO_SelectedIndexChanged
(
object
sender
,
EventArgs
e
)
{
if
(
cmbWriteIO
.
SelectedIndex
>=
0
)
...
...
@@ -157,7 +158,14 @@ namespace OnlineStore.AssemblyLine
}
}
}
private
void
btnWriteSingleDO_Click
(
object
sender
,
EventArgs
e
)
{
WriteDO
(
IO_VALUE
.
HIGH
);
}
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
{
WriteDO
(
IO_VALUE
.
LOW
);
}
private
void
FrmStoreIOStatus_Load
(
object
sender
,
EventArgs
e
)
{
// KNDAIManager.NeedShow = true;
...
...
@@ -207,24 +215,6 @@ namespace OnlineStore.AssemblyLine
}
}
private
void
btnReadAllDi_Click
(
object
sender
,
EventArgs
e
)
{
string
deviceName
=
txtDoName
.
Text
;
IO_VALUE
value
=
checkBox1
.
Checked
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
;
int
time
=
FormUtil
.
GetIntValue
(
txtWriteTime
);
int
slaveId
=
FormUtil
.
GetIntValue
(
txtSlaveId
);
IOManager
.
instance
.
ReadAllDI
(
deviceName
,
(
byte
)
slaveId
);
}
private
void
btnReadAllDo_Click
(
object
sender
,
EventArgs
e
)
{
string
deviceName
=
txtDoName
.
Text
;
IO_VALUE
value
=
checkBox1
.
Checked
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
;
int
time
=
FormUtil
.
GetIntValue
(
txtWriteTime
);
int
slaveId
=
FormUtil
.
GetIntValue
(
txtSlaveId
);
IOManager
.
instance
.
ReadAllDO
(
deviceName
,
(
byte
)
slaveId
);
}
private
void
FrmIOStatus_Shown
(
object
sender
,
EventArgs
e
)
{
timer1
.
Start
();
...
...
@@ -350,5 +340,7 @@ namespace OnlineStore.AssemblyLine
{
BtnMove
(
btnSw4Top
,
"环形线横移4顶升上升"
,
"环形线横移4顶升下降"
,
IO_Type
.
SW4_TopCylinder_Down
,
IO_Type
.
SW4_TopCylinder_Up
);
}
}
}
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
f575439
...
...
@@ -59,7 +59,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="assemblyLine\A
ssembly
LineManager.cs" />
<Compile Include="assemblyLine\ALineManager.cs" />
<Compile Include="assemblyLine\DischargeLine.cs" />
<Compile Include="assemblyLine\DischargeLine_Partial.cs" />
<Compile Include="assemblyLine\ProvidingEquip_Partial.cs" />
...
...
source/DeviceLibrary/assemblyLine/A
ssembly
LineManager.cs
→
source/DeviceLibrary/assemblyLine/ALineManager.cs
查看文件 @
f575439
文件被删除
source/DeviceLibrary/assemblyLine/DischargeLine.cs
查看文件 @
f575439
...
...
@@ -116,9 +116,20 @@ namespace OnlineStore.DeviceLibrary
//{
// StartCheckFixture();
//}
//皮带1皮带2先转动,到达位置后,皮带3再转动
}
IOTimeOutProcess
();
//判断红灯状态
if
(
alarmType
.
Equals
(
LineAlarmType
.
None
))
{
IOMove
(
IO_Type
.
DLine_RunAlarm
,
IO_VALUE
.
LOW
);
}
else
if
(
IOValue
(
IO_Type
.
DLine_RunAlarm
).
Equals
(
IO_VALUE
.
LOW
))
{
IOMove
(
IO_Type
.
DLine_RunAlarm
,
IO_VALUE
.
HIGH
);
}
}
...
...
source/DeviceLibrary/assemblyLine/DischargeLine_Partial.cs
查看文件 @
f575439
...
...
@@ -97,20 +97,6 @@ namespace OnlineStore.DeviceLibrary
}
#
endregion
private
void
CheckLog
(
string
msg
)
{
LogUtil
.
debug
(
Name
+
msg
);
}
private
void
InStoreLog
(
string
msg
)
{
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
PosId
:
""
;
LogUtil
.
info
(
Name
+
"【"
+
posId
+
"】"
+
msg
);
}
private
void
OutStoreLog
(
string
msg
)
{
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
PosId
:
""
;
LogUtil
.
info
(
Name
+
"【"
+
posId
+
"】"
+
msg
);
}
}
}
source/DeviceLibrary/assemblyLine/LineBean.cs
查看文件 @
f575439
...
...
@@ -887,7 +887,7 @@ namespace OnlineStore.DeviceLibrary
string
wareNum
=
serverResult
.
barcode
;
int
trayCode
=
TrayManager
.
GetNum
(
0
);
LogUtil
.
info
(
"更新盘空满信息,托盘号【"
+
trayCode
+
"】,是否有料盘【"
+
true
+
"】,出库入库【"
+
1
+
"】"
);
TrayManager
.
UpdateFixtureValue
(
trayCode
,
true
,
1
,
wareNum
,
posId
,
plateH
,
plateW
);
TrayManager
.
UpdateFixtureValue
(
trayCode
,
true
,
ReelType
.
InStore
,
wareNum
,
posId
,
plateH
,
plateW
);
//TODO:判断BOX是否处于可以入库状态,如果调试或急停中,需要返回给服务器;
if
(
LineServer
.
BoxCanInStore
(
moveEquip
.
DeviceID
))
...
...
source/DeviceLibrary/assemblyLine/LineBean_Partial.cs
查看文件 @
f575439
...
...
@@ -51,6 +51,9 @@ namespace OnlineStore.DeviceLibrary
}
return
false
;
}
private
bool
isInprocess
=
false
;
private
DateTime
lastProTime
=
DateTime
.
Now
;
private
void
InOutTimerProcess
()
...
...
@@ -533,7 +536,33 @@ namespace OnlineStore.DeviceLibrary
#
region
横移处理
/// <summary>
/// 横移无处理
/// </summary>
/// <param name="sidesWayNum"></param>
/// <returns></returns>
internal
bool
SwNoProcess
(
int
sidesWayNum
)
{
if
(
sidesWayNum
.
Equals
(
1
)
||
sidesWayNum
.
Equals
(
4
))
{
if
(
SW41_MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
return
true
;
}
}
else
if
(
sidesWayNum
.
Equals
(
2
)
||
sidesWayNum
.
Equals
(
3
))
{
if
(
SW23_MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
return
true
;
}
}
else
{
return
true
;
}
return
false
;
}
private
static
LineMoveInfo
SW41_MoveInfo
=
null
;
private
static
LineMoveInfo
SW23_MoveInfo
=
null
;
...
...
source/DeviceLibrary/assemblyLine/MoveEquip.cs
查看文件 @
f575439
...
...
@@ -160,7 +160,7 @@ namespace OnlineStore.DeviceLibrary
alarmType
=
LineAlarmType
.
None
;
runStatus
=
LineRunStatus
.
HomeMoving
;
LogInfo
(
"开始原点返回: (上下气缸回原点,阻挡
气缸输入=0
)开始"
);
LogInfo
(
"开始原点返回: (上下气缸回原点,阻挡
1气缸上升
)开始"
);
MoveInfo
.
NewMove
(
LineMoveType
.
ReturnHome
);
return
true
;
...
...
@@ -186,7 +186,7 @@ namespace OnlineStore.DeviceLibrary
//重置时清理盘号,从头开始判断
preTrayNum
=
0
;
currMoveTrayNum
=
0
;
LogInfo
(
"开始重置:清空托盘号,(上下气缸回原点,阻挡
气缸输入=0
)开始;"
);
LogInfo
(
"开始重置:清空托盘号,(上下气缸回原点,阻挡
1气缸上升
)开始;"
);
runStatus
=
LineRunStatus
.
Reset
;
SecondMoveInfo
.
EndMove
();
MoveInfo
.
NewMove
(
LineMoveType
.
Reset
);
...
...
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
查看文件 @
f575439
...
...
@@ -143,7 +143,7 @@ namespace OnlineStore.DeviceLibrary
int
bagWidth
=
MoveInfo
.
MoveParam
.
PlateW
;
LogInfo
(
"【"
+
posId
+
"】出库时,更新盘空满信息 托盘号【"
+
MoveInfo
.
MoveParam
.
TrayNumber
+
"】,是否有料盘【"
+
true
+
"】,出库入库【"
+
2
+
"】"
);
TrayManager
.
UpdateFixtureValue
(
MoveInfo
.
MoveParam
.
TrayNumber
,
true
,
2
,
MoveInfo
.
MoveParam
.
WareCode
,
MoveInfo
.
MoveParam
.
PosId
,
MoveInfo
.
MoveParam
.
PlateH
,
bagWidth
);
TrayManager
.
UpdateFixtureValue
(
MoveInfo
.
MoveParam
.
TrayNumber
,
true
,
ReelType
.
OutStore
,
MoveInfo
.
MoveParam
.
WareCode
,
MoveInfo
.
MoveParam
.
PosId
,
MoveInfo
.
MoveParam
.
PlateH
,
bagWidth
);
//出库全部完成
lineStatus
=
LineStatus
.
StoreOnline
;
...
...
@@ -161,7 +161,7 @@ namespace OnlineStore.DeviceLibrary
{
// 减去需要的盘数
TrayManager
.
DelNeedEmptyTrayNum
();
OutStoreLog
(
"出库 Second
Store
Move:移栽完成,放行托盘"
);
OutStoreLog
(
"出库 SecondMove:移栽完成,放行托盘"
);
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_TopCylinder_Down
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
TopCylinder_UP
,
IO_Type
.
TopCylinder_Down
);
...
...
@@ -252,7 +252,7 @@ namespace OnlineStore.DeviceLibrary
TrayManager
.
UpdateFixtureValue
(
num
);
//阻挡气缸移动
InStoreLog
(
"放托盘(放开阻挡):Second
Store
Move=MO_12_TopCylinder_Down 物品已移走,顶升气缸1下降)"
);
InStoreLog
(
"放托盘(放开阻挡):SecondMove=MO_12_TopCylinder_Down 物品已移走,顶升气缸1下降)"
);
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_TopCylinder_Down
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
TopCylinder_UP
,
IO_Type
.
TopCylinder_Down
);
...
...
@@ -421,7 +421,7 @@ namespace OnlineStore.DeviceLibrary
if
(
num
>
0
)
{
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_StopCylinder2Down
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
));
...
...
@@ -437,7 +437,7 @@ namespace OnlineStore.DeviceLibrary
//托盘在第一个阻挡处
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_StopCylinder1Down
);
CheckLog
(
" 托盘检测:料盘检测 Second
Store
Move(MIO_01_StopCylinder1Down阻挡气缸1-1下降 ,最多等待1秒)"
);
CheckLog
(
" 托盘检测:料盘检测 SecondMove(MIO_01_StopCylinder1Down阻挡气缸1-1下降 ,最多等待1秒)"
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Fixture_Check_4, IO_VALUE.HIGH));
...
...
@@ -462,7 +462,7 @@ namespace OnlineStore.DeviceLibrary
#
region
托盘检测
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_01_StopCylinder1Down
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_02_FixtureCheck 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_02_FixtureCheck 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_StopCylinder2Down
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
));
...
...
@@ -470,7 +470,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_02_FixtureCheck
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_StopCylinder2Down
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
));
...
...
@@ -478,7 +478,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_03_StopCylinder2Down
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_04_Wait ,等待编码信号稳定)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_04_Wait ,等待编码信号稳定)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_04_Wait
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
}
...
...
@@ -517,7 +517,7 @@ namespace OnlineStore.DeviceLibrary
}
if
(
isNeed
)
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_05_WaitTime 等待一秒钟)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_05_WaitTime 等待一秒钟)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_05_WaitTime
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
}
...
...
@@ -529,7 +529,7 @@ namespace OnlineStore.DeviceLibrary
{
TrayManager
.
UpdateTrayNumError
(-
1
,
""
);
}
CheckLog
(
"托盘放行 Second
Store
Move:(MO_13_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_13_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_13_WaitCanGo
);
if
(
DeviceID
.
Equals
(
2
))
{
...
...
@@ -546,13 +546,13 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_05_WaitTime
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_06_TopCylinderUp 顶升气缸上 升 )"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_06_TopCylinderUp 顶升气缸上 升 )"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_06_TopCylinderUp
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_UP
);
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_06_TopCylinderUp
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_07_TopCylinderUpWait ,顶升气缸上升时等待1秒钟,再下降)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_07_TopCylinderUpWait ,顶升气缸上升时等待1秒钟,再下降)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_07_TopCylinderUpWait
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
}
...
...
@@ -592,7 +592,7 @@ namespace OnlineStore.DeviceLibrary
{
TrayManager
.
UpdateTrayNumError
(-
1
,
""
);
}
CheckLog
(
"托盘检测 Second
Store
Move:(MO_12_TopCylinder_Down ,托盘号【"
+
currMoveTrayNum
+
"】,直接放盘通过,顶升气缸下降)"
);
CheckLog
(
"托盘检测 SecondMove:(MO_12_TopCylinder_Down ,托盘号【"
+
currMoveTrayNum
+
"】,直接放盘通过,顶升气缸下降)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_TopCylinder_Down
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
TopCylinder_UP
,
IO_Type
.
TopCylinder_Down
);
}
...
...
@@ -600,7 +600,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_08_WaitInStore
)
&&
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MIO_09_WaitLetFixtureGo ,等待移栽完成后放开阻挡)"
);
CheckLog
(
"托盘放行 SecondMove:(MIO_09_WaitLetFixtureGo ,等待移栽完成后放开阻挡)"
);
StartInStoreMove
(
SecondMoveInfo
.
MoveParam
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_09_WaitLetFixtureGo
);
}
...
...
@@ -609,7 +609,7 @@ namespace OnlineStore.DeviceLibrary
#
region
不需要出入库,直接放行
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_12_TopCylinder_Down
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MO_13_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_13_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_13_WaitCanGo
);
if
(
DeviceID
.
Equals
(
2
))
{
...
...
@@ -621,7 +621,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_13_WaitCanGo
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MO_14_StopCylinder2_Down ,阻挡气缸1-2下降)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_14_StopCylinder2_Down ,阻挡气缸1-2下降)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_14_StopCylinder2_Down
);
IOMove
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
HIGH
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
HIGH
));
...
...
@@ -629,14 +629,14 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_14_StopCylinder2_Down
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MO_15_Tray_Check , 阻挡2托盘检测=0), 延时2秒)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_15_Tray_Check , 阻挡2托盘检测=0), 延时2秒)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_15_Tray_Check
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Check2
,
IO_VALUE
.
LOW
));
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_15_Tray_Check
))
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_16_StopCylinder_Back
);
CheckLog
(
"托盘放行 Second
Store
Move:(MO_16_StopCylinder_Back , 阻挡气缸1-2上升 )"
);
CheckLog
(
"托盘放行 SecondMove:(MO_16_StopCylinder_Back , 阻挡气缸1-2上升 )"
);
IOMove
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
...
...
@@ -644,7 +644,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_16_StopCylinder_Back
))
{
preTrayNum
=
currMoveTrayNum
;
CheckLog
(
"托盘放行 Second
Store
Move:(托盘放行结束) "
);
CheckLog
(
"托盘放行 SecondMove:(托盘放行结束) "
);
// IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.HIGH);
SecondMoveInfo
.
EndMove
();
}
...
...
source/DeviceLibrary/assemblyLine/ProvidingEquip.cs
查看文件 @
f575439
...
...
@@ -94,7 +94,7 @@ namespace OnlineStore.DeviceLibrary
mainTimer
.
Stop
();
alarmType
=
LineAlarmType
.
None
;
runStatus
=
LineRunStatus
.
HomeMoving
;
LogInfo
(
"开始原点返回:
(上下气缸回原点,阻挡气缸输入=0 )
开始"
);
LogInfo
(
"开始原点返回:
(上下气上升,阻挡气缸上升 )
开始"
);
SecondMoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
MoveInfo
.
NewMove
(
LineMoveType
.
ReturnHome
);
...
...
@@ -108,7 +108,7 @@ namespace OnlineStore.DeviceLibrary
alarmType
=
LineAlarmType
.
None
;
preTrayNum
=
0
;
currMoveTrayNum
=
0
;
LogInfo
(
"开始重置:清理盘号,(上下气
缸回原点,阻挡气缸输入=0 )开始;
"
);
LogInfo
(
"开始重置:清理盘号,(上下气
上升,阻挡气缸上升 )开始
"
);
runStatus
=
LineRunStatus
.
Reset
;
MoveInfo
.
EndMove
();
SecondMoveInfo
.
EndMove
();
...
...
@@ -129,7 +129,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
LOW
);
}
isInPro
=
false
;
...
...
@@ -157,7 +157,7 @@ namespace OnlineStore.DeviceLibrary
case
LineMoveStep
.
MH_UpDownCylinder_Up
:
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
MH_OtherCylinder_Back
);
LogInfo
(
MoveInfo
.
MoveType
+
" : (上升到位,顶升气缸下降,前后气缸
回退
)开始"
);
LogInfo
(
MoveInfo
.
MoveType
+
" : (上升到位,顶升气缸下降,前后气缸
后退,夹紧气缸放松
)开始"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_UP
,
IO_Type
.
TopCylinder_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
BeforeAfterCylinder_Before
,
IO_Type
.
BeforeAfterCylinder_After
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Slack
,
IO_Type
.
ClampCylinder_Tighten
);
...
...
source/DeviceLibrary/assemblyLine/ProvidingEquip_Partial.cs
查看文件 @
f575439
...
...
@@ -30,11 +30,11 @@ namespace OnlineStore.DeviceLibrary
if
(
IOValue
(
IO_Type
.
StopCylinder_Check2
).
Equals
(
IO_VALUE
.
HIGH
))
{
//托盘在两个阻挡内
if
(
num
>
0
)
if
(
num
>
0
&&
LineManager
.
Line
.
SwNoProcess
(
Config
.
SidesWayNum
)
)
{
TrayManager
.
UpdateSWState
(
Config
.
SidesWayNum
,
2
);
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_StopCylinder2Down
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
));
...
...
@@ -44,13 +44,13 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
Name
+
"检测到check4亮,但是为获取到托盘号,StartCheckFixture失败~"
);
}
}
else
if
(
IOValue
(
IO_Type
.
StopCylinder_Check1
).
Equals
(
IO_VALUE
.
HIGH
))
else
if
(
IOValue
(
IO_Type
.
StopCylinder_Check1
).
Equals
(
IO_VALUE
.
HIGH
)
&&
LineManager
.
Line
.
SwNoProcess
(
Config
.
SidesWayNum
)
)
{
//托盘在第一个阻挡处
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_StopCylinder1Down
);
TrayManager
.
UpdateSWState
(
Config
.
SidesWayNum
,
2
);
CheckLog
(
" 托盘检测:料盘检测 Second
Store
Move(MIO_01_StopCylinder1Down阻挡气缸1-1下降 ,最多等待1秒)"
);
CheckLog
(
" 托盘检测:料盘检测 SecondMove(MIO_01_StopCylinder1Down阻挡气缸1-1下降 ,最多等待1秒)"
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1500
));
...
...
@@ -79,7 +79,7 @@ namespace OnlineStore.DeviceLibrary
#
region
托盘检测
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_01_StopCylinder1Down
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_02_FixtureCheck 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_02_FixtureCheck 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_StopCylinder2Down
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
));
...
...
@@ -87,7 +87,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_02_FixtureCheck
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_03_StopCylinder2Down 阻挡气缸1-1上升)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_StopCylinder2Down
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
));
...
...
@@ -95,7 +95,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_03_StopCylinder2Down
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_04_Wait ,等待编码信号稳定)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_04_Wait ,等待编码信号稳定)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_04_Wait
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
}
...
...
@@ -136,7 +136,7 @@ namespace OnlineStore.DeviceLibrary
{
TrayManager
.
UpdateTrayNumError
(-
1
,
""
);
}
CheckLog
(
"托盘放行 Second
Store
Move:(MO_07_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_07_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_13_WaitCanGo
);
}
catch
(
Exception
ex
)
...
...
@@ -146,7 +146,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_05_WaitTime
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_06_TopCylinderUp 顶升气缸上 升 )"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_06_TopCylinderUp 顶升气缸上 升 )"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_06_TopCylinderUp
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_UP
);
...
...
@@ -156,7 +156,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_06_TopCylinderUp
))
{
CheckLog
(
"托盘检测(流水线阻挡)Second
Store
Move:(MIO_07_TopCylinderUpWait ,顶升气缸上升时等待1秒钟,再下降)"
);
CheckLog
(
"托盘检测(流水线阻挡)SecondMove:(MIO_07_TopCylinderUpWait ,顶升气缸上升时等待1秒钟,再下降)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_07_TopCylinderUpWait
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
}
...
...
@@ -169,7 +169,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_08_WaitInStore
)
&&
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MIO_09_WaitLetFixtureGo ,等待移栽完成后放开阻挡)"
);
CheckLog
(
"托盘放行 SecondMove:(MIO_09_WaitLetFixtureGo ,等待移栽完成后放开阻挡)"
);
StartOutStoreMove
(
SecondMoveInfo
.
MoveParam
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_09_WaitLetFixtureGo
);
}
...
...
@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary
#
region
不需要出出料,直接放行
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_12_TopCylinder_Down
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MO_13_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_13_WaitCanGo ,移栽2,需要判断是否可以放盘通过,最多等待10000)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_13_WaitCanGo
);
//更新横移托盘已处理完成
TrayManager
.
UpdateSWState
(
Config
.
SidesWayNum
,
1
);
...
...
@@ -186,7 +186,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_13_WaitCanGo
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MO_14_StopCylinder2_Down ,阻挡气缸1-2下降)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_14_StopCylinder2_Down ,阻挡气缸1-2下降)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_14_StopCylinder2_Down
);
IOMove
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
HIGH
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
HIGH
));
...
...
@@ -194,14 +194,14 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_14_StopCylinder2_Down
))
{
CheckLog
(
"托盘放行 Second
Store
Move:(MO_15_Tray_Check , 阻挡2托盘检测=0), 延时2秒)"
);
CheckLog
(
"托盘放行 SecondMove:(MO_15_Tray_Check , 阻挡2托盘检测=0), 延时2秒)"
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_15_Tray_Check
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Check2
,
IO_VALUE
.
LOW
));
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_15_Tray_Check
))
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_16_StopCylinder_Back
);
CheckLog
(
"托盘放行 Second
Store
Move:(MO_16_StopCylinder_Back , 阻挡气缸1-2上升 )"
);
CheckLog
(
"托盘放行 SecondMove:(MO_16_StopCylinder_Back , 阻挡气缸1-2上升 )"
);
IOMove
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down2
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
...
...
@@ -209,7 +209,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_16_StopCylinder_Back
))
{
preTrayNum
=
currMoveTrayNum
;
CheckLog
(
"托盘放行 Second
Store
Move:(托盘放行结束) "
);
CheckLog
(
"托盘放行 SecondMove:(托盘放行结束) "
);
// IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.HIGH);
SecondMoveInfo
.
EndMove
();
}
...
...
@@ -290,7 +290,7 @@ namespace OnlineStore.DeviceLibrary
TrayManager
.
UpdateFixtureValue
(
num
);
//阻挡气缸移动
InStoreLog
(
"放托盘(放开阻挡):Second
Store
Move=MO_12_TopCylinder_Down 物品已移走,顶升气缸1下降)"
);
InStoreLog
(
"放托盘(放开阻挡):SecondMove=MO_12_TopCylinder_Down 物品已移走,顶升气缸1下降)"
);
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_TopCylinder_Down
);
if
(
Config
.
SidesWayNum
<=
0
)
...
...
source/DeviceLibrary/model/TrayInfo.cs
查看文件 @
f575439
...
...
@@ -58,4 +58,29 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
public
int
PlateW
{
get
;
set
;
}
}
/// <summary>
/// 托盘上的物料的类型
/// </summary>
internal
class
ReelType
{
/// <summary>
/// 等待入库料盘
/// </summary>
internal
static
int
InStore
=
1
;
/// <summary>
/// 料仓出库料盘
/// </summary>
internal
static
int
OutStore
=
2
;
/// <summary>
/// 紧急出库料盘
/// </summary>
internal
static
int
OutStore_Equip
=
3
;
/// <summary>
/// 入库失败需要NG气缸退出的料盘
/// </summary>
internal
static
int
InStoreNG
=
4
;
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论