ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

汇川PLC EtherCAT组态与故障排查实战指南

汇川PLC EtherCAT组态与故障排查实战指南 上个月一个客户打电话过来说他的汇川H5U通过EtherCAT带了8个SV660N伺服一上电从站RUN灯闪程序下载完以后速度全乱了。我第一句就问他你导入从站XML了吗对面沉默了三秒反问我XML去哪里下载。这个场景我至少见过几十次。很多人第一次在InoProShop里碰EtherCAT上来就把网线插上觉得跟以前调RS485一样结果扫描不到从站、数据乱跳、伺服不使能各种通讯故障堆在一起。这篇指南就是写给这群人的不管你是用H5U、AM401还是Easy系列只要你打算在汇川PLC上跑EtherCAT把从建工程到映射PDO、从指示灯到报错代码的完整流程搞清楚就能少走至少一个月的弯路。1. 先搞清楚 EtherCAT 在汇川体系里的“玩法”和常见误解1.1 EtherCAT 和 Modbus/RS485 的本质差异我在现场见过不少人把 EtherCAT 当成“快一点的 Modbus”这是第一层误解。EtherCAT 不是简单的“主站问、从站答”而是主站发出一帧报文报文沿着拓扑经过所有从站时每个从站在位级上读取自己的输出数据并插入自己的输入数据最后再返回主站。所以它天生是分布式时钟同步、IO刷新和轴控一体化的总线。这种机制决定了配置方式完全不同。Modbus 你只要知道从站地址、寄存器地址就能通讯EtherCAT 必须让主站提前知道每个从站的“能力”靠的就是从站描述文件XML还有基于XML展开的对象字典和PDO映射。这个区别会带来一系列连锁反应在InoProShop里如果没导入XML主站根本不知道这个从站是什么扫描到的只是一个带厂商号的未知设备不同从站的XML版本不对映射出的PDO长度也会对不上轻则数据错位重则直接掉站。理解了这层底层差异后面所有配置动作才有依据。1.2 汇川主站型号差异H5U、AM系列、Easy系列不是所有汇川PLC跑EtherCAT的方式都一样。H5U是内置EtherCAT主站的小型PLC通过InoProShop配置最多能带几十个从站适合中小型设备AM400/AM600系列在InoProShop里把EtherCAT主站作为“设备”挂在工程树里思维上更接近CODESYSEasy系列比如Easy521/Easy522也能做EtherCAT主站但内存和带站能力更轻适合逻辑简单、轴数少的设备。很多新手容易犯一个错拿A系列的配置思路去套H5U结果发现菜单都不一样。InoProShop虽然统一了IDE但不同目标型号对应的设备描述文件和配置界面确实有差别。所以买设备之前先翻选型手册确认这台PLC的EtherCAT主站能力别把工程写到一半发现带不动。1.3 “插上网线就能通”是第一个坑如果只接一根网线就能自动通讯还要XML干什么EtherCAT的物理层确实是标准以太网但链路层用的不是IP协议你在电脑上Ping不通从站IP是正常的也不代表总线故障。另一方面如果用普通交换机来连接EtherCAT设备绝大多数情况下是通不了的因为EtherCAT要求报文按菊花链或树形拓扑依次穿过所有从站普通交换机会破坏这种转发机制。所以配置EtherCAT前先把网络拓扑画明白主站网口接第一台从站的IN口第一台从站的OUT口接第二台从站的IN口依次类推。这个阶段省下的时间都会在后面的故障排查里还回来。2. InoProShop 建 EtherCAT 工程的标准流程从建站到映射2.1 新建工程与主站参数站号、周期、同步模式打开InoProShop建议用1.7及以上版本老版本对部分从站XML兼容性不好。新建工程时选择实际PLC型号确认固件版本然后在设备树里添加EtherCAT主站。这里有几个参数需要认真理解。同步周期是第一个重点。默认值通常是1ms或2ms周期越短总线负载越高对从站DC分布式时钟能力要求也越高。如果你只带IO模块2ms完全够用如果做电子凸轮、追剪、多轴插补这类同步控制优先选择1ms甚至500μs的DC同步模式。站号分配方面主站一般会按物理拓扑自动分配但如果你手动改过务必检查不要重复。看门狗是另一个容易忽略的点主站和从站都有看门狗从站掉线后看门狗超时会自动切输出这是保护机制不是故障。新手最容易卡在“从站状态控制”上。EtherCAT从站要进入OP状态才开始交换过程数据中间要经过INIT→PREOP→SAFEOP→OP。InoProShop里程序运行后如果报“从站不在OP”大概率是初始化顺序没写对或者某个从站在PREOP阶段就报错了这时要看AL Status Code。2.2 从站 XML 的导入为什么一定要有它在设备树里右键“添加设备”如果列表里找不到你的具体从站型号就需要手动导入XML。XML是从站设备描述文件汇川官网按型号可以下载第三方设备则需要找厂家索要。里面定义了从站的型号、对象字典、PDO、Sync Manager配置、DC能力等关键信息。一个最常见的坑XML必须与固件版本匹配。SV660N伺服如果升过固件还拿旧XML导入主站计算出的同步参数可能不对运行时报同步错误。我之前遇到一个客户SV660N的XML版本比固件老PDO里多了一段废弃数据导致整个轴的数据错位排查了两天才发现是XML的问题。导入文件后建议在设备配置页签检查一下默认PDO分配至少包含控制字、状态字、目标位置、实际位置这四个关键对象否则后面使能和定位都会出问题。2.3 PDO 映射与变量绑定通讯数据的“搬运工”PDOProcess Data Object是周期过程数据相当于主站和从站之间每周期交换的快递包裹。InoProShop中你可以调整PDO内容把需要的对象拖进去。这里有个原则PDO里每个字节的顺序、长度必须和从站实际发送/接收一致否则数据错位。比如某款驱动器默认PDO第5个字节是控制字但你在主站侧按别的顺序映射控制指令就会写到错误的位置。完成PDO配置后需要把PDO对象关联到PLC程序变量。InoProShop里可以双击从站设备在过程数据页添加映射变量或者在全局变量表里直接用%IW0.0这种IO映射地址。轴多一点的项目我建议用结构体变量管理每个轴一个结构体成员包含控制字、状态字、目标速度、实际位置。这样程序里调用清晰排查数据也方便。2.4 下载与运行首次连接时的检查项配置完成后先别急着写控制逻辑。把空工程下载到PLC然后在设备树里观察从站状态是否变为OP。如果一直停在OP以下打开诊断页看AL Status Code同时做一次总线扫描对比实际扫描到的设备列表和组态列表是否一致。扫描时如果多出未知设备先查物理连接顺序再查是不是站号冲突。通讯通了不代表万事大吉。接下来要做读写测试给伺服发一个简单使能命令看状态字是否正常反馈或者强制一个IO输出看从站模块LED是否变化。只有这个过程验证过才算真正打通了通讯链路。主站参数常见值说明同步周期1ms轴控与IO混合场景常用站号自动/手动必须唯一不能重复看门狗超时默认掉站后自动切断输出DC同步模式启用/禁用第三方从站不支持时需关闭3. 通讯故障排查手册从指示灯到报错代码的逐层定位3.1 指示灯状态快速判断现场排查的第一件事永远是看灯。几乎每个EtherCAT从站都有RUN、ERR、LINK/ACT灯汇川伺服的指示灯组合一般这么看RUN常亮、ERR不亮说明从站已进入OP正常RUN闪烁、ERR常亮说明进入OP失败多半是配置不一致或同步失败RUN不亮、ERR闪烁说明从站没有被主站正常寻址重点检查网线和站号LINK/ACT不亮说明物理链路断了换网线或换口。这里我想强调一下指示灯是判断故障最直接的信息因为它是从站控制器自己上报的状态。调试软件里看到的报错往往经过主站打包信息有延迟而灯是最实时的。到了现场先围着设备转一圈看所有从站的灯能快速缩小问题范围。3.2 常见报错代码与含义InoProShop诊断页里的AL Status Code对应EtherCAT从站状态机的错误原因。常见的有这么几类0x0004/0x0005输入或输出数据无效。通常因为主站配置的PDO长度与从站实际不匹配或者从站没有收到有效数据。0x0006同步错误。常见原因是同步周期太短从站跟不上或者DC参数不对。0x0011站号冲突或未知地址。检查设备树里的站号是否和物理位置对应。0x0012从站配置无效。大概率是XML版本不匹配或者对象字典、PDO映射有问题。注意这些错误码在不同主站软件里可能显示为十六进制或十进制看的时候要能换算。不要看到错误码就盲目改参数先定位是哪个从站报错再看错误码属于状态机错误还是总线错误这样才能对症下药。3.3 用 Wireshark 抓 EtherCAT 报文不会也能看懂的关键字段如果从站状态看着正常但数据内容不对或者通讯时好时坏用Wireshark抓包是很好的定位手段。把主站网口通过带镜像功能的交换机引出来或者电脑直接接在某台从站的OUT口往下抓。打开Wireshark选对网卡过滤表达式填ecat你不需要完全读懂EtherCAT协议只需要看几个关键点。FEC字段如果有错误说明物理链路质量差优先查网线、水晶头、接地。WKCWorking Counter在数据报头里正常情况下每帧处理过的从站数量会反映在WKC上如果某条报文的WKC一直不动说明有从站没参与通讯。Cmd类型也要瞄一眼如果大量NOP指令说明主站还在扫描阶段持续APRD/APWR才代表正常运行。Wireshark不需要精通但提前在实验室学会抓包比现场临时百度要强得多。3.4 高频故障排查链路站号重复、XML版本不匹配、拓扑错误我总结一套通用排查顺序先硬件再组态后映射。第一步断开所有从站只保留第一台看主站能否识别并进入OP。然后再依次接入后面的从站每次确认能正常进入OP这样能快速找出是哪台从站拖垮了整个链路。第二步对比组态里的从站型号、XML版本、站号和物理设备如果从站固件近期升级过去官网下最新XML覆盖旧文件。第三步检查PDO映射长度先把所有从站PDO恢复默认只保留必要数据项排除自定义映射导致的错位。这三个步骤能解决绝大多数掉站、数据错位、状态卡死问题。尤其是第二步十个现场里有八个是XML版本不匹配但大家往往先去改程序。4. 现场常见设备的特殊配置变频器、伺服、第三方从站4.1 汇川变频器MD800作为 EtherCAT 从站报警消除与状态字处理很多人搜“汇川MD800变频器怎么消除报警”到了EtherCAT场景里答案不是简单按面板复位键。变频器作为EtherCAT从站时报警复位更多是通过过程数据写控制字实现的。MD800的PDO里一般有控制字和状态字控制字的bit7是故障复位标志需要在程序里给这个位一个上升沿信号变频器才会执行复位动作。这里有个原则复位之前必须确认报警源已经排除。如果过流、缺相等故障还在你复位多少次都没用还可能损伤设备。另外MD800有些报警会锁存在变频器内部需要通过参数或专用命令清除。不要图方便在程序里一直置位复位位那样会让变频器反复重启现场会更乱。4.2 SV660F/SV660N 伺服驱动的扭矩/位置数据映射SV660系列是现在很常用的EtherCAT总线伺服17位或23位编码器都有。在InoProShop里导入XML后通常有两种PDO标准PDO包含控制字、状态字、目标位置、实际位置逐位PDO可以单独映射报警代码、转矩电流等。如果你想在触摸屏上查看驱动器扭矩需要在PDO里加入6077实际转矩或6078目标转矩对象然后映射成变量。特别注意这些对象的单位一般是0.1%额定转矩不是牛顿米。换算比例要看驱动器的电子铭牌别直接显示原始值给操作工看。做电子凸轮或追剪时DC同步模式必须打开主站周期建议1ms或更高。追剪往往需要探针输入信号这种信号如果走EtherCAT快速输入对象配置方式和普通IO模块不同要在从站参数里设置输入滤波和触发模式。4.3 第三方从站STM32 SSC怎么接入和排查用STM32配合ETG的SSC工具开发自定义EtherCAT从站在工业设备里越来越常见。这种从站没有现成XML需要自己用SSC生成并导出。接入InoProShop时最常遇到的问题有三个。第一个生成的XML里PDO映射与实际固件不一致导致主站无法进入OP。第二个如果自定义从站不支持DC同步主站配置时不能强制开启DC否则从站会同步错误。第三个邮箱协议CoE是否启用涉及SDO读写和参数存储没有邮箱的话主站配置工具可能读不到对象字典。这类从站建议先用第三方主站工具验证好再接汇川PLC不要一开始就怀疑是InoProShop的问题大部分情况都是XML描述和实际固件实现没对齐。4.4 EtherCAT 热连接/断线重连的边界条件有项目要求从站可以带电插拔但EtherCAT从本质上说不是即插即用热插拔总线。如果从站在运行中掉线主站会进看门狗保护输出关断需要重新初始化才能恢复。我来回被问过很多次“为什么拔了一下就回不来”因为硬件本身就不支持这种操作。设计上可以做掉站检测和自动恢复逻辑但自动复位要非常慎重尤其在安全场景下。硬件上选带锁定功能的RJ45接口线缆用带屏蔽的工业以太网线水晶头做好应力释放。现场偶发掉线十有八九是网线质量差、压线不规范造成的。5. 程序侧和上位机通讯的隐藏坑标签通讯、数组、时间戳5.1 InoProShop 与触摸屏/MCGS 的标签通讯现在很多项目用MCGS或者昆仑通态触摸屏通过标签通讯和汇川PLC交换数据。看起来跟EtherCAT无关但经常有人把这两条链路弄混。触摸屏走的是以太网或串口标签通讯EtherCAT总线本身只负责PLC和从站之间的数据交换。通讯显示乱码往往是两端数据类型没对齐触摸屏端建标签时把32位REAL变量对应到了字地址或者把DWORD当成了两个WORD用。如果你在触摸屏上既要显示EtherCAT从站的实时位置又要下发目标值建议在PLC里先规划好一个通讯数据区把需要交换的EtherCAT变量都映射进去触摸屏只和这个数据区通讯。这样即使总线重连或者从站顺序变化上位机也不用跟着改。触摸屏刷新周期不要设太激进否则PLC内部频繁处理通讯变量会影响EtherCAT周期抖动。5.2 EASY 系列数组声明与 EtherCAT 数据区映射Easy522这类小型PLC内存有限做多从站项目时用数组管理最方便。声明一个ARRAY [0..7] OF WORD然后把每个从站的状态字映射到对应数组元素程序里用循环处理代码量会小很多。但这里有个细节坑EtherCAT输入映射地址按字节偏移数组元素是WORD类型时要注意对齐。别想当然地在结构体里塞一堆WORD然后直接和PDO绑定。建议先在过程数据页验证每个变量的偏移地址再在程序里用%IW0.0这种绝对地址索引至少先做一个简单的只读循环验证一遍确认没有字节错位再往下写。5.3 日期时间寄存器、TOFR 定时器这些系统变量怎么配合使用有些项目需要在总线上打时间戳有人喜欢直接读PLC的日期时间寄存器。这个思路没问题但要清楚日期时间寄存器的精度是系统实时时钟不受EtherCAT同步时钟控制。如果你需要精确的周期采样应该用DC同步变量或者总线诊断里的周期计时而不是RTC。TOFR定时器是InoProShop里的扩展定时器可以用来做断开延时或者定时触发逻辑但它同样不能用于毫秒级总线周期控制。程序里凡是与EtherCAT周期强相关的时序最好依赖主站“任务配置”的固定循环周期事件而不是自研软件定时器。调试的时候你会感谢这个原则。6. 想少走弯路一线现场积累的排查经验和习惯6.1 配置阶段就规避故障的 5 个习惯我在调试时总结了几条看起来基础、但真能减少80%通讯故障的习惯。第一给每台从站建一份档案记录固件版本、XML版本、硬件版本设备升级后同步更新XML并在工程注释里写清楚。第二给每个从站设置固定站号不要一直依赖自动分配防止现场重新上电后顺序变化导致数据错乱。第三新工程先空工程把总线全部组态到OP再写控制逻辑这样出了问题能区分是配置问题还是程序问题。第四EtherCAT线缆用标准工业屏蔽网线走线槽时和大功率动力线保持距离。第五每次现场改动后及时备份工程和XML很多疑难杂症在对比新旧版本后一眼就能看明白。6.2 现场应急排查的优先级顺序真到了现场设备动不了、生产线等着开的时候我自己的节奏是“一看二测三查四冲”。一看看从站指示灯、主站诊断页、有没有报错弹窗。二测测网线通断、从站供电电压、通讯口是否松动。三查查站号、XML、PDO映射、同步模式。四冲如果前面都没问题给PLC重新上电或者恢复出厂配置后重新下载。这套流程执行下来大多数EtherCAT问题都能定位根本轮不到改程序。很多工程师一上来就反复改代码反而把问题带偏了。6.3 免费工具和资料推荐汇川官网可以直接下载InoProShop1.7版本对EtherCAT支持更完整建议使用。做第三方从站开发的可以去ETG官网注册后下载EtherCAT协议规范和SSC工具从站XML能不能生成全靠它。Wireshark是免费抓包分析工具支持ecat过滤排查数据内容异常很有用。汇川选型手册和从站XML库在官网支持中心都能找到按型号检索即可。如果你经手的设备种类很多可以建一个“从站知识库”文件夹按主站型号和从站型号分类存放XML、固件、PDO说明和排查记录。时间长了你会发现很多新问题只是以前踩过的坑换了个马甲。最后再分享一个我自己的体会。EtherCAT通讯故障排查拼的不是对协议的背诵而是对“配置一致性”的敏感度。每当现场从站数量多、轴多的时候我都会把组态导出来逐台核对固件、XML、PDO列表。这个方法看起来很慢其实是最快的。很多工程师喜欢一上来就抓波形、看时序我建议先把配置的一致性核对完再考虑总线级疑难杂症。毕竟大多数所谓的新手故障最后都逃不出站号、XML、PDO和网线这四大件。
返回列表