Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c772f357
由
LN
编写于
2020-12-17 18:40:36 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
入料bug修改
1 个父辈
f2ec5305
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
233 行增加
和
210 行删除
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
source/DeviceLibrary/assemblyLine/HY/HY_C1_SLStation.cs
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
source/DeviceLibrary/assemblyLine/LineBean_T3-C1.cs
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
查看文件 @
c772f35
...
...
@@ -27,7 +27,14 @@ namespace OnlineStore.DeviceLibrary
baseConfig
=
config
;
this
.
Config
=
config
;
IsDebug
=
config
.
IsDebug
.
Equals
(
1
);
Name
=
(
" "
+
"入料T"
+
DeviceID
%
100
+
" "
).
ToUpper
();
if
(
config
.
IsCanOut
.
Equals
(
1
))
{
Name
=
(
" "
+
"出料T"
+
DeviceID
%
100
+
" "
).
ToUpper
();
}
else
{
Name
=
(
" "
+
"入料T"
+
DeviceID
%
100
+
" "
).
ToUpper
();
}
Init
();
UseAxis
=
true
;
...
...
source/DeviceLibrary/assemblyLine/HY/HY_C1_SLStation.cs
查看文件 @
c772f35
...
...
@@ -280,7 +280,7 @@ namespace OnlineStore.DeviceLibrary
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY02_FrontStopDown
))
{
if
(
IOValue
(
IO_Type
.
HY_FrontStopCheck
).
Equals
(
IO_VALUE
.
LOW
)||
IOValue
(
IO_Type
.
HY_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
HY_FrontStopCheck
).
Equals
(
IO_VALUE
.
LOW
)
||
IOValue
(
IO_Type
.
HY_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY03_FrontStopUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 托盘检测到信号,前阻挡上升"
);
...
...
@@ -295,23 +295,27 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_FrontStopCheck=HIGH 或 HY_TrayCheck=LOW 结束处理 "
);
MoveInfo
.
EndMove
();
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY03_FrontStopUp
))
{
if
(
IOValue
(
IO_Type
.
HY_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY04_WaitTime
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 再次等待托盘信号"
);
MoveInfo
.
OneWaitCanEndStep
=
true
;
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
30000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY03_FrontStopUp
))
else
{
if
(
IOValue
(
IO_Type
.
HY_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY04_WaitTime
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 再次等待托盘信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_TrayCheck=LOW 结束处理 "
);
MoveInfo
.
EndMove
();
}
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_TrayCheck=LOW 结束处理 "
);
MoveInfo
.
EndMove
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY04_WaitTime
))
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY04_WaitTime
))
{
if
(
IOValue
(
IO_Type
.
HY_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
//更新托盘号
UpdateTrayNum
();
...
...
@@ -329,234 +333,241 @@ namespace OnlineStore.DeviceLibrary
{
HY11_TopUpToHY
();
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY06_SL_TopUp
))
else
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY07_SL_LocationUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 需要拦截托盘,定位上升
"
);
LocationCylinderUp
(
MoveInfo
);
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_TrayCheck=LOW 结束处理
"
);
MoveInfo
.
EndMove
(
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY07_SL_LocationUp
))
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY06_SL_TopUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY07_SL_LocationUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 需要拦截托盘,定位上升"
);
LocationCylinderUp
(
MoveInfo
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY07_SL_LocationUp
))
{
if
(
TrayNeedSL
(
currTrayNum
))
{
if
(
TrayNeedSL
(
currTrayNum
))
FeedingEquip
feed
=
LineManager
.
Line
.
FeedingEquipMap
[
Config
.
WorkDeviceId
];
if
(
feed
.
Config
.
IsCanOut
.
Equals
(
1
))
{
FeedingEquip
feed
=
LineManager
.
Line
.
FeedingEquipMap
[
Config
.
WorkDeviceId
];
if
(
feed
.
Config
.
IsCanOut
.
Equals
(
1
))
//紧急出料
if
(
feed
.
StartTrayOut
(
MoveInfo
.
MoveParam
))
{
//紧急出料
if
(
feed
.
StartTrayOut
(
MoveInfo
.
MoveParam
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY08_SL_WaitProcessReel
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" "
+
feed
.
Name
+
"始抓料,等待料盘放入或料盘离开 "
);
}
else
if
(
MoveInfo
.
IsTimeOut
(
30
))
{
MoveTimeOut
(
MoveInfo
,
"等待"
+
feed
.
Name
+
"开始出库超时"
);
//如果当前无料串,或者料串已离开,直接放行 托盘
TrayCanLeave
();
}
else
if
(
MoveInfo
.
IsTimeOut
(
20
))
{
MoveTimeOut
(
MoveInfo
,
"等待"
+
feed
.
Name
+
"开始出库超时"
);
}
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY08_SL_WaitProcessReel
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" "
+
feed
.
Name
+
"始抓料,等待料盘放入或料盘离开 "
);
}
else
else
if
(
MoveInfo
.
IsTimeOut
(
30
))
{
//如果是出库,且盘高大于30,暂不顶升
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY08_SL_WaitProcessReel
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待料盘放入或料盘离开 "
);
MoveTimeOut
(
MoveInfo
,
"等待"
+
feed
.
Name
+
"开始出库超时"
);
//如果当前无料串,或者料串已离开,直接放行 托盘
TrayCanLeave
();
}
else
if
(
MoveInfo
.
IsTimeOut
(
20
))
{
MoveTimeOut
(
MoveInfo
,
"等待"
+
feed
.
Name
+
"开始出库超时"
);
}
}
else
{
HY11_TopUpToHY
();
//如果是出库,且盘高大于30,暂不顶升
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY08_SL_WaitProcessReel
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待料盘放入或料盘离开 "
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY09_SL_ReelProEnd
))
else
{
HY11_TopUpToHY
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY11_TopUpToHY
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY12_WaitHY2Free
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,等待HY"
+
HyOutDeviceId
+
"空闲,可以开始横移 "
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY12_WaitHY2Free
))
{
HYEquipBase
hyOut
=
GetHyOutEquip
();
if
(
hyOut
.
CanStartMove
())
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY13_WaitHY2Ready
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,等待"
+
hyOut
.
Name
+
"准备完成(顶升上升,定位下降) "
);
hyOut
.
MoveInfo
.
NewMove
(
LineMoveType
.
Fixture
);
hyOut
.
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY51_WaitFree
);
ClearTimeoutAlarm
(
"等待"
+
hyOut
.
Name
+
"可以横移超时"
);
}
else
if
(
MoveInfo
.
IsTimeOut
())
{
MoveTimeOut
(
MoveInfo
,
"等待"
+
hyOut
.
Name
+
"可以横移超时"
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY13_WaitHY2Ready
))
{
HYEquipBase
hyOut
=
GetHyOutEquip
();
bool
result
=
hyOut
.
MoveInfo
.
MoveStep
>=
LineMoveStep
.
HY54_HY2Ready
;
if
(
result
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY14_HYLineRun
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,横移电机转动 "
);
LineRun
(
MoveInfo
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
LOW
));
ClearTimeoutAlarm
(
"等待"
+
hyOut
+
"顶升上升完成超时"
);
}
else
if
(
MoveInfo
.
IsTimeOut
())
{
MoveTimeOut
(
MoveInfo
,
"等待"
+
hyOut
+
"顶升上升完成超时"
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY14_HYLineRun
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY15_WaitOutCheck
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,等待托盘到达HY"
+
HyOutDeviceId
+
" "
);
LineRun
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY15_WaitOutCheck
))
{
HYEquipBase
hyOut
=
GetHyOutEquip
();
bool
result
=
(
hyOut
.
MoveInfo
.
MoveStep
>=
LineMoveStep
.
HY56_CheckWait
)
||
hyOut
.
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
);
if
(
result
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY17_TopDown
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,横移电机停止,顶升下降,定位下降 "
);
LineStop
(
MoveInfo
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
LocationCylinderDown
(
MoveInfo
);
ClearTimeoutAlarm
(
"等待托盘到达"
+
hyOut
.
Name
+
""
);
}
else
if
(
MoveInfo
.
IsTimeOut
())
{
MoveTimeOut
(
MoveInfo
,
"等待托盘到达"
+
hyOut
.
Name
+
""
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY17_TopDown
))
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY09_SL_ReelProEnd
))
{
HY11_TopUpToHY
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY11_TopUpToHY
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY12_WaitHY2Free
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,等待HY"
+
HyOutDeviceId
+
"空闲,可以开始横移 "
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY12_WaitHY2Free
))
{
HYEquipBase
hyOut
=
GetHyOutEquip
();
if
(
hyOut
.
CanStartMove
())
{
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,结束横移处理 "
);
MoveInfo
.
EndMove
();
runStatus
=
LineRunStatus
.
Runing
;
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY13_WaitHY2Ready
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,等待"
+
hyOut
.
Name
+
"准备完成(顶升上升,定位下降) "
);
hyOut
.
MoveInfo
.
NewMove
(
LineMoveType
.
Fixture
);
hyOut
.
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY51_WaitFree
);
ClearTimeoutAlarm
(
"等待"
+
hyOut
.
Name
+
"可以横移超时"
);
}
#
endregion
#
region
横移出口托盘处理
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY51_WaitFree
))
else
if
(
MoveInfo
.
IsTimeOut
())
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY52_TopUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升上升,定位下降"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
LocationCylinderDown
(
MoveInfo
);
MoveTimeOut
(
MoveInfo
,
"等待"
+
hyOut
.
Name
+
"可以横移超时"
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY52_TopUp
))
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY13_WaitHY2Ready
))
{
HYEquipBase
hyOut
=
GetHyOutEquip
();
bool
result
=
hyOut
.
MoveInfo
.
MoveStep
>=
LineMoveStep
.
HY54_HY2Ready
;
if
(
result
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY
53_
LineRun
);
CheckLog
(
"托盘
阻挡"
+
MoveInfo
.
SLog
+
" 横移电机开始转动
"
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY
14_HY
LineRun
);
CheckLog
(
"托盘
横移"
+
MoveInfo
.
SLog
+
" ,横移电机转动
"
);
LineRun
(
MoveInfo
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
LOW
));
ClearTimeoutAlarm
(
"等待"
+
hyOut
+
"顶升上升完成超时"
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY53_LineRun
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY54_HY2Ready
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 准备接收横移托盘完成"
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY54_HY2Ready
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY55_WaitTrayCheck
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待检测到托盘信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY55_WaitTrayCheck
))
else
if
(
MoveInfo
.
IsTimeOut
())
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY56_CheckWait
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 再次等待托盘信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
MoveTimeOut
(
MoveInfo
,
"等待"
+
hyOut
+
"顶升上升完成超时"
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY56_CheckWait
))
{
//托盘已到位,更新托盘号,判断是否需要取放料
UpdateTrayNum
();
if
(
TrayNeedSL
(
currTrayNum
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY57_SL_TopUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升上升,横移电机停止 "
);
LineStop
(
MoveInfo
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
}
else
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY61_TopDown
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升下降,横移电机停止 "
);
LineStop
(
MoveInfo
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY57_SL_TopUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY58_SL_LocationUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 是出入库需要的空托盘,定位上升"
);
LocationCylinderUp
(
MoveInfo
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY58_SL_LocationUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY59_SL_WaitProcessReel
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待料盘放入或料盘离开"
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY59_SL_WaitProcessReel
))
{
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY60_SL_ReelProEnd
))
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY14_HYLineRun
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY15_WaitOutCheck
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,等待托盘到达HY"
+
HyOutDeviceId
+
" "
);
LineRun
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY15_WaitOutCheck
))
{
HYEquipBase
hyOut
=
GetHyOutEquip
();
bool
result
=
(
hyOut
.
MoveInfo
.
MoveStep
>=
LineMoveStep
.
HY56_CheckWait
)
||
hyOut
.
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
);
if
(
result
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY61_TopDown
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升下降 "
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY17_TopDown
);
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,横移电机停止,顶升下降,定位下降 "
);
LineStop
(
MoveInfo
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY61_TopDown
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY62_LocationDown
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 定位下降"
);
LocationCylinderDown
(
MoveInfo
);
ClearTimeoutAlarm
(
"等待托盘到达"
+
hyOut
.
Name
+
""
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY62_LocationDown
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY63_WaitTrayGo
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待托盘检测信号消失"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
LOW
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY63_WaitTrayGo
))
else
if
(
MoveInfo
.
IsTimeOut
())
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY64_CheckWait
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待托盘检测信号消失500"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
LOW
));
MoveTimeOut
(
MoveInfo
,
"等待托盘到达"
+
hyOut
.
Name
+
""
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY64_CheckWait
))
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY17_TopDown
))
{
CheckLog
(
"托盘横移"
+
MoveInfo
.
SLog
+
" ,结束横移处理 "
);
MoveInfo
.
EndMove
();
runStatus
=
LineRunStatus
.
Runing
;
}
#
endregion
#
region
横移出口托盘处理
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY51_WaitFree
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY52_TopUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升上升,定位下降"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
LocationCylinderDown
(
MoveInfo
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY52_TopUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY53_LineRun
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 横移电机开始转动"
);
LineRun
(
MoveInfo
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY53_LineRun
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY54_HY2Ready
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 准备接收横移托盘完成"
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY54_HY2Ready
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY55_WaitTrayCheck
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待检测到托盘信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY55_WaitTrayCheck
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY56_CheckWait
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 再次等待托盘信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY56_CheckWait
))
{
//托盘已到位,更新托盘号,判断是否需要取放料
UpdateTrayNum
();
if
(
TrayNeedSL
(
currTrayNum
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY65_TopUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升提前上升"
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY57_SL_TopUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升上升,横移电机停止 "
);
LineStop
(
MoveInfo
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY65_TopUp
))
{
MoveInfo
.
EndMove
();
runStatus
=
LineRunStatus
.
Runing
;
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 处理完成"
);
}
else
{
LogUtil
.
error
(
Name
+
"FixtureProcess 未找到["
+
MoveInfo
.
MoveType
+
"]["
+
MoveInfo
.
MoveStep
+
"]的处理"
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY61_TopDown
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升下降,横移电机停止 "
);
LineStop
(
MoveInfo
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY57_SL_TopUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY58_SL_LocationUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 是出入库需要的空托盘,定位上升"
);
LocationCylinderUp
(
MoveInfo
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY58_SL_LocationUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY59_SL_WaitProcessReel
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待料盘放入或料盘离开"
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY59_SL_WaitProcessReel
))
{
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY60_SL_ReelProEnd
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY61_TopDown
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升下降 "
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY61_TopDown
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY62_LocationDown
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 定位下降"
);
LocationCylinderDown
(
MoveInfo
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY62_LocationDown
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY63_WaitTrayGo
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待托盘检测信号消失"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
LOW
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY63_WaitTrayGo
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY64_CheckWait
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 等待托盘检测信号消失500"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
LOW
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY64_CheckWait
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY65_TopUp
);
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 顶升提前上升"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
HY_TopCylinder_Down
,
IO_Type
.
HY_TopCylinder_Up
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY65_TopUp
))
{
MoveInfo
.
EndMove
();
runStatus
=
LineRunStatus
.
Runing
;
CheckLog
(
"托盘阻挡"
+
MoveInfo
.
SLog
+
" 处理完成"
);
}
else
{
LogUtil
.
error
(
Name
+
"FixtureProcess 未找到["
+
MoveInfo
.
MoveType
+
"]["
+
MoveInfo
.
MoveStep
+
"]的处理"
);
}
#
endregion
}
...
...
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
查看文件 @
c772f35
...
...
@@ -567,6 +567,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
logName
+
"送料,接驳台有料,调用arriveRobotLocation="
+
robotIndex
+
"["
+
code
+
"]"
);
string
msg
=
SServerManager
.
arriveRobotLocation
(
Name
,
robotIndex
,
code
);
MoveInfo
.
EndMove
();
runStatus
=
LineRunStatus
.
Runing
;
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
JM_16_ReelArrive
))
{
...
...
@@ -580,6 +581,7 @@ namespace OnlineStore.DeviceLibrary
{
ClearTimeoutAlarm
(
"给服务器发送afterPutCutTask完成"
);
MoveInfo
.
EndMove
();
runStatus
=
LineRunStatus
.
Runing
;
OutLog
(
logName
+
MoveInfo
.
SLog
+
":结束 "
);
}
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
...
...
source/DeviceLibrary/assemblyLine/LineBean_T3-C1.cs
查看文件 @
c772f35
...
...
@@ -244,9 +244,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
T3C1_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_14_TopDown
);
T3C1_Log
(
"托盘检测"
+
T3C1_MoveInfo
.
SLog
+
" ,托盘号【"
+
T3C1_TrayNum
+
"】,直接放盘通过,顶升气缸下降 "
);
CylinderMove
(
T3C1_MoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
MO_14_TopDown
();
}
}
...
...
@@ -288,7 +286,12 @@ namespace OnlineStore.DeviceLibrary
}
#
endregion
}
private
void
MO_14_TopDown
()
{
T3C1_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_14_TopDown
);
T3C1_Log
(
"托盘检测"
+
T3C1_MoveInfo
.
SLog
+
" ,托盘号【"
+
T3C1_TrayNum
+
"】,直接放盘通过,顶升气缸下降 "
);
CylinderMove
(
T3C1_MoveInfo
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
}
private
void
MO_16_Stop2Down
()
{
T3C1_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_16_Stop2Down
);
...
...
@@ -342,7 +345,7 @@ namespace OnlineStore.DeviceLibrary
}
if
(
T3C1TrayIsReady
())
{
MO_1
6_Stop2
Down
();
MO_1
4_Top
Down
();
}
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论