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