Commit 1e6f294f LN

横移模块逻辑优化

1 个父辈 f2463016
...@@ -367,7 +367,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -367,7 +367,11 @@ namespace OnlineStore.DeviceLibrary
{ {
if (Config.SidesWayNum > 0) if (Config.SidesWayNum > 0)
{ {
CheckLog("托盘放行 SecondStoreMove:(托盘放行结束) "); if (Config.SidesWayNum.Equals(3) || Config.SidesWayNum.Equals(1))
{
CylinderMove(null, IO_Type.SW_TopCylinder_Down, IO_Type.SW_TopCylinder_Up);
}
CheckLog("托盘放行 SecondStoreMove:(托盘放行结束)横移顶升先上升 ");
SMoveEnd(); SMoveEnd();
} }
else else
...@@ -925,7 +929,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -925,7 +929,7 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_27_WaitCylinderUp); MoveInfo.NextMoveStep(LineMoveStep.FI_27_WaitCylinderUp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_MoveCylinder_Down, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_MoveCylinder_Down, IO_VALUE.LOW));
CylinderMove(null, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); CylinderMove(null, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
} }
......
...@@ -641,29 +641,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -641,29 +641,14 @@ namespace OnlineStore.DeviceLibrary
else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW05_LocationDown)) else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW05_LocationDown))
{ {
SW41_SW06_TopCylinderUp(); SW41_SW06_TopCylinderUp();
//SW41_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp);
//SWLog("横移轨道41:顶升气缸上升 ,至少等待1000 ");
//IOMove(IO_Type.SW4_StopDown, IO_VALUE.LOW);
//SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
//CylinderMove(SW41_MoveInfo, IO_Type.SW4_TopCylinder_Down, IO_Type.SW4_TopCylinder_Up);
//Thread.Sleep(50);
//CylinderMove(SW41_MoveInfo, IO_Type.SW1_TopCylinder_Down, IO_Type.SW1_TopCylinder_Up);
} }
else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW06_TopCylinderUp)) else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW06_TopCylinderUp))
{ {
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW07_WaitNoTray); SW41_SW07_WaitNoTray();
SWLog("横移轨道41: 等待 SW1_TrayCheck=0 ");
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW1_TrayCheck, IO_VALUE.LOW));
} }
else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW07_WaitNoTray)) else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW07_WaitNoTray))
{ {
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW08_DriveMotorMove); SW41_SW08_DriveMotorMove();
SWLog("横移轨道41:开始转动电机 ,等待1000,SW4_TrayCheck=0, SW1_TrayCheck=1 ");
IOMove(IO_Type.SW4_MotorRun, IO_VALUE.HIGH);
IOMove(IO_Type.SW1_MotorRun, IO_VALUE.HIGH);
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW1_TrayCheck, IO_VALUE.HIGH));
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW4_TrayCheck, IO_VALUE.LOW));
} }
else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW08_DriveMotorMove)) else if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW08_DriveMotorMove))
{ {
...@@ -745,18 +730,50 @@ namespace OnlineStore.DeviceLibrary ...@@ -745,18 +730,50 @@ namespace OnlineStore.DeviceLibrary
{ {
lastSw4StopDownTime = DateTime.Now.AddSeconds(-2); lastSw4StopDownTime = DateTime.Now.AddSeconds(-2);
SW41_MoveInfo.EndMove(); SW41_MoveInfo.EndMove();
SWLog("横移轨道41:横移结束 "); CylinderMove(null, IO_Type.SW1_TopCylinder_Down, IO_Type.SW1_TopCylinder_Up);
SWLog("横移轨道41:横移结束 ,横移1顶升上升 ");
}
}
private void SW41_SW08_DriveMotorMove()
{
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW08_DriveMotorMove);
SWLog("横移轨道41:开始转动电机 ,等待1000,SW4_TrayCheck=0, SW1_TrayCheck=1 ");
IOMove(IO_Type.SW4_MotorRun, IO_VALUE.HIGH);
IOMove(IO_Type.SW1_MotorRun, IO_VALUE.HIGH);
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW1_TrayCheck, IO_VALUE.HIGH));
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW4_TrayCheck, IO_VALUE.LOW));
}
private void SW41_SW07_WaitNoTray()
{
if (IOValue(IO_Type.SW1_TrayCheck).Equals(IO_VALUE.LOW))
{
SW41_SW08_DriveMotorMove();
}
else
{
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW07_WaitNoTray);
SWLog("横移轨道41: 等待 SW1_TrayCheck=0 ");
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW1_TrayCheck, IO_VALUE.LOW));
} }
} }
private void SW41_SW06_TopCylinderUp() private void SW41_SW06_TopCylinderUp()
{ {
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp); if (CylinderIsOk(IO_Type.SW4_TopCylinder_Down, IO_Type.SW4_TopCylinder_Up) &&
SWLog("横移轨道41:顶升气缸上升 ,至少等待1000 "); CylinderIsOk(IO_Type.SW1_TopCylinder_Down, IO_Type.SW1_TopCylinder_Up))
IOMove(IO_Type.SW4_StopDown, IO_VALUE.LOW); {
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); SW41_SW07_WaitNoTray();
CylinderMove(SW41_MoveInfo, IO_Type.SW4_TopCylinder_Down, IO_Type.SW4_TopCylinder_Up); }
Thread.Sleep(50); else
CylinderMove(SW41_MoveInfo, IO_Type.SW1_TopCylinder_Down, IO_Type.SW1_TopCylinder_Up); {
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp);
SWLog("横移轨道41:顶升气缸上升 ,至少等待1000 ");
IOMove(IO_Type.SW4_StopDown, IO_VALUE.LOW);
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(SW41_MoveInfo, IO_Type.SW4_TopCylinder_Down, IO_Type.SW4_TopCylinder_Up);
Thread.Sleep(50);
CylinderMove(SW41_MoveInfo, IO_Type.SW1_TopCylinder_Down, IO_Type.SW1_TopCylinder_Up);
}
} }
private void SW41_SW04_WaitCanUp() private void SW41_SW04_WaitCanUp()
{ {
...@@ -852,29 +869,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -852,29 +869,14 @@ namespace OnlineStore.DeviceLibrary
else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW05_LocationDown)) else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW05_LocationDown))
{ {
SW23_SW06_TopCylinderUp(); SW23_SW06_TopCylinderUp();
//SW23_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp);
//SWLog("横移轨道23:顶升气缸上升 ,至少等待1000 ");
//IOMove(IO_Type.SW2_StopDown, IO_VALUE.LOW);
//SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
//CylinderMove(SW23_MoveInfo, IO_Type.SW2_TopCylinder_Down, IO_Type.SW2_TopCylinder_Up);
//Thread.Sleep(50);
//CylinderMove(SW23_MoveInfo, IO_Type.SW3_TopCylinder_Down, IO_Type.SW3_TopCylinder_Up);
} }
else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW06_TopCylinderUp)) else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW06_TopCylinderUp))
{ {
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW07_WaitNoTray); SW23_SW07_WaitNoTray();
SWLog("横移轨道23: 等待 SW3_TrayCheck=0 ");
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW3_TrayCheck, IO_VALUE.LOW));
} }
else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW07_WaitNoTray)) else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW07_WaitNoTray))
{ {
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW08_DriveMotorMove); SW23_SW08_DriveMotorMove();
SWLog("横移轨道23:开始转动电机 ,等待1000,SW2_TrayCheck=0, SW3_TrayCheck=1 ");
IOMove(IO_Type.SW2_MotorRun, IO_VALUE.HIGH);
IOMove(IO_Type.SW3_MotorRun, IO_VALUE.HIGH);
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW3_TrayCheck, IO_VALUE.HIGH));
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW2_TrayCheck, IO_VALUE.LOW));
} }
else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW08_DriveMotorMove)) else if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW08_DriveMotorMove))
{ {
...@@ -951,19 +953,52 @@ namespace OnlineStore.DeviceLibrary ...@@ -951,19 +953,52 @@ namespace OnlineStore.DeviceLibrary
{ {
lastSw2StopDownTime = DateTime.Now.AddSeconds(-2); lastSw2StopDownTime = DateTime.Now.AddSeconds(-2);
SW23_MoveInfo.EndMove(); SW23_MoveInfo.EndMove();
SWLog("横移轨道23:横移结束 "); CylinderMove(null, IO_Type.SW3_TopCylinder_Down, IO_Type.SW3_TopCylinder_Up);
SWLog("横移轨道23:横移结束,横移3顶升上升 ");
} }
} }
private void SW23_SW06_TopCylinderUp() private void SW23_SW08_DriveMotorMove()
{ {
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp); SW23_MoveInfo.NextMoveStep(LineMoveStep.SW08_DriveMotorMove);
SWLog("横移轨道23:顶升气缸上升 ,至少等待1000 "); SWLog("横移轨道23:开始转动电机 ,等待1000,SW2_TrayCheck=0, SW3_TrayCheck=1 ");
IOMove(IO_Type.SW2_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SW2_MotorRun, IO_VALUE.HIGH);
IOMove(IO_Type.SW3_MotorRun, IO_VALUE.HIGH);
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(SW23_MoveInfo, IO_Type.SW2_TopCylinder_Down, IO_Type.SW2_TopCylinder_Up); SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW3_TrayCheck, IO_VALUE.HIGH));
Thread.Sleep(50); SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW2_TrayCheck, IO_VALUE.LOW));
CylinderMove(SW23_MoveInfo, IO_Type.SW3_TopCylinder_Down, IO_Type.SW3_TopCylinder_Up); }
private void SW23_SW07_WaitNoTray()
{
if (IOValue(IO_Type.SW3_TrayCheck).Equals(IO_VALUE.LOW))
{
SW23_SW08_DriveMotorMove();
}
else
{
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW07_WaitNoTray);
SWLog("横移轨道23: 等待 SW3_TrayCheck=0 ");
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW3_TrayCheck, IO_VALUE.LOW));
}
}
private void SW23_SW06_TopCylinderUp()
{
if (CylinderIsOk(IO_Type.SW2_LocationCylinder_Up, IO_Type.SW2_LocationCylinder_Down) &&
CylinderIsOk(IO_Type.SW3_LocationCylinder_Up, IO_Type.SW3_LocationCylinder_Down))
{
SW23_SW07_WaitNoTray();
}
else
{
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp);
SWLog("横移轨道23:顶升气缸上升 ,至少等待1000 ");
IOMove(IO_Type.SW2_StopDown, IO_VALUE.LOW);
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(SW23_MoveInfo, IO_Type.SW2_TopCylinder_Down, IO_Type.SW2_TopCylinder_Up);
Thread.Sleep(50);
CylinderMove(SW23_MoveInfo, IO_Type.SW3_TopCylinder_Down, IO_Type.SW3_TopCylinder_Up);
}
} }
private void SW23_SW04_WaitCanUp() private void SW23_SW04_WaitCanUp()
......
...@@ -542,15 +542,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -542,15 +542,25 @@ namespace OnlineStore.DeviceLibrary
result.Param = new InOutParam(0, serverResult.barcode, posId, height, width); result.Param = new InOutParam(0, serverResult.barcode, posId, height, width);
result.Param.rfid = rfid; result.Param.rfid = rfid;
int storeId = result.Param.GetStoreId(); int storeId = result.Param.GetStoreId();
MoveEquip moveEquip = LineManager.Line.MoveEquipMap[storeId]; if (LineManager.Line.MoveEquipMap.ContainsKey(storeId))
if (LineManager.Line.IsReviceInPosId(moveEquip, posId)) {
MoveEquip moveEquip = LineManager.Line.MoveEquipMap[storeId];
if (LineManager.Line.IsReviceInPosId(moveEquip, posId))
{
result.Param.InStoreNg = true;
result.Param.NgMsg = "入库库位重复";
result.Msg = deviceName + ("收到服务器入库命令 " + "入库库位重复: " + result.Param.ToStr() + " ,入库失败!");
return result;
}
LogUtil.info(deviceName + "收到入库命令: " + result.Param.ToStr() + " ");
}
else
{ {
result.Param.InStoreNg = true; result.Param.InStoreNg = true;
result.Param.NgMsg = "入库库位重复"; result.Param.NgMsg = "未找到料仓["+storeId+"]";
result.Msg = deviceName + ("收到服务器入库命令 " + "入库库位重复: " + result.Param.ToStr() + " ,入库失败!"); result.Msg = deviceName + ("收到服务器入库命令 " + "未找到料仓[" + storeId + "]: " + result.Param.ToStr() + " ,入库失败!");
return result; return result;
} }
LogUtil.info(deviceName + "收到入库命令: " + result.Param.ToStr() + " ");
} }
} }
catch (Exception ex) catch (Exception ex)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!