Commit 0f2c3e38 张东亮

修复右侧出工单料被送到二层问题

1 个父辈 dd4ffa24
......@@ -312,17 +312,18 @@ namespace OnlineStore.DeviceLibrary
bool noShelfRight = IOValue(IO_Type.R_RightStopCheck).Equals(IO_VALUE.LOW);
if (isRightUpdownDown && noShelfLeft && noShelfRight)
{
benQOutStep.Msg = "AGV已到达出料口, 打开链条,准备送出料架[" + agvClient_Dbline.A6_RFID + "]";
benQOutStep.ToNextStep(BenQ_OUT_STEP.SHELF_TO_UPDOWN);
benQOutStep.AddIoWait(IO_Type.R_StopCylinder2, IO_VALUE.HIGH);
benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH);
agvClient_Dbline.MayLeave("A6");
KeepLineRun(IO_Type.R_LineRun);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH);
KeepLineRun(IO_Type.R_LineRun);
CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW);
IOMove(IO_Type.R_OutLineRun, IO_VALUE.HIGH);
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.HIGH);
benQOutStep.Msg = "AGV已到达出料口, 打开链条,准备送出料架[" + agvClient_Dbline.A6_RFID + "]";
agvClient_Dbline.MayLeave("A6");
}
else
{
......@@ -348,12 +349,12 @@ namespace OnlineStore.DeviceLibrary
{
benQOutStep.ToNextStep(BenQ_OUT_STEP.SHELT_OUT);
benQOutStep.Msg = "料架[" + agvClient_Dbline.A6_RFID + "],到达升降机,停止右侧下层线体,继续送出";
benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.LOW,5000);
benQOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.LOW,5000);
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.R_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.LOW);
benQOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.LOW);
}
else if(benQOutStep.IsTimeOut(5000))
{
......@@ -372,7 +373,7 @@ namespace OnlineStore.DeviceLibrary
benQOutStep.Msg = "料架已经送到AGV, 清理RFID[" + agvClient_Dbline.A6_RFID + "],关闭链条";
agvClient_Dbline.A6_RFID = "";
benQOutStep.ToNextStep(BenQ_OUT_STEP.NONE);
//benQOutStep.AddTimeWait(50000);
benQOutStep.AddTimeWait(5000);
agvClient_Dbline.FinishLeave("A6");
IOMove(IO_Type.R_OutLineRun, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
......
 using OnlineStore.LoadCSVLibrary;
using OnlineStore.LoadCSVLibrary;
namespace OnlineStore.DeviceLibrary
{
......@@ -81,28 +81,28 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.SHELF_TO_UPDOWN);
benQInFromOutStep.Msg = "检测到产线 AGV向右侧提升机送入料架,提升机链条反转";
benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH,5000);
benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH,5000);
benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH, 5000);
benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH, 5000);
IOMove(IO_Type.R_OutLineBackRun, IO_VALUE.HIGH);
}
else if (hasShelfRight && !noShelfLeft && benQOutStep.GetCurStep() <= BenQ_OUT_STEP.WAIT_AGV && chainNoRun)//准备送满料,但提升机上有架子
else if (hasShelfRight && !noShelfLeft && benQOutStep.GetCurStep() < BenQ_OUT_STEP.WAIT_AGV && chainNoRun && !agvClient_Dbline.A6_InProcess)//准备送满料,但提升机上有架子
{
CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.SHELF_TO_UPDOWN);
benQInFromOutStep.Msg = "检测到右侧提升机有料架[准备送满料],提升机上升";
benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH,5000);
benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH,5000);
}
else if (hasShelfRight && !noShelfLeft && chainNoRun)
{
benQInFromOutStep.Msg = "检测到右侧提升机有料架,提升机上升";
CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.SHELF_TO_UPDOWN);
benQInFromOutStep.Msg = "检测到右侧提升机有料架[无满料出],提升机上升";
benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH,5000);
benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH,5000);
benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH, 5000);
benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH, 5000);
}
//else if (hasShelfRight && !noShelfLeft && chainNoRun)
//{
// benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.SHELF_TO_UPDOWN);
// benQInFromOutStep.Msg = "检测到右侧提升机有料架[无满料出],提升机上升";
// CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
// CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
// benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH,5000);
// benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH,5000);
//}
}
else
{
......@@ -165,7 +165,7 @@ namespace OnlineStore.DeviceLibrary
benQInFromOutStep.AddTimeWait(3000);
IOMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW);
benQInFromOutStep.Msg = "料架到达右侧提升机,提升机上升";
benQInFromOutStep.AddIoWait(IO_Type.R_Updown_Up, IO_VALUE.HIGH,2000);
benQInFromOutStep.AddIoWait(IO_Type.R_Updown_Up, IO_VALUE.HIGH, 2000);
CylinderMove(MoveInfo, IO_Type.R_Updown_Down, IO_Type.R_Updown_Up);
}
else
......@@ -191,13 +191,13 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH);//右侧上层链条运行
CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.HIGH);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH, 5000);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH,5000);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH, 5000);
}
}
else if (benQInFromOutStep.IsStep(BenQ_IN_FROM_OUT_STEP.SHELF_ENTER))
{
bool noShelf = IOManager.IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.LOW) &&
bool noShelf = IOManager.IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.LOW) &&
IOManager.IOValue(IO_Type.R_RightStopCheck).Equals(IO_VALUE.LOW);
if (noShelf && benQInFromOutStep.IsFinished())//料盘进入完成
{
......@@ -211,12 +211,12 @@ namespace OnlineStore.DeviceLibrary
CylinderMove(MoveInfo, IO_Type.R_Updown_Up, IO_Type.R_Updown_Down);
benQInFromOutStep.AddTimeWait(5000);
}
else if(benQInFromOutStep.IsTimeOut(10000))
else if (benQInFromOutStep.IsTimeOut(10000))
{
KeepLineRun(IO_Type.RHigh_LineRun);
CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.HIGH);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH,5000);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH,5000);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH, 5000);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH, 5000);
}
}
else if (benQInFromOutStep.IsStep(BenQ_IN_FROM_OUT_STEP.SHELF_DOWN))
......@@ -224,7 +224,7 @@ namespace OnlineStore.DeviceLibrary
if (benQInFromOutStep.IsFinished())
{
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS);
benQInFromOutStep.Msg = "产线AGV 在右侧提升机将料架送入上层平台完成";
benQInFromOutStep.Msg = "产线AGV 在右侧提升机将料架送入上层平台完成";
benQInFromOutStep.AddIoWait(IO_Type.RHigh_StopCheck1, IO_VALUE.HIGH);
benQInFromOutStep.AddTimeWait(60000);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!