3. MECHATROLINK总线通信基础
MECHATROLINK 是安川电机为运动控制场景设计的实时现场总线,Sigma 系列伺服、变频器、I/O 单元通过它组成一个由主站统一调度的多轴网络。理解这套总线,关键不在于记住协议名称,而在于搞清楚三件事:一帧数据长什么样、多久传一次、每个从站怎么被区分和连接。这三件事直接决定了多轴系统的同步精度、可扩展轴数和调试方式。
协议版本与帧结构
Sigma 系统常见的是 MECHATROLINK-II 与 MECHATROLINK-III 两个版本。MECHATROLINK-II 基于 RS-485 物理层,采用半双工两线制,通信速率固定为 10 Mbps,单网络最多 30 个从站,通信周期典型值为 0.5 ms~8 ms。MECHATROLINK-III 则升级为 100 Mbps 全双工以太网物理层,单网络从站数可达 62 个,最小通信周期可到 125 μs,适合轴数多、同步要求高的场合。两者帧结构不同,不能混接在同一段总线上。
以 MECHATROLINK-II 为例,一个通信周期内主站先发一帧,帧内按顺序携带各从站的命令数据,随后各从站依次回送响应帧。帧的基本组成包括:前导码/同步字段、站号字段、命令与响应数据区、CRC 校验字段。主站帧中每个从站占用固定长度的数据区,长度由该从站的通信类型决定。例如标准伺服通信类型下,一个从站的主站命令区通常包含 32 字节,从站响应区也包含 32 字节,其中分布着运行指令、速度/位置指令、状态字、报警码、位置反馈等字段。MECHATROLINK-III 的帧在此基础上扩展了站号寻址范围和数据区长度,并支持更细的周期划分。
需要特别注意的是,帧内数据区是“按站号顺序排列”的,主站并不为每个从站单独建立连接,而是把所有从站的命令打包进同一帧广播出去,从站只截取属于自己的那段数据。这种“一帧多站”的机制正是 MECHATROLINK 实现多轴同步的基础。
通信周期与同步机制
通信周期是 MECHATROLINK 最核心的参数之一。主站以固定周期循环发送帧,每个周期内完成一次“命令下发 + 响应回收”。周期越短,位置指令更新越快,轴间同步误差越小,但对主站 CPU 负载、总线带宽和从站处理能力要求越高。工程上常用 1 ms 或 2 ms 作为多轴伺服的通信周期,高速贴装、电子凸轮等场合会用到 0.5 ms 甚至更短。
周期设定必须与从站数量、每站数据长度匹配。以 MECHATROLINK-II 10 Mbps 为例,若每站命令+响应共 64 字节,30 个从站一帧数据量约 1920 字节,加上帧头、站号和校验开销,单周期传输时间已接近 2 ms 量级。因此实际配置时不能只看“协议支持 30 站”,还要核算周期是否够用。一个实用的估算方法是:先确定所需轴数和每轴数据长度,算出单帧总字节数,再按 10 Mbps 有效带宽折算传输时间,最后留出 30% 以上余量作为周期下限。
同步方面,MECHATROLINK 采用主站时钟作为全网基准。主站每个周期发出同步信号,各从站在收到帧后按站号顺序在固定时隙内响应,因此所有轴的位置指令在同一周期内被同时刷新。对于需要多轴插补的应用,只要保证所有伺服从站处于同一通信周期、同一主站下,就能获得确定的同步关系。若把不同周期的从站混在同一插补组中,会出现指令更新时刻不一致,导致轨迹抖动。
从站站号分配
每个从站在网络中必须有唯一站号,范围通常为 1~30(MECHATROLINK-II)或 1~62(MECHATROLINK-III),站号 0 保留给主站。站号通过从站上的拨码开关或参数设定,常见做法是用旋转拨码开关直接设定十进制站号。站号不仅用于寻址,还决定了该从站在帧数据区中的位置:站号越小,其数据区越靠前,响应时隙也越早。
站号分配应遵循几条实际规则:第一,站号必须连续或至少唯一,不能重复,重复会导致总线冲突和通信报警;第二,建议按物理轴顺序或控制柜内布置顺序编号,便于排查;第三,若后续可能增加轴,预留中间站号比全部占满更利于扩展;第四,站号修改后必须重新上电或执行站号刷新,主站才能识别。调试时若出现“从站未响应”或“站号重复”报警,应优先检查拨码开关和主站扫描到的站号列表是否一致。
多轴网络拓扑搭建
MECHATROLINK-II 采用总线型拓扑,主站与各从站通过屏蔽双绞线手拉手串联,两端需接终端电阻(通常 110 Ω),中间从站不接终端。这种拓扑布线简单,但任一节点断线会影响后续从站,因此实际柜内布线要保证连接器压接可靠、屏蔽层单端接地。MECHATROLINK-III 使用以太网星型或菊花链拓扑,通过标准 RJ45 接口和交换机连接,支持热插拔和更灵活的布线,但需注意交换机不能引入过大延迟,建议使用工业级非管理型交换机或直连菊花链。
搭建多轴网络时,推荐按以下顺序推进:先确认所有从站站号唯一且与规划表一致;再按拓扑要求连接电缆并接好终端电阻;然后由主站执行站扫描,核对实际在线站号与预期是否一致;最后设定通信周期并做一轮空载通信测试,观察是否有 CRC 错误、站丢失或周期超时。若通信正常,再逐轴使能伺服,检查位置反馈是否随指令变化。这个顺序能把“接线问题”和“参数问题”分开定位,避免一上来就陷入多因素排查。
把帧结构、周期和站号三件事串起来看,MECHATROLINK 的多轴控制逻辑就清晰了:主站按固定周期发出一帧,帧内按站号顺序携带各轴命令;从站按站号截取自己的数据并回送状态;所有轴在同一周期基准下同步刷新。后续配置伺服参数、编写运动指令时,都是在这个通信框架之上进行的。