Commit c2039449 LN

出料托盘处理优化

1 个父辈 79b5a7b9
......@@ -679,9 +679,14 @@ namespace OnlineStore.DeviceLibrary
{
TrayManager.UpdateTrayNumError(-1, "");
}
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
//SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
//CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_Stop2Down);
CheckLog("托盘放行" + SecondMoveInfo.SLog + " ,阻挡气缸1-2下降)");
IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH));
}
}
catch (Exception ex)
......@@ -770,9 +775,13 @@ namespace OnlineStore.DeviceLibrary
#region 不需要出入库,直接放行
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_14_TopDown))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
//SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
//CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_Stop2Down);
CheckLog("托盘放行" + SecondMoveInfo.SLog + " ,阻挡气缸1-2下降)");
IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH));
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo))
......
......@@ -64,10 +64,10 @@ namespace OnlineStore.DeviceLibrary
else
{
bool check2Ok = TrayManager.checkWatch(trayCheck2LowWait, TrayManager.SwTrayWaitTime, false);
if (IOValue(IO_Type.StopCylinder_Check1).Equals(IO_VALUE.HIGH) && (DateTime.Now - lastStopDown).TotalSeconds > 3)
if (IOValue(IO_Type.StopCylinder_Check1).Equals(IO_VALUE.HIGH) )
{
bool canProcess = (LineManager.Line.SwNoProcess(Config.SidesWayNum));
if (TrayManager.checkWatch(trayCheckWait, TrayManager.SwTrayWaitTime, false) && check2Ok && canProcess)
if (TrayManager.checkWatch(trayCheckWait, TrayManager.SwTrayWaitTime, false) && (DateTime.Now - lastStopDown).TotalSeconds > 3 && check2Ok && canProcess)
{
trayCheckWait.Stop();
trayCheck2LowWait.Stop();
......@@ -426,14 +426,19 @@ namespace OnlineStore.DeviceLibrary
{
SecondMoveInfo.EndMove();
CheckLog("托盘放行 结束,触发 TrayPEndEvent ");
lastStopDown = DateTime.Now.AddSeconds(-1);
// lastStopDown = DateTime.Now.AddSeconds(-1);
this.TrayPEndEvent?.Invoke(Config.SidesWayNum, currTrayNum);
}
else
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
// lastStopDown = DateTime.Now.AddSeconds(1);
//SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
//CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_Stop2Down);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,阻挡2下降");
IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH));
}
}
......@@ -453,22 +458,24 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_17_Stop2Check))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_18_WaitTime);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " , 等待500ms后阻挡2上升");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " , 等待200ms后阻挡2上升");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.LOW));
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_18_WaitTime))
{
trayCheck2LowWait.Restart();
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_19_StopCylinder_Back);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " , 阻挡气缸2上升 ");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.LOW);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down2, IO_VALUE.LOW));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_19_StopCylinder_Back))
{
CheckLog("托盘放行 结束,触发 TrayPEndEvent ");
SecondMoveInfo.EndMove();
lastStopDown = DateTime.Now.AddSeconds(-1);
//lastStopDown = DateTime.Now.AddSeconds(-1);
this.TrayPEndEvent?.Invoke(Config.SidesWayNum, currTrayNum);
}
#endregion
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!