跳转至

AxisStatus(C#)

签名:(入口 controller.Commands[TaskId.T01].Status)

public double AxisStatus(string Axis, AxisStatusSignal DataItem)
public double AxisStatus(int Axis, AxisStatusSignal DataItem)
public double AxisStatus(string Axis, AxisStatusSignal DataItem, int AdditionalData)
public double AxisStatus(int Axis, AxisStatusSignal DataItem, int AdditionalData)

读取轴状态信号(位置反馈、速度、电流、状态字等),立即返回。

所属:Controller.Commands · 状态查询

参数

参数 说明
Axis 轴名("X")或轴编号(0)
DataItem AxisStatusSignal 枚举信号项,常用项见 Status 信号表
AdditionalData 可选。扩展信号的附加索引

生成的指令

$return = AXISSTATUS(<轴>, <信号编号>[, <附加数据>])

信号枚举经 EnumToBase 转为数值下发(如 AxisStatusSignal.PositionFeedback → 0),与 Terminal 的信号名形式等价。

返回值

double,含义取决于 DataItem(位置类为位置值,状态字类为位编码整数)。

说明

  • 即时查询,不进入指令队列,不受运动串行约束。
  • 运动完成判定:查询 AxisStatusSignal.AxisStatus 并测 MoveDone 位(0x400000),完整轮询模式见 Status。
  • 客户 API 无事件通知,轴故障与运动完成一律状态查询。

示例

var status = controller.Commands[TaskId.T01].Status;
double pos = status.AxisStatus("X", AxisStatusSignal.PositionFeedback);
double word = status.AxisStatus("X", AxisStatusSignal.AxisStatus);
bool moveDone = ((int)word & 0x400000) != 0;

相关页面

  • Status — 信号枚举表、状态字位定义、MoveDone 轮询模式
  • Terminal AXISSTATUS — 字符串指令语法
  • TaskStatus — 任务状态