4. TwinCAT Vision概述

TF7000 TwinCAT Vision 是 Beckhoff 将机器视觉能力直接集成进 TwinCAT 3 自动化软件的功能库。它的核心价值不在于“再做一个视觉软件”,而在于把图像采集、图像处理与 PLC 逻辑放进同一个实时运行时、同一个工程、同一套变量体系中。传统方案中,视觉系统往往作为独立工控机或智能相机存在,通过 I/O 或 TCP 与 PLC 交换结果;TF7000 则让视觉任务成为 PLC 项目的一部分,图像处理结果可以直接以过程映像变量参与运动控制、状态机和报警逻辑。

功能定位与软件架构

TF7000 提供从相机接入、图像预处理、特征提取到结果输出的完整链路。它支持 GigE Vision 与 USB3 Vision 相机,通过 TwinCAT Vision 的相机驱动层统一接入;图像处理库覆盖滤波、阈值分割、形态学、边缘检测、Blob 分析、模板匹配、测量与标定等常用算子。与独立视觉软件不同,这些算子以 PLC 库函数或 TcCOM 模块形式存在,可在实时任务中周期调用。

软件架构上,TwinCAT Vision 位于 TwinCAT 3 实时层之上,主要由四部分组成:相机驱动与图像采集层、图像处理运行时、PLC 库接口、以及工程配置与标定工具。相机通过 GigE 或 USB 接入工业 PC,图像数据进入实时内存后由视觉任务处理,处理结果写入 PLC 过程映像,供 PLC 程序读取。整个链路不经过外部网络协议转换,因此延迟和抖动远低于“视觉工控机 + TCP”方案。

TF7000 TwinCAT Vision 软件架构与PLC耦合链路 相机接入层 GigE Vision 相机 USB3 Vision 相机 触发/曝光/增益控制 图像采集与预处理 实时内存图像缓冲 滤波 / 阈值 / 形态学 ROI 与坐标标定 图像处理库 Blob 分析 / 边缘检测 模板匹配 / 测量 标定与坐标变换 TwinCAT 3 PLC 实时运行时 过程映像变量:视觉结果 → PLC 输入变量 PLC 输出变量 → 触发信号 / 参数切换 / 结果确认 状态机、运动控制、报警与 HMI 交互 图像流 像素数据 结果变量 触发/参数 耦合机制要点: ① 视觉任务与 PLC 任务共享同一实时运行时,无需外部协议转换;② 图像结果以过程映像变量形式供 PLC 读取; ③ PLC 可反向触发采集、切换配方或调整曝光参数;④ 标定参数与坐标变换在视觉侧完成,PLC 直接使用物理坐标。

相机接入方式与配置要点

TF7000 的相机接入以 GigE Vision 和 USB3 Vision 为主。GigE 相机通过标准以太网口接入,需注意网卡与相机在同一子网,并启用巨帧(Jumbo Frame)以降低丢包率;USB3 相机则适合短距离、高带宽场景。在 TwinCAT 工程中,相机通过“Vision”节点下的“Camera”设备添加,扫描到设备后设置 IP、触发模式、曝光时间与增益。触发模式建议优先使用硬件触发或 PLC 触发,避免自由运行带来的节拍不确定。

一个典型配置示例:相机分辨率 1280×1024,像素格式 Mono8,曝光时间 5000 μs,增益 6 dB,触发源设为 PLC 变量。在 PLC 中定义 bTrig : BOOL 作为触发输出,视觉任务检测到上升沿后采集一帧图像。若使用 GigE 相机,建议将相机与工控机网卡直连,并关闭网卡的节能模式与中断节流,以保证图像传输的实时性。

图像处理库与PLC的耦合机制

耦合机制是 TF7000 区别于独立视觉系统的关键。视觉任务在实时任务中周期执行,处理结果写入 PLC 过程映像变量。PLC 程序通过读取这些变量获得视觉结果,例如 Blob 数量、中心坐标、角度、匹配分数等。反过来,PLC 也可以向视觉任务写入触发信号、配方编号、ROI 参数或曝光时间,实现“PLC 主导、视觉执行”的协同模式。

具体实现上,TwinCAT Vision 提供 PLC 库函数块,例如相机控制、图像采集、Blob 分析、模板匹配等。以 Blob 分析为例,PLC 调用 FB_VN_Blob 功能块,输入图像引用与阈值参数,输出 Blob 数量、面积、质心等结构体。这些输出可直接映射到 PLC 变量,供后续逻辑判断。若需要坐标变换,可在视觉侧配置标定文件,将像素坐标转换为毫米坐标,PLC 直接使用物理坐标进行运动补偿。

耦合设计建议:视觉结果变量应带“有效标志位”(如 bResultValid),PLC 仅在标志位为 TRUE 时使用结果,避免读取到未更新或无效数据。触发与结果之间应设置超时监控,超时后进入报警或重试流程。

典型协同工作流程

以“工件定位与抓取”为例:PLC 状态机进入“拍照”步骤,置位 bTrig;视觉任务检测到触发后采集图像,执行模板匹配,输出工件中心坐标 fX, fY 与角度 fAngle,并置位 bResultValid;PLC 读取结果,判断匹配分数是否大于阈值(例如 0.85),若满足则计算抓取偏移量,驱动运动控制执行抓取;若不满足,则报警并请求重新拍照。整个过程中,视觉与 PLC 共享同一时钟基准,节拍稳定,无需外部通信握手。

参数关系上,曝光时间影响图像亮度与运动模糊,增益影响噪声水平,阈值影响 Blob 分割效果,匹配分数阈值影响误判率。这些参数可在 PLC 中通过变量动态调整,实现多配方切换。例如配方 A 使用曝光 5000 μs、阈值 120;配方 B 使用曝光 8000 μs、阈值 100。PLC 根据产品型号写入对应参数,视觉任务在下一次触发时生效。

注意:视觉任务与 PLC 任务在同一实时核上运行时,需合理分配任务周期与优先级。图像处理耗时较长时,建议将视觉任务放在独立实时核或较低优先级任务中,避免阻塞 PLC 运动控制任务。若使用 GigE 相机,还需关注网络带宽与 CPU 占用率,必要时启用图像降采样或 ROI 裁剪。

架构优势与适用边界

TF7000 的优势在于集成度高、延迟低、工程统一。它适合中等复杂度、节拍要求稳定、与运动控制紧密耦合的视觉任务,例如定位、测量、有无判断、简单缺陷检测。对于超高分辨率、超高速或复杂深度学习类任务,仍可能需要独立视觉系统或 GPU 加速方案。选型时应根据分辨率、帧率、处理算力与实时性要求综合判断。

总结来说,TF7000 把视觉从“外挂设备”变成“PLC 的内部能力”。理解其架构层次、相机接入方式与 PLC 耦合机制,是后续进行视觉任务配置、标定与协同编程的基础。