2. MERLIC架构与量产部署拓扑

在单机验证阶段,MERLIC 往往只表现为“一个软件 + 一台相机”的组合;一旦进入量产,它就会变成一条产线控制链中的视觉节点。要理解 MERLIC 在量产环境中的位置,必须先分清它的两个核心组件:MERLIC Creator 与 MERLIC Runtime。Creator 是工程态工具,用于搭建视觉流程、配置工具参数、标定相机、调试图像与结果;Runtime 是运行态执行环境,负责在没有图形界面的情况下稳定执行已保存的 MERLIC 流程,并通过通信接口把结果交给 PLC、机器人或 MES。二者不是两个独立软件版本,而是同一套视觉逻辑在“设计”和“执行”两个阶段的角色分工。

量产部署的关键,是把 MERLIC Runtime 放到正确的位置,并让它的输入输出与产线设备形成确定关系。典型结构可以概括为:相机通过 GigE Vision 或 USB3 Vision 接入工控机,MERLIC Runtime 在工控机上执行视觉流程,结果通过 PLC 通信、机器人接口或 MES 数据接口向外发布。PLC 通常负责触发拍照、控制光源、接收 OK/NG 信号并驱动分拣机构;机器人负责抓取定位或引导纠偏;MES 负责记录批次、追溯结果和统计良率。三者对 MERLIC 的接口要求不同:PLC 强调实时性和确定性,机器人强调坐标与姿态数据,MES 强调结构化结果和可追溯字段。

MERLIC 量产部署拓扑与通信集成 工程态 · 离线设计 MERLIC Creator • 视觉流程搭建与工具参数配置 • 相机标定与图像采集调试 • 结果可视化与阈值验证 • 导出 .mvtl 流程文件 → 发布到 Runtime 运行态 · 产线执行 MERLIC Runtime • 无界面执行已发布流程 • 接收触发信号并采集图像 • 执行工具链并输出结果 • 通过通信接口发布数据 → 结果分发至产线设备 图像采集层 工业相机与光源 • GigE Vision / USB3 Vision • 面阵 / 线阵相机 • 频闪光源控制器 • 硬触发 / 软触发 → 图像数据流 发布 图像流 PLC 控制层 西门子 S7 / 三菱 / 欧姆龙 • 触发拍照信号(DI) • 接收 OK/NG 结果(DO) • 控制光源频闪与分拣气缸 • 通信方式:PROFINET / EtherNet/IP 实时性要求:< 10 ms 机器人执行层 六轴 / SCARA / 协作机器人 • 接收抓取坐标(X, Y, θ) • 接收姿态纠偏量 • 通信方式:TCP/IP Socket • 或通过 PLC 中转 数据格式:结构化坐标串 MES 管理层 制造执行系统 / 数据库 • 接收检测结果与图像路径 • 记录批次号 / 时间戳 / 工位号 • 通信方式:REST API / OPC UA • 良率统计与追溯查询 数据粒度:单件级记录 OK/NG + 触发 坐标/姿态 结果/追溯 部署要点: ① Creator 与 Runtime 可同机或分机部署,量产环境建议 Runtime 独立运行于产线工控机; ② 通信接口需与 PLC 扫描周期、机器人节拍、MES 数据写入频率匹配,避免结果积压或丢失。

从拓扑上看,MERLIC Runtime 处于“图像采集层”与“产线设备层”之间,是视觉数据向控制数据转换的枢纽。它向上承接相机的图像流,向下分发三类结果:给 PLC 的是布尔量或整型状态字,给机器人的是坐标与角度,给 MES 的是带时间戳和批次号的结构化记录。这三类输出的实时性、数据格式和可靠性要求各不相同,因此在实际部署中,通信接口的选型和参数配置往往比视觉算法本身更影响产线稳定性。

通信接口的工程化配置

MERLIC 与 PLC 的通信通常采用两种方式:一是通过数字 I/O 硬线连接,二是通过工业以太网协议(如 PROFINET、EtherNet/IP 或 Modbus TCP)。硬线方式延迟最低,适合仅传递 OK/NG 和触发信号的简单场景;以太网方式可传递更多状态字和参数,适合需要传递测量值、缺陷代码或配方切换的场合。以 PROFINET 为例,需要在 MERLIC Runtime 的通信配置中设置 GSDML 文件、设备名称和 IP 地址,并定义输入/输出数据长度。假设 PLC 侧分配了 4 字节输入和 4 字节输出,则 MERLIC 可发送一个 32 位整型结果码,其中 bit0 表示 OK/NG,bit1~bit7 表示缺陷类型编号,bit8~bit15 表示测量值缩放后的整数,剩余位保留。这种位域定义必须在 PLC 程序和 MERLIC 通信配置中严格一致,否则会出现“视觉结果正确但 PLC 读到错误状态”的典型故障。

与机器人的通信更强调坐标数据的完整性和坐标系一致性。MERLIC 输出的坐标通常基于相机像素坐标系或标定后的物理坐标系,机器人需要的是其自身基坐标系下的目标位置。因此,在部署时必须明确标定链:相机内参标定 → 手眼标定 → 坐标变换矩阵 → 机器人目标坐标。若采用 Eye-to-Hand 方式,相机固定安装,标定后坐标变换矩阵固定;若采用 Eye-in-Hand 方式,相机安装在机器人末端,则每个姿态下都需要重新计算变换关系。MERLIC 本身不直接完成手眼标定,但可以通过其标定工具或外部标定流程获得变换参数,再在流程中以公式工具或脚本工具实现坐标映射。实际项目中,建议将坐标变换参数作为配方数据管理,换型时随产品型号一起切换,避免每次换型都重新标定。

与 MES 的集成则更偏向数据完整性和可追溯性。MERLIC Runtime 可以通过 REST API、OPC UA 或数据库写入方式将结果发送给 MES。典型的单件记录包含:工位号、产品序列号、检测时间戳、检测结果(OK/NG)、缺陷代码、关键测量值、图像文件路径。其中图像文件路径通常指向 Runtime 本地保存的图片,MES 只记录路径而不直接存储大图,以降低网络和数据库压力。若产线节拍为 3 秒/件,则 MES 接口的写入频率约为 0.33 次/秒,对大多数数据库而言压力很小;但若产线有多台相机同时工作,则需考虑并发写入和消息队列缓冲。

典型量产部署架构的落地要点

一个可落地的量产部署方案,通常包含以下要素:工控机选型需满足 Runtime 的系统要求,并预留足够的千兆网口连接相机和 PLC;相机与工控机之间建议独立网段,避免与办公网络混用;PLC 与 Runtime 之间的通信周期需与产线节拍匹配,若节拍为 2 秒,则通信周期设置为 100~200 ms 即可,无需追求 10 ms 级;机器人接口需明确坐标单位(mm 或像素)、角度正方向(逆时针为正或顺时针为正)以及坐标系原点位置,并在联调时用标准件验证。

部署检查建议:在正式量产前,用标准件分别验证三条链路——PLC 触发与结果回读、机器人坐标抓取精度、MES 记录完整性。每条链路单独验证通过后,再进行联合运行。联合运行时重点观察:触发信号是否丢失、结果是否错位、坐标是否漂移、MES 记录是否断档。

需要特别注意的是,MERLIC Creator 和 Runtime 的版本必须一致。若 Creator 使用较新版本创建流程,而 Runtime 为旧版本,可能出现工具不兼容或参数解析错误。量产环境建议锁定版本,并在升级前在测试工控机上完成回归验证。此外,Runtime 的授权方式(加密狗或软授权)需在部署前确认,避免产线运行中因授权失效导致停机。

从工程实践角度看,MERLIC 在量产部署中的角色可以概括为“视觉逻辑的执行容器”和“数据格式的转换器”。它不直接控制产线设备,而是通过标准通信接口把视觉结果翻译成 PLC、机器人和 MES 能理解的数据。因此,部署工作的核心不是反复调整视觉工具,而是把通信链路、坐标系、数据格式和异常处理定义清楚,并在联调中逐项验证。只有这三条链路都稳定,MERLIC 才能真正成为量产线上可靠的视觉节点。