From 773369500892dcb5347e4a0059f8089960073030 Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期三, 15 七月 2020 22:08:34 +0800 Subject: [PATCH] 板卡回原点配置迁移到初始配置轴配置中 板卡回原点配置区分运动方向和捕捉方向,限制捕捉原点方向 --- src/Bro.M071.Process/M071Process_MotionCard.cs | 193 +++++++++++++++++++++++------------------------- 1 files changed, 92 insertions(+), 101 deletions(-) diff --git a/src/Bro.M071.Process/M071Process_MotionCard.cs b/src/Bro.M071.Process/M071Process_MotionCard.cs index fbc4314..c85443d 100644 --- a/src/Bro.M071.Process/M071Process_MotionCard.cs +++ b/src/Bro.M071.Process/M071Process_MotionCard.cs @@ -30,112 +30,102 @@ if (machineState == value) return; - //_machineStatePre = machineState; - machineState = value; - switch (machineState) + Task.Run(() => { - case MachineState.Ready: - lock (machineStateLock) - { - SwitchBeep(false); - SwitchLightRed(false); - SwitchLightYellow(false); - } - - Task.Run(() => - { - - while (MachineState == MachineState.Ready) + switch (machineState) + { + case MachineState.Ready: + lock (machineStateLock) { - lock (machineStateLock) - { - SwitchLightGreen(true); - Thread.Sleep(1000); - SwitchLightGreen(false); - Thread.Sleep(1000); - } + SwitchBeep(false); + SwitchLightRed(false); + SwitchLightYellow(false); } - }); - break; - case MachineState.Running: - lock (machineStateLock) - { - SwitchBeep(false); - SwitchLightRed(false); - SwitchLightYellow(false); - SwitchLightGreen(true); - } - break; - case MachineState.Alarm: - lock (machineStateLock) - { - SwitchBeep(true); - SwitchLightRed(true); - SwitchLightYellow(false); - SwitchLightGreen(false); - } - break; - case MachineState.Pause: - lock (machineStateLock) - { - SwitchBeep(false); - SwitchLightRed(false); - } - Task.Run(() => - { - while (MachineState == MachineState.Pause) + Task.Run(() => { - lock (machineStateLock) + while (MachineState == MachineState.Ready) { - SwitchLightYellow(true); - SwitchLightGreen(true); - Thread.Sleep(1000); - SwitchLightYellow(false); - SwitchLightGreen(false); - Thread.Sleep(1000); + lock (machineStateLock) + { + SwitchLightGreen(true); + Thread.Sleep(1000); + SwitchLightGreen(false); + Thread.Sleep(1000); + } } - } - }); - break; - case MachineState.Resetting: - lock (machineStateLock) - { - SwitchBeep(false); - SwitchLightRed(false); - SwitchLightGreen(false); - } - Task.Run(() => - { - while (MachineState == MachineState.Resetting) - { - lock (machineStateLock) - { + }); - SwitchLightYellow(true); - Thread.Sleep(1000); - SwitchLightYellow(false); - Thread.Sleep(1000); - } + break; + case MachineState.Running: + lock (machineStateLock) + { + SwitchBeep(false); + SwitchLightRed(false); + SwitchLightYellow(false); + SwitchLightGreen(true); } - }); - break; - default: - break; - } + break; + case MachineState.Alarm: + lock (machineStateLock) + { + SwitchBeep(true); + SwitchLightRed(true); + SwitchLightYellow(false); + SwitchLightGreen(false); + } + break; + case MachineState.Pause: + lock (machineStateLock) + { + SwitchBeep(false); + SwitchLightRed(false); + } + Task.Run(() => + { + while (MachineState == MachineState.Pause) + { + lock (machineStateLock) + { + SwitchLightYellow(true); + SwitchLightGreen(true); + Thread.Sleep(1000); + SwitchLightYellow(false); + SwitchLightGreen(false); + Thread.Sleep(1000); + } + } + }); + break; + case MachineState.Resetting: + lock (machineStateLock) + { + SwitchBeep(false); + SwitchLightRed(false); + SwitchLightGreen(false); + } + Task.Run(() => + { + while (MachineState == MachineState.Resetting) + { + lock (machineStateLock) + { + SwitchLightYellow(true); + Thread.Sleep(1000); + SwitchLightYellow(false); + Thread.Sleep(1000); + } + } + }); + break; + default: + break; + } + }); OnMachineStateChanged?.Invoke(machineState); - - //if (_machineStatePre == MachineState.Running && machineState == MachineState.Pause) - //{ - // Pause(); - //} - //else if (_machineStatePre == MachineState.Pause && (machineState == MachineState.Running || machineState == MachineState.Ready)) - //{ - // Resume(); - //} } } @@ -653,13 +643,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 +674,8 @@ MachineState = _machineStateBeforePause; } } - }); + } + //); } public bool IsMachinePaused @@ -711,9 +705,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 +747,7 @@ IsEmergencyStopped = opConfig.InputPara[0] == 0; - if (IsEmergencyStopped) + if (isEmergencyStopped) { RaisedAlarm("鎬ュ仠鎸夐挳琚媿涓�"); MachineState = MachineState.Alarm; -- Gitblit v1.8.0