|
|
|
@ -53,6 +53,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
等待测试工位下料完成,
|
|
|
|
|
等待Input料盘搬运完成,
|
|
|
|
|
等待Input料仓上料完成,
|
|
|
|
|
等待Ok料仓收料完成,
|
|
|
|
|
等待Ok料盘搬运完成,
|
|
|
|
|
等待Ng料仓收料完成,
|
|
|
|
|
等待Ng料盘搬运完成,
|
|
|
|
|
等待Multi料仓收料完成,
|
|
|
|
|
等待Multi料盘搬运完成,
|
|
|
|
|
IDLE
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -173,12 +179,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Msg.ShowInfo("tray has take over,please change tray");
|
|
|
|
|
GlobalTray.InputTray.ResetTray();
|
|
|
|
|
GlobalTray.InputTray.Fill();
|
|
|
|
|
//TakeTrayFlow.Instance.Take(EStockType.Input, EStockType.Empty1, ELoadUnloadType.Unload);
|
|
|
|
|
//restoreFlowStep = EWorkFlowStep.到取料位上方;
|
|
|
|
|
//flowStep = EWorkFlowStep.等待Input料盘搬运完成;
|
|
|
|
|
//Msg.ShowInfo("tray has take over,please change tray");
|
|
|
|
|
//GlobalTray.InputTray.ResetTray();
|
|
|
|
|
//GlobalTray.InputTray.Fill();
|
|
|
|
|
TakeTrayFlow.Instance.Take(EStockType.Input, EStockType.Empty1, ELoadUnloadType.Unload);
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.到取料位上方;
|
|
|
|
|
flowStep = EWorkFlowStep.等待Input料盘搬运完成;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (curSlotPoint != null)
|
|
|
|
@ -554,6 +560,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else if (curNozzle.ToType == TurnoverType.Passed)
|
|
|
|
|
{
|
|
|
|
|
//OK料仓切盘
|
|
|
|
|
downSlot = GlobalTray.OkTary.GetSlot(ESlotStatus.NotHave);
|
|
|
|
|
if (downSlot != null)
|
|
|
|
|
{
|
|
|
|
@ -561,10 +568,13 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Msg.ShowInfo("tray has take over,please change tray");
|
|
|
|
|
GlobalTray.OkTary.ResetTray();
|
|
|
|
|
GlobalTray.OkTary.Clear();
|
|
|
|
|
//Msg.ShowError("last slot");
|
|
|
|
|
//Msg.ShowInfo("tray has take over,please change tray");
|
|
|
|
|
//GlobalTray.OkTary.ResetTray();
|
|
|
|
|
//GlobalTray.OkTary.Clear();
|
|
|
|
|
//TakeTrayFlow.Instance.Take(EStockType.Input, EStockType.Empty1, ELoadUnloadType.Unload);
|
|
|
|
|
StockManager.Instance.UnLoad(EStockType.Ok);
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.到放料位上方;
|
|
|
|
|
flowStep = EWorkFlowStep.等待Ok料仓收料完成;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (curNozzle.ToType == TurnoverType.Failed)
|
|
|
|
@ -576,8 +586,11 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
GlobalTray.NgTray.ResetTray();
|
|
|
|
|
GlobalTray.NgTray.Clear();
|
|
|
|
|
//GlobalTray.NgTray.ResetTray();
|
|
|
|
|
//GlobalTray.NgTray.Clear();
|
|
|
|
|
StockManager.Instance.UnLoad(EStockType.Ng);
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.到放料位上方;
|
|
|
|
|
flowStep = EWorkFlowStep.等待Ng料仓收料完成;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (curNozzle.ToType == TurnoverType.Multifunction)
|
|
|
|
@ -589,8 +602,11 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
GlobalTray.MultiTray.ResetTray();
|
|
|
|
|
GlobalTray.MultiTray.Clear();
|
|
|
|
|
//GlobalTray.MultiTray.ResetTray();
|
|
|
|
|
//GlobalTray.MultiTray.Clear();
|
|
|
|
|
StockManager.Instance.UnLoad(EStockType.Multi);
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.到放料位上方;
|
|
|
|
|
flowStep = EWorkFlowStep.等待Multi料仓收料完成;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -866,6 +882,48 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.IDLE;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EWorkFlowStep.等待Ok料仓收料完成:
|
|
|
|
|
if(StockManager.Instance.GetStockStatus( EStockType.Ok)== AutoDischarge.V3.Flow.ETrayStatus.Unloaded)
|
|
|
|
|
{
|
|
|
|
|
flowStep = EWorkFlowStep.等待Ok料盘搬运完成;
|
|
|
|
|
TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Ok);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EWorkFlowStep.等待Ok料盘搬运完成:
|
|
|
|
|
if(TakeTrayFlow.Instance.TakeStatus== ETakeStatus.TakeOK && StockManager.Instance.GetStockStatus( EStockType.Ok)== AutoDischarge.V3.Flow.ETrayStatus.Loaded)
|
|
|
|
|
{
|
|
|
|
|
flowStep = restoreFlowStep;
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.IDLE;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EWorkFlowStep.等待Ng料仓收料完成:
|
|
|
|
|
if (StockManager.Instance.GetStockStatus(EStockType.Ng) == AutoDischarge.V3.Flow.ETrayStatus.Unloaded)
|
|
|
|
|
{
|
|
|
|
|
flowStep = EWorkFlowStep.等待Ng料盘搬运完成;
|
|
|
|
|
TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Ng);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EWorkFlowStep.等待Ng料盘搬运完成:
|
|
|
|
|
if (TakeTrayFlow.Instance.TakeStatus == ETakeStatus.TakeOK && StockManager.Instance.GetStockStatus(EStockType.Ng) == AutoDischarge.V3.Flow.ETrayStatus.Loaded)
|
|
|
|
|
{
|
|
|
|
|
flowStep = restoreFlowStep;
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.IDLE;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EWorkFlowStep.等待Multi料仓收料完成:
|
|
|
|
|
if (StockManager.Instance.GetStockStatus(EStockType.Multi) == AutoDischarge.V3.Flow.ETrayStatus.Unloaded)
|
|
|
|
|
{
|
|
|
|
|
flowStep = EWorkFlowStep.等待Multi料盘搬运完成;
|
|
|
|
|
TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Multi);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EWorkFlowStep.等待Multi料盘搬运完成:
|
|
|
|
|
if (TakeTrayFlow.Instance.TakeStatus == ETakeStatus.TakeOK && StockManager.Instance.GetStockStatus(EStockType.Multi) == AutoDischarge.V3.Flow.ETrayStatus.Loaded)
|
|
|
|
|
{
|
|
|
|
|
flowStep = restoreFlowStep;
|
|
|
|
|
restoreFlowStep = EWorkFlowStep.IDLE;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|