From a383b2288dcfb90e9aa1dcf796e41d9c6be1e429 Mon Sep 17 00:00:00 2001
From: patrick.xu <patrick.xu@broconcentric.com>
Date: 星期一, 02 八月 2021 17:26:56 +0800
Subject: [PATCH] 1. 部分修改

---
 src/Bro.M071.Process/M071Process.cs |   82 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 13 deletions(-)

diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs
index 69301a8..84bb887 100644
--- a/src/Bro.M071.Process/M071Process.cs
+++ b/src/Bro.M071.Process/M071Process.cs
@@ -58,25 +58,31 @@
         {
             InitialSetting();
 
-            base.Open();
+            if (!Config.IsOfflineMode)
+            {
+                base.Open();
 
-            InitialMotionCardBaseAxisAlarm();
+                InitialMotionCardBaseAxisAlarm();
 
-            SwitchBeep(false);
-            SwitchLightGreen(false);
-            SwitchLightRed(false);
-            SwitchLightYellow(false);
+                SwitchBeep(false);
+                SwitchLightGreen(false);
+                SwitchLightRed(false);
+                SwitchLightYellow(false);
 
-            Reset(null, null, null);
-            FullReset(null);
+                Reset(null, null, null);
+                FullReset(null);
+            }
 
             if (Config.Precision > 0)
             {
                 _precision = "f" + Config.Precision;
             }
 
-            IncomingCheckMethod = InitialMESWebServiceMethod(IncomingCheckMethodName, out IncomingCheckObj);
-            DataUploadMethod = InitialMESWebServiceMethod(DataUploadMethodName, out DataUploadObj);
+            if (Config.IsEnableMESUpload)
+            {
+                IncomingCheckMethod = InitialMESWebServiceMethod(IncomingCheckMethodName, out IncomingCheckObj);
+                DataUploadMethod = InitialMESWebServiceMethod(DataUploadMethodName, out DataUploadObj);
+            }
 
             var allowedShiftStr = ConfigurationManager.AppSettings["DataShift"];
             if (!double.TryParse(allowedShiftStr, out _allowedShift))
@@ -268,7 +274,7 @@
                 _isdoing = true;
             }
 
-            MachineState = MachineState.Running;
+            MeasureState = MachineState = MachineState.Running;
 
             OnCheckHintUpload?.Invoke(hint, true);
             OnMeasureStart?.Invoke();
@@ -525,6 +531,48 @@
 
             return new ProcessResponse();
         }
+
+        [ProcessMethod("KeyUnitGenerate", "GenerateKeyUnitByKeyNames", "鐢熸垚鍗曢敭閰嶇疆", InvokeType.TestInvoke)]
+        public ProcessResponse GenerateKeyUnitByKeyNames(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice)
+        {
+            if (opConfig is KeyUnitGenerateConfig config)
+            {
+                int i = 1;
+                bool isStart = false;
+                bool isEnd = false;
+                foreach (string k in Config.KeyNameCollection)
+                {
+                    if (k == config.StartKey)
+                    {
+                        isStart = true;
+                    }
+                    else if (k == config.EndKey)
+                    {
+                        isEnd = true;
+                    }
+
+                    if (isStart)
+                    {
+                        KeyUnit unit = new KeyUnit();
+                        unit.Key = unit.AliasName = k;
+                        unit.SnapshotPointId = config.SnapshotPointId;
+                        unit.KeyAlgorithemId = config.KeyAlgorithemId;
+                        unit.KeyResultId = config.KeyResultId;
+                        unit.ImageSeq = i;
+
+                        Config.KeyUnitCollection.Add(unit);
+                        i++;
+                    }
+
+                    if (isEnd)
+                    {
+                        break;
+                    }
+                }
+            }
+
+            return new ProcessResponse(true);
+        }
         #endregion
 
         #region 绉佹湁鏂规硶
@@ -648,6 +696,7 @@
                 //if (MachineState == MachineState.Running)
                 //    MachineState = MachineState.Ready;
 
+                MeasureState = MachineState.Ready;
                 if (MachineState != MachineState.Alarm)
                 {
                     if (MachineState == MachineState.Pause)
@@ -1438,8 +1487,15 @@
 
                             keyBindList.ForEach(kb =>
                             {
-                                kb.KeyImages.Add(image.ConvertHObjectToHImage());
-                                kb.FillKeyValues(resultDict);
+                                if (kb.KeyImages != null)
+                                {
+                                    kb.KeyImages.Add(image.ConvertHObjectToHImage());
+                                    kb.FillKeyValues(resultDict);
+                                }
+                                else
+                                {
+
+                                }
                             });
                         });
 

--
Gitblit v1.8.0