汇川PLC EtherCAT伺服配置全流程:从扫描到PDO映射与故障排查
作为一个常年泡在自动化现场调试的人我太清楚新手拿到汇川PLC配上EtherCAT总线伺服时的那种感觉了硬件照着说明书接好了InoProShop软件也装上了但一上电要么从站扫描不到要么通讯一建立就报错要么动两下就掉站。这些问题单看手册往往找不到答案因为手册只告诉你“怎么配”没说“为什么这么配”更没说“配错了会发生什么”。这篇文章我就从InoProShop的EtherCAT配置全流程讲起把主站从站的通讯原理、PDO映射的细节、以及90%以上新手会踩的故障坑一次说清楚。1. 整体设计与思路拆解1.1 为什么要选EtherCAT总线方案工业现场做运动控制目前主流的通讯方式无非就是脉冲、模拟量、以及各类现场总线。脉冲方式虽然简单直接但一个轴至少占用一个高速输出口线缆多、抗干扰差而且位置精度完全依赖发脉冲的频率和数量轴一多就跑不动。模拟量方式精度更受限于转换位数和现场干扰。EtherCAT属于实时工业以太网它的核心设计思路是“边传输边处理”主站发出的报文在从站节点间像接力一样逐站穿梭每个从站读取属于自己的数据的同时把自己的反馈数据插入报文的相应位置整个过程中报文延迟是微秒级的。对于多轴同步、高速高精运动控制来说这种硬实时特性基本就是唯一解。汇川的H5U、AM系列PLC和中型PLC搭配SV660系列伺服走的就是这套EtherCAT总线方案。我见过不少项目用脉冲方式做三轴点胶速度一快就丢步后来改用EtherCAT做电子凸轮整体效率直接翻倍。这就是总线的价值不只是省线是把同步精度和可扩展性提上来了。1.2 EtherCAT系统架构与InoProShop的角色在开始配置之前脑子里得有整条链路的画面。EtherCAT系统分主站和从站两级主站就是汇川的PLC本体InoProShop软件负责给主站配置总线参数、分配站号、映射过程数据PDO。从站所有挂在总线上的设备比如SV660N伺服驱动器、远程IO模块、编码器模块等。每个从站内部都有一个叫做ESCEtherCAT Slave Controller的芯片主站发出的报文经过从站时ESC会把属于自己站地址的数据摘出来、把要反馈的数据填进去。从站的设备描述文件XML就描述了它支持哪些对象字典、哪些PDO映射项InoProShop通过加载这个XML文件来认识从站设备。一句话总结InoProShop是配置工具XML是从站的“身份证”PDO映射是从站数据进PLC的“通道”。如果这三者的关系没搞清楚后面的配置过程就容易卡壳。1.3 方案选型时的几点考量在配置之前先得确定主站和从站都选对了否则后面全白搭。主站选型汇川的H5U、H3U、AM400、AM600以及Easy系列如Easy521、Easy522都支持EtherCAT主站功能但支持的从站数量、同步周期精度、凸轮功能等有差异。比如H5U在小型设备上很常用AM系列则偏中型应用Easy系列是经济型新秀关节模组控制这种轻负载场景用起来很顺手。从站选型汇川SV660系列有NEtherCAT和P脉冲/Modbus两种规格做总线控制必须选带EtherCAT接口的型号。SV660N的说明书会标明支持CIA402协议即标准伺服驱动对象字典InoProShop侧只要加载对应XML文件就能识别。版本匹配InoProShop的版本和PLC固件、伺服固件之间要匹配。我见过有人拿InoProShop V1.6配置新固件的H5U通讯总是半通不通升级软件版本后问题立刻消失。这是新手最容易忽略的隐性坑。2. 核心配置流程与实操要点2.1 新建项目与基础参数配置打开InoProShop第一步是新建工程并选择正确的PLC型号。这里有个细节如果PLC型号选错了即使后面从站配置正确下载程序后通讯也可能异常。我习惯在工程创建后就顺手确认一下PLC的固件版本如果固件过老先升级固件再继续。然后进入“EtherCAT”配置界面不同软件版本菜单位置略有差异通常在主站配置或网络配置页。此时需要设置本地的MAC地址、站号默认0号是主站以及通讯周期。通讯周期是EtherCAT配置里最关键的参数之一默认值通常为1ms1000us适合大部分通用设备。伺服轴数较多或需要更高同步精度时可以设置成500us、250us但此时PLC的程序周期和EtherCAT同步周期必须匹配好否则容易出现周期性抖动。注意周期越短CPU占用率越高程序扫描周期也受限制。不要盲目追求小周期我一般先按默认值跑通再根据实际节拍优化。2.2 扫描从站与XML文件加载在“在线”状态下点击扫描按钮InoProShop会通过网络寻找挂在总线上的从站。扫描到设备后软件通常会提示加载对应的XML描述文件。这里说几个实际中常见的问题如果扫描不到从站大概率是网线连接或接线问题。EtherCAT直接使用标准网线主站网口必须接在PLC标注的EtherCAT口上有些PLC带有普通以太网口和EtherCAT口接错了就不通。XML文件最好从汇川官网或者驱动器附带的光盘/U盘中获取版本要和硬件固件对应。加载错版本可能导致PDO映射乱掉或对象字典对不上。扫描成功后查看每个从站的站点地址站号在配置界面里可以手动分配1~N的站号保证和实际物理位置一一对应。如果站号冲突或重复总线会直接报错。另外一个经常被忽略的点主站扫描到从站后会生成从站在线时的数据快照但配置文件里记录的站号是软件层面的。多次下载程序后如果从站接线顺序变了而配置里的站号没改就会出现地址错位。我建议每次扫描后都重新核对一遍从站顺序。2.3 从站参数配置与PDO映射详解EtherCAT通讯的核心是过程数据交换配置从站时重点就是PDO映射。以SV660N伺服驱动器为例它的PDO里包含RxPDO主站发给从站控制字、目标位置、目标速度、目标扭矩、模式字等。TxPDO从站反馈给主站状态字、实际位置、实际速度、实际扭矩、报警代码等。InoProShop里配置PDO映射时可以选择系统预定义的映射组也可以手动添加映射项。每一项映射都对应一个索引和子索引这个必须和驱动器XML文件里的定义严格一致。新手经常犯的错是从站扫描成功了但没配置映射或者映射项选错了然后程序中读到的数据完全是乱的。我的建议是一开始先用默认映射组通常是标准CIA402模式下的控制字、状态字、目标位置、实际位置这几项跑通了以后再去扩展映射需求。等练熟了再按照自己需求定义映射。模式字具体要看从站的XML文件说明和驱动器的说明书。SV660N支持位置模式、速度模式、力矩模式。在不同模式下主站写入的指令对象不一样比如位置模式下写目标位置速度模式下写目标速度。PDO映射配置好了编程前一定要确认驱动器的运行模式和控制字发出的使能顺序匹配否则会出现“使能无动作”“使能后驱动器报警”等问题。2.4 下载配置与在线监控配置完成后需要把工程和EtherCAT配置下载到PLC。下载时PLC通常会进入停机状态下载完成后PLC会重新初始化总线这个过程叫“总线初始化”或“冷启动准备”。在InoProShop的在线监控里可以看到每个从站的实际状态正常的从站状态机应该位于OPOperational状态也就是运行状态。如果从站停在PRE-OP预运行或SAFE-OP安全运行说明通讯没有真正跑起来。此时先别急着查程序先在诊断信息里看是哪个从站没进OP再结合报警代码查手册。有时候是某个从站的PDO配置和主站不匹配有时候是看门狗超时这些都是可以在诊断里直接看出来的。3. 实操过程与核心环节实现3.1 接线与拓扑结构注意事项EtherCAT理论上支持线型、树型、星型拓扑但在实际设备中最常用的还是菊花链式的线型拓扑主站网口1接到第一台驱动器第一台驱动器的OUT口接到第二台驱动器的IN口依此类推。接线时容易忽视的问题一定要用超五类或六类屏蔽网线普通的细网线在距离稍长或干扰强的现场会偶发丢包。我在客户现场见过用十几块钱一根的扁平网线跑起来的案例低速时没问题一跑到高速凸轮一天报三四次“从站丢失”换线后清零。线缆总长度有限制长距离传输建议加分布式时钟补偿或者考虑光纤中继方案。对于新手级应用三五十米内基本没问题。最后一段从站后不需要接终端电阻EtherCAT和传统的CAN总线不同没有终端电阻的概念这点和很多人的直觉不一样。有些新手以为必须接电阻结果把本来正常的链路搞出了反射干扰。3.2 一个典型伺服轴配置的完整流程下面以H5U-14AR-0100L配一台SV660N伺服为例走一遍完整的配置和操作流程。第一步新建工程。打开InoProShop新建工程后选择H5U系列CPU类型选择对应的具体型号点击确定。此时软件会生成一个默认程序框架包含主任务。第二步确认主站参数。在左侧工程树中找到EtherCAT主站配置界面设置主站站地址为0通讯周期设为1000us。这个周期值后续可以再改但先按默认来。第三步添加从站。在EtherCAT设备列表下右键单击“从站”节点选择“扫描从站”软件会自动列出在线设备。SV660N驱动器的默认站地址是1可以拨码设置扫描到后确认设备然后加载对应的XML文件。如果XML加载正确从站名称会显示为SV660N并且带有一个具体的固件版本号。第四步配置从站参数。选中从站双击打开配置项设置站点别名比如叫“X轴伺服”方便识别。设置站号手动指定为1。在PDO映射页勾选默认映射组。如果是位置模式需要确保映射组里包含“目标位置”和“控制字”这两个RxPDO项以及“实际位置”和“状态字”这两个TxPDO项。如果后续要做速度闭环再手动添加“目标速度”到RxPDO、“实际速度”到TxPDO。第五步配置完成后点击“生成”或“配置应用”按钮软件会生成EtherCAT主站的相关配置代码。此时需要将程序下载到PLC然后PLC会重新初始化总线。第六步上电后看从站节点状态。在InoProShop的在线监控窗口中可以从站状态一栏看到每个从站的当前状态。正常的话状态会从INIT-PRE-OP-SAFE-OP-OP依次切换最终停在OP。如果停在SAFE-OP或PRE-OP参考报警代码逐项排查。3.3 程序侧如何控制伺服轴配置好通讯只是第一步真正的使用要在PLC程序里写逻辑。以位置控制为例轴控制的核心流程是上电后清除故障、下发使能控制字16#0006或16#000F、等待驱动器状态字到位、然后写目标位置、触发启动位、等待到位。控制字的含义是CIA402标准协议的一部分这是所有标准EtherCAT伺服从站的通用协议。新手最常问的一个问题是“为什么我给了使能电机不动”。实际上多数情况下驱动器的状态字显示伺服已使能但模式字Modes of Operation对象字典6060h没有设置成位置模式值1导致驱动器收到位置指令后无法正确执行。InoProShop编程建议使用汇川封装好的功能块比如H5U的轴控指令例如MC_Power、MC_MoveAbsolute等这些功能块封装了控制字和状态字的切换逻辑能少踩不少坑。但如果想理解底层原理建议还是自己先写一遍使能流程亲眼观察控制字和状态字的变化这样后面碰到问题时会更容易定位。4. 常见问题与排查技巧实录4.1 通讯建立不起来的排查流程从站扫描不到、配置下载后总线不在线、从站报通讯错误这几种情况基本覆盖了90%的新手通讯故障。我总结了一套排查顺序按这个顺序走绝大多数问题半小时内能定位看网络接线。确认网线接的是PLC的EtherCAT口而不是普通以太网口确认驱动器的IN口接到上一级的OUT口确认网线两端接头压接良好。看从站指示灯。驱动器的L/A指示灯Link/Activity应该常亮或有数据闪烁如果完全没反应基本就是网线或端口问题。注意SV660N驱动器的拨码站号与配置的站号要一致不一致时主站虽然扫描到设备但配置校验不过通讯依然起不来。看InoProShop的诊断信息。扫描不到从站时查看主站诊断是否提示超时如果超时说明主站发出的报文没有完整返回大概率是链路断开或者从站没上电。确认XML文件版本正确。驱动器固件升级之后老的XML文件可能无法正确描述PDO映射或对象字典这种情况需要重新从官网下载匹配的XML文件。确认没有其他软件占用网口。有些电脑装了Wireshark或不限速软件后会把网卡改成混杂模式影响网卡通信在调试时最好停掉无关软件。4.2 通讯建立后的常见报警与处理通讯建立后驱动器还会报各种故障我挑几个最高频的写在这里供各位参考驱动器报警“通讯超时”或“同步丢失”通常是看门狗设置过短或者总线周期内程序任务没有及时响应。排查思路是检查通讯周期设置如果周期为1ms那么PLC主程序任务周期也要和它匹配最好设置成一致的周期。另外检查驱动器的看门狗参数默认值一般够用但如果程序扫描周期偏长需要适当放宽。报警“从站丢失”表现为总线运行中突然某个从站失联然后又自动恢复。多半和干扰有关尤其是变频器、电磁阀等大功率设备启动瞬间的干扰。处理方法屏蔽层单端良好接地、动力线和通讯线分开走线、通讯线远离变频器输出侧。如果是多台变频器的场合建议给通讯电源加隔离。报警“同步错误”有些伺服驱动器的同步误差累积后会在诊断中提示。处理办法是检查分布时钟设置InoProShop里可以对从站做DC时钟补偿。此外网线过长或质量差也会带来同步偏差。驱动器报警后无法复位部分故障需要在InoProShop里给控制字发“清除故障”指令或者驱动器侧按“复位”键。注意CIA402标准中清除故障需要使用控制字的位7程序中必须正确实现复位逻辑否则高电平常驻时无法清除报警。4.3 新手必知的几个“假性故障”所谓“假性故障”就是硬件一切正常但从现象上看就像坏了。这类问题最能坑人因为你在驱动器、网线、程序里来回找都找不到原因。典型案例一伺服使能后一抖一抖像是伺服从站坏了。实际是电机参数没识别正确。SV660N支持电机参数自动识别通过InoProShop设置如果电机参数和驱动器内部存储不一致上电后电流环参数就不准伺服就会异常抖动。典型案例二电机能转但定位不准误差逐渐累积。这个多半不是通讯问题而是电子齿轮比或每转脉冲数没设置对。EtherCAT下伺服是数字量给定目标位置机械负载的减速比和丝杆导程必须正确折算到轴参数里。程序里的轴单位如果是user unit就得确认InoProShop的轴配置里脉冲数/每圈、丝杆导程等参数和实际机械一致。典型案例三偶尔“撞机”或者瞬间加速变向。这种往往是因为掉站导致的“丢指令”或“重复指令”。检查是否有从站在总线上反复上下电以及是否有IP地址冲突。EtherCAT虽然不基于IP但配置工具在建工程时会占用IP段有时候电脑的无线网卡和本地网卡抢地址也会导致下载程序时莫名失败。4.4 故障排查速查表现象可能原因排查方向处理办法扫描不到从站网线接错、从站未上电、链路断开检查物理连接与指示灯换线、重新插拔、确认电源扫描到但从站状态停在PRE-OPPDO映射不一致、XML版本过旧查看主站诊断与从站报警更新XML、重新配置映射通讯建立后报“同步丢失”程序周期不匹配、看门狗过短检查通讯周期与程序周期统一周期、放宽看门狗运行中偶发“从站丢失”干扰、网线质量差、电源波动查看干扰源、检查线缆质量换屏蔽线、改善接地、加滤波伺服使能后抖动电机参数不匹配、增益过高检查驱动器参数自动辨识参数、调整增益定位不准、误差累积机械参数折算错误核验电子齿轮比与轴配置正确设置丝杆导程、减速比报警无法复位控制字复位逻辑错误检查程序复位逻辑正确使用控制字位7复位5. 总线周期与同步性能调优5.1 通讯周期与程序周期的匹配EtherCAT从站完成一次数据交换的周期是由主站同步周期决定的。PLC的程序扫描周期如果和这个周期不匹配比如通讯周期1ms但程序周期5ms那么程序采集到的数据会有明显的滞后感伺服响应也会不够平滑。在新手阶段最稳妥的方式是把PLC主程序的扫描周期设置为和EtherCAT周期相同。H5U支持任务周期自由配置可以在任务配置页里看到当前主任务的扫描时间。注意如果程序体量大、逻辑复杂扫描周期可能超过设定值这时从站会报“主站看门狗超时”之类的错误。解决思路是先优化程序或者降低通讯周期要求。另外分布式时钟DC是EtherCAT实现从站之间同步的关键机制。默认配置下主站会自动启用DC各从站的同步中断会基于主站时间基准对齐。如果出现轴间同步精度不高的场景比如插补、电子凸轮需要检查DC补偿状态是否稳定偏移值是否持续波动。5.2 多从站项目中的规划建议当从站数量较多时除了把站号理顺还要注意总线上从站的分布顺序。理论上EtherCAT对顺序没有严格要求但实际项目里最好按照物理安装顺序来分配站号这样出了问题好查。另一方面从站越多每周期传输的数据量越大通讯周期就需要留有余量。一个粗略的经验每增加10个从站建议至少预留100us的周期余量。如果从站包含大量高速IO或伺服轴向映射了很多PDO项那么数据量影响还会更大。此时可以通过InoProShop查看当前总线负载率如果负载率超过80%就要考虑扩展主站或增加总线分支。5.3 与变频器的EtherCAT通讯扩展不少项目里除伺服外还有汇川MD800变频器需要接入EtherCAT总线。MD800作为从站时配置方法和伺服类似扫描从站、加载XML、分配PDO映射。这里有个容易踩的坑MD800系列的有些版本把通讯相关的对象字典做在专用手册里如果不看手册直接从伺服的经验套过去可能找不到对应的控制字值域。我建议一旦接入变频器先确认它的控制模式是“总线命令还是端子命令”特别是转速给定通道要设为EtherCAT否则总线上能通讯上但启动指令下去电机压根没反应。6. 项目移植与工程管理经验6.1 工程复制后从站参数丢失问题做设备开发时我们经常会复制一个做好的工程改改就变成新设备的程序。这时候最容易出问题新设备的从站硬件型号和原工程配置里的从站版本一致还好如果不一致就会导致启动自动复位或从站丢失。处理方法很简单但很多人不知道复制工程后一定要重新扫描一遍从站并在InoProShop里重新加载当前硬件对应的XML文件然后重新生成配置。不要相信“反正都是SV660N应该兼容”这种想法固件版本不同PDO映射里的对象字典索引可能变风险很大。6.2 InoProShop常用技巧总结这里分享几个我日常调试中用得比较多的技巧算是对全文内容的补充把“总线配置”和“程序逻辑”分开保存版本。我习惯在工程修改前导出EtherCAT从站配置备份一旦改坏了能秒级恢复。在从站配置页面里给每个轴写清楚注释注释内容包含轴名称、关联的机械部分、电机型号和固件版本。到了现场排查问题时这种注释能省大量时间。如果项目涉及多个厂家设备比如用第三方驱动器或IO模块记得先判断它是否支持EtherCAT从站协议以及是否提供标准ESI/XML文件。没有XML文件就只能在离线状态下手动建立从站非常麻烦而且容易出错建议优先选择有原生支持的设备。PLC程序的轴控逻辑尽量使用汇川标准功能块库并使用标准轴变量命名这样不仅代码可读性强后续维护的人看着也舒服。6.3 固件升级与版本兼容性固件升级这件事平时没问题升级完可能就会带来一堆兼容性问题。我自己有过一次真实经历某项目在调试中遇到一个偶发报警售后工程师建议把驱动器固件升级到某个新版本。升级后驱动器确实不报那个报警了但PLC侧的旧XML文件无法正确识别新驱动的所有对象导致PDO映射里少了一项。最后找官网下载了新版本的XML重新配置下载才解决。所以固件升级前务必做到两点第一确认新固件的更新说明里提到“通讯协议或对象字典变更”的字眼第二升级后重新导出并核对XML文件。如果网上没有公开说明建议联系厂家技术支持的800电话或区域工程师确认不要拿产线设备赌。7. 调试中的独家心得与细节补充7.1 网线选择的讲究比想象中大很多人觉得EtherCAT用的是标准以太网物理层网线只要是通的就行。实际调试中网线阻抗不匹配、绞线不均匀都可能导致报文翻转时间抖动尤其在温度和振动变化的产线上更容易偶发断站。我现在的标准做法是批量项目里统一采购指定品牌的超五类或六类屏蔽工业网线长度按现场量好定制不做那种“网线不够长拿对接头接一段”的操作。线材费用在整个项目里占比极小但省下的排查时间成本却是天壤之别。7.2 别忽视接地与布线规范通讯故障里至少有三成和接地、布线有关。变频器、伺服驱动器、开关电源的接地端子都要按照说明书要求可靠接地而且动力线和通讯线尽量分开走线槽。现场空间实在有限时通讯线要加金属穿管保护并和动力线保持20cm以上间距。这里面还有一个容易忽略的点屏蔽层该单端接地还是双端接地。人云亦云的说法很多但EtherCAT本身是高频信号屏蔽层通常建议单端接地以避免地环路干扰具体要根据现场实测的干扰波形来确定。如果现场接地条件差宁可先不加屏蔽接地也不要随便找一个点就接上反而把干扰引进来。7.3 从“跑通”到“跑稳”的进阶思路如果你的设备只是演示项目通讯跑通了就可以收工但如果是量产设备或客户产线那就必须追求“跑稳”。稳定性的检验方法很简单连续上电断电运行至少几百次监控从站掉线次数再用高速凸轮或连续定位的方式跑整机空跑几个小时观察位置误差和同步误差是否在允许范围内。如果出现偶发掉线除了常规排查外建议在InoProShop里开启总线诊断日志看掉线时是网络物理层报错还是应用层看门狗超时。物理层报错多考虑屏蔽、接地、布线应用层超时则多考虑主站程序周期和看门狗设置。定位到了层面解决方案基本就清楚了一半。7.4 关于EtherCAT从站代码的扩展认知最后顺带说一句有经验的朋友可能会接触到从站开发层面的东西比如EtherCAT Slave Stack CodeSSC以及基于STM32做从站硬件方案。对于只用汇川PLC做设备的工程师来说这部分属于上游知识了解即可但理解了ESC芯片的工作方式特别是SMSync Manager同步管理器和FMMUFieldbus Memory Management Unit的作用之后你对PDO映射和通讯周期的理解会深入很多排查问题时也会更有底气。比如你理解了从站内部的SM Channel其实就是邮箱通信和过程数据通信的“收件箱”和“发件箱”之后就能明白为什么PDO映射里索引或长度配置错了主站虽然能扫描到但从站却永远进不了OP状态。这种“知其所以然”带来的排查速度提升是在现场一年调试经验的浓缩很难用几句教程文字替代。说了这么多最后还是分享一个我的个人习惯拿到新项目的第一天先把PLC和所有从站设备连好线在InoProShop里做一次傻瓜式的扫描、配置、下载、置OP。哪怕程序逻辑还是一张白纸也一定要先把通讯链路彻底跑通、确认每个从站都能稳定进出OP状态再去写业务逻辑。这个习惯帮我避开了无数个“程序写到一半才发现总线配置有问题”的尴尬时刻。希望这篇指南也能让你少走这些弯路把时间花在真正有产出的事情上。