PROFINET RT 和 IRT 到底差在哪,什么时候不得不多花那笔钱
TL;DR
- RT 和 IRT 都走 EtherType 0x8892,都绕过 TCP/IP—— 差异不在"是否走二层",而在时间归谁管
- RT:靠 802.1Q 优先级(PCP=6)+ 存储转发,拿到的是优先通过权,不是固定时刻;抖动是统计量,随负载/拓扑漂移,典型几十 ~ 几百 µs
- IRT(Isochronous Real Time,等时实时):在 RT 之上加三件事 ——PTCP 全网时钟同步(<1 µs)、周期切分 IRT/开放时间片、交换机按时刻表 cut-through 转发
- IRT 的发送时钟最小 31.25 µs,周期 = 发送时钟 × 缩减比(如 31.25 µs × 32 = 1 ms),抖动 < 1 µs 且是设计值
- 必须专用 ASIC(ERTEC 200P / Anybus NP40 等)+ IRT 交换机 + 同步域组态,三者缺一不可
- 选型判据不是"精度高不高",而是轴间是否存在位置耦合;误差换算:误差 = 速度 × 抖动(1 m/s × 100 µs = 0.1 mm)
1. 先厘清概念:IRT 不是"异步实时"
中文资料里常见把 IRT 译作"异步实时",这是误译。
IRT = Isochronous Real Time = 等时实时。"等时"指周期等长、事件时刻固定 —— 它恰恰是 PROFINET 中同步性最强的一档,与"异步"含义相反。
三个通信通道的定位:
| 通道 | 帧类型 / 关键标识 | 典型周期 | 抖动 | 硬件要求 |
|---|---|---|---|---|
| 标准 TCP/IP | EtherType 0x0800,走完整协议栈 | 无周期 | 不保证 | 无 |
| RT | EtherType0x8892,VLAN PCP 6,二层直发 | 1–10 ms(可配 250 µs) | 几十 ~ 几百 µs | 普通以太网控制器 |
| IRT | EtherType 0x8892,RT_CLASS_3,时间片调度 | 31.25 µs ~ 4 ms | < 1 µs | 专用 ASIC + IRT 交换机 |
三者共存于同一根线:每个 IO 周期至少保留50%时间给 TCP/IP 通信。
2. RT 的机制边界:优先级 ≠ 确定性
RT 的关键设计是在二层直接收发:帧用 EtherType 0x8892 封装,不再经过 IP/TCP/UDP 的封装、确认、重传与拥塞控制。
但它没有改变交换机的行为:
帧到达端口 → 完整接收(store-and-forward) → 按 802.1Q PCP 分类入队(RT 帧通常 PCP=6) → 端口调度,从高优先级队列取出 → 发送因此 RT 提供的是优先转发(priority forwarding),不是计划转发(scheduled forwarding)。抖动来源包括:
- 端口上正在发送的长帧(帧长越大,阻塞时间越长)
- 队列中同优先级帧的数量
- 交换机级联层数(每跳都引入排队)
- 非实时流量突发(视频、大文件、备份)
工程含义:RT 的抖动只能测量、无法在组态里"设定"。写进方案里的"1 ms 周期",描述的是发送节拍,不是到达时刻的确定性。
抓包验证:RT 长什么样
交换机镜像口 + Wireshark:
eth.type == 0x8892 # 所有 PROFINET 实时/发现/同步帧 pn_rt # 只看周期 RT 帧 pn_dcp # 设备名/参数分配(DCP) vlan.priority == 6 # 实时帧的 802.1Q 优先级 eth.type == 0x0800 # 对照组:同一条线上的 TCP/IP观察要点:
pn_rt帧按设定周期等间隔出现,但帧间隔存在抖动(用frame.time_delta统计分布,看 P95/P99 而不是平均值)- 每个 RT 帧带 802.1Q 标签,PCP 为 6
- 同一条线上同时能看到 HTTP/OPC UA 等 TCP 流量 —— 这就是"双通道共存"
- IRT 网络里额外能看到PN-PTCP同步帧(Sync / Follow-Up),RT 网络里没有
3. IRT 的三层机制
3.1 时钟同步:PTCP
IRT 的前提是全网共享一个时钟基准。PROFINET 使用PTCP(Precision Transparent Clock Protocol),机制上对应 IEEE 1588 的透明时钟模型:
- 同步主站(sync master,通常是控制器)周期性发出 Sync / Follow-Up
- 每个支持 IRT 的交换机作为透明时钟,测量并累加本跳的驻留时间(residence time)
- 从站据此修正本地时钟,达到亚微秒 ~ 微秒级同步精度
没有同步就没有时间片。现场"同步丢失(sync lost)"类报警,八成出在这一步:拓扑与组态不一致、某台交换机不支持 IRT、或同步域配置漏了设备。
3.2 周期切分:IRT 时间片 + 开放时间片
一个 IRT 周期在时间轴上被切分为两段:
| 段 | 内容 | 调度方式 |
|---|---|---|
| IRT 时间片(计划区) | 同步域内设备的周期实时帧 | 组态时静态计算,运行时不抢 |
| 开放时间片 | RT 帧、TCP/IP、诊断、OPC UA、网页 | 常规优先级调度 |
时间片边界设备必须一致,这也是"同步域"这个概念的由来:域内设备不仅共享时钟,还共享同一张时间表。
3.3 转发:按时刻表 + cut-through
IRT 交换机不再"收到就转",而是按组态生成的调度表,在指定时刻从指定端口发出;配合cut-through,帧在接收过程中即开始转发,进一步压缩转发时延。
结果:抖动由设计保证(<1 µs),不随负载漂移。
3.4 发送时钟与缩减比
IRT 的周期不是随便填的,由两级参数决定:
发送时钟(Send Clock):31.25 / 62.5 / 125 / 250 / 500 µs / 1 ms ... 缩减比(Reduction Ratio):1, 2, 4, 8, ... 512 实际周期 = 发送时钟 × 缩减比 例:31.25 µs × 32 = 1 ms注意:缩减比调大 ≠ 抖动变大。这是 IRT 与 RT 最本质的区别之一 —— IRT 的抖动由调度精度决定,与周期长短基本解耦。
4. 组态侧:IRT 到底多做了什么
以常见工程工具(如 TIA Portal)为例,IRT 相比 RT 多出四步:
- 拓扑视图连线:把组态里的端口连接关系,按现场实际布线逐一连好(LLDP 邻居关系要与之一致)
- 建立同步域:指定同步主站,把需要等时同步的设备加入域
- 设定发送时钟与缩减比:与控制器周期、工艺节拍对齐
- 启用等时模式(Isochronous Mode):驱动器侧把电流环/位置环与总线周期对齐(运动控制场景必需)
对比 RT 的组态:分配设备名 → 组态模块 → 下载。IRT 的成本大头不在硬件,在这四步以及由此产生的调试工期。
常见报错与排查顺序
| 现象 | 优先排查 |
|---|---|
| 设备不同步 / sync lost | 拓扑视图与现场是否一致;交换机是否支持 IRT;同步域是否漏设备 |
| 周期性抖动大 | 是否误用了非 IRT 交换机;是否有设备跨了三层/无线 |
| 通讯偶发中断 | 时间片预算是否过紧;是否有非计划流量侵入 IRT 时间片 |
| 更换备件后不同步 | 新设备是否 IRT 型号;设备名与拓扑位置是否匹配 |
5. 抖动如何折算成工艺误差
位置误差 = 轴速度 × 抖动| 速度 | 抖动 100 µs | 抖动 1 µs |
|---|---|---|
| 0.1 m/s | 0.01 mm | 0.0001 mm |
| 1 m/s | 0.1 mm | 0.001 mm |
| 3 m/s | 0.3 mm | 0.003 mm |
对印刷套色、飞剪、涂胶、龙门同步这类工艺,0.1 mm 已经是肉眼与质检能分辨的量级。这就是"1 ms 周期 + 200 µs 抖动"的 RT 系统做不好多轴同步的定量原因 —— 不是周期不够短,是抖动太大。
6. 选型判断:五问 + 一张表
| # | 问题 | 判定 |
|---|---|---|
| 1 | 轴间有位置耦合(电子齿轮/凸轮/插补/龙门/飞剪)? | 是 → IRT |
| 2 | 同步误差要求 < 10 µs? | 是 → IRT |
| 3 | 周期要求 < 500 µs? | 是 → IRT |
| 4 | 需要等时模式(驱动器闭环与总线对齐)? | 是 → IRT |
| 5 | 单次废品损失 > IRT 差价? | 是 → 该花 |
| 场景 | 推荐 |
|---|---|
| 阀门、泵、风机、变频器启停 | RT |
| 远程 IO、传感器采集、阀岛 | RT |
| 多工位独立轴(无耦合) | RT |
| 包装机套色、飞剪、追剪 | IRT |
| 六轴插补、机器人联动、龙门同步 | IRT |
| 印刷机无轴传动 | IRT |
| 老线改造、预算敏感 | RT 先行,拓扑按 IRT 预留 |
拓扑预留建议:第一次规划就按 IRT 的拓扑要求布线(规整星型/线型、不跨路由、不走无线),设备先上 RT;将来升级只换交换机与从站接口,不动线缆。
7. 五个高频误区
- “IRT 是软件授权”—— 需专用 ASIC(硬件时间戳、调度、cut-through),普通网卡无法通过升级获得。看规格书关键词:
IRT、RT_CLASS_3、Conformance Class C。 - “IRT 更快”—— IRT 的价值是确定性。大量 IRT 项目跑 1–2 ms,与 RT 同周期,差别在抖动。
- “周期越短越好”—— 压缩周期会挤占开放通道、抬高 CPU 负载、增大队列压力;RT 场景下抖动可能反而恶化。
- “有 IRT 交换机就行”—— 需要从站支持 + 交换机支持 + 同步域/拓扑组态三件套。
- “IRT 可以跨三层/走无线”—— 时间片调度要求每跳可预测,跨路由、NAT、WLAN 都会破坏前提。
8. TSN 与 IRT 的关系
PROFINET over TSN(一致性等级 CC-D)用 IEEE 标准机制替代专有调度:
- 802.1AS—— 时钟同步(替代 PTCP 的角色)
- 802.1Qbv—— 时间感知整形(Time-Aware Shaper),实现时间片
- 802.1Qcc—— 流预留与配置
意义:确定性调度不再绑定某家 ASIC。但生态成熟度、认证体系、存量设备迁移仍需时间。当前工程实践的结论很朴素:新项目用 IRT 交付,架构上关注 CC-D 演进。
9. 总结
- RT 与 IRT 都走二层、都绕过 TCP/IP;分水岭是"时间片"
- RT = 优先级调度,抖动是统计量;IRT = 计划调度,抖动是设计值
- IRT 三件套:PTCP 同步 + 时间片切分 + 按表转发
- 成本结构:硬件差价 + 工程差价(拓扑/同步域/调试),后者常更贵
- 选型只看一条主线:轴间有无位置耦合
下一篇:《PROFINET 设备名丢了、名字重了,怎么按固定顺序恢复》—— 附 DCP 扫描、名称分配与拓扑校验的实操步骤。
作者从事工业通信协议方案多年,专栏持续更新 PROFINET / EtherCAT / EtherNet-IP / Modbus / CANopen 的原理与现场记录,欢迎关注。