2. VisionPro软件环境与图像采集流程

VisionPro 的图像采集并不是“打开软件就能看到图”这么简单。它由三层对象协同完成:QuickBuild 提供作业(Job)与工具链的编辑环境;CogAcqFifoTool 负责把物理相机抽象成一个可配置的取像工具;图像源(Image Source) 则决定下游视觉工具究竟消费哪一张图。理解这三者的分工,是后续标定、定位、测量与检测能够稳定复现的前提。

一、QuickBuild:作业容器与工具链编辑环境

QuickBuild 是 VisionPro 的图形化作业编辑器。一个 Job 本质上是一个 .vpp 文件,内部保存了工具集合、工具之间的图像与数据连接、以及每个工具的参数。打开 QuickBuild 后,左侧是 Job 树,中间是工具编辑区,右侧是属性面板,底部是图像显示与结果输出区。

在 Job 树中,工具按执行顺序自上而下排列。VisionPro 的数据流是“上游输出、下游输入”:一个工具的输出端子(Output Terminal)通过连线接到另一个工具的输入端子(Input Terminal)。最常见的连接就是取像工具把 OutputImage 送给下游的 CogBlobTool、CogPMAlignTool 或 CogCaliperTool 的 InputImage。因此,Job 树不只是工具清单,更是一张数据依赖图。

建议在 QuickBuild 中养成“先命名、再连线、后调参”的习惯。工具默认名如 CogAcqFifoTool1 在工具数量增多后极难维护,改为 Acq_Cam0_Trigger、PMAlign_定位 这类语义化名称,可显著降低排障成本。

二、CogAcqFifoTool:相机与取像参数的封装

CogAcqFifoTool 是 VisionPro 中用于取像的核心工具。它内部封装了相机对象(如 GigE Vision、USB3 Vision 相机)、FIFO 缓冲、触发模式、曝光与增益等参数。双击该工具进入配置界面,通常包含 Camera、Trigger、Lighting、Image 等选项卡。

关键参数包括:

  • Exposure(曝光时间):单位通常为微秒或毫秒,决定感光量。运动场景需短曝光以抑制拖影,静态高精度场景可适当延长以提升信噪比。
  • Gain(增益):对传感器信号做电子放大,会同时放大噪声。原则是“先加光、后加曝光、最后才动增益”。
  • Trigger Mode:Free Run(自由运行,相机按自身帧率连续出图)或 Hardware Trigger(外部信号触发,如光电传感器、PLC 输出)。
  • Trigger Activation:上升沿、下降沿或电平触发,需与传感器极性一致。
  • Timeout:等待触发的最长时间,超时后工具返回失败,避免 Job 无限阻塞。

配置完成后,点击 Live 可连续预览,点击 Snap 抓取单帧。若 Live 正常而 Snap 无图,多半是触发模式与触发源不匹配。

三、相机连接与图像源管理

相机连接分两步:物理连接与逻辑连接。物理层通过 GigE、USB3 或 Camera Link 接入工控机;逻辑层在 CogAcqFifoTool 的 Camera 选项卡中点击 Add Camera,从枚举列表中选择设备。GigE 相机需注意网卡巨帧(Jumbo Frame)与 IP 网段配置,否则会出现丢包或无法枚举。

图像源管理解决的是“下游工具用哪张图”的问题。CogAcqFifoTool 每次取像后,图像进入内部 FIFO。下游工具通过 InputImage 端子接收图像。若一个 Job 中有多台相机,必须明确每个视觉工具绑定的是哪一路图像源,否则会出现“用 A 相机的图做 B 工位的检测”这类隐蔽错误。

VisionPro 图像采集与图像源管理数据流 物理相机 GigE / USB3 Cam0 / Cam1 触发源 光电 / PLC 上升沿 CogAcqFifoTool 曝光 / 增益 触发模式 FIFO 缓冲 OutputImage QuickBuild Job (.vpp) 工具链 / 端子连线 图像源绑定 PMAlign InputImage Caliper InputImage 结果输出 Pass / Fail / 坐标 / 测量值 图像流 触发信号 取像结果 图像源 关键判断逻辑 1. Live 有图、Snap 无图 → 检查触发模式与触发源极性 2. 图像偏暗 → 优先加光,其次加曝光,最后加增益 3. 下游工具无图 → 检查 InputImage 是否绑定正确图像源 4. 多相机串图 → 核对每个工具的图像源绑定关系

四、取像触发:从自由运行到硬件同步

触发方式直接决定图像与运动物体的对应关系。自由运行适合静态或低速场景,相机按固定帧率出图,Job 每次执行取最新一帧。硬件触发适合流水线:当工件到达光电传感器位置,传感器输出一个上升沿给相机,相机立即曝光,从而保证每张图对应同一物理位置。

配置硬件触发时,需要确认三件事:触发信号的电平标准(如 24V 需经光耦或电平转换)、触发沿方向、以及触发超时时间。若工件间距不稳定,可启用 Trigger Delay 让相机在收到触发后延迟固定时间再曝光,用于补偿传感器到相机视场的机械距离。

在 QuickBuild 中,CogAcqFifoTool 的 Trigger 属性可被 Job 外部信号或脚本控制。例如在 CogJob 的 Run 方法中,先调用取像工具,再依次执行下游工具。若取像失败,Job 应捕获异常并记录,而不是让后续工具在空图上运行。

五、图像源管理的实践要点

图像源管理常被忽视,却是多相机、多工位项目中最容易出错的地方。建议遵循以下原则:

  • 一工具一图像源:每个视觉工具的 InputImage 必须显式绑定到确定的取像工具输出,不依赖默认值。
  • 命名可追溯:取像工具名包含相机编号与工位,如 Acq_Cam1_Station2。
  • FIFO 深度合理:FIFO 过浅会在高节拍下丢图,过深会增加内存占用与延迟。一般设为 3~5 帧即可。
  • 异常可观测:在 Job 中记录每次取像的时间戳与结果状态,便于回溯丢图或重复触发。
不要用“先跑通再说”的方式跳过图像源绑定检查。在多相机系统中,错误的图像源绑定往往不会立即报错,而是表现为检测结果随机波动,排查成本极高。

六、一个可复现的配置示例

假设一条检测线使用一台 GigE 黑白相机,工件由传送带输送,光电传感器在工件到达视场中心前 20 mm 处触发。示例配置如下(参数为教学示例,实际需按现场调整):

相机:GigE 黑白,1280×1024,帧率 60 fps
触发模式:Hardware Trigger,上升沿
触发延迟:约 8 ms(对应 20 mm / 2.5 m·s⁻¹)
曝光时间:300 µs
增益:0 dB
FIFO 深度:4
下游工具:CogPMAlignTool → CogCaliperTool
图像源绑定:PMAlign.InputImage ← Acq.OutputImage
            Caliper.InputImage ← Acq.OutputImage

配置完成后,先以 Free Run 确认成像清晰、亮度适中;再切到 Hardware Trigger,手动遮挡传感器验证每次触发只出一帧;最后运行完整 Job,观察 PMAlign 的得分与 Caliper 的测量值是否稳定。若得分波动大,优先检查曝光是否足够、触发延迟是否匹配传送速度,而不是急于调整算法参数。

把 QuickBuild 看作作业骨架,把 CogAcqFifoTool 看作取像入口,把图像源绑定看作数据路由,三者各司其职,图像采集流程才能从“能出图”走向“可复现、可排障、可交付”。