From e1ae5d1658698a154485d1347f79299519e673c0 Mon Sep 17 00:00:00 2001 From: lhiven Date: Thu, 24 Apr 2025 15:22:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E6=96=B9?= =?UTF-8?q?=E4=BE=BF=E6=8E=92=E6=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Flow/NormalFlow/DischargeFlow.cs | 51 +++++++++++++------ 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs index faea53d..1e9a7f0 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs @@ -1,4 +1,5 @@ -using NPOI.SS.Formula.Eval; +using Newtonsoft.Json; +using NPOI.SS.Formula.Eval; using Rs.Camera; using Rs.Controls; using Rs.Framework; @@ -402,30 +403,48 @@ namespace Rs.MotionPlat.Flow logInfo = GetClassName() + $"视觉检测到穴位{ret.SlotIndex}有料"; LogHelper.Debug(logInfo); fixtureret = FixedGrabProductFlow.Instance.TakePicture(ETrayType.Input, ret.SlotIndex); - if (fixtureret.Result == EOneGrabSixteenResult.Ok) + if (fixtureret !=null && fixtureret.Result == EOneGrabSixteenResult.Ok) { + LogHelper.Debug(GetClassName() + $"{JsonConvert.SerializeObject(fixtureret)}"); if (fixtureret.SN.Length == GlobalVar.BarcodeLength) { - ret.Change(fixtureret.SN, fixtureret.OffsetX, fixtureret.OffsetY); - //takeSlotIndex++; - StockTakeFlow.Instance.Take(ETrayType.Input, takeSlotIndex, NozzleManager.GetIdelNozzle().NozzleIndex); - takeSlotIndex++; - flowStep = EDischargeFlowStep.判断是否需要从料仓取料; - exit = true; + try + { + LogHelper.Debug(GetClassName() + "检测到二维码长度和设置的长度一致"); + ret.Change(fixtureret.SN, fixtureret.OffsetX, fixtureret.OffsetY); + //takeSlotIndex++; + LogHelper.Debug(GetClassName() + $"产品二维码:{fixtureret.SN}准备取料"); + StockTakeFlow.Instance.Take(ETrayType.Input, takeSlotIndex, NozzleManager.GetIdelNozzle().NozzleIndex); + takeSlotIndex++; + flowStep = EDischargeFlowStep.判断是否需要从料仓取料; + exit = true; + } + catch (Exception ex) + { + Msg.ShowError(ex.Message); + } } else { - //报警弹框 - alarmEntity = AlarmCollection.Get(AlarmConstID.二维码长度异常报警).Transform(ret.SlotIndex); - EButtonType buttonSelect = Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true); - if (buttonSelect == EButtonType.Retry) + try + { + LogHelper.Debug(GetClassName() + "检测到二维码长度和设置的长度不一致,弹框报警"); + //报警弹框 + alarmEntity = AlarmCollection.Get(AlarmConstID.二维码长度异常报警).Transform(ret.SlotIndex); + EButtonType buttonSelect = Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true); + if (buttonSelect == EButtonType.Retry) + { + logInfo = GetClassName() + "选择了重试"; + MessageQueue.Instance.Insert(logInfo); + } + } + catch (Exception ex) { - logInfo = GetClassName() + "选择了重试"; - MessageQueue.Instance.Insert(logInfo); + Msg.ShowError(ex.Message); } } } - else if (fixtureret.Result == EOneGrabSixteenResult.LocationOkScanBarcodeFail) + else if (fixtureret != null && fixtureret.Result == EOneGrabSixteenResult.LocationOkScanBarcodeFail) { Nozzle idleNozzle = NozzleManager.GetIdelNozzle(); if (!GlobalVar.ScanFailToTest) @@ -463,7 +482,7 @@ namespace Rs.MotionPlat.Flow } } - else if (fixtureret.Result == EOneGrabSixteenResult.Slant) + else if (fixtureret != null && fixtureret.Result == EOneGrabSixteenResult.Slant) { //报警弹框 alarmEntity = AlarmCollection.Get(AlarmConstID.取料定位失败报警).Transform(ret.SlotIndex);