From 1f2fa3f54d4a7b5a2f601c4c947a06476342e3bd Mon Sep 17 00:00:00 2001
From: patrick.xu <patrick.xu@broconcentric.com>
Date: 星期五, 22 一月 2021 09:23:06 +0800
Subject: [PATCH] 1. gocator驱动将system.stop移到system.ReceiveData之后 2. 修改测量完成后状态切换逻辑,避免安全光线等干扰 3. 添加设备异常输出日志记录 4. 产品结果输出时做硬盘文件记录

---
 src/Bro.M071.Process/M071Process.cs |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs
index cc95119..4a24029 100644
--- a/src/Bro.M071.Process/M071Process.cs
+++ b/src/Bro.M071.Process/M071Process.cs
@@ -208,7 +208,7 @@
             {
                 hint = "鏈哄彴鏈氨缁紝璇峰嬁寮�濮嬫祴閲�";
                 OnCheckHintUpload?.Invoke(hint, true);
-                throw new ProcessException(hint, null, ExceptionLevel.Fatal);
+                throw new ProcessException(hint, null, ExceptionLevel.Warning);
             }
 
             if (string.IsNullOrWhiteSpace(BarCode))
@@ -553,8 +553,20 @@
 
                 LogAsync(DateTime.Now, $"{pMeasure.Barcode} 妫�娴嬪畬鎴愶紝缁撴灉 {pMeasure.PResult}", "");
 
-                if (MachineState == MachineState.Running)
-                    MachineState = MachineState.Ready;
+                //if (MachineState == MachineState.Running)
+                //    MachineState = MachineState.Ready;
+
+                if (MachineState != MachineState.Alarm)
+                {
+                    if (MachineState == MachineState.Pause)
+                    {
+                        _machineStateBeforePause = MachineState.Ready;
+                    }
+                    else
+                    {
+                        MachineState = MachineState.Ready;
+                    }
+                }
 
                 var measurementUnitResultAndKeyUnitDataSet = GetMeasurementUnitResultAndKeyUnitData(pMeasure);
 
@@ -661,7 +673,7 @@
                     }
                     measurementUnitResult.MeasurementType = measurementUnit.MeasureType;
                     measurementUnitResult.MeasurementValue = measurementUnit.Spec.ActualValue == null ? "NA" : measurementUnit.Spec.ActualValue.Value.ToString(_precision);
-                    measurementUnitResult.MeasurementResult = measurementUnit.Spec.MeasureResult.Value ? "OK" : "NG";
+                    measurementUnitResult.MeasurementResult = measurementUnit.Spec.MeasureResult == null ? "NA" : measurementUnit.Spec.MeasureResult.Value ? "OK" : "NG";
 
                     measurementUnitResults.Add(measurementUnitResult);
 

--
Gitblit v1.8.0