Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 75a3b62e
由
LN
编写于
2020-12-12 14:29:53 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1,上料横移到达流水线上方时再检测盘宽。2.T3-C1bug修改。3.接驳台bug修改
1 个父辈
6146271c
显示空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
320 行增加
和
217 行删除
source/AssemblyLineClient/FrmFeedingEquip.cs
source/AssemblyLineClient/FrmLineIO.cs
source/AssemblyLineClient/FrmLineStore.Designer.cs
source/AssemblyLineClient/FrmLineStore.cs
source/AssemblyLineClient/记录.txt
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
source/DeviceLibrary/assemblyLine/HY/HY_C1Line.cs
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
source/DeviceLibrary/assemblyLine/LineBean_T3-C1.cs
source/DeviceLibrary/assemblymanager/ALineManager.cs
source/DeviceLibrary/deviceLibrary/IO/IOManager.cs
source/DeviceLibrary/model/StoreStep.cs
source/AssemblyLineClient/FrmFeedingEquip.cs
查看文件 @
75a3b62
...
...
@@ -252,13 +252,15 @@ namespace OnlineStore.AssemblyLine
lblThisSta
.
Text
=
equipBean
.
WarnMsg
;
txtP1
.
Text
=
equipBean
.
Config
.
UpDownAxisP1
.
ToString
();
txtUpdownP3
.
Text
=
equipBean
.
Config
.
UpDownAxisP3
.
ToString
();
if
(
equipBean
.
Config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_RollerLine_Run
)
)
if
(
equipBean
.
HasOutLine
)
{
SL_RollerLine_Run
.
Visible
=
true
;
SL_OutLine_Run
.
Visible
=
true
;
}
else
{
SL_RollerLine_Run
.
Visible
=
false
;
SL_OutLine_Run
.
Visible
=
false
;
}
LoadDP2
();
LoadDOBtn
(
groupDO
);
...
...
source/AssemblyLineClient/FrmLineIO.cs
查看文件 @
75a3b62
...
...
@@ -377,13 +377,13 @@ namespace OnlineStore.AssemblyLine
private
void
btnSw4Location_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
"界面点击:"
+
btnFrontStopDown
.
Text
);
BtnMove
(
btnFrontStopDown
,
"
T3-C1前阻挡下降"
,
"
T3-C1前阻挡上升"
,
IO_Type
.
HY_FrontStopDown
);
BtnMove
(
btnFrontStopDown
,
"
▉ T3-C1前阻挡下降"
,
"▉
T3-C1前阻挡上升"
,
IO_Type
.
HY_FrontStopDown
);
}
private
void
btn34Top_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
"界面点击:"
+
btnStopDown
.
Text
);
BtnMove
(
btnStopDown
,
"
T3-C1前阻挡下降"
,
"T3-C1前
阻挡上升"
,
IO_Type
.
HY_StopDown
);
BtnMove
(
btnStopDown
,
"
▉ T3-C1阻挡下降"
,
"▉ T3-C1
阻挡上升"
,
IO_Type
.
HY_StopDown
);
}
private
void
HY_TopCylinder_Down_Click
(
object
sender
,
EventArgs
e
)
...
...
source/AssemblyLineClient/FrmLineStore.Designer.cs
查看文件 @
75a3b62
...
...
@@ -33,6 +33,7 @@
this
.
tabControl1
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tabPage1
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
groupBox2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
chbTrayTest
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
chbDisMove
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
lblCardMsg
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
chbDisHy
=
new
System
.
Windows
.
Forms
.
CheckBox
();
...
...
@@ -187,6 +188,7 @@
//
this
.
groupBox2
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)(((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
groupBox2
.
Controls
.
Add
(
this
.
chbTrayTest
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
chbDisMove
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
lblCardMsg
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
chbDisHy
);
...
...
@@ -200,10 +202,21 @@
this
.
groupBox2
.
TabIndex
=
200
;
this
.
groupBox2
.
TabStop
=
false
;
//
// chbTrayTest
//
this
.
chbTrayTest
.
AutoSize
=
true
;
this
.
chbTrayTest
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
22
);
this
.
chbTrayTest
.
Name
=
"chbTrayTest"
;
this
.
chbTrayTest
.
Size
=
new
System
.
Drawing
.
Size
(
168
,
24
);
this
.
chbTrayTest
.
TabIndex
=
203
;
this
.
chbTrayTest
.
Text
=
"托盘横移到出料线测试"
;
this
.
chbTrayTest
.
UseVisualStyleBackColor
=
true
;
this
.
chbTrayTest
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbTrayTest_CheckedChanged
);
//
// chbDisMove
//
this
.
chbDisMove
.
AutoSize
=
true
;
this
.
chbDisMove
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
2
05
);
this
.
chbDisMove
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
2
22
);
this
.
chbDisMove
.
Name
=
"chbDisMove"
;
this
.
chbDisMove
.
Size
=
new
System
.
Drawing
.
Size
(
144
,
24
);
this
.
chbDisMove
.
TabIndex
=
202
;
...
...
@@ -221,7 +234,7 @@
// chbDisHy
//
this
.
chbDisHy
.
AutoSize
=
true
;
this
.
chbDisHy
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
1
65
);
this
.
chbDisHy
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
1
87
);
this
.
chbDisHy
.
Name
=
"chbDisHy"
;
this
.
chbDisHy
.
Size
=
new
System
.
Drawing
.
Size
(
194
,
24
);
this
.
chbDisHy
.
TabIndex
=
201
;
...
...
@@ -234,7 +247,7 @@
this
.
label2
.
AutoSize
=
true
;
this
.
label2
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label2
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
2
77
);
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
2
92
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
224
,
17
);
this
.
label2
.
TabIndex
=
200
;
...
...
@@ -243,7 +256,7 @@
// chbLeftDis
//
this
.
chbLeftDis
.
AutoSize
=
true
;
this
.
chbLeftDis
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
29
);
this
.
chbLeftDis
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
67
);
this
.
chbLeftDis
.
Name
=
"chbLeftDis"
;
this
.
chbLeftDis
.
Size
=
new
System
.
Drawing
.
Size
(
277
,
24
);
this
.
chbLeftDis
.
TabIndex
=
196
;
...
...
@@ -254,7 +267,7 @@
// chbDisSL
//
this
.
chbDisSL
.
AutoSize
=
true
;
this
.
chbDisSL
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
1
25
);
this
.
chbDisSL
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
1
52
);
this
.
chbDisSL
.
Name
=
"chbDisSL"
;
this
.
chbDisSL
.
Size
=
new
System
.
Drawing
.
Size
(
192
,
24
);
this
.
chbDisSL
.
TabIndex
=
199
;
...
...
@@ -265,7 +278,7 @@
// chbRightDis
//
this
.
chbRightDis
.
AutoSize
=
true
;
this
.
chbRightDis
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
69
);
this
.
chbRightDis
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
101
);
this
.
chbRightDis
.
Name
=
"chbRightDis"
;
this
.
chbRightDis
.
Size
=
new
System
.
Drawing
.
Size
(
293
,
24
);
this
.
chbRightDis
.
TabIndex
=
197
;
...
...
@@ -1259,6 +1272,7 @@
private
System
.
Windows
.
Forms
.
CheckBox
chbDisHy
;
private
System
.
Windows
.
Forms
.
Label
label3
;
private
System
.
Windows
.
Forms
.
Label
label4
;
private
System
.
Windows
.
Forms
.
CheckBox
chbTrayTest
;
}
}
source/AssemblyLineClient/FrmLineStore.cs
查看文件 @
75a3b62
...
...
@@ -1116,17 +1116,18 @@ namespace OnlineStore.AssemblyLine
if
(
LineManager
.
DisLeftOutLine
)
{
List
<
int
>
leftHYs
=
new
List
<
int
>()
{
205
,
207
,
210
};
foreach
(
int
id
in
leftHYs
)
{
LineManager
.
Line
.
HYEquipMap
[
id
].
IsDebug
=
true
;
}
LogUtil
.
info
(
"界面点击勾选:"
+
chbLeftDis
.
Text
+
"="
+
LineManager
.
DisLeftOutLine
+
",设置 HY5,HY7,HY10 为调试状态"
);
}
else
{
LogUtil
.
info
(
"界面点击勾选:"
+
chbLeftDis
.
Text
+
"="
+
LineManager
.
DisLeftOutLine
);
}
List
<
int
>
leftHYs
=
new
List
<
int
>()
{
205
,
207
,
210
};
foreach
(
int
id
in
leftHYs
)
{
bool
isD
=
LineManager
.
DisLeftOutLine
?
true
:
LineManager
.
Line
.
HYEquipMap
[
id
].
Config
.
IsDebug
.
Equals
(
1
);
LineManager
.
Line
.
HYEquipMap
[
id
].
IsDebug
=
isD
;
}
}
private
void
chbRightDis_CheckedChanged
(
object
sender
,
EventArgs
e
)
...
...
@@ -1142,17 +1143,18 @@ namespace OnlineStore.AssemblyLine
LineManager
.
DisRightOutLine
=
chbRightDis
.
Checked
;
if
(
LineManager
.
DisRightOutLine
)
{
List
<
int
>
rightHYs
=
new
List
<
int
>()
{
212
,
214
,
217
};
foreach
(
int
id
in
rightHYs
)
{
LineManager
.
Line
.
HYEquipMap
[
id
].
IsDebug
=
true
;
}
LogUtil
.
info
(
"界面点击勾选:"
+
chbRightDis
.
Text
+
"="
+
LineManager
.
DisRightOutLine
+
",设置 HY12,HY14,HY17 为调试状态"
);
}
else
{
LogUtil
.
info
(
"界面点击勾选:"
+
chbRightDis
.
Text
+
"="
+
LineManager
.
DisRightOutLine
);
}
List
<
int
>
rightHYs
=
new
List
<
int
>()
{
212
,
214
,
217
};
foreach
(
int
id
in
rightHYs
)
{
bool
isD
=
LineManager
.
DisRightOutLine
?
true
:
LineManager
.
Line
.
HYEquipMap
[
id
].
Config
.
IsDebug
.
Equals
(
1
);
LineManager
.
Line
.
HYEquipMap
[
id
].
IsDebug
=
isD
;
}
}
private
void
chbDisSL_CheckedChanged
(
object
sender
,
EventArgs
e
)
...
...
@@ -1168,17 +1170,18 @@ namespace OnlineStore.AssemblyLine
LineManager
.
DisSLEquip
=
chbDisSL
.
Checked
;
if
(
LineManager
.
DisSLEquip
)
{
List
<
int
>
rightHYs
=
new
List
<
int
>()
{
101
,
102
,
103
,
104
,
105
};
foreach
(
int
id
in
rightHYs
)
{
LineManager
.
Line
.
FeedingEquipMap
[
id
].
IsDebug
=
true
;
}
LogUtil
.
info
(
"界面点击勾选:"
+
chbDisSL
.
Text
+
"="
+
LineManager
.
DisSLEquip
+
",设置所有上料模块(T1~T5)为调试状态"
);
}
else
{
LogUtil
.
info
(
"界面点击勾选:"
+
chbDisSL
.
Text
+
"="
+
LineManager
.
DisSLEquip
);
}
List
<
int
>
rightHYs
=
new
List
<
int
>()
{
101
,
102
,
103
,
104
,
105
};
foreach
(
int
id
in
rightHYs
)
{
bool
isD
=
LineManager
.
DisSLEquip
?
true
:
LineManager
.
Line
.
FeedingEquipMap
[
id
].
Config
.
IsDebug
.
Equals
(
1
);
LineManager
.
Line
.
FeedingEquipMap
[
id
].
IsDebug
=
isD
;
}
}
private
void
checkBox1_CheckedChanged
(
object
sender
,
EventArgs
e
)
...
...
@@ -1194,16 +1197,17 @@ namespace OnlineStore.AssemblyLine
LineManager
.
DisAllHy
=
chbDisHy
.
Checked
;
if
(
LineManager
.
DisAllHy
)
{
foreach
(
int
id
in
LineManager
.
Line
.
HYEquipMap
.
Keys
)
{
LineManager
.
Line
.
HYEquipMap
[
id
].
IsDebug
=
true
;
}
LogUtil
.
info
(
"界面点击勾选:"
+
chbDisHy
.
Text
+
"="
+
LineManager
.
DisAllHy
+
",设置所有HY为调试状态"
);
}
else
{
LogUtil
.
info
(
"界面点击勾选:"
+
chbDisHy
.
Text
+
"="
+
LineManager
.
DisAllHy
);
}
foreach
(
int
id
in
LineManager
.
Line
.
HYEquipMap
.
Keys
)
{
bool
isD
=
LineManager
.
DisAllHy
?
true
:
LineManager
.
Line
.
HYEquipMap
[
id
].
Config
.
IsDebug
.
Equals
(
1
);
LineManager
.
Line
.
HYEquipMap
[
id
].
IsDebug
=
isD
;
}
}
private
void
chbDisMove_CheckedChanged
(
object
sender
,
EventArgs
e
)
...
...
@@ -1219,16 +1223,31 @@ namespace OnlineStore.AssemblyLine
LineManager
.
DisAllMove
=
chbDisMove
.
Checked
;
if
(
LineManager
.
DisAllMove
)
{
foreach
(
int
id
in
LineManager
.
Line
.
MoveEquipMap
.
Keys
)
{
LineManager
.
Line
.
MoveEquipMap
[
id
].
IsDebug
=
true
;
}
LogUtil
.
info
(
"界面点击勾选:"
+
chbDisMove
.
Text
+
"="
+
LineManager
.
DisAllMove
+
",设置所有进仓为调试状态"
);
}
else
{
LogUtil
.
info
(
"界面点击勾选:"
+
chbDisMove
.
Text
+
"="
+
LineManager
.
DisAllMove
);
}
foreach
(
int
id
in
LineManager
.
Line
.
MoveEquipMap
.
Keys
)
{
bool
isD
=
LineManager
.
DisAllMove
?
true
:
LineManager
.
Line
.
MoveEquipMap
[
id
].
Config
.
IsDebug
.
Equals
(
1
);
LineManager
.
Line
.
MoveEquipMap
[
id
].
IsDebug
=
isD
;
}
}
private
void
chbTrayTest_CheckedChanged
(
object
sender
,
EventArgs
e
)
{
if
(!
LoadOk
)
{
return
;
}
if
(
LineManager
.
TrayToOutLineTest
.
Equals
(
chbTrayTest
.
Checked
))
{
return
;
}
LineManager
.
TrayToOutLineTest
=
chbTrayTest
.
Checked
;
LogUtil
.
info
(
"界面点击勾选:"
+
chbTrayTest
.
Text
+
"="
+
LineManager
.
TrayToOutLineTest
);
}
}
}
source/AssemblyLineClient/记录.txt
查看文件 @
75a3b62
...
...
@@ -33,6 +33,7 @@
上料模块,顶升气缸升降时,出口顶升气缸同时动作。
上料机构,入料横移到放料端时,再检测料盘宽度
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
查看文件 @
75a3b62
...
...
@@ -20,6 +20,7 @@ namespace OnlineStore.DeviceLibrary
public
FeedingEquip_Config
Config
;
public
bool
OutEndSendShelfOut
=
false
;
public
AxisBean
BatchAxis
=
null
;
public
bool
HasOutLine
=
false
;
//是否有出料线体,T3和T4
public
FeedingEquip
(
string
cid
,
FeedingEquip_Config
config
)
{
this
.
DeviceID
=
config
.
Id
;
...
...
@@ -35,6 +36,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
=
new
LineMoveInfo
(
DeviceID
,
"["
+
Name
.
Trim
()
+
"-Move]"
);
SecondMoveInfo
=
new
LineMoveInfo
(
DeviceID
,
"["
+
Name
.
Trim
()
+
"-SMove]"
);
RFIDIP
=
RFIDManager
.
GetRFIP
(
DeviceID
);
HasOutLine
=
config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_OutLine_Run
);
}
public
override
bool
StartRun
(
bool
isDebug
=
false
)
...
...
@@ -118,10 +120,9 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
//夹紧气缸放松
CylinderMove
(
null
,
IO_Type
.
SL_ClampCylinder_Work
,
IO_Type
.
SL_ClampCylinder_Relax
);
if
(
Config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_RollerLine_Run
))
{
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
LOW
);
}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Entry_StopDown
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Buffer_StopDown
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
));
...
...
@@ -154,6 +155,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
//线体开始转动
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
...
...
@@ -165,6 +167,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":链条停止转动,上料横移机构上升,顶升气缸下降,所有阻挡气缸上升"
);
//线体停止
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
LOW
));
...
...
@@ -261,20 +264,7 @@ namespace OnlineStore.DeviceLibrary
case
LineMoveStep
.
FR_17_ClampCheck
:
LogInfo
(
"重置完成!"
);
if
(
IOValue
(
IO_Type
.
SL_Out_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
ClientLevel
level
=
ClientLevel
.
Low
;
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
level
=
ClientLevel
.
Middle
;
}
if
(
Config
.
IsCanOut
.
Equals
(
1
))
{
level
=
ClientLevel
.
High
;
}
LogInfo
(
"重置完成,出口检测到有料架,调用 "
+
Config
.
AgvOutName
+
" AgvClient.NeedLeave"
);
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
level
);
}
MoveEndS
();
break
;
default
:
break
;
...
...
@@ -287,7 +277,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
EndMove
();
SecondMoveInfo
.
EndMove
();
//StopMove时设置状态为none
AgvClient
.
SetStatus
(
Config
.
AgvInName
,
""
,
ClientAction
.
None
,
ClientLevel
.
Low
,
true
);
AgvClient
.
SetStatus
(
Config
.
AgvInName
,
""
,
ClientAction
.
None
,
ClientLevel
.
Low
,
true
);
AgvClient
.
SetStatus
(
Config
.
AgvOutName
,
""
,
ClientAction
.
None
,
ClientLevel
.
Low
,
true
);
BatchAxisStopCheck
();
...
...
@@ -299,10 +289,8 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
LOW
);
CheckAndMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
);
CheckAndMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
LOW
);
if
(
Config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_RollerLine_Run
))
{
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
LOW
);
}
CheckAndMove
(
IO_Type
.
SL_Entry_StopDown
,
IO_VALUE
.
LOW
);
CheckAndMove
(
IO_Type
.
SL_Buffer_StopDown
,
IO_VALUE
.
LOW
);
CheckAndMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
...
...
@@ -381,64 +369,12 @@ namespace OnlineStore.DeviceLibrary
}
}
if
(
NoErrorAlarm
())
{
if
(
IOValue
(
IO_Type
.
SL_Out_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
if
(
CheckStopWatch
(
needLeaveWatch
,
3000
))
{
ClientLevel
level
=
ClientLevel
.
Low
;
if
(
Config
.
IsCanOut
.
Equals
(
1
))
{
level
=
ClientLevel
.
High
;
}
else
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
(!
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
)))
{
level
=
ClientLevel
.
Middle
;
}
//线体出口检测到料架,需要通知AGV小车
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
level
);
}
}
else
{
needLeaveWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvOutName
);
}
//入口无料架,mayEnter
if
(
IOValue
(
IO_Type
.
SL_Entry_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
if
(
CheckStopWatch
(
needEnterWatch
,
3000
))
{
ClientLevel
level
=
ClientLevel
.
Low
;
if
(
Config
.
IsCanOut
.
Equals
(
1
))
{
//如果是出料模块且当前无料架
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
level
=
ClientLevel
.
High
;
}
}
AgvClient
.
NeedEnter
(
Config
.
AgvInName
,
""
,
level
);
}
}
else
{
needEnterWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvInName
);
}
}
else
{
needLeaveWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvOutName
);
needEnterWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvInName
);
}
AgvStatusPro
();
LedProcess
();
}
private
Stopwatch
needEnterWatch
=
new
Stopwatch
();
private
Stopwatch
needLeaveWatch
=
new
Stopwatch
();
...
...
@@ -751,6 +687,102 @@ namespace OnlineStore.DeviceLibrary
#
region
AGV
#
region
AGV
状态处理
//private void ResetEndAgvPro()
//{
// if (IOValue(IO_Type.SL_Out_Check).Equals(IO_VALUE.HIGH))
// {
// ClientLevel level = ClientLevel.Low;
// if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.HIGH))
// {
// level = ClientLevel.Middle;
// }
// if (Config.IsCanOut.Equals(1))
// {
// level = ClientLevel.High;
// }
// LogInfo("重置完成,出口检测到有料架,调用 " + Config.AgvOutName + " AgvClient.NeedLeave");
// AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, level);
// }
//}
private
void
AgvStatusPro
()
{
if
(
NoErrorAlarm
())
{
bool
HasOutLine
=
Config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_OutLine_Run
);
if
(
HasOutLine
&&
IOValue
(
IO_Type
.
SL_OutLine_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
if
(
CheckStopWatch
(
needLeaveWatch
,
3000
))
{
ClientLevel
level
=
ClientLevel
.
Low
;
if
(
Config
.
IsCanOut
.
Equals
(
1
))
{
level
=
ClientLevel
.
High
;
}
else
if
(
IOValue
(
IO_Type
.
SL_Out_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
(!
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
)))
{
level
=
ClientLevel
.
Middle
;
}
//线体出口检测到料架,需要通知AGV小车
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
level
);
}
}
else
if
((!
HasOutLine
)
&&
IOValue
(
IO_Type
.
SL_Out_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
if
(
CheckStopWatch
(
needLeaveWatch
,
3000
))
{
ClientLevel
level
=
ClientLevel
.
Low
;
if
(
Config
.
IsCanOut
.
Equals
(
1
))
{
level
=
ClientLevel
.
High
;
}
else
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
(!
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
)))
{
level
=
ClientLevel
.
Middle
;
}
//线体出口检测到料架,需要通知AGV小车
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
level
);
}
}
else
{
needLeaveWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvOutName
);
}
//入口无料架,mayEnter
if
(
IOValue
(
IO_Type
.
SL_Entry_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
if
(
CheckStopWatch
(
needEnterWatch
,
3000
))
{
ClientLevel
level
=
ClientLevel
.
Low
;
if
(
Config
.
IsCanOut
.
Equals
(
1
))
{
//如果是出料模块且当前无料架
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
level
=
ClientLevel
.
High
;
}
}
AgvClient
.
NeedEnter
(
Config
.
AgvInName
,
""
,
level
);
}
}
else
{
needEnterWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvInName
);
}
}
else
{
needLeaveWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvOutName
);
needEnterWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvInName
);
}
}
#
endregion
internal
void
AgvArrive
(
string
nodeId
,
string
rfid
)
{
string
logN
=
Name
+
"收到 AgvArrive 事件 ["
+
nodeId
+
"] ["
+
rfid
+
"] "
;
...
...
@@ -797,33 +829,42 @@ namespace OnlineStore.DeviceLibrary
//AGV已到达,将料架送入AGV中
Task
.
Factory
.
StartNew
(
delegate
{
string
checkIo
=
IO_Type
.
SL_Out_Check
;
string
lineDo
=
IO_Type
.
SL_OutSideWay_Run
;
string
stopDo
=
IO_Type
.
SL_Out_StopDown
;
if
(
HasOutLine
)
{
checkIo
=
IO_Type
.
SL_OutLine_Check
;
lineDo
=
IO_Type
.
SL_OutLine_Run
;
}
string
logName
=
Name
+
"["
+
Config
.
AgvOutName
+
"] 料架送入AGV "
;
try
{
LogUtil
.
info
(
logName
+
"开始,先设置状态为None"
);
AgvClient
.
SetStatus
(
Config
.
AgvOutName
,
LastOutShelfId
,
ClientAction
.
None
,
ClientLevel
.
High
,
true
);
if
(
IOValue
(
IO_Type
.
SL_Out_Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
checkIo
).
Equals
(
IO_VALUE
.
HIGH
))
{
// AgvClient.SetStatus(Config.AgvOutName,"",ClientAction.MayLeave,ClientLevel.High);
ProcessShelfOut
=
true
;
//出口阻挡下降,出口线体转动
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
stopDo
,
IO_VALUE
.
HIGH
);
IOMove
(
lineDo
,
IO_VALUE
.
HIGH
);
bool
result
=
WaitIo
(
IO_Type
.
SL_Out_Check
,
IO_VALUE
.
LOW
,
60000
);
bool
result
=
WaitIo
(
checkIo
,
IO_VALUE
.
LOW
,
60000
);
if
(!
result
)
{
LogUtil
.
info
(
logName
+
" 等待
SL_Out_Check=LOW超时,等待8000后停止
转动,发送FinishLeave"
);
LogUtil
.
info
(
logName
+
" 等待
"
+
checkIo
+
"=LOW超时,等待8000后停止"
+
lineDo
+
"
转动,发送FinishLeave"
);
}
else
{
LogUtil
.
info
(
logName
+
" 已收到
SL_Out_Check=LOW ,等待8000后停止
转动,发送FinishLeave"
);
LogUtil
.
info
(
logName
+
" 已收到
"
+
checkIo
+
"=LOW ,等待8000后停止"
+
lineDo
+
"
转动,发送FinishLeave"
);
}
//再转动2000
Thread
.
Sleep
(
8000
);
//停止转动 ,阻挡上升
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
lineDo
,
IO_VALUE
.
LOW
);
IOMove
(
stopDo
,
IO_VALUE
.
LOW
);
AgvClient
.
SetStatus
(
Config
.
AgvOutName
,
LastOutShelfId
,
ClientAction
.
FinishLeave
,
ClientLevel
.
High
,
true
);
Thread
.
Sleep
(
1000
);
...
...
@@ -847,7 +888,7 @@ namespace OnlineStore.DeviceLibrary
}
finally
{
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
lineDo
,
IO_VALUE
.
LOW
);
ProcessShelfOut
=
false
;
}
});
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
查看文件 @
75a3b62
...
...
@@ -256,13 +256,13 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_07_LocationUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_08_FixedDown
);
InLog
(
"料架入库: "
+
MoveInfo
.
SLog
+
" 固定气缸下降"
);
InLog
(
"料架入库: "
+
MoveInfo
.
SLog
+
" 固定气缸下降"
);
FixedCylinderDown
(
MoveInfo
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_08_FixedDown
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_11_BatchAxisToP2
);
InLog
(
"料架入库"
+
MoveInfo
.
SLog
+
":提升轴下降到位P2 ["
+
Config
.
BatchAxisP2
+
"] "
);
InLog
(
"料架入库"
+
MoveInfo
.
SLog
+
":提升轴下降到位P2 ["
+
Config
.
BatchAxisP2
+
"] "
);
if
(!
ProcessShelfEnter
)
{
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
LOW
);
...
...
@@ -334,7 +334,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_22_UpdownToP3
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降轴到P3["
+
Config
.
UpDownAxisP3
+
"]"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降轴到P3["
+
Config
.
UpDownAxisP3
+
"]"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP3
,
Config
.
UpdownAxis_P3Speed
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_22_UpdownToP3
))
...
...
@@ -346,7 +346,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_23_CylinderTighten
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_24_UpdownToP1
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降伺服到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降伺服到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_24_UpdownToP1
))
...
...
@@ -361,7 +361,7 @@ namespace OnlineStore.DeviceLibrary
else
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_24_UpdownToP1
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降伺服到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降伺服到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
}
}
...
...
@@ -369,47 +369,23 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_26_BatchAxisToP3
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
LastWidth
=
GetWidth
();
MoveInfo
.
MoveParam
.
PlateW
=
LastWidth
;
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":提升伺服运动到P3,盘宽【"
+
LastWidth
+
"】,横移气缸上升 "
);
//LastWidth = GetWidth();
//MoveInfo.MoveParam.PlateW = LastWidth;
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":提升伺服运动到P3,横移气缸上升 "
);
CylinderMove
(
null
,
IO_Type
.
SL_MoveCylinder_Take
,
IO_Type
.
SL_MoveCylinder_Give
);
BatchAxisToP3
(
false
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_26_BatchAxisToP3
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_27_SaveSize
);
if
(
UpdownIsInP1
())
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_28_CylinderGive
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_27_CylinderGive
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移气缸放料SOL"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_MoveCylinder_Take
,
IO_Type
.
SL_MoveCylinder_Give
);
}
else
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_27_SaveSize
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移机构取料端 前升降轴先到P1 ["
+
Config
.
UpDownAxisP1
+
"]"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
LastHeight
=
GetHeight
();
MoveInfo
.
MoveParam
.
PlateH
=
LastHeight
;
if
(
LastWidth
.
Equals
(
7
))
{
if
(
LastHeight
>
16
)
{
LogUtil
.
error
(
Name
+
"计算后高度"
+
LastWidth
+
"X"
+
LastHeight
+
",七寸盘默认盘高最高=16,修改高度为16"
);
LastHeight
=
16
;
}
}
else
{
if
(
LastHeight
<
12
)
{
LogUtil
.
error
(
Name
+
"计算后高度"
+
LastWidth
+
"X"
+
LastHeight
+
",非七寸盘默认盘高最低=12,修改高度为12"
);
LastHeight
=
12
;
}
}
//判断是否还有料盘
if
(
IOValue
(
IO_Type
.
SL_AxisLocationCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
...
...
@@ -417,61 +393,60 @@ namespace OnlineStore.DeviceLibrary
int
chaz
=
Math
.
Abs
(
currP
-
Config
.
BatchAxisP3
);
if
(
chaz
<
BatchAxis
.
Config
.
CanErrorCountMax
)
{
// MoveInfo.NextMoveStep(LineMoveStep.FI_21_BatchAxisDown);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":记录 高度【"
+
LastHeight
+
"】宽度【"
+
LastWidth
+
"】,已经没有料盘,且已达到P3:"
+
Config
.
BatchAxisP3
+
",提升轴开始回下降待机点P2"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":记录 高度【"
+
LastHeight
+
"】 ,已经没有料盘,且已达到P3:"
+
Config
.
BatchAxisP3
+
",提升轴开始回下降待机点P2"
);
MoveInfo
.
ShelfNoTray
=
true
;
BatchAxis
.
AbsMove
(
null
,
Config
.
BatchAxisP2
,
Config
.
BatchAxis_P2Speed
);
}
else
{
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":记录 高度【"
+
LastHeight
+
"】
宽度【"
+
LastWidth
+
"】
,此时未检测到料盘,上料轴位置【"
+
currP
+
"】不在P3:"
+
Config
.
BatchAxisP3
+
",预扫码"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":记录 高度【"
+
LastHeight
+
"】
,此时未检测到料盘,上料轴位置【"
+
currP
+
"】不在P3:"
+
Config
.
BatchAxisP3
+
",预扫码"
);
YuScanCode
();
}
}
else
{
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":记录 高度【"
+
LastHeight
+
"】
宽度【"
+
LastWidth
+
"】
,预扫码"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":记录 高度【"
+
LastHeight
+
"】
,预扫码"
);
YuScanCode
();
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_27_
SaveSiz
e
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_27_
CylinderGiv
e
))
{
if
(
UpdownIsInP1
())
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_28_SaveSize
);
LastWidth
=
GetWidth
();
MoveInfo
.
MoveParam
.
PlateW
=
LastWidth
;
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":获取到料盘尺寸 ["
+
LastWidth
+
"X"
+
LastHeight
+
"]"
);
if
(
LastWidth
.
Equals
(
7
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_28_CylinderGive
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移气缸放料SOL"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_MoveCylinder_Take
,
IO_Type
.
SL_MoveCylinder_Give
);
if
(
LastHeight
>
16
)
{
LogUtil
.
error
(
Name
+
"计算后高度"
+
LastWidth
+
"X"
+
LastHeight
+
",七寸盘默认盘高最高=16,修改高度为16"
);
LastHeight
=
16
;
}
}
else
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_27_SaveSize
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移机构取料端 前升降轴先到P1 ["
+
Config
.
UpDownAxisP1
+
"]"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
if
(
LastHeight
<
12
)
{
LogUtil
.
error
(
Name
+
"计算后高度"
+
LastWidth
+
"X"
+
LastHeight
+
",非七寸盘默认盘高最低=12,修改高度为12"
);
LastHeight
=
12
;
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_28_CylinderGive
))
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_28_SaveSize
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_29_BatchAxisDown
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
if
(!
MoveInfo
.
ShelfNoTray
)
{
FI_BatchAxisDown
();
}
//int targetPositon = Config.GetUpdownP2Detial(LastHeight, LastWidth);
//string log = ":移栽伺服下降到P2:" + targetPositon;
//InLog("料盘移栽" + MoveInfo.SLog + ": " + log + "");
//UpdownAxis.AbsMove(MoveInfo, targetPositon, Config.UpdownAxis_P2Speed);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_29_BatchAxisDown
))
{
FI_31_GetPosID
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_30_WaitReelCheck
))
{
FI_31_GetPosID
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_31_GetPosID
))
{
if
(
getPosTask
.
IsCompleted
&&
LastPosParam
!=
null
)
...
...
@@ -491,7 +466,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_32_WaitTray
))
//TODO
{
currTrayNum
=
-
1
;
if
(
LineManager
.
Line
.
TrayIsReady
(
DeviceID
,
out
currTrayNum
))
if
(
LineManager
.
Line
.
TrayIsReady
(
DeviceID
,
out
currTrayNum
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_33_CylinderDown
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
...
...
@@ -499,7 +474,7 @@ namespace OnlineStore.DeviceLibrary
UpdownAxis
.
AbsMove
(
MoveInfo
,
targetPositon
,
Config
.
UpdownAxis_P2Speed
);
LastPosParam
.
TrayNumber
=
currTrayNum
;
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":移栽伺服下降到P2: ["
+
targetPositon
+
"] 托盘号【"
+
currTrayNum
+
"】,更新托盘信息 :"
+
LastPosParam
.
ToShortStr
());
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":移栽伺服下降到P2: ["
+
targetPositon
+
"] 托盘号【"
+
currTrayNum
+
"】,更新托盘信息 :"
+
LastPosParam
.
ToShortStr
());
TrayManager
.
UpdateTrayInfo
(
currTrayNum
,
true
,
ReelType
.
InStore
,
LastPosParam
,
LastPosParam
.
NgMsg
);
SServerManager
.
SendPosToStoreCheck
(
Name
,
LastPosParam
);
...
...
@@ -526,7 +501,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_35_AxisToP1
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降轴到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降轴到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_35_AxisToP1
))
...
...
@@ -535,7 +510,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_35_AxisToP1
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降轴到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降轴到P1点 ["
+
Config
.
UpDownAxisP1
+
"]"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
}
else
...
...
@@ -580,7 +555,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_52_TrayLocation_After
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_53_BatchAxisToP1
);
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
":提升伺服到P1点["
+
Config
.
BatchAxisP1
+
"]"
);
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
":提升伺服到P1点["
+
Config
.
BatchAxisP1
+
"]"
);
BatchAxis
.
AbsMove
(
MoveInfo
,
Config
.
BatchAxisP1
,
Config
.
BatchAxis_P1Speed
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_53_BatchAxisToP1
))
...
...
@@ -624,6 +599,7 @@ namespace OnlineStore.DeviceLibrary
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 线体横移电机运转,等待料架离开上料工位"
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
LOW
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_57_SideWayLineRun
))
...
...
@@ -632,6 +608,7 @@ namespace OnlineStore.DeviceLibrary
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 线体横移电机运转,等待料架到达出口"
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
HIGH
);
//MoveInfo.OneWaitCanEndStep = true;
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Out_Check
,
IO_VALUE
.
HIGH
));
...
...
@@ -643,7 +620,7 @@ namespace OnlineStore.DeviceLibrary
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 料架到达出口,线体横移电机停止 "
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
LOW
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_59_LineStop
))
{
...
...
@@ -655,8 +632,29 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_60_TopDown
))
{
if
(
HasOutLine
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_61_OutLineRun
);
InLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"
);
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
5000
));
if
(
IOValue
(
IO_Type
.
SL_OutLine_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_OutLine_Check
,
IO_VALUE
.
HIGH
));
}
}
else
{
MoveEndS
();
LastOutShelfId
=
CurrShelfId
;
InLog
(
"上料完成,料架到达出口处, 通知AGV取空料架, 入料流程结束,更新LastOutShelfId="
+
LastOutShelfId
);
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
ClientLevel
.
Low
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_61_OutLineRun
))
{
MoveEndS
();
// MoveInfo.NextMoveStep(LineMoveStep.FI_39_OutLineRun);
LastOutShelfId
=
CurrShelfId
;
InLog
(
"上料完成,料架到达出口处, 通知AGV取空料架, 入料流程结束,更新LastOutShelfId="
+
LastOutShelfId
);
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
ClientLevel
.
Low
);
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
查看文件 @
75a3b62
...
...
@@ -454,12 +454,8 @@ namespace OnlineStore.DeviceLibrary
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 线体横移电机运转,等待料架离开定位工位"
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
if
(
Config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_RollerLine_Run
))
{
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
HIGH
);
}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
LOW
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_57_SideWayLineRun
))
{
...
...
@@ -467,10 +463,7 @@ namespace OnlineStore.DeviceLibrary
OutLog
(
"送出料串:"
+
MoveInfo
.
SLog
+
", 线体横移电机运转,等待料架到达出口"
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
if
(
Config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_RollerLine_Run
))
{
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
HIGH
);
}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Out_Check
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_58_WaitShelfGo
))
...
...
@@ -479,10 +472,7 @@ namespace OnlineStore.DeviceLibrary
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 料架到达出口,线体横移电机停止 "
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
);
if
(
Config
.
DOList
.
ContainsKey
(
IO_Type
.
SL_RollerLine_Run
))
{
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
LOW
);
}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
}
...
...
@@ -497,9 +487,31 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_60_TopDown
))
{
if
(
HasOutLine
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_61_OutLineRun
);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"
);
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
5000
));
if
(
IOValue
(
IO_Type
.
SL_OutLine_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_OutLine_Check
,
IO_VALUE
.
HIGH
));
}
}
else
{
MoveEndS
();
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 料架到达出口处, 通知AGV取空料架, 出料结束"
);
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
Asa
.
ClientLevel
.
High
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_61_OutLineRun
))
{
MoveEndS
();
// MoveInfo.NextMoveStep(LineMoveStep.FO_39_OutLineRun);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 出口线体运转,料架到达出口处, 通知AGV取空料架, 出料结束"
);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 出料线体停止,料架到达出口处, 通知AGV取空料架, 出料结束"
);
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
LOW
);
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
Asa
.
ClientLevel
.
High
);
}
else
if
(
MoveInfo
.
MoveStep
>=
LineMoveStep
.
FO_21_AxisDownMove
&&
MoveInfo
.
MoveStep
<
LineMoveStep
.
FO_51_BatchAxisToP2
)
...
...
source/DeviceLibrary/assemblyLine/HY/HY_C1Line.cs
查看文件 @
75a3b62
...
...
@@ -801,7 +801,12 @@ namespace OnlineStore.DeviceLibrary
//测线满时不需要横移
if
(
IOValue
(
IO_Type
.
HY_OL_Full_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
if
(
LineManager
.
TrayToOutLineTest
)
{
MoveInfo
.
MoveParam
=
new
InOutParam
(
trayNum
);
LogInfo
(
" 托盘需要横移到出料线:托盘横移到出料线测试功能打开"
);
return
true
;
}
//TODO
TrayInfo
trayInfo
=
TrayManager
.
GetTrayInfo
(
currTrayNum
);
if
(!
trayInfo
.
IsFull
)
...
...
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
查看文件 @
75a3b62
...
...
@@ -122,22 +122,29 @@ namespace OnlineStore.DeviceLibrary
{
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":顶升气缸上升 "
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
LineRun
(
SecondMoveInfo
);
//
LineRun(SecondMoveInfo);
}
else
{
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":顶升气缸下降 "
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
LineRun
(
SecondMoveInfo
);
//
LineRun(SecondMoveInfo);
}
}
else
if
(
SecondMoveInfo
.
IsStep
(
LineMoveStep
.
JHY_02_TopMove
))
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_03_StopDown
);
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":前阻挡下降,电机正转"
);
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
HIGH
,
1200
);
if
(
IsNgPro
())
{
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":前阻挡下降,横移电机正转"
);
LineRun
(
SecondMoveInfo
);
}
else
{
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":前阻挡下降"
);
}
}
else
if
(
SecondMoveInfo
.
IsStep
(
LineMoveStep
.
JHY_03_StopDown
))
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_04_WaitTray
);
...
...
@@ -155,7 +162,6 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SecondMoveInfo
.
IsStep
(
LineMoveStep
.
JHY_05_TrayCheck
))
{
//读取托盘号
LineStop
();
UpdateTrayNum
();
if
(
ReelNeedMove
())
{
...
...
@@ -233,7 +239,8 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SecondMoveInfo
.
IsStep
(
LineMoveStep
.
JHY_13_TrayLeave
))
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_14_TopDown
);
CheckLog
(
" 托盘放行"
+
SecondMoveInfo
.
SLog
+
":顶升气缸下降"
);
CheckLog
(
" 托盘放行"
+
SecondMoveInfo
.
SLog
+
":顶升气缸下降,横移电机 停止"
);
LineStop
(
SecondMoveInfo
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
}
else
if
(
SecondMoveInfo
.
IsStep
(
LineMoveStep
.
JHY_14_TopDown
))
...
...
@@ -251,15 +258,17 @@ namespace OnlineStore.DeviceLibrary
private
void
JHY_11_TopDown
()
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_11_TopDown
);
CheckLog
(
" 托盘放行"
+
SecondMoveInfo
.
SLog
+
":横移电机停止,阻挡上升,顶升气缸下降"
);
LineStop
(
SecondMoveInfo
);
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
LOW
);
if
(
IsNgPro
())
{
CheckLog
(
" 托盘放行"
+
SecondMoveInfo
.
SLog
+
":横移电机停止,阻挡上升,顶升气缸下降"
);
LineStop
(
SecondMoveInfo
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
}
else
{
CheckLog
(
" 托盘放行"
+
SecondMoveInfo
.
SLog
+
":启动横移电机,阻挡上升,顶升气缸上升"
);
LineRun
(
SecondMoveInfo
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
}
}
...
...
@@ -279,7 +288,6 @@ namespace OnlineStore.DeviceLibrary
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_07_TopUp
);
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":横移电机停止,顶升气缸上升"
);
LineStop
(
SecondMoveInfo
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
}
else
...
...
source/DeviceLibrary/assemblyLine/LineBean_T3-C1.cs
查看文件 @
75a3b62
...
...
@@ -99,7 +99,7 @@ namespace OnlineStore.DeviceLibrary
T3C1_Log
(
"检测到阻挡托盘,"
+
T3C1_MoveInfo
.
SLog
+
" ,前阻挡上升,阻挡上升"
);
Update_T3C1_TrayNum
();
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
LOW
);
T3C1_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStop
Check
,
IO_VALUE
.
LOW
));
T3C1_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStop
Down
,
IO_VALUE
.
LOW
));
IOMove
(
IO_Type
.
HY_StopDown
,
IO_VALUE
.
LOW
);
T3C1_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_StopDown
,
IO_VALUE
.
LOW
));
}
...
...
@@ -118,7 +118,7 @@ namespace OnlineStore.DeviceLibrary
T3C1_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
T3C1_Log
(
" 托盘检测:"
+
T3C1_MoveInfo
.
SLog
+
",检测到HY_FrontStopCheck,前阻挡下降 , 等待 HY_FrontStopCheck=0,清理托盘RFID"
);
T3C1_TrayNum
=
0
;
IOMove
(
IO_Type
.
HY_FrontStop
Check
,
IO_VALUE
.
HIGH
,
1200
);
IOMove
(
IO_Type
.
HY_FrontStop
Down
,
IO_VALUE
.
HIGH
,
1200
);
T3C1_MoveInfo
.
OneWaitCanEndStep
=
true
;
T3C1_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStopCheck
,
IO_VALUE
.
LOW
));
T3C1_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
...
...
source/DeviceLibrary/assemblymanager/ALineManager.cs
查看文件 @
75a3b62
...
...
@@ -20,6 +20,7 @@ namespace OnlineStore.DeviceLibrary
public
static
bool
DisSLEquip
=
false
;
public
static
bool
DisAllHy
=
false
;
public
static
bool
DisAllMove
=
false
;
public
static
bool
TrayToOutLineTest
=
false
;
public
static
bool
UseBuzzer
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseBuzzer
).
Equals
(
1
);
private
static
bool
isInit
=
false
;
...
...
source/DeviceLibrary/deviceLibrary/IO/IOManager.cs
查看文件 @
75a3b62
...
...
@@ -33,11 +33,12 @@ namespace OnlineStore.DeviceLibrary
{
if
(
ioType
.
Equals
(
IO_Type
.
HY_FrontStopDown
)
||
ioType
.
Equals
(
IO_Type
.
HY_OL_StopDown
))
{
}
else
if
(
ioType
.
Equals
(
IO_Type
.
HY_FrontStopCheck
)
||
ioType
.
Equals
(
IO_Type
.
HY_OL_Tray_Check
))
{
}
else
if
(
ioType
.
Equals
(
IO_Type
.
SL_RollerLine_Run
)||
ioType
.
Equals
(
IO_Type
.
SL_OutLine_Run
)
||
ioType
.
Equals
(
IO_Type
.
SL_OutLine_Check
))
{
}
else
{
...
...
source/DeviceLibrary/model/StoreStep.cs
查看文件 @
75a3b62
...
...
@@ -553,31 +553,32 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
FI_24_UpdownToP1
,
/// <summary>
/// 料盘移栽:等待没有伺服料盘检测信号
/// 料盘移栽:等待没有伺服料盘检测信号
,等待检测到料盘
/// </summary>
FI_25_CheckTray
,
/// <summary>
/// 料盘移栽:批量轴到P3点
,检测是否有料盘
/// 料盘移栽:批量轴到P3点
/// </summary>
FI_26_BatchAxisToP3
,
/// <summary>
///
料盘移栽:记录高度尺寸
///
料盘移栽: 上料横移气缸放料SOL
/// </summary>
FI_27_
SaveSiz
e
,
FI_27_
CylinderGiv
e
,
/// <summary>
///
料盘移栽: 上料横移气缸放料SOL
///
料盘移栽:记录高度尺寸
/// </summary>
FI_28_
CylinderGiv
e
,
FI_28_
SaveSiz
e
,
/// <summary>
/// 提升轴下降到料盘不溢出的位置
/// </summary>
FI_29_BatchAxisDown
,
/// <summary>
/// 等待料盘检测信号
/// </summary>
FI_30_WaitReelCheck
,
///
//
<summary>
///
//
等待料盘检测信号
///
//
</summary>
//
FI_30_WaitReelCheck,
/// <summary>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论