49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
using XP.Hardware.MotionControl.Abstractions.Enums;
|
|
|
|
namespace XP.Hardware.MotionControl.Abstractions
|
|
{
|
|
/// <summary>
|
|
/// 旋转轴策略接口 | Rotary Axis Strategy Interface
|
|
/// 定义旋转轴的运动控制能力 | Defines rotary axis motion control capabilities
|
|
/// </summary>
|
|
public interface IRotaryAxis
|
|
{
|
|
/// <summary>轴标识 | Axis identifier</summary>
|
|
RotaryAxisId Id { get; }
|
|
|
|
/// <summary>实际角度(度)| Actual angle (degrees)</summary>
|
|
double ActualAngle { get; }
|
|
|
|
/// <summary>轴状态 | Axis status</summary>
|
|
AxisStatus Status { get; }
|
|
|
|
/// <summary>是否启用 | Is enabled</summary>
|
|
bool Enabled { get; }
|
|
|
|
/// <summary>移动到目标角度 | Move to target angle</summary>
|
|
/// <param name="targetAngle">目标角度(度)| Target angle (degrees)</param>
|
|
/// <returns>操作结果 | Operation result</returns>
|
|
MotionResult MoveToTarget(double targetAngle, double? speed = null);
|
|
|
|
/// <summary>Jog 启动 | Jog start</summary>
|
|
/// <param name="positive">true=正向,false=反向 | true=positive, false=negative</param>
|
|
/// <returns>操作结果 | Operation result</returns>
|
|
MotionResult JogStart(bool positive);
|
|
|
|
/// <summary>Jog 停止 | Jog stop</summary>
|
|
/// <returns>操作结果 | Operation result</returns>
|
|
MotionResult JogStop();
|
|
|
|
/// <summary>回零 | Home</summary>
|
|
/// <returns>操作结果 | Operation result</returns>
|
|
MotionResult Home();
|
|
|
|
/// <summary>停止 | Stop</summary>
|
|
/// <returns>操作结果 | Operation result</returns>
|
|
MotionResult Stop();
|
|
|
|
/// <summary>从 PLC 更新状态 | Update status from PLC</summary>
|
|
void UpdateStatus();
|
|
}
|
|
}
|