Commit f6490380 张东亮

存储机构-bug优化

1 个父辈 d8b798a5
...@@ -589,43 +589,60 @@ namespace OnlineStore.DeviceLibrary ...@@ -589,43 +589,60 @@ namespace OnlineStore.DeviceLibrary
private DateTime dtUpperA = DateTime.Now; private DateTime dtUpperA = DateTime.Now;
private DateTime dtUpperB = DateTime.Now; private DateTime dtUpperB = DateTime.Now;
private DateTime errUpperA = DateTime.Now;
private DateTime errUpperB = DateTime.Now;
private DateTime errUnderA = DateTime.Now;
private DateTime errUnderB = DateTime.Now;
int SigLastTime = 2;//5秒 int SigLastTime = 2;//5秒
protected override void OnTimerProcess() protected override void OnTimerProcess()
{ {
if (!runStatus.Equals(RunStatus.Runing)) if (!runStatus.Equals(RunStatus.Runing))
return; return;
TimeSpan timeSpanA = DateTime.Now - dtUpperA; TimeSpan timeSpanA = DateTime.Now - dtUpperA;
TimeSpan tsUppA = DateTime.Now - errUpperA;
TimeSpan tsUnA = DateTime.Now - errUnderA;
TimeSpan tsUppB = DateTime.Now - errUpperB;
TimeSpan tsUnB = DateTime.Now - errUnderB;
int errSeconds = 10;
if (IOValue(IO_Type.UpperArea_Check_A).Equals(IO_VALUE.LOW) && BufferDataManager.AInStoreInfo != null) if (IOValue(IO_Type.UpperArea_Check_A).Equals(IO_VALUE.LOW) && BufferDataManager.AInStoreInfo != null)
{ {
SetWarnMsg("A进料上暂存区有料盘,但信号未亮"); if (tsUppA.TotalSeconds > errSeconds)
SetWarnMsg("A进料上暂存区有料盘,但信号未亮");
} }
else else
{ {
ClearSpecifiedAlarm("A进料上暂存区有料盘,但信号未亮"); ClearSpecifiedAlarm("A进料上暂存区有料盘,但信号未亮");
errUpperA = DateTime.Now;
} }
if (IOValue(IO_Type.UnderArea_Check_A).Equals(IO_VALUE.LOW) && BufferDataManager.AOutStoreInfo != null) if (IOValue(IO_Type.UnderArea_Check_A).Equals(IO_VALUE.LOW) && BufferDataManager.AOutStoreInfo != null)
{ {
SetWarnMsg("A出料下暂存区有料盘,但信号未亮"); if (tsUnA.TotalSeconds > errSeconds)
SetWarnMsg("A出料下暂存区有料盘,但信号未亮");
} }
else else
{ {
ClearSpecifiedAlarm("A出料下暂存区有料盘,但信号未亮"); ClearSpecifiedAlarm("A出料下暂存区有料盘,但信号未亮");
errUnderA = DateTime.Now;
} }
if (IOValue(IO_Type.UpperArea_Check_B).Equals(IO_VALUE.LOW) && BufferDataManager.BInStoreInfo != null) if (IOValue(IO_Type.UpperArea_Check_B).Equals(IO_VALUE.LOW) && BufferDataManager.BInStoreInfo != null)
{ {
SetWarnMsg("B进料上暂存区有料盘,但信号未亮"); if (tsUppB.TotalSeconds > errSeconds)
SetWarnMsg("B进料上暂存区有料盘,但信号未亮");
} }
else else
{ {
ClearSpecifiedAlarm("B进料上暂存区有料盘,但信号未亮"); ClearSpecifiedAlarm("B进料上暂存区有料盘,但信号未亮");
errUpperB = DateTime.Now;
} }
if (IOValue(IO_Type.UnderArea_Check_B).Equals(IO_VALUE.LOW) && BufferDataManager.BOutStoreInfo != null) if (IOValue(IO_Type.UnderArea_Check_B).Equals(IO_VALUE.LOW) && BufferDataManager.BOutStoreInfo != null)
{ {
SetWarnMsg("B出料下暂存区有料盘,但信号未亮"); if (tsUnB.TotalSeconds > errSeconds)
SetWarnMsg("B出料下暂存区有料盘,但信号未亮");
} }
else else
{ {
ClearSpecifiedAlarm("B出料下暂存区有料盘,但信号未亮"); ClearSpecifiedAlarm("B出料下暂存区有料盘,但信号未亮");
errUnderB = DateTime.Now;
} }
//检测A上暂存区是否有料盘 //检测A上暂存区是否有料盘
if (IOValue(IO_Type.UpperArea_Check_A).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.UpperArea_Check_A).Equals(IO_VALUE.HIGH))
......
...@@ -54,6 +54,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -54,6 +54,8 @@ namespace OnlineStore.DeviceLibrary
if (!AutoInout.autoNext && !InDoorCheck(param)) if (!AutoInout.autoNext && !InDoorCheck(param))
{ {
if (param==null || param.PosInfo == null)
return false;
SetWarnMsg(Name + $" 启动入库出错,入口料盘无入库信息[barcode={param.PosInfo.barcode},PosSide={param.PosInfo.GetPosSide()}], 任务取消"); SetWarnMsg(Name + $" 启动入库出错,入口料盘无入库信息[barcode={param.PosInfo.barcode},PosSide={param.PosInfo.GetPosSide()}], 任务取消");
SServerManager.cancelPutInTask(Name, param.PosInfo.barcode); SServerManager.cancelPutInTask(Name, param.PosInfo.barcode);
return false; return false;
...@@ -329,9 +331,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -329,9 +331,9 @@ namespace OnlineStore.DeviceLibrary
if (!CheckInStoreOtherSideInfo()) if (!CheckInStoreOtherSideInfo())
{ {
SetBoxStatus(DeviceStatus.StoreOnline, RunStatus.Runing); SetBoxStatus(DeviceStatus.StoreOnline, RunStatus.Runing);
LogInfo($"入库 {MoveInfo.SLog}:入库结束[{MoveInfo.MoveParam.PosInfo.PosId}][{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveInfo.EndMove(); MoveInfo.EndMove();
AutoInout.InOutEndProcess(this, MoveType.InStore); AutoInout.InOutEndProcess(this, MoveType.InStore);
LogInfo($"入库 {MoveInfo.SLog}:入库结束[{MoveInfo.MoveParam.PosInfo.PosId}][{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
} }
else else
{ {
......
...@@ -223,10 +223,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -223,10 +223,10 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SO_19_InOutBackFromBuff); MoveInfo.NextMoveStep(StepEnum.SO_19_InOutBackFromBuff);
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成,移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成,移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P1(); XAxis_To_P1();
//出库料盘放置成功,将料盘信息写入对应出料口
SetReelInfoToBuff();
break; break;
case StepEnum.SO_19_InOutBackFromBuff: case StepEnum.SO_19_InOutBackFromBuff:
//出库料盘放置成功,将料盘信息写入对应出料口
SetReelInfoToBuff();
if (MoveInfo.MoveParam.PosInfoBack == null) if (MoveInfo.MoveParam.PosInfoBack == null)
{ {
MoveInfo.NextMoveStep(StepEnum.SO_20_Finish); MoveInfo.NextMoveStep(StepEnum.SO_20_Finish);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!