From 875a4c2ad21ec2b7c937955773e9687f1c43bb64 Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期五, 10 七月 2020 17:36:39 +0800 Subject: [PATCH] 板卡暂停/恢复提至板卡基类 流程方法修改参数 --- src/Bro.Device.GTSCard/GTSCardDriver.cs | 4 ++-- src/Bro.Common.Device/DeviceBase/MotionCardBase.cs | 12 ++++++++++++ src/Bro.M071.Process/M071Process.cs | 5 ++++- src/Bro.M071.Process/M071Process_MotionCard.cs | 15 ++++++++------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs index 2825f26..cba431b 100644 --- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs +++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs @@ -102,6 +102,18 @@ public List<AxisMovingStatus> AxisMovingOptionValues { get; set; } = new List<AxisMovingStatus>(); public abstract void WriteOutput(short index, IOValue value); + + #region ImmediatePause + /// <summary> + /// 鍚姩绔嬪嵆鏆傚仠 + /// </summary> + public abstract void SetImmediatePause(); + + /// <summary> + /// 鎭㈠绔嬪嵆鏆傚仠 + /// </summary> + public abstract void ResetImmediatePause(); + #endregion } public class MotionCardInitialConfigBase : InitialConfigBase, IMonitorConfig diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs index 3a167dd..0f06173 100644 --- a/src/Bro.Device.GTSCard/GTSCardDriver.cs +++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs @@ -220,7 +220,7 @@ /// <summary> /// 鍚姩绔嬪嵆鏆傚仠 /// </summary> - public void SetImmediatePause() + public override void SetImmediatePause() { if (!_isResetting) { @@ -240,7 +240,7 @@ /// <summary> /// 鎭㈠绔嬪嵆鏆傚仠 /// </summary> - public void ResetImmediatePause() + public override void ResetImmediatePause() { var immediatePauseAxis = IConfig.AxisSettings.FindAll(a => a.IsAxisEnabled && a.IsImmediatePause).Select(u => u.AxisIndex).ToList(); diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs index 01065c8..26c855d 100644 --- a/src/Bro.M071.Process/M071Process.cs +++ b/src/Bro.M071.Process/M071Process.cs @@ -472,7 +472,7 @@ { foreach (var keyValue in keyUnit.MeasureValueDict)//鑾峰彇鍗曚釜閿殑鍗曚釜娴嬮噺item 缁撴灉 { - bool isExist = keyUnitDatas.FirstOrDefault(u => u.Key == keyUnit.Key && u.MeasurementItem == keyValue.Key) != null; + bool isExist = keyUnitDatas.Any(u => u.Key == keyUnit.Key && u.MeasurementItem == keyValue.Key); if (!isExist)//宸插瓨鍦� 涓嶉噸澶嶆坊鍔犲師濮嬫暟鎹� { KeyUnitData keyUnitData = new KeyUnitData(); @@ -503,6 +503,9 @@ private async void ExportProductionExcel(ProductionMeasurementUnitResultAndKeyUnitDataSet measurementUnitResultAndKeyUnitDataSet) { + if (!Config.IsCSVOutputEnabled) + return; + await Task.Run(() => { ExcelExportSet excelExportDto = new ExcelExportSet(); diff --git a/src/Bro.M071.Process/M071Process_MotionCard.cs b/src/Bro.M071.Process/M071Process_MotionCard.cs index 62fd994..441e2c3 100644 --- a/src/Bro.M071.Process/M071Process_MotionCard.cs +++ b/src/Bro.M071.Process/M071Process_MotionCard.cs @@ -213,7 +213,7 @@ } MotionCardDefaultRun("Reset", ref opConfig, ref invokeDevice); - //(invokeDevice as IMotionCard).Reset(); + (invokeDevice as MotionCardBase).ResetAlarm(); RaisedAlarm(""); MachineState = MachineState.Ready; @@ -251,7 +251,8 @@ } } - [ProcessMethod("MotionCardOperationConfigCollection", "FullReset", "澶у浣嶆搷浣�", InvokeType.TestInvoke)] + //[ProcessMethod("MotionCardOperationConfigCollection", "FullReset", "澶у浣嶆搷浣�", InvokeType.TestInvoke)] + [ProcessMethod("MotionCardBase", "FullReset", "澶у浣嶆搷浣�", InvokeType.TestInvoke)] public ProcessResponse FullReset(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) { //if (opConfig == null) @@ -302,7 +303,7 @@ }; MachineState _machineStateBeforePause = MachineState.Unknown; List<MachineState> _statesAllowPause = new List<MachineState>() { MachineState.Running, MachineState.Ready, MachineState.Pause }; - [ProcessMethod("", "PauseJob", "鏆傚仠娴佺▼", InvokeType.TestInvoke)] + [ProcessMethod("", "SwitchJobStatus", "娴佺▼鐘舵�佸垏鎹�", InvokeType.TestInvoke)] public ProcessResponse SwitchJobStatus(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) { if (!_statesAllowPause.Contains(MachineState)) @@ -328,7 +329,7 @@ if (!_pauseHandle.WaitResult) { #region 鏉垮崱鏆傚仠鍔ㄤ綔 - motionDevice.StateChange(DeviceState.DSPause); + motionDevice.SetImmediatePause(); #endregion _pauseHandle.WaitHandle.Reset(); @@ -339,7 +340,7 @@ else if (!_pauseHandle.WaitResult) { #region 鏉垮崱鎭㈠鍔ㄤ綔 - motionDevice.StateChange(DeviceState.DSOpen); + motionDevice.ResetImmediatePause(); #endregion _pauseHandle.WaitHandle.Set(); @@ -354,7 +355,7 @@ if (!_pauseHandle.WaitResult) { #region 鏉垮崱鏆傚仠鍔ㄤ綔 - motionDevice.StateChange(DeviceState.DSPause); + motionDevice.SetImmediatePause(); #endregion _pauseHandle.WaitHandle.Reset(); @@ -367,7 +368,7 @@ if (!_pauseHandle.WaitResult) { #region 鏉垮崱鎭㈠鍔ㄤ綔 - motionDevice.StateChange(DeviceState.DSOpen); + motionDevice.ResetImmediatePause(); #endregion _pauseHandle.WaitHandle.Set(); -- Gitblit v1.8.0