using XP.Hardware.MotionControl.Abstractions.Enums; namespace XP.Hardware.MotionControl.Abstractions { /// /// 直线轴策略接口 | Linear Axis Strategy Interface /// 定义直线轴的运动控制能力 | Defines linear axis motion control capabilities /// public interface ILinearAxis { /// 轴标识 | Axis identifier AxisId Id { get; } /// 实际位置(mm)| Actual position (mm) double ActualPosition { get; } /// 轴状态 | Axis status AxisStatus Status { get; } /// 正限位触发 | Positive limit triggered bool PositiveLimitHit { get; } /// 负限位触发 | Negative limit triggered bool NegativeLimitHit { get; } /// 移动到目标位置 | Move to target position /// 目标位置(mm)| Target position (mm) /// 操作结果 | Operation result MotionResult MoveToTarget(double target, double? speed = null); /// Jog 启动 | Jog start /// true=正向,false=反向 | true=positive, false=negative /// 操作结果 | Operation result MotionResult JogStart(bool positive); /// Jog 停止 | Jog stop /// 操作结果 | Operation result MotionResult JogStop(); /// 回零 | Home /// 操作结果 | Operation result MotionResult Home(); /// 停止 | Stop /// 操作结果 | Operation result MotionResult Stop(); /// 从 PLC 更新状态 | Update status from PLC void UpdateStatus(); } }