4. 单轴定位基础指令

在三菱iQ-F系列PLC配合Simple Motion模块(或FX5-40SSC-S等运动控制模块)的工程中,单轴定位是一切多轴联动的基础。无论后续要做插补、凸轮还是同步控制,工程师都必须先把一根轴的“使能—回零—绝对定位—相对定位—点动”这条链路走通。本节围绕五个标准PLCopen运动控制指令展开,说明它们的执行条件、参数含义、状态反馈以及调试时的观察要点。

一、五个指令的职责与调用顺序

这五个指令并非并列关系,而是存在明确的先后依赖。MC_Power是伺服使能指令,只有它输出有效、轴状态进入“Standstill”后,其他运动指令才可能被接受;MC_Home用于建立机械原点,确定绝对坐标系的零点;MC_MoveAbsolute按绝对坐标定位,位置参数是目标点在当前坐标系中的坐标值;MC_MoveRelative按相对距离定位,位置参数是相对当前位置的增量;MC_MoveJog用于手动点动,常用于调试、对刀和回零前的粗定位。

需要特别强调的是:MC_Home未完成前,绝对坐标是没有意义的。如果直接执行MC_MoveAbsolute,轴会以当前上电位置为基准去理解目标坐标,结果往往与预期偏差一个“原点偏移量”。因此标准流程是先使能、再回零、后定位。

单轴定位指令调用链与状态迁移 Disabled 轴未使能 Standstill 静止/可接受指令 Homing 回零中 Discrete Motion 定位执行中 MC_Power Enable → 伺服ON Status / AxisErrorID MC_Home Execute → 原点回归 Done / Busy / Error MC_MoveAbsolute Position=目标绝对坐标 Velocity/Accel/Decel MC_MoveRelative Distance=相对增量 正负决定方向 MC_MoveJog JogForward / JogBackward 电平触发,松开即停 用于手动对位、回零前粗调、限位测试 关键约束:MC_Power.Status=TRUE 且轴处于 Standstill 后,MC_Home / MC_MoveAbsolute / MC_MoveRelative / MC_MoveJog 才可被接受; MC_Home 未完成前,绝对坐标无物理意义,MC_MoveAbsolute 的目标位置将不可信。

二、MC_Power:使能与状态确认

MC_Power是唯一一个“常开”型指令,其Enable引脚通常直接接一个常ON触点或系统启动标志。当Enable为TRUE且无报警时,指令驱动伺服放大器上电,Status输出变为TRUE,轴进入Standstill状态。调试时最容易忽略的是:Enable接通后不要立即触发运动指令,应等待Status稳定为TRUE,并检查AxisErrorID是否为0。若Status始终不亮,优先排查伺服主回路供电、放大器报警代码以及模块与PLC之间的总线通信是否正常。

在GX Works3中,MC_Power的典型参数为:Axis指定轴号(如K1),Enable接M100(系统运行标志)。Status可映射到M200,作为后续运动指令的互锁条件。

三、MC_Home:建立绝对坐标基准

MC_Home的Execute采用上升沿触发,一旦触发,轴按预设的回零方式寻找原点。iQ-F运动模块支持多种回零方式,常见的是“近点狗+Z相”方式:轴先以回零高速向原点方向运动,碰到近点信号后降速,再捕捉伺服编码器的Z相信号作为原点。回零完成后,Done输出一个扫描周期的脉冲,当前位置被置为原点坐标(通常为0)。

调试回零时,需要重点观察三个量:回零方向是否正确、近点信号是否可靠、回零速度是否过高导致过冲。若轴在碰到近点后继续冲过原点,应降低爬行速度;若Done始终不输出,检查原点回归参数中的“原点回归方向”和“近点信号逻辑”是否与实际接线一致。

四、MC_MoveAbsolute与MC_MoveRelative

这两个指令的引脚结构相似,区别只在Position与Distance的语义。MC_MoveAbsolute的Position是目标绝对坐标,例如回零后执行Position=100.0mm,轴会运动到距原点100mm处;MC_MoveRelative的Distance是相对增量,例如当前位置50mm,Distance=30mm,轴运动到80mm,Distance=-30mm则运动到20mm。

两者都包含Velocity、Acceleration、Deceleration、Jerk等参数。以一台丝杠导程10mm、伺服编码器分辨率4194304pulse/rev的轴为例,若希望定位速度达到300mm/s,则指令中的Velocity应设置为300mm/s(模块内部按单位换算),加速度可设为1000mm/s²。调试时先用较低速度(如50mm/s)验证方向与距离,确认无误后再提升到工艺速度。

需要特别注意:MC_MoveAbsolute在回零完成前执行,目标位置会以当前上电位置为参考,这是现场“定位偏了一个原点距离”的最常见原因。因此建议在程序中用MC_Home.Done作为MC_MoveAbsolute的使能前置条件。

五、MC_MoveJog:手动点动与安全边界

MC_MoveJog与前面几个指令不同,它采用电平触发:JogForward为TRUE时轴正向点动,JogBackward为TRUE时反向点动,两者同时为TRUE时按参数设定处理(通常停止或按优先级)。松开后轴按设定的减速度停止。点动速度应单独设定,一般低于自动运行速度,便于观察和微调。

点动调试时,必须同时监控正负限位开关和急停回路。若轴在点动中撞到硬限位,应立即切断使能并检查限位逻辑。点动还常用于回零前的粗定位:先手动把轴移到近点附近,再执行MC_Home,可以缩短回零时间并避免高速撞原点。

六、调试检查要点

检查项正常表现异常处理方向
MC_Power.StatusEnable接通后稳定为TRUE查伺服供电、报警代码、总线通信
MC_Home.Done回零完成后输出一个扫描周期脉冲查近点信号、回零方向、爬行速度
MC_MoveAbsolute方向目标坐标增大时轴正向运动核对坐标系定义与伺服方向参数
MC_MoveRelative距离实际位移与Distance一致检查电子齿轮比与单位换算
MC_MoveJog停止松开后按减速度平稳停止检查减速度设定与限位互锁
建议在首次调试时把各指令的Done、Busy、Error、ErrorID分别映射到不同的M寄存器或D寄存器,通过GX Works3的监视窗口逐条观察状态迁移,这比只看轴是否动起来更能定位问题。

把上述五个指令按“使能→回零→绝对/相对定位→点动微调”的顺序调通,单轴定位的编程框架就基本成型。后续多轴插补、同步和凸轮控制,都是在这个基础上叠加轴间协调关系,因此本节的状态确认与坐标基准意识,会一直沿用到整个工程。