Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 51520b6a
由
LN
编写于
2020-12-21 13:58:05 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
上料机构,如果读取到rfid时,需要等待定位工位检测信号。
1 个父辈
33e47724
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
110 行增加
和
36 行删除
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
source/DeviceLibrary/model/StoreStep.cs
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
查看文件 @
51520b6
...
@@ -120,7 +120,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -120,7 +120,7 @@ namespace OnlineStore.DeviceLibrary
OutStoreHeight
=
-
1
;
OutStoreHeight
=
-
1
;
//OutStoreCount = 0;
//OutStoreCount = 0;
BatchAxisStopCheck
();
BatchAxisStopCheck
();
ResetClearData
();
ResetClearData
();
IOMove
(
IO_Type
.
SL_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_HddLed
,
IO_VALUE
.
HIGH
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_01_StopUp
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_01_StopUp
);
...
@@ -170,14 +170,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -170,14 +170,15 @@ namespace OnlineStore.DeviceLibrary
break
;
break
;
case
LineMoveStep
.
FR_02_LineRun
:
case
LineMoveStep
.
FR_02_LineRun
:
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_03_CylinderUp
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_03_CylinderUp
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":链条停止转动,上料横移机构上升,顶升气缸下降,所有阻挡气缸上升"
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":链条停止转动,
清理RFID,
上料横移机构上升,顶升气缸下降,所有阻挡气缸上升"
);
//线体停止
//线体停止
AllLineMove
(
IO_VALUE
.
LOW
);
AllLineMove
(
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
));
TopCylinderDown
(
MoveInfo
);
TopCylinderDown
(
MoveInfo
);
//清理RFID
RFIDManager
.
ClearTrayNum
(
DeviceID
);
break
;
break
;
case
LineMoveStep
.
FR_03_CylinderUp
:
case
LineMoveStep
.
FR_03_CylinderUp
:
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_04_UpdownAxisHome
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_04_UpdownAxisHome
);
...
@@ -245,27 +246,47 @@ namespace OnlineStore.DeviceLibrary
...
@@ -245,27 +246,47 @@ namespace OnlineStore.DeviceLibrary
//CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down);
//CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_ClampCylinder_Work
,
IO_Type
.
SL_ClampCylinder_Relax
);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_ClampCylinder_Work
,
IO_Type
.
SL_ClampCylinder_Relax
);
break
;
break
;
case
LineMoveStep
.
FR_15_TopDown
:
case
LineMoveStep
.
FR_15_TopDown
:
RFIDData
data
=
RFIDManager
.
GetShelfId
(
DeviceID
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_16_BatchAxisToP1
);
if
(
data
.
Num
>
0
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_16_WaitLocationCheck
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":定位工位读取到料串 "
+
data
.
NumStr
()
+
" , 等待定位工位检测信号亮"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
}
//判断定位工位是否有料架
//判断定位工位是否有料架
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
else
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_17_BatchAxisToP1
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":定位工位有料架,提升伺服不需要到P1"
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":定位工位有料架,提升伺服不需要到P1"
);
}
}
else
else
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_17_BatchAxisToP1
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":定位工位无料架,提升伺服上升到P1点"
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":定位工位无料架,提升伺服上升到P1点"
);
BatchAxis
.
AbsMove
(
MoveInfo
,
Config
.
BatchAxisP1
,
Config
.
BatchAxis_P1Speed
);
BatchAxis
.
AbsMove
(
MoveInfo
,
Config
.
BatchAxisP1
,
Config
.
BatchAxis_P1Speed
);
}
}
break
;
break
;
case
LineMoveStep
.
FR_16_BatchAxisToP1
:
case
LineMoveStep
.
FR_16_WaitLocationCheck
:
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_17_ClampCheck
);
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_17_BatchAxisToP1
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":定位工位有料架,提升伺服不需要到P1"
);
}
else
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_16_WaitLocationCheck
);
LogInfo
(
MoveInfo
.
MoveType
+
":"
+
MoveInfo
.
SLog
+
":定位工位读取到料串 , 等待定位工位检测信号亮"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
}
break
;
case
LineMoveStep
.
FR_17_BatchAxisToP1
:
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FR_18_ClampCheck
);
DebugInfo
(
MoveInfo
.
MoveType
+
" : 等待夹爪料盘检测信号无料"
);
DebugInfo
(
MoveInfo
.
MoveType
+
" : 等待夹爪料盘检测信号无料"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_ClampCylinder_Check
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_ClampCylinder_Check
,
IO_VALUE
.
LOW
));
break
;
break
;
case
LineMoveStep
.
FR_1
7
_ClampCheck
:
case
LineMoveStep
.
FR_1
8
_ClampCheck
:
LogInfo
(
"重置完成!"
);
LogInfo
(
"重置完成!"
);
MoveEndS
();
MoveEndS
();
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
查看文件 @
51520b6
...
@@ -103,50 +103,71 @@ namespace OnlineStore.DeviceLibrary
...
@@ -103,50 +103,71 @@ namespace OnlineStore.DeviceLibrary
}
}
public
override
bool
StartInStoreMove
(
InOutParam
param
)
public
override
bool
StartInStoreMove
(
InOutParam
param
)
{
{
runStatus
=
LineRunStatus
.
Busy
;
runStatus
=
LineRunStatus
.
Busy
;
MoveInfo
.
NewMove
(
LineMoveType
.
InStore
);
MoveInfo
.
NewMove
(
LineMoveType
.
InStore
);
MoveInfo
.
MoveParam
=
new
InOutParam
();
MoveInfo
.
MoveParam
=
new
InOutParam
();
RFIDData
data
=
RFIDManager
.
GetShelfId
(
DeviceID
);
//判断是哪个工位有料架
//判断是哪个工位有料架
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
)
)
if
(
data
.
Num
>
0
)
{
{
FI_04_WaitTime
();
InLog
(
"定位工位读取到料串"
+
data
.
NumStr
()
+
" , 等待定位工位检测信号亮"
);
FI_06_WaitTime
(
true
);
}
}
else
else
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
FI_06_WaitTime
();
}
else
{
if
(
IsTrayLCylinderAfter
())
if
(
IsTrayLCylinderAfter
())
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_02_TrayLocation_After
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_02_TrayLocation_After
);
InLog
(
"检测到料架, "
+
MoveInfo
.
MoveStep
+
" :升降盘定位气缸下降"
);
InLog
(
"检测到料架, "
+
MoveInfo
.
MoveStep
+
" :升降盘定位气缸下降"
);
TrayLCylinderAfter
(
MoveInfo
);
TrayLCylinderAfter
(
MoveInfo
);
}
else
}
else
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_01_BatchAxisToP2
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_01_BatchAxisToP2
);
OutLog
(
"检测到料架,升降盘不在后退端 "
+
MoveInfo
.
SLog
+
" :提升伺服先回到P2"
);
OutLog
(
"检测到料架,升降盘不在后退端 "
+
MoveInfo
.
SLog
+
" :提升伺服先回到P2"
);
BatchAxis
.
AbsMove
(
MoveInfo
,
Config
.
BatchAxisP2
,
Config
.
BatchAxis_P2Speed
);
BatchAxis
.
AbsMove
(
MoveInfo
,
Config
.
BatchAxisP2
,
Config
.
BatchAxis_P2Speed
);
}
}
}
}
return
true
;
return
true
;
}
}
private
void
FI_0
4_WaitTime
(
)
private
void
FI_0
6_WaitTime
(
bool
needWaitCheck
=
false
)
{
{
//定位工位有料架,等待1秒后再次检测
//定位工位有料架,等待1秒后再次检测
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_06_WaitTime
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_06_WaitTime
);
InLog
(
"定位工位检测到料架: "
+
MoveInfo
.
SLog
+
",进料阻挡上升,缓冲阻挡上升, 等待3秒再次检测"
);
if
(
needWaitCheck
)
{
InLog
(
"定位工位读取到料串: "
+
MoveInfo
.
SLog
+
",进料阻挡上升,缓冲阻挡上升, 等待定位工位信号"
);
}
else
{
InLog
(
"定位工位检测到料架: "
+
MoveInfo
.
SLog
+
",进料阻挡上升,缓冲阻挡上升, 等待3秒再次检测"
);
}
IOMove
(
IO_Type
.
SL_Entry_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_Entry_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_Buffer_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_Buffer_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
if
(
needWaitCheck
)
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
}
}
}
private
void
LineInStoreProcess
()
private
void
LineInStoreProcess
()
{
{
//判断是哪个工位有料架
RFIDData
data
=
RFIDManager
.
GetShelfId
(
DeviceID
);
//判断是哪个工位有料架
if
(
data
.
Num
>
0
)
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
InLog
(
"定位工位读取到料串 "
+
data
.
NumStr
()
+
" , 等待定位工位检测信号亮"
);
FI_06_WaitTime
(
true
);
}
else
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
FI_0
4
_WaitTime
();
FI_0
6
_WaitTime
();
}
}
//阻挡工位有料架,流水线转动一个工位
//阻挡工位有料架,流水线转动一个工位
else
if
(
IOValue
(
IO_Type
.
SL_Stop_Check
).
Equals
(
IO_VALUE
.
HIGH
))
else
if
(
IOValue
(
IO_Type
.
SL_Stop_Check
).
Equals
(
IO_VALUE
.
HIGH
))
...
@@ -162,7 +183,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -162,7 +183,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
));
}
else
if
(
IOValue
(
IO_Type
.
SL_Entry_Check
).
Equals
(
IO_VALUE
.
HIGH
))
}
else
if
(
IOValue
(
IO_Type
.
SL_Entry_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_05_LineStart
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_05_LineStart
);
InLog
(
"入料检测: "
+
MoveInfo
.
SLog
+
" 进料口有新料架,进料阻挡上升,缓冲阻挡前进1000,流水线转动 1000"
);
InLog
(
"入料检测: "
+
MoveInfo
.
SLog
+
" 进料口有新料架,进料阻挡上升,缓冲阻挡前进1000,流水线转动 1000"
);
...
@@ -633,10 +655,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -633,10 +655,12 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_60_LineStop
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_60_LineStop
))
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_61_TopDown
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_61_TopDown
);
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 料架到达出口,顶升气缸下降 ,清理
缓存料架RFID
"
);
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 料架到达出口,顶升气缸下降 ,清理
料架号,清理RFID缓存
"
);
UpdateLastShelfID
();
UpdateLastShelfID
();
TopCylinderDown
(
MoveInfo
);
TopCylinderDown
(
MoveInfo
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
//清理RFID
RFIDManager
.
ClearTrayNum
(
DeviceID
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_61_TopDown
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_61_TopDown
))
{
{
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
查看文件 @
51520b6
...
@@ -157,9 +157,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -157,9 +157,16 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NewMove
(
LineMoveType
.
OutStore
);
MoveInfo
.
NewMove
(
LineMoveType
.
OutStore
);
MoveInfo
.
MoveParam
=
new
InOutParam
();
MoveInfo
.
MoveParam
=
new
InOutParam
();
taskData
=
null
;
taskData
=
null
;
RFIDData
data
=
RFIDManager
.
GetShelfId
(
DeviceID
);
//判断是哪个工位有料架
if
(
data
.
Num
>
0
&&
IsTrayLCylinderAfter
())
{
OutLog
(
"定位工位读取到料串 "
+
data
.
NumStr
()
+
" , 等待定位工位检测信号亮"
);
FI_06_WaitTime
(
true
);
}
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IsTrayLCylinderAfter
())
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IsTrayLCylinderAfter
())
{
{
FO_0
4
_WaitTime
();
FO_0
6
_WaitTime
();
}
}
else
else
{
{
...
@@ -179,26 +186,42 @@ namespace OnlineStore.DeviceLibrary
...
@@ -179,26 +186,42 @@ namespace OnlineStore.DeviceLibrary
}
}
return
true
;
return
true
;
}
}
private
void
FO_0
4_WaitTime
(
)
private
void
FO_0
6_WaitTime
(
bool
needWaitCheck
=
false
)
{
{
//定位工位有料架,等待1秒后再次检测
//定位工位有料架,等待1秒后再次检测
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_06_WaitTime
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_06_WaitTime
);
OutLog
(
"准备出库料架 "
+
MoveInfo
.
SLog
+
"定位工位检测到料架:进料阻挡上升, 等待3秒再次检测"
);
if
(
needWaitCheck
)
{
OutLog
(
"定位工位读取到料串: "
+
MoveInfo
.
SLog
+
",进料阻挡上升,缓冲阻挡上升, 等待定位工位信号"
);
}
else
{
OutLog
(
"准备出库料架 "
+
MoveInfo
.
SLog
+
"定位工位检测到料架:进料阻挡上升, 等待3秒再次检测"
);
}
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_Buffer_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_Buffer_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_Entry_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
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_Buffer_StopDown, IO_VALUE.LOW));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
if
(
needWaitCheck
)
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
}
}
}
private
void
LineOutStoreProcess
()
private
void
LineOutStoreProcess
()
{
{
//判断是哪个工位有料架
//判断是哪个工位有料架
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
RFIDData
data
=
RFIDManager
.
GetShelfId
(
DeviceID
);
if
(
data
.
Num
>
0
)
{
OutLog
(
"定位工位读取到料串 "
+
data
.
NumStr
()
+
" , 等待定位工位检测信号亮"
);
FI_06_WaitTime
(
true
);
}
else
if
(
IOValue
(
IO_Type
.
SL_Location_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
FO_0
4
_WaitTime
();
FO_0
6
_WaitTime
();
}
}
//阻挡工位有料架,流水线转动一个工位
//阻挡工位有料架,流水线转动一个工位
else
if
(
IOValue
(
IO_Type
.
SL_Stop_Check
).
Equals
(
IO_VALUE
.
HIGH
))
else
if
(
IOValue
(
IO_Type
.
SL_Stop_Check
).
Equals
(
IO_VALUE
.
HIGH
))
...
@@ -493,11 +516,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -493,11 +516,13 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_60_LineStop
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_60_LineStop
))
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_61_TopDown
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_61_TopDown
);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 料架到达出口,顶升气缸下降 ,清空LastOutParam,清理
缓存料架RFID
"
);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 料架到达出口,顶升气缸下降 ,清空LastOutParam,清理
料架号,清理RFID缓存
"
);
UpdateLastShelfID
();
UpdateLastShelfID
();
TopCylinderDown
(
MoveInfo
);
TopCylinderDown
(
MoveInfo
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
LastOutParam
=
new
InOutParam
();
LastOutParam
=
new
InOutParam
();
//清理RFID
RFIDManager
.
ClearTrayNum
(
DeviceID
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_61_TopDown
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_61_TopDown
))
{
{
...
...
source/DeviceLibrary/model/StoreStep.cs
查看文件 @
51520b6
...
@@ -419,17 +419,21 @@ namespace OnlineStore.DeviceLibrary
...
@@ -419,17 +419,21 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
///上料模块复位: 顶升气缸下降
///上料模块复位: 顶升气缸下降
/// </summary>
/// </summary>
FR_15_TopDown
,
FR_15_TopDown
,
/// <summary>
/// 上料模块复位:RFID读取到料架,检测定位工位信号
/// </summary>
FR_16_WaitLocationCheck
,
/// <summary>
/// <summary>
/// 上料模块复位:提升伺服在上升到P1点
/// 上料模块复位:提升伺服在上升到P1点
/// </summary>
/// </summary>
FR_1
6
_BatchAxisToP1
,
FR_1
7
_BatchAxisToP1
,
/// <summary>
/// <summary>
/// 上料模块复位:检测夹爪料盘检测信号无料
/// 上料模块复位:检测夹爪料盘检测信号无料
/// </summary>
/// </summary>
FR_1
7
_ClampCheck
,
FR_1
8
_ClampCheck
,
#
endregion
#
endregion
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论