☰
TwinCAT 3 EtherCAT主站:网卡Device ID与实时驱动避坑
2026/10/29 12:56:27 网站建设 项目流程

简介:面向使用 Beckhoff TwinCAT 3 搭建 EtherCAT 实时以太网的控制工程师与自动化学习者,这份文档聚焦“网卡兼容性”这一关键选型问题,可用于在组网前核对硬件是否被官方驱动支持,减少因网卡不匹配导致的通信异常与调试返工。压缩包仅含 1 个 doc 文件,大小约 113KB,内容以官方支持列表为主体,便于离线查阅和快速检索。资料整理了 Intel Fast Ethernet 与 Intel Gigabit Ethernet 控制器的 Vendor ID、Device ID 及对应型号说明,覆盖 82801、8255x、8254x、8256x、8257x 等常见系列,并给出 Beckhoff 官方页面线索,方便进一步确认。已有 3328 人学习,适合作为 EtherCAT 主站配置、工业 PC 选型与网络排错时的速查表,也能帮助读者理解网卡、驱动与 TwinCAT System Manager 之间的兼容关系。

1. 网卡不对,EtherCAT 主站根本起不来:先对设备 ID 再装 TwinCAT 3

装 TwinCAT 3.1 的人,第一次卡住的地方几乎都一样:EtherCAT 实时网卡选不上。系统装完了,TwinCAT System Manager 也打开了,Add Route 不报错,可一点开 Adapter 页签,网卡列表空空如也,或者只认到一块不想要的板载网口;接着往下扫描从站,EtherCAT Master 底下空空如也,0 个设备。换线、换从站、重装系统折腾一整天,根因常常在硬件——手里那块 Realtek,或者某款 Device ID 不在支持列表里的 Intel 网卡,TwinCAT 3 的以太网驱动压根不接管它。这份 TwinCAT 3 支持网卡清单值得在装机前就翻开:它把官方列表按 Vendor ID 0x8086 分成 Intel Fast Ethernet 与 Intel Gigabit Ethernet 两段,逐条给出 Device ID。适合要给工控机配网卡、给老机器加 EtherCAT 主站、或者机器已经装完却扫不到从站的人。

2. 装 TwinCAT 3.1 与网卡驱动:顺序错了后面全是返工

2.1 装前把环境摊开:系统、内存、网卡型号先留快照

TwinCAT 3.1 这一代装起来,环境不对会留下一堆后遗症。我的习惯是动手前先跑一遍信息采集,把系统版本、内存、现有网卡型号全打出来存成文本,后面出问题不用靠回忆,也不用把机器再翻一遍。这一步只花两分钟,但能省掉后面一小时的猜谜。

# 装机前留一份环境快照,出问题好回溯 Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber, CsSystemType, TotalPhysicalMemory Get-NetAdapter | Select-Object Name, InterfaceDescription, MacAddress, LinkSpeed, DriverVersion | Format-Table -AutoSize

逻辑说明:Get-ComputerInfo拿到系统产品名、版本号、系统类型和物理内存;Get-NetAdapter把当前每块网卡的型号描述、链路速率、驱动版本列出来。参数上没什么好调的,Select-Object只是把输出收窄到关心的几列,Format-Table -AutoSize保证列宽够、不折行。第一段输出里最关键的是CsSystemType(x64 还是 x86,TwinCAT 3.1 只装 64 位)和TotalPhysicalMemory(低于 8G,跑实时核加 VS Shell 会很不舒服);第二段里的InterfaceDescription就是后面查 Device ID 的入口,先记下来,别等装了驱动再回头找型号。

系统本身的取舍也要提前定。工控机上常见的是 Windows 10 IoT Enterprise LTSC 这类长期服务版,干净、组件少、自动更新可控;老设备上还在跑 Win7 的也不少见,那种机器得先把 .NET Framework 补到 4.6.2 以上,否则安装器跑到一半会提示组件缺失。快速启动、休眠、系统还原这几项我一般直接关掉,它们会在开机阶段抢磁盘和网卡状态,实时核起来的瞬间最容易翻车。

硬件插槽这一步定下来再装系统,比装完发现要换卡省事得多。EtherCAT 用的那块网卡优先插 CPU 直连的 PCIe 槽,一般是最靠近处理器的第一条 x16 或 x1,避开走芯片组的那几条,也避开和硬盘共享带宽的转接卡。原因不复杂:走芯片组的槽多一层转发,中断延迟的抖动会大一些,短周期任务上能感觉出来。

提示:先把环境快照存成 txt 丢在桌面,等驱动、扫描、掉线这些事找上门,这份文本就是你的黑匣子。

2.2 组件树怎么勾:XAE、XAR 与那个不存在的「EtherCAT 选项」

安装包解开后是一棵组件树,跟这次落地相关的其实就几项:TwinCAT 3 XAE(工程环境,自带一个隔离的 VS Shell)、TwinCAT 3 Runtime XAR(实时核,EtherCAT 主站能力在它里面)、TwinCAT 3 ADS/IO,以及可选的 Scope 和 Analytics。很多人第一次装会在树里翻来覆去找「EtherCAT Master」这个勾选项,找不到就开始怀疑安装包不全。它真没有,EtherCAT 主站是 XAR 的一部分,勾了运行时就有。

安装步骤按这个顺序走:

  1. 临时关掉杀毒软件的实时防护和系统自带的实时扫描,装驱动和注册服务的阶段会被拦,拦完还不报错,最难查。
  2. 右键setup.exe,以管理员身份运行,别双击。
  3. 选自定义安装,本机既做开发又当主站就 XAE + XAR 全勾;只写程序的笔记本只勾 XAE,省一半空间。
  4. 安装路径保持默认C:\TwinCAT\3.1\。改路径不是不行,但后面找驱动 inf、找 ESI 文件、看日志全要额外记一套路径,排错时纯属给自己添堵。
  5. 装完必须重启,这不是可选项。

重启这件事单独拎出来说,是因为太多人跳过。实时网卡驱动和实时核服务是在开机阶段注册的,跳过重启直接开会话,托盘里能看到 TwinCAT 的图标,但真实时核没起来,Adapter 列表里那块网卡会一直显示不可用,于是又回到「网卡是不是不支持」的怀疑循环里。

还有一条顺序上的血泪经验:先把 TwinCAT 装完、重启完、确认系统驱动库里已经有了 Beckhoff Ethernet Driver,再去动网卡驱动。反过来先装 Intel 官方 PROSet 也能换回来,但多一层卸载,而且 PROSet 会顺手装一堆网卡管理组件,卸载不干净的时候设备管理器里会留幽灵设备。

2.3 把 Intel 网卡换成 Beckhoff Ethernet Driver

TwinCAT 3 不会接管由 Intel 官方 PROSet 管理的网卡,哪怕这块卡的 Device ID 明明在支持列表里。必须手动把驱动换成实时以太网驱动,这一步是整个安装里最容易漏的。

  1. 设备管理器 → 网络适配器 → 右键目标 Intel 网卡 → 更新驱动程序。
  2. 选「浏览我的电脑以查找驱动程序」→「让我从计算机上的可用驱动程序列表中选取」。
  3. 取消勾选「显示兼容硬件」。
  4. 厂商一栏找 Beckhoff(部分 Build 里显示为 Beckhoff Automation),型号里选 Beckhoff Ethernet Driver。不同版本显示名可能略有差别,认厂商名就不会错。
  5. 下一步 → 关闭 → 重启。

第 3 步为什么必须取消勾选?默认勾着的时候,列表只显示 Windows 认为「和这块卡兼容」的驱动,Beckhoff 的实时驱动是通用实时以太网驱动,不在系统的兼容库里,不取消勾选你永远看不到那个厂商名,然后就会得出「我的卡不支持」这个错误结论。这个坑我踩过不止一次,纯粹是自己把自己劝退。

换完驱动的现象会有点吓人:网络连接里这块网卡显示「未连接」或者「受限制」,拿不到 IP,Windows 的网络诊断还热心地劝你修复。这是正常的,它已经从 Windows 协议栈里被交给实时核了,不需要 IP,也不需要网关。同理,这块网口的 IPv6、文件和打印机共享、QoS 这些协议统统可以取消勾选,留着只会在实时通道上多一层无谓的处理。

# 驱动换没换成功,看 DriverProvider 就知道 Get-NetAdapter | Select-Object Name, InterfaceDescription, DriverProvider, DriverVersion, Status | Format-Table -AutoSize

DriverProvider从 Intel 变成 Beckhoff 就说明接管成功,Status显示Disconnected或者Up都不影响判断。要退回原厂驱动:设备管理器 → 网卡属性 → 驱动程序 → 回退驱动程序。如果回退按钮是灰的,说明当初是覆盖安装的,那就卸载设备时勾上「删除此设备的驱动程序软件」,再扫描硬件改动让系统重新识别。

3. 查设备 ID:三行命令确认网卡在不在支持列表

3.1 读出 Vendor ID 与 Device ID 的两种办法

支持列表是按 Device ID 组织的,所以你手上这块卡能不能用,唯一的判据就是它报出来的那个四位十六进制数。图形界面和命令行两条路,熟手用命令,新手用设备管理器,结果一样。

# 方法一:从 PnP 设备属性里直接取硬件 ID Get-PnpDevice -Class Net | Where-Object { $_.Status -eq 'OK' } | ForEach-Object { $hw = (Get-PnpDeviceProperty -InstanceId $_.InstanceId -KeyName 'DEVPKEY_Device_HardwareIds').Data [pscustomobject]@{ Name = $_.FriendlyName HardwareIds = ($hw -join '; ') # 形如 PCI\VEN_8086&DEV_10D3&SUBSYS_... } } | Format-List

逻辑说明:Get-PnpDevice -Class Net只挑网络类设备,Where-Object过滤掉状态异常的(比如已经拔掉的虚拟网卡),Get-PnpDeviceProperty按DEVPKEY_Device_HardwareIds这个键把硬件 ID 取出来。硬件 ID 串里VEN_后面四位是厂商 ID,Intel 固定是8086;DEV_后面四位就是设备 ID。取DEV_那四位,前面加0x,得到的就是列表里要对照的值,比如DEV_10D3对应0x10D3。SUBSYS后面的子厂商信息一般不用管,除非同一型号有多个 OEM 变体。

# 方法二:不想开 PowerShell,用系统自带工具也能看 pnputil /enum-devices /class Net /connected wmic path win32_networkadapter where "NetEnabled=true" get Name, PNPDeviceID

pnputil那一行列出当前连接的网卡实例,wmic那行把 PNPDeviceID 打出来,里面同样带VEN_和DEV_。wmic在新系统上被标记为弃用,还能用但别写进脚本。图形界面路线更直白:设备管理器 → 右键网卡 → 属性 → 详细信息 → 属性下拉里选「硬件 ID」,第一行就是完整的 ID 串。

3.2 对照表怎么读:10/100 段和千兆段差在哪

这份清单按厂商 ID 0x8086 分成两大段。Fast Ethernet 段覆盖的是 82801 系列和 8255x 系列,速率 10/100Mbit/s,设备 ID 从 0x1029 一直到 0x1259 这一片;Gigabit Ethernet 段覆盖 8254x、8256x、8257x 等千兆控制器,设备 ID 分布更散,从 0x1000 一路排到 0x10F5 附近。下面摘一段常见的,方便快速比对。

Device ID型号速率段
0x10298255910/100
0x10308255910/100
0x105082801EB/ER10/100
0x12098255xER/I10/100
0x100E82540EM千兆
0x10C482562GT千兆
0x10CB82567V(ICH9)千兆
0x10D382574L千兆
0x10EF82578DM千兆
0x10F282579LM千兆

读表的时候有两个容易出错的地方。第一,同一个芯片系列会拆成好几条,比如 82574 系列里 0x10D3 是 82574L,0x10F5 是 82579V,看着像同一代其实完全不同的硅片,照型号名买卡不保险,照 Device ID 对才准。第二,很多千兆条的 Description 写的是80003ES2LAN、82571EB这类双口控制器的型号,字面上看着不像消费级网卡,其实工控机上用得最多的就是这一类。买卡之前把候选型号的 Device ID 抄下来逐条核,比装完再退货省事。

至于选 10/100 还是千兆,别被「EtherCAT 必须千兆」这种说法带偏。EtherCAT 帧是透传的,单帧很小,实际吞吐并不吃满链路带宽,短周期下 10/100 的老卡反而抖动小;但老卡的 CPU 占用高、中断合并机制落后,长时间跑满负荷时更容易出问题。我的取舍是:新装机一律选列表内的 Intel 千兆独立卡,老设备上已有的 82801 系列只要 ID 在表里,照样能用,不用为了升级而升级。

注意:主板板载网卡和独立网卡即使型号一样,Device ID 也可能不同,尤其是 OEM 定制的板载方案。换插槽、换主板之后重新查一遍 ID,别拿旧结论套新机器。

3.3 不在列表里的三条路:换卡、双网卡、把主站挪走

查到自己的 Device ID 不在表里,先别急着重装系统,那解决不了任何问题。能走的路就三条,按代价从低到高排。

第一条是换卡,最干脆。Intel 千兆独立网卡在二手市场上很便宜,挑 Device ID 在表内的型号,插上、换驱动、重启,一套流程十分钟。工控机上有空余 PCIe 槽的话,这是我默认推荐的做法,也是唯一能让实时通道真正可靠的选择。

第二条是双网卡方案,保留原来的板载网卡给 Windows 用(远程、组态、传文件),另插一块列表内的卡专职跑 EtherCAT。好处是两条流量物理隔离,远程桌面不会因为 EtherCAT 抢占流量而断线;坏处是机箱里多一块卡、多一个中断源,BIOS 里要把它的中断优先级调高一些。

第三条是把主站挪到另一台机器上,本机只做工程站,通过 ADS 远程连过去。这一条适用于一体化机型、笔记本、或者根本没有插槽的设备。注意 USB 网卡这条路基本堵死,它不在实时以太网驱动的接管范围内,插上也不会出现在 Adapter 列表里,别在这上面浪费一个下午。

4. EtherCAT 主站配置:System Manager 里那几项别乱动

4.1 建主站、绑实时网卡、把 IP 分段

TwinCAT 3 的工程结构里,EtherCAT 主站挂在 Devices 下面。流程是:新建或打开工程 → 在 Devices 上右键 Add New Device → 类型选 EtherCAT Master → 命名(建议带上网口位置,比如EtherCAT_Master_NIC2,后面排错一眼能定位是哪块卡)。

接下来是关键一步:主站属性里的 Adapter 页签。这里列出的是系统里所有能被实时核接管的网卡,换成 Beckhoff 驱动的那块才会以可用状态出现,没换驱动的卡要么不显示,要么灰着。选中目标网卡后点 OK,主站就绑定上去了。同一块网卡不能被两个主站同时占用,多主站场景要一块卡一个主站。

IP 规划上,EtherCAT 网口不配 IP、不设网关,让它保持「无 Internet 访问」的状态最省心。工程站和主站如果分属两台机器,走的是另一块普通网卡的局域网,跟 EtherCAT 网口没有任何关系。我见过有人把 EtherCAT 网口配成 192.168.1.x 之后,开机路由表里多一条默认路由,远程桌面时好时坏,查了两天才发现是这里。

4.2 扫描从站与 ESI 文件管理

绑定完网卡,右键主站 → Scan Boxes → 弹窗里确认扫描方式,正常情况下几秒钟就能把挂在链路上的从站全扫出来,包括 I/O 模块和伺服驱动器。扫不到、或者扫到一半停住,先看物理层,别急着怀疑配置。

ESI 文件(从站描述文件,xml 格式)决定你能否在工程里正确识别从站型号。系统里的存放位置一般是C:\TwinCAT\3.1\Config\Io\EtherCAT\,新买的从站第一次接入必须先把厂商给的 xml 拷进去,然后重启工程环境,否则扫描出来的设备是个通用占位符,PDO 映射全都不对。这一条在项目现场特别容易翻车:从站是别人带的,xml 在 U 盘里,插上就扫,扫出来一堆「未知设备」,然后开始怀疑网线和主站。

扫描参数上有两个选项值得注意:一是扫描时是否「Copy all」把从站信息完整复制进工程,做调试工程建议勾上,省得后面手工补 PDO;二是扫描前把从站的站地址恢复成默认,链路上有旧地址的从站,扫描顺序会和物理顺序对不上。

4.3 周期时间、分布式时钟与 CPU 亲和

主站跑起来之后,参数层面的取舍才真正影响表现。下面这几个是我每次开新工程都要过一遍的。

参数常见取值说明
Cycle Time1ms / 2ms普通 I/O 用 2ms 足够,伺服同步再往下压到 500us
Distributed Clock开启多轴同步必须开,单点 I/O 可以关掉省事
CPU 隔离双核以上隔离一个核把实时核绑到独立核心,别和 Windows 抢
网卡中断亲和绑到实时核所在核心减少中断在核心间迁移带来的抖动
从站看门狗按周期 3~5 倍设设太小会误触发,设太大故障时反应慢

CPU 亲和性和实时核隔离在 TwinCAT 的实时设置里做,不是 System Manager 里。BIOS 层面还要配合:C-State、SpeedStep、超线程这几项,工控场景里我的做法是 C-State 关掉、SpeedStep 关掉、超线程按 CPU 型号决定(有的型号开了反而抖动更大)。这些设置改完要重新跑一遍空载测试,别改完直接上产线。

提示:周期时间不要一次压到极限再往回放,先按 2ms 跑通,链路和从站都正常之后再逐步下压,每次压一半,观察一段时间再加码。

5. 排查清单:识别不到网卡、扫不到从站、掉线与蓝屏

5.1 实时网卡下拉框是空的

现象:TwinCAT System Manager 里主站属性的 Adapter 页签,网卡列表为空,或者只有一块「Realtek」灰着不可选,设备管理器里那块 Intel 卡工作正常、能上网。

原因:驱动没换。Windows 用 Intel 官方驱动管着这块卡,实时核看不到它;还有一种情况是换了驱动但没重启,实时服务没注册上。

解决:按 2.3 的流程把驱动换成 Beckhoff Ethernet Driver,取消「显示兼容硬件」那一步别漏,换完必须重启。重启后先跑Get-NetAdapter确认DriverProvider已经变了,再回 System Manager 看列表。

5.2 扫描从站扫到一半停住

现象:Scan Boxes 开始后能扫到前几个从站,到某一个位置卡住,进度条不动,最后报超时或者直接弹出一串错误。

原因:多数是物理层。网线水晶头压得不好、线序不对、从站供电不足、某个从站的输入口和输出口接反(EtherCAT 是进出一一对应,不能接成星型);也可能是有旧站地址的从站扰乱了扫描顺序。

解决:先换一根确定好的 Cat5e 及以上线缆,从主站开始逐段往下接,接一段扫一次,用二分法定位坏的那一段。再从站全部断电重上电,把地址恢复默认后重扫。线缆上不要用屏蔽层单端悬空的成品线,工业现场的 EMC 不是开玩笑的。

5.3 上了 EtherCAT 远程就连不上

现象:机器装完之后本地能跑,一接远程桌面就断,或者断断续续,ping 丢包严重。

原因:EtherCAT 网口被配了 IP 和网关,开机后路由表里多了一条默认路由,把远程流量吸到实时网口上去了;或者是双网卡机器上两个网口的网段冲突。

解决:把 EtherCAT 网口的 IP 配置清空,网关和 DNS 一律留空;双网卡时把普通网口的跃点数调低。用route print看默认路由指向哪块卡,不对就改。

5.4 跑几小时掉线,日志里全是同步错误

现象:白天调试一切正常,跑上几个小时之后从站掉线、主站报同步错误,重启又能好一阵。

原因:网卡的节能特性在作怪。Intel 网卡默认开着节能以太网、中断节流、PCIe 链路电源管理,实时核长时间跑短周期时这些特性会引入微秒级抖动,积累到一定程度就触发看门狗。

解决:设备管理器 → 网卡属性 → 电源管理,取消「允许计算机关闭此设备以节约电源」;高级页签里把节能以太网、中断节流、流控制逐项关掉。BIOS 里的 C-State 也一并关掉。改完连续跑一整晚观察,别改完就上现场。

5.5 换插槽之后设备 ID 变了

现象:同一台机器,网卡从第二个 PCIe 槽挪到第一个槽,或者换了一块同型号的新卡,之前在工程里配好的主站突然报错,Adapter 列表里认不到原来那块。

原因:TwinCAT 工程里保存的是网卡的实例标识,插槽变了实例就变了;同型号不同批次的卡,子厂商 ID 也可能不同。

解决:主站属性里重新选一次网卡,保存工程,重新激活配置。养成习惯:任何硬件位置变动之后,先重扫一遍 Device ID,再动工程。

6. 装完怎么验证:三步确认 EtherCAT 链路真跑通

装完不等于跑通。我做过的项目里,出问题最多的不是安装那一步,而是「看起来装好了」却没验证,等到现场才发现从站根本没进 OP 状态。所以装完我固定走三步,缺一步都不算完成。

第一步,看主站和从站的状态字。System Manager 里主站节点和每个从站都有状态显示,正常应该是 OP(Operational)。如果主站是 OP 而从站停在 SAFE-OP 或者 PRE-OP,问题在从站配置或者 PDO 映射,不在网卡。这一步不用写代码,肉眼看就行,但要看得懂那几个缩写。

第二步,看工作计数器和帧错误。EtherCAT 每个周期都会更新 Working Counter(WKC),正常值等于参与该报文的所有从站数量之和,比如链路上挂 5 个从站,WKC 就该稳定在 5。低于这个数说明有从站没收到或者没应答,帧错误计数会同步上涨。这一步用 Scope 或者主站的诊断页看,连续观察几分钟,WKC 必须是稳定的一条直线。

第三步,做一次真实的 I/O 往返。给一个数字量输出点强制置位,用万用表或者示波器在端子上量;再把一个输入点短接,看工程里的变量有没有跟着变。只有信号真的进出过一次,才算这条链路通了。前面两步都是软件自证,这一步才是端到端的证据。

检查项正常表现异常时先看哪里
主站状态OPAdapter 绑定、实时核是否启动
从站状态全部 OPESI 文件、PDO 映射、从站供电
WKC等于从站数且稳定线缆、拓扑、从站端口顺序
帧错误计数长时间不增长屏蔽接地、变频器干扰、线缆质量
I/O 往返输出能动作、输入能回读端子接线、通道使能位

验证通过之后还有一件事值得做:把这次的工程配置、ESI 文件、网卡型号和 Device ID、驱动版本一起打包存档。换机器、换备件的时候,这份存档就是你的后悔药,不用再从头查一遍设备 ID。

从那以后我每次装 TwinCAT 3,都强制先跑一遍硬件 ID 采集再动安装包,装完必做一次 WKC 长时间观察,哪怕客户催得再急也不跳。吃过一次亏——机器装完当场演示正常,第二天早上从站集体掉线,现场返工的代价远高于多跑那半小时验证。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询