3. 开发环境搭建
TwinCAT CNC 的开发环境并不是“装一个软件就能跑”,而是由 TwinCAT 3 运行时 + XAE 开发壳 + CNC 授权 + 硬件描述 + 运动轴映射 共同构成的一条完整链路。任何一环缺失,都会在激活配置或轴使能阶段报错。本节按“安装 → 建工程 → 加 CNC 模块 → 配硬件 → 验证”的顺序,把这条链路一次打通。
一、核心原理:XAE 与 XAR 的分工
TwinCAT 3 采用“开发态 / 运行态”分离架构。开发侧称为 XAE(eXtended Automation Engineering),集成在 Visual Studio 中,负责写 PLC 程序、配置 CNC 通道、组态 EtherCAT 从站;运行侧称为 XAR(eXtended Automation Runtime),是目标机上的实时内核,负责真正执行插补与轴控。两者通过 ADS 路由通信。
CNC 功能本身由 TC3 CNC(TF5200) 授权提供,它不是一个独立软件,而是以库和配置节点形式挂载到 XAE 工程中。因此安装顺序必须是:先装 TwinCAT 3 XAE,再装 CNC 授权,最后在工程里添加 CNC 模块。顺序颠倒会导致“找不到 CNC 节点”或“授权未激活”。
二、安装流程与关键选项
安装 TwinCAT 3 时,安装向导中的组件勾选直接决定后续能否添加 CNC 模块。核心选项如下:
- TwinCAT 3 XAE:必选,提供 Visual Studio 集成开发环境。
- TwinCAT 3 Standard:包含 PLC、NC PTP、EtherCAT 主站等基础运行时。
- TC3 CNC:CNC 插补功能,需单独勾选并输入授权。
- TwinCAT 3 ADS:路由与通信组件,默认安装。
- EtherCAT 主站驱动:若使用 EtherCAT 伺服,必须安装。
安装完成后,在系统托盘右键 TwinCAT 图标,选择 Show Realtime Ethernet Compatible Devices,把实际使用的网卡安装为实时以太网驱动。这一步常被忽略,导致后续扫描不到从站。
安装后自检命令(TwinCAT 命令行):
TcSysManager.exe /?
TwinCAT.AMSNetId 查看本机 AMS NetId
默认本机 AMS NetId:192.168.1.10.1.1
三、XAE 工程创建与 CNC 模块添加
打开 Visual Studio,选择 File → New → Project → TwinCAT XAE Project,命名如 CNC_Demo。工程创建后,解决方案树中会出现 SYSTEM、MOTION、PLC、I/O 等节点。
添加 CNC 模块的路径是:右键 MOTION → Add New Item → CNC,此时会生成一个 CNC 通道节点。展开后可看到 Axes、Channel、Interpreter 等子节点。CNC 通道需要绑定到具体的物理轴,因此下一步必须完成硬件配置。
四、硬件配置与轴映射方法
硬件配置的核心是“扫描 → 绑定 → 映射”三步。以 EtherCAT 伺服为例:
- 右键 I/O → Devices,选择
Scan Devices,自动识别 EtherCAT 从站。 - 在从站下确认 PDO 映射,确保
Target Position、Actual Position、Status Word等过程数据已勾选。 - 回到 MOTION → CNC → Axes,把每个 CNC 轴与 NC 轴、物理从站轴一一对应。
- 设置轴参数:编码器分辨率、齿轮比、软限位、最大速度。
轴映射的本质是建立“CNC 逻辑轴 → NC 轴 → 物理驱动轴”的三级引用关系。CNC 只认逻辑轴号,NC 负责单位换算与限位,物理轴负责电流环与位置环。三者参数必须一致,否则会出现位置跳变或跟随误差超限。
五、参数配置清单与常见误区
下表汇总了 CNC 轴配置中最关键的参数项,建议逐项核对后再激活配置。
| 配置项 | 所在节点 | 典型值 / 说明 |
|---|---|---|
| AMS NetId | SYSTEM | 本机 192.168.1.10.1.1,目标机需唯一 |
| CNC 通道数 | MOTION → CNC | 单通道默认 1,多通道需分别建轴组 |
| 轴号映射 | CNC → Axes | 逻辑轴 X→NC 轴 1→从站轴 1 |
| 编码器分辨率 | NC Axis → Encoder | 如 131072 inc/rev,必须与伺服一致 |
| 齿轮比 | NC Axis → Gear | 电机转数 : 负载转数,影响实际位移 |
| 软限位 | NC Axis → Limits | 按机械行程设置,防止撞机 |
| 跟随误差窗口 | NC Axis → Monitoring | 过大失去保护,过小频繁报警 |
- 只装 XAE 不装 CNC 授权:工程里看不到 CNC 节点,误以为是软件 Bug。
- 网卡未装实时驱动:Scan Devices 扫描不到 EtherCAT 从站。
- 轴号映射错位:CNC 的 X 轴绑到了物理 Y 轴,点动方向与预期相反。
- 编码器分辨率填错:指令走 100mm,实际只走 10mm,比例差 10 倍。
- 未激活配置就使能轴:轴状态停在
Standstill,无法进入Enabled。
六、验证与收尾
完成上述配置后,点击 Activate Configuration,TwinCAT 会重启运行核并下载配置。随后在 CNC 通道下执行轴使能,使用手动点动功能观察 Actual Position 是否随指令平滑变化。若位置反馈正常、无跟随误差报警,说明开发环境搭建成功,可以进入后续的 G 代码编程与插补调试阶段。
验证顺序建议:
1. Activate Configuration → 无报错
2. 轴状态 Standstill → Enabled
3. 手动点动 +10mm → Actual Position 同步变化
4. 检查跟随误差 < 设定窗口
5. 保存工程并备份 .tsproj 文件
环境搭建是一次性投入,但配置质量直接决定后续调试效率。建议把本节的三级映射关系和参数清单固化为团队检查表,每次新建 CNC 工程时逐项核对,可显著减少“轴不动”“位置跳变”“扫描不到从站”等低级问题。