4. 工业网络通信基础
In-Sight 视觉系统在产线里从来不是孤立设备:它要把检测结果交给 PLC 去剔除不良品,要把图像和判定数据交给 MES 做追溯,还要接受来自上位机的配方切换和触发指令。这些动作全部依赖网络通信完成。因此,理解 In-Sight 支持哪些通信协议、每种协议解决什么问题、在什么场景下选哪一种,是集成工作的第一步。
一、先分清两个层次:承载协议与应用协议
很多初学者会把 TCP/IP、UDP 和 EtherNet/IP、PROFINET 并列比较,其实它们不在同一层。TCP/IP 和 UDP 属于传输层协议,负责“把字节可靠或不可靠地送到对端”;而 EtherNet/IP、PROFINET、Modbus TCP 属于应用层工业协议,它们规定了数据以什么结构、什么语义被交换,并且通常运行在 TCP/IP 或 UDP 之上。
可以这样理解:TCP/IP 和 UDP 是公路,EtherNet/IP 和 PROFINET 是跑在公路上的标准化货车,货车里装的是“触发信号”“检测结果”“心跳”这类具体货物。In-Sight 同时支持这两层,配置时先确定用哪种应用协议,再确定底层走 TCP 还是 UDP。
二、四种通信方式在 In-Sight 中的支持情况
TCP/IP(原生 Socket):In-Sight 可作为 TCP 服务器或客户端,通过原生字符串或二进制报文与上位机、机器人、MES 中间件通信。它的优势是灵活——报文格式完全自定义,适合把检测结果以 CSV、JSON 或自定义分隔符推送给 MES。缺点是双方必须约定好报文格式和粘包处理,没有标准化语义。
UDP:In-Sight 支持 UDP 发送与接收,常用于对实时性要求高、允许少量丢包的场景,例如高频触发信号或状态广播。UDP 无连接、无重传,单条报文丢失不会阻塞后续数据,但也意味着关键结果不应只靠 UDP 传输。
EtherNet/IP:In-Sight 内置 EtherNet/IP 从站(Adapter)功能,可被罗克韦尔(Allen-Bradley)PLC 作为标准 I/O 设备扫描。它支持隐式(Implicit)I/O 报文做周期性数据交换,也支持显式(Explicit)报文做参数读写。在北美汽车、食品包装产线上,这是最主流的集成方式。
PROFINET:In-Sight 支持 PROFINET IO 从站功能,可接入西门子 S7-1200/1500 等控制器,通过 GSDML 文件组态,用输入/输出模块映射检测结果与触发位。在欧洲及国内大量西门子产线上,PROFINET 是首选。
三、选择依据:从产线实际约束出发
选型不是比谁“更高级”,而是看约束条件。以下四条判断依据按优先级排列。
第一,看主控 PLC 的品牌与协议栈。如果产线控制器是罗克韦尔 ControlLogix 或 CompactLogix,选 EtherNet/IP 最省事,In-Sight 作为从站被直接扫描进 I/O 树,检测结果映射到 PLC 的输入字,触发位映射到输出字,无需额外网关。如果控制器是西门子 S7-1500,则选 PROFINET,导入 GSDML 后组态 I/O 模块即可。跨品牌强行用另一种协议,往往要加协议转换网关,增加故障点和延迟。
第二,看对接对象是 PLC 还是信息系统。与 PLC 做实时控制交互,用 EtherNet/IP 或 PROFINET;与 MES、数据库、机器人控制器做数据交互,用原生 TCP Socket 更灵活,因为 MES 侧通常只认字符串报文,不认工业协议的 I/O 映像。
第三,看实时性与可靠性要求。周期性状态交换(如“就绪”“忙”“结果有效”)适合隐式 I/O 报文,周期可设 4~10 ms;高频触发信号可用 UDP,延迟低且丢一帧不影响后续;而检测结果、条码、测量值这类不能丢的数据,必须走 TCP 或工业协议的可靠通道。
第四,看网络隔离与带宽。视觉系统传输图像时占用带宽较大,建议把相机图像流与 PLC 控制报文放在不同 VLAN,避免图像传输抖动影响控制周期。In-Sight 支持在同一网口上同时运行多种协议,但需要合理规划 IP 与端口。
四、一个典型配置示例
假设某汽车零部件产线:主控为西门子 S7-1500,In-Sight 负责检测零件有无漏装,同时把检测结果上传 MES。合理的方案是双通道并行:
通道一(控制):PROFINET IO
In-Sight 作为 PROFINET 从站,设备名 is7802-line3
输入模块(相机→PLC):Result_OK(1bit) + Result_NG(1bit) + Barcode(32byte)
输出模块(PLC→相机):Trigger(1bit) + Recipe_Sel(1byte)
更新时间:8 ms
通道二(数据):原生 TCP Socket
In-Sight 作为 TCP 客户端,连接 MES 网关 192.168.10.50:9100
报文格式:SN,Result,Score,Timestamp\n
示例:A20240517-0031,NG,0.42,2024-05-17 14:22:07
发送时机:每次检测完成后立即发送
这样,PLC 在 8 ms 周期内拿到 OK/NG 位做剔除动作,MES 在毫秒级拿到带条码的完整记录做追溯,两条通道互不阻塞。若把 MES 数据也塞进 PROFINET 的 I/O 映像,会因报文长度和周期不匹配导致控制侧效率下降。
五、常见误区
第一个误区是认为“TCP 一定比 UDP 好”。在触发信号场景,TCP 的重传和拥塞控制反而会引入不确定延迟,UDP 更合适。第二个误区是把 EtherNet/IP 和 TCP/IP 混为一谈,EtherNet/IP 的隐式报文实际基于 UDP,显式报文才基于 TCP。第三个误区是忽略 GSDML 或 EDS 文件的版本匹配,组态时若文件版本与相机固件不匹配,会出现模块无法识别或 I/O 长度不符。