Commit 1cbba93f LN

修改配置

1 个父辈 11e2c782
...@@ -80,7 +80,7 @@ namespace OnlineStore.ACPackingStore ...@@ -80,7 +80,7 @@ namespace OnlineStore.ACPackingStore
txtMiddleP1.Text = BoxBean.Config.MiddleAxis_P1_Position.ToString(); txtMiddleP1.Text = BoxBean.Config.MiddleAxis_P1_Position.ToString();
txtUpDownP1.Text = BoxBean.Config.UpDownAxis_DoorOPosition_P1.ToString(); txtUpDownP1.Text = BoxBean.Config.UpDownAxis_DoorOPosition_P1.ToString();
txtInOutP1.Text = BoxBean.Config.InOutAxis_P1_Position.ToString(); txtInOutP1.Text = BoxBean.Config.InOutAxis_P1_Position.ToString();
txtComP1.Text = BoxBean.Config.CompressAxis_P1_Position.ToString(); txtComP1.Text = BoxBean.Config.CompAxis_P1_Position.ToString();
txtUpDownP2.Text = BoxBean.Config.UpDownAxis_DoorIPosition_P2.ToString(); txtUpDownP2.Text = BoxBean.Config.UpDownAxis_DoorIPosition_P2.ToString();
txtUpDownP7.Text = BoxBean.Config.UpDownAxis_DoorOBPosition_P7.ToString(); txtUpDownP7.Text = BoxBean.Config.UpDownAxis_DoorOBPosition_P7.ToString();
...@@ -613,9 +613,9 @@ namespace OnlineStore.ACPackingStore ...@@ -613,9 +613,9 @@ namespace OnlineStore.ACPackingStore
needUpdate = true; needUpdate = true;
} }
if (BoxBean.Config.CompressAxis_P1_Position != FormUtil.GetIntValue(txtComP1)) if (BoxBean.Config.CompAxis_P1_Position != FormUtil.GetIntValue(txtComP1))
{ {
BoxBean.Config.CompressAxis_P1_Position = FormUtil.GetIntValue(txtComP1); BoxBean.Config.CompAxis_P1_Position = FormUtil.GetIntValue(txtComP1);
needUpdate = true; needUpdate = true;
} }
if (BoxBean.Config.UpDownAxis_DoorIPosition_P2 != FormUtil.GetIntValue(txtUpDownP2)) if (BoxBean.Config.UpDownAxis_DoorIPosition_P2 != FormUtil.GetIntValue(txtUpDownP2))
......
...@@ -296,7 +296,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -296,7 +296,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"); LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1!");
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed);
ComMoveToPosition(Config.CompressAxis_P1_Position, Config.CompAxis_P1_Speed); ComMoveToPosition(Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed);
break; break;
case StoreMoveStep.BOX_H_MiddleAxisToP1: case StoreMoveStep.BOX_H_MiddleAxisToP1:
...@@ -322,7 +322,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -322,7 +322,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"); LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1!");
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed);
ComMoveToPosition(Config.CompressAxis_P1_Position, Config.CompAxis_P1_Speed); ComMoveToPosition(Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed);
break; break;
case StoreMoveStep.BOX_M_H_TOP1_OtherAxisToP1: case StoreMoveStep.BOX_M_H_TOP1_OtherAxisToP1:
LogInfo("到待机状态完成"); LogInfo("到待机状态完成");
......
...@@ -182,15 +182,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -182,15 +182,15 @@ namespace OnlineStore.DeviceLibrary
} }
private void SI_02_Move(LineMoveP moveP) private void SI_02_Move(LineMoveP moveP)
{ {
InStoreLog("入库:SI_02_ 进出轴(叉子)动作至P1,打开舱门");
MoveInfo.NextMoveStep(StoreMoveStep.SI_02_InOutAxisHome); MoveInfo.NextMoveStep(StoreMoveStep.SI_02_InOutAxisHome);
InOutStoreLog("入库:SI_02_ 进出轴(叉子)动作至P1,打开舱门");
OpenDoor(); OpenDoor();
InOutBackToP1(moveP.InOut_P1); InOutBackToP1(moveP.InOut_P1);
} }
private void SI_05_DeviceToDoor() private void SI_05_DeviceToDoor()
{ {
InStoreLog("入库:SI_05 叉子进入入料口,进出轴至P2(进料口取料点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_05_DeviceToDoor); MoveInfo.NextMoveStep(StoreMoveStep.SI_05_DeviceToDoor);
InOutStoreLog("入库:SI_05 叉子进入入料口,进出轴至P2(进料口取料点) ");
ACAxisMove(Config.InOut_Axis, MoveInfo.MoveParam.MoveP.InOut_P2, Config.InOutAxis_P2_Speed); ACAxisMove(Config.InOut_Axis, MoveInfo.MoveParam.MoveP.InOut_P2, Config.InOutAxis_P2_Speed);
//NeedCheckSafetyLight = 1; //NeedCheckSafetyLight = 1;
} }
...@@ -215,16 +215,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -215,16 +215,16 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_02_InOutAxisHome) else if (MoveInfo.MoveStep == StoreMoveStep.SI_02_InOutAxisHome)
{ {
InStoreLog("入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1,,轴4动作至P3");
MoveInfo.NextMoveStep(StoreMoveStep.SI_03_ReturnHome); MoveInfo.NextMoveStep(StoreMoveStep.SI_03_ReturnHome);
InOutStoreLog("入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1,,轴4动作至P3");
ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed); ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_03_ReturnHome) else if (MoveInfo.MoveStep == StoreMoveStep.SI_03_ReturnHome)
{ {
InStoreLog("入库:SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴至P3(压紧前点) 开始");
MoveInfo.NextMoveStep(StoreMoveStep.SI_04_CompressWare); MoveInfo.NextMoveStep(StoreMoveStep.SI_04_CompressWare);
InOutStoreLog("入库:SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴至P3(压紧前点) 开始");
ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed); ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_04_CompressWare) else if (MoveInfo.MoveStep == StoreMoveStep.SI_04_CompressWare)
...@@ -234,49 +234,47 @@ namespace OnlineStore.DeviceLibrary ...@@ -234,49 +234,47 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep == StoreMoveStep.SI_05_DeviceToDoor) else if (MoveInfo.MoveStep == StoreMoveStep.SI_05_DeviceToDoor)
{ {
//NeedCheckSafetyLight = 0; //NeedCheckSafetyLight = 0;
InStoreLog("入库:SI_06 拿物品,压紧轴至P2(压紧点)) 升降轴至P7(进料口取料缓冲点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_06_DoorWarToDevice); MoveInfo.NextMoveStep(StoreMoveStep.SI_06_DoorWarToDevice);
InOutStoreLog("入库:SI_06 拿物品,压紧轴至P2(压紧点)) 升降轴至P7(进料口取料缓冲点) ");
ComMoveToPosition(moveP.ComPress_P2, Config.CompAxis_P2_Speed); ComMoveToPosition(moveP.ComPress_P2, Config.CompAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P7, Config.UpDownAxis_P7_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P7, Config.UpDownAxis_P7_Speed);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_06_DoorWarToDevice) else if (MoveInfo.MoveStep == StoreMoveStep.SI_06_DoorWarToDevice)
{ {
InStoreLog("入库:SI_07 叉子 从入料口抽出,进出轴至P1(待机点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_07_DeviceBackFromDoor); MoveInfo.NextMoveStep(StoreMoveStep.SI_07_DeviceBackFromDoor);
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed); InOutStoreLog("入库:SI_07 叉子 从入料口抽出,进出轴至P1(待机点) ");
InOutBackToP1(moveP.InOut_P1); InOutBackToP1(moveP.InOut_P1);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_07_DeviceBackFromDoor) else if (MoveInfo.MoveStep == StoreMoveStep.SI_07_DeviceBackFromDoor)
{ {
InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_09_MoveToBag); MoveInfo.NextMoveStep(StoreMoveStep.SI_09_MoveToBag);
InOutStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) ");
ACAxisMove(Config.Middle_Axis, moveP.Middle_P2, Config.MiddleAxis_P2_Speed); ACAxisMove(Config.Middle_Axis, moveP.Middle_P2, Config.MiddleAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P3, Config.UpDownAxis_P3_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P3, Config.UpDownAxis_P3_Speed);
CloseDoor(false); CloseDoor(false);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_08_LocationCylinder_Up) else if (MoveInfo.MoveStep == StoreMoveStep.SI_08_LocationCylinder_Up)
{ {
InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点)),关闭舱门 ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_09_MoveToBag); MoveInfo.NextMoveStep(StoreMoveStep.SI_09_MoveToBag);
InOutStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点)),关闭舱门 ");
ACAxisMove(Config.Middle_Axis, moveP.Middle_P2, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, moveP.Middle_P2, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P3, Config.UpDownAxis_P3_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P3, Config.UpDownAxis_P3_Speed);
CloseDoor(false); CloseDoor(false);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_09_MoveToBag) else if (MoveInfo.MoveStep == StoreMoveStep.SI_09_MoveToBag)
{ {
InStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag); MoveInfo.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag);
InOutStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) ");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed); ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_10_LocationCylinder_Down) else if (MoveInfo.MoveStep == StoreMoveStep.SI_10_LocationCylinder_Down)
{ {
InStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag); MoveInfo.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag);
InOutStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) ");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed); ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_11_DeviceToBag) else if (MoveInfo.MoveStep == StoreMoveStep.SI_11_DeviceToBag)
{ {
InStoreLog("入库:SI_12 放下物品,升降轴至P4(库位入料缓冲点),压紧轴至P3(压紧前点) ");
// 5= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态) // 5= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态)
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : ""; string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
lastPosId = posId; lastPosId = posId;
...@@ -286,20 +284,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -286,20 +284,21 @@ namespace OnlineStore.DeviceLibrary
//SendLineStatus(StoreID, posId, StoreStatus.InStoreEnd); //SendLineStatus(StoreID, posId, StoreStatus.InStoreEnd);
MoveInfo.NextMoveStep(StoreMoveStep.SI_12_PutWareToBag); MoveInfo.NextMoveStep(StoreMoveStep.SI_12_PutWareToBag);
InOutStoreLog("入库:SI_12 放下物品,升降轴至P4(库位入料缓冲点),压紧轴至P3(压紧前点) ");
ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed); ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P4, Config.UpDownAxis_P4_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P4, Config.UpDownAxis_P4_Speed);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_12_PutWareToBag) else if (MoveInfo.MoveStep == StoreMoveStep.SI_12_PutWareToBag)
{ {
InStoreLog("入库:SI_13 叉子从库位中返回,进出轴动作至P1(待机点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SI_13_DeviceBackFromBag); MoveInfo.NextMoveStep(StoreMoveStep.SI_13_DeviceBackFromBag);
InOutStoreLog("入库:SI_13 叉子从库位中返回,进出轴动作至P1(待机点) ");
InOutBackToP1(moveP.InOut_P1); InOutBackToP1(moveP.InOut_P1);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SI_13_DeviceBackFromBag) else if (MoveInfo.MoveStep == StoreMoveStep.SI_13_DeviceBackFromBag)
{ {
InStoreLog("入库:SI_14 返回待机点,轴2/轴1/轴4动作至P1(待机点)),检测门关闭");
MoveInfo.NextMoveStep(StoreMoveStep.SI_14_GoBack); MoveInfo.NextMoveStep(StoreMoveStep.SI_14_GoBack);
InOutStoreLog("入库:SI_14 返回待机点,轴2/轴1/轴4动作至P1(待机点)),检测门关闭");
ComMoveToPosition(moveP.ComPress_P1, Config.CompAxis_P1_Speed); ComMoveToPosition(moveP.ComPress_P1, Config.CompAxis_P1_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
...@@ -353,7 +352,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -353,7 +352,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NewMove(StoreMoveType.OutStore, param); MoveInfo.NewMove(StoreMoveType.OutStore, param);
MoveInfo.NextMoveStep(StoreMoveStep.SO_02_DeviceBack); MoveInfo.NextMoveStep(StoreMoveStep.SO_02_DeviceBack);
OutStoreLog("出库:SO_02 叉子先运动到P1 ,打开舱门 开始"); InOutStoreLog("出库:SO_02 叉子先运动到P1 ,打开舱门 开始");
//ACAxisMove(Config.InOut_Axis, StoreMove.MoveParam.MoveP.InOut_P1, Config.InOutAxis_P1_Speed); //ACAxisMove(Config.InOut_Axis, StoreMove.MoveParam.MoveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1); InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1);
...@@ -379,13 +378,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -379,13 +378,13 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.MoveStep == StoreMoveStep.SO_01_LocationCylinderDown) if (MoveInfo.MoveStep == StoreMoveStep.SO_01_LocationCylinderDown)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_02_DeviceBack); MoveInfo.NextMoveStep(StoreMoveStep.SO_02_DeviceBack);
OutStoreLog("出库:SO_02 叉子先运动到P1 "); InOutStoreLog("出库:SO_02 叉子先运动到P1 ");
InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1); InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SO_02_DeviceBack) else if (MoveInfo.MoveStep == StoreMoveStep.SO_02_DeviceBack)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_03_ToBagPosition); MoveInfo.NextMoveStep(StoreMoveStep.SO_03_ToBagPosition);
OutStoreLog("出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"); InOutStoreLog("出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)");
ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed); ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed);
ACAxisMove(Config.Middle_Axis, MoveInfo.MoveParam.MoveP.Middle_P2, Config.MiddleAxis_P2_Speed); ACAxisMove(Config.Middle_Axis, MoveInfo.MoveParam.MoveP.Middle_P2, Config.MiddleAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P5, Config.UpDownAxis_P5_Speed); ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P5, Config.UpDownAxis_P5_Speed);
...@@ -393,13 +392,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -393,13 +392,13 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep == StoreMoveStep.SO_03_ToBagPosition) else if (MoveInfo.MoveStep == StoreMoveStep.SO_03_ToBagPosition)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_04_DeviceToBag); MoveInfo.NextMoveStep(StoreMoveStep.SO_04_DeviceToBag);
OutStoreLog("出库:SO_04 叉子进入库位中, 进出轴至P3(库位取放料点) "); InOutStoreLog("出库:SO_04 叉子进入库位中, 进出轴至P3(库位取放料点) ");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed); ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SO_04_DeviceToBag) else if (MoveInfo.MoveStep == StoreMoveStep.SO_04_DeviceToBag)
{ {
OutStoreLog("出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SO_05_BagWareToDevice); MoveInfo.NextMoveStep(StoreMoveStep.SO_05_BagWareToDevice);
InOutStoreLog("出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) ");
ComMoveToPosition(moveP.ComPress_P2, Config.CompAxis_P2_Speed); ComMoveToPosition(moveP.ComPress_P2, Config.CompAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P6, Config.UpDownAxis_P6_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P6, Config.UpDownAxis_P6_Speed);
...@@ -407,7 +406,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -407,7 +406,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep == StoreMoveStep.SO_05_BagWareToDevice) else if (MoveInfo.MoveStep == StoreMoveStep.SO_05_BagWareToDevice)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_06_BagDeviceBack); MoveInfo.NextMoveStep(StoreMoveStep.SO_06_BagDeviceBack);
OutStoreLog("出库:SO_06 叉子从库位返回,进出轴至P1(待机点) "); InOutStoreLog("出库:SO_06 叉子从库位返回,进出轴至P1(待机点) ");
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed); //ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1(moveP.InOut_P1); InOutBackToP1(moveP.InOut_P1);
//把库位的物品放到取到叉子上之后是出仓完成 //把库位的物品放到取到叉子上之后是出仓完成
...@@ -427,7 +426,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -427,7 +426,7 @@ namespace OnlineStore.DeviceLibrary
} }
MoveInfo.NextMoveStep(StoreMoveStep.SO_08_ToDoorPosition); MoveInfo.NextMoveStep(StoreMoveStep.SO_08_ToDoorPosition);
OutStoreLog("出库:SO_08 走到料门口,旋转轴至P1(待机点)升降轴至P2(进料口出料前点),打开舱门 "); InOutStoreLog("出库:SO_08 走到料门口,旋转轴至P1(待机点)升降轴至P2(进料口出料前点),打开舱门 ");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
//打开舱门 //打开舱门
...@@ -437,7 +436,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -437,7 +436,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep == StoreMoveStep.SO_07_LocationCylinder_Up) else if (MoveInfo.MoveStep == StoreMoveStep.SO_07_LocationCylinder_Up)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_08_ToDoorPosition); MoveInfo.NextMoveStep(StoreMoveStep.SO_08_ToDoorPosition);
OutStoreLog("出库:SO_08 走到料门口,旋转轴至P1(待机点)升降轴至P2(进料口出料前点) "); InOutStoreLog("出库:SO_08 走到料门口,旋转轴至P1(待机点)升降轴至P2(进料口出料前点) ");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
...@@ -456,7 +455,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -456,7 +455,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep == StoreMoveStep.SO_09_LocationCylinder_Down) else if (MoveInfo.MoveStep == StoreMoveStep.SO_09_LocationCylinder_Down)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_091_WaitNoTray); MoveInfo.NextMoveStep(StoreMoveStep.SO_091_WaitNoTray);
OutStoreLog("出库:SO_091 打开仓门,等待门口无料盘 "); InOutStoreLog("出库:SO_091 打开仓门,等待门口无料盘 ");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Door, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Door, IO_VALUE.LOW));
// StoreMove.WaitList.Add(WaitResultInfo.WaitHeight(0)); // StoreMove.WaitList.Add(WaitResultInfo.WaitHeight(0));
OpenDoor(); OpenDoor();
...@@ -468,8 +467,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -468,8 +467,8 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SO_10_DeviceToDoor) else if (MoveInfo.MoveStep == StoreMoveStep.SO_10_DeviceToDoor)
{ {
OutStoreLog("出库:SO_11 放下物品,升降轴至P8(进料口出料缓冲点) ");
MoveInfo.NextMoveStep(StoreMoveStep.SO_11_DevicePutWare); MoveInfo.NextMoveStep(StoreMoveStep.SO_11_DevicePutWare);
InOutStoreLog("出库:SO_11 放下物品,升降轴至P8(进料口出料缓冲点) ");
//NeedCheckSafetyLight = 0; //NeedCheckSafetyLight = 0;
ComMoveToPosition(moveP.ComPress_P1, Config.CompAxis_P1_Speed); ComMoveToPosition(moveP.ComPress_P1, Config.CompAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P8, Config.UpDownAxis_P8_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P8, Config.UpDownAxis_P8_Speed);
...@@ -477,13 +476,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -477,13 +476,13 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep == StoreMoveStep.SO_11_DevicePutWare) else if (MoveInfo.MoveStep == StoreMoveStep.SO_11_DevicePutWare)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_12_DeviceOutFromDoor); MoveInfo.NextMoveStep(StoreMoveStep.SO_12_DeviceOutFromDoor);
OutStoreLog("出库:SO_12 叉子从出料口返回,,进出轴动作至P1(待机点) "); InOutStoreLog("出库:SO_12 叉子从出料口返回,,进出轴动作至P1(待机点) ");
InOutBackToP1(moveP.InOut_P1); InOutBackToP1(moveP.InOut_P1);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SO_12_DeviceOutFromDoor) else if (MoveInfo.MoveStep == StoreMoveStep.SO_12_DeviceOutFromDoor)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_13_GoBack); MoveInfo.NextMoveStep(StoreMoveStep.SO_13_GoBack);
OutStoreLog("出库:SO_13 升降轴返回,轴2至P1(待机点) ,关闭舱门"); InOutStoreLog("出库:SO_13 升降轴返回,轴2至P1(待机点) ,关闭舱门");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
CloseDoor(); CloseDoor();
//发送消息给流水线 //发送消息给流水线
...@@ -498,7 +497,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -498,7 +497,7 @@ namespace OnlineStore.DeviceLibrary
} }
int ms = OutStoreWaitSeconds * 1000; int ms = OutStoreWaitSeconds * 1000;
MoveInfo.NextMoveStep(StoreMoveStep.SO_14_WaitTake); MoveInfo.NextMoveStep(StoreMoveStep.SO_14_WaitTake);
OutStoreLog("出库:SO_14_WaitTake 等待拿走物品,最多等待" + OutStoreWaitSeconds + "秒"); InOutStoreLog("出库:SO_14_WaitTake 等待拿走物品,最多等待" + OutStoreWaitSeconds + "秒");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ms)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ms));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Door, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Door, IO_VALUE.LOW));
// StoreMove.WaitList.Add(WaitResultInfo.WaitHeight(0)); // StoreMove.WaitList.Add(WaitResultInfo.WaitHeight(0));
...@@ -540,7 +539,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -540,7 +539,7 @@ namespace OnlineStore.DeviceLibrary
{ {
LineMoveP moveP = MoveInfo.MoveParam.MoveP; LineMoveP moveP = MoveInfo.MoveParam.MoveP;
MoveInfo.NextMoveStep(StoreMoveStep.SO_10_DeviceToDoor); MoveInfo.NextMoveStep(StoreMoveStep.SO_10_DeviceToDoor);
OutStoreLog("出库:SO_10 叉子进出料口,进出轴至P2(进料口取料点) "); InOutStoreLog("出库:SO_10 叉子进出料口,进出轴至P2(进料口取料点) ");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed); ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed);
//NeedCheckSafetyLight = 1; //NeedCheckSafetyLight = 1;
} }
...@@ -570,15 +569,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -570,15 +569,11 @@ namespace OnlineStore.DeviceLibrary
waitOutStoreList.Add(code); waitOutStoreList.Add(code);
} }
} }
private void InStoreLog(string msg) private void InOutStoreLog(string msg)
{
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
LogInfo("【" + posId + "】" + msg);
}
private void OutStoreLog(string msg)
{ {
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : ""; string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
LogInfo("【" + posId + "】" + msg); string shelfId = MoveInfo.MoveParam != null ? "_"+MoveInfo.MoveParam.ShelfPosID : "_";
LogInfo("[" + posId + shelfId+"]"+MoveInfo.MoveStep+":" + msg);
} }
} }
} }
using OnlineStore.LoadCSVLibrary; using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
...@@ -27,6 +28,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -27,6 +28,7 @@ namespace OnlineStore.DeviceLibrary
storeRunStatus = StoreRunStatus.Busy; storeRunStatus = StoreRunStatus.Busy;
storeStatus = StoreStatus.InStoreExecute; storeStatus = StoreStatus.InStoreExecute;
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam()); MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
MoveInfo.NextMoveStep(StoreMoveStep.SI_S02_DoorOpen); MoveInfo.NextMoveStep(StoreMoveStep.SI_S02_DoorOpen);
CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open); CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open);
...@@ -35,16 +37,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -35,16 +37,18 @@ namespace OnlineStore.DeviceLibrary
} }
private void ShelfInStoreProcess() private void ShelfInStoreProcess()
{ {
LineMoveP moveP = MoveInfo.MoveParam.MoveP;
#region 料架移入料仓内部处理
if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S01_LineIn_Check)) if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S01_LineIn_Check))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SI_S02_DoorOpen); MoveInfo.NextMoveStep(StoreMoveStep.SI_S02_DoorOpen);
InStoreLog("SI_S02_DoorOpen:料架入库:入料口移门打开"); InOutStoreLog("料架入库:入料口移门打开");
CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open); CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open);
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S02_DoorOpen)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S02_DoorOpen))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SI_S03_LineRun); MoveInfo.NextMoveStep(StoreMoveStep.SI_S03_LineRun);
InStoreLog("SI_S03_LineRun:料架入库:线体正转,等待取料位检测到信号"); InOutStoreLog("料架入库:线体正转,等待取料位检测到信号");
IOMove(IO_Type.Line_BackRun, IO_VALUE.LOW); IOMove(IO_Type.Line_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.Line_Run, IO_VALUE.HIGH);
...@@ -54,38 +58,176 @@ namespace OnlineStore.DeviceLibrary ...@@ -54,38 +58,176 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S03_LineRun)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S03_LineRun))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SI_S04_LineStop); MoveInfo.NextMoveStep(StoreMoveStep.SI_S04_LineStop);
InStoreLog("SI_S04_LineStop:料架入库:取料位检测到信号,停止线体正转"); InOutStoreLog("料架入库:取料位检测到信号,停止线体正转");
IOMove(IO_Type.Line_Run, IO_VALUE.LOW); IOMove(IO_Type.Line_Run, IO_VALUE.LOW);
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S04_LineStop)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S04_LineStop))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SI_S05_DoorClose); MoveInfo.NextMoveStep(StoreMoveStep.SI_S05_DoorClose);
InStoreLog("SI_S05_DoorClose:料架入库:入料口移门关闭"); InOutStoreLog("料架入库:入料口移门关闭");
CylinderMove(MoveInfo, IO_Type.EntranceDoor_Open, IO_Type.EntranceDoor_Close); CylinderMove(MoveInfo, IO_Type.EntranceDoor_Open, IO_Type.EntranceDoor_Close);
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S05_DoorClose)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S05_DoorClose))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SI_S06_LocationUp); MoveInfo.NextMoveStep(StoreMoveStep.SI_S06_LocationUp);
InStoreLog("SI_S06_LocationUp:料架入库:定位装置上升"); InOutStoreLog("料架入库:定位装置上升");
CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up); CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S06_LocationUp)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S06_LocationUp))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SI_S07_TopCylinderUp); MoveInfo.NextMoveStep(StoreMoveStep.SI_S07_TopCylinderUp);
InStoreLog("SI_S07_TopCylinderUp:料架入库:顶升装置上升"); InOutStoreLog("料架入库:顶升装置上升");
CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up); CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up);
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S07_TopCylinderUp)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S07_TopCylinderUp))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SI_S08_StartGetTray); MoveInfo.NextMoveStep(StoreMoveStep.SI_S08_StartGetTray);
InStoreLog("SI_S07_TopCylinderUp:料架入库:开始循环从第一个空位逐个取料盘,扫码入库"); InOutStoreLog("料架入库:开始循环从第一个空位逐个取料盘,扫码入库");
CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up);
} }
#endregion
#region 料架取料盘扫码获取POSID
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S08_StartGetTray)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S08_StartGetTray))
{ {
if (MoveInfo.NextShelfPos())
{
//新的料架库位
MoveInfo.NextMoveStep(StoreMoveStep.SI_S11_InoutToP1);
InOutStoreLog("料架取料:叉子后退到待机点P1");
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
}
else
{
//所有料盘已取料完成
}
}else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S11_InoutToP1))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S12_MoveToShelf);
InOutStoreLog("料架取料:升降轴移动到PA1低点,旋转轴移动到PA1点,压紧轴到压紧前点");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LPA1, Config.UpDownAxis_PA1_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_PA, Config.MiddleAxis_PA_Speed);
ACAxisMove(Config.Comp_Axis, Config.CompAxis_P3_Speed, Config.CompAxis_P3_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S12_MoveToShelf))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S13_InoutToPA);
InOutStoreLog("料架取料:叉子前进到PA点");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S13_InoutToPA))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S14_UpdownToPA2);
InOutStoreLog("料架取料:升降轴上升到PA2点");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S14_UpdownToPA2))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S15_StartCompress);
InOutStoreLog("料架取料:压紧轴开始缓慢压紧");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S15_StartCompress))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S16_ComAxisDownMove);
InOutStoreLog("料架取料:检测到料叉压紧确认信号,再次向下压紧指定的值");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S16_ComAxisDownMove))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S17_InoutBack);
InOutStoreLog("料架取料:记录压紧高度,叉子后退到扫码点");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S17_InoutBack))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S18_ScanCode);
InOutStoreLog("料架取料:记录宽度,开始扫码");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S18_ScanCode))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S19_GetPosId);
InOutStoreLog("料架取料:扫码成功,从服务器获取库位号");
StartSendTray();
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S19_GetPosId))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S20_CompressWare);
InOutStoreLog("料架取料: 获取库位号完成,设置位置参数,开始入库");
StartSendTray();
}
#endregion
#region 入库逻辑
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S20_CompressWare))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S21_MoveToBag);
InOutStoreLog("入库:移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S21_MoveToBag))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S22_DeviceToBag);
InOutStoreLog("入库:叉子进入库位中,轴3( 叉子) 至P3(库位取放料点)");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S22_DeviceToBag))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S23_PutWareToBag);
InOutStoreLog("入库:放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点)");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S23_PutWareToBag))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S24_DeviceBackFromBag);
InOutStoreLog("入库:叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S24_DeviceBackFromBag))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S25_GoBack);
InOutStoreLog("入库:返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S25_GoBack))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S08_StartGetTray);
InOutStoreLog("料架入库:开始循环从第一个空位逐个取料盘,扫码入库");
}
#endregion
#region 入库逻辑
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S31_ToNGDoor))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S32_NGDoorUp);
InOutStoreLog("送出料盘:NG料口升降门上升");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S32_NGDoorUp))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S33_InoutToNGDoor);
InOutStoreLog("送出料盘:进出轴前进到NG料门口位置");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S33_InoutToNGDoor))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S34_UpdownDown);
InOutStoreLog("送出料盘:升降轴缓慢下降,放下料盘");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S34_UpdownDown))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S12_MoveToShelf);
InOutStoreLog("料架取料:叉子后退到待机点P1");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S34_UpdownDown))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S35_InoutToP1);
InOutStoreLog("送出料盘:叉子后退到P1");
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S35_InoutToP1))
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S36_NGDoorDown);
InOutStoreLog("送出料盘:关门NG料门,送出料盘结束");
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SI_S36_NGDoorDown))
{
}
#endregion
else else
{ {
...@@ -93,6 +235,57 @@ namespace OnlineStore.DeviceLibrary ...@@ -93,6 +235,57 @@ namespace OnlineStore.DeviceLibrary
} }
} }
private void StartSendTray()
{
MoveInfo.NextMoveStep(StoreMoveStep.SI_S31_ToNGDoor);
InOutStoreLog("送出料盘:扫码或获取库位失败,升降轴移动到NG料门口上端,旋转轴移动到NG料门口");
}
#region 压紧轴压紧处理
private System.Timers.Timer axisCheckTimer = null;
private string TargetIoType = IO_Type.Compress_Check;
private IO_VALUE TargetIoValue = IO_VALUE.HIGH;
private bool ComAxisStartCheck(string targetIo = "", IO_VALUE value = IO_VALUE.HIGH)
{
if (String.IsNullOrEmpty(targetIo))
{
targetIo = IO_Type.Compress_Check;
}
if (axisCheckTimer == null)
{
axisCheckTimer = new System.Timers.Timer();
axisCheckTimer.AutoReset = true;
axisCheckTimer.Interval += 30;
axisCheckTimer.Elapsed += CheckTimer_Elapsed;
axisCheckTimer.Enabled = false;
}
TargetIoValue = value;
TargetIoType = targetIo;
axisCheckTimer.Start();
return true;
}
private bool ComAxisStopCheck()
{
if (!(axisCheckTimer == null))
{
axisCheckTimer.Stop();
}
return true;
}
private bool IsInProcess = false;
private void CheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (IsInProcess) { return; }
IsInProcess = true;
if (IOValue(TargetIoType).Equals(TargetIoValue))
{
LogUtil.info(Name + "上料轴,检测到 " + TargetIoType + "=" + TargetIoValue + ",可以停止运动");
ACServerManager.SuddenStop(Config.Comp_Axis.DeviceName, Config.Comp_Axis.GetAxisValue());
ComAxisStopCheck();
}
IsInProcess = false;
}
#endregion
} }
} }
...@@ -182,7 +182,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -182,7 +182,7 @@ namespace OnlineStore.DeviceLibrary
p.UpDown_HPA2 = sp.UpDownAxis_HPA2; p.UpDown_HPA2 = sp.UpDownAxis_HPA2;
p.Middle_PA = sp.MiddleAxis_PA; p.Middle_PA = sp.MiddleAxis_PA;
p.ComPress_P1 = box.Config.CompressAxis_P1_Position; p.ComPress_P1 = box.Config.CompAxis_P1_Position;
p.InOut_P1 = box.Config.InOutAxis_P1_Position; p.InOut_P1 = box.Config.InOutAxis_P1_Position;
p.Middle_P1 = box.Config.MiddleAxis_P1_Position; p.Middle_P1 = box.Config.MiddleAxis_P1_Position;
......
...@@ -48,7 +48,8 @@ PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,415000,,,,,,, ...@@ -48,7 +48,8 @@ PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,415000,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,403000,,,,,,, PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,403000,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,268093,,,,,,, PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,268093,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,, PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,10000,,,,,,, PRO,压紧轴(轴4)P1待机原位点,CompAxis_P1_Position,10000,,,,,,,
PRO,压紧轴(轴4)P3压紧前点,CompAxis_P3_Position,10000,,,,,,,
,,,,,,,,,, ,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,, PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,80,,,,,,, PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,80,,,,,,,
...@@ -91,6 +92,13 @@ PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,1000,,,,,,, ...@@ -91,6 +92,13 @@ PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,1000,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,, PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,, PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,, PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)PA1速度,UpDownAxis_PA1_Speed,100,,,,,, ,
PRO,升降轴(轴2)PA2速度,UpDownAxis_PA2_Speed,100,,,,,,,
PRO,进出轴(轴3)PA速度,InOutAxis_PA_Speed,100,,,,,,,
PRO,旋转轴(轴1)PA速度,MiddleAxis_PA_Speed,120,,,,,,,
PRO,压紧轴(轴4)缓慢压紧速度,CompAxis_Com_Speed,100,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,, PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, , PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,, PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,
......
...@@ -48,7 +48,8 @@ PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,415000,,,,,,, ...@@ -48,7 +48,8 @@ PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,415000,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,403000,,,,,,, PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,403000,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,268093,,,,,,, PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,268093,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,, PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,10000,,,,,,, PRO,压紧轴(轴4)P1待机原位点,CompAxis_P1_Position,10000,,,,,,,
PRO,压紧轴(轴4)P3压紧前点,CompAxis_P3_Position,10000,,,,,,,
,,,,,,,,,, ,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,, PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,80,,,,,,, PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,80,,,,,,,
...@@ -91,6 +92,13 @@ PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,1000,,,,,,, ...@@ -91,6 +92,13 @@ PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,1000,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,, PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,, PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,, PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)PA1速度,UpDownAxis_PA1_Speed,100,,,,,, ,
PRO,升降轴(轴2)PA2速度,UpDownAxis_PA2_Speed,100,,,,,,,
PRO,进出轴(轴3)PA速度,InOutAxis_PA_Speed,100,,,,,,,
PRO,旋转轴(轴1)PA速度,MiddleAxis_PA_Speed,120,,,,,,,
PRO,压紧轴(轴4)缓慢压紧速度,CompAxis_Com_Speed,100,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,, PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, , PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,, PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,
......
...@@ -103,73 +103,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -103,73 +103,22 @@ namespace OnlineStore.DeviceLibrary
{ {
return " ShelfPosID=["+ ShelfPosID + "],WareCode=【" + WareCode + "】,PosID=【" + PosID + "】,PlateW=【" + PlateW + "】,PlateH=【" + PlateH + "】"; return " ShelfPosID=["+ ShelfPosID + "],WareCode=【" + WareCode + "】,PosID=【" + PosID + "】,PlateW=【" + PlateW + "】,PlateH=【" + PlateH + "】";
} }
}
///// <summary>
// /// 夹具编码信息(保存夹具检测到的IO数值,和对应的料仓位置)
// /// </summary>
//public class FixtureCodeInfo
//{
// public FixtureCodeInfo(string wareNum, string posId) internal void UpdateShelfPosId(string pId)
// { {
// this.WareNum = wareNum; this.ShelfPosID = pId;
// this.PosId = posId; ShelfPosition sp = CSVPositionReader<ShelfPosition>.GetPositon(ShelfPosID);
// this.plateH = ""; if (sp == null)
// this.plateW = ""; {
// } LogUtil.error( "GetPositon[" + ShelfPosID + "]=null,没有库位不能执行出入库");
// public FixtureCodeInfo(string wareNum, string posId, string platew, string plateh) }
// {
// this.WareNum = wareNum;
// this.PosId = posId;
// this.plateW = platew;
// this.plateH = plateh;
// }
// /// <summary>
// /// 物品二维码
// /// </summary>
// public string WareNum { get; set; }
// /// <summary>
// /// 库位号编码
// /// </summary>
// public string PosId { get; set; }
// /// <summary>
// /// 料盘宽
// /// </summary>
// public string plateW { get; set; }
// /// <summary>
// /// 料盘高
// /// </summary>
// public string plateH { get; set; }
MoveP.InOut_PA = sp.InoutAxis_PA;
MoveP.UpDown_LPA1 = sp.UpDownAxis_LPA1;
MoveP.UpDown_HPA2 = sp.UpDownAxis_HPA2;
MoveP.Middle_PA = sp.MiddleAxis_PA;
// public string ToStr() }
// { }
// return " WareNum=【" + WareNum + "】,PosId=【" + PosId + "】,plateW=【" + plateW + "】,plateH=【" + plateH + "】";
// }
// /// <summary>
// /// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
// /// </summary>
// /// <returns></returns>
// public int GetStoreId()
// {
// if (!PosId.Equals(""))
// {
// string[] arr = PosId.Split('#');
// if (arr.Length >= 2)
// {
// try
// {
// return int.Parse(arr[0]);
// }
// catch (Exception ex)
// {
// }
// }
// }
// return -1;
// }
//}
} }
...@@ -247,68 +247,68 @@ namespace OnlineStore.DeviceLibrary ...@@ -247,68 +247,68 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
#region 料仓内部入库步骤 20100 #region 料仓内部入库步骤 20500
/// <summary> /// <summary>
/// 入库检测 /// 入库检测
/// </summary> /// </summary>
SI_00_TrayCheck = 20100, SI_00_TrayCheck = 20500,
/// <summary> /// <summary>
/// 入库,。定位气缸下降 /// 入库,。定位气缸下降
/// </summary> /// </summary>
SI_01_LocationCylinderDown =20101, SI_01_LocationCylinderDown =20501,
/// <summary> /// <summary>
/// 入库。。进出轴(叉子)先返回P1 /// 入库。。进出轴(叉子)先返回P1
/// </summary> /// </summary>
SI_02_InOutAxisHome =20102, SI_02_InOutAxisHome =20502,
/// <summary> /// <summary>
/// 入库。。所有轴先回到待机点,轴2、轴1 动作到P1,,轴4动作至P3 /// 入库。。所有轴先回到待机点,轴2、轴1 动作到P1,,轴4动作至P3
/// </summary> /// </summary>
SI_03_ReturnHome =20103, SI_03_ReturnHome =20503,
/// <summary> /// <summary>
/// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点) /// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点)
/// </summary> /// </summary>
SI_04_CompressWare =20104, SI_04_CompressWare =20504,
/// <summary> /// <summary>
/// 入库。。叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点) /// 入库。。叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点)
/// </summary> /// </summary>
SI_05_DeviceToDoor =20105, SI_05_DeviceToDoor =20505,
/// <summary> /// <summary>
/// 入库。。把物品放入叉子上,轴2( 上下) 至P7( 进料口取料缓冲点),压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P2(压紧点) /// 入库。。把物品放入叉子上,轴2( 上下) 至P7( 进料口取料缓冲点),压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P2(压紧点)
/// </summary> /// </summary>
SI_06_DoorWarToDevice =20106, SI_06_DoorWarToDevice =20506,
/// <summary> /// <summary>
/// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点) /// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
/// </summary> /// </summary>
SI_07_DeviceBackFromDoor =20107, SI_07_DeviceBackFromDoor =20507,
/// <summary> /// <summary>
/// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤) /// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤)
/// </summary> /// </summary>
SI_08_LocationCylinder_Up =20108, SI_08_LocationCylinder_Up =20508,
/// <summary> /// <summary>
/// 入库。。移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点) /// 入库。。移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)
/// </summary> /// </summary>
SI_09_MoveToBag =20109, SI_09_MoveToBag =20509,
/// <summary> /// <summary>
/// 入库。。定位气缸退回 (有压紧轴的不需要此步骤) /// 入库。。定位气缸退回 (有压紧轴的不需要此步骤)
/// </summary> /// </summary>
SI_10_LocationCylinder_Down =20110, SI_10_LocationCylinder_Down =20510,
/// <summary> /// <summary>
/// 入库。。叉子进入库位中,轴3( 叉子) 至P3(库位取放料点) /// 入库。。叉子进入库位中,轴3( 叉子) 至P3(库位取放料点)
/// </summary> /// </summary>
SI_11_DeviceToBag =20111, SI_11_DeviceToBag =20511,
/// <summary> /// <summary>
/// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点) /// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点)
/// </summary> /// </summary>
SI_12_PutWareToBag =20112, SI_12_PutWareToBag =20512,
/// <summary> /// <summary>
/// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点) /// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
/// </summary> /// </summary>
SI_13_DeviceBackFromBag =20113, SI_13_DeviceBackFromBag =20513,
/// <summary> /// <summary>
/// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始 /// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
/// </summary> /// </summary>
SI_14_GoBack =20114, SI_14_GoBack =20514,
#endregion #endregion
...@@ -349,56 +349,92 @@ namespace OnlineStore.DeviceLibrary ...@@ -349,56 +349,92 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
SI_S08_StartGetTray= 20008, SI_S08_StartGetTray= 20008,
/// <summary>
/// 料架取料:叉子后退到待机点P1
/// </summary>
SI_S11_InoutToP1 = 20111,
/// <summary>
/// 料架取料:升降轴移动到PA1低点,旋转轴移动到PA1点,压紧轴到压紧前点
/// </summary>
SI_S12_MoveToShelf = 20112,
/// <summary>
/// 料架取料:叉子前进到PA点
/// </summary>
SI_S13_InoutToPA = 20113,
/// <summary>
/// 料架取料:升降轴上升到PA2点
/// </summary>
SI_S14_UpdownToPA2 = 20114,
/// <summary>
/// 料架取料:压紧轴开始缓慢压紧
/// </summary>
SI_S15_StartCompress = 20115,
/// <summary>
/// 料架取料:检测到料叉压紧确认信号,再次向下压紧指定的值
/// </summary>
SI_S16_ComAxisDownMove = 20116,
/// <summary>
/// 料架取料:记录压紧高度,叉子后退到扫码点
/// </summary>
SI_S17_InoutBack = 20117,
/// <summary>
/// 料架取料:记录宽度,开始扫码
/// </summary>
SI_S18_ScanCode = 20118,
/// <summary>
/// 料架取料:扫码成功,从服务器获取库位号
/// </summary>
SI_S19_GetPosId = 20119,
/// <summary>
/// 料架取料: 获取库位号完成,设置位置参数,开始入库
/// </summary>
SI_S20_CompressWare = 20120,
///// <summary> /// <summary>
///// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点) /// 入库。。移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)
///// </summary> /// </summary>
//SI_S03_CompressWare = 20103, SI_S21_MoveToBag = 20121,
///// <summary> /// <summary>
///// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点) /// 入库。。叉子进入库位中,轴3( 叉子) 至P3(库位取放料点)
///// </summary> /// </summary>
//SI_S04_CompressWare = 20104, SI_S22_DeviceToBag = 20122,
///// <summary> /// <summary>
///// 入库。。叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点) /// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点)
///// </summary> /// </summary>
//SI_S05_DeviceToDoor = 20105, SI_S23_PutWareToBag = 20123,
///// <summary> /// <summary>
///// 入库。。把物品放入叉子上,轴2( 上下) 至P7( 进料口取料缓冲点),压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P2(压紧点) /// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
///// </summary> /// </summary>
//SI_S06_DoorWarToDevice = 20106, SI_S24_DeviceBackFromBag = 20124,
/// <summary>
/// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
/// </summary>
SI_S25_GoBack = 20125,
///// <summary> /// <summary>
///// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点) /// 送出料盘:扫码或获取库位失败,升降轴移动到NG料门口上端,旋转轴移动到NG料门口
///// </summary> /// </summary>
//SI_S07_DeviceBackFromDoor = 20107, SI_S31_ToNGDoor=20131,
///// <summary> /// <summary>
///// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤) /// 送出料盘:NG料口升降门上升
///// </summary> /// </summary>
//SI_S08_LocationCylinder_Up = 20108, SI_S32_NGDoorUp = 20132,
///// <summary> /// <summary>
///// 入库。。移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点) /// 送出料盘:进出轴前进到NG料门口位置
///// </summary> /// </summary>
//SI_S09_MoveToBag = 20109, SI_S33_InoutToNGDoor = 20133,
///// <summary> /// <summary>
///// 入库。。定位气缸退回 (有压紧轴的不需要此步骤) /// 送出料盘:升降轴缓慢下降,放下料盘
///// </summary> /// </summary>
//SI_S10_LocationCylinder_Down = 20110, SI_S34_UpdownDown= 20134,
///// <summary> /// <summary>
///// 入库。。叉子进入库位中,轴3( 叉子) 至P3(库位取放料点) /// 送出料盘:叉子后退到P1
///// </summary> /// </summary>
//SI_S11_DeviceToBag = 20111, SI_S35_InoutToP1 = 20135,
///// <summary> /// <summary>
///// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点) /// 送出料盘:关门NG料门,送出料盘结束
///// </summary> /// </summary>
//SI_S12_PutWareToBag = 20112, SI_S36_NGDoorDown = 20136,
///// <summary>
///// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
///// </summary>
//SI_S13_DeviceBackFromBag = 20113,
///// <summary>
///// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
///// </summary>
//SI_S14_GoBack = 20114,
#endregion #endregion
} }
......
...@@ -60,10 +60,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -60,10 +60,7 @@ namespace OnlineStore.DeviceLibrary
/// 是否再当前步骤等待中 /// 是否再当前步骤等待中
/// </summary> /// </summary>
public bool IsInWait { get; set; } public bool IsInWait { get; set; }
/// <summary>
/// 上一个执行步骤
/// </summary>
public StoreMoveStep PreMoveStep { get; set; }
/// <summary> /// <summary>
/// 当前执行到的步骤 /// 当前执行到的步骤
/// </summary> /// </summary>
...@@ -82,7 +79,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -82,7 +79,7 @@ namespace OnlineStore.DeviceLibrary
public void NextMoveStep(StoreMoveStep step) public void NextMoveStep(StoreMoveStep step)
{ {
PreMoveStep = moveStep; // PreMoveStep = moveStep;
moveStep = step; moveStep = step;
LastSetpTime = DateTime.Now; LastSetpTime = DateTime.Now;
IsInWait = true; IsInWait = true;
...@@ -130,13 +127,26 @@ namespace OnlineStore.DeviceLibrary ...@@ -130,13 +127,26 @@ namespace OnlineStore.DeviceLibrary
} }
public List<WaitResultInfo> WaitList = new List<WaitResultInfo>(); public List<WaitResultInfo> WaitList = new List<WaitResultInfo>();
/// <summary> /// <summary>
/// 重置之后继续出入库时,退回上一个步骤执行 /// 入库时,需要循环料架的料盘取出
/// </summary> /// </summary>
public void BackStep() public List<string> ShelfPositionList = new List<string>();
public string currShelfPosId = "";
public int currShelfIndex = -1;
public bool NextShelfPos()
{ {
moveStep = PreMoveStep; currShelfIndex++;
IsInWait = false; if (ShelfPositionList.Count >= currShelfIndex)
{
return false;
}
currShelfPosId = ShelfPositionList[currShelfIndex];
//设置取料位置
MoveParam.UpdateShelfPosId(currShelfPosId);
return true;
} }
} }
...@@ -233,14 +243,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -233,14 +243,6 @@ namespace OnlineStore.DeviceLibrary
return wait; return wait;
} }
//public static WaitResultInfo WaitHeight(int height)
//{
// WaitResultInfo wait = new WaitResultInfo();
// wait.WaitType = 7;
// wait.HeightValue = height;
// wait.IsEnd = false;
// return wait;
//}
public string ToStr() public string ToStr()
{ {
if (WaitType == 1) if (WaitType == 1)
......
...@@ -264,10 +264,10 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -264,10 +264,10 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("InOutAxis_P1_Position")] [ConfigProAttribute("InOutAxis_P1_Position")]
public int InOutAxis_P1_Position { get; set; } public int InOutAxis_P1_Position { get; set; }
/// <summary> /// <summary>
/// PRO 押金轴(轴4)P1待机原位点 CompressAxis_P1_Position /// PRO 押金轴(轴4)P1待机原位点 CompAxis_P1_Position
/// </summary> /// </summary>
[ConfigProAttribute("CompressAxis_P1_Position")] [ConfigProAttribute("CompAxis_P1_Position")]
public int CompressAxis_P1_Position { get; set; } public int CompAxis_P1_Position { get; set; }
/// <summary> /// <summary>
///轴2升降轴 运动上下轴 ///轴2升降轴 运动上下轴
...@@ -371,7 +371,40 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -371,7 +371,40 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("CompAxis_P3_Speed")] [ConfigProAttribute("CompAxis_P3_Speed")]
public int CompAxis_P3_Speed { get; set; } public int CompAxis_P3_Speed { get; set; }
/// <summary>
/// PRO,压紧轴(轴4)缓慢压紧速度,CompAxis_Com_Speed,100,,,,,,,
/// </summary>
[ConfigProAttribute("CompAxis_Com_Speed")]
public int CompAxis_Com_Speed { get; set; }
/// <summary>
/// PRO,升降轴(轴2)PA1速度,UpDownAxis_PA1_Speed,100,,,,,, ,
/// </summary>
[ConfigProAttribute("UpDownAxis_PA1_Speed")]
public int UpDownAxis_PA1_Speed { get; set; }
/// <summary>
/// PRO,升降轴(轴2)PA2速度,UpDownAxis_PA2_Speed,100,,,,,,,
/// </summary>
[ConfigProAttribute("UpDownAxis_PA2_Speed")]
public int UpDownAxis_PA2_Speed { get; set; }
/// <summary>
/// PRO,进出轴(轴3)PA速度,InOutAxis_PA_Speed,100,,,,,,,
/// </summary>
[ConfigProAttribute("InOutAxis_PA_Speed")]
public int InOutAxis_PA_Speed { get; set; }
/// <summary>
/// PRO,旋转轴(轴1)PA速度,MiddleAxis_PA_Speed,120,,,,,,,
/// </summary>
[ConfigProAttribute("MiddleAxis_PA_Speed")]
public int MiddleAxis_PA_Speed { get; set; }
/// <summary>
/// PRO,压紧轴(轴4)P3压紧前点,CompAxis_P3_Position,10000,,,,,,,
/// </summary>
[ConfigProAttribute("CompAxis_P3_Position")]
public int CompAxis_P3_Position { get; set; }
/// <summary> /// <summary>
/// 预警温度 /// 预警温度
/// </summary> /// </summary>
...@@ -546,7 +579,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -546,7 +579,7 @@ namespace OnlineStore.LoadCSVLibrary
Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1_Position; Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1_Position;
Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position; Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position;
Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_DoorOPosition_P1; Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_DoorOPosition_P1;
Config.Comp_Axis.DefaultPosition = Config.CompressAxis_P1_Position; Config.Comp_Axis.DefaultPosition = Config.CompAxis_P1_Position;
Config.Comp_Axis.CanErrorCountMax = 1000; Config.Comp_Axis.CanErrorCountMax = 1000;
Config.Comp_Axis.CanErrorCountMin = 10; Config.Comp_Axis.CanErrorCountMin = 10;
Config.Comp_Axis.PositionMin = 0; Config.Comp_Axis.PositionMin = 0;
......
...@@ -167,7 +167,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -167,7 +167,7 @@ namespace OnlineStore.LoadCSVLibrary
Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1_Position; Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1_Position;
Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position; Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position;
Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_DoorOPosition_P1; Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_DoorOPosition_P1;
Config.Comp_Axis.DefaultPosition = Config.CompressAxis_P1_Position; Config.Comp_Axis.DefaultPosition = Config.CompAxis_P1_Position;
Config.Comp_Axis.CanErrorCountMax = 1000; Config.Comp_Axis.CanErrorCountMax = 1000;
Config.Comp_Axis.CanErrorCountMin = 10; Config.Comp_Axis.CanErrorCountMin = 10;
Config.Comp_Axis.PositionMin = 0; Config.Comp_Axis.PositionMin = 0;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!