From 09824bf0147fc866f4b5b405ea3c48ca9bdb1390 Mon Sep 17 00:00:00 2001 From: lhiven Date: Sat, 7 Oct 2023 15:43:56 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=92=E6=96=99Z=E8=BD=B4?= =?UTF-8?q?=E5=9B=9E=E5=8E=9F=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Rs.SkyLine/Flow/StockManager.cs | 8 ++-- Rs.SkyLine/Flow/TestCenter.cs | 75 +++++++++++++++++---------------- Rs.SkyLine/Flow/WorkFlow.cs | 26 ++++++++---- 3 files changed, 60 insertions(+), 49 deletions(-) diff --git a/Rs.SkyLine/Flow/StockManager.cs b/Rs.SkyLine/Flow/StockManager.cs index fb7d336..a304eaf 100644 --- a/Rs.SkyLine/Flow/StockManager.cs +++ b/Rs.SkyLine/Flow/StockManager.cs @@ -138,10 +138,10 @@ namespace Rs.MotionPlat.Flow public bool IsReady() { - return ((Input.Status == ETrayStatus.Loaded) - && (Ok.Status == ETrayStatus.Loaded) - && (Ng.Status == ETrayStatus.Loaded) - && (Multi.Status == ETrayStatus.Loaded)); + return (((Input.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Input))) + && (Ok.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Ok)) + && (Ng.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Ng)) + && (Multi.Status == ETrayStatus.Loaded || StockManager.instance.HasTray(EStockType.Multi))); } public void Stop() diff --git a/Rs.SkyLine/Flow/TestCenter.cs b/Rs.SkyLine/Flow/TestCenter.cs index 3f3d90c..d0dd160 100644 --- a/Rs.SkyLine/Flow/TestCenter.cs +++ b/Rs.SkyLine/Flow/TestCenter.cs @@ -238,7 +238,8 @@ namespace Rs.MotionPlat.Flow MachineManage.Instance.SetLoadUnloadStatus(ERunState.Busying); SiloRearrange info = JsonConvert.DeserializeObject(json); Send(info); - if(info.SiloType== SchedulingSiloBase.ESiloType.Multifunction) + Thread.Sleep(1000); + //if(info.SiloType== SchedulingSiloBase.ESiloType.Multifunction) { TurnoverInfos tis = new TurnoverInfos(); tis.GroupID = 0; @@ -246,42 +247,42 @@ namespace Rs.MotionPlat.Flow Send(tis); MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); } - else if(info.SiloType== SchedulingSiloBase.ESiloType.Passed) - { - TraySlot ts = GlobalTray.OkTary.GetSlot(Controls.ESlotStatus.NotHave); - if((ts.Index-1)%10==0) - { - TurnoverInfos tis = new TurnoverInfos(); - tis.GroupID = 0; - tis.Instruction = EInstruction.RearrangeResult; - Send(tis); - MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); - } - else - { - List rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Passed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ok).GetFloor()); - RearrangeTask.AddRanage(rearrangeList); - RearrangeFlow.Instance.Start(); - } - } - else if (info.SiloType == SchedulingSiloBase.ESiloType.Failed) - { - TraySlot ts = GlobalTray.NgTray.GetSlot(ESlotStatus.NotHave); - if ((ts.Index-1) % 10 == 0) - { - TurnoverInfos tis = new TurnoverInfos(); - tis.GroupID = 0; - tis.Instruction = EInstruction.RearrangeResult; - Send(tis); - MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); - } - else - { - List rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Failed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ng).GetFloor()); - RearrangeTask.AddRanage(rearrangeList); - RearrangeFlow.Instance.Start(); - } - } + //else if(info.SiloType== SchedulingSiloBase.ESiloType.Passed) + //{ + // TraySlot ts = GlobalTray.OkTary.GetSlot(Controls.ESlotStatus.NotHave); + // if((ts.Index-1)%10==0) + // { + // TurnoverInfos tis = new TurnoverInfos(); + // tis.GroupID = 0; + // tis.Instruction = EInstruction.RearrangeResult; + // Send(tis); + // MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); + // } + // else + // { + // List rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Passed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ok).GetFloor()); + // RearrangeTask.AddRanage(rearrangeList); + // RearrangeFlow.Instance.Start(); + // } + //} + //else if (info.SiloType == SchedulingSiloBase.ESiloType.Failed) + //{ + // TraySlot ts = GlobalTray.NgTray.GetSlot(ESlotStatus.NotHave); + // if ((ts.Index-1) % 10 == 0) + // { + // TurnoverInfos tis = new TurnoverInfos(); + // tis.GroupID = 0; + // tis.Instruction = EInstruction.RearrangeResult; + // Send(tis); + // MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting); + // } + // else + // { + // List rearrangeList = RearrangeManager.GeneralRearrangeTask(TurnoverType.Failed, ts.Index-1, StockManager.Instance.GetTray(EStockType.Ng).GetFloor()); + // RearrangeTask.AddRanage(rearrangeList); + // RearrangeFlow.Instance.Start(); + // } + //} } private void LoadAndUnload(string json) diff --git a/Rs.SkyLine/Flow/WorkFlow.cs b/Rs.SkyLine/Flow/WorkFlow.cs index 98b7ee0..65d327d 100644 --- a/Rs.SkyLine/Flow/WorkFlow.cs +++ b/Rs.SkyLine/Flow/WorkFlow.cs @@ -836,7 +836,7 @@ namespace Rs.MotionPlat.Flow MessageQueue.Instance.Insert($"打开{curNozzle.NozzleIndex}号排料吸嘴真空破"); Ops.On($"{curNozzle.NozzleIndex}号吸嘴真空破电磁阀"); Thread.Sleep(GlobalVar.LoadNozzleOpenVacBreakDelaytime); - + flowStep = EWorkFlowStep.到放料关破真空位; } else { @@ -935,8 +935,8 @@ namespace Rs.MotionPlat.Flow case EWorkFlowStep.放料任务完成: logInfo = "放料任务完成"; MessageQueue.Instance.Insert(logInfo); - AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").Home(); - MessageQueue.Instance.Insert($"{curNozzle.NozzleIndex}号排料吸嘴回原"); + //AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").Home(); + //MessageQueue.Instance.Insert($"{curNozzle.NozzleIndex}号排料吸嘴回原"); //Ops.HomeAndGoStartPos($"NozzleR{NozzleIndex}"); if (curNozzle.ToType == TurnoverType.Turnover) { @@ -986,11 +986,19 @@ namespace Rs.MotionPlat.Flow break; case EWorkFlowStep.任务结束到安全位: - logInfo = "排料任务结束到安全位"; - MessageQueue.Instance.Insert(logInfo); + errCode = AxisControl.LoadX.MovePos(SysConfigParam.GetValue("LoadXStartPos"), GlobalVar.WholeSpeed); 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("LoadYStartPos"), GlobalVar.WholeSpeed); if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis) { @@ -998,6 +1006,8 @@ namespace Rs.MotionPlat.Flow { Thread.Sleep(GlobalVar.VirtualAxisMoveTime); } + logInfo = "排料任务结束到安全位"; + MessageQueue.Instance.Insert(logInfo); flowStep = EWorkFlowStep.等待任务结束到安全位; } else @@ -1264,9 +1274,9 @@ namespace Rs.MotionPlat.Flow private void MoveFailAlarm(string axisname,ErrorCode _errCode) { - string alarmStr = $"轴{axisname}运动异常,ret={_errCode}"; - TestCenterMessageBox.Show(AlarmConstID.MoveFailAlarm, alarmInfo, ETipButton.Ok); - SchedulingMessageBox box = TestCenterMessageBox.WaitResult(AlarmConstID.MoveFailAlarm); + //string alarmStr = $"轴{axisname}运动异常,ret={_errCode}"; + //TestCenterMessageBox.Show(AlarmConstID.MoveFailAlarm, alarmStr, ETipButton.Ok); + //SchedulingMessageBox box = TestCenterMessageBox.WaitResult(AlarmConstID.MoveFailAlarm); } ///