1. 课程导入与集成工程全景
在一条典型的自动化生产线中,机器视觉负责“看”,PLC 负责“动”,而 MVTec MERLIC 正是把这两者连接起来的关键软件层。很多工程师第一次接触 MERLIC 时,会把它当成一个单纯的视觉软件:拖几个工具、连几条线、跑出一张结果图,任务就算完成。但在生产线集成场景里,MERLIC 的价值不在于单张图像处理得多漂亮,而在于它能否稳定、及时、可追溯地把检测结论交给 PLC,并让 PLC 依据这个结论驱动分拣、剔除、报警或放行。本课程要解决的,正是这条“从相机到执行机构”的完整工程链路。
角色分工:谁看、谁判、谁动
先把三个角色的边界说清楚,后续所有配置和调试都围绕这个分工展开。
- 相机与光学系统:负责采集图像。它决定了“能看到什么”,包括视野、分辨率、景深、光照均匀性。相机本身不做判断。
- MERLIC:负责图像处理与结果判定。它把像素变成结构化数据,例如“工件存在/缺失”“孔位坐标 X=312.4 px”“字符识别结果 OK/NG”“测量值 12.03 mm”。MERLIC 的核心输出不是图片,而是可被程序读取的结果变量。
- PLC:负责时序、逻辑与执行。它接收 MERLIC 的判定结果,结合光电传感器、编码器、气缸位置等信号,决定何时触发拍照、何时动作、何时报警。
一个常见的误区是让 MERLIC 去“等”PLC,或者让 PLC 去“猜”视觉结果。正确的做法是:PLC 在工件到达拍照位时给出触发信号,MERLIC 完成处理并把结果写入约定好的数据区,PLC 读取该数据区并执行后续动作。触发、处理、回传、执行,这四个环节必须有时序约束。
典型集成架构
MERLIC 与 PLC 的集成方式主要有三类,选择哪一类取决于产线节拍、PLC 品牌和现有网络条件。
| 集成方式 | 通信介质 | 典型延迟 | 适用场景 |
|---|---|---|---|
| 数字 I/O 硬线 | 24V 数字量 | < 5 ms | 只需 OK/NG 或触发信号,节拍快、逻辑简单 |
| PROFINET / EtherNet-IP | 工业以太网 | 5~20 ms | 需要传递坐标、测量值、多工位结果 |
| TCP/IP Socket 或 OPC UA | 标准以太网 | 10~50 ms | 跨品牌、跨网段、需要与 MES 或上位机共享数据 |
对于本课程后续的实战案例,我们采用“PROFINET 传递结果 + 数字 I/O 传递触发”的混合方式:触发信号走硬线保证实时性,结果数据走 PROFINET 保证信息量。这样既满足节拍,又避免把大量数据塞进 I/O 点。
学习路径与实战目标
本课程不是 MERLIC 的菜单说明书,而是一条从“能跑通”到“能上线”的工程路径。整体分为四个阶段。
第一阶段:建立通信底座。 完成 MERLIC 与 PLC 的物理连接和协议配置,能够手动触发一次拍照并把一个布尔结果送到 PLC 的输入映像区。这个阶段的目标是“通”,不追求复杂视觉逻辑。
第二阶段:设计视觉流程。 在 MERLIC 中搭建可复用的检测流程,包括图像采集、预处理、定位、测量或识别、结果判定。重点是把结果整理成 PLC 容易读取的变量,例如把“孔位偏差”从像素值换算成毫米值,并设定上下限。
第三阶段:联调时序与异常。 把触发、处理、回传、执行串成完整节拍,处理超时、通信中断、结果无效等异常情况。这个阶段最容易暴露问题,也是本课程着墨最多的部分。
第四阶段:上线与复盘。 固化参数、记录版本、建立点检表,并针对误判和漏判做数据复盘。
一个最小闭环的示例参数
为了让后续章节有统一的参照,这里给出一个教学示例。假设传送带速度 0.5 m/s,拍照位停留时间约 200 ms,相机分辨率 2448×2048,镜头视野 100 mm×80 mm,则单像素对应约 0.041 mm。MERLIC 流程包含模板匹配定位和两个圆孔测量,实测处理时间约 85 ms(示例值,实际取决于硬件和流程复杂度)。PLC 侧使用 PROFINET 读取 8 字节结果区,其中第 1 字节为状态码,第 2~3 字节为孔 1 偏差,第 4~5 字节为孔 2 偏差,第 6 字节为 OK/NG 标志。
结果区示例(8 字节):
Byte 0 : 状态码 0x01=有效, 0x00=无效, 0x02=超时
Byte 1-2 : 孔1偏差 (int16, 单位 0.01 mm)
Byte 3-4 : 孔2偏差 (int16, 单位 0.01 mm)
Byte 5 : 判定标志 0x01=OK, 0x00=NG
Byte 6-7 : 保留
PLC 在收到状态码 0x01 后,读取判定标志并执行分拣;若 200 ms 内未收到有效状态码,则按超时处理,输出报警并让工件进入缓存区。这个约定会在后续章节反复使用,你可以把它替换成自己产线的实际格式,但“状态码 + 数据 + 判定标志”的结构是通用的。
常见集成误区
- 把 MERLIC 当实时控制器用。 MERLIC 的处理时间受图像大小和工具数量影响,不能假设它每次都在固定时刻返回。PLC 必须做超时保护。
- 只传 OK/NG,不传过程数据。 一旦出现批量误判,没有偏差值就无法复盘。建议至少回传关键测量值。
- 触发信号用软件轮询代替硬线。 轮询周期不稳定,容易错过拍照窗口。高速产线优先用硬线触发。
- 忽略坐标系约定。 图像坐标原点在左上角,X 向右、Y 向下;PLC 和机械坐标通常以工件中心或夹具基准为零点。换算关系必须在文档中写清楚,并在 MERLIC 中统一。
理解这张全景图和四个阶段之后,后续每一章都会落在具体的配置、参数或调试动作上。你不需要一次记住所有细节,但需要始终清楚当前工作在哪个环节、输入是什么、输出给谁、时间预算还剩多少。