Commit 1ae565cc LN

料架处理bug修改

1 个父辈 1758d6f4
...@@ -101,7 +101,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -101,7 +101,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + "读取料架号:" + CurrShelf.ToStr()); LogUtil.info(Name + "读取料架号:" + CurrShelf.ToStr());
return CurrShelf.RealShelf; return CurrShelf.RealShelf;
} }
public void Reset() public void Reset()
{ {
...@@ -113,18 +113,26 @@ namespace OnlineStore.DeviceLibrary ...@@ -113,18 +113,26 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
if (CurrShelf.IsBusy) if (CurrShelf.IsBusy)
{ {
LogUtil.error(Name + "复位失败,料架忙碌中"); LogUtil.error(Name + "复位失败,料架忙碌中");
return ; return;
} }
alarmType = StoreAlarmType.None; alarmType = StoreAlarmType.None;
WarnMsg = ""; WarnMsg = "";
MoveInfo.EndMove(); MoveInfo.EndMove();
MoveInfo.NewMove(StoreMoveType.StoreReset); MoveInfo.NewMove(StoreMoveType.StoreReset);
MoveInfo.NextMoveStep(MoveStep.SR_01_LocationDown); MoveInfo.NextMoveStep(MoveStep.SR_01_LocationDown);
LogUtil.info(Name + " 开始复位:顶升下降"); if (ProcessShelfEnter || ProcessShelfOut)
LocationDown(MoveInfo); {
LogUtil.info(Name + " 开始复位:顶升下降");
}
else
{
LogUtil.info(Name + " 开始复位:顶升下降,设置状态为None");
AgvClient.SetToNone(AgvName);
}
LocationDown(MoveInfo);
} }
private void ResetProcess() private void ResetProcess()
{ {
...@@ -260,24 +268,31 @@ namespace OnlineStore.DeviceLibrary ...@@ -260,24 +268,31 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
if (CheckShelf(IO_VALUE.HIGH) && (CurrShelf.RealShelf.Equals(""))) if (ProcessShelfEnter || ProcessShelfOut)
{
LogUtil.info(Name + "检测到料架信号,但是没有料架号,自动复位");
Reset();
}
else if (CheckShelf(IO_VALUE.LOW) && (!CurrShelf.RealShelf.Equals("")))
{ {
LogUtil.info(Name + "未检测到料架信号,但是有料架号,自动复位");
Reset();
}
if (IOManager.IOValue(DI_InCheck).Equals(IO_VALUE.HIGH) && (CurrShelf.RealShelf.Equals("")))
{
LogUtil.info(Name + "检测到入口料架信号,但是没有料架号,自动复位");
Reset();
} }
else else
{ {
AgvStatusPro(); if (CheckShelf(IO_VALUE.HIGH) && (CurrShelf.RealShelf.Equals("")))
{
LogUtil.info(Name + "检测到料架信号,但是没有料架号,自动复位");
Reset();
}
else if (CheckShelf(IO_VALUE.LOW) && (!CurrShelf.RealShelf.Equals("")))
{
LogUtil.info(Name + "未检测到料架信号,但是有料架号,自动复位");
Reset();
}
else if (IOManager.IOValue(DI_InCheck).Equals(IO_VALUE.HIGH) && (CurrShelf.RealShelf.Equals("")))
{
LogUtil.info(Name + "检测到入口料架信号,但是没有料架号,自动复位");
Reset();
}
else
{
AgvStatusPro();
}
} }
} }
} }
...@@ -446,19 +461,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -446,19 +461,7 @@ namespace OnlineStore.DeviceLibrary
private void AgvStatusPro() private void AgvStatusPro()
{ {
////判断是否在放料中,如果是,直接返回
//if (EquipManager.Equip.MoveInfo.MoveType.Equals(StoreMoveType.InStore))
//{
// InOutParam inoup = EquipManager.Equip.MoveInfo.MoveParam;
// if (inoup.PosInfo.IsNg.Equals(false) && inoup.PosInfo.ShelfPosId.StartsWith(Name))
// {
// AgvClient.SetToNone(AgvName);
// return;
// }
//}
if (IsReady()) if (IsReady())
{ {
if (CheckNeedLeave( )) if (CheckNeedLeave( ))
...@@ -599,6 +602,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -599,6 +602,7 @@ namespace OnlineStore.DeviceLibrary
} }
finally finally
{ {
AgvClient.SetStatus(AgvName, "", ClientAction.None, ClientLevel.High);
LineStop(); LineStop();
ProcessShelfOut = false; ProcessShelfOut = false;
} }
...@@ -617,14 +621,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -617,14 +621,16 @@ namespace OnlineStore.DeviceLibrary
ProcessShelfEnter = true; ProcessShelfEnter = true;
LineRun(); LineRun();
bool result = false;
//等待进料检测信号 //等待进料检测信号
bool result = WaitIo(DI_InCheck, IO_VALUE.HIGH, 600000); result = WaitIo(DI_InCheck, IO_VALUE.HIGH, 600000, logName + "等待" + DI_InCheck + "信号");
LogUtil.info(logName + " 等待 " + DI_InCheck + "=High " + result + ", 等待 " + DI_FrontCheck + " 信号"); LogUtil.info(logName + " 等待 " + DI_InCheck + "=High 结果: " + result + ", 开始等待 " + DI_FrontCheck + " 信号");
result = WaitIo(DI_FrontCheck, IO_VALUE.HIGH, 600000);
LogUtil.info(logName + " 等待 " + DI_FrontCheck + "=High " + result + ",开始等待CloseDoor 超时10分钟"); result = WaitIo(DI_FrontCheck, IO_VALUE.HIGH, 600000, logName + "等待" + DI_FrontCheck + "信号");
LogUtil.info(logName + " 等待 " + DI_FrontCheck + "=High 结果: " + result + ",开始等待CloseDoor 超时10分钟");
try try
{ {
result = WaitUtil.Wait(600000, delegate () result = WaitUtil.Wait(600000, delegate ()
...@@ -636,11 +642,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -636,11 +642,11 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.error(logName + " 超时:" + te); LogUtil.error(logName + " 超时:" + te);
} }
LogUtil.info(logName + "完成");
LineStop(); LineStop();
Thread.Sleep(2000); Thread.Sleep(2000);
AgvClient.SetStatus(AgvName, "", ClientAction.None, ClientLevel.High, true); AgvClient.SetStatus(AgvName, "", ClientAction.None, ClientLevel.High, true);
ProcessShelfEnter = false; ProcessShelfEnter = false;
Reset(); Reset();
} }
...@@ -654,6 +660,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -654,6 +660,7 @@ namespace OnlineStore.DeviceLibrary
} }
finally finally
{ {
AgvClient.SetStatus(AgvName, "", ClientAction.None, ClientLevel.High, true);
LineStop(); LineStop();
ProcessShelfEnter = false; ProcessShelfEnter = false;
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!