2. 联动系统总体架构设计

视觉检测结果与PLC判定联动的工程落地,第一步不是写程序,而是把系统的层级关系和数据流规划清楚。很多现场调试反复返工,根源往往在于架构阶段没有明确“谁负责什么、数据从哪里来、到哪里去、以什么形式交接”。本节围绕视觉相机、光源、工控机、PLC、执行机构和通信网络六个对象,梳理一套可复用的总体架构设计方法。

一、六个对象的职责边界

联动系统可以按“感知层—处理层—控制层—执行层”四层理解,通信网络贯穿其中。

  • 感知层:视觉相机负责采集图像,光源负责提供稳定照明。二者共同决定图像质量,是后续判定的物理基础。相机输出的是图像数据,光源输出的是光,二者不直接参与逻辑判定。
  • 处理层:工控机运行视觉软件,完成图像处理、特征提取、缺陷判定,输出结构化的检测结果(如OK/NG、缺陷类型、坐标、置信度)。工控机是“视觉结论”的产生者,但不直接驱动执行机构。
  • 控制层:PLC接收工控机的检测结果,结合传感器信号(如到位、编码器、急停),按工艺逻辑决定是否触发剔除、分拣、报警或放行。PLC是“动作决策”的产生者。
  • 执行层:执行机构包括气缸、电磁阀、伺服、剔除吹嘴、分拣机械手等,由PLC的DO输出或总线指令驱动,完成物理动作。
  • 通信网络:连接工控机与PLC、PLC与执行机构、相机与工控机,常见形式有以太网TCP/IP、Profinet、EtherCAT、Modbus TCP、串口RS-232/485,以及硬线I/O。

职责边界的核心原则是:视觉只做判定,PLC只做决策,执行机构只做动作。任何一方越界,都会导致系统耦合过重、故障定位困难。

二、层级关系与数据流规划

从数据流角度看,系统存在三条主要链路:图像链路、结果链路和控制链路。图像链路是相机→工控机,数据量大、实时性要求高,通常走GigE Vision或USB3 Vision;结果链路是工控机→PLC,数据量小但要求确定性,通常走TCP/IP或Profinet;控制链路是PLC→执行机构,要求毫秒级响应,通常走硬线DO或EtherCAT。

规划数据流时,需要明确四个关键参数:触发方式、传输周期、数据格式、超时处理。例如,相机由PLC的编码器信号触发,工控机在收到图像后50ms内完成判定并通过TCP发送结果,PLC在100ms内读取结果并决定是否在下一个工位触发剔除。若超时未收到结果,PLC应默认按NG处理或报警,而不是放行。

视觉检测与PLC联动系统总体架构 感知层 视觉相机 GigE / USB3 Vision 光源 频闪 / 常亮 / 控制器 触发传感器 光电 / 编码器 处理层 工控机(视觉软件) 图像处理 → 特征提取 → OK/NG判定 → 结果封装 控制层 PLC 结果读取 → 逻辑决策 → 时序控制 → 报警处理 执行层 剔除气缸 分拣机构 报警灯 数据记录 图像数据流 同步触发 到位/编码器信号 检测结果(OK/NG/坐标) DO / 总线指令 通信网络:以太网 TCP/IP · Profinet · EtherCAT · Modbus TCP · 硬线I/O 判定≤50ms 超时按NG

三、通信方式的选择依据

通信网络的选择不是越先进越好,而是匹配数据特性和实时性要求。图像数据带宽大,优先选GigE Vision;检测结果数据量小但要求可靠,TCP/IP足够;执行机构要求确定性响应,硬线DO或EtherCAT更合适。如果工控机与PLC之间需要交换大量状态字和参数,Profinet或EtherCAT的周期通信比TCP更稳定。

一个常见的误区是:把相机直接接到PLC,让PLC做图像处理。这在简单定位场景可行,但复杂缺陷检测会严重受限。正确做法是相机接工控机,工控机把“结论”交给PLC,而不是把“原始数据”交给PLC。

四、数据流规划的四个关键约定

为了让联动稳定,建议在架构阶段就约定以下四点:

  1. 触发约定:谁触发相机?通常是PLC收到到位传感器信号后,通过输出点或总线触发相机。触发信号同时送给光源控制器,保证拍照瞬间光照一致。
  2. 结果格式约定:工控机发给PLC的结果建议用固定长度结构,例如“状态字+缺陷码+坐标X+坐标Y+置信度”。状态字用0表示OK、1表示NG、2表示超时、3表示通信故障。
  3. 时序约定:从触发到结果送达PLC的最大允许时间,必须小于工件从检测工位到剔除工位的运动时间。例如传送带速度0.5m/s,两工位间距0.3m,则可用时间约600ms,结果链路必须留足余量。
  4. 异常约定:通信中断、结果超时、相机掉线时,PLC应进入安全状态。通常默认按NG处理并报警,而不是放行,避免不良品流出。
架构设计阶段建议输出一份《联动接口约定表》,至少包含:信号名称、方向、物理接口、数据格式、更新周期、超时值、异常默认值。这份表是后续PLC编程和视觉软件开发共同遵守的契约。

五、一个可参考的接口约定示例

以下是一份简化的接口约定示例,用于说明架构阶段需要明确到什么粒度。参数为教学示例,实际项目需根据节拍和工艺调整。

信号名称方向接口数据格式周期/超时异常默认
相机触发PLC→相机DO / 总线上升沿脉冲脉宽10ms不触发
光源同步PLC→光源DO电平与触发同步常亮
检测结果工控机→PLCTCP/IP状态字+缺陷码+坐标≤50ms,超时100ms按NG
剔除指令PLC→执行机构DO电平/脉冲≤10ms不动作
心跳信号工控机→PLCTCP/IP递增计数200ms报警停机

这张表的价值在于:它把“架构”从抽象框图变成了可执行的约定。视觉工程师按此封装结果,PLC工程师按此解析数据,电气工程师按此接线,三方并行开发而不互相等待。

六、架构设计中的常见问题

第一,层级混淆:让工控机直接驱动执行机构,绕过PLC。短期看似省事,但安全回路、急停、互锁难以统一管理,后期维护成本高。第二,数据流方向不清:相机触发信号和结果信号混用同一通道,导致时序冲突。第三,超时处理缺失:通信偶尔延迟时PLC一直等待,产线停摆。第四,光源与相机不同步:图像亮度波动,判定阈值频繁漂移。

解决这些问题的根本方法,是在架构阶段就把“谁触发、谁处理、谁决策、谁执行、超时怎么办”五个问题回答清楚,并落实到接口约定表中。架构清晰之后,后续的PLC程序、视觉配方、通信配置才有稳定的依据。