From 3b0e2084501ea07fbcd1f984585bd64e3a0df241 Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期四, 02 七月 2020 17:14:41 +0800 Subject: [PATCH] 添加板卡基类,提取GTS板卡配置到板卡基类 --- src/Bro.M071.Process/M071Process.cs | 42 +++++++++++++++++++++++++++++++----------- 1 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs index 2667c4f..a6a58a3 100644 --- a/src/Bro.M071.Process/M071Process.cs +++ b/src/Bro.M071.Process/M071Process.cs @@ -154,6 +154,8 @@ } } + List<ProductionMeasurement> productionList = new List<ProductionMeasurement>(); + [ProcessMethod("", "StartJob", "寮�濮嬫壂鎻�", InvokeType.TestInvoke)] public ProcessResponse StartJob(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) { @@ -161,6 +163,12 @@ { throw new ProcessException("鏈緭鍏ヤ骇鍝佹潯鐮侊紝璇峰嬁寮�濮嬫祴閲�"); } + + //妫�鏌ヤ骇鍝佹斁缃甇K + + //姘旂几鎺ㄥ姩鍘嬫澘绉诲姩鍒颁骇鍝佷笂鏂� + + //鍘嬫澘鍘嬬揣浜у搧 OnMeasureStart?.BeginInvoke(null, null); @@ -176,6 +184,16 @@ Measurements = measurements, }; + var existedProduction = productionList.FirstOrDefault(u => u.Barcode == pMeasure.Barcode); + if (existedProduction != null) + { + productionList.Remove(existedProduction); + existedProduction.Dispose(); + existedProduction = null; + } + + productionList.Add(pMeasure); + pMeasure.InitialMeasurementsPropertyChanged(); pMeasure.PropertyChanged += MeasureProduction_PropertyChanged; @@ -183,27 +201,24 @@ { _pauseHandle.WaitHandle.WaitOne(); - IDevice device = DeviceCollection.FirstOrDefault(u => u.Id == s.MotionDevice); + IDevice device = DeviceCollection.FirstOrDefault(u => u.Id == s.MotionOp.Device); if (device == null) throw new ProcessException($"{s.Name}鎷嶇収鐐逛綅鏈缃繍鍔ㄨ澶�"); - IMotion motionDevice = device as IMotion; + IMotionCard motionDevice = device as IMotionCard; if (motionDevice == null) throw new ProcessException($"{s.Name}鎷嶇収鐐逛綅璁剧疆{device.Name}涓嶆槸杩愬姩璁惧"); - if (!motionDevice.MoveToPoint(null)) + var response = motionDevice.Run(s.MotionOp.OpConfig); + if (!response.Result) { - throw new ProcessException("杩愬姩涓", null, ExceptionLevel.Info); + throw new ProcessException($"{device.Name}寮傚父锛寋response.Message}", null, ExceptionLevel.Info); } CameraBase camera = DeviceCollection.FirstOrDefault(u => u.Id == s.CameraOp.Device) as CameraBase; if (camera == null) return; - - //IImageSet imgSet = camera.Snapshot(s.CameraOp.OpConfig); - //if (imgSet == null) - // return; HImage hImage = CollectHImage(camera, s.CameraOp.OpConfig, out string imgSetId); if (string.IsNullOrWhiteSpace(imgSetId)) @@ -215,6 +230,7 @@ }); BarCode = ""; + return new ProcessResponse(true); } @@ -294,8 +310,12 @@ } } + LogAsync(DateTime.Now, $"{m.GetDisplayText()}妫�娴嬬粨鏋�", $"{((m.Spec.MeasureResult ?? false) ? "OK" : "NG")}"); + + IShapeElement indicator = null; + pMeasure.ElementList.Add(indicator); //杈撳嚭鍥惧舰鍩哄厓鍒扮晫闈� todo - OnElementUpdated?.BeginInvoke(null, null, null); + OnElementUpdated?.BeginInvoke(indicator, null, null); SaveKeyImages(pMeasure.Barcode, m); @@ -309,8 +329,6 @@ return; } - - //MES杈撳嚭 todo //Excel鎶ヨ〃杈撳嚭 todo @@ -318,6 +336,8 @@ //鏁版嵁搴撲繚瀛� todo SaveWholeImage(pMeasure); + + productionList.RemoveAll(p => p.Barcode == pMeasure.Barcode); pMeasure.Dispose(); } } -- Gitblit v1.8.0