在伺服控制系统中,完成硬件与软件配置后,原点回归(回零)是必须执行的关键步骤。它为系统确立一个基准的“零点”位置,后续所有基于绝对位置的定位指令都需以此为基础,确保运动的安全与准确。汇川PLC中的MC_Home指令正是用于实现这一核心功能。
指令格式与接口定义
MC_Home指令块如下图所示:

指令各接口定义如下:
- Execute:指令执行使能。上升沿触发,指令开始执行并持续工作,直到原点回归过程完成或被打断。
- Axis:指定执行回原操作的轴名称或轴ID。轴号通常在系统配置时自动分配(如0,1,2…),具体范围取决于PLC硬件支持的轴数量。
- Position:原点偏移量设置,数据类型为REAL。通常情况下此值设为0,表示原点就在硬件检测到的物理原点位置。若需设定偏移,可在此输入正值或负值。
- CommandAborted:指令中止标志位。当原点回归过程被
MC_Stop指令打断时,此位会置为ON。
- 其他状态接口(如
Done, Busy, Error等)与MC_Power、MC_Reset等指令功能类似。
指令执行时序
-
正常回原时序
下图展示了指令正常执行完成的全过程时序:

-
回原过程被停止
在回归过程中若调用MC_Stop指令,回原动作将被中止:

-
回原过程发生错误
若回归过程中伺服驱动器或系统报错,指令将进入错误状态:

关键注意事项与错误排查
使用MC_Home指令时,必须注意以下几点,这对保障系统稳定性至关重要:
- 轴使能前提:必须在使用
MC_Power指令将目标轴切换至“使能”(Enable)状态后,才能调用MC_Home指令,否则指令将报错。
- 参数锁存:指令被激活(
Execute上升沿)后,Position参数值即被锁存。在轴处于Homing状态期间,修改Position输入是无效的。
- 指令独占性:一个轴在同一时间只能执行一条
MC_Home指令。如果轴已在回原状态,再次调用新的MC_Home指令将导致后调用的指令报错。
- 轴号锁定:在
Execute端口有效且指令执行期间,轴编号输入端Axis的值不可变更。
常见错误代码
- 9101:轴号不存在或轴类型不匹配。
- 9102:轴初始化失败。
- 9108:轴未处于
StandStill(静止)状态时调用指令。
- 9116:在
Execute上升沿或指令执行期间,轴处于在线调试模式。
- 9106:在
Execute上升沿,轴正在执行故障减速。
- 此外,若
Execute上升沿时输入参数超限或不合理,指令将直接报错。执行中若轴进入故障停机状态,指令将显示对应的驱动器故障码。

与西门子PLC指令对比
汇川的MC_Home指令在功能上对标西门子S7-1200/1500系列PLC中的同类指令。

西门子MC_Home指令通过Mode参数支持多种回原模式:
- 主动回原点 (
Mode = 3):自动执行完整的回原点流程。
- 被动回原点 (
Mode = 2):由用户通过其他运动指令移动轴,指令仅负责在触发原点信号时完成位置设定。
- 直接绝对回原点 (
Mode = 0):将当前轴位置直接设为Position参数值。
- 直接相对回原点 (
Mode = 1):将当前轴位置偏移Position参数值。
- 此外还有针对绝对编码器的调节模式 (
Mode = 6, 7)。
核心差异在于配置方式:在汇川PLC中,伺服回原的具体方式(如回原速度、原点开关逻辑等)主要在轴的配置阶段进行设置;而西门子PLC则允许在指令调用时通过Mode参数灵活选择。
“已回原点”状态复位条件
无论是汇川还是西门子PLC,轴的“已回原点”状态在以下情况下会被复位,需要重新执行回原操作:
- 执行新的主动回原点指令(完成后会再次置位)。
- 通过
MC_Power禁用轴。
- 编码器系统发生错误或故障。
- 重新启动工艺对象或CPU。
- 修改编码器或轴的硬件组态。
- 更换CPU或进行项目整体下载、控制器复位等操作。
理解这些复位条件对于设计鲁棒的设备上电初始化流程和故障恢复机制非常重要。
|