Commit 536c7edc LN

入库打印位置。入库所有轴会到待机点在检测叉子是否有料。

1 个父辈 eead9dd0
...@@ -41,3 +41,6 @@ ...@@ -41,3 +41,6 @@
大盘位置校准时,需要放下,拿起,再放下拿起2次。 大盘位置校准时,需要放下,拿起,再放下拿起2次。
入库放料后需要检测料叉无信号,否则等待信号超时。 入库放料后需要检测料叉无信号,否则等待信号超时。
入库时,回到仓门后在检测叉子上是否有料盘。
...@@ -411,18 +411,36 @@ namespace OnlineStore.DeviceLibrary ...@@ -411,18 +411,36 @@ namespace OnlineStore.DeviceLibrary
CodeMsg = "入库[" + posId + "]叉子去取料前,未检测到进料口有料"; CodeMsg = "入库[" + posId + "]叉子去取料前,未检测到进料口有料";
LogUtil.error(CodeMsg); LogUtil.error(CodeMsg);
} }
InStoreLog("入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1,,轴4动作至P3");
StoreMove.NextMoveStep(StoreMoveStep.SI_03_ReturnHome); StoreMove.NextMoveStep(StoreMoveStep.SI_03_ReturnHome);
InStoreLog("入库:SI_03 所有轴回到待机点,升降轴到P1 [" + moveP.UpDown_P1 + "],旋转轴到P1 [" + moveP.Middle_P1 + "],,压紧轴到P3 [" + moveP.ComPress_P3 + "]");
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(1000));
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 (StoreMove.MoveStep == StoreMoveStep.SI_03_ReturnHome) else if (StoreMove.MoveStep == StoreMoveStep.SI_03_ReturnHome)
{ {
if (!ACServerManager.isInPosition(Config.UpDown_Axis, moveP.UpDown_P1))
{
StoreMove.NextMoveStep(StoreMoveStep.SI_03_ReturnHome);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(500));
InStoreLog("入库:SI_03已结束,发现升降轴不在待机点,重新运动 升降轴到P1 [" + moveP.UpDown_P1 + "] ");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
return;
}
if (!ACServerManager.isInPosition(Config.Middle_Axis, moveP.Middle_P1))
{
StoreMove.NextMoveStep(StoreMoveStep.SI_03_ReturnHome);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(500));
InStoreLog("入库:SI_03已结束,发现旋转轴不在待机点,重新运动 旋转轴到P1 [" + moveP.Middle_P1 + "]");
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
return;
}
if (IsHasCompress_Axis) if (IsHasCompress_Axis)
{ {
InStoreLog("入库:SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴至P3(压紧前点) 开始");
StoreMove.NextMoveStep(StoreMoveStep.SI_04_CompressWare); StoreMove.NextMoveStep(StoreMoveStep.SI_04_CompressWare);
InStoreLog("入库:SI_04_CompressWare 压紧轴至P3(压紧前点)[" + moveP.ComPress_P3 + "] 开始");
ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed); ComMoveToPosition(moveP.ComPress_P3, Config.CompAxis_P3_Speed);
OpenDoor(); OpenDoor();
} }
...@@ -438,14 +456,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -438,14 +456,14 @@ namespace OnlineStore.DeviceLibrary
else if (StoreMove.MoveStep == StoreMoveStep.SI_05_DeviceToDoor) else if (StoreMove.MoveStep == StoreMoveStep.SI_05_DeviceToDoor)
{ {
//NeedCheckSafetyLight = 0; //NeedCheckSafetyLight = 0;
InStoreLog("入库:SI_06 拿物品,压紧轴至P2(压紧点)) 升降轴至P7(进料口取料缓冲点) "); InStoreLog("入库:SI_06 拿物品,压紧轴至P2(压紧点))[" + moveP.ComPress_P2 + "] 升降轴至P7(进料口取料缓冲点) [" + moveP.UpDown_P7 + "]");
StoreMove.NextMoveStep(StoreMoveStep.SI_06_DoorWarToDevice); StoreMove.NextMoveStep(StoreMoveStep.SI_06_DoorWarToDevice);
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 (StoreMove.MoveStep == StoreMoveStep.SI_06_DoorWarToDevice) else if (StoreMove.MoveStep == StoreMoveStep.SI_06_DoorWarToDevice)
{ {
InStoreLog("入库:SI_07 叉子 从入料口抽出,进出轴至P1(待机点) "); InStoreLog("入库:SI_07 叉子 从入料口抽出,进出轴至P1(待机点)[" + moveP.InOut_P1 + "] ");
StoreMove.NextMoveStep(StoreMoveStep.SI_07_DeviceBackFromDoor); StoreMove.NextMoveStep(StoreMoveStep.SI_07_DeviceBackFromDoor);
//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);
...@@ -460,7 +478,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -460,7 +478,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0)) if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0))
{ {
InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) "); InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点)[" + moveP.Middle_P2 + "], 升降轴至P3(库位入库前点)[" + moveP.UpDown_P3 + "] ");
StoreMove.NextMoveStep(StoreMoveStep.SI_09_MoveToBag); StoreMove.NextMoveStep(StoreMoveStep.SI_09_MoveToBag);
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);
...@@ -478,7 +496,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -478,7 +496,7 @@ namespace OnlineStore.DeviceLibrary
} }
else if (StoreMove.MoveStep == StoreMoveStep.SI_08_LocationCylinder_Up) else if (StoreMove.MoveStep == StoreMoveStep.SI_08_LocationCylinder_Up)
{ {
InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点)),关闭舱门 "); InStoreLog("入库:SI_09 移动到库位点,旋转轴至P2(库位点)[" + moveP.Middle_P2 + "],升降轴至P3(库位入库前点))[" + moveP.UpDown_P3 + "],关闭舱门 ");
StoreMove.NextMoveStep(StoreMoveStep.SI_09_MoveToBag); StoreMove.NextMoveStep(StoreMoveStep.SI_09_MoveToBag);
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);
...@@ -491,7 +509,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -491,7 +509,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0)) if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0))
{ {
InStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) "); InStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) [" + moveP.InOut_P3 + "]");
StoreMove.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag); StoreMove.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag);
ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed); ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed);
} }
...@@ -505,14 +523,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -505,14 +523,14 @@ namespace OnlineStore.DeviceLibrary
else if (StoreMove.MoveStep == StoreMoveStep.SI_10_LocationCylinder_Down) else if (StoreMove.MoveStep == StoreMoveStep.SI_10_LocationCylinder_Down)
{ {
//IOManager.IOMove(IO_Type.LocationCylinder_Down, IO_VALUE.LOW); //IOManager.IOMove(IO_Type.LocationCylinder_Down, IO_VALUE.LOW);
InStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) "); InStoreLog("入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) [" + moveP.InOut_P3 + "] ");
StoreMove.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag); StoreMove.NextMoveStep(StoreMoveStep.SI_11_DeviceToBag);
ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed); ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed);
} }
else if (StoreMove.MoveStep == StoreMoveStep.SI_11_DeviceToBag) else if (StoreMove.MoveStep == StoreMoveStep.SI_11_DeviceToBag)
{ {
InStoreLog("入库:SI_12 放下物品,升降轴至P4(库位入料缓冲点),压紧轴至P3(压紧前点) "); InStoreLog("入库:SI_12 放下物品,升降轴至P4(库位入料缓冲点)[" + moveP.UpDown_P4 + "] ,压紧轴至P3(压紧前点) [" + moveP.ComPress_P3 + "]");
// 5= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态) // 5= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态)
string posId = StoreMove.MoveParam != null ? StoreMove.MoveParam.PosInfo.PosId : ""; string posId = StoreMove.MoveParam != null ? StoreMove.MoveParam.PosInfo.PosId : "";
lastPosId = posId; lastPosId = posId;
...@@ -534,19 +552,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -534,19 +552,20 @@ namespace OnlineStore.DeviceLibrary
} }
else if (StoreMove.MoveStep == StoreMoveStep.SI_13_InoutBack) else if (StoreMove.MoveStep == StoreMoveStep.SI_13_InoutBack)
{ {
InStoreLog("入库:SI_14_ 等待料叉无信号 "); InStoreLog("入库:SI_14_GoBack 返回待机点,轴2/轴1/轴4动作至P1(待机点)),检测门关闭");
StoreMove.NextMoveStep(StoreMoveStep.SI_14_WaitNoReel); StoreMove.NextMoveStep(StoreMoveStep.SI_14_GoBack);
StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
}
else if (StoreMove.MoveStep == StoreMoveStep.SI_14_WaitNoReel) {
InStoreLog("入库:SI_15 返回待机点,轴2/轴1/轴4动作至P1(待机点)),检测门关闭");
StoreMove.NextMoveStep(StoreMoveStep.SI_15_GoBack);
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);
CloseDoor(); CloseDoor();
} }
else if (StoreMove.MoveStep == StoreMoveStep.SI_15_GoBack) else if (StoreMove.MoveStep == StoreMoveStep.SI_15_WaitNoReel)
{
InStoreLog("入库:SI_15_WaitNoReel 等待料叉无信号 ");
StoreMove.NextMoveStep(StoreMoveStep.SI_15_WaitNoReel);
StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
}
else if (StoreMove.MoveStep == StoreMoveStep.SI_14_GoBack)
{ {
TimeSpan span = DateTime.Now - startInStoreTime; TimeSpan span = DateTime.Now - startInStoreTime;
string posId = StoreMove.MoveParam != null ? StoreMove.MoveParam.PosInfo.PosId : ""; string posId = StoreMove.MoveParam != null ? StoreMove.MoveParam.PosInfo.PosId : "";
......
...@@ -49,6 +49,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -49,6 +49,8 @@ namespace OnlineStore.DeviceLibrary
///2=急停,3=故障,4=警告,5=调试 ///2=急停,3=故障,4=警告,5=调试
/// 6=入库执行中,7=入仓完成,8=入仓失败 /// 6=入库执行中,7=入仓完成,8=入仓失败
/// 9=出库执行,10=出仓完成,11=出库失败 /// 9=出库执行,10=出仓完成,11=出库失败
/// 12=重置中(原点返回和重置都发此状态)
/// 13=库位盘点中
/// </summary> /// </summary>
public enum StoreStatus public enum StoreStatus
{ {
...@@ -350,13 +352,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -350,13 +352,13 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
SI_13_InoutBack, SI_13_InoutBack,
/// <summary> /// <summary>
/// 入库。等待叉子无信号 /// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
/// </summary> /// </summary>
SI_14_WaitNoReel, SI_14_GoBack,
/// <summary> /// <summary>
/// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始 /// 入库。等待叉子无信号
/// </summary> /// </summary>
SI_15_GoBack , SI_15_WaitNoReel,
#endregion #endregion
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!