|
|
|
@ -130,6 +130,11 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int undoTaskNum = 0;
|
|
|
|
|
int scanNum = 0;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 料仓是否可以上料
|
|
|
|
|
/// </summary>
|
|
|
|
|
private bool stockCanLoadFlag = true;
|
|
|
|
|
|
|
|
|
|
public override void Run()
|
|
|
|
|
{
|
|
|
|
|
switch (flowStep)
|
|
|
|
@ -207,24 +212,54 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
logInfo = GetClassName()+ $"{curTask.FromType.ToString()}盘无料,准备切换料盘";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
TakeTrayFlow.Instance.Take(ETrayType.Input, ETrayType.Empty1,
|
|
|
|
|
() =>
|
|
|
|
|
{
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
if(stockCanLoadFlag)
|
|
|
|
|
{
|
|
|
|
|
logInfo = GetClassName() + $"{curTask.FromType.ToString()}盘无料,准备切换料盘";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
TakeTrayFlow.Instance.Take(ETrayType.Input, ETrayType.Empty1,
|
|
|
|
|
() =>
|
|
|
|
|
{
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).Load(EStockTrayLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
}, null,
|
|
|
|
|
() =>
|
|
|
|
|
{
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).Load(EStockTrayLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
}, null,
|
|
|
|
|
() =>
|
|
|
|
|
{
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Empty1).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Empty1).Unload(EStockTrayUnLoadMode.Whole, null);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).WaitFinished();
|
|
|
|
|
//上料完成后判断是否时最后一盘料
|
|
|
|
|
Task.Run(() => {
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
|
if (Ops.IsOn(""))
|
|
|
|
|
{
|
|
|
|
|
stockCanLoadFlag = false;
|
|
|
|
|
logInfo = "Input料仓最后一盘料,请确认是否继续上料?";
|
|
|
|
|
msgBox = MsgBox.ShowDialog(111, logInfo, ETipButton.Yes | ETipButton.No);
|
|
|
|
|
if (msgBox.Button == ETipButton.Yes)
|
|
|
|
|
{
|
|
|
|
|
//继续上料,这时需要继续检测料仓是否有料
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//点击了最后一盘料
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
stockCanLoadFlag = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).WaitFinished();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -424,7 +459,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
reFetchNum++;
|
|
|
|
|
if (reFetchNum == 6)
|
|
|
|
|
if (reFetchNum == GlobalVar.DischargeRetakeNum)
|
|
|
|
|
{
|
|
|
|
|
DischargeDumpFlow.Instance.Start(curTask.FromType, curNozzle.NozzleIndex, curNozzle.FromIndex);
|
|
|
|
|
//alarmInfo = $"排料{curNozzle.NozzleIndex}号吸嘴取{curNozzle.FromIndex+1}号穴位产品{reFetchNum}次失败";
|
|
|
|
|