From d3a44f202c0b12cbac67c71129c3c4f480df55b9 Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期三, 15 七月 2020 15:48:32 +0800
Subject: [PATCH] 光幕触发修改为同步,消弭信号抖动问题 Excel导出测试

---
 src/Bro.M071.Process/M071Process_MotionCard.cs |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/Bro.M071.Process/M071Process_MotionCard.cs b/src/Bro.M071.Process/M071Process_MotionCard.cs
index fbc4314..6f93730 100644
--- a/src/Bro.M071.Process/M071Process_MotionCard.cs
+++ b/src/Bro.M071.Process/M071Process_MotionCard.cs
@@ -653,13 +653,16 @@
 
         ManualResetEventSlim _pausedHandle = new ManualResetEventSlim(true);
         MachineState _machineStateBeforePause = MachineState.Unknown;
-        private async void CheckMachinePauseState()
+        private void CheckMachinePauseState()
         {
-            await Task.Run(() =>
+            //await Task.Run(() =>
             {
                 if (IsMachinePaused)
                 {
-                    _machineStateBeforePause = MachineState;
+                    if (MachineState == MachineState.Ready || MachineState == MachineState.Running)
+                    {
+                        _machineStateBeforePause = MachineState;
+                    }
                     MachineState = MachineState.Pause;
                     _pausedHandle.Reset();
 
@@ -681,7 +684,8 @@
                         MachineState = _machineStateBeforePause;
                     }
                 }
-            });
+            }
+            //);
         }
 
         public bool IsMachinePaused
@@ -711,9 +715,6 @@
         [ProcessMethod("", "SafetyBeamSignal", "瀹夊叏鍏夊箷淇″彿鐩戞帶锛屾甯窸N锛孫FF鏃舵姤璀�", InvokeType.TestInvoke)]
         public ProcessResponse SafetyBeamSignal(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice)
         {
-            //if (MachineState != MachineState.Running && MachineState != MachineState.Pause)
-            //    return new ProcessResponse(true);
-
             if (opConfig.InputPara == null || opConfig.InputPara.Count == 0)
                 throw new ProcessException("瀹夊叏鍏夊箷鐩戞帶鏈厤缃緭鍏ヤ俊鍙�");
 
@@ -756,7 +757,7 @@
 
             IsEmergencyStopped = opConfig.InputPara[0] == 0;
 
-            if (IsEmergencyStopped)
+            if (isEmergencyStopped)
             {
                 RaisedAlarm("鎬ュ仠鎸夐挳琚媿涓�");
                 MachineState = MachineState.Alarm;

--
Gitblit v1.8.0