2. MERLIC开发环境与多相机接入

MERLIC 的多相机能力并不是在图像处理流程里“顺便”实现的,而是由 Creator 与 Runtime 两个角色分工协作完成的。理解这两个角色的部署边界,是后续做多相机同步与标定的前提。Creator 是工程设计与调试环境,负责图像源配置、工具链搭建、参数标定和流程验证;Runtime 是实际生产运行环境,负责加载已保存的 MERLIC 工程(.mrcp 文件)并持续执行。两者共享同一套图像采集与工具执行内核,但授权、界面和运行方式不同。

Creator 与 Runtime 的部署关系

典型部署有两种形态。第一种是单机形态:Creator 与 Runtime 装在同一台工控机上,调试完成后直接由 Runtime 加载工程运行,适合相机数量较少、算力充裕的场景。第二种是分离形态:工程师在开发机上用 Creator 设计工程,导出 .mrcp 后拷贝到产线工控机的 Runtime 上运行。分离形态下要注意两点:一是 Runtime 机器上必须安装与 Creator 相同或兼容的 MERLIC 版本,否则工程可能无法加载;二是工程中引用的相机名称、IP 或序列号必须在 Runtime 机器上可解析,否则会出现“图像源不可用”。

MERLIC 的授权(License)通常绑定在 Runtime 侧,Creator 用于设计时一般不需要生产授权,但 Runtime 必须持有有效授权才能持续运行。多相机场景下,授权与相机数量、是否使用同步功能相关,部署前应确认授权覆盖了实际接入的相机路数。

MERLIC 多相机接入部署与数据流 MERLIC Creator(设计) • 图像源配置 / 相机发现 • 工具链搭建与参数标定 • 多相机同步策略设定 • 保存工程 .mrcp MERLIC Runtime(运行) • 加载 .mrcp 工程 • 持续采集与工具执行 • 结果输出 / 通信接口 • 需有效授权 导出 / 拷贝 .mrcp 相机接口层 GigE Vision(网口) USB3 Vision(USB) GenICam 标准 多相机 图像流 图像流 关键约束:Runtime 机器需能解析工程中引用的相机名称 / IP / 序列号; 多相机同步与标定依赖各相机时间戳与触发配置,须在 Creator 中完成并随工程保存。

相机接口类型:GigE Vision 与 USB3 Vision

MERLIC 通过 GenICam 标准接入工业相机,最常用的两类接口是 GigE Vision 和 USB3 Vision。二者在带宽、线缆长度、供电和同步能力上有明显差异,直接影响多相机方案的选型。

对比项GigE VisionUSB3 Vision
物理介质千兆/万兆以太网USB 3.0 线缆
单口带宽约 1 Gbps(千兆)约 5 Gbps
线缆长度可达 100 m通常 ≤ 3~5 m
供电PoE 可选总线供电
多相机扩展交换机扩展,易组网受主机 USB 控制器数量限制
硬件触发同步支持,配合 PTP 更佳支持,但多机同步布线较复杂

多相机场景下,GigE Vision 的优势在于可通过交换机灵活扩展,且支持 PTP(IEEE 1588)实现多相机时间戳对齐,适合 4 路以上的同步采集。USB3 Vision 单口带宽高、延迟低,适合 2~3 台相机、线缆距离短的紧凑设备,但多台相机同时接入时要注意主机 USB 控制器带宽分配,避免因共享控制器导致丢帧。

多相机设备发现与连接配置

在 Creator 中接入相机的入口是“图像源”(Image Source)配置。点击添加图像源后,MERLIC 会调用 GenICam 传输层扫描当前可发现的设备。GigE 相机通过广播发现,USB3 相机通过枚举 USB 设备发现。若相机未出现在列表中,常见原因有三类:网段不一致(GigE 相机与主机不在同一子网)、防火墙拦截了发现广播、USB 控制器驱动或供电不足。

以 GigE 相机为例,推荐按以下顺序配置:

  1. 确认主机网卡与相机处于同一网段。例如主机设为 192.168.1.10/24,相机出厂默认常为 192.168.1.100 或需通过厂商工具改为同网段。
  2. 在 Creator 图像源列表中选中目标相机,为其指定一个工程内唯一的名称,如 Cam_Top、Cam_Side,便于后续工具链引用。
  3. 设置采集参数:分辨率、像素格式(如 Mono8、BayerRG8)、曝光时间、增益。多相机应尽量统一像素格式与分辨率,减少后续标定与同步的复杂度。
  4. 若需硬件触发,在相机功能树中把 Trigger Mode 设为 On,Trigger Source 选择 Line0 或软件触发,并配置触发极性。
  5. 对多台 GigE 相机,建议启用 PTP 或使用同一触发源,使各相机曝光时刻对齐。

USB3 Vision 相机的配置流程类似,但需注意:同一 USB 控制器下的多台相机共享带宽,若总带宽超过控制器上限,会出现帧率下降或丢帧。此时应把相机分散到不同控制器,或降低分辨率/帧率。

工程内相机名称一旦被工具链引用,重命名会导致引用失效。建议在接入阶段就按“位置+功能”命名,例如 Cam_Feed、Cam_Discharge,而不是 Cam1、Cam2。

连接配置的验证方法

配置完成后不要直接进入标定,先做一次采集验证。在 Creator 中逐台相机打开实时预览,观察三件事:图像是否稳定刷新、帧率是否达到设定值、时间戳是否连续。对多相机,可同时打开多路预览,检查是否存在某一路明显延迟或卡顿。若某路帧率不达标,优先排查网卡带宽、交换机负载或 USB 控制器分配。

验证通过后,保存工程为 .mrcp。此时工程中已记录了相机名称、采集参数和触发配置。把该工程拷贝到 Runtime 机器后,Runtime 会按名称重新绑定相机;若绑定失败,会在日志中提示图像源不可用,需要回到 Creator 检查相机名称与网络配置是否一致。

分离部署时,Creator 与 Runtime 的 MERLIC 版本、GenICam 传输层版本应保持一致。版本不一致可能导致相机在 Creator 中可见、在 Runtime 中却无法打开。

完成上述接入与验证后,多相机系统才具备进入同步与标定阶段的基础。下一阶段的核心是让各相机在同一时刻曝光、在同一坐标系下表达,这依赖本节配置好的触发方式与时间戳机制。