
刚接触汇川这套系统的时候我其实被 EtherCAT 折磨得不轻。记得第一次在客户现场调试 H5U 配 SV660N明明线也接了、站号也拨了InoProShop 里就是扫描不到从站折腾了一下午最后发现是网线顺序插错口。这些年踩过的坑多了回头看很多所谓“通讯故障”其实都集中在几个固定的环节。这篇就是把汇川 InoProShop 配置 EtherCAT 的完整流程拆开来讲从原理到实操、从参数设置到故障排查尽量把新手最容易卡住的 99% 问题一次说透。不管是做设备维护的老电工还是刚入行的电气工程师只要手头有汇川 PLC 和 EtherCAT 从站这篇应该都能帮你少走不少弯路。1. 为什么 EtherCAT 配置让人头疼先搞懂这套系统的“骨架”1.1 EtherCAT 到底解决了什么问题先说清楚 EtherCAT 是干嘛的。在它普及之前PLC 控制伺服主要有几种方式脉冲、模拟量、Modbus 通讯。脉冲方式接线多、频率上限低轴一多就头疼Modbus 虽然接线少但速度慢、实时性差多轴协同基本指望不上。EtherCAT 属于实时以太网用标准的网线就能把几十个从站串起来一个周期内主站发一帧数据每个从站经过时把自己的数据取走、再插入反馈数据整个过程极快同步精度能做到微秒级。这也是为什么现在汇川的 H5U、AM 系列、Easy 系列都把它当成标配总线。但“快”也意味着“严”。EtherCAT 的配置不像 Modbus 那样只要地址对就能大概率跑通它需要主站和从站之间有一份高度匹配的“设备描述文件”XML来约定数据格式需要正确设置从站站号需要合理映射 PDO 数据还要确保网络拓扑没有错误。任何一个环节出错表现出来的都是“通讯不上”或者“总线报错”这也是新手觉得它难的根本原因——问题往往不在通讯本身而在配置链路上的某一环。1.2 InoProShop 在 EtherCAT 调试中的角色InoProShop 是汇川基于 CODESYS V3 内核开发的编程软件支持 IEC 61131-3 标准的梯形图、结构化文本、功能块图等语言同时把 EtherCAT 主站的配置界面直接集成在工程里。也就是说你不需要单独装一个第三方主站工具从站扫描、从站参数配置、PDO 映射、变量绑定全部在 InoProShop 里完成。不同系列对应的软件版本要注意H5U、Easy 系列通常用 InoProShop而 AM 系列有些型号走的是另一套界面或者更新版本的 InoProShop。版本差异直接决定你看到的配置菜单、支持的从站数量、以及 XML 文件的导入方式。V1.6 和 V1.7 之间的界面布局就改了不少如果你习惯了老版本升上去之后找“从站配置”入口都要花点时间。我的建议是项目没特殊要求就固定用同一个版本不同版本建的工程要谨慎互开配置文件不一定完全兼容而且从站 XML 版本也可能有匹配问题。2. 配置前必须想清楚的 4 件事硬件、版本、站号和 XML2.1 硬件选型和接线网线不是随便插的EtherCAT 用的是标准 RJ45 网口和以太网线但和普通办公网络的用法差别很大。普通交换机不能随便串进 EtherCAT 网络里因为 EtherCAT 的帧是逐个从站“接力”转发交换机那种存储转发机制会破坏实时性。这一点新手经常踩坑以为中间加个交换机方便布线结果发现系统要么扫描不到从站、要么运行中频繁断网。接线方面有几点需要特别留意网线质量建议不低于 CAT5e现场强干扰环境最好用带屏蔽的工业网线屏蔽层要可靠接地。我遇到过好几次伺服偶尔报通讯故障换根好网线就再没出现过。端口区分汇川伺服、变频器作为 EtherCAT 从站时通常标有 IN 和 OUT 两个网口或者用 X1、X2 区分。主站网线必须接 IN 口搞反了从站不会转发数据。终端电阻EtherCAT 从站内部一般集成了终端电阻不需要像 Profibus 那样手动加终端电阻但前提是最后一个从站的 OUT 口不要再接任何设备。拓扑结构汇川主站通常支持线型拓扑也支持分支通过 IO 耦合器之类的设备实现。新手最稳妥的方案就是一条线串下来PLC → 伺服1 → 伺服2 → 变频器清清楚楚。2.2 固件版本匹配为什么从站扫描出来“名字不对”这是很多人在现场突然卡住的地方软件里明明导入了从站 XML网上搜到的教程也能照做但扫描出来的从站型号和实际设备对不上。真实原因多半是主站软件版本、从站固件版本、XML 文件版本三者不匹配。举个例子SV660N 伺服早期固件和后期固件在对象字典上有些调整如果你导入的是新版的 XML但设备还是老固件扫描出来的名称可能还是对的可一旦下载配置伺服就报参数错误或直接切到 Fault 状态。变频器 MD800 也有类似情况不同批次固件对 CiA402 报文支持的程度不一样。我现在的习惯是拿到设备先看铭牌固件版本再去汇川官网下载对应版本的 XML 文件而不是顺手用安装包自带的那个。有时候你打开 InoProShop 的从站库能看到同型号设备好多个版本条目别选最新的就完事得和实际设备固件对应。实在不确定可以先把设备单独上电用汇川的上位机调试软件读一下固件版本再匹配。2.3 从站站号设定最容易被忽略的“身份 ID”EtherCAT 通讯里主站靠站号识别每个从站。站号一般有三层概念物理拨码如果有的话、从站内部参数、主站工程里分配的地址。这三者必须形成对应关系。很多汇川伺服和变频器没有硬件拨码而是通过面板参数设置站号。MD800 变频器通常在参数组里设通讯地址或站点号SV660N 则需要在伺服驱动器面板上设置站号参数。注意了站号必须唯一而且不能为 0。如果两个从站撞了号扫描的时候后一个从站往往会把前面从站的通讯打断表现就是时好时坏。还有一个细节主站工程里的从站地址不完全等于从站实际的站号。在线扫描添加从站时InoProShop 会根据从站返回的地址自动分配主站逻辑位置但你如果在扫描后手动改过从站的拨码或参数最好删掉重新扫一次否则工程配置里的地址和物理设备对不上一下载就会报“从站无响应”。2.4 从站 XML 文件设备身份说明书XML 文件全称是 EtherCAT Slave Information对从站来说就像身份证里面写清了设备支持的对象字典、PDO 映射模板、同步模式、厂商信息等。主站软件解析了 XML 才知道怎么跟这个从站通讯、能传输哪些数据。EtherCAT 从站 XML 文件的获取和导入流程从汇川官网或者随机 U 盘里找到对应型号的 XML 文件一般是类似SV660N_xxx.xml的命名。打开 InoProShop 工程进入“设备”或“从站配置”界面在设备库里找到“导入 XML 描述文件”之类的入口。导入后注意检查设备库里是否多出了相应型号有的版本导入后需要重启软件才能识别。如果在“从站配置”里还是找不到检查 XML 是否放错了目录有些老版本只扫描软件安装目录下的指定文件夹。有一个很容易被忽略的问题某些第三方从站或非汇川设备的 XML 文件版本较老可能不支持新的 InoProShop 导入。这时候可以尝试用文本编辑器打开 XML看看EtherCATInfo版本号如果版本过低可能需要向设备厂家要新版本的描述文件。汇川自己设备一般没这个坑但接第三方伺服、IO 模块时就要多留个心眼。3. 一步一步实操建立一个能跑的 EtherCAT 项目以 H5U SV660N MD800 为例3.1 新建工程与添加主站选对模板是成功的一半打开 InoProShop新建工程时选择对应 PLC 型号和固件版本。型号选错的话EtherCAT 主站功能可能在菜单里直接不出现或者在编译下载时报“设备类型不匹配”。新建好工程后在左侧设备树里找到“EtherCAT 主站”或“总线主站”节点右键选择“添加设备”。这里要注意InoProShop 有“自动扫描”和“手动添加”两种方式。新手建议先扫描这种操作的问题后面细说。扫描之前确保连接好 PLC 和所有从站PLC 处于运行或停止状态都行但一定要先连上软件并能读到 PLC 信息。3.2 扫描并添加从站在线扫描 vs 手动添加在 InoProShop 里双击主站节点工具栏上能找到“扫描网络”或类似按钮。点下去之后软件会发送广播帧查找从站。如果链路正常扫描列表里会按物理顺序显示所有从站型号。这里有一个很关键的选项是否将扫描到的从站添加到工程中。我建议第一次先扫描但不立即添加先核对列表里的型号、数量和实际设备是否一致再确认每个从站的地址分配是否符合预期。如果扫描结果里出现“未知设备”或“文件缺失”说明 XML 文件没装全回到第 2.4 节解决。手动添加适用于没有实际硬件但需要离线编程的场景。这种方式好处是可以先把程序写好坏处是容易出现“工程配置和现场设备对不上”的问题。所以离线编程时一定要通过设备铭牌确认好型号、固件版本、从站数量离线添加完成后到现场最好还是重新扫描比对一次。3.3 配置从站参数与 PDO 映射地址、模式、报文都要对添加完从站真正的核心工作才开始。双击一个从站节点可以进入参数配置界面。这里面主要关注几个方面同步模式从站支持 Free-Run、SM 同步、DC 同步等模式。多轴需要精确同步时选 DC单轴简单控制时用 SM 或 Free-Run 问题不大。汇川伺服一般默认就能用但如果出现速度波动或位置同步误差要考虑切换同步模式并配合总线周期调整。对象字典与 PDO 映射这是最容易出错的地方。SV660N 这类 CiA402 伺服控制字Controlword对象 6040h、状态字Statusword对象 6041h、目标速度60FFh、目标位置607Ah等关键对象必须映射到通讯报文里主站才能读写。InoProShop 里一般提供“默认映射”或“标准报文”的快捷选择新手直接用默认的就行不要一上来就自定义等有经验了再按需裁剪。以 SV660N 为例常用标准报文映射大致是方向内容对象字典主站→从站控制字6040h主站→从站目标速度/目标位置60FFh / 607Ah主站→从站模式设定6060h从站→主站状态字6041h从站→主站实际速度/实际位置606Ch / 6064hMD800 变频器也类似但要注意它支持的报文可能没有伺服那么多映射的时候以 XML 文件里列出来的 PDO 为准强行加一个设备不支持的对象配置校验会直接报错。3.4 映射到 PLC 变量与编写简单运动程序PDO 映射解决的是“从站数据放在通讯报文的哪个位置”下一步要把报文里的数据变成程序里能轻松访问的变量。InoProShop 的做法是把每个从站的输入输出数据做成过程映像变量再通过符号链接的方式映射到全局变量表。实际操作里我一般会这样组织变量在全局变量表里建一组SV660N_Axis1_ControlWord、SV660N_Axis1_StatusWord这类别名变量。把过程映像里的Outputs.ControlWord链接到这个别名变量。程序里只用别名变量不直接碰过程映像的原始数据结构。这样的好处是程序逻辑清晰而且后续如果换了从站型号PDO 位置变了只需要重新链接变量梯形图和 ST 程序不用大改。写一个简单的点动程序思路就是置位控制字 6040h 的 bit0使能等待状态字 6041h 的 bit0 或 bit1 准备状态再切换到速度模式6060h 3再往 60FFh 写入目标速度。对新手来说下面的梯形图或者 ST 逻辑片段可以直接抄// 伪代码伺服使能与点动 IF bEnable THEN Axis1_ControlWord : 16#0006; // 先复位再切换到 ready to switch on ELSE Axis1_ControlWord : 16#0000; END_IF // 使能后延时一下再给主使能 IF bJogForward THEN Axis1_ControlWord : 16#000F; // 打开主接触器 使能运行 Axis1_Mode : 3; // 速度模式 Axis1_Speed : 500; // 目标速度 500 r/min END_IF实际项目里这个使能时序要比上面严格很多比如“快速停止”“急停”“限位触发”都要单独处理但底层思路是一样的控制字走 6040h状态字看 6041h模式选 6060h。3.5 下载、在线与监控第一次“能通讯上”的判断标准配置完成后点击编译、下载把工程下载到 PLC。下载完成后把 PLC 切到运行模式。此时 InoProShop 的从站节点状态会从绿色的 OPOperational正常运行到红色的类似“INIT”的状态。最理想的通讯状态是主站节点和所有从站节点都处于 OP。如果你看到某个从站节点显示在 PRE-OP 或 SAFE-OP说明通讯建立了一部分但还没有完全运行起来。常见原因是 PDO 映射不完整、看门狗时间太短、或 DC 同步没有成功。从这一步开始如果一切顺利你就能在 InoProShop 的监控表里看到伺服的状态字在变化、实际位置在更新。如果走到这里还是不“能通讯上”那大概率进入了真正考验排查能力的环节也就是下一部分。4. 新手 99% 通讯故障现象、原因与排查实录4.1 从站扫描不到或报错常见原因速查表扫描不到从站是最常见的故障现象很单一点击扫描列表空白或者报“总线通讯超时”。很多人第一反应就是报修其实 80% 的情况都出在下面几个环节。故障现象可能原因排查方法扫描列表完全空白PLC 本身没有识别主站模块或固件不支持 EtherCAT检查 PLC 型号是否支持 EtherCAT看主站节点是否配置扫描列表空白且网口灯不亮网线没接对或网线损坏确认接的是 PLC 的 EtherCAT 口不是调试网口换一根好网线扫描列表只出现部分从站某个从站 IN/OUT 接反或中间设备断电从 PLC 开始逐段检查网线连接和从站供电扫描时提示“XML 文件缺失”从站型号的 XML 没导入或版本不匹配回第 2.4 节重新导入对应版本的 XML扫描发现同名从站但站点乱序有从站站号重复或接线顺序和物理顺序不一致逐台断电确认每台设备的站号唯一有一个经验之谈当整条链路扫不通时先拔掉中间所有从站只留 PLC 和一个最近端从站从最小系统开始验证。这样定位特别快逐个加回去问题节点一下子就暴露了。4.2 配置下载后 PLC 报“总线错误”IO 超时的排查路径扫描成功配置也下载了但 PLC 一运行就报总线错从站节点在 OP 和 SAFE-OP 之间反复跳。这类问题发生在“配置能够建立但保持不住”的阶段重点排查方向有三个。第一看门狗时间。如果看门狗太短程序扫描周期稍长从站收不到连续的数据帧就认为主站“掉线”自动切回 SAFE-OP。InoProShop 里主站和从站都可以设置看门狗时间默认值一般在几百毫秒级别程序循环超过这个时间就要报警。解决办法一方面是优化程序扫描周期另一方面是适当加大看门狗时间但不要盲目加得太大否则真的掉线了系统反应太慢。第二PDO 映射不完整。比如 MD800 变频器的 XML 里有发送 PDO 和接收 PDO如果你只映射了接收 PDO 没映射发送 PDO通讯校验时不一定会报错但运行中从站可能会周期性报错。检查每个从站节点下RxPDO 和 TxPDO 是否都完整映射了实际需要的数据。第三DC 同步失败。多从站设备都开启了 DC 同步但主站和从站的时钟修正一直没达到收敛从站就会始终处于 SYNC 错误状态。这种情况常见于首尾站距离很远、线缆质量差、或主站周期设置太极端。先把同步模式换成 SM 或 Free-Run 验证是不是 DC 的问题如果是再优化接线和周期设置。4.3 伺服能通讯但电机不动模式、使能和限位三个坎比较隐蔽的问题不是“通讯不上”而是“通讯都正常伺服也显示运行但电机不转”。新手经常被这个搞懵以为轴坏了其实绝大多数是逻辑上的三个坎没过。第一个坎是控制字时序不对。CiA402 状态机要求伺服从“启动”到“运行使能”要经历几个步骤Shutdown → Switch On Disabled → Ready To Switch On → Switched On → Operation Enabled。如果程序里直接往控制字写 16#000F有些伺服会直接拒绝执行。正确做法是先用 16#0006 让状态机复位再切 16#0007最后给 16#000F 使能运行。这个过程建议加延时或者循环检测状态字按状态机的节奏走。第二个坎是模式没有被正确设置。你写的是速度模式但 6060h 里存的是位置模式控制字给了使能电机也不会转。排查方法很简单在 InoProShop 监控表里读一下 6060h 的值看是不是 3如果不对在程序里每次上电都强制写一遍。第三个坎是限位或急停回路没有准备好。伺服驱动器的 CN1 端子一般都有急停、正限位、负限位输入这些信号如果触发驱动器的运行使能会被内部控制逻辑掐断。即便通讯层看着一切正常控制字给了使能实际也转动不了。这时看驱动器的面板报警代码通常能看到 A540 之类的紧急停止报警把对应端子信号复位就好了。4.4 抖动、报警和偶发断网干扰与通信质量的坑如果项目运行过程中偶尔报“同步丢失”或“总线断”但重启又好了这一般不是配置问题而是通信质量问题。EtherCAT 走的是差分以太网信号本身抗干扰能力比串口强很多但在变频器、伺服驱动器密集的电柜里强干扰源依然能影响通讯。我总结下来有几种情况值得优先处理接地问题设备金属外壳要可靠接地网线屏蔽层也要接地。汇川手册里一般有明确的接地要求现场最忌把屏蔽层悬空。布线距离EtherCAT 的网线理论距离是 100 米但现场最好控制在 50 米以内且强电线和通讯线不要走同一个线槽避免长距离并行走线。终端匹配最后一个从站的 OUT 口不要插任何网线如果接了不该接的设备信号反射会造成偶发通讯错误。总线周期设置周期太短对主站和从站的处理能力都是考验。比如主站周期设 250us对 H5U 来说可能有点激进程序稍微一复杂就容易超时。一般单轴应用 1ms 完全够用多轴高同步需求再考虑 500us。5. 把项目做得更稳几个能直接抄的进阶经验5.1 诊断信息怎么读InoProShop 自带的“听诊器”InoProShop 里每个从站节点右键一般都有“诊断”或者“在线诊断”入口。这里能看到的不仅仅是“通讯是否正常”更关键的是能看到从站返回的错误码、状态机跳动的原因、以及同步误差。举个例子如果从站卡在 SAFE-OP 状态诊断页面通常会给出一个错误代码这个代码对应到从站手册里的错误说明。SV660N 报 0x1001 之类的是同步错误MD800 报类似 0x6320 的可能是看门狗超时。每个厂家编码规则不同但你只要把错误代码抄下来去手册目录里搜比瞎猜快得多。另外一个实用的技巧是在程序里把主站状态和从站状态读进变量再写到触摸屏上。这样客户现场出了通讯问题不用拿电脑连 PLC直接在 HMI 上就能看到是哪个从站离线、总体状态是否正常。汇川主站节点一般会提供一些系统变量比如“所有从站处于 OP”的状态标志接出来显示在画面上售后成本立刻降一半。5.2 总线周期、看门狗和同步稳定运行的三个参数很多项目能跑但偶尔小脾气不断参数调优是关键。三个参数要盯紧总线周期InoProShop 主站配置里可以设置周期默认可能是 1ms根据项目需求可以改为 2ms、4ms。周期越长总线负载越低但位置控制的跟随性会差一些。点动、定位这类场景 1ms 够用如果做了电子凸轮、追剪这类高速同步应用可能需要 500us 甚至更短这时候对 PLC 型号和程序效率要求就上去了。看门狗时间建议设为总线周期的 3 到 5 倍。比如总线周期 1ms看门狗设 3ms既不会因为偶尔一个周期波动误报警又能保证真出问题时快速停机。DC 同步如果开启了 DC诊断页面会显示每个从站的同步误差理想情况应该在微秒级。如果误差到几十微秒甚至更大优先检查线缆和接地然后再考虑调整总线周期。5.3 用抓包和日志做“事后复盘”一次真实故障的排查过程对于顽固的偶发断网问题光靠 InoProShop 的诊断界面不一定够用。PC 上装 Wireshark 配合普通网卡并不能直接解析 EtherCAT 的实时数据但如果你把网络拓扑设计成临时在总线上串一个带镜像抓包能力的设备或者使用主站软件自带的通信日志功能还是能看到很多线索。我之前遇到过一次现场每两个小时断一次网的问题。InoProShop 诊断显示从站看门狗超时但重启就好很像是干扰。后来我开启主站日志发现每次断网前都有一串 CRC 错误记录而时间点和现场的一台大功率设备启动完全重合。最终确定是干扰导致数据帧在某个从站转发时 CRC 出错解决办法是把通讯线换成了双屏蔽工业网线并把屏蔽层在电柜进线口单独接地问题彻底消失。所以遇到非常规的通讯故障别一上来就怀疑配置先保留现场日志尤其是报错前的几百条记录往往藏着真正的元凶。InoProShop 和汇川的部分伺服调试软件都支持导出通信日志养成“先存日志再操作”的习惯对排查疑难故障特别有用。6. 写在最后的一点体会做了这么多年汇川系统我最大的感受是 EtherCAT 这套东西说难是真的难它把所有问题都集中在配置环节但说简单也简单只要你能静下心来按“硬件接线 → XML → 站号 → 扫描 → PDO 映射 → 状态机检查 → 干扰排查”这个顺序一步步走绝大多数故障都能在半小时内定位。很多新手一报错就慌东改西改结果配置越改越乱最后只能半夜喊技术支持。我个人的习惯是每次做新项目都写一份检查清单从网线插口到固件版本一项项打勾确认无误再上电这套流程帮我省下的现场调试时间少说也有几百个小时。希望这篇东西也能帮你把那些“99%”的通讯故障变成“都见过、都会修”的小问题。