Commit f6490380 张东亮

存储机构-bug优化

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