1. 为什么 TwinCAT 3.1 的安装值得单独写一篇指南
如果你是从 TwinCAT 2 迁移过来的老工程师,或者第一次接触倍福(Beckhoff)体系的新手,大概率会在安装环节卡上一阵子。TwinCAT 3.1(内部版本号 4026)是倍福在 2020 年前后主推的一个长期稳定版本,它把 Visual Studio 作为开发外壳,把实时内核、PLC 运行时、NC/PTP 运动控制、IO 映射全部整合进一个工程体系里。功能强了,安装的复杂度也跟着上来了——它不是一个双击下一步就能跑起来的普通软件,而是一套需要和操作系统版本、Visual Studio 版本、驱动签名策略、网卡配置深度耦合的工程环境。
我前后在十几台机器上装过 4026,有工控机、有笔记本、也有虚拟机,踩过的坑从“安装到一半回滚”到“装完连不上 EtherCAT 从站”都有。这篇指南不打算复述官方手册的目录结构,而是按一个实际工程师的装机顺序,把每一步背后的原因、容易忽略的细节、以及出问题后怎么排查讲清楚。适合正在准备 TwinCAT 开发环境的朋友,也适合已经装完但运行不稳定、想回头找原因的人。
核心关键词就几个:TwinCAT 3.1、4026、安装、Visual Studio 集成、实时网卡、驱动签名。下面按装机流程展开。
2. 装之前必须确认的三件事:系统、VS 版本、硬件
很多人拿到安装包就直接点,结果卡在第一步。TwinCAT 3.1 4026 对运行环境有比较明确的边界,提前确认能省掉大量返工。
2.1 操作系统版本与补丁级别
4026 官方支持的是 Windows 7 SP1、Windows 10(部分版本)、Windows Server 系列。这里有个容易忽略的点:Windows 10 的版本号很关键。早期 4026 对 Win10 1809 之后的某些版本支持并不完整,尤其是涉及实时内核的测试签名模式。我的建议是优先用 Windows 10 专业版或企业版的 LTSC 版本,这类版本更新节奏慢、组件稳定,不容易因为系统自动更新把实时驱动搞挂。
另外,系统必须是 64 位。TwinCAT 3.1 的工程环境是 64 位进程,虽然它也能跑 32 位 PLC 代码,但宿主系统必须是 x64。补丁级别上,确保 .NET Framework 4.6 以上已经装好,因为 Visual Studio 集成和部分运行时依赖它。
提示:如果你用的是公司统一分发的系统镜像,先确认有没有装过其他实时软件(比如某些运动控制卡自带的实时扩展),它们可能抢占内核驱动,导致 TwinCAT 实时核加载失败。
2.2 Visual Studio 版本匹配
TwinCAT 3.1 4026 不自带完整的 Visual Studio,它是以 VS 插件(VSIX)的形式集成进去的。4026 通常匹配Visual Studio 2015 或 2017,部分后期更新支持 2019。这里最容易踩的坑是:你机器上装了 VS 2022,然后发现 TwinCAT 工程模板根本不出来。
原因是 TwinCAT 的 VS 集成包是按特定 VS 版本的 Shell 接口编译的,版本不匹配就不会注册工程系统。所以装之前先确认:
| TwinCAT 版本 | 推荐 VS 版本 | 备注 |
|---|---|---|
| 4026 早期 | VS 2015 | 最稳,官方示例多 |
| 4026 中期 | VS 2017 | 社区主流 |
| 4026 后期补丁 | VS 2019 | 需确认补丁号 |
如果你机器上已经有高版本 VS,不必卸载,TwinCAT 安装程序会检测并提示。但为了省事,我一般建议单独装一个匹配版本的 VS Community,专门用于 TwinCAT 开发,避免和其他项目环境打架。
2.3 硬件与网卡准备
TwinCAT 的实时性依赖专用网卡。不是所有网卡都能被实时驱动接管,Intel 的 I210、I219、82574 等系列兼容性最好。Realtek 的消费级网卡大概率无法用于 EtherCAT 实时通信,只能做普通以太网。
装之前做两件事:
- 确认你要做实时通信的那块网卡型号,记下来。
- 如果机器有多块网卡,规划好哪块做实时、哪块做普通上网,避免装完后网卡角色混乱。
注意:虚拟机里装 TwinCAT 可以做逻辑开发和仿真,但实时性能无法保证,EtherCAT 从站扫描经常失败。学习可以,做实际项目别在虚拟机里跑实时。
3. 安装包获取与安装顺序的讲究
3.1 安装包从哪来,怎么选
倍福的安装包通常通过官方渠道下载,文件名类似TC31-Full-Setup.3.1.4026.xx.exe。Full Setup 包含运行时、工程环境、VS 集成、驱动。还有一个是 Update 包,只用于已有环境的升级。第一次装一定用 Full Setup。
下载时注意区分 x86 和 x64,现在基本都用 x64。另外,某些版本会附带一个“Engineering”和“Runtime”分离的选项,如果你只是做开发机,Full 就行;如果是目标机(只跑运行时),可以只装 Runtime。
3.2 安装顺序:先 VS,后 TwinCAT
这个顺序不能反。正确流程是:
- 先装好匹配版本的 Visual Studio,并完成一次启动,让 VS 完成初始化配置。
- 关闭所有 VS 实例。
- 再运行 TwinCAT Full Setup。
如果先装 TwinCAT 再装 VS,VS 集成插件不会自动注册,你得手动去修复安装,很麻烦。我试过一次偷懒,结果花了半小时重新跑安装程序的 Repair 模式。
3.3 安装过程中的选项勾选
安装向导里有几个关键勾选:
- TwinCAT 3.1 Engineering:必选,工程环境。
- TwinCAT 3.1 Runtime:本机要跑 PLC 就选。
- Visual Studio Integration:必选,否则 VS 里没模板。
- TwinCAT 3.1 ADS:通信组件,必选。
- EtherCAT 驱动:要做 EtherCAT 主站就选。
有一个容易忽略的是“Install as Service”相关选项,默认让 TwinCAT 以服务方式运行,这样开机自启、后台常驻,建议保持默认。
安装过程会多次弹出驱动签名确认,尤其是实时网卡驱动。Windows 10 默认要求驱动签名,TwinCAT 的实时驱动需要开启测试签名模式或者安装时允许。安装程序一般会引导你处理,但如果你之前手动关过测试签名,可能会失败。
4. 装完之后必须做的配置:从“能打开”到“能跑”
安装完成不代表能用。4026 装完后有一系列配置动作,缺一个都可能导致后面工程跑不起来。
4.1 开启测试签名模式与重启
TwinCAT 实时驱动在部分系统上需要测试签名模式。操作方式是以管理员身份运行命令提示符,执行:
bcdedit /set testsigning on然后重启。重启后桌面右下角会出现“测试模式”水印,这是正常的。如果你介意水印,可以在确认驱动稳定后尝试关闭,但关闭后实时驱动可能无法加载,所以生产环境一般保持开启。
提示:有些企业安全策略会禁止测试签名模式,这种情况下需要联系 IT 调整策略,或者改用支持正式签名的 TwinCAT 版本。
4.2 网卡驱动替换为实时驱动
这是 TwinCAT 安装后最关键的一步。打开TwinCAT System Manager或者从 VS 里的 TwinCAT 菜单进入,找到“Show Realtime Ethernet Compatible Devices”。这里会列出所有能被实时驱动接管的网卡。
操作逻辑是:
- 在列表里找到你的 Intel 网卡。
- 点击Install,把标准 Windows 驱动替换成 TwinCAT 实时驱动。
- 替换后,这块网卡在 Windows 网络连接里会显示为“TwinCAT Realtime Ethernet Adapter”,普通上网功能会失效。
这一步的意图是让网卡绕过 Windows 协议栈,直接由 TwinCAT 实时内核控制,从而保证 EtherCAT 通信的确定性。替换后如果后悔,可以在同一界面点 Uninstall 还原。
我踩过的坑:有一次替换完网卡,发现 EtherCAT 从站还是扫不到,排查半天发现是网线插在了另一块没替换的网卡上。所以替换完一定要确认物理接口对应的是哪块。
4.3 设置实时核数量与 CPU 亲和性
TwinCAT 允许你把实时任务绑定到特定 CPU 核心。在 System Manager 的Real-Time设置里,可以配置:
- Shared Cores:实时任务和 Windows 共享核心。
- Dedicated Cores:独占核心,实时性更好。
对于多核 CPU,建议至少留一个核心给 Windows,其余给实时。比如 4 核机器,可以设 1 个 dedicated core 给 TwinCAT。设置不当会导致系统卡顿或者实时任务抖动。
4.4 ADS 路由与本地通信
ADS 是 TwinCAT 的通信协议。本机开发时,确保本地 ADS 路由已经建立。在 VS 的 TwinCAT 菜单里点“Add Route”,一般本机会自动出现。如果后面要连远程目标机,也是在这里加路由,需要输入目标机的 IP 和凭据。
5. 常见安装故障的排查链路
这一节按我实际遇到的故障,还原排查过程,而不是直接给答案。你可以对照自己的现象一步步走。
5.1 安装回滚或中途失败
现象:安装进度条走到一半,提示某个组件安装失败,然后整体回滚。
排查顺序:
- 看日志。TwinCAT 安装日志在
%TEMP%目录下,文件名带TcInstall。日志里会明确写哪个 MSI 包失败。 - 检查 VS 是否在运行。VS 没关干净会导致 VSIX 安装失败。
- 检查 .NET 版本。缺 .NET 4.6+ 会导致部分组件装不上。
- 检查杀毒软件。某些安全软件会拦截驱动安装,临时关闭再试。
我遇到过一次是 Windows Installer 服务卡死,重启后重新安装就好了。所以遇到回滚,先重启再重试,别急着重装系统。
5.2 VS 里看不到 TwinCAT 工程模板
现象:VS 装好了,TwinCAT 也装完了,但新建项目里没有 TwinCAT 相关模板。
原因通常是 VS 集成没注册。解决办法:
- 打开 VS 的Extensions and Updates,看有没有 TwinCAT 相关扩展,如果有但被禁用,启用它。
- 如果没有,去控制面板找到 TwinCAT,选Repair,修复安装会重新注册 VSIX。
- 确认 VS 版本和 TwinCAT 匹配,版本不对怎么修都没用。
5.3 实时网卡替换失败或网卡消失
现象:在兼容设备列表里点 Install 后报错,或者网卡直接从列表消失。
这种情况多半是驱动签名问题。确认测试签名模式已开启并重启。如果还不行,去设备管理器看有没有带黄色感叹号的设备,手动更新驱动指向 TwinCAT 安装目录下的驱动文件夹。
还有一种情况是网卡被其他软件占用,比如某些虚拟化软件(VMware、VirtualBox)的桥接驱动。先卸载这些虚拟网卡再试。
5.4 EtherCAT 从站扫描不到
现象:网卡替换成功,但扫描 EtherCAT 从站时一直转圈或报错。
排查链路:
- 物理层:网线是否插在实时网卡上?从站供电是否正常?EtherCAT 对网线质量有要求,普通网线短距离可以,长距离建议用屏蔽线。
- 从站状态:从站的 RUN/ERR 灯是否正常?如果 ERR 灯红,说明从站本身有问题。
- 主站配置:在 System Manager 里确认 EtherCAT 主站已经绑定到正确的实时网卡。
- 防火墙:临时关闭 Windows 防火墙测试,某些情况下防火墙会拦截 EtherCAT 的广播帧。
我有一次折腾了一小时,最后发现是从站的拨码地址和工程里配置的不一致。所以扫描不到时,先怀疑物理和地址,再怀疑软件。
6. 装完后的验证:跑一个最小工程
配置都做完后,别急着上大项目,先跑一个最小验证工程,确认整条链路通了。
6.1 新建 PLC 工程并下载
在 VS 里新建 TwinCAT PLC 项目,写一段最简单的逻辑:
PROGRAM MAIN VAR bStart : BOOL; nCount : INT; END_VAR IF bStart THEN nCount := nCount + 1; END_IF编译后,通过 ADS 下载到本地运行时。如果下载成功且能进入 Run 模式,说明 PLC 运行时正常。
6.2 激活配置并确认实时状态
在 System Manager 里点Activate Configuration,让配置生效。然后看 TwinCAT 托盘图标,应该显示为绿色或蓝色,表示实时核在运行。如果图标是红色或灰色,说明实时核没起来,回去检查网卡驱动和测试签名。
6.3 观察实时抖动
对于运动控制类应用,实时抖动很关键。可以在 System Manager 里查看Real-Time CPU Usage和Latency。正常情况下,抖动应该在微秒级。如果抖动很大,检查是不是有太多共享核心、或者后台有占用 CPU 的程序。
7. 几个我踩过之后才记住的经验
第一,安装前打快照。如果是虚拟机,装之前一定打快照。物理机的话,至少创建一个系统还原点。TwinCAT 装完会改驱动、改启动项,出问题想还原很麻烦。
第二,别在装完 TwinCAT 的机器上随便更新系统。Windows 大版本更新有时会重置驱动签名策略,导致实时网卡驱动失效。我有一台机器就是自动更新后 EtherCAT 全挂,重新替换网卡才好。
第三,网卡替换后记得改网络配置。实时网卡不再走 Windows 协议栈,所以你不能再用它上网。如果机器只有一块网卡,替换后就没法上网了,提前准备好离线安装包或者用另一台机器查资料。
第四,工程路径别用中文和空格。TwinCAT 的编译和 ADS 下载对路径比较敏感,中文路径偶尔会导致编译报错。统一用英文短路径,比如D:\TcProjects\。
第五,备份你的 TwinCAT 配置。System Manager 里的 IO 映射、实时设置、路由表,这些配置在重装系统后会丢。养成导出配置的习惯,或者把整个工程目录纳入版本管理。
8. 关于 4026 版本的一些补充说明
4026 作为一个长期版本,后续有不少补丁更新。如果你拿到的是早期 4026,建议去官方渠道看看有没有累积更新包。补丁通常修复了驱动兼容性和 VS 集成的问题,装上能省不少事。
另外,TwinCAT 3.1 的授权机制是基于加密狗或者软授权的。开发环境不授权也能编译和仿真,但下载到运行时需要授权。学习阶段用 7 天试用授权就够了,正式项目记得提前规划授权。
最后说一个实际体会:TwinCAT 的安装难度不在于步骤多,而在于它对环境的一致性要求高。系统版本、VS 版本、驱动签名、网卡型号,任何一个不匹配都会卡住。所以装之前花十分钟确认环境,比装完之后花两小时排查划算得多。我现在的习惯是,每台新机器装机前先列一个检查清单,逐项打勾,基本一次过。