Commit 0f2c3e38 张东亮

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

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