2. MERLIC项目架构与产线集成方式
在高速产线中,MERLIC 并不是一个孤立的视觉软件,而是整条自动化链路中的“视觉决策节点”。要让它稳定地嵌入产线节拍,必须先理解它的项目架构,以及它与 PLC、机器人、相机之间的通信与同步方式。本节围绕三个问题展开:MERLIC 项目内部由什么组成、它如何与外部设备交换数据、产线触发与同步如何保证节拍一致。
一、MERLIC 项目结构:从图像源到结果输出
一个 MERLIC 项目(Project)本质上是一条可执行的视觉处理链。它的结构可以拆成四层:图像源层、工具层、结果层和通信层。
- 图像源层:定义图像从哪里来。常见来源包括 GigE Vision / USB3 Vision 相机、图像文件夹、视频文件,以及通过 MERLIC 的 Image Source 接口接入的外部图像。产线场景中通常使用相机实时采集,并配合触发模式。
- 工具层:由若干 MERLIC 工具(Tool)组成,例如图像采集、预处理、定位、测量、检测、OCR、条码识别等。工具之间通过图像和区域数据连接,形成有向的处理链。
- 结果层:每个工具输出结果,如位置坐标、测量值、OK/NG 判定、字符串等。结果可以被后续工具引用,也可以被通信层读取。
- 通信层:负责与 PLC、机器人、上位机交换数据。MERLIC 支持多种工业通信方式,最常用的是基于以太网的 PLC 通信和通用 TCP/IP 通信。
理解这个分层很重要:图像源决定“什么时候处理”,工具层决定“处理什么”,结果层决定“输出什么”,通信层决定“怎么把结果送出去、怎么接收外部指令”。四层中任何一层的配置不当,都会在产线节拍上暴露出来。
二、与 PLC 的通信接口
MERLIC 与 PLC 的通信通常有两种典型方式:一种是基于 MERLIC 内置的 PLC 通信工具(如 Siemens S7、Modbus TCP 等),另一种是通过通用 TCP/IP 或 OPC UA 由上位机中转。在高速产线中,推荐优先使用 MERLIC 直接支持的 PLC 协议,减少中间环节带来的延迟。
以 Siemens S7 为例,MERLIC 通过 S7 协议与 PLC 建立连接,读写 DB 块中的变量。典型的数据交换包括:
- PLC → MERLIC:触发信号(如 DB1.DBX0.0)、产品型号切换、参数配方编号。
- MERLIC → PLC:检测结果 OK/NG、测量值(如 DB2.DBD0 存放宽度值)、机器人抓取坐标 X/Y/角度。
配置时需要注意三点:一是 PLC 侧的 DB 块必须关闭“优化访问”,否则无法按绝对地址读写;二是数据类型要匹配,MERLIC 的 Real 对应 PLC 的 REAL(32 位浮点),Bool 对应位;三是通信周期要小于产线节拍,例如节拍为 200 ms 时,通信周期建议不超过 50 ms。
三、与机器人的通信接口
机器人通常不直接与 MERLIC 通信,而是通过 PLC 中转,或者通过 TCP/IP 直接接收 MERLIC 发送的坐标字符串。直接 TCP/IP 方式的优点是延迟低、格式灵活,适合高速抓取场景。
一个典型的 TCP/IP 坐标消息格式如下:
#POSE,123.45,678.90,-12.34,1\n
其中 123.45 为 X 坐标(mm),678.90 为 Y 坐标(mm),-12.34 为旋转角度(°),1 为 OK 标志。机器人端解析后执行抓取。需要注意的是,MERLIC 输出的坐标是图像坐标系下的像素值或经过标定后的物理坐标,必须与机器人坐标系对齐。标定环节通常使用九点标定或手眼标定,把像素坐标转换为机器人基坐标。
四、与相机的通信接口
MERLIC 通过 GigE Vision 或 USB3 Vision 标准接口连接工业相机。在产线集成中,相机的工作模式分为连续采集和触发采集。高速产线必须使用触发采集,否则会出现图像与产品位置不对应的问题。
触发方式分为硬触发和软触发。硬触发由 PLC 或光电传感器直接给相机 I/O 信号,延迟最低,通常小于 1 ms;软触发由 MERLIC 通过软件命令触发相机,延迟受操作系统调度影响,通常在 5~20 ms。对于节拍小于 300 ms 的产线,建议使用硬触发。
五、产线触发与同步机制
触发与同步是节拍优化的核心。一个完整的触发周期包括:PLC 发出触发信号 → 相机曝光并输出图像 → MERLIC 接收图像并执行工具链 → 结果通过通信层回传 PLC 或机器人。这个周期必须小于产线节拍,否则产线需要等待视觉结果。
为了压缩周期,可以采取以下措施:
- 将相机曝光时间控制在 1~3 ms,并使用频闪光源提高亮度。
- MERLIC 工具链只保留必要工具,避免在产线运行时执行耗时长的标定或训练操作。
- 使用 MERLIC 的并行处理能力,把不依赖前序结果的工具并行执行。
- 通信层使用事件驱动而非轮询,减少等待时间。
六、集成检查清单
在把 MERLIC 项目接入产线前,可以按以下清单逐项确认:
| 检查项 | 确认内容 | 典型值/示例 |
|---|---|---|
| 相机触发 | 硬触发接线、触发极性、曝光时间 | 上升沿触发,曝光 2 ms |
| PLC 通信 | 协议、DB 块地址、数据类型 | S7,DB1.DBX0.0,Bool |
| 机器人通信 | TCP/IP 端口、消息格式、坐标系 | 端口 5000,九点标定 |
| MERLIC 工具链 | 工具数量、执行时间、并行设置 | 单次处理 ≤ 80 ms |
| 节拍余量 | 处理时间 + 通信时间 < 节拍 | 200 ms 节拍,余量 ≥ 50 ms |