2. PROFINET协议栈与通信模型

PROFINET并不是单一协议,而是一套运行在标准以太网之上的协议体系。理解它的关键,是先分清“哪些通信走标准TCP/IP、哪些通信绕过TCP/IP直接跑在以太网帧上”,以及“不同实时等级对时间抖动的要求差异”。这决定了产线选型时该用RT还是IRT,以及诊断、组态、拓扑发现分别依赖哪些协议。

一、协议栈分层:三条并行的通信路径

从下往上看,PROFINET的物理层与数据链路层就是标准以太网(100 Mbit/s全双工,百兆是当前主流;千兆用于高带宽场景)。在以太网之上,PROFINET分出了三条路径:

  • 非实时通道(NRT):基于TCP/IP或UDP/IP,承载组态下载、参数读写、SNMP网络管理、Web诊断等。TCP提供可靠连接,UDP用于对时延不敏感但要求轻量的场景。
  • 实时通道(RT):跳过TCP/IP,直接在以太网帧上使用 EtherType 0x8892 封装,配合VLAN优先级(PCP=6)实现优先级转发。周期通常为1 ms~10 ms,抖动在百微秒级。
  • 等时实时通道(IRT):在RT基础上增加时间同步与调度机制,周期可低至31.25 µs,抖动小于1 µs,用于运动控制。

此外还有几个“辅助协议”贯穿其中:DCP(发现与基本配置)用于给设备分配设备名和IP地址,是设备上线第一步;LLDP用于邻居发现,支撑拓扑识别与替换设备自动恢复;SNMP用于读取交换机端口状态、流量等管理信息。它们都跑在非实时通道上,但作用不可替代。

PROFINET 协议栈分层与三条通信路径 应用层 / 用户程序 IO 数据交换 · 参数读写 · 诊断报警 · 运动控制指令 · 网络管理 非实时 NRT TCP / UDP / IP DCP · LLDP · SNMP HTTP · SNTP 组态下载 / 诊断 / 拓扑 实时 RT EtherType 0x8892 VLAN PCP = 6 周期 1 ms ~ 10 ms 抖动 ~ 百 µs 级 等时实时 IRT 时间同步 + 调度 周期 31.25 µs ~ 1 ms 抖动 < 1 µs 运动控制 / 同步轴 标准以太网 数据链路层 / 物理层 100 Mbit/s 全双工 · 交换式网络 · 支持 VLAN 优先级 选型要点 • 普通 IO、变频器、阀岛 → RT 即可满足(1~10 ms 周期) • 多轴同步、电子凸轮、高速位置控制 → 必须 IRT + 支持 IRT 的交换机

二、RT与IRT的本质区别

RT的核心思想是“绕过协议栈的软件处理开销”。标准TCP/IP通信中,数据要经过socket层、TCP层、IP层逐层封装,再进入网卡驱动,这个过程在通用操作系统上耗时不确定,抖动可达毫秒级。RT则把周期数据直接交给网卡硬件发送,接收端也由硬件按帧类型过滤后直接写入IO缓冲区,CPU只在周期边界处理一次。因此RT的抖动可以控制在百微秒以内,足以满足绝大多数工厂自动化场景。

IRT进一步引入了两个机制:一是时间同步,所有IRT设备通过同步帧对齐到同一个时钟基准(精度可达纳秒级);二是时间片调度,把通信周期划分为“红色阶段”(IRT实时数据,独占带宽)和“绿色阶段”(RT和TCP/IP数据)。红色阶段内交换机按预设时间表转发,不排队、不冲突,因此抖动小于1 µs。代价是IRT要求整条链路(包括交换机)都支持IRT,且组态时必须精确规划时间片。

三、DCP、LLDP、SNMP的实际作用

DCP是设备上线的第一步。新设备出厂时没有设备名,只有MAC地址。工程师在组态软件中通过DCP扫描网络,看到MAC地址列表后,把规划好的设备名(如 “line1-io-01”)和IP地址写入设备。设备名是PROFINET寻址的核心——控制器通过设备名找到设备,而不是靠IP。更换故障设备时,只要新设备被赋予相同设备名,控制器就能自动恢复通信。

LLDP让每个设备周期性向邻居发送自己的身份信息(机箱、端口、设备名)。控制器收集这些信息后生成网络拓扑图。当某台设备故障时,控制器能根据拓扑判断故障位置;当设备被替换到不同端口时,LLDP也能帮助系统识别变化。LLDP是“拓扑诊断”和“设备替换”功能的基础。

SNMP主要用于管理交换机。通过SNMP可以读取交换机每个端口的连接状态、速率、错误计数、流量统计。在产线排障时,如果某个PROFINET设备频繁掉线,用SNMP查看对应交换机端口的CRC错误计数,往往能快速定位是网线问题还是端口问题。

四、产线选型依据

选型时先问三个问题:

  1. 通信周期要求是多少? 如果周期≥1 ms,RT足够;如果要求≤500 µs或需要多轴同步,必须IRT。
  2. 网络里有没有非PROFINET流量? 如果有视频、大文件传输等,IRT的时间片机制能保证实时数据不受干扰;纯RT网络则需要用VLAN和QoS做优先级隔离。
  3. 是否需要拓扑诊断和快速替换? 如果需要,所有设备必须支持LLDP,交换机需支持SNMP。

一个典型的产线示例:某包装线有12台变频器、8个远程IO站、2台伺服轴。变频器和IO站用RT,周期4 ms;伺服轴用IRT,周期500 µs。交换机选用支持IRT和SNMP的管理型交换机。设备名规划为 “pk-line1-vfd01” 到 “pk-line1-vfd12”、“pk-line1-io01” 到 “pk-line1-io08”、“pk-line1-servo01/02”。组态时先用DCP批量分配设备名,再下载硬件组态。调试阶段用SNMP监控交换机端口错误计数,用LLDP确认拓扑与规划一致。

提示:RT和IRT可以在同一网络中并存。IRT设备之间的红色阶段由支持IRT的交换机调度,RT设备和TCP/IP流量在绿色阶段传输。但要注意:IRT设备必须连接到支持IRT的交换机端口,且整个IRT域内的交换机都需要支持IRT。
注意:不要用普通办公交换机组建IRT网络。普通交换机不参与时间同步,也无法执行时间片调度,会导致IRT通信失败或抖动超标。RT网络可以使用普通交换机,但建议使用支持VLAN优先级的管理型交换机,以保证实时帧优先转发。

五、协议层次速查

协议所在层次主要用途实时性
TCP/IP传输/网络层组态下载、参数读写、Web诊断非实时
UDP/IP传输/网络层SNMP、SNTP对时、部分诊断非实时
DCP数据链路层设备发现、设备名/IP分配非实时
LLDP数据链路层邻居发现、拓扑识别非实时
SNMP应用层(UDP)交换机端口管理、流量统计非实时
RT数据链路层(0x8892)周期IO数据交换1~10 ms,抖动百µs
IRT数据链路层 + 时间同步运动控制、同步轴31.25 µs~1 ms,抖动<1 µs

理解这张表的关键在于:DCP、LLDP、SNMP虽然不直接传输IO数据,但它们是PROFINET网络可运维、可诊断、可替换的基础。一个只有RT通信、没有LLDP和SNMP的网络,一旦出故障,排查难度会大幅上升。因此在实际工程中,建议至少选用支持LLDP和SNMP的管理型交换机,即使当前只用RT。