优化排料Z轴回原逻辑

master
lhiven 2 years ago
parent 3c83d01715
commit 09824bf014

@ -138,10 +138,10 @@ namespace Rs.MotionPlat.Flow
public bool IsReady() public bool IsReady()
{ {
return ((Input.Status == ETrayStatus.Loaded) return (((Input.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Input)))
&& (Ok.Status == ETrayStatus.Loaded) && (Ok.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Ok))
&& (Ng.Status == ETrayStatus.Loaded) && (Ng.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Ng))
&& (Multi.Status == ETrayStatus.Loaded)); && (Multi.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Multi)));
} }
public void Stop() public void Stop()

@ -238,7 +238,8 @@ namespace Rs.MotionPlat.Flow
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Busying); MachineManage.Instance.SetLoadUnloadStatus(ERunState.Busying);
SiloRearrange info = JsonConvert.DeserializeObject<SiloRearrange>(json); SiloRearrange info = JsonConvert.DeserializeObject<SiloRearrange>(json);
Send(info); Send(info);
if(info.SiloType== SchedulingSiloBase.ESiloType.Multifunction) Thread.Sleep(1000);
//if(info.SiloType== SchedulingSiloBase.ESiloType.Multifunction)
{ {
TurnoverInfos tis = new TurnoverInfos(); TurnoverInfos tis = new TurnoverInfos();
tis.GroupID = 0; tis.GroupID = 0;
@ -246,42 +247,42 @@ namespace Rs.MotionPlat.Flow
Send(tis); Send(tis);
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
} }
else if(info.SiloType== SchedulingSiloBase.ESiloType.Passed) //else if(info.SiloType== SchedulingSiloBase.ESiloType.Passed)
{ //{
TraySlot ts = GlobalTray.OkTary.GetSlot(Controls.ESlotStatus.NotHave); // TraySlot ts = GlobalTray.OkTary.GetSlot(Controls.ESlotStatus.NotHave);
if((ts.Index-1)%10==0) // if((ts.Index-1)%10==0)
{ // {
TurnoverInfos tis = new TurnoverInfos(); // TurnoverInfos tis = new TurnoverInfos();
tis.GroupID = 0; // tis.GroupID = 0;
tis.Instruction = EInstruction.RearrangeResult; // tis.Instruction = EInstruction.RearrangeResult;
Send(tis); // Send(tis);
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); // MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
} // }
else // else
{ // {
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Passed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ok).GetFloor()); // List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Passed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ok).GetFloor());
RearrangeTask.AddRanage(rearrangeList); // RearrangeTask.AddRanage(rearrangeList);
RearrangeFlow.Instance.Start(); // RearrangeFlow.Instance.Start();
} // }
} //}
else if (info.SiloType == SchedulingSiloBase.ESiloType.Failed) //else if (info.SiloType == SchedulingSiloBase.ESiloType.Failed)
{ //{
TraySlot ts = GlobalTray.NgTray.GetSlot(ESlotStatus.NotHave); // TraySlot ts = GlobalTray.NgTray.GetSlot(ESlotStatus.NotHave);
if ((ts.Index-1) % 10 == 0) // if ((ts.Index-1) % 10 == 0)
{ // {
TurnoverInfos tis = new TurnoverInfos(); // TurnoverInfos tis = new TurnoverInfos();
tis.GroupID = 0; // tis.GroupID = 0;
tis.Instruction = EInstruction.RearrangeResult; // tis.Instruction = EInstruction.RearrangeResult;
Send(tis); // Send(tis);
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); // MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
} // }
else // else
{ // {
List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Failed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ng).GetFloor()); // List<TurnoverInfo> rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Failed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ng).GetFloor());
RearrangeTask.AddRanage(rearrangeList); // RearrangeTask.AddRanage(rearrangeList);
RearrangeFlow.Instance.Start(); // RearrangeFlow.Instance.Start();
} // }
} //}
} }
private void LoadAndUnload(string json) private void LoadAndUnload(string json)

@ -836,7 +836,7 @@ namespace Rs.MotionPlat.Flow
MessageQueue.Instance.Insert($"打开{curNozzle.NozzleIndex}号排料吸嘴真空破"); MessageQueue.Instance.Insert($"打开{curNozzle.NozzleIndex}号排料吸嘴真空破");
Ops.On($"{curNozzle.NozzleIndex}号吸嘴真空破电磁阀"); Ops.On($"{curNozzle.NozzleIndex}号吸嘴真空破电磁阀");
Thread.Sleep(GlobalVar.LoadNozzleOpenVacBreakDelaytime); Thread.Sleep(GlobalVar.LoadNozzleOpenVacBreakDelaytime);
flowStep = EWorkFlowStep.;
} }
else else
{ {
@ -935,8 +935,8 @@ namespace Rs.MotionPlat.Flow
case EWorkFlowStep.: case EWorkFlowStep.:
logInfo = "放料任务完成"; logInfo = "放料任务完成";
MessageQueue.Instance.Insert(logInfo); MessageQueue.Instance.Insert(logInfo);
AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").Home(); //AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").Home();
MessageQueue.Instance.Insert($"{curNozzle.NozzleIndex}号排料吸嘴回原"); //MessageQueue.Instance.Insert($"{curNozzle.NozzleIndex}号排料吸嘴回原");
//Ops.HomeAndGoStartPos($"NozzleR{NozzleIndex}"); //Ops.HomeAndGoStartPos($"NozzleR{NozzleIndex}");
if (curNozzle.ToType == TurnoverType.Turnover) if (curNozzle.ToType == TurnoverType.Turnover)
{ {
@ -986,11 +986,19 @@ namespace Rs.MotionPlat.Flow
break; break;
case EWorkFlowStep.: case EWorkFlowStep.:
logInfo = "排料任务结束到安全位";
MessageQueue.Instance.Insert(logInfo);
errCode = AxisControl.LoadX.MovePos(SysConfigParam.GetValue<double>("LoadXStartPos"), GlobalVar.WholeSpeed); errCode = AxisControl.LoadX.MovePos(SysConfigParam.GetValue<double>("LoadXStartPos"), GlobalVar.WholeSpeed);
if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis) if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis)
{ {
AxisControl.GetAxis($"NozzleZ1").Home();
AxisControl.GetAxis($"NozzleZ2").Home();
AxisControl.GetAxis($"NozzleZ3").Home();
AxisControl.GetAxis($"NozzleZ4").Home();
AxisControl.GetAxis($"NozzleZ5").Home();
AxisControl.GetAxis($"NozzleZ6").Home();
AxisControl.GetAxis($"NozzleZ7").Home();
AxisControl.GetAxis($"NozzleZ8").Home();
AxisControl.GetAxis($"NozzleZ9").Home();
errCode = AxisControl.LoadY.MovePos(SysConfigParam.GetValue<double>("LoadYStartPos"), GlobalVar.WholeSpeed); errCode = AxisControl.LoadY.MovePos(SysConfigParam.GetValue<double>("LoadYStartPos"), GlobalVar.WholeSpeed);
if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis) if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis)
{ {
@ -998,6 +1006,8 @@ namespace Rs.MotionPlat.Flow
{ {
Thread.Sleep(GlobalVar.VirtualAxisMoveTime); Thread.Sleep(GlobalVar.VirtualAxisMoveTime);
} }
logInfo = "排料任务结束到安全位";
MessageQueue.Instance.Insert(logInfo);
flowStep = EWorkFlowStep.; flowStep = EWorkFlowStep.;
} }
else else
@ -1264,9 +1274,9 @@ namespace Rs.MotionPlat.Flow
private void MoveFailAlarm(string axisname,ErrorCode _errCode) private void MoveFailAlarm(string axisname,ErrorCode _errCode)
{ {
string alarmStr = $"轴{axisname}运动异常,ret={_errCode}"; //string alarmStr = $"轴{axisname}运动异常,ret={_errCode}";
TestCenterMessageBox.Show(AlarmConstID.MoveFailAlarm, alarmInfo, ETipButton.Ok); //TestCenterMessageBox.Show(AlarmConstID.MoveFailAlarm, alarmStr, ETipButton.Ok);
SchedulingMessageBox box = TestCenterMessageBox.WaitResult(AlarmConstID.MoveFailAlarm); //SchedulingMessageBox box = TestCenterMessageBox.WaitResult(AlarmConstID.MoveFailAlarm);
} }
/// <summary> /// <summary>

Loading…
Cancel
Save