1. 为什么EtherCAT能成为“工业以太网新标杆”
1.1 传统实时方案为什么“跑不动”了
先聊点现场的事。早些年做多轴设备,大家用得最多的方案无非三种:脉冲加模拟量、CANopen、还有老牌的PROFIBUS或者PROFINET RT。脉冲方案在轴数少的时候还行,4、6根轴,脉冲频率不要太高,PLC发脉冲,伺服收脉冲,一个脉冲对应一个位置增量,逻辑简单,调试也直观。但只要轴数一到12、16,脉冲方案的麻烦就来了:控制柜里全是线,一圈一圈地捆,干扰问题让人头大,伺服一刹车,脉冲线里就串进毛刺,动不动就丢脉冲。更头疼的是,PLC的高速脉冲输出通道是有限的,通道数就是硬上限。
CANopen方案稍微好一点,用一根双绞线把设备串起来,轴数能到16甚至32。但它的本质是主站轮询从站,主站发一个请求,从站回复一个响应,一来一回才算完成一次数据交换。想象一下一列绿皮火车,每到一个站都要停下来,乘客上下车,然后继续往前开。站数一多,整趟旅程的时间就全花在“停车开门的等待”上了。CANopen在1Mbit/s的波特率下,如果网络上有20个从站,每站平均分配到的通信带宽和时间片非常有限,周期很难做到1ms以内还保持稳定。于是大家开始转向真正的工业以太网,而EtherCAT就是这波浪潮里跑得最猛的那列“数据高铁”。
1.2 “数据高铁”的设计思路:飞读与集总帧
EtherCAT和传统轮询最大的不同,在于它对以太网帧的处理方式。它不用“请求-等待-响应”这种低效模式,而是采用了“飞读”机制。主站发出一个标准以太网帧,这个帧像一列高铁列车,从第一个从站“飞驰”而过,列车经过每个站的时候并不停车,从站只是在自己那一节“车厢”里迅速读取属于它的数据,同时把自己要上报的数据插进去,然后列车继续往下开。等列车跑到最后一个从站,再掉头返回主站。整个过程中,列车一直在跑,每个从站则是在“列车经过的瞬间”完成数据交换,用时极短,只有几微秒甚至更少。
这个设计精妙在哪?精妙在它把“多站通信延迟”从“随站数线性增长”变成了“几乎恒定”。因为所有从站共享一个帧,无论网络上有8个轴还是24个轴,主站只需要发一帧、收一帧,帧经过每个站时只是很短暂地处理一下,增加几十到几百纳秒的延迟。这就像高铁线路上的每个站都不停车,你说你是停8个站快,还是停24个站快?只要站台设计成“不停车通过”,停8个和停24个,全程时间几乎没差别。
实际应用中,EtherCAT帧在一个从站上的处理延迟通常在纳秒级,一个伺服驱从站也就增加几百纳秒,24个轴串联下来,增加的延迟仍然在微秒量级。和CANopen那种“每站一问一答”相比,这完全是两种物种。这也是为什么EtherCAT被很多人称为“真正的实时工业以太网标杆”。它对普通以太网的改造方式也很有意思:它既保留了以太网帧的基本结构,又通过专用的从站控制器(ESC)硬件处理帧数据,所以无论是速度还是确定性,都远远不是普通软件协议栈能做到的。
1.3 实时性的本质:不是“快”而是“可预期”
很多新人会把“实时”理解成“速度快”。其实不够准确。EtherCAT真正厉害的地方是“确定性”。普通以太网靠交换机转发数据,数据包在交换机里要排队,遇到拥塞就延迟,而且延迟是随机的,这个随机性对运动控制是致命的。你想一下,两台伺服要同步运动,如果伺服A收到的指令这周期是1ms,下周期忽然变成1.8ms,再下周期又回到0.9ms,这个抖动会导致电机运行明显不平稳。
EtherCAT呢?它从设计上就规避了交换机。帧从主站发出后,走的是一条不需要转发的专用链路,每个从站靠硬件直接解析和转发,延迟极小且抖动极小。再加上分布式时钟同步技术,整条网络上所有从站的时钟可以同步到微秒甚至亚微秒级别。于是,24个伺服轴虽然挂在不同位置,但它们接受指令的时刻、反馈位置的时刻,都能够对齐到几乎同一瞬间。这种“齐步走”的能力,才是多轴联动设备稳定运行的核心保障。
| 对比项 | 传统脉冲方案 | CANopen | EtherCAT |
|---|---|---|---|
| 拓扑形式 | 点对点布线 | 总线型 | 菊花链/星形 |
| 数据交换方式 | 每根轴专用通道 | 主站轮询各从站 | 集总帧飞读 |
| 典型周期能力 | 受脉冲频率限制 | 数毫秒 | 1ms以下甚至更短 |
| 同步精度 | 依赖PLC和驱动算法 | 毫秒或百微秒级 | 亚微秒级分布 |
| 线缆复杂度 | 极高 | 较低 | 极低,一根网线串联 |
现在的设备,不管是包装机、印刷机、3C装配线还是锂电设备,轴数早就突破了过去的想象,动辄16轴、24轴、32轴。轴数越多,同步性和实时性的要求就越苛刻。EtherCAT这种“全网一帧、一站不停、时钟同步”的设计,天然就是为这种场景量身定做的。这也是我为什么愿意说它是“数据高铁”——速度只是它最直观的优点,真正让它成为标杆的,是那种“再多站也不慌、再快也稳定”的底气。
2. EtherCAT通信协议核心细节解析
2.1 帧结构和关键字段:列车怎么在线上跑
用协议栈之前,先弄明白EtherCAT的帧长什么样。EtherCAT协议直接复用了标准以太网帧,在以太网帧头里固定使用一个专门的EtherType:0x88A4。也就是说,别人一看这个帧的EtherType是0x88A4,就知道这是EtherCAT报文。帧里可以装一个或多个子报文(Datagram),每个子报文都有自己的头、数据和WKC(Working Counter,工作计数器)。
子报文的任务可以理解为“列车的一节车厢”,每节车厢都有一份“快递单”:目的地从站地址、数据长度、读写命令类型。WKC则是一个动态计数器,从站每成功处理一次子报文,就会在WKC上累加一个值。主站发完帧后,会检查WKC是否等于预期值。如果某个从站没处理成功,WKC就对不上,主站就知道“有快递没送到位”。这个机制非常实用,排查通信故障时,WKC就是第一个要看的晴雨表。
实际配置里,过程数据是通过PDO(过程数据对象)在周期报文里不断交换的,比如位置指令、速度指令、状态字、当前位置等;而参数类数据,比如伺服增益、电子齿轮比、故障报警码,则通过SDO(服务数据对象)走邮箱通信。大多数新手容易混淆:PDO是“每周期都跑的快递”,SDO是“偶尔才用的挂号信”。EtherCAT里,SDO走的是邮箱(Mailbox)通道,适合参数读写,但不适合周期控制。分清楚这两个通道,后续查问题会省很多事。
2.2 FMMU与地址映射:数据怎么“各取所需”
EtherCAT主站发出的帧里,过程数据是打包在一个逻辑地址空间中的,不是每个从站单独占一段物理地址。这就引出了EtherCAT的一个巧妙设计:FMMU,现场总线内存管理单元。FMMU做的事情是把某个逻辑地址区间映射到从站内部的内存地址。当帧从主站飞过来时,从站的ESC根据FMMU表,把帧中对应区域的数据自动提取出来放入自己的RAM,同时把自己要输出的数据写回帧中对应位置。整个过程由硬件完成,应用CPU完全不用介入。
用生活里的事打比方:高铁车厢是一个整体,但每节车厢都有自己的“对应乘客”。列车员在车上走动时,广播说“包厢A的乘客请到3号车厢取行李”,包厢A的乘客就跑过去拿了,其他人不用动。FMMU就是那张“对应关系表”,它让每个从站只认自己那一块数据,不多取也不少取。这也解释了为什么EtherCAT能处理大量从站数据而不显得吃力——数据只是“路过”每个站,站与站之间是串行直通,没有交换机的存储转发瓶颈。
从站地址配置方面,EtherCAT支持多种方式:自动拓扑位置寻址、别名寻址、以及通过站号拨码设置。常见的做法是给每个伺服驱动器拨码设置一个固定站号,或者依靠主站扫描时按拓扑次序自动分配地址。新手在配置24轴伺服时,最容易犯的错就是“拨码重复”或者“拨码改了但主站没重新扫描”,导致主站配置的从站列表和实际物理网络对不上,一上电就报错。记住一点:每次改动从站地址,都要重新扫描并重新生成网络配置。
2.3 从站与主站:谁在干重活
EtherCAT的主站和从站分工很有意思。主站通常是由一个带标准以太网网卡的控制器,加上主站协议栈软件构成。主站负责生成帧、解析返回帧、管理从站状态机、处理邮箱通信。它的工作是通过软件协议栈完成的,因此主站CPU的实时性很关键。像汇川H5U这类内置EtherCAT主站的PLC,硬件和协议栈都是封装好的,用户不用接触底层,直接组态即可。
从站则必须有一颗专用的从站控制器芯片(ESC),比如倍福的ET1100、ET1200,或者国产的ESC芯片。ESC负责处理EtherCAT帧的接收、解析、转发、FMMU映射、分布式时钟等动作,全部在硬件内部完成。伺服驱动器从站的MCU通过并行总线或者SPI访问ESC的内存映射,把周期数据交给伺服控制算法使用,把参数读写请求通过邮箱通道交给应用处理。
从站有一个非常重要的状态机,所有EtherCAT从站都必须遵循:INIT(初始化)→ PRE-OP(预运行)→ SAFE-OP(安全运行)→ OP(运行)。状态机变化的含义是:
- INIT:只能做最基础的参数读写准备;
- PRE-OP:邮箱通信建立,可以读写参数(SDO),但PDO周期数据还没激活;
- SAFE-OP:PDO开始传输,但从站不输出,只接收输入数据并进行检查;
- OP:完全运行,从站根据PDO指令输出并反馈状态。
新手在调试伺服站时,如果发现从站一直停在PRE-OP或者SAFE-OP,进不了OP,通常就是PDO映射错误、同步模式配置不对或者某个参数没匹配。先查状态机,再查具体报错,能节省大量时间。
2.4 分布式时钟:24个轴怎么做到“齐步走”
多轴运动控制最怕什么?怕各个轴的采样时间点不一致。假如A轴在t0时刻采了当前实际位置,而B轴在t0+300μs才采到当前位置,两个位置数据送到插补算法里,算出来的跟随误差就是错的。EtherCAT的分布式时钟(DC)就是解决这个问题的。
DC的原理类似IEEE 1588精确时间协议的精简版。网络启动后,主站会指定某个从站的时钟作为参考时钟,通常是第一个从站。然后其他所有从站通过测量自己与参考时钟之间的报文传输延迟,不断校正本地时钟,让整个网络里的时钟偏差降到最小。在伺服控制里,每个周期所有从站会同时锁存输入数据、同时输出指令,实现真正的“同步采样、同步输出”。
我用一个通俗类比:100米短跑比赛,发令枪响的时候,每个运动员都同时起跑,没人早0.01秒,也没人晚0.01秒。分布式时钟就相当于给每个运动员都配了一个对时准确的计时表,确保所有人的“起跑时刻”一致。实际效果上,EtherCAT网络的同步偏差可以达到1μs以内,有的场合能做到远低于1μs。对伺服应用来说,这个精度完全够用,甚至可以说“富余得很”。当然,前提是网络的物理链路质量可靠,拓扑不要乱接,线缆长度不要超标。
3. 新手实战:汇川H5U带24个660伺服轴的EtherCAT通信配置全流程
3.1 硬件准备与网络拓扑设计
最近很多朋友问我能不能分享一下汇川H5U带24个660伺服轴的EtherCAT通信程序案例,尤其是写给新手看的。说实话,这个组合在国产中端PLC里非常有代表性:H5U性价比高、内置EtherCAT主站,660伺服驱动器性能稳定、调试方便,很多包装、电子、印刷设备都在用。我自己第一次做24轴的时候心里也没底,但跑通之后发现,只要理清思路,按部就班配置,整个过程其实比想象中顺利。
先说硬件。一台H5U PLC,具体型号按IO和轴数需求选,如果点数够、扩展口够,选H5U-2414或H5U-3212都行,关键要确认内置的EtherCAT主站轴数能力满足要求。然后24台660伺服驱动器,配套660系列伺服电机。这里要注意,660驱动器有不同功率规格,从几百瓦到几千瓦都有,你要根据实际负载选型号,功率不够是带不动的。驱动器之间通过EtherCAT专用网线串联。线缆建议使用带屏蔽层的工业网线,标准是CAT5e以上,RJ45连接器要有金属屏蔽外壳,屏蔽层在两端可靠接地。别图便宜用普通办公网线,24轴的项目一根烂网线就能毁掉整个调试进度。
网络拓扑优先采用菊花链:主站网口出来接第1个伺服,第1个伺服再接第2个伺服,一直串到第24个。为什么用菊花链而不是星形?因为EtherCAT本身就是为这种串行拓扑设计的,不需要交换机,每个从站都有两个网口,一个进一个出,帧数据直接直通转发。星形拓扑需要加EtherCAT分支器或者交换机,会引入额外的转发延迟,虽然也能用,但在追求极致同步的项目里,菊花链永远是首选。24个轴全部串在一起行不行?从协议角度是可以的,但工程上建议分几段:比如在控制柜内分成2路或者3路,每路8到12个轴,从PLC的多个主站网口分别引出。这样做的原因是方便布线、缩短单链路长度、降低物理断线影响范围,也有利于散热和维护。
还有一个容易忽略的细节:总线供电问题。伺服驱动器的控制电源和主电源要正确接线,EtherCAT通信口本身不需要额外供电,但驱动器的控制电路要供电才能让从站ESC工作。24个驱动器的控制电源如果全部由一个开关电源供,要注意容量是否足够,建议分成多路供电,避免上电瞬时冲击过大。接地方面,驱动器、PLC、开关电源的接地端子都要可靠接到同一接地排,屏蔽层规则要统一,避免形成大地回路干扰。
3.2 软件组态与从站配置步骤
软件方面,汇川的PLC编程软件是InoProShop,网络配置和运动控制都在这里完成。新建工程,选好CPU型号,然后在设备树里添加EtherCAT主站。接着进入主站配置,选择“扫描从站”,软件会自动识别当前网络上所有处于PRE-OP状态的从站设备。如果驱动器已经上电并处于PRE-OP状态,扫描就能直接找到所有24个660伺服。扫描完成后,软件会用每台伺服驱动器的EtherCAT从站描述文件(ESI文件,XML格式)来识别设备类型和PDO映射。汇川660伺服的ESI文件一般随伺服调试软件或PLC软件自带,如果没有自动加载,需要手动导入。这一步不要跳过,ESI文件决定了软件怎么“理解”这个从站,文件版本不对或者缺失,后续配置会各种报错。
然后给每个从站分配站号和轴号。站号是EtherCAT网络层面的,轴号是PLC运动控制层面的。习惯上把第1个伺服的站号设为1,轴号设为1,依次对应,这样查问题时一目了然。配置PDO:双击每个从站,进入对象字典和PDO映射页面。660伺服的出厂默认PDO映射已经覆盖了速度控制模式、位置控制模式所需的主要数据,比如控制字(Controlword)、目标位置/速度、状态字(Statusword)、实际位置、实际速度等。新手不需要去改动PDO,保持默认即可。你要关注的反而是PLC侧的运动控制轴配置:每个轴绑定到哪个伺服从站的通道,选择合适的数据类型(INT32还是UINT32),电子齿轮比的分子分母,位置单位等等。对新手来说,先按默认参数跑通位置控制模式,是最省力的方式。
周期设置方面,人机界面和运动控制都需要根据网络负载和PLC扫描周期来折中。24轴全部运行PDO,同步周期一般设置4ms比较稳妥,因为程序扫描周期、通信周期、伺服电流环周期要匹配,周期越短对CPU和总线压力越大。如果你只带8轴以内,1ms完全没问题。官方样例工程里往往用的是2ms,我的习惯是24轴先用4ms调通功能,再逐步缩短周期测试稳定性,如果能稳定跑2ms,说明系统余量还很大。
从站状态切换:配置完成后,软件会引导将主站从“Init”状态依次切换到“OP”。点击运行后,观察设备树里每个从站的状态指示灯,全部变成绿色或者OP状态,就说明通信建立了。下一步是在PLC程序里写轴使能逻辑,通常调用运动控制库里的使能功能块,把轴使能、回零、点动、绝对定位等指令挂在梯形图里。24个轴要分别建立轴变量,建议用统一的命名规则,比如AXIS_01~AXIS_24,方便在监视窗口筛选。
3.3 关键调试参数与实操心得
网络通了只是开始,真正的难点在伺服参数整定。660伺服驱动器我常用的参数分几类:刚性参数、速度环增益、位置环增益、前馈系数、加减速时间、电子齿轮比。新手先不要追求完美曲线,先把基础刚性调整到电机不震、不响、跟随误差在可接受范围内即可。典型起始参考:速度环增益(SV.GAIN)从10到20Hz开始,位置环增益(PG.GAIN)从30到80 1/s开始,根据负载惯量调整,惯量越大增益越低。如果电机发出啸叫或者运行时有“咯噔”感,多数情况是增益偏高或机械间隙导致的,先把增益降下来,再做机械排查。
调试顺序强烈建议按以下步骤走:
- 单轴点动:逐个轴点动,确认方向、编码器反馈、限位信号都正确;
- 单轴回零:每个轴设置好回零方式(伺服找Z相、传感器回零等),确认重复精度;
- 单轴定位:跑一段绝对定位,验证位置指令和实际位置一致性;
- 多轴联动:把24个轴分组建模,测试同步运行。 顺序的意义在于:如果一上来就多轴联动,出问题你根本分不清是通信问题还是伺服参数问题还是机械问题。单轴跑通后再联调,排查范围就小很多。
24轴项目的供电和负载也要提前算清楚。24台伺服电机满载功率加起来可能几十千瓦,要确认三相进线的断路器、接触器、电缆容量都足够。我不建议所有轴共用一个大的直流母线或者共用一路主回路总开关,最好按机台区域分组供电,比如分成3组,每组8个轴,每组单独设断路器和接触器。这样无论是上电还是故障隔离,都灵活得多。
4. 24根“车厢”的实际运行:常见问题与排查技巧实录
4.1 从站掉站、通信中断怎么查
24轴项目跑起来以后,最恶劣的故障是“掉站”:系统运行中,某个从站突然进不了OP,PLC报警,设备急停。这种问题在车间里特别常见,排查思路要清晰,否则会被折腾到怀疑人生。
排查顺序我是这么定的,按概率从高到低:
- 先看网线和接头。EtherCAT网线非常怕劣质水晶头,工业环境里震动多,水晶头压线松了、屏蔽层没压好,都会导致偶发断站。检查所有接头的金属弹片是否弹起、线序是否可靠。一个快速验证方法:把报错那段链路的水晶头重新压一遍,或者换一条成品工业网线,故障如果消失,那就是线的问题。
- 再看供电。伺服驱动器控制电源如果电压跌落,或者稳压电源容量不够,个别从站也会随机掉线。用万用表量掉站位置附近的控制电压是否在规格范围内。
- 看站号冲突。如果网络中有两个驱动器拨码地址一样,主站扫出来的从站列表就会错乱。把全部设备的站号列出清单核对。
- 最后看干扰。伺服电机动力线和EtherCAT通信线如果在同一个线槽里并行走线,且没有屏蔽隔离,刹车电流和变频器谐波会串进通信链路,导致偶发掉站。解决方法是通信线单独走线槽,与动力线保持至少20到30厘米距离;无法避免的位置使用高屏蔽等级网线,并确保屏蔽层两端接地。
还有一个容易被忽略的点:EtherCAT不需要终端电阻。很多人用它传统总线的习惯,在线路末端加终端电阻,反而会破坏信号质量。记住,EtherCAT链路端点就是最后一个从站,不需要再串电阻。如果你加了,撤掉即可。
4.2 同步抖动大、联动时有“咯噔”感
轴同步运行时刻,如果设备出现明显的顿挫、噪音或者位置偏差,很多人第一反应是伺服增益不够,然后去猛调刚性,结果越调越震。实际上,同步问题很多时候出在EtherCAT通信侧。你要排查几个点:
- 是否开启分布式时钟同步?检查主站配置里DC同步是否使能,所有从站是否都配置为同一同步模式。如果部分从站开了DC同步,部分没开,轴与轴之间的采样时间就不一致,联动肯定会出问题。
- 周期是否足够?24轴的网络如果周期设成1ms,而PLC程序扫描周期要2ms,两者不匹配,运动控制的数据刷新跟不上,也会产生顿挫。这时候把EtherCAT周期调整到2ms或4ms,或者优化PLC程序的扫描时间,问题可能就消失了。
- 网络上是否串联了普通交换机?我见过有人为了扩展距离,在链路中间加了一个非管理型交换机。后果就是确定性的实时帧变成了普通帧处理,延迟和抖动大幅增加。EtherCAT链路中间不要加交换机,确实需要分支就用专用的EtherCAT分线盒。
在波形上,我习惯用伺服调试软件或者示波器观察主站发的Sync信号和各从站的Sync0信号之间的时间差。偏差在几十微秒以内基本正常,如果偏差到了几百微秒甚至毫秒级,那就是同步配置没做好或者链路质量不行。现场没有示波器怎么办?一个土办法是,把某两个相邻轴设成低速往复运动,设定相同速度、相同方向,观察跟随误差曲线的重合程度。如果两条曲线错位很大,说明同步确实有问题。
4.3 从站扫描到了但进不了OP状态
这个故障出现频率非常高,尤其是新手第一次配置的时候。现象是:网上电,主站扫描能发现24个从站,但点击运行后,某个从站一直停在PRE-OP或者SAFE-OP,状态切不到OP。排查思路:
- 看PDO映射是否匹配。如果主站软件里配置的PDO内容与从站ESI文件里默认的PDO不一致,从站会拒绝进入OP。解决方法是重新从ESI文件加载默认PDO映射,或者手动修正PDO的地址和长度。
- 检查参数下载。有些伺服参数(比如同步模式、周期时间)是通过SDO写入的,如果主站下发参数失败或者从站参数校验不通过,状态机也会卡住。找到报错代码,对照驱动器手册看具体是哪个对象校验失败。汇川660驱动器的故障代码和对象字典在手册里都有,耐心翻一翻。
- 检查同步帧的配置。如果从站配置为DC同步模式,但主站并没有启用DC,从站也会拒绝进入OP。把从站的同步模式改成自由运行(FreeRun)再试,或者反过来把主站DC使能,问题就能定位了。
经验之谈:关于状态机的问题,制造一个“最小复现”环境往往最有效。把24台伺服先拆到只剩1台,只让主站带一个从站,复现同样的问题。如果单站能进OP,多站不行,说明是配置差异或地址冲突;如果单站也进不了,那就是从站配置本身的问题。这种“做减法”的排查法,在多轴项目里是保命的技能。
4.4 新手排障速查表
我整理了一个速查表,适合贴在工控屏旁边或者存在手机备忘录里,现场照着排查就行。
| 现象 | 可能原因 | 快速排查与解决 |
|---|---|---|
| 扫描不到从站 | 网线断、从站未上电、站号重复 | 检查线缆连接,用万用表确认从站控制电源,核对拨码站号 |
| 扫描到但从站报错 | ESI文件版本不符 | 重新导入正确的ESI文件,重启主站软件 |
| 状态卡在PRE-OP/SAFE-OP | PDO映射不匹配、参数下载失败、同步模式冲突 | 重新加载默认PDO,核对对象字典,检查DC同步配置 |
| 运行中随机掉站 | 网线接触不良、屏蔽接地不良、电源不稳 | 重压水晶头,理顺接地,分组供电 |
| 联动时顿挫 | 同步精度不足、周期不匹配、链路有交换机 | 检查DC同步,调整同步周期,移除链路交换机 |
| WKC计数错误 | 某个从站处理子报文失败 | 查看主站报文诊断信息,定位失败从站并查看其状态 |
4.5 调试工具与日志分析习惯
调试EtherCAT网络,手上要有趁手的工具。最简单的是PLC软件自带的诊断界面:在InoProShop主站配置里可以看到每个从站的状态、周期时间、错误计数、WKC等信息。报警后先截图,再点清除,养成“先记录后复位”的习惯。如果软件里有网络扫描分析功能,也可以用来查看各从站的拓扑顺序和站号分布,确认是否和配置一致。
稍微进阶一点,可以抓包分析EtherCAT帧。办法是在主站和第一个从站之间串一个分光器或者被动监听网口,用Wireshark抓包,过滤器写ecat就能看到完整的EtherCAT帧。不过说实话,普通工程调试很少需要做到这一步,除非你遇到非常棘手的偶发故障,需要确认WKC错误具体发生在哪个从站、哪个子报文上,抓包几乎是唯一能一锤定音的手段。抓包时需要注意:一定要用支持工业级网卡的监听方式,普通USB网卡可能丢帧,抓到的数据不完整,反而误导排查方向。
最后分享一个我个人的工程习惯:每次项目调试通过以后,我会把整个网络配置、PDO映射、从站ESI文件、以及每个轴的运动参数全部导出备份,连同伺服驱动器的参数备份文件,一起存进项目文件夹,并附一份配置说明文档。24轴的项目,现场人员换班或者售后到场,没有这些备份,光靠记忆和软件里的在线状态,排查问题会花掉好几倍的时间。这份“配置快照”,往往是整个项目中最值钱的经验沉淀。