Commit 0b9be71f LN

HY03卡托盘优化

1 个父辈 a4214149
...@@ -293,7 +293,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -293,7 +293,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
CylinderMove(null, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down); CylinderMove(null, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(20000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW); IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW);
} }
} }
...@@ -336,15 +336,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -336,15 +336,22 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_OL_Tray_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_OL_Tray_Check, IO_VALUE.HIGH));
} }
} }
internal void HY03_FrontStopUp(int timeout= 30000) internal void HY03_FrontStopUp(int timeout= 20000,bool frontStopUp=true)
{ {
frontTrayCheckWait.Stop(); frontTrayCheckWait.Stop();
trayCheckLowWait.Stop(); trayCheckLowWait.Stop();
MoveInfo.NewMove(LineMoveType.Fixture); MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy; runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY03_FrontStopUp); MoveInfo.NextMoveStep(LineMoveStep.HY03_FrontStopUp);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 托盘检测到信号,前阻挡上升"); if (frontStopUp)
CheckAndMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW); {
CheckLog("托盘阻挡" + MoveInfo.SLog + " 托盘检测到信号,前阻挡上升");
CheckAndMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW);
}
else
{
CheckLog("托盘阻挡" + MoveInfo.SLog + " 前阻挡检测信号灭,等待托盘检测信号");
}
MoveInfo.OneWaitCanEndStep = true; MoveInfo.OneWaitCanEndStep = true;
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(timeout)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(timeout));
...@@ -395,11 +402,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -395,11 +402,23 @@ namespace OnlineStore.DeviceLibrary
#region 托盘检测处理 #region 托盘检测处理
if (MoveInfo.IsStep(LineMoveStep.HY02_FrontStopDown)) 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 (MoveInfo.StepSpan().TotalSeconds < 1)
{
return;
}
if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
{ {
HY03_FrontStopUp(); HY03_FrontStopUp();
} }
if (IOValue(IO_Type.HY_FrontStopCheck).Equals(IO_VALUE.LOW))
{
//前检测信号灭,等待阻挡自动上升
HY03_FrontStopUp(20000,false);
}
else else
{ {
EndOrReStopDown("未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 "); EndOrReStopDown("未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=HIGH 结束处理 ");
......
...@@ -61,8 +61,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -61,8 +61,10 @@ namespace OnlineStore.DeviceLibrary
{ {
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue); instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue);
Thread.Sleep(100); Thread.Sleep(100);
if (!IOValue(ioType, subType).Equals(ioValue)) if (!instance.GetDOValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr()).Equals(ioValue))
{
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue); instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue);
}
} }
else else
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!