Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e24b6592
由
LN
编写于
2022-12-05 19:03:05 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
托盘处理优化
1 个父辈
efbfdf1d
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
97 行增加
和
20 行删除
source/DeviceLibrary/assemblyLine/HY/HY_C1Line.cs
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
source/DeviceLibrary/assemblyLine/HY/HY_C1Line.cs
查看文件 @
e24b659
...
...
@@ -263,6 +263,7 @@ namespace OnlineStore.DeviceLibrary
bool
check2IsOk
=
CheckStopWatch
(
trayCheckLowWait
,
TrayWaitTime
,
false
)||
String
.
IsNullOrEmpty
(
RFIDIP
);
if
(
preTrayIsC1Line
&&
Config
.
IsOutLineOut
&&
IOValue
(
IO_Type
.
HY_OL_Tray_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
StopDownCount
=
0
;
//C1线和出料线交替处理
HY71_OL_Wait
();
}
...
...
@@ -270,7 +271,8 @@ namespace OnlineStore.DeviceLibrary
{
if
(
CheckStopWatch
(
frontTrayCheckWait
,
TrayWaitTime
,
false
)
&&
check2IsOk
)
{
preTrayIsC1Line
=
true
;
StopDownCount
=
0
;
preTrayIsC1Line
=
true
;
//托盘在前阻挡处
frontTrayCheckWait
.
Stop
();
trayCheckLowWait
.
Stop
();
...
...
@@ -347,6 +349,39 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
30000
));
}
private
int
StopDownCount
=
0
;
private
void
EndOrReStopDown
(
string
msg
)
{
if
(
StopDownCount
==
0
)
{
LogInfo
(
SecondMoveInfo
.
SLog
+
msg
+
",暂不结束,重新下降一次前阻挡"
);
//阻挡重新下降一次
StopDownCount
++;
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
HY02_FrontStopDown
);
if
(
DeviceID
.
Equals
(
219
))
{
LogInfo
(
" 托盘检测:"
+
MoveInfo
.
SLog
+
",检测到前阻挡托盘,前阻挡下降"
);
}
else
{
CheckLog
(
" 托盘检测:"
+
MoveInfo
.
SLog
+
",检测到前阻挡托盘,前阻挡下降"
);
}
ClearTrayRFID
();
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
HIGH
,
TrayManager
.
StopDTime
);
MoveInfo
.
OneWaitCanEndStep
=
true
;
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStopCheck
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
CylinderMove
(
null
,
IO_Type
.
HY_TopCylinder_Up
,
IO_Type
.
HY_TopCylinder_Down
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
20000
));
IOMove
(
IO_Type
.
HY_OL_StopDown
,
IO_VALUE
.
LOW
);
}
else
{
LogInfo
(
MoveInfo
.
SLog
+
msg
);
MoveEndS
();
}
}
protected
override
void
FixtureProcess
()
{
if
(
MoveInfo
.
IsInWait
)
...
...
@@ -367,9 +402,10 @@ namespace OnlineStore.DeviceLibrary
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 "
);
MoveEndS
();
EndOrReStopDown
(
"未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 "
);
////未检测到信号或阻挡下降失败,结束处理
//LogInfo(MoveInfo.SLog + "未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 ");
//MoveEndS();
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY03_FrontStopUp
))
...
...
@@ -384,9 +420,10 @@ namespace OnlineStore.DeviceLibrary
}
else
{
EndOrReStopDown
(
"未等到信号 HY_TrayCheck=HIGH 结束处理 "
);
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_TrayCheck=HIGH 结束处理 "
);
MoveEndS
();
//
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 ");
//
MoveEndS();
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY04_WaitTime
))
...
...
@@ -401,9 +438,10 @@ namespace OnlineStore.DeviceLibrary
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_TrayCheck=HIGH 结束处理 "
);
MoveEndS
();
EndOrReStopDown
(
"未等到信号 HY_TrayCheck=HIGH 结束处理 "
);
////未检测到信号或阻挡下降失败,结束处理
//LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 ");
//MoveEndS();
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
HY05_TrayCheck
))
...
...
@@ -436,9 +474,10 @@ namespace OnlineStore.DeviceLibrary
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
MoveInfo
.
SLog
+
"未等到信号 HY_TrayCheck=LOW 结束处理 "
);
MoveEndS
();
EndOrReStopDown
(
"未等到信号 HY_TrayCheck=HIGH 结束处理 "
);
////未检测到信号或阻挡下降失败,结束处理
//LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 ");
//MoveEndS();
}
}
#
endregion
...
...
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
查看文件 @
e24b659
...
...
@@ -537,9 +537,16 @@ namespace OnlineStore.DeviceLibrary
runStatus
=
LineRunStatus
.
Busy
;
MoveInfo
.
NewMove
(
LineMoveType
.
OutStore
);
MoveInfo
.
MoveParam
=
param
;
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
JM_01_UpdownToP1
);
OutLog
(
"托盘移栽 升降气缸上升 "
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
//判断是否已在p1
if
(
UpdownAxis
.
IsInPosition
(
Config
.
UpDownAxisP1
))
{
JM_02_CylinderTake
();
}
else
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
JM_01_UpdownToP1
);
OutLog
(
"托盘移栽 升降气缸上升 "
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
}
return
true
;
}
else
...
...
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
查看文件 @
e24b659
...
...
@@ -821,6 +821,7 @@ namespace OnlineStore.DeviceLibrary
{
if
(
CheckStopWatch
(
trayCheckWait
,
TrayWaitTime
,
false
)
&&
check2IsOk
&&
canpro
)
{
StopDownCount
=
0
;
trayCheckWait
.
Stop
();
trayCheck2LowWait
.
Stop
();
//托盘在第一个阻挡处
...
...
@@ -858,6 +859,8 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
Name
+
" CheckFixture "
+
"失败,未得到锁"
);
}
}
private
int
StopDownCount
=
0
;
protected
override
void
FixtureProcess
()
{
if
(!
LineManager
.
Line
.
CanProcessLine
())
...
...
@@ -901,9 +904,11 @@ namespace OnlineStore.DeviceLibrary
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
SecondMoveInfo
.
SLog
+
"未等到信号 StopCheck2=HIGH,结束处理 "
);
SecondMoveInfo
.
EndMove
();
////未检测到信号或阻挡下降失败,结束处理
//LogInfo(SecondMoveInfo.SLog + "未等到信号 StopCheck2=HIGH,结束处理 ");
//SecondMoveInfo.EndMove();
EndOrReStopDown
(
"未等到信号 StopCheck2=HIGH,结束处理"
);
}
}
else
if
(
SecondMoveInfo
.
IsStep
(
LineMoveStep
.
MIO_03_StopUp
))
...
...
@@ -1091,8 +1096,34 @@ namespace OnlineStore.DeviceLibrary
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo
(
SecondMoveInfo
.
SLog
+
"未等到信号 StopCheck1=LOW,或 StopCheck2=HIGH,结束处理 "
);
EndOrReStopDown
(
"未等到信号 StopCheck1=LOW,或 StopCheck2=HIGH,结束处理"
);
////未检测到信号或阻挡下降失败,结束处理
//LogInfo(SecondMoveInfo.SLog + "未等到信号 StopCheck1=LOW,或 StopCheck2=HIGH,结束处理 ");
//SecondMoveInfo.EndMove();
}
}
private
void
EndOrReStopDown
(
string
msg
=
"未等到信号 StopCheck2=HIGH,结束处理"
)
{
if
(
StopDownCount
==
0
)
{
LogInfo
(
SecondMoveInfo
.
SLog
+
msg
+
",暂不结束,重新下降一次前阻挡"
);
//阻挡重新下降一次
StopDownCount
++;
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
CheckLog
(
" 托盘检测:料盘检测StopCylinder_Check1 "
+
SecondMoveInfo
.
SLog
+
"阻挡气缸1-1下降 , 等待 StopCylinder_Check1=0,清理托盘RFID"
);
ClearTrayRFID
();
IOMove
(
IO_Type
.
StopDown2
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
StopDown1
,
IO_VALUE
.
HIGH
,
TrayManager
.
StopDTime
);
SecondMoveInfo
.
OneWaitCanEndStep
=
true
;
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCheck1
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCheck2
,
IO_VALUE
.
HIGH
));
//最多等待30秒
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
30000
));
}
else
{
LogInfo
(
SecondMoveInfo
.
SLog
+
msg
);
SecondMoveInfo
.
EndMove
();
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论