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