using Bro.Common.Model; using System; using System.Windows.Forms; namespace Bro.UI.Device.Winform { public partial class CtrlMotionCardAxisStatus : UserControl { public CtrlMotionCardAxisStatus() { InitializeComponent(); } public AxisMovingStatus _axisMovingStatus = new AxisMovingStatus(); public CtrlMotionCardAxisStatus(AxisMovingStatus axisMovingStatus) { InitializeComponent(); _axisMovingStatus = axisMovingStatus; groupBoxAxisStatus.Text = $"运动轴:{_axisMovingStatus.AxisIndex}-{_axisMovingStatus.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;//运动出错 } } }