运动轴归零 (MAH)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。运动轴归零 (MAH) 指令用于使轴归零。在轴配置期间,可选择两种不同的归零模式:主动或被动。如果选择主动归零序列,轴会执行配置的归零序列类型,确定绝对轴位置。但如果选择被动归零,则不会执行特定的归零序列,轴会等待下一标记脉冲,确定零点位置。
架构 | 标准 | 安全 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 否 |
可用语言
梯形图

功能块
此指令不可用于功能块中
结构化文本
MAH(Axis,MotionControl);
操作数
梯形图和结构化文本
操作数 | 类型
小贴士:
AXIS_CONSUMED 仅受
Compact GuardLogix 5580 和 CompactLogix 5380 控制器支持。 | 类型
小贴士:
只有
ControlLogix 5570 和 GuardLogix 5570 控制器支持 AXIS_GENERIC。 | 格式 | 说明 |
|---|---|---|---|---|
Axis | AXIS_CIP_DRIVE AXIS_VIRTUAL | AXIS_CIP_DRIVE AXIS_VIRTUAL AXIS_GENERIC_DRIVE AXIS_SERVO AXIS_SERVO_DRIVE | 标签 | 要对其执行操作的轴的名称。对于支持 REF_TO 运动数据类型的控制器,支持的轴操作数类型可以替换为等效的 REF_TO 类型。 |
Motion Control | MOTION_INSTRUCTION | 标签 | 用于访问指令状态参数的结构。 |
有关结构化文本中表达式语法的详细信息,请参见“结构化文本语法”部分。
MOTION_INSTRUCTION 结构
助记符 | 说明 |
|---|---|
.EN (Enable) Bit 31 | 梯级出现假到真跳变时,该位置位,并在伺服消息事务完成且梯级跳变为假之前保持置位状态。 |
.DN (Done) Bit 29 | 成功完成或中止轴归零时,该位置位。 |
.ER (Error) Bit 28 | 该位置位时,表明指令检测到错误,例如指定的轴未配置等。 |
.IP (In Process) Bit 27 | 发生梯级上升沿跳变时该位置位,运动轴归零完成后,或者因停止命令、关闭或伺服故障而终止时该位清零。 |
.PC (Process Complete) Bit 26 | 成功完成轴归零后,该位置位。 |
说明
MAH 指令用于校准指定轴的绝对位置。对于配置为伺服类型的轴,可使用主动、被动或绝对归零模式配置使轴归零。对于“仅反馈”类型的轴,仅可使用被动和绝对归零模式。绝对归零模式要求轴配有绝对反馈设备。
小贴士:
绝对归零模式不可用于 CIP 轴。但是,任何成功的归零序列均可确定绝对位置。
如果轴为 CIP 轴,归零状态位跳变为假状态时,会禁用软件超程。
成功完成配置的归零序列后,MAH 指令会将 HomedStatus 位置位。该位表示已建立绝对机器参考位置。该位置位时,可以有效地使能需要机器参考位置的操作(例如:软件超程检查)。
对于非 CIP 驱动轴数据类型,在以下条件下,HomedStatus 位清零:
- 下载
- 控制循环上电
- 重新连接到运动控制模块
- 反馈丢失故障
- 关闭
有关归零配置参数的详细信息,请参阅运动轴对象规范。
主动归零
当轴归零模式配置为“活动”时,在启动 MAH 时,将确认物理轴未处于运动状态。如果轴处于运动状态,则 MAH 会出错,错误代码为 22,轴处于运动状态。如果轴未处于运动状态,则首先激活它以进行伺服操作。随后会使用配置的归零序列(可能是立即、开关、标记或开关-标记)使轴归零。后面的三个归零序列会使轴沿配置的归零方向点动,随后,在根据检测到的归零事件重新定义位置后,轴会自动运动到配置的零点位置。
被动归零
轴归零模式配置为“被动”时,MAH 指令会在下一次出现编码器标记时重新定义物理轴的实际位置。被动归零最常用于将“仅反馈”轴校准到其标记位置,但也可用于伺服轴。将轴校准到编码器标记位置时,被动归零与主动归零相同,但唯一的不同之处在于运动控制器不会对轴发出任何运动命令。
启动被动归零后,轴必须运动到超过编码器标记的位置,归零序列才能正确完成。对于闭环伺服轴,可通过 MAM 或 MAJ 指令完成此运动。对于“仅反馈”物理轴,无法通过运动控制器直接发出运动命令,必须通过其他方式完成此运动。
绝对归零
如果运动轴硬件支持绝对反馈设备,则可使用绝对归零模式。对于绝对归零模式,唯一有效的归零序列为“立即”。在这种情况下下,绝对归零过程会将配置的零点位置应用于绝对反馈设备的报告位置,从而确定轴的真实绝对位置。在通过 MAH 指令执行绝对归零过程之前,轴必须处于“轴就绪”状态,伺服环必须处于禁用状态。
要在配置为主动归零模式的轴上成功执行 MAH 指令,目标轴必须配置为伺服轴类型。要成功执行 MAH 指令,目标轴必须配置为“伺服”或“仅反馈”轴。如果以上任何条件未满足,则指令会发生错误。
小贴士:
由于指令执行需要多个近似更新才能完成请求,因此可能需要执行多次扫描。完成 (.DN) 位不会立即置位,而仅在请求完成后置位。
在此跳变指令中,每次要执行该指令时,继电器梯形图都会将梯级输入条件由清零切换为置位。
主轴驱动速度控制 (Master Driven Speed Control, MDSC) 和 MAH 指令
MDAC 或 MDCC 激活时:
- 如果在主轴上执行 MAH(进入 IP 状态)时主轴未处于运动状态,MDAC 或 MDCC 保持激活状态。如果执行 MAH(进入 IP 状态)时 MDAC 或 MDCC 处于激活状态,从轴会运动。
- 如果在主轴上执行 MAH(进入 IP 状态)时主轴正在运动,MAH 将发生错误。MDAC 或 MDCC 状态保持不变。
- 如果在从轴上执行 MAH(进入 IP 状态)时从轴未处于运动状态,MDAC 或 MDCC 会取消。
- 如果在从轴上执行 MAH(进入 IP 状态)时从轴正在 MDSC 驱动或时间驱动模式下运动,MAH 将发生错误。MDAC 或 MDCC 的状态保持不变。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。如果将未初始化的引用或类型不正确的引用传递给轴操作数,则可能发生严重故障。有关操作数相关的故障,请参见“通用属性”。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | .EN、.DN、.ER 和 .IP 位设置为假。 |
梯级输入条件为假 | 如果 .DN 或 .ER 位为真,则 .EN 位设置为假。 |
梯级输入条件为真 | .EN 位设置为真,指令执行。 |
后扫描 | 不适用 |
结构化文本
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参见“梯形图”表中的“预扫描”行 |
正常执行 | 请参见“梯形图”表中的“梯级输入条件为假”行,然后参见“梯级输入条件为真”行。 |
后扫描 | 请参见“梯形图”表中的“后扫描”行。 |
错误代码
有关运动指令,请参阅 运动错误代码 .ERR。
扩展错误代码
“扩展错误代码”针对许多指令通用的“错误代码”提供指令特定的附加信息。有关运动指令,请参阅 运动错误代码 .ERR。
以下扩展错误代码有助于在 MAH 指令收到伺服消息故障 (12) 错误消息或非法归零配置 (41) 时确定问题所在。
相关错误代码(十进制) | 扩展错误代码(十进制) | 含义 |
|---|---|---|
SERVO_MESSAGE_FAILURE (12) | 过程根据请求终止 (1) | 归零执行后执行关闭/禁用驱动器的指令,或者运动停止指令或处理器模式切换请求取消归零。 |
SERVO_MESSAGE_FAILURE (12) | 无资源 (2) | 内存资源不足,无法完成请求。(SERCOS) |
SERVO_MESSAGE_FAILURE (12) | 对象模型冲突 (12) | 轴关闭。 |
SERVO_MESSAGE_FAILURE (12) | 权限被拒绝 (15) | 使能输入切换错误。(SERCOS) |
SERVO_MESSAGE_FAILURE (12) | 设备所处状态不正确 (16) | 重设位置、零点和记录 2 互斥 (SERCOS),设备状态错误,无法动作。(SERCOS) |
ILLEGAL_HOMING_CONFIG (41) | 归零序列 (4) | 归零序列与归零模式不兼容。 |
ILLEGAL_HOMING_CONFIG (41) | 归零速度为零 (6) | 归零速度不能为零。 |
ILLEGAL_HOMING_CONFIG (41) | 归零返回速度为零 (7) | 归零返回速度不能为零。 |
对于错误代码 54 - 最大减速度值为零,如果扩展错误返回正数 (0-n),则指示坐标系统中不合要求的轴。转到“坐标系统属性”(Coordinate System Properties) 的“常规”(General) 选项卡,查看“轴网格”(Axis Grid) 的方括号 ([ ]) 列,确定最大减速度值为 0 的轴。单击不合要求的轴旁边的省略号按钮,访问“轴属性”(Axis Properties) 画面。转到“动力学”(Dynamics) 选项卡,对最大减速度值进行适当更改。如果扩展错误返回的数字为 -1,则表示坐标系统的最大减速度值为 0。转到“坐标系统属性”(Coordinate System Properties) 的“动力学”(Dynamics) 选项卡,更正最大减速度值。
状态位
MAH 单轴状态位变化
位名称 | 状态 | 含义 |
|---|---|---|
HomingStatus | 真 | 轴正在归零。 |
JogStatus | 假 | 轴不再点动。* |
MoveStatus | 假 | 轴不再运动。* |
GearingStatus | 假 | 轴不再传动。 |
StoppingStatus | 假 | 轴不再停止。* |
*在主动归零序列的各个部分,这些位可置位或清零。MAH 指令在归零序列期间使用运动和点动运动曲线发生器使轴运动。这也意味着其他运动指令对运动或点动运动曲线产生干扰时,可能影响 MAH 启动的归零序列,导致其无法成功完成。
如果处于被动归零模式,MAH 指令仅会设置归零状态位。
提供反馈