|
|
@ -243,7 +243,6 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = $"检测到还有条任务未执行,继续执行";
|
|
|
|
logInfo = $"检测到还有条任务未执行,继续执行";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
|
|
|
flowStep = ERearrangeFlowStep.到取料位上方;
|
|
|
|
flowStep = ERearrangeFlowStep.到取料位上方;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
@ -262,7 +261,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
if (FetchNum >= GlobalVar.DischargeRetakeNum)
|
|
|
|
if (FetchNum >= GlobalVar.DischargeRetakeNum)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
DischargeDumpFlow.Instance.Start(curTask.FromType, curNozzle.NozzleIndex, curNozzle.FromIndex);
|
|
|
|
DischargeDumpFlow.Instance.Start(curTask.FromType, curNozzle.NozzleIndex, curNozzle.FromIndex);
|
|
|
|
alarmInfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.料仓tray盘取料报警), curNozzle.NozzleIndex, curNozzle.FromIndex + 1);
|
|
|
|
alarmInfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.料仓tray盘取料报警), curNozzle.NozzleIndex, curTask.FromIndex + 1);
|
|
|
|
flowStep = ERearrangeFlowStep.取料失败报警;
|
|
|
|
flowStep = ERearrangeFlowStep.取料失败报警;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
@ -285,14 +284,14 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETipButton.Retry:
|
|
|
|
case ETipButton.Retry:
|
|
|
|
logInfo = GetClassName() + $"选择了重试,继续取料";
|
|
|
|
logInfo = GetClassName() + $"选择了重试,继续取料";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
if (curTask.FromType == TurnoverType.ToBeTested)
|
|
|
|
//if (curTask.FromType == TurnoverType.ToBeTested)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//检测料盘是否在上料位,在上料位则继续取料,不在上料位,则通知料仓把料盘送到上料位
|
|
|
|
//检测料盘是否在上料位,在上料位则继续取料,不在上料位,则通知料仓把料盘送到上料位
|
|
|
|
if (!StockManager.Instance.GetStock(ETrayType.Input).HasTray())
|
|
|
|
if (!StockManager.Instance.GetStock(traytype).HasTray())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"检测到料盘不在就绪状态,上料盘";
|
|
|
|
logInfo = GetClassName() + $"检测到料盘不在就绪状态,上料盘";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).Load(EStockTrayLoadMode.AfterBacked, null);//.Load(EStockType.Input, EStockTrayLoadMode.AfterBacked);
|
|
|
|
StockManager.Instance.GetStock(traytype).Load(EStockTrayLoadMode.AfterBacked, null);//.Load(EStockType.Input, EStockTrayLoadMode.AfterBacked);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FetchNum = 0;
|
|
|
|
FetchNum = 0;
|
|
|
@ -310,50 +309,48 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
logInfo = GetClassName() + $"上料完成,通知相机拍照,检测产品是否已拿走";
|
|
|
|
logInfo = GetClassName() + $"上料完成,通知相机拍照,检测产品是否已拿走";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
haveProduct = UpCameraCheckFlow.Instance.CheckStockTrayHasProduct(traytype, curNozzle.FromIndex + 1, true);
|
|
|
|
haveProduct = UpCameraCheckFlow.Instance.CheckStockTrayHasProduct(traytype, curTask.FromIndex + 1, true);
|
|
|
|
if (!haveProduct.HasProduct)
|
|
|
|
if (!haveProduct.HasProduct)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + "检测到产品已拿走,流程继续";
|
|
|
|
logInfo = GetClassName() + "检测到产品已拿走,流程继续";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
FetchNum = 0;
|
|
|
|
FetchNum = 0;
|
|
|
|
|
|
|
|
curTask.Dealed= true;
|
|
|
|
//执行料仓Tray取料NG时的处理流程,流程处理结束后,流程继续
|
|
|
|
//执行料仓Tray取料NG时的处理流程,流程处理结束后,流程继续
|
|
|
|
GlobalTray.GetTray(traytype).ChangeStatus(curNozzle.FromIndex + 1, ESlotStatus.NotHave);
|
|
|
|
GlobalTray.GetTray(traytype).ChangeStatus(curTask.FromIndex + 1, ESlotStatus.NotHave);
|
|
|
|
if (RearrangeTask.HasTask() && NozzleManager.GetNozzlesByStatus(ENozzleStatus.IDLE).Count > 0)
|
|
|
|
if (RearrangeTask.HasTask() && NozzleManager.GetNozzlesByStatus(ENozzleStatus.IDLE).Count > 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
flowStep = ERearrangeFlowStep.到取料位上方;
|
|
|
|
flowStep = ERearrangeFlowStep.到取料位上方;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(NozzleManager.GetToUnloadNozzle()!=null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
flowStep = ERearrangeFlowStep.到放料位上方;
|
|
|
|
flowStep = ERearrangeFlowStep.到放料位上方;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
flowStep = ERearrangeFlowStep.任务结束到安全位;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
alarmInfo = $"检测到{curNozzle.FromIndex + 1}号穴位产品未取出,请处理";
|
|
|
|
alarmInfo = $"检测到{curTask.FromIndex + 1}号穴位产品未取出,请处理";
|
|
|
|
flowStep = ERearrangeFlowStep.取料失败报警;
|
|
|
|
flowStep = ERearrangeFlowStep.取料失败报警;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETipButton.Yes://移动到安全位
|
|
|
|
case ETipButton.Yes://移动到安全位
|
|
|
|
//通知料仓把料盘退回到安全位
|
|
|
|
//通知料仓把料盘退回到安全位
|
|
|
|
if (curTask.FromType == TurnoverType.ToBeTested)
|
|
|
|
logInfo = GetClassName() + "选择了移动到安全位";
|
|
|
|
{
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
logInfo = GetClassName() + $"通知料仓把料盘退回到安全位";
|
|
|
|
logInfo = GetClassName() + $"通知料仓把料盘退回到安全位";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
StockManager.Instance.GetStock(ETrayType.Input).Unload(EStockTrayUnLoadMode.Back, null);//.UnLoad(EStockType.Input, EStockTrayUnLoadMode.Back);
|
|
|
|
StockManager.Instance.GetStock(traytype).Unload(EStockTrayUnLoadMode.Back, null);//.UnLoad(EStockType.Input, EStockTrayUnLoadMode.Back);
|
|
|
|
//StockManager.Instance.Wait(EStockType.Input);
|
|
|
|
|
|
|
|
logInfo = GetClassName() + $"料仓已退回到安全位";
|
|
|
|
logInfo = GetClassName() + $"料仓已退回到安全位";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
}
|
|
|
|
alarmInfo = $"已运动到安全位,{curNozzle.NozzleIndex}号排料吸嘴取{curTask.FromIndex+1}号穴位产品次失败,请处理";
|
|
|
|
else if (curTask.FromType == TurnoverType.Turnover)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
logInfo = GetClassName() + $"通知排料头回安全位";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
DischargeModuleGoSafePosFlow.Instance.GoSafePostion();
|
|
|
|
|
|
|
|
logInfo = GetClassName() + $"排料头已回到安全位";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
alarmInfo = $"已运动到安全位,{curNozzle.NozzleIndex}号排料吸嘴取{curNozzle.FromIndex}号穴位产品次失败,请处理";
|
|
|
|
|
|
|
|
flowStep = ERearrangeFlowStep.取料失败报警;
|
|
|
|
flowStep = ERearrangeFlowStep.取料失败报警;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|