| | |
| | | using Bro.Common.Model; |
| | | using 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 |
| | |
| | | InitializeComponent(); |
| | | } |
| | | |
| | | public AxisMovingStatus _axisMovingStatus = new AxisMovingStatus(); |
| | | public CtrlMotionCardAxisStatus(AxisMovingStatus axisMovingStatus) |
| | | 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; |
| | | 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) |
| | | { |
| | | 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;//正限位 |
| | | ioIndicatorCtrl8.IsOn = (axis_sts & 0x40) == 0;//负限位 |
| | | ioIndicatorCtrl9.IsOn =(axis_sts & 0x400) == 0;//运动状态 |
| | | ioIndicatorCtrl10.IsOn = (axis_sts & 0x10) == 0;//运动出错 |
| | | _axisMovingStatus = MotionCard.AxisStatusList.FirstOrDefault(u => u.AxisIndex == _axisIndex); |
| | | if (_axisMovingStatus != null) |
| | | { |
| | | textBoxPrfPositon.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;//伺服使能 1为开启 |
| | | ioIndicatorCtrl6.IsOn = (axis_sts & 0x20) != 0;//正限位 |
| | | ioIndicatorCtrl8.IsOn = (axis_sts & 0x40) != 0;//负限位 |
| | | ioIndicatorCtrl9.IsOn = (axis_sts & 0x400) != 0;//运动状态 |
| | | ioIndicatorCtrl10.IsOn = (axis_sts & 0x10) != 0;//运动出错 |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |