拓冰建站拓冰建站
首页 / 资讯中心 / 正文

TwinCAT 3搭建EtherCAT主站与伺服控制实战指南

1. 方案选型与整体思路1.1 为什么用TwinCAT 3在Windows上做EtherCAT主站做运动控制或者设备互联的工程师对EtherCAT这个词应该都不陌生。它是目前工业自动化领域占有率很高的实时以太网总线市面上绝大多数伺服驱动器、远程IO、气动阀岛、编码器模块都能看到它的身影。而在Windows平台上搭建一个EtherCAT主站“TwinCAT 3 普通网卡”几乎是最不用动脑子、也最省钱的路子很多国产伺服厂家的调试软件内部也是用这套逻辑在做底层通信。先说清楚一个概念TwinCAT 3是倍福的软件自动化平台本身可以免费下载和安装。日常做开发、做原型验证、带小批量设备调试完全可以靠试运行模式跑起来。真正需要长期稳定运行时才需要购买对应的运行时授权而这个成本比起动辄几万块的专用主站卡加SDK授权方案已经是数量级的差距了。更关键的是EtherCAT主站功能在TwinCAT 3里属于基础功能模块不需要额外买什么“EtherCAT主站包”装完就有了这对预算敏感的个人开发者和中小设备商非常友好。1.2 几种常见EtherCAT主站方案对比我把这些年接触过的EtherCAT主站方案放在一起对比一下方便你看清不同路子的适用场景方案运行平台成本上手难度实时性适合场景TwinCAT 3 普通Intel网卡Windows软件免费运行时授权按需购买低好设备调试、中小型设备控制、快速原型专用主站卡PCIe SDKWindows/Linux高卡和授权分开卖中很好高端设备、大规模轴控、对抖动要求极高的场景IGH开源主站Linux免费高好嵌入式产品、自研控制器、熟悉Linux内核的团队嵌入式SoC方案自定义硬件中高很好批量定型产品如机器人控制器、专用运控板卡这里我重点说下TwinCAT 3这个方案为什么值得优先尝试。首先是省掉了专用硬件一个普通工控机甚至高性能笔记本搭配Intel千兆网卡就能当主站用。其次是开发环境成熟变量监视、PLC编程、运动控制、示波器、在线诊断都集成在同一个环境里不用在多个工具之间来回切。第三是从站生态兼容性极好倍福在EtherCAT协议上有主导话语权绝大多数从站设备都能被TwinCAT正确识别和配置。选择这个方案也有要注意的地方。Windows平台和EtherCAT的“实时性”其实是有矛盾的TwinCAT通过安装实时网卡驱动把网卡从Windows协议栈里解绑出来独占给EtherCAT通信使用这样才能保证总线周期稳定在1ms甚至更短的级别。但代价是这块网卡就不能再当普通网卡用了所以我在实际项目里习惯准备双网卡一个专用网卡接EtherCAT总线另一个板载网卡用来连上位机、PLC调试、数据采集。1.3 硬件选型需要注意的几个点很多人在网上问“为什么我的笔记本跑TwinCAT扫描不到设备”一半以上是网卡兼容性问题。TwinCAT对网卡的芯片方案有要求实测下来最稳的是Intel网卡比如82574L、82579LM、I210、I219系列的PCIe网卡或者部分板载网卡都能正常识别。而Realtek、Atheros、Broadcom这些芯片方案的网卡很多连“兼容设备列表”里都看不到基本可以放弃。工控机方面CPU建议i5或以上内存8GB起步16GB会更从容硬盘换固态。我见过有人用i3工控机跑8个EtherCAT轴加一堆IO模块也能跑起来但周期降到500微秒时CPU占用就明显吃紧。另外建议把BIOS里的CPU节能功能、C-States、SpeedStep关掉Windows电源计划切成“高性能”这些细节对总线周期的稳定性影响很大后面找问题的时候很值钱。网线这块很多人不重视我要多说一句。EtherCAT是标准的以太网物理层用普通超五类或六类网线就行但必须是质量可靠的屏蔽网线。我踩过坑用一根看着挺新的跳线接伺服结果在1000微秒周期下一会儿掉线一会儿状态复位换了一根带屏蔽的成品线之后问题彻底消失。接线顺序上主站网卡直接连第一个从站的IN口后面的从站手拉手串联最后一个从站OUT口不需要接回主站协议本身支持开放环拓扑。2. 环境准备与双网卡规划2.1 软件安装的完整流程安装TwinCAT 3之前先把Windows系统检查一遍。实测最好用的是Windows 10专业版或Windows 11专业版家庭版偶尔会出现一些奇怪的权限问题不建议用来做开发环境。系统装好后建议把Windows更新暂停避免半夜自动重启打断调试。第一步是下载TwinCAT 3。从倍福官网的软件下载页面能找到TwinCAT 3的安装包目前主流版本是3.1.4024系列的某个修订版。下载的时候注意区分32位和64位、有没有包含对应版本的集成环境。TwinCAT 3本身依赖Visual Studio外壳安装包会检测系统里已有的VS环境如果没装VS安装程序会自己带上一个精简的集成开发界面也能正常用。我个人习惯先装一个Visual Studio Community版再装TwinCAT这样补丁更新、工程管理会更顺手。安装过程有几点要特别注意。关闭杀毒软件和Windows Defender的实时防护否则安装过程中一些驱动文件和授权相关组件可能被拦截或隔离导致装完以后TwinCAT启动报错。安装路径默认放C盘就行不要改到中文路径下。装完以后建议重启一次系统让内核驱动正确加载然后打开“TwinCAT XAE”环境确认左下角状态能切到“Run”模式。注意TwinCAT安装后的默认试运行模式是有限制的。未经授权的TC3运行大约30分钟或2小时后会停止重启服务可以再获得一段时间但这只适合开发测试。真正常期运行需要向倍福申请或购买运行时授权授权方式和价格可以去官网查也可以问当地分销商。2.2 将网卡配置为EtherCAT实时网卡装好TwinCAT之后最关键的一步是把一张空闲网卡从Windows网络协议中解绑出来变成EtherCAT专用网卡。这一步做不对后面所有扫描、通信都无从谈起。在TwinCAT环境中找到“TwinCAT”菜单下的“Show Realtime Ethernet Compatible Devices”功能打开后耐心等待几秒界面会列出当前系统里被识别为“兼容”的所有物理网卡。如果在列表里没看到希望使用的网卡说明这张网卡不在支持列表里那就需要换卡了。找到目标网卡后先确认这张网卡当前没有连接任何业务网络然后点击“Install”按钮TwinCAT会在该网卡上安装实时驱动。装完之后网卡会多出一个“TcEtherCAT”相关的设备或驱动普通TCP/IP网络功能就被暂时接管了。这里有个经验系统里有多张网卡时建议按物理位置或MAC地址做好记录把“接EtherCAT总线的网卡”和“连办公室网络的网卡”明确区分。我见过有人装驱动时装错了卡把连接PLC和HMI的那张网卡变成了EtherCAT专用网卡结果整个上位机网络全断了排查了半天才找到原因。2.3 双网卡组网的几种常见拓扑实际设备调试中双网卡分组是最常见的做法。我推荐按这个规划来接线主板板载网卡如Realtek RTL8111或Intel I219→ 走Windows常规网络连接路由器或交换机用TCP/IP和上位机、视觉系统、MES通信。独立PCIe Intel网卡如Intel I210-T1→ 安装TwinCAT实时驱动只用它连接EtherCAT总线的第一个从站。这样做的逻辑是隔离。Windows系统的网络波动、广播风暴、软件防火墙拦截都不会影响到EtherCAT总线的实时性。反过来EtherCAT总线上的高频周期报文也不会去占用上位机网络带宽。还有一种不需要双网卡的临时方案只用一张网卡在网卡属性里关掉TCP/IP协议栈让系统里所有网络应用都走另一张USB无线网卡。这个方案应急调试可以但不建议当成正式使用因为USB网卡和无线网络的稳定性远不如有线网卡碰上网络中断很容易误判成EtherCAT通信有问题。3. 创建工程、扫描从站与PDO配置3.1 新建TwinCAT工程并激活本地配置打开TwinCAT XAE环境新建一个项目模板选择“TwinCAT XAE Project (XML format)”。工程创建完成后解决方案树里会出现“SYSTEM”、“MOTION”、“PLC”、“I/O”等几个大节点我们接下来的操作基本都在“I/O”下完成。在“SYSTEM”节点下把目标系统切换成“Local”也就是本机。这个动作的含义是告诉TwinCAT我们要把本机当作实时运行内核。如果这里指向了远程设备后面的“Activate Configuration”和“Scan Devices”都会跑到远程机器上新手很容易在这多绕一圈。然后回到“I/O”节点右键选择“Scan Devices”TwinCAT会自动扫描出安装过实时驱动的网卡设备。确认选中这张网卡点击“OK”系统会自动创建一个EtherCAT主站设备名字一般是“Device 1 (EtherCAT)”。这里如果没扫描到任何设备大概率是网卡驱动没装好回上一章检查。3.2 用ESI文件正确识别从站EtherCAT从站设备都有对应的ESI文件全称EtherCAT Slave Information里面描述了从站的类型、名称、对象字典、PDO默认映射、同步模式这些信息。TwinCAT扫描从站时就是靠这个文件来识别和加载设备功能的。市面上主流的伺服驱动器、IO模块厂家官网都会提供对应产品的ESI文件下载。这里我以常见的国产汇川SV660N系列伺服为例它的ESI文件一般在官网的技术支持/下载中心能找到文件名通常类似“SV660N_Vx.x.esi”或“SV660N.xml”。拿到文件后放到C:\TwinCAT\3.1\Config\Io\EtherCAT目录下重启TwinCAT工程再扫描就能正确识别出“SV660N”而不是一个无名盒子。实操提醒有些从站固件更新过以后ESI版本会和主站缓存里的不一致。如果扫描出来的从站型号对但对象字典和实际固件不符建议把旧版ESI删掉只保留最新版本再重新扫描。遇到“Unknown Device”时优先怀疑ESI没装或者装错版本。3.3 扫描从站并检查拓扑激活配置后在EtherCAT主站设备上右键选择“Scan Boxes”。TwinCAT会发送查询命令在总线上找到所有从站并和本地ESI库比对然后把匹配结果添加到工程中。扫描完成后设备树里会列出一个个从站节点双击每个从站节点在“EtherCAT”选项卡里能看到当前从站的厂商ID、产品代码、版本号以及实际状态。这一步重点关注几个信息从站节点名称是否正确能否对应到实际硬件模块产品代码和版本号是否和实物标签一致每个从站的“Current State”是否为“PREOP”或“SAFEOP”。如果从站状态一直卡在“INIT”不动说明主站和从站之间的基础通信都还没建立好常见原因有接线错误、从站24V没上电、ESI不匹配等这些问题会在后面章节专门讲排查思路。3.4 PDO映射配置的正确打开方式PDOProcess Data Object是EtherCAT主站与从站之间周期性交换用户数据的基本单位。从站里每个PDO实际上是一组对象字典条目的集合比如一个伺服轴的控制字、目标速度、状态字、实际位置都可以放进一个PDO里。双击从站节点打开配置界面切到“Process Data”选项卡左侧会列出从站默认支持的PDO列表右侧是PDO里包含的条目。修改映射时可以通过勾选和取消条目来定制PDO内容。但是这里要注意PDO的修改不是即时的改完以后必须重新激活配置TwinCAT才会重新计算FMMU和同步参数并下发到从站。映射不是越大越好每个从站周期要交换的数据够用就行。我见过有人图省事把从站对象字典里所有变量全勾上结果一个轴的输入输出数据多了几十个字节总线周期直接拉长。对伺服控制来说控制字、状态字、目标速度/目标位置、实际速度/实际位置、模式字这六七个变量就已经能覆盖绝大多数应用场景。有时我们需要添加从站默认PDO里没有的变量比如某些伺服的“转矩百分比”。这时直接在“Process Data”界面里点“Add New Item”然后在对象字典里选择需要的索引和子索引就行。但我强调一下任何对PDO的修改都要在从站处于PREOP状态下进行如果从站已经在OP态运行先切回PREOP再改改完再切回OP否则容易收到从站返回的报错信息。4. 实操带一个国产伺服把轴转起来4.1 接线与伺服参数预设置拿一台SV660N或同级别国产EtherCAT伺服做演示。伺服驱动器上电后用网线把驱动器面板上的IN口接到主站网卡。注意确认驱动器上的EtherCAT网口标识IN和OUT不要接反接反了主站会扫描不到设备。上电后伺服本身可能默认处于“位置模式”或“速度模式”先用伺服自带的操作面板或上位机调试软件把运行模式修改为“CSP循环同步位置模式”或者“CSV循环同步速度模式”这两个模式都是EtherCAT主站周期性下发给定值的标准模式。不同伺服的参数命名有差异常见的控制字地址是0x6060模式字、0x6040控制字、0x6041状态字这些名称在EtherCAT协议里是固定的。还要检查伺服的通讯超时参数。很多厂家伺服有个“通讯超时时间”参数默认几百毫秒到几秒不等。调试阶段经常出现主站稍微卡了一下伺服就报通讯中断故障的情况如果超时时间能调大就调大可以避免很多误报。4.2 把伺服的PDO和主站匹配起来在TwinCAT的设备树里找到刚才扫描出来的伺服节点双击打开配置界面。在“Process Data”里检查默认PDO的映射。如果默认映射里已经包含0x6040控制字和0x6041状态字那直接使用就行没有的话按下表增加一条自定义PDO变量含义索引子索引长度控制字0x60400x0016位状态字0x60410x0016位模式字0x60600x008位目标速度0x60FF0x0032位实际速度0x606C0x0032位目标位置0x607A0x0032位实际位置0x60640x0032位添加条目和调整顺序后在“SM Configuration”里检查同步单元。通常一个输出SM从主站到从站和一个输入SM从站到主站就够了。如果默认是三个SM大概率是附加了厂商自定义的调试数据可以保持不动也可以手动简化但要确认删错后不影响从站正常工作。4.3 状态机切换从INIT到OP的完整过程EtherCAT从站运行有明确的状态机依次是INIT、PREOP、SAFEOP、OP。主站启动时会把从站逐级往高状态切每一步都有对应的工作内容INIT上电或复位后的初始状态只能做最基本的参数读写。PREOP邮箱通信已经建立可以读写对象字典但还没有周期过程数据通信。SAFEOP周期过程数据开始传输输入数据有效但输出数据仍处于安全零值状态伺服不会接收运动指令。OP完全运行状态输出数据生效伺服可以接收控制字和运动指令。在TwinCAT中选中EtherCAT主站设备在“Advanced Settings”里或者直接在设备树的右键菜单中找到“Set OP”功能。点击后观察状态栏如果一切正常所有从站会稳定在“OP”。如果某个从站切不上去TwinCAT会显示具体卡在哪个状态并给出报警码。伺服使能的动作是这样的从站在OP状态下先向0x6040写入0x06让伺服进入“Ready to switch on”再写入0x07让伺服进入“Switched on”最后写入0x0F伺服才真正使能。这三个值不能跳步很多新手一上来就想写0x0F结果伺服没有任何反应就是因为没有按顺序走完前置状态。可以在TwinCAT里直接打开从站的“CoE Online”选项卡找到0x6040和0x6041手动写值测试。把0x6040依次从0x00、0x06、0x07、0x0F写下去同时观察0x6041状态字的变化确认使能流程正常。这一步通了说明PDO映射和状态机都没有问题。4.4 用Python脚本通过ADS控制伺服转动TwinCAT本身支持用PLC写控制逻辑但调试阶段我更习惯用Python快速验证通信链路。TwinCAT对外提供ADS通信协议Python里通过pyads库可以直接读写TwinCAT实时内核里的变量。先安装pyads库pip install pyads然后写一段最简单的脚本让伺服以固定速度转起来。这里假设我们在TwinCAT的PLC程序中已经把伺服的控制字、目标速度映射到了全局变量GVL_Servo_ControlWord、GVL_Servo_TargetVelo、GVL_Servo_StatusWord上。如果没写PLC程序也可以直接通过TwinCAT的ADS符号地址来访问我把两种方式都演示一下import pyads import time # 连接本机TwinCAT RuntimeAMSNetId一般是 127.0.0.1.1.1 plc pyads.Connection(127.0.0.1.1.1, pyads.PORT_TC3PLC1) plc.open() # 方法一如果PLC里建了变量直接用符号名访问 plc.write_by_name(GVL_Servo_ControlWord, 0) # 方法二不带PLC直接通过地址访问设备树的PDO需要查询具体的AMS地址 # 这里示意实际需要从TwinCAT信息里拿 # plc.write_by_name(.Box1^O_Pddo, ...) # 使能流程 plc.write_by_name(GVL_Servo_ControlWord, 0x06) time.sleep(0.2) plc.write_by_name(GVL_Servo_ControlWord, 0x07) time.sleep(0.2) plc.write_by_name(GVL_Servo_ControlWord, 0x0F) time.sleep(0.5) # 设置目标速度单位取决于伺服参数常见是 rpm 或 0.1rpm plc.write_by_name(GVL_Servo_TargetVelo, 300) time.sleep(3) # 停止并复位控制字 plc.write_by_name(GVL_Servo_TargetVelo, 0) time.sleep(0.5) plc.write_by_name(GVL_Servo_ControlWord, 0x07) plc.write_by_name(GVL_Servo_ControlWord, 0x06) plc.write_by_name(GVL_Servo_ControlWord, 0x00) plc.close() print(伺服完成一圈测试)这样跑通后说明从物理接线、网卡驱动、从站识别、PDO映射到状态机切换这条链路全部正常。之后不管是用TwinCAT的PLC编程还是对接其他上位机软件逻辑都是一样清晰的。5. DC分布式时钟同步的配置与排障5.1 DC同步是什么为什么它对伺服控制重要EtherCAT的一个突出优势是具备分布式时钟Distributed Clocks简称DC功能。直白地说DC能让总线上所有从站共享一个高精度的系统时钟并且保持同步。不同从站模块在同一时刻采集输入数据或更新输出数据这对伺服同步控制、龙门双轴、电子凸轮这类应用至关重要。如果DC没有配置好常见的后果是轴运行时电流噪声明显、位置同步误差偏大、多轴设备运行起来“像在抖动”。在一些对同步要求不高的场合比如单个伺服做简单运动DC没配好也能跑但一旦涉及多轴协调或者高精度定位DC配置几乎决定了系统的层次上限。DC同步的基本机制是主站在启动阶段会选择一个从站作为参考时钟通常选拓扑上离主站最近的那个从站然后把主站本地时间与参考时钟对齐再通过后续报文持续校准其他所有从站的本地时钟。每个从站内部的“System Time”寄存器0x0910等会在每个同步周期里校正一次维持和其他从站的时间偏差在纳秒级。5.2 TwinCAT中DC参数的配置步骤在TwinCAT中配置DC需要进入从站节点的“DC”选项卡。首先勾选“Enable DC”以及“DC in Output”等选项具体参数因从站不同而略有差异但核心是三个DC同步周期和总线周期一致比如1ms或500us同步信号偏移可以设置从站相对于参考时钟的触发延迟通常填0同步模式一般从站默认选择“SM-Synchron”或“DC-Synchron”两者区别是一个沿输入事件同步一个沿DC系统时间同步对伺服控制来说DC-Synchron更适合做高精度插补。配置完从站节点后回到EtherCAT主站设备在“DC”选项里选择“Start DC Synchronization”TwinCAT会在每次激活配置时把DC时钟分发到所有从站。我习惯在第一个从站上设置为参考时钟因为它离主站最近传播延迟最小时间校正精度最高。如果你的总线里第一个从站是个很简单的IO模块那也可以把参考时钟指定到第一个伺服驱动器上这个没有强制规定关键是要在激活配置前选好中途切换参考时钟会导致一段时间内所有从站重新同步。5.3 同步误差过大时的排查思路DC同步问题在工程里表现得非常狡猾不像接线短路那样一眼就能看出来。它更像“轴动起来总有点怪”的慢性病。你要是在示波器里看到位置跟随误差曲线上下抖动或者多轴同步时电流谐波特别明显先把DC相关检查过一遍。首先是网络质量。EtherCAT的DC同步虽然做了很多补偿算法但对线路延迟的稳定性还是有要求的。网口或者网线接触不良、强电线和网线捆在一起、使用了非屏蔽网线都会造成传播延迟抖动。我排查过的一个现场总线周期是从站BOARD上电瞬间跳变导致同步丢失最后发现是机柜里一根伺服动力线和EtherCAT网线走了同一个线槽把线分开后问题消失。其次是主站网卡中断和CPU延迟。如果在Windows任务管理器里看到CPU占用率忽高忽低或者某个系统进程频繁抢占CPUTwinCAT的实时线程就可能被延迟进而影响DC同步报文的下发精度。建议调试时关闭Windows自动更新、关掉各类云盘后台同步、关掉不必要的桌面特效。最后是周期选择。总线周期太短比如低于250微秒对网卡和CPU的压力都会陡增DC同步误差也会放大。如果实际应用对同步精度要求没那么苛刻建议优先考虑用1ms或500us的周期稳定很多然后再根据实际测试结果往下压。6. 常见问题速查与避坑建议6.1 TwinCAT扫描不到从站设备这是刚接触EtherCAT时遇到最多的问题没有之一。我按排查优先级整理一份清单现象可能原因处理办法网卡驱动列表为空网卡芯片不被TwinCAT支持换Intel网卡或用兼容列表里的型号驱动安装成功但扫描不到设备网卡未绑定实时驱动或网卡被系统其他协议占用重新安装实时驱动关闭该网卡的Windows防火墙和无关协议扫描到主站但扫描不到盒子从站未上电、接线方向接反、网线坏检查24V供电、IN/OUT口方向、换一根网线测试扫描到但显示Unknown DeviceESI文件缺失下载对应从站的ESI文件放入C:\TwinCAT\3.1\Config\Io\EtherCAT后重新扫描扫描到但从站状态异常从站本身固件有问题单独用厂家的调试软件连接从站确认从站EtherCAT通信功能正常6.2 状态无法从PREOP切换到SAFEOP/OP状态卡在PREOP是第二步高频问题。出现这种情况TwinCAT报警区通常会给出错误码常见的有从站返回的状态错误码、邮箱通信超时、PDO映射不一致等。直接从这几个方向查检查从站配置页的“Mailbox”和“State”日志看从站给出的具体拒绝原因确认PDO映射里所有条目都在从站对象字典中真实存在映射长度也符合字典定义看看是不是改了从站参数但没激活配置激活一下再试如果总线里有过个从站试着只保留一个从站做最小系统逐级加从站定位问题。这里有个很容易被忽略的坑部分国产伺服在PREOP阶段会要求主站先配置某几个特定对象比如“伺服模式字0x6060”必须在SAFEOP之前写入。如果没写从站会一直拒绝往SAFEOP切换。这属于厂家的个性化设计没有统一规律务必把官网手册和从站的配置XML文档精度过一遍。6.3 使能伺服时报跟随错误或通信错误很多人在TwinCAT把从站切到OP后给控制字写0x0F结果伺服报警。我先说几个高频原因第一控制字写得太快。从0x06到0x0F之间建议留一定的延时至少几十毫秒有些伺服对状态跳变有最短时间要求时间太短会认为状态机异常。第二伺服本身没处于OP态的“准备使能”状态比如还没完成回零、轴还在找原点需要先满足伺服内部的使能条件。第三配置了DC同步但实际同步没建立伺服会报同步跟随错误。这种情况回DC选项卡查看“Sync error count”如果这个值持续增长说明同步没锁住。排查手法上我习惯从两处入手。先在TwinCAT的CoE Online里实时读0x6041状态字看伺服到底处于哪个状态然后打开厂家伺服调试软件看最近一次报警的历史代码。这样能快速缩小范围。我遇到过装完新固件以后PDO默认映射变了导致控制字根本没写到正确位置的情况这类问题用“逻辑分析仪看发送数据”基本能一眼看出来但很多纯软件切不到的现场就只能靠从站自身的诊断信息逆着推了。6.4 几个补充的日常操作习惯最后分享几个我的日常习惯每一个背后都有过实实在在的教训。第一每次改从站配置前先备份原工程。不要只依赖TwinCAT的自动备份目录关键是“配置没生效前能回退”。Windows系统自带的文件历史记录或者网盘同步在实时工程上经常会产生版本错乱建议统一用代码仓库管理大型工程配置。第二EtherCAT总线周期变短时一定要实测不要只看配置里的理想值。可以把主站状态和伺服状态字一起做记录观察整段运行期间有没有抖动或偶发报警。如果偶发报警出现频率较高比如几分钟一次大概率是网卡中断延迟或电源纹波问题。第三工控机的USB口不要接乱七八糟的东西。虽然USB不影响EtherCAT总线本身但USB设备插入时Windows的PnP管理会做大量枚举操作严重抢占CPU时会导致TwinCAT实时线程卡顿反映在总线上就是从站偶发掉线。这个问题在笔记本USB转网卡调试时尤其明显所以我一再强调正式设备调试不要用USB转网卡跑EtherCAT。我自己踩过最深的坑莫过于一开始总想着“配置看着没问题应该就能跑”结果无数次被现实教育。EtherCAT主站搭建这件事七分在硬件基础和物理链路三分在软件配置。只要网卡、网线、供电这几样硬件根子正软件上面的问题基本都是能查出来的。真要遇到疑难杂症先把复杂度降下来用最小系统、最稳定周期、最少的从站数量等跑通了再逐步加回原先的条件。这套思路帮我处理了不少项目现场的问题写下来给正在折腾TwinCAT和EtherCAT的同行做个参考。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门