From f7cdd1d6b39a947966999e8af882c2bba6a29ea5 Mon Sep 17 00:00:00 2001 From: lhiven Date: Wed, 27 Sep 2023 10:59:49 +0900 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=99=E7=9B=98=E5=88=B0?= =?UTF-8?q?=E4=BD=8D=E8=B6=85=E6=97=B6=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Rs.SkyLine/Flow/Space/TrayTest.cs | 90 ++++++++++++++++++------------- 1 file changed, 53 insertions(+), 37 deletions(-) diff --git a/Rs.SkyLine/Flow/Space/TrayTest.cs b/Rs.SkyLine/Flow/Space/TrayTest.cs index 17caec0..5e26bde 100644 --- a/Rs.SkyLine/Flow/Space/TrayTest.cs +++ b/Rs.SkyLine/Flow/Space/TrayTest.cs @@ -4,6 +4,7 @@ using Rs.Motion; using Rs.Motion.Base; using Rs.MotionPlat.Commom; using Rs.MotionPlat.Flow; +using System.Diagnostics; using System.Threading; namespace Rs.AutoDischarge.V3.Flow @@ -97,6 +98,8 @@ namespace Rs.AutoDischarge.V3.Flow bool bStop= false; IAxis StockFlow = null; IAxis StockZ=null; + Stopwatch timer = new Stopwatch(); + string loginfo = ""; public override void Run() { @@ -262,48 +265,61 @@ namespace Rs.AutoDischarge.V3.Flow case ETrayTestStep.到上料终点位: StockFlow.MoveOffset(-1* SysConfigParam.GetValue("LowSpeedDistance"), 3); Step = ETrayTestStep.等待到上料终点位; + timer.Restart(); break; case ETrayTestStep.等待到上料终点位: - if (IoManager.Instance.ReadIn($"{stockNo}号料仓料盘到位光电检测") == 1) + if(timer.ElapsedMilliseconds<=1000*30) { - switch (stockNo) + if (IoManager.Instance.ReadIn($"{stockNo}号料仓料盘到位光电检测") == 1) { - case 1: - GlobalTray.Empty1Tray.ResetTray(); - GlobalTray.Empty1Tray.Clear(); - break; - case 2: - GlobalTray.InputTray.ResetTray(); - GlobalTray.InputTray.Fill(); - break; - case 3: - GlobalTray.OkTary.ResetTray(); - GlobalTray.OkTary.Clear(); - break; - case 4: - GlobalTray.NgTray.ResetTray(); - GlobalTray.NgTray.Clear(); - break; - case 5: - GlobalTray.MultiTray.ResetTray(); - GlobalTray.MultiTray.Clear(); - break; - case 6: - GlobalTray.Empty2Tray.ResetTray(); - GlobalTray.Empty2Tray.Clear(); - break; - default: - break; + switch (stockNo) + { + case 1: + GlobalTray.Empty1Tray.ResetTray(); + GlobalTray.Empty1Tray.Clear(); + break; + case 2: + GlobalTray.InputTray.ResetTray(); + GlobalTray.InputTray.Fill(); + break; + case 3: + GlobalTray.OkTary.ResetTray(); + GlobalTray.OkTary.Clear(); + break; + case 4: + GlobalTray.NgTray.ResetTray(); + GlobalTray.NgTray.Clear(); + break; + case 5: + GlobalTray.MultiTray.ResetTray(); + GlobalTray.MultiTray.Clear(); + break; + case 6: + GlobalTray.Empty2Tray.ResetTray(); + GlobalTray.Empty2Tray.Clear(); + break; + default: + break; + } + Thread.Sleep(500); + StockFlow.Stop(); + Thread.Sleep(200); + IoManager.Instance.WriteOut($"{stockNo}号料仓斜推气缸", 1); + Thread.Sleep(200); + finished = true; + Status = ETrayStatus.Loaded; + Step = ETrayTestStep.等待命令; + Thread.Sleep(200); } - Thread.Sleep(500); - StockFlow.Stop(); - Thread.Sleep(200); - IoManager.Instance.WriteOut($"{stockNo}号料仓斜推气缸", 1); - Thread.Sleep(200); - finished = true; - Status = ETrayStatus.Loaded; - Step = ETrayTestStep.等待命令; - Thread.Sleep(200); + } + else + { + timer.Stop(); + loginfo = $"料仓{stockNo}上料未到位,请手动处理后,点击确定"; + MessageQueue.Instance.Warn(loginfo); + LogHelper.Debug(loginfo); + Msg.ShowError(loginfo); + timer.Restart(); } break; }