|
|
|
@ -51,7 +51,31 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
else if(ssi.Info== "Stopped")
|
|
|
|
|
{
|
|
|
|
|
MessageQueue.Instance.Insert("收到中控停止命令");
|
|
|
|
|
Ops.Stop();
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
while(true)
|
|
|
|
|
{
|
|
|
|
|
bool bInput = (StockManager.Instance.GetStock(ETrayType.Input).Status == EStockTrayStatus.Loaded
|
|
|
|
|
|| StockManager.Instance.GetStock(ETrayType.Input).Status == EStockTrayStatus.Unloaded);
|
|
|
|
|
|
|
|
|
|
bool bOk = (StockManager.Instance.GetStock(ETrayType.Ok).Status == EStockTrayStatus.Loaded
|
|
|
|
|
|| StockManager.Instance.GetStock(ETrayType.Ok).Status == EStockTrayStatus.Unloaded);
|
|
|
|
|
|
|
|
|
|
bool bNg = (StockManager.Instance.GetStock(ETrayType.Ng).Status == EStockTrayStatus.Loaded
|
|
|
|
|
|| StockManager.Instance.GetStock(ETrayType.Ng).Status == EStockTrayStatus.Unloaded);
|
|
|
|
|
|
|
|
|
|
bool bMulti = (StockManager.Instance.GetStock(ETrayType.Multi).Status == EStockTrayStatus.Loaded
|
|
|
|
|
|| StockManager.Instance.GetStock(ETrayType.Multi).Status == EStockTrayStatus.Unloaded);
|
|
|
|
|
|
|
|
|
|
bool bEmpty2 = (StockManager.Instance.GetStock(ETrayType.Empty2).Status == EStockTrayStatus.Loaded
|
|
|
|
|
|| StockManager.Instance.GetStock(ETrayType.Empty2).Status == EStockTrayStatus.Unloaded);
|
|
|
|
|
if (bInput && bOk && bNg && bMulti && bEmpty2)
|
|
|
|
|
{
|
|
|
|
|
Ops.Stop();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
Thread.Sleep(10);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//WorkEnvironment.Instance.Ready();
|
|
|
|
|
//Task.Run(() => {
|
|
|
|
@ -174,7 +198,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
break;
|
|
|
|
|
case EInstruction.GetCurrentRecipe:
|
|
|
|
|
SchedulingResult srcur = JsonConvert.DeserializeObject<SchedulingResult>(msg);
|
|
|
|
|
srcur.Message = "Default";
|
|
|
|
|
srcur.Message = GlobalVar.CurRecipe;
|
|
|
|
|
client.Send(srcur.ToString());
|
|
|
|
|
ReplayTaskEvent?.Invoke(srcur.ToString());
|
|
|
|
|
break;
|
|
|
|
@ -239,7 +263,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Busying);
|
|
|
|
|
SiloRearrange info = JsonConvert.DeserializeObject<SiloRearrange>(json);
|
|
|
|
|
ReportToTestCenter(info);
|
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
Thread.Sleep(200);
|
|
|
|
|
//if(info.SiloType== SchedulingSiloBase.ESiloType.Multifunction)
|
|
|
|
|
{
|
|
|
|
|
TurnoverInfos tis = new TurnoverInfos();
|
|
|
|
@ -361,28 +385,42 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
switch (inquireSilo.SiloType)
|
|
|
|
|
{
|
|
|
|
|
case SchedulingSiloBase.ESiloType.ToBeTested:
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Input}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).Unload(EStockTrayUnLoadMode.Whole,null);
|
|
|
|
|
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Input}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
case SchedulingSiloBase.ESiloType.Passed:
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Ok}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Ok).Unload( EStockTrayUnLoadMode.Whole,null);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Ok}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Ok).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
case SchedulingSiloBase.ESiloType.Failed:
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Ng}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Ng).Unload( EStockTrayUnLoadMode.Whole,null);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Ng}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Ng).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
case SchedulingSiloBase.ESiloType.Multifunction:
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Multi}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Multi).Unload(EStockTrayUnLoadMode.Whole,null);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Multi}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Multi).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
case SchedulingSiloBase.ESiloType.EmptyInput:
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Empty1}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Empty1).Unload( EStockTrayUnLoadMode.Whole,null);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Empty1}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Empty1).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
case SchedulingSiloBase.ESiloType.EmptyOutput:
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Empty2}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Empty2).Unload(EStockTrayUnLoadMode.Whole,null);
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
MessageQueue.Instance.Insert($"{ETrayType.Empty2}料仓收到切盘命令");
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Empty2).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
ReportToTestCenter(inquireSilo);
|
|
|
|
|