|
|
|
@ -950,11 +950,25 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else if (curNozzle.ToType == TurnoverType.Passed)
|
|
|
|
|
{
|
|
|
|
|
downSlot = GlobalTray.OkTary.GetSlot(ESlotStatus.NotHave);
|
|
|
|
|
if(GlobalVar.InputTrayLoop)
|
|
|
|
|
{
|
|
|
|
|
downSlot = GlobalTray.InputTray.GetSlot(ESlotStatus.NotHave);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
downSlot = GlobalTray.OkTary.GetSlot(ESlotStatus.NotHave);
|
|
|
|
|
}
|
|
|
|
|
if (downSlot != null)
|
|
|
|
|
{
|
|
|
|
|
curNozzle.ToIndex = downSlot.Index - 1;
|
|
|
|
|
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Ok, downSlot.Index);
|
|
|
|
|
if(GlobalVar.InputTrayLoop)
|
|
|
|
|
{
|
|
|
|
|
curSlotPoint = TrayPointManager.GetSlotPoint(ETrayType.Input, downSlot.Index);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
curSlotPoint = TrayPointManager.GetSlotPoint(ETrayType.Ok, downSlot.Index);
|
|
|
|
|
}
|
|
|
|
|
logInfo = GetClassName()+$"排料吸嘴{curNozzle.NozzleIndex}号到{curNozzle.ToType}盘{curNozzle.ToIndex+1}号穴位上方";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
}
|
|
|
|
@ -1519,9 +1533,18 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
else if (curNozzle.ToType == TurnoverType.Passed)
|
|
|
|
|
{
|
|
|
|
|
curNozzle.ToFloor = StockManager.Instance.GetStock(ETrayType.Ok).GetFloor();
|
|
|
|
|
GlobalTray.OkTary.ChangeStatus(curNozzle.ToIndex + 1, ESlotStatus.Have);
|
|
|
|
|
TrayStatusManager.Fill(ETrayType.Ok, curNozzle.ToIndex + 1);
|
|
|
|
|
if (GlobalVar.InputTrayLoop)
|
|
|
|
|
{
|
|
|
|
|
curNozzle.ToFloor = StockManager.Instance.GetStock(ETrayType.Input).GetFloor();
|
|
|
|
|
GlobalTray.InputTray.ChangeStatus(curNozzle.ToIndex + 1, ESlotStatus.Have);
|
|
|
|
|
TrayStatusManager.Fill(ETrayType.Input, curNozzle.ToIndex + 1);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
curNozzle.ToFloor = StockManager.Instance.GetStock(ETrayType.Ok).GetFloor();
|
|
|
|
|
GlobalTray.OkTary.ChangeStatus(curNozzle.ToIndex + 1, ESlotStatus.Have);
|
|
|
|
|
TrayStatusManager.Fill(ETrayType.Ok, curNozzle.ToIndex + 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (curNozzle.ToType == TurnoverType.Failed)
|
|
|
|
|
{
|
|
|
|
@ -1586,6 +1609,13 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
errCode = AxisControl.LoadY.MovePos(SysConfigParam.GetValue<double>("LoadYStartPos"), GlobalVar.WholeSpeed);
|
|
|
|
|
if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis)
|
|
|
|
|
{
|
|
|
|
|
//if(curNozzle.ToType== TurnoverType.ToBeTested
|
|
|
|
|
// ||curNozzle.ToType== TurnoverType.Passed
|
|
|
|
|
// || curNozzle.ToType== TurnoverType.Failed
|
|
|
|
|
// || curNozzle.ToType== TurnoverType.Multifunction)
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
ZRHomeFlow.Instance.GoHome();
|
|
|
|
|
if (GlobalVar.VirtualAxis)
|
|
|
|
|
{
|
|
|
|
@ -1608,17 +1638,17 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
case EDischargeFlowStep.等待任务结束到安全位:
|
|
|
|
|
if(Ops.IsStop("LoadX", "LoadY") || GlobalVar.VirtualAxis)
|
|
|
|
|
{
|
|
|
|
|
logInfo = GetClassName()+ $"任务结束已回到安全位";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
if (TestCenter.Instance.LoadResult())
|
|
|
|
|
{
|
|
|
|
|
logInfo = GetClassName()+ $"通知中控任务完成";
|
|
|
|
|
logInfo = GetClassName() + $"通知中控任务完成";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LoadAndUnloadTask.Instance.Clear();
|
|
|
|
|
logInfo = GetClassName()+$"任务完成,清除任务";
|
|
|
|
|
logInfo = GetClassName() + $"任务完成,清除任务";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
}
|
|
|
|
|
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
|
|
|
|
|
logInfo = GetClassName()+ $"任务结束已回到安全位";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
flowStep = EDischargeFlowStep.等待任务;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|