1. 课程导入
在智能制造产线中,视觉系统负责“看”,PLC负责“控”,而真正决定产线能否稳定、柔性、可追溯运行的,是两者之间能否形成低延迟、可判定、可复位的联动闭环。本课程围绕工业视觉AI与PLC联动展开,目标不是单独讲相机或单独讲梯形图,而是把“检测结果如何变成控制动作”这条链路讲透。学完本课程,你应能独立完成从视觉AI模型输出、通信协议映射、PLC逻辑判定,到执行机构动作与异常复位的完整方案设计与调试。
核心概念:视觉AI输出与PLC控制语义的映射
工业视觉AI通常输出结构化结果,例如目标类别、边界框、像素坐标、置信度、分割掩膜或异常分数。PLC并不直接理解“图像”,它只理解布尔量、整数、浮点数与寄存器。因此联动的核心是语义映射:把视觉结果映射为PLC可判定的控制条件。例如,当“缺陷类别=划伤”且“置信度≥0.85”且“工件在位=1”时,置位剔除输出;当连续3帧无目标时,置位“视觉超时”报警。
常见映射对象包括:触发信号(PLC→视觉)、结果就绪(视觉→PLC)、分类码、坐标偏移量、测量值、NG标志、心跳与故障码。理解这些对象的时序关系,比记住某个品牌PLC的指令更重要。
方法流程:从视觉结果到PLC动作的六步闭环
一个可落地的联动方案,通常按以下步骤推进。第一步,定义检测项与判定规则,明确哪些结果由AI给出,哪些阈值由PLC判定。第二步,设计通信数据块,约定触发位、就绪位、类别码、置信度、坐标、心跳与故障码的地址与数据类型。第三步,编写PLC状态机,把“等待触发、采图、等待结果、判定、动作、复位”拆成明确状态。第四步,加入去抖与超时,避免单帧误判导致误剔除。第五步,联调时序,用示波器或PLC跟踪功能观察触发与就绪的先后关系。第六步,接入追溯,把工件ID、图像路径与动作结果写入数据库。
// PLC侧伪代码:视觉结果判定与剔除
IF TriggerDone AND VisionReady THEN
IF DefectClass <> 0 AND Confidence >= 0.85 AND PartPresent THEN
RejectOutput := TRUE;
ResultCode := 16#02; // NG
ELSE
RejectOutput := FALSE;
ResultCode := 16#01; // OK
END_IF;
VisionReady := FALSE;
TriggerDone := FALSE;
END_IF;
IF NOT Heartbeat THEN
Alarm := TRUE; // 视觉离线
END_IF;
案例与场景:三个典型应用
- 3C外观缺陷剔除:AI输出划伤、脏污、缺角类别与置信度,PLC在皮带线跟踪位置到达剔除工位时驱动气缸,NG品进入不良品盒,同时记录图像路径。
- 汽车零部件尺寸测量:视觉给出孔径、间距等测量值,PLC与公差带比较,超差时置位报警并禁止机器人抓取,避免装配干涉。
- 物流包裹分拣:AI识别条码、面单与包裹类型,PLC根据分类码控制摆轮或交叉带,把包裹送入对应格口,并回传分拣结果。
常见误区与复盘要点
| 联动要素 | 视觉侧关注点 | PLC侧关注点 | 常见参数 |
|---|---|---|---|
| 触发 | 硬触发/软触发、曝光延迟 | 触发脉宽、防重复触发 | 触发间隔≥50ms |
| 结果 | 类别、坐标、置信度 | 寄存器映射、字节序 | 置信度阈值0.80~0.95 |
| 时序 | 推理耗时、结果就绪 | 等待超时、节拍余量 | 超时200~500ms |
| 异常 | 故障码、心跳 | 报警、复位、安全互锁 | 心跳周期100ms |
| 追溯 | 图像路径、模型版本 | 工件ID、时间戳、结果码 | 保留≥30天 |
整体来看,工业视觉AI与PLC联动是一条从感知到执行的完整工程链路。视觉AI解决“是什么、在哪里、有多严重”,PLC解决“什么时候动、动多久、异常怎么办”,数据层解决“可追溯、可优化”。三者协同,才能让智能检测真正落到产线节拍与良率上。