中控发送停止时等待所有料仓就绪的状态增加empty

develop
lhiven 11 months ago
parent c53da0f3c5
commit a0cca2ad66

@ -9,6 +9,7 @@ using Rs.MotionPlat.Flow.SafePosFlow;
using Rs.MotionPlat.Flow.SubFlow;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
@ -60,31 +61,38 @@ namespace Rs.MotionPlat.Flow
}
else if(ssi.Info== "Stopped")
{
MessageQueue.Instance.Insert("收到中控停止命令");
MessageQueue.Instance.Insert("收到中控停止命令,等待各个料盘就绪");
Task.Run(() => {
while(true)
{
bool bInput = (StockManager.Instance.GetStock(ETrayType.Input).Status == EStockTrayStatus.Loaded
|| StockManager.Instance.GetStock(ETrayType.Input).Status == EStockTrayStatus.Unloaded);
|| StockManager.Instance.GetStock(ETrayType.Input).Status == EStockTrayStatus.Unloaded
|| StockManager.Instance.GetStock(ETrayType.Input).Status == EStockTrayStatus.Empty);
bool bOk = (StockManager.Instance.GetStock(ETrayType.Ok).Status == EStockTrayStatus.Loaded
|| StockManager.Instance.GetStock(ETrayType.Ok).Status == EStockTrayStatus.Unloaded);
|| StockManager.Instance.GetStock(ETrayType.Ok).Status == EStockTrayStatus.Unloaded
|| StockManager.Instance.GetStock(ETrayType.Ok).Status == EStockTrayStatus.Empty);
bool bNg = (StockManager.Instance.GetStock(ETrayType.Ng).Status == EStockTrayStatus.Loaded
|| StockManager.Instance.GetStock(ETrayType.Ng).Status == EStockTrayStatus.Unloaded);
|| StockManager.Instance.GetStock(ETrayType.Ng).Status == EStockTrayStatus.Unloaded
|| StockManager.Instance.GetStock(ETrayType.Ng).Status == EStockTrayStatus.Empty);
bool bMulti = (StockManager.Instance.GetStock(ETrayType.Multi).Status == EStockTrayStatus.Loaded
|| StockManager.Instance.GetStock(ETrayType.Multi).Status == EStockTrayStatus.Unloaded);
|| StockManager.Instance.GetStock(ETrayType.Multi).Status == EStockTrayStatus.Unloaded
|| StockManager.Instance.GetStock(ETrayType.Multi).Status == EStockTrayStatus.Empty);
bool bEmpty2 = (StockManager.Instance.GetStock(ETrayType.Empty2).Status == EStockTrayStatus.Loaded
|| StockManager.Instance.GetStock(ETrayType.Empty2).Status == EStockTrayStatus.Unloaded);
|| StockManager.Instance.GetStock(ETrayType.Empty2).Status == EStockTrayStatus.Unloaded
|| StockManager.Instance.GetStock(ETrayType.Empty2).Status == EStockTrayStatus.Empty);
if (bInput && bOk && bNg && bMulti && bEmpty2)
{
DischargeFlow.Instance.ResetScanNum();
Ops.Stop();
MessageQueue.Instance.Insert("料仓已全部就绪,设备停止运行");
break;
}
Thread.Sleep(10);
Thread.Sleep(100);
}
});
}

Loading…
Cancel
Save