Commit 2cb2f677 LN

托盘横移修改,若30秒未等到托盘信号,结束处理

1 个父辈 fd7bf740
...@@ -212,11 +212,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -212,11 +212,13 @@ namespace OnlineStore.DeviceLibrary
if (Config.DOList.ContainsKey(IO_Type.HY_FrontStopDown)) if (Config.DOList.ContainsKey(IO_Type.HY_FrontStopDown))
{ {
IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW); IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopDown, IO_VALUE.LOW)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopDown, IO_VALUE.LOW));
} }
IOMove(IO_Type.HY_StopDown, IO_VALUE.LOW); IOMove(IO_Type.HY_StopDown, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW); IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW);
MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
} }
} }
else if (preTrayIsC1Line && Config.IsOutLineOut && IOValue(IO_Type.HY_OL_Tray_Check).Equals(IO_VALUE.HIGH)) else if (preTrayIsC1Line && Config.IsOutLineOut && IOValue(IO_Type.HY_OL_Tray_Check).Equals(IO_VALUE.HIGH))
...@@ -242,7 +244,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -242,7 +244,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.OneWaitCanEndStep = true; MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
CylinderMove(MoveInfo, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down); CylinderMove(null, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW); IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW);
} }
} }
...@@ -304,16 +307,36 @@ namespace OnlineStore.DeviceLibrary ...@@ -304,16 +307,36 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.IsStep(LineMoveStep.HY02_FrontStopDown)) if (MoveInfo.IsStep(LineMoveStep.HY02_FrontStopDown))
{ {
MoveInfo.NextMoveStep(LineMoveStep.HY03_FrontStopUp); if (IOValue(IO_Type.HY_FrontStopCheck).Equals(IO_VALUE.LOW) || IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
CheckLog("托盘阻挡" + MoveInfo.SLog + " 托盘检测到信号,前阻挡上升"); {
CheckAndMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW); MoveInfo.NextMoveStep(LineMoveStep.HY03_FrontStopUp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); CheckLog("托盘阻挡" + MoveInfo.SLog + " 托盘检测到信号,前阻挡上升");
CheckAndMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW);
MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo(MoveInfo.SLog + "未等到信号 HY_FrontStopCheck=LOW 或 HY_TrayCheck=LOW 结束处理 ");
MoveInfo.EndMove();
}
} }
else if (MoveInfo.IsStep(LineMoveStep.HY03_FrontStopUp)) else if (MoveInfo.IsStep(LineMoveStep.HY03_FrontStopUp))
{ {
MoveInfo.NextMoveStep(LineMoveStep.HY04_WaitTime); if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
CheckLog("托盘阻挡" + MoveInfo.SLog + " 再次等待托盘信号"); {
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); MoveInfo.NextMoveStep(LineMoveStep.HY04_WaitTime);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 再次等待托盘信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 ");
MoveInfo.EndMove();
}
} }
else if (MoveInfo.IsStep(LineMoveStep.HY04_WaitTime)) else if (MoveInfo.IsStep(LineMoveStep.HY04_WaitTime))
{ {
...@@ -787,6 +810,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -787,6 +810,12 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
//如果横移20和横移21都有托盘,需要横移
if (IOManager.IOValue(IO_Type.HY_TrayCheck, 220).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.HY_TrayCheck, 221).Equals(IO_VALUE.HIGH))
{
return true;
}
FeedingEquip feed5 = LineManager.Line.FeedingEquipMap[102]; FeedingEquip feed5 = LineManager.Line.FeedingEquipMap[102];
if (!feed5.MoveInfo.MoveType.Equals(LineMoveType.InStore)) if (!feed5.MoveInfo.MoveType.Equals(LineMoveType.InStore))
{ {
......
...@@ -122,6 +122,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -122,6 +122,9 @@ namespace OnlineStore.DeviceLibrary
T3C1_MoveInfo.OneWaitCanEndStep = true; T3C1_MoveInfo.OneWaitCanEndStep = true;
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW)); T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW));
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
//最多等待30秒
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
} }
} }
else else
...@@ -159,21 +162,41 @@ namespace OnlineStore.DeviceLibrary ...@@ -159,21 +162,41 @@ namespace OnlineStore.DeviceLibrary
#region 托盘检测 #region 托盘检测
if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_00_Stop1Down)) if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_00_Stop1Down))
{ {
T3C1_MoveInfo.NextMoveStep(LineMoveStep.MIO_01_TrayCheck); if (IOValue(IO_Type.HY_FrontStopCheck).Equals(IO_VALUE.LOW) || IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
T3C1_Log("托盘阻挡" + T3C1_MoveInfo.SLog + " 前阻挡上升,等待 阻挡托盘检测=1"); {
IOMove(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW); T3C1_MoveInfo.NextMoveStep(LineMoveStep.MIO_01_TrayCheck);
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); T3C1_Log("托盘阻挡" + T3C1_MoveInfo.SLog + " 前阻挡上升,等待 阻挡托盘检测=1");
IOMove(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW);
T3C1_MoveInfo.OneWaitCanEndStep = true;
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
//最多等待30秒
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
}
else
{
//未检测到信号或阻挡下降失败,结束处理
T3C1_Log(T3C1_MoveInfo.SLog + "未等到信号 HY_FrontStopCheck=LOW,或 HY_TrayCheck=HIGH,结束处理 ");
T3C1_MoveInfo.EndMove();
}
} }
else if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_01_TrayCheck)) else if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_01_TrayCheck))
{ {
T3C1_MoveInfo.NextMoveStep(LineMoveStep.MIO_03_StopUp); if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
T3C1_Log("托盘阻挡" + T3C1_MoveInfo.SLog + " 再次等待托盘信号"); {
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); T3C1_MoveInfo.NextMoveStep(LineMoveStep.MIO_03_StopUp);
T3C1_Log("托盘阻挡" + T3C1_MoveInfo.SLog + " 再次等待托盘信号");
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
}
else
{
T3C1_Log(T3C1_MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH,结束处理 ");
T3C1_MoveInfo.EndMove();
}
} }
else if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_03_StopUp)) else if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_03_StopUp))
{ {
T3C1_MoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait); T3C1_MoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait);
T3C1_Log("托盘阻挡" + T3C1_MoveInfo.SLog + " ,等待编码信号稳定 HY_TrayCheck=1"); T3C1_Log("托盘阻挡" + T3C1_MoveInfo.SLog + " ,等待编码信号稳定 HY_TrayCheck=1");
T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); T3C1_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
} }
else if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_04_Wait)) else if (T3C1_MoveInfo.IsStep(LineMoveStep.MIO_04_Wait))
...@@ -215,10 +238,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -215,10 +238,10 @@ namespace OnlineStore.DeviceLibrary
//判断盘是空盘,空盘并且编号正确才需要放料盘过去 //判断盘是空盘,空盘并且编号正确才需要放料盘过去
if (TrayNeedT3C1(T3C1_TrayNum)) if (TrayNeedT3C1(T3C1_TrayNum))
{ {
T3C1_MoveInfo.MoveParam = new InOutParam(T3C1_TrayNum); T3C1_MoveInfo.MoveParam = new InOutParam(T3C1_TrayNum);
LogInfo(T3C1_MoveInfo.MoveNum + "*************** 空托盘【" + T3C1_TrayNum + "】,正在入库中,移栽料盘"); LogInfo(T3C1_MoveInfo.MoveNum + "*************** 空托盘【" + T3C1_TrayNum + "】,正在入库中,移栽料盘");
T3C1_MoveInfo.NextMoveStep(LineMoveStep.MO_11_CodeRember); T3C1_MoveInfo.NextMoveStep(LineMoveStep.MO_11_CodeRember);
} }
else else
{ {
T3C1_MoveInfo.NextMoveStep(LineMoveStep.MO_14_TopDown); T3C1_MoveInfo.NextMoveStep(LineMoveStep.MO_14_TopDown);
......
...@@ -673,6 +673,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -673,6 +673,8 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.OneWaitCanEndStep = true; SecondMoveInfo.OneWaitCanEndStep = true;
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck1, IO_VALUE.LOW)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck1, IO_VALUE.LOW));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH));
//最多等待30秒
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
} }
} }
else else
...@@ -714,28 +716,42 @@ namespace OnlineStore.DeviceLibrary ...@@ -714,28 +716,42 @@ namespace OnlineStore.DeviceLibrary
#region 托盘检测 #region 托盘检测
if (SecondMoveInfo.IsStep(LineMoveStep.MIO_00_Stop1Down)) if (SecondMoveInfo.IsStep(LineMoveStep.MIO_00_Stop1Down))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_01_TrayCheck); if (IOValue(IO_Type.StopCheck1).Equals(IO_VALUE.LOW) || IOValue(IO_Type.StopCheck2).Equals(IO_VALUE.HIGH))
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)");
if (DeviceID.Equals(5))
{ {
SecondMoveInfo.TimeOutSeconds = 20; SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_01_TrayCheck);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)");
SecondMoveInfo.OneWaitCanEndStep = true;
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH));
//最多等待30秒
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo(SecondMoveInfo.SLog + "未等到信号 StopCheck1=LOW,或 StopCheck2=HIGH,结束处理 ");
SecondMoveInfo.EndMove();
} }
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH));
} }
else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_01_TrayCheck)) else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_01_TrayCheck))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_StopUp); if (IOValue(IO_Type.StopCheck2).Equals(IO_VALUE.HIGH))
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 再次等待托盘信号"); {
// IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_StopUp);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH)); CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 再次等待托盘信号");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH));
}
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo(SecondMoveInfo.SLog + "未等到信号 StopCheck2=HIGH,结束处理 ");
SecondMoveInfo.EndMove();
}
} }
else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_03_StopUp)) else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_03_StopUp))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定StopCylinder_Check2=1"); CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定StopCylinder_Check2=1");
CheckAndMove(IO_Type.StopDown1, IO_VALUE.LOW); CheckAndMove(IO_Type.StopDown1, IO_VALUE.LOW);
//SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH));
} }
else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_04_Wait)) else if (SecondMoveInfo.IsStep(LineMoveStep.MIO_04_Wait))
...@@ -771,7 +787,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -771,7 +787,7 @@ namespace OnlineStore.DeviceLibrary
TrayManager.UpdateTrayNumError(-1, ""); TrayManager.UpdateTrayNumError(-1, "");
} }
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
} }
} }
...@@ -891,7 +907,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -891,7 +907,6 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.IsStep(LineMoveStep.MO_19_StopUp)) else if (SecondMoveInfo.IsStep(LineMoveStep.MO_19_StopUp))
{ {
CheckLog("托盘放行 SecondMove:(托盘放行结束) "); CheckLog("托盘放行 SecondMove:(托盘放行结束) ");
// IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.HIGH);
SecondMoveInfo.EndMove(); SecondMoveInfo.EndMove();
} }
#endregion #endregion
......
...@@ -251,6 +251,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -251,6 +251,10 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error("UpdateBoxDebug【" + id + "】【" + isDebug + "】失败"); LogUtil.error("UpdateBoxDebug【" + id + "】【" + isDebug + "】失败");
} }
} }
else
{
LogUtil.error("UpdateBoxDebug【" + id + "】【" + isDebug + "】失败:料仓不在线");
}
return false; return false;
} }
public static bool StartInStore(int id, InOutParam param) public static bool StartInStore(int id, InOutParam param)
...@@ -265,7 +269,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -265,7 +269,7 @@ namespace OnlineStore.DeviceLibrary
paramList.Add(S_PlateW, param.PlateW); paramList.Add(S_PlateW, param.PlateW);
paramList.Add(S_WareCode, param.WareCode); paramList.Add(S_WareCode, param.WareCode);
paramList.Add(S_RFID, param.rfid); paramList.Add(S_RFID, param.rfid);
// string msg = cmd_startIn+cmd_spilt+param.PosId+cmd_spilt+param.PlateH+cmd_spilt+param.PlateW+cmd_spilt+"\r";
string msg = ToParamStr(paramList); string msg = ToParamStr(paramList);
TcpClientBean client = ClientMap[id]; TcpClientBean client = ClientMap[id];
bool result = SendStrToClient(client, msg); bool result = SendStrToClient(client, msg);
...@@ -274,6 +278,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -274,6 +278,10 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error("StartInStore【" + id + "】【" + msg + "】失败"); LogUtil.error("StartInStore【" + id + "】【" + msg + "】失败");
} }
} }
else
{
LogUtil.error("StartInStore【" + id + "】【" + param.ToStr() + "】失败:料仓不在线");
}
return false; return false;
} }
///// <summary> ///// <summary>
...@@ -320,6 +328,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -320,6 +328,10 @@ namespace OnlineStore.DeviceLibrary
// LogUtil.info("CheckInStorePos【" + id + "】【" + msg + "】发送成功"); // LogUtil.info("CheckInStorePos【" + id + "】【" + msg + "】发送成功");
} }
} }
else
{
LogUtil.error("CheckInStorePos【" + id + "】【" + param.ToStr() + "】失败:料仓不在线");
}
} }
catch (Exception ex) catch (Exception ex)
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!