From cda7be2cd01f809f64cfb0e812d38034a456546c Mon Sep 17 00:00:00 2001 From: wells.liu <wells.liu@broconcentric.com> Date: 星期六, 11 七月 2020 11:04:59 +0800 Subject: [PATCH] io优化 --- src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.cs | 4 ++-- src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardRunBase.cs | 9 ++------- src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs | 12 ++++++------ src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.cs | 28 ++++++++++++++++++++++------ 4 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.cs index d7df378..7411bd0 100644 --- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.cs +++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.cs @@ -1,5 +1,8 @@ -锘縰sing Bro.Common.Model; +锘縰sing Bro.Common.Base; +using Bro.Common.Interface; +using Bro.Common.Model; using System; +using System.Linq; using System.Windows.Forms; namespace Bro.UI.Device.Winform @@ -11,27 +14,40 @@ InitializeComponent(); } + public IDevice Device { get; set; } + + protected MotionCardBase MotionCard + { + get => Device as MotionCardBase; + } + + private int _axisIndex { get; set; } + private string _axisName { get; set; } + public AxisMovingStatus _axisMovingStatus = new AxisMovingStatus(); - public CtrlMotionCardAxisStatus(AxisMovingStatus axisMovingStatus) + public CtrlMotionCardAxisStatus(IDevice device,int axisIndex,string axisName) { InitializeComponent(); - _axisMovingStatus = axisMovingStatus; - groupBoxAxisStatus.Text = $"杩愬姩杞达細{_axisMovingStatus.AxisIndex}-{_axisMovingStatus.AxisName}"; + Device = device; + _axisIndex = axisIndex; + _axisName = axisName; + groupBoxAxisStatus.Text = $"杩愬姩杞达細{axisIndex}-{axisName}"; } private void RefreshStatus(object sender, EventArgs e) { + _axisMovingStatus = MotionCard.AxisStatusList.FirstOrDefault(u => u.AxisIndex == _axisIndex); textBoxPrfPositon.Text = _axisMovingStatus.Destination.ToString(); textBoxCurPosition.Text = _axisMovingStatus.CurPosition.ToString(); textBoxPrfVel.Text = _axisMovingStatus.PrfVelocity.ToString(); textBoxCurVel.Text = _axisMovingStatus.CurVelocity.ToString(); int axis_sts = _axisMovingStatus.AxisStatus; - + ioIndicatorCtrl1.IsOn = (axis_sts & 0x2) == 0;//椹卞姩鎶ヨ ioIndicatorCtrl2.IsOn = (axis_sts & 0x200) == 0;//浼烘湇浣胯兘 ioIndicatorCtrl6.IsOn = (axis_sts & 0x20) == 0;//姝i檺浣� ioIndicatorCtrl8.IsOn = (axis_sts & 0x40) == 0;//璐熼檺浣� - ioIndicatorCtrl9.IsOn =(axis_sts & 0x400) == 0;//杩愬姩鐘舵�� + ioIndicatorCtrl9.IsOn = (axis_sts & 0x400) == 0;//杩愬姩鐘舵�� ioIndicatorCtrl10.IsOn = (axis_sts & 0x10) == 0;//杩愬姩鍑洪敊 } diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs index 9a26301..528ef6b 100644 --- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs +++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs @@ -31,11 +31,10 @@ get => Device as MotionCardBase; } - public CtrlMotionCardIOStatus(IDevice device, List<IOItem> monitorValues) + public CtrlMotionCardIOStatus(IDevice device) { InitializeComponent(); Device = device; - _monitorValues = monitorValues; InitIOEvent(); } @@ -51,14 +50,15 @@ } } - private void IoOut_DoubleClick(string desc, bool isOn) + private void IoOut_DoubleClick(string name, bool isOn) { - var index = Convert.ToInt16(desc.Substring(3)); + var index = Convert.ToInt16(name.Substring(6)); MotionCard.WriteOutput(index, isOn ? IOValue.TRUE : IOValue.FALSE); } private void RefreshIOStatus(object sender, EventArgs e) { + _monitorValues = MotionCard.MonitorValues; foreach (var ioItem in _monitorValues) { if (ioItem.IOType == Common.Helper.EnumHelper.IOType.INPUT) @@ -67,7 +67,7 @@ if (ioInArray != null && ioInArray.Length == 1) { var ioIn = ioInArray[0] as IOIndicatorCtrl; - ioIn.IsOn = ioItem.Value == IOValue.TRUE; + ioIn.IsOn = ioItem.Value == IOValue.FALSE; } } else @@ -76,7 +76,7 @@ if (ioOutArray != null && ioOutArray.Length == 1) { var ioOut = ioOutArray[0] as IOIndicatorCtrl; - ioOut.IsOn = ioItem.Value == IOValue.TRUE; + ioOut.IsOn = ioItem.Value == IOValue.FALSE; } } } diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardRunBase.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardRunBase.cs index f497998..279648c 100644 --- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardRunBase.cs +++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardRunBase.cs @@ -44,16 +44,11 @@ { foreach (var axisConfig in MotionCard.IConfig.AxisSettings.FindAll(u => u.IsAxisEnabled)) { - var axisMovingStatus = MotionCard.AxisStatusList.FirstOrDefault(u => u.AxisIndex == axisConfig.AxisIndex); - if (axisMovingStatus == null) - { - axisMovingStatus = new AxisMovingStatus(); - } - CtrlMotionCardAxisStatus ctrlMotionCardAxisStatus = new CtrlMotionCardAxisStatus(axisMovingStatus); + CtrlMotionCardAxisStatus ctrlMotionCardAxisStatus = new CtrlMotionCardAxisStatus(Device,axisConfig.AxisIndex, axisConfig.AxisName); flowLayoutPanel1.Controls.Add(ctrlMotionCardAxisStatus); } - CtrlMotionCardIOStatus ctrlMotionCardIOStatus = new CtrlMotionCardIOStatus(Device, MotionCard.MonitorValues); + CtrlMotionCardIOStatus ctrlMotionCardIOStatus = new CtrlMotionCardIOStatus(Device); flowLayoutPanel2.Controls.Add(ctrlMotionCardIOStatus); } diff --git a/src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.cs b/src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.cs index 3713aed..bfc2bf7 100644 --- a/src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.cs +++ b/src/Bro.UI.Model.Winform/UI/Ctrl/IOIndicatorCtrl.cs @@ -108,7 +108,7 @@ { if (IsOn != null) { - OnIODoubleClick?.Invoke(Desc,IsOn.Value); + OnIODoubleClick?.Invoke(Name,IsOn.Value); } } @@ -116,7 +116,7 @@ { if (IsOn != null) { - OnIODoubleClick?.Invoke(Desc, IsOn.Value); + OnIODoubleClick?.Invoke(Name, IsOn.Value); } } } -- Gitblit v1.8.0