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 树不只是工具清单,更是一张数据依赖图。
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 工位的检测”这类隐蔽错误。
四、取像触发:从自由运行到硬件同步
触发方式直接决定图像与运动物体的对应关系。自由运行适合静态或低速场景,相机按固定帧率出图,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 看作取像入口,把图像源绑定看作数据路由,三者各司其职,图像采集流程才能从“能出图”走向“可复现、可排障、可交付”。