From 5bf1b91009a182188d6d2245aa71653801eea60b Mon Sep 17 00:00:00 2001 From: wells <123> Date: 星期日, 12 七月 2020 18:09:54 +0800 Subject: [PATCH] debug --- src/Bro.M071.Process/M071Process.cs | 78 +++++++++++++++++++++++++++++---------- 1 files changed, 58 insertions(+), 20 deletions(-) diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs index 7f239ef..300a146 100644 --- a/src/Bro.M071.Process/M071Process.cs +++ b/src/Bro.M071.Process/M071Process.cs @@ -5,6 +5,7 @@ using Bro.M071.DBManager; using Bro.M071.Model; using Bro.M071.Model.Model; +using Bro.M071.Process.UI; using Bro.Process; using HalconDotNet; using Newtonsoft.Json; @@ -12,6 +13,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; +using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Text; @@ -50,6 +52,8 @@ base.Open(); + InitialMotionCardBaseAxisAlarm(); + SwitchBeep(false); SwitchLightGreen(false); SwitchLightRed(false); @@ -57,12 +61,28 @@ Reset(null, null, null); FullReset(null); + + } + + private void InitialMotionCardBaseAxisAlarm() + { + if (outputCtrlCard != null) + { + outputCtrlCard.OnAxisAlarmRaised -= MotionCard_OnAxisAlarmRaised; + outputCtrlCard.OnAxisAlarmRaised += MotionCard_OnAxisAlarmRaised; + } + } + + private void MotionCard_OnAxisAlarmRaised(int axisIndex, string alarmMsg) + { + RaisedAlarm(alarmMsg); + MachineState = MachineState.Alarm; } private void InitialSetting() { //鏁版嵁搴撹縼绉绘鏌� - DatabaseInitialize.Initialize(); + //DatabaseInitialize.Initialize(); MotionCardSettingCheck(); @@ -161,6 +181,11 @@ [ProcessMethod("", "StartJob", "寮�濮嬫壂鎻�", InvokeType.TestInvoke)] public ProcessResponse StartJob(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) { + if (!IsAllowedWork) + { + throw new ProcessException(SafetyMsg, null, ExceptionLevel.Fatal); + } + if (MachineState != MachineState.Ready) throw new ProcessException("鏈哄彴鏈氨缁紝璇峰嬁寮�濮嬫祴閲�", null, ExceptionLevel.Fatal); @@ -202,6 +227,11 @@ Config.SnapshotPointCollection.Where(u => u.IsEnabled).ToList().ForEach(s => { _pauseHandle.WaitHandle.WaitOne(); + + if (MachineState != MachineState.Running) + { + throw new ProcessException("鏈哄彴鐘舵�佷笉鍦ㄨ繍琛屼腑锛岄��鍑烘娴�"); + } IDevice device = DeviceCollection.FirstOrDefault(u => u.Id == s.MotionOp.Device); if (device == null) @@ -346,7 +376,9 @@ LogAsync(DateTime.Now, $"{m.GetDisplayText()}妫�娴嬬粨鏋�", $"{((m.Spec.MeasureResult ?? false) ? "OK" : "NG")}"); - IShapeElement indicator = null; + KeyIndicator indicator = new KeyIndicator(m.Id, m.DisplayLocation); + indicator.Text = (m.Spec.ActualValue == null || m.Spec.ActualValue == -999) ? "NA" : m.Spec.ActualValue.Value.ToString("f2"); + indicator.ResultState = m.Spec.MeasureResult; pMeasure.ElementList.Add(indicator); //杈撳嚭鍥惧舰鍩哄厓鍒扮晫闈� OnElementUpdated?.BeginInvoke(indicator, null, null); @@ -379,13 +411,13 @@ //MES杈撳嚭 todo if (Config.IsEnableMESUpload) - { + { } - //Excel鎶ヨ〃杈撳嚭 锛堝崟涓骇鍝佺殑excel瀵煎嚭锛� - ExportProductionExcel(measurementUnitResultAndKeyUnitDataSet); - //鏁版嵁搴撲繚瀛� - SaveProductionData(measurementUnitResultAndKeyUnitDataSet); + ////Excel鎶ヨ〃杈撳嚭 锛堝崟涓骇鍝佺殑excel瀵煎嚭锛� + //ExportProductionExcel(measurementUnitResultAndKeyUnitDataSet); + ////鏁版嵁搴撲繚瀛� + //SaveProductionData(measurementUnitResultAndKeyUnitDataSet); SaveWholeImage(pMeasure); @@ -472,17 +504,20 @@ { foreach (var keyValue in keyUnit.MeasureValueDict)//鑾峰彇鍗曚釜閿殑鍗曚釜娴嬮噺item 缁撴灉 { - KeyUnitData keyUnitData = new KeyUnitData(); - keyUnitData.Key = keyUnit.Key; - keyUnitData.MeasurementItem = keyValue.Key; - keyUnitData.ItemValue = keyValue.Value.ToString(); - keyUnitDatas.Add(keyUnitData); + bool isExist = keyUnitDatas.Any(u => u.Key == keyUnit.Key && u.MeasurementItem == keyValue.Key); + if (!isExist)//宸插瓨鍦� 涓嶉噸澶嶆坊鍔犲師濮嬫暟鎹� + { + KeyUnitData keyUnitData = new KeyUnitData(); + keyUnitData.Key = keyUnit.Key; + keyUnitData.MeasurementItem = keyValue.Key; + keyUnitData.ItemValue = keyValue.Value.ToString(); + keyUnitDatas.Add(keyUnitData); - MeasurementAndKeyDataRelation measurementAndKeyDataRelation = new MeasurementAndKeyDataRelation(); - measurementAndKeyDataRelation.MeasurementUnitResultId = measurementUnitResult.ID; - measurementAndKeyDataRelation.KeyUnitDataId = keyUnitData.ID; - measurementAndKeyDataRelationList.Add(measurementAndKeyDataRelation); - + MeasurementAndKeyDataRelation measurementAndKeyDataRelation = new MeasurementAndKeyDataRelation(); + measurementAndKeyDataRelation.MeasurementUnitResultId = measurementUnitResult.ID; + measurementAndKeyDataRelation.KeyUnitDataId = keyUnitData.ID; + measurementAndKeyDataRelationList.Add(measurementAndKeyDataRelation); + } } } } @@ -500,6 +535,9 @@ private async void ExportProductionExcel(ProductionMeasurementUnitResultAndKeyUnitDataSet measurementUnitResultAndKeyUnitDataSet) { + if (!Config.IsCSVOutputEnabled) + return; + await Task.Run(() => { ExcelExportSet excelExportDto = new ExcelExportSet(); @@ -524,7 +562,7 @@ excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[1]] = ExcelExportHelper.ListToDataTable(measurementUnitResultAndKeyUnitDataSet.MeasurementUnitResultList, measurementUnitResultColumns); ; byte[] filecontent = ExcelExportHelper.ExportExcel(excelExportDto, false); - string dir = Path.Combine(Config.ResultDataSaveFolder, DateTime.Now.ToString("yyyyMMdd")); + string dir = Path.Combine(Config.LogPath, DateTime.Now.ToString("yyyyMMdd")); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); @@ -561,7 +599,7 @@ Directory.CreateDirectory(dir); } - map.Save(Path.Combine(dir, $"{pMeasure.Barcode}_{DateTime.Now.ToString("HHmmss")}.bmp")); + map.Save(Path.Combine(dir, $"{pMeasure.Barcode}_{pMeasure.PResult}_{DateTime.Now.ToString("HHmmss")}.png"), ImageFormat.Png); } catch (Exception ex) { @@ -690,7 +728,7 @@ { _halconToolDict[keyToolKey].InputImageDic["INPUT_Image"] = image; _halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_X"] = scanParam.Resolution_X; - _halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_Z"] = scanParam.Resolution_Z; + //_halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_Z"] = scanParam.Resolution_Z; if (!_halconToolDict[keyToolKey].RunProcedure(out string error)) { LogAsync(DateTime.Now, $"{k.AliasName}妫�娴嬬畻娉曞紓甯革紝{error}", ""); -- Gitblit v1.8.0