3. PLC硬件与通信基础

在视觉系统与产线集成的工程实践中,PLC既是产线的“动作执行中枢”,也是视觉系统与产线之间的“数据交换枢纽”。理解主流PLC的通信接口、工业以太网协议以及产线控制逻辑,是完成视觉触发、结果回传、分拣判定与异常处理的前提。本节围绕西门子、罗克韦尔、三菱三大主流PLC,梳理其通信接口形态、常用工业以太网协议,并给出产线控制逻辑与视觉系统对接的基本方法。

一、主流PLC的通信接口形态

PLC的通信接口可分为本体集成接口与扩展通信模块两类。本体集成接口通常包括以太网口、RS-485/RS-232串口、USB编程口;扩展模块则用于补充现场总线、专用协议或高速通信能力。视觉系统与PLC对接时,优先选择以太网接口,因为其带宽高、布线简单、支持多设备并发,适合传输触发信号、坐标、判定结果等结构化数据。

西门子S7-1200/1500系列本体集成PROFINET以太网口,支持TCP/IP、ISO-on-TCP、S7通信等;S7-200 SMART则集成以太网口并支持S7协议与开放式TCP。罗克韦尔ControlLogix/CompactLogix系列通过EtherNet/IP接口与视觉系统通信,支持生产者/消费者模型与显式消息。三菱FX5U、Q系列、iQ-R系列集成以太网口,支持MC协议、SLMP、Socket通信等。不同品牌接口形态不同,但以太网已成为视觉集成的共同基础。

二、工业以太网协议与视觉对接方式

工业以太网协议可分为实时工业以太网与通用以太网通信两类。PROFINET、EtherNet/IP、EtherCAT属于实时工业以太网,强调确定性周期通信,适合运动控制与高速I/O;而TCP/IP、UDP、Modbus TCP、MC协议、SLMP等属于通用以太网通信,适合视觉结果、字符串、坐标等非周期数据交换。

视觉系统与PLC对接常见三种方式:一是硬线I/O触发,PLC输出触发信号给视觉相机,相机完成拍照后输出OK/NG信号给PLC;二是以太网Socket通信,视觉系统作为客户端或服务端,与PLC交换字符串或字节数组;三是工业协议直连,如视觉系统支持PROFINET或EtherNet/IP从站,直接映射到PLC的I/O数据区。硬线I/O响应最快但信息量小;Socket通信灵活但需处理连接与超时;工业协议直连集成度高但配置复杂。

视觉系统与主流PLC通信对接架构 视觉系统 相机 / 智能相机 视觉控制器 / 工控机 输出:坐标、判定、条码 通信对接方式 ① 硬线 I/O:触发 + OK/NG ② Socket:TCP/UDP 字符串 ③ 工业协议:PROFINET / EtherNet/IP 主流 PLC 西门子 S7-1200/1500 罗克韦尔 CompactLogix 三菱 FX5U / iQ-R 工业以太网协议层 实时:PROFINET / EtherNet/IP / EtherCAT 通用:TCP/IP / UDP / Modbus TCP / MC / SLMP 产线控制逻辑:触发 → 拍照 → 判定 → 分拣 → 反馈 PLC 输出触发 相机拍照检测 结果回传 PLC 执行分拣动作 状态反馈 HMI

三、产线控制逻辑与视觉触发时序

产线控制逻辑的核心是“触发—拍照—判定—分拣—反馈”闭环。以一条包装线视觉检测工位为例:输送带将产品送至检测位,光电传感器检测到产品到位后,PLC通过输出点或以太网消息向视觉系统发送触发信号;视觉系统完成拍照、图像处理并输出判定结果;PLC读取结果后驱动剔除气缸或分拣机构,同时将状态写入HMI或MES。

触发时序需要关注三个参数:触发提前量、拍照延时和结果超时。触发提前量指传感器到相机视野中心的距离除以输送带速度,用于保证产品进入视野时触发;拍照延时用于补偿机械抖动或通信延迟;结果超时用于判断视觉系统是否在规定时间内返回结果,超时则按NG处理或报警。例如输送带速度0.5 m/s,传感器到视野中心距离150 mm,则触发提前量约为300 ms;若视觉处理时间约80 ms,结果超时建议设置为200~300 ms,留出通信余量。

四、典型配置示例:西门子S7-1200与视觉系统Socket通信

以下示例展示S7-1200作为TCP服务端、视觉系统作为客户端的通信配置思路。PLC侧使用TSEND_C/TRCV_C指令建立连接并收发数据,视觉系统按约定格式发送字符串。示例参数为教学假设,实际需按现场设备调整。

// S7-1200 侧关键参数(示例)
连接类型:TCP
PLC角色:服务端(被动连接)
本地端口:2000
视觉系统IP:192.168.0.50
数据格式:ASCII字符串,以换行符结束
示例报文:OK,123.4,56.7\n  或  NG,0,0\n

// 视觉系统侧发送逻辑(伪代码)
connect(PLC_IP, 2000)
result = inspect()
send("OK," + x + "," + y + "\n")

PLC接收后使用字符串解析指令提取判定字与坐标,将OK/NG映射到分拣输出,坐标写入数据块供机器人或伺服使用。若连续多个周期未收到报文,则置位通信故障位并触发报警。

五、品牌差异与选型建议

西门子PLC在PROFINET生态与TIA Portal集成方面优势明显,适合与支持PROFINET的视觉系统直连;罗克韦尔PLC在EtherNet/IP与Logix平台集成度高,适合北美系产线;三菱PLC在MC协议与SLMP方面成熟,适合日系设备与小型产线。选型时应优先确认视觉系统支持的协议栈,再选择PLC通信模块,避免协议不匹配导致额外网关成本。

工程提示:视觉与PLC通信建议统一采用“触发信号 + 结果报文 + 心跳/超时”三要素。触发信号保证节拍同步,结果报文承载判定与数据,心跳或超时用于检测通信中断,避免产线在视觉失效时继续放行不良品。
注意:使用Socket通信时,需明确字节序、字符串编码、结束符和超时重连机制。不同品牌PLC对字符串结束符处理不同,建议在联调阶段用抓包工具确认报文格式,再固化到双方配置中。