From f391747ad784f65c4f5c8f6640e094d01f3fdb79 Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期四, 02 七月 2020 18:21:29 +0800
Subject: [PATCH] 板卡操作

---
 src/Bro.Device.GTSCard/GTSCardDriver.cs                             |   22 ++++++----
 src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs |   49 ++++++++----------------
 src/Bro.Common.Device/DeviceBase/MotionCardBase.cs                  |   24 +++++++++++-
 3 files changed, 52 insertions(+), 43 deletions(-)

diff --git a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
index 4425373..1b11a50 100644
--- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
+++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
@@ -22,6 +22,24 @@
         public abstract ResponseMessage MoveToPoint(IOperationConfig opConfig);
         public abstract void ResetAlarm();
         public abstract ResponseMessage Run(IOperationConfig config);
+
+        public void ExcuteMonitorInvok(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet)
+        {
+            OnMonitorInvoke?.BeginInvoke(dateTime, invokeDevice, device, monitorSet, null, null);
+        }
+
+        public void ExcuteMonitorAlarm(DateTime dateTime, IDevice device, IWarningSet warningSet)
+        {
+            OnMonitorAlarm?.BeginInvoke(dateTime, device, warningSet, null, null);
+        }
+
+        public virtual MotionCardInitialConfigBase IConfig
+        {
+            get
+            {
+                return InitialConfig as MotionCardInitialConfigBase;
+            }
+        }
     }
 
     public class MotionCardInitialConfigBase : InitialConfigBase, IMonitorConfig
@@ -108,17 +126,20 @@
     public class MotionCardOperationConfigBase : OperationConfigBase, IComplexDisplay
     {
         [Category("IO鎿嶄綔閰嶇疆")]
+        [DisplayName("IO棰勬鏌ュ畾涔夐泦鍚�")]
         [Description("IO棰勬鏌ュ畾涔夐泦鍚�")]
         [TypeConverter(typeof(CollectionCountConvert))]
-        [Editor(typeof(IORefrenceItemCollectionEditor),typeof(UITypeEditor))]
+        [Editor(typeof(IORefrenceItemCollectionEditor), typeof(UITypeEditor))]
         public List<IORefrenceItem> PreCheckIOCollection { get; set; } = new List<IORefrenceItem>();
 
         [Category("IO鎿嶄綔閰嶇疆")]
+        [DisplayName("IO杈撳嚭瀹氫箟闆嗗悎")]
         [Description("IO杈撳嚭瀹氫箟闆嗗悎")]
         [TypeConverter(typeof(CollectionCountConvert))]
         public List<IORefrenceItem> IOOutputCollection { get; set; } = new List<IORefrenceItem>();
 
         [Category("IO鎿嶄綔閰嶇疆")]
+        [DisplayName("IO纭瀹氫箟闆嗗悎")]
         [Description("IO纭瀹氫箟闆嗗悎")]
         [TypeConverter(typeof(CollectionCountConvert))]
         public List<IORefrenceItem> IOConfirmCollection { get; set; } = new List<IORefrenceItem>();
@@ -136,5 +157,4 @@
         }
     }
 
-    
 }
diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index 6927c56..de90301 100644
--- a/src/Bro.Device.GTSCard/GTSCardDriver.cs
+++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -18,7 +18,7 @@
 namespace Bro.Device.GTSCard
 {
     [Device("GTSCard", "鍥洪珮鏉垮崱", EnumHelper.DeviceAttributeType.Device)]
-    public class GTSCardDriver : DeviceBase, IMonitor, IMotion
+    public class GTSCardDriver : MotionCardBase
     {
         // 寮傚父浜嬩欢
         public Action<Exception> OnExceptionRaised;
@@ -42,7 +42,7 @@
             _isResetting = isReset;
         }
 
-        public List<AxisInfo> GetCurrentAxisInfo(params string[] axisName)
+        public override List<AxisInfo> GetCurrentAxisInfo(params string[] axisName)
         {
             throw new NotImplementedException();
         }
@@ -74,6 +74,11 @@
             AllMoveStop();
             AllAxisOff();
         }
+
+        public override ResponseMessage Run(IOperationConfig config)
+        {
+            throw new NotImplementedException();
+        }
         #endregion
 
         #region GTSCard
@@ -93,6 +98,7 @@
                 throw new Exception("鏉垮崱杞藉叆閰嶇疆鏂囦欢寮傚父锛岄敊璇爜锛�" + res);
             }
         }
+
 
         public bool AllAxisOn()
         {
@@ -153,7 +159,7 @@
         /// </summary>
         /// <param name="item">杩愬姩瀵硅薄</param>
         /// <returns>杩愬姩鎺у埗+鍋滄鍒ゆ柇</returns>
-        public ResponseMessage MoveToPoint(IOperationConfig opConfig)
+        public override ResponseMessage MoveToPoint(IOperationConfig opConfig)
         {
             bool resultOK = false;
             var gtsOperationConfig = opConfig as GTSCardOperationConfig;
@@ -680,8 +686,6 @@
         #endregion
 
         #region IMonitor
-        public event Action<DateTime, string, IDevice, IMonitorSet> OnMonitorInvoke;
-        public event Action<DateTime, IDevice, IWarningSet> OnMonitorAlarm;
 
         public List<IOItem> MonitorValues { get; set; } = new List<IOItem>();
 
@@ -718,7 +722,7 @@
             return result;
         }
 
-        public async void Monitor()
+        public async override void Monitor()
         {
             await Task.Run(() =>
             {
@@ -805,7 +809,7 @@
                     warningSet.TriggerTime = DateTime.Now;
                     warningSet.WarningDescription = $"璀︽姤锛歿warningSet.Name}-瑙﹀彂绱㈠紩锛歿warningSet.TriggerIndex}-{warningSet.WarningIOModel.GetEnumDescription()}:{warningSet.WarningCode}";
                     SaveAlarmCSVAsync(DateTime.Now, this.Name, warningSet);
-                    OnMonitorAlarm?.BeginInvoke(DateTime.Now, this, warningSet, null, null);
+                    ExcuteMonitorAlarm(DateTime.Now, this, warningSet);
                 }
             });
             #endregion
@@ -836,14 +840,14 @@
                         //    return tempNew[index].Value;
                         //}).ToList();
 
-                        OnMonitorInvoke?.BeginInvoke(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet, OnMethodInvoked, monitorSet);
+                        ExcuteMonitorInvok(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet);
                     }
                 }
             });
             #endregion
         }
 
-        public void ResetAlarm()
+        public override void ResetAlarm()
         {
             int axis_sts;
             uint clk;
diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs
index ba0363c..2b8d8dd 100644
--- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs
+++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs
@@ -1,9 +1,9 @@
-锘縰sing Bro.Common.Helper;
+锘縰sing Bro.Common.Base;
+using Bro.Common.Helper;
 using Bro.Common.Interface;
+using Bro.Common.Model;
 using Bro.Device.GTSCard;
 using System;
-using System.Collections.Generic;
-using System.Data;
 using System.Linq;
 using System.Windows.Forms;
 
@@ -18,17 +18,23 @@
 
         public IDevice Device { get; set; }
 
-        //protected CameraBase Camera
-        //{
-        //    get => Device as CameraBase;
-        //}
+        public MotionCardOperationConfigBase MotionCardOperationConfig { get; set; }
+
+        /// <summary>
+        /// 褰撳墠鏉垮崱瀹炰緥
+        /// </summary>
+        protected MotionCardBase MotionCard
+        {
+            get => Device as MotionCardBase;
+        }
+
 
         public CtrlMotionCardOperationBase(IDevice device)
         {
             InitializeComponent();
 
             Device = device;
-
+            MotionCardOperationConfig = new MotionCardOperationConfigBase();
 
         }
 
@@ -41,43 +47,22 @@
         {
         }
         #endregion
-        public void DownloadProcess(IProcess process)
-        {
-            throw new NotImplementedException();
-        }
 
-        public void OnProcessUpdated()
-        {
-            if (InvokeRequired)
-            {
-                Invoke(new Action(() => OnProcessUpdated()));
-            }
-            else
-            {
-                if (Process != null)
-                {
-                    //_avaiableMethods = Process.ProcessMethodCollection.Where(u => u.InvokeType == _invokeType).Select(u => u.MethodCode).ToList();
-
-                    //LoadDevices();
-                    //LoadProcessMethods();
-                }
-            }
-        }
 
         private void RadioButton_CheckedChanged(object sender, EventArgs e)
         {
             //鍔犺浇瀵瑰簲杩愬姩鐨� movingConfig
             if (radioP2P.Checked)
             {
-                movingConfig = GTSCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Normal);
+                movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Normal);
             }
             else if (radioJog.Checked)
             {
-                movingConfig = GTSCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Jog);
+                movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Jog);
             }
             else if (radioGoHome.Checked)
             {
-                movingConfig = GTSCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.FindOri);
+                movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.FindOri);
             }
 
             propGrid.SelectedObject = movingConfig;

--
Gitblit v1.8.0