3. TwinCAT 3工程环境搭建

XTS视觉触发与定位工程的起点不是写代码,而是把TwinCAT 3的运行环境、实时任务、EtherCAT主站和视觉库四件事一次性配置正确。这一节按实际工程顺序展开:先确认安装组件,再创建XTS项目,然后集成视觉库,最后配置实时任务与EtherCAT主站。每一步都给出可核对的参数和判断依据,避免“装完能打开就算成功”的误区。

一、安装配置:选对组件与版本

TwinCAT 3的安装包由多个功能包组成,XTS视觉项目至少需要以下组件:TwinCAT 3 XAE(工程环境)、TwinCAT 3 XAR(运行时)、TF5000 TC3 XTS Extension(XTS扩展)、TF5200 TC3 Vision(视觉库)、TF5200 TC3 Vision XTS(视觉与XTS联动)、以及TwinCAT 3 EtherCAT主站(通常随XAR自带)。安装时建议选择“Complete”模式,避免后续因缺少组件反复补装。

版本匹配是安装阶段最容易出问题的地方。XTS扩展、视觉库和TwinCAT内核三者版本必须兼容,例如TwinCAT 3.1.4024.10对应TF5000 1.2.x、TF5200 1.0.x。安装完成后,在TwinCAT XAE的“Solution Explorer → TwinCAT Project → System → Packages”中可以看到已安装的功能包版本,这是判断组件是否齐全的直接依据。

安装前关闭所有TwinCAT进程,安装后重启计算机,确保实时驱动(TcRouter、TcI8254x等)正确加载。若使用虚拟机,需开启CPU虚拟化并关闭Hyper-V,否则实时任务周期抖动会明显增大。

二、XTS项目创建:从模板到硬件扫描

打开TwinCAT XAE,选择“File → New → Project”,在模板中选择“TwinCAT XTS Project”。该模板会自动创建PLC项目、NC轴配置和XTS模块占位。创建后先不急于写逻辑,而是完成硬件扫描:在“I/O → Devices”上右键选择“Scan”,EtherCAT主站会自动识别连接的XTS电机模块、电源模块和EtherCAT耦合器。

扫描完成后,需要核对三个关键参数:XTS模块数量(与物理连接一致)、每个模块的“Motion”配置(电机类型、编码器分辨率)、以及“XTS Extension”中的动子(Mover)数量。例如一条XTS轨道配置8个动子,则需在XTS Extension中设置MoverCount=8,并分配每个动子的初始位置。这些参数直接决定后续视觉触发时动子位置的计算基准。

三、视觉库集成:链接与图像源配置

视觉库集成分两步:先在PLC项目中引用TF5200库,再配置图像源。在“PLC → References”中添加“Tc3_Vision”和“Tc3_Vision_XTS”库,然后在MAIN程序中声明视觉对象。图像源可以是GigE Vision相机、USB相机或仿真图像,工程调试阶段建议先用仿真图像验证触发逻辑,再切换到真实相机。

视觉库的核心接口是“触发—采集—处理—输出”四段。触发信号来自XTS动子位置,采集由相机完成,处理在视觉库中执行,输出结果(如偏移量、角度)回传给PLC用于定位修正。集成完成后,在“Vision → Configuration”中设置相机IP、曝光时间、触发模式(硬件触发/软件触发)。硬件触发模式下,触发信号由XTS的Position Compare输出,这是视觉触发与定位联动的关键连接点。

TwinCAT 3 XTS视觉工程环境配置关系图 安装配置层 TwinCAT 3 XAE/XAR TF5000 XTS Extension TF5200 Vision EtherCAT Master 版本匹配 XTS项目层 XTS Project模板 EtherCAT扫描 MoverCount=8 编码器分辨率 视觉集成层 Tc3_Vision库 图像源配置 硬件触发模式 Position Compare 实时任务与EtherCAT主站 Cycle Time = 1 ms Jitter < 50 μs DC Sync 0 EtherCAT OP状态 联动关键点 触发信号→相机 位置→偏移量 结果→PLC修正

四、实时任务设置:周期与抖动

XTS视觉触发对实时性要求较高,实时任务周期建议设置为1 ms,抖动控制在50 μs以内。在“TwinCAT → Real-Time”中,将PLC任务和XTS运动任务分配到不同的CPU核心,避免相互抢占。例如四核工控机:CPU0给Windows系统,CPU1给PLC任务,CPU2给XTS运动任务,CPU3给视觉处理任务。

判断实时任务是否达标,不能只看“任务运行中”,而要看“TwinCAT → Real-Time → Performance”中的实际周期和抖动统计。若抖动超过100 μs,需检查是否开启了CPU节能模式、是否与其他软件共享核心、以及EtherCAT是否启用了分布式时钟(DC)。DC同步是XTS多动子协同和视觉触发时间一致性的基础,建议在EtherCAT主站配置中启用DC,并将参考时钟设为第一个XTS模块。

五、EtherCAT主站配置:从扫描到OP状态

EtherCAT主站配置的核心是让所有从站进入OP(Operational)状态。扫描完成后,在“I/O → Devices → EtherCAT Master”中检查从站列表,确认每个XTS模块和耦合器的“State”为OP。若某个从站停留在PREOP或SAFEOP,通常是PDO映射不匹配或DC配置错误。

XTS模块的PDO映射需要包含位置、速度、状态字和控制字。在“Process Data”中勾选“Position Actual Value”“Velocity Actual Value”“Status Word”和“Control Word”,这些是视觉触发和定位修正的输入输出基础。配置完成后,激活配置(Activate Configuration),观察从站状态是否全部变为OP。若OP状态稳定,说明EtherCAT主站配置完成,可以进入视觉触发逻辑的编写。

激活配置前务必保存工程,并确认所有从站物理连接正确。若激活后从站无法进入OP,先检查网线、终端电阻和DC模式,再检查PDO映射是否与从站描述文件(ESI)一致。

六、配置检查清单

检查项 目标值/状态 判断依据
功能包版本 TF5000/TF5200与内核兼容 Packages列表无版本冲突提示
XTS模块数量 与物理连接一致 EtherCAT扫描结果匹配
MoverCount 8(示例) XTS Extension中设置正确
视觉库引用 Tc3_Vision、Tc3_Vision_XTS PLC References中无缺失
实时任务周期 1 ms,抖动<50 μs Real-Time Performance统计
EtherCAT从站状态 全部OP Devices列表State列
DC同步 启用,参考时钟为第一模块 EtherCAT Master配置

完成以上配置后,工程环境已经具备运行XTS视觉触发与定位的基础条件。接下来可以在PLC中编写触发逻辑,将XTS动子位置与视觉采集结果关联起来,实现“位置触发—图像采集—偏移计算—定位修正”的闭环。配置阶段多花时间核对参数,后续调试会明显更顺畅。