Commit e24b6592 LN

托盘处理优化

1 个父辈 efbfdf1d
...@@ -263,6 +263,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -263,6 +263,7 @@ namespace OnlineStore.DeviceLibrary
bool check2IsOk = CheckStopWatch(trayCheckLowWait, TrayWaitTime, false)||String.IsNullOrEmpty(RFIDIP); bool check2IsOk = CheckStopWatch(trayCheckLowWait, TrayWaitTime, false)||String.IsNullOrEmpty(RFIDIP);
if (preTrayIsC1Line && Config.IsOutLineOut && IOValue(IO_Type.HY_OL_Tray_Check).Equals(IO_VALUE.HIGH)) if (preTrayIsC1Line && Config.IsOutLineOut && IOValue(IO_Type.HY_OL_Tray_Check).Equals(IO_VALUE.HIGH))
{ {
StopDownCount = 0;
//C1线和出料线交替处理 //C1线和出料线交替处理
HY71_OL_Wait(); HY71_OL_Wait();
} }
...@@ -270,7 +271,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -270,7 +271,8 @@ namespace OnlineStore.DeviceLibrary
{ {
if (CheckStopWatch(frontTrayCheckWait, TrayWaitTime, false) && check2IsOk) if (CheckStopWatch(frontTrayCheckWait, TrayWaitTime, false) && check2IsOk)
{ {
preTrayIsC1Line = true; StopDownCount = 0;
preTrayIsC1Line = true;
//托盘在前阻挡处 //托盘在前阻挡处
frontTrayCheckWait.Stop(); frontTrayCheckWait.Stop();
trayCheckLowWait.Stop(); trayCheckLowWait.Stop();
...@@ -347,6 +349,39 @@ namespace OnlineStore.DeviceLibrary ...@@ -347,6 +349,39 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000)); 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() protected override void FixtureProcess()
{ {
if (MoveInfo.IsInWait) if (MoveInfo.IsInWait)
...@@ -367,9 +402,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -367,9 +402,10 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
//未检测到信号或阻挡下降失败,结束处理 EndOrReStopDown("未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 ");
LogInfo(MoveInfo.SLog + "未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 "); ////未检测到信号或阻挡下降失败,结束处理
MoveEndS(); //LogInfo(MoveInfo.SLog + "未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 ");
//MoveEndS();
} }
} }
else if (MoveInfo.IsStep(LineMoveStep.HY03_FrontStopUp)) else if (MoveInfo.IsStep(LineMoveStep.HY03_FrontStopUp))
...@@ -384,9 +420,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -384,9 +420,10 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
EndOrReStopDown("未等到信号 HY_TrayCheck=HIGH 结束处理 ");
//未检测到信号或阻挡下降失败,结束处理 //未检测到信号或阻挡下降失败,结束处理
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 "); //LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 ");
MoveEndS(); //MoveEndS();
} }
} }
else if (MoveInfo.IsStep(LineMoveStep.HY04_WaitTime)) else if (MoveInfo.IsStep(LineMoveStep.HY04_WaitTime))
...@@ -401,9 +438,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -401,9 +438,10 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
//未检测到信号或阻挡下降失败,结束处理 EndOrReStopDown("未等到信号 HY_TrayCheck=HIGH 结束处理 ");
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 "); ////未检测到信号或阻挡下降失败,结束处理
MoveEndS(); //LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 ");
//MoveEndS();
} }
} }
else if (MoveInfo.IsStep(LineMoveStep.HY05_TrayCheck)) else if (MoveInfo.IsStep(LineMoveStep.HY05_TrayCheck))
...@@ -436,9 +474,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -436,9 +474,10 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
//未检测到信号或阻挡下降失败,结束处理 EndOrReStopDown("未等到信号 HY_TrayCheck=HIGH 结束处理 ");
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 "); ////未检测到信号或阻挡下降失败,结束处理
MoveEndS(); //LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 ");
//MoveEndS();
} }
} }
#endregion #endregion
......
...@@ -537,9 +537,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -537,9 +537,16 @@ namespace OnlineStore.DeviceLibrary
runStatus = LineRunStatus.Busy; runStatus = LineRunStatus.Busy;
MoveInfo.NewMove(LineMoveType.OutStore); MoveInfo.NewMove(LineMoveType.OutStore);
MoveInfo.MoveParam = param; MoveInfo.MoveParam = param;
MoveInfo.NextMoveStep(LineMoveStep.JM_01_UpdownToP1); //判断是否已在p1
OutLog("托盘移栽 升降气缸上升 "); if (UpdownAxis.IsInPosition(Config.UpDownAxisP1))
UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed); {
JM_02_CylinderTake();
}
else {
MoveInfo.NextMoveStep(LineMoveStep.JM_01_UpdownToP1);
OutLog("托盘移栽 升降气缸上升 ");
UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed);
}
return true; return true;
} }
else else
......
...@@ -821,6 +821,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -821,6 +821,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (CheckStopWatch(trayCheckWait, TrayWaitTime, false) && check2IsOk && canpro) if (CheckStopWatch(trayCheckWait, TrayWaitTime, false) && check2IsOk && canpro)
{ {
StopDownCount = 0;
trayCheckWait.Stop(); trayCheckWait.Stop();
trayCheck2LowWait.Stop(); trayCheck2LowWait.Stop();
//托盘在第一个阻挡处 //托盘在第一个阻挡处
...@@ -858,6 +859,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -858,6 +859,8 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(Name + " CheckFixture " + "失败,未得到锁"); LogUtil.error(Name + " CheckFixture " + "失败,未得到锁");
} }
} }
private int StopDownCount = 0;
protected override void FixtureProcess() protected override void FixtureProcess()
{ {
if (!LineManager.Line.CanProcessLine()) if (!LineManager.Line.CanProcessLine())
...@@ -901,9 +904,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -901,9 +904,11 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
//未检测到信号或阻挡下降失败,结束处理 ////未检测到信号或阻挡下降失败,结束处理
LogInfo(SecondMoveInfo.SLog + "未等到信号 StopCheck2=HIGH,结束处理 "); //LogInfo(SecondMoveInfo.SLog + "未等到信号 StopCheck2=HIGH,结束处理 ");
SecondMoveInfo.EndMove(); //SecondMoveInfo.EndMove();
EndOrReStopDown("未等到信号 StopCheck2=HIGH,结束处理");
} }
} }
else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_03_StopUp)) else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_03_StopUp))
...@@ -1091,8 +1096,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -1091,8 +1096,34 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
//未检测到信号或阻挡下降失败,结束处理 EndOrReStopDown("未等到信号 StopCheck1=LOW,或 StopCheck2=HIGH,结束处理");
LogInfo(SecondMoveInfo.SLog + "未等到信号 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(); SecondMoveInfo.EndMove();
} }
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!