领胜LDS 键盘AOI检测项目
src/Bro.M071.Process/M071Process_MotionCard.cs
@@ -7,6 +7,7 @@
using System.ComponentModel;
using System.Drawing.Design;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -34,6 +35,8 @@
                Task.Run(() =>
                {
                    OnMachineStateChanged?.Invoke(machineState);
                    switch (machineState)
                    {
                        case MachineState.Ready:
@@ -124,8 +127,6 @@
                            break;
                    }
                });
                OnMachineStateChanged?.Invoke(machineState);
            }
        }
@@ -248,7 +249,9 @@
            MotionCardDefaultRun("Reset", ref opConfig, ref invokeDevice);
            (invokeDevice as MotionCardBase).ResetAlarm();
            _isdoing = false;
            RaisedAlarm("");
            OnCheckHintUpload?.Invoke("", false);
            //if (MachineState != MachineState.Pause)
            //{
@@ -268,6 +271,7 @@
            }
            LogAsync(DateTime.Now, "普通复位动作完成", "");
            OnResetDone?.Invoke();
            return new ProcessResponse(true);
        }
@@ -646,9 +650,12 @@
        ManualResetEventSlim _pausedHandle = new ManualResetEventSlim(true);
        MachineState _machineStateBeforePause = MachineState.Unknown;
        private void CheckMachinePauseState()
        object _pauseLock = new object();
        private async void CheckMachinePauseState()
        {
            //await Task.Run(() =>
            await Task.Run(() =>
            {
                lock (_pauseLock)
            {
                if (IsMachinePaused)
                {
@@ -668,7 +675,7 @@
                {
                    if (MachineState == MachineState.Pause)
                    {
                        if (_machineStateBeforePause == MachineState.Running)
                            if (_machineStateBeforePause == MachineState.Running || _machineStateBeforePause == MachineState.Ready)
                        {
                            Resume(true);
                        }
@@ -678,7 +685,8 @@
                    }
                }
            }
            //);
            }
            );
        }
        public bool IsMachinePaused
@@ -687,6 +695,7 @@
        }
        [ProcessMethod("", "SafetyDoorSignal", "安全门信号监控,正常ON,OFF时报警", InvokeType.TestInvoke)]
        [MethodImpl(MethodImplOptions.Synchronized)]
        public ProcessResponse SafetyDoorSignal(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice)
        {
            //if (MachineState != MachineState.Running && MachineState != MachineState.Pause)
@@ -706,6 +715,7 @@
        }
        [ProcessMethod("", "SafetyBeamSignal", "安全光幕信号监控,正常ON,OFF时报警", InvokeType.TestInvoke)]
        [MethodImpl(MethodImplOptions.Synchronized)]
        public ProcessResponse SafetyBeamSignal(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice)
        {
            if (opConfig.InputPara == null || opConfig.InputPara.Count == 0)