54 lines
2.1 KiB
C#
54 lines
2.1 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>设置 Jog 速度 | Set jog speed</summary>
|
||
/// <param name="speedPercent">速度百分比(0~100)| Speed percentage (0~100)</param>
|
||
/// <returns>操作结果 | Operation result</returns>
|
||
MotionResult SetJogSpeed(double speedPercent);
|
||
|
||
/// <summary>从 PLC 更新状态 | Update status from PLC</summary>
|
||
void UpdateStatus();
|
||
}
|
||
}
|