From 57d83702cd801179da4465ad9c99b183e27bc954 Mon Sep 17 00:00:00 2001 From: lhiven <2366881222@qq.com> Date: Mon, 1 Jan 2024 22:18:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=80=E5=90=8E=E4=B8=80?= =?UTF-8?q?=E7=9B=98=E6=96=99=E6=8F=90=E7=A4=BA=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8E=92=E6=96=99=E9=87=8D=E5=8F=96=E6=AC=A1=E6=95=B0=E3=80=81?= =?UTF-8?q?=E5=91=A8=E8=BD=AC=E9=87=8D=E5=8F=96=E6=AC=A1=E6=95=B0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs | 65 ++++++++++++++++----- Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs | 2 +- 2 files changed, 51 insertions(+), 16 deletions(-) diff --git a/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs b/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs index c2d2f87..14f5377 100644 --- a/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs +++ b/Rs.SkyLine/Flow/NormalFlow/DischargeFlow.cs @@ -130,6 +130,11 @@ namespace Rs.MotionPlat.Flow /// private int undoTaskNum = 0; int scanNum = 0; + /// + /// 料仓是否可以上料 + /// + private bool stockCanLoadFlag = true; + public override void Run() { switch (flowStep) @@ -207,24 +212,54 @@ namespace Rs.MotionPlat.Flow } else { - logInfo = GetClassName()+ $"{curTask.FromType.ToString()}盘无料,准备切换料盘"; - MessageQueue.Instance.Insert(logInfo); - TakeTrayFlow.Instance.Take(ETrayType.Input, ETrayType.Empty1, - () => - { - Task.Run(() => + if(stockCanLoadFlag) + { + logInfo = GetClassName() + $"{curTask.FromType.ToString()}盘无料,准备切换料盘"; + MessageQueue.Instance.Insert(logInfo); + TakeTrayFlow.Instance.Take(ETrayType.Input, ETrayType.Empty1, + () => { - StockManager.Instance.GetStock(ETrayType.Input).Load(EStockTrayLoadMode.Whole, null); - }); - }, null, - () => - { - Task.Run(() => + Task.Run(() => + { + StockManager.Instance.GetStock(ETrayType.Input).Load(EStockTrayLoadMode.Whole, null); + }); + }, null, + () => { - StockManager.Instance.GetStock(ETrayType.Empty1).Unload(EStockTrayUnLoadMode.Whole, null); + Task.Run(() => + { + StockManager.Instance.GetStock(ETrayType.Empty1).Unload(EStockTrayUnLoadMode.Whole, null); + }); }); + StockManager.Instance.GetStock(ETrayType.Input).WaitFinished(); + //上料完成后判断是否时最后一盘料 + Task.Run(() => { + while (true) + { + if (Ops.IsOn("")) + { + stockCanLoadFlag = false; + logInfo = "Input料仓最后一盘料,请确认是否继续上料?"; + msgBox = MsgBox.ShowDialog(111, logInfo, ETipButton.Yes | ETipButton.No); + if (msgBox.Button == ETipButton.Yes) + { + //继续上料,这时需要继续检测料仓是否有料 + } + else + { + //点击了最后一盘料 + break; + } + } + else + { + stockCanLoadFlag = true; + break; + } + } }); - StockManager.Instance.GetStock(ETrayType.Input).WaitFinished(); + } + break; } } @@ -424,7 +459,7 @@ namespace Rs.MotionPlat.Flow else { reFetchNum++; - if (reFetchNum == 6) + if (reFetchNum == GlobalVar.DischargeRetakeNum) { DischargeDumpFlow.Instance.Start(curTask.FromType, curNozzle.NozzleIndex, curNozzle.FromIndex); //alarmInfo = $"排料{curNozzle.NozzleIndex}号吸嘴取{curNozzle.FromIndex+1}号穴位产品{reFetchNum}次失败"; diff --git a/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs b/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs index 1397e03..5202724 100644 --- a/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs +++ b/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs @@ -222,7 +222,7 @@ namespace Rs.MotionPlat.Flow { logInfo = GetClassName() + $"已运动到周转盘取料位上方"; MessageQueue.Instance.Insert(logInfo); - if (retakeNum < 3) + if (retakeNum <= GlobalVar.TurnoverRetakeNum) { Step = ETurnoverFlowStep.到周转盘下方取料位1; }