跳转至

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.PositionFeedback0),与 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 — 任务状态