3. 工业以太网通信基础与PLCnext协议栈
在PLCnext控制器上做工业以太网集成,第一步不是打开配置软件,而是把"数据从哪来、经过哪些层、以什么时序到达"这件事想清楚。PLCnext的通信能力建立在标准以太网之上,但工业现场对确定性、实时性和多协议共存的要求,使它不能只被当作普通IT网络来理解。本节从TCP/IP与UDP的差异出发,逐步过渡到工业实时以太网的概念,再落到PLCnext自身的通信架构与协议支持范围。
一、TCP/IP与UDP:两种传输语义
以太网只负责把帧送到同一广播域内的目标MAC地址,真正让不同网段、不同设备之间可靠交换数据的是IP层及其上的传输层。PLCnext固件内置完整的TCP/IP协议栈,同时支持UDP,两者在工程中的用途截然不同。
TCP是面向连接的可靠传输:三次握手建立连接,每个报文段带序号,接收方确认,丢失则重传,并按序交付。代价是延迟不确定、头部开销大、连接状态需要维护。它适合HMI画面刷新、程序下载、OPC UA会话、Modbus TCP读写、HTTP/REST诊断接口这类"允许几十毫秒抖动、但绝不能丢数据"的场景。
UDP是无连接的数据报传输:不握手、不确认、不重传,头部仅8字节,发送方发出即结束。它适合周期性过程数据、组播发现、时间同步、以及上层自己实现轻量确认的实时协议。代价是丢包和乱序要由应用层承担。
一个常见的教学示例:PLCnext作为Modbus TCP服务器,端口502,HMI每200 ms读取一次保持寄存器。若网络出现瞬时拥塞,TCP会重传,HMI看到的是"延迟增大但数值正确";若把同一数据改用UDP周期广播,HMI可能直接丢失一帧,画面出现一次跳变。这说明协议选择必须与数据语义匹配,而不是简单地"哪个快用哪个"。
二、工业实时以太网的核心概念
标准TCP/IP的延迟由协议栈排队、操作系统调度和交换机存储转发共同决定,典型抖动在毫秒级,无法满足运动控制对微秒级周期和极低抖动的需求。工业实时以太网的做法是:保留标准以太网物理层和帧格式,但在其上加一层"实时通道"。
关键概念包括:
- 周期与抖动:周期是发送间隔,抖动是实际间隔与标称值的偏差。实时协议追求的是低抖动,而非单纯的低平均延迟。
- 等时同步:所有从站基于同一时钟节拍采样和输出,常用IEEE 1588精确时间协议(PTP)实现亚微秒级同步。
- 循环数据与参数通道:循环数据走实时通道,参数、诊断、固件更新走标准TCP/UDP通道,两者在同一物理线上共存。
- 集束帧与过程数据对象:把多个从站的数据打包进一个以太网帧,减少帧数和协议开销。
PROFINET、EtherCAT、EtherNet/IP、POWERLINK是几种主流实现。它们对标准以太网的"改造程度"不同:PROFINET RT使用标准以太网帧和VLAN优先级,IRT则需专用硬件;EtherCAT采用"飞读飞写"的从站处理方式,主站只需一个标准网口。理解这一点,才能判断PLCnext在不同实时协议下需要什么硬件和固件支持。
三、PLCnext通信架构与协议支持范围
PLCnext的通信架构可以理解为"一条实时总线 + 一个标准IP栈 + 一组可加载协议组件"。控制器通常提供多个独立以太网接口,可分别承担不同角色:
- PROFINET控制器/设备接口:用于连接PROFINET IO从站,支持RT,部分型号支持IRT或作为PROFINET设备接入上位控制器。
- EtherNet/IP扫描器/适配器:通过固件或应用组件支持,用于与罗克韦尔等设备交换隐式与显式报文。
- 标准TCP/UDP接口:用于Modbus TCP、OPC UA、MQTT、HTTP、SNMP、SSH等。
- OPC UA服务器与客户端:内置,支持信息模型、订阅、方法调用,是跨厂商集成的首选。
- 应用层协议组件:通过PLCnext Store或SDK加载,如EtherCAT主站、CANopen、专用云协议等。
需要特别注意的是,PLCnext的实时任务与通信任务运行在同一Linux系统上,但通过实时补丁和优先级调度隔离。配置时应把循环通信映射到高优先级任务,把日志、Web访问等放到低优先级,避免非实时流量挤占实时通道。
四、协议选择与配置要点
面对一个具体集成任务,可以按下面的顺序判断:先看对端设备支持什么协议,再看数据是循环I/O还是参数/诊断,最后看实时性要求。若对端是西门子IO设备,优先PROFINET;若对端是罗克韦尔PLC,优先EtherNet/IP;若对端是SCADA或MES,优先OPC UA;若对端是仪表或老旧设备,Modbus TCP往往是最省事的桥梁。
配置时几个容易出问题的点:一是IP地址规划,PLCnext的多个网口应处于不同子网,避免路由冲突;二是VLAN与优先级,PROFINET RT依赖VLAN优先级3,若经过管理型交换机需正确配置;三是防火墙,PLCnext的Linux侧可能启用防火墙规则,需放行502、4840、1883等端口;四是任务周期,循环通信的更新周期应与PLC任务周期匹配,避免"通信比任务快"造成无谓负载。
五、小结与判断依据
工业以太网通信基础可以概括为三句话:TCP保证可靠但延迟不确定,UDP延迟低但需应用层兜底,工业实时以太网在标准以太网上加实时通道以降低抖动。PLCnext的协议栈同时覆盖这三类能力,并通过多网口、可加载组件和任务优先级调度,让它们在同一控制器上共存。判断一个集成方案是否合理,关键看三点:协议是否匹配对端、实时数据是否走对了通道、非实时流量是否被隔离在低优先级任务中。