Commit 70885dc2 LN

托盘定位气缸前进逻辑修改

1 个父辈 4e8c9d01
...@@ -650,7 +650,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -650,7 +650,17 @@ namespace OnlineStore.DeviceLibrary
} }
return false; return false;
} }
public bool IsTrayLCylinderBefore()
{
if (IOValue(IO_Type.SL_TrayLocation1_After).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.SL_TrayLocation1_Before).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.SL_TrayLocation2_After).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.SL_TrayLocation2_Before).Equals(IO_VALUE.HIGH))
{
return true;
}
return false;
}
public bool IsTrayLCylinderAfter() public bool IsTrayLCylinderAfter()
{ {
if (IOValue(IO_Type.SL_TrayLocation1_After).Equals(IO_VALUE.HIGH) && if (IOValue(IO_Type.SL_TrayLocation1_After).Equals(IO_VALUE.HIGH) &&
......
...@@ -13,7 +13,7 @@ using System.Threading.Tasks; ...@@ -13,7 +13,7 @@ using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
partial class FeedingEquip partial class FeedingEquip
{ {
protected override bool CheckWaitResult(LineMoveInfo moveInfo, WaitResultInfo wait) protected override bool CheckWaitResult(LineMoveInfo moveInfo, WaitResultInfo wait)
{ {
if (wait.WaitType.Equals(WaitEnum.W101_BatchAxisMove)) if (wait.WaitType.Equals(WaitEnum.W101_BatchAxisMove))
...@@ -60,18 +60,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -60,18 +60,18 @@ namespace OnlineStore.DeviceLibrary
NextCodeList = new List<string>(); NextCodeList = new List<string>();
} }
} }
} }
#region 托盘检测 #region 托盘检测
private void CheckFixture() private void CheckFixture()
{ {
} }
protected override void FixtureProcess() protected override void FixtureProcess()
{ {
} }
#endregion #endregion
#region 入料流程 #region 入料流程
...@@ -81,10 +81,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -81,10 +81,10 @@ namespace OnlineStore.DeviceLibrary
{ {
//若定位工位,阻挡工位,有 料架,需要进行处理 //若定位工位,阻挡工位,有 料架,需要进行处理
if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.SL_Stop_Check).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.SL_Stop_Check).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH))
{ {
//升降盘需要在后退端 //升降盘需要在后退端
if (IsTrayLCylinderAfter()) if (IsTrayLCylinderAfter())
{ {
StartInStoreMove(null); StartInStoreMove(null);
} }
} }
...@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary
FI_06_WaitTime(); FI_06_WaitTime();
} }
else else
{ {
if (IsTrayLCylinderAfter()) if (IsTrayLCylinderAfter())
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_02_TrayLocation_After); MoveInfo.NextMoveStep(LineMoveStep.FI_02_TrayLocation_After);
...@@ -131,7 +131,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -131,7 +131,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.FI_01_BatchAxisToP2); MoveInfo.NextMoveStep(LineMoveStep.FI_01_BatchAxisToP2);
OutLog("检测到料架,升降盘不在后退端 " + MoveInfo.SLog + " :提升伺服先回到P2"); OutLog("检测到料架,升降盘不在后退端 " + MoveInfo.SLog + " :提升伺服先回到P2");
BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed); BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed);
} }
} }
return true; return true;
} }
...@@ -153,7 +153,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -153,7 +153,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
if (needWaitCheck) if (needWaitCheck)
{ {
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.HIGH));
} }
} }
...@@ -207,7 +207,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -207,7 +207,20 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(" 未检测到料架,入料结束"); LogUtil.info(" 未检测到料架,入料结束");
} }
} }
private void FI_13_TrayLocation_Back()
{
MoveInfo.NextMoveStep(LineMoveStep.FI_13_TrayLocation_Back);
InLog("料架入库" + MoveInfo.SLog + ":升降盘定位气缸后退,等待再次前进");
TrayLCylinderAfter(MoveInfo);
}
private void FI_15_AxisUpMove()
{
MoveInfo.NextMoveStep(LineMoveStep.FI_15_AxisUpMove);
InLog("料架入库" + MoveInfo.SLog + ":升降盘定位气缸已到位,上料轴开始慢速上升到P3点,等待检测到料盘");
MoveInfo.ShelfNoTray = false;
BatchAxisToP3();
}
private int TrayLCyResetCount = 0;
protected override void InStoreProcess() protected override void InStoreProcess()
{ {
if (MoveInfo.IsInWait) if (MoveInfo.IsInWait)
...@@ -300,28 +313,45 @@ namespace OnlineStore.DeviceLibrary ...@@ -300,28 +313,45 @@ namespace OnlineStore.DeviceLibrary
NextCodeList = new List<string>(); NextCodeList = new List<string>();
TrayLCylinderBefore(null); TrayLCylinderBefore(null);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
TrayLCyResetCount = 1;
} }
else if (MoveInfo.IsStep(LineMoveStep.FI_12_TrayLocation_Before)) else if (MoveInfo.IsStep(LineMoveStep.FI_12_TrayLocation_Before))
{ {
//第一次升降盘定位气缸前进如果到位,直接开始入库
MoveInfo.NextMoveStep(LineMoveStep.FI_13_TrayLocation_Back); if (IsTrayLCylinderBefore())
InLog("料架入库" + MoveInfo.SLog + ":升降盘定位气缸后退,等待再次前进"); {
TrayLCylinderAfter(MoveInfo); FI_15_AxisUpMove();
}
else
{
FI_13_TrayLocation_Back();
}
} }
else if (MoveInfo.IsStep(LineMoveStep.FI_13_TrayLocation_Back)) else if (MoveInfo.IsStep(LineMoveStep.FI_13_TrayLocation_Back))
{ {
TrayLCyResetCount++;
MoveInfo.NextMoveStep(LineMoveStep.FI_14_TrayLocation_Before); MoveInfo.NextMoveStep(LineMoveStep.FI_14_TrayLocation_Before);
InLog("料架入库" + MoveInfo.SLog + ":升降盘定位气缸前进,清空条码信息"); InLog("料架入库" + MoveInfo.SLog + ":升降盘定位气缸第【"+TrayLCyResetCount+"】次前进 ");
LastCodeList = new List<string>(); if (TrayLCyResetCount <= 4)
NextCodeList = new List<string>(); {
TrayLCylinderBefore(MoveInfo); TrayLCylinderBefore(null);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
}
else
{
TrayLCylinderBefore(MoveInfo);
}
} }
else if (MoveInfo.IsStep(LineMoveStep.FI_14_TrayLocation_Before)) else if (MoveInfo.IsStep(LineMoveStep.FI_14_TrayLocation_Before))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_15_AxisUpMove); if (IsTrayLCylinderBefore())
InLog("料架入库" + MoveInfo.SLog + ":上料轴开始慢速上升到P3点,等待检测到料盘"); {
MoveInfo.ShelfNoTray = false; FI_15_AxisUpMove();
BatchAxisToP3(); }
else
{
FI_13_TrayLocation_Back();
}
} }
#endregion #endregion
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!