![]()
50ms这个数字,在工业网络里几乎是一个不需要解释的常识,人人都在引用,但真正说得清楚它从哪来、为什么是这个数字、什么场景下50ms根本不够用的人并不多。
这篇文章就围绕这件事来说说。
一、从一个更基础的问题开始:网络中断多久会出问题
要理解50ms从哪来,先要理解工业控制系统对网络中断的容忍边界。
工业控制系统的核心逻辑是一个闭环:传感器采集现场数据,控制器(PLC/DCS)根据数据做运算,输出控制指令,驱动执行机构动作,然后再采集,再运算,循环往复。
这个闭环的周期,叫做控制周期或扫描周期。
网络中断意味着这个闭环断了——控制器收不到传感器数据,或者执行机构收不到控制指令。闭环断掉之后,系统会怎么反应,取决于控制器的设计:
- 保持最后一次输出不变(Hold Last Value)
- 输出安全值(Fail-Safe Value,通常是零或关闭状态)
- 触发报警并等待人工干预
无论哪种处理方式,都有一个时间窗口。在这个窗口内,网络恢复了,系统继续正常运行;超出这个窗口,要么设备动作出错,要么触发安全停机,要么造成生产损失。
50ms,就是从这个容忍窗口里推导出来的。
二、50ms的直接来源:以太网通信的看门狗超时
工业以太网设备(PLC、远程IO、驱动器)在通信层面通常有一个看门狗定时器。
这个定时器的逻辑很简单:如果在规定时间内没有收到通信报文,就认为通信链路已经断开,触发相应的安全处理。
看门狗超时时间的设置,通常是通信周期的3~5倍。
以PROFINET为例,RT通信的典型刷新周期是1~10ms。如果刷新周期设为10ms,看门狗超时通常设为3个周期,也就是30ms。如果设为5个周期,就是50ms。
这意味着:网络切换时间必须小于看门狗超时时间,否则设备会认为通信断开,触发安全处理。
如果你的看门狗超时设置是50ms,那么网络切换时间就必须小于50ms,留一点余量的话,通常要求小于50ms甚至小于20ms。
这就是50ms这个数字最直接的工程来源。
三、再往上追溯:为什么看门狗要设这么短
看门狗超时为什么不设成500ms、5秒?设长一点不是更宽松,更好维护吗?
这要从控制系统的响应时间要求说起。
不同的工业应用,对控制响应时间的要求差异极大:
![]()
过程控制的对象是温度、压力、流量,这些物理量变化缓慢,控制器即使几秒钟没收到新数据,依靠历史值和模型预测也能维持稳定,网络中断容忍度高。
而运动控制就完全不同了。一台伺服电机在高速运动中,1ms的控制周期意味着每个周期位置变化可能有几毫米。如果控制器50ms收不到位置反馈,电机可能已经偏离目标位置数厘米,轻则产品报废,重则机械碰撞。
所以运动控制场景下,看门狗必须设短,网络切换时间也必须相应地压缩。
四、50ms这个数字在哪些标准里出现过
50ms确实出现在多个工业标准和规范里,但含义和适用范围各有不同。
IEC 61784 / IEC 61158(工业通信网络标准族)
这是定义各类工业以太网协议(PROFINET、EtherNet/IP、EtherCAT等)的基础标准族。其中对实时性等级的划分,隐含了对网络恢复时间的要求,但没有直接写“50ms”这个数字,而是通过通信周期和看门狗机制间接约束束。
IEC 62439(工业通信网络高可用性)
这是最直接定义工业网络冗余切换时间的标准。IEC 62439系列定义了MRP、PRP、HSR等冗余协议,其中:
- MRP(介质冗余协议):标准定义的最大恢复时间是200ms(默认配置),但可以配置为Advanced模式,目标恢复时间小于30ms;
- PRP(并行冗余协议):双网并行发送,切换时间理论上为0ms(无缝切换);
- HSR(高可用无缝冗余):同PRP,理论切换时间0ms。
ERPS(G.8032,以太网环网保护切换)
ITU-T G.8032定义的以太网环网保护切换,目标恢复时间小于50ms。这是50ms这个数字在标准文本里出现最明确的地方之一。很多工业网络方案借用了这个指标。
PROFINET的实时性等级
PROFINET定义了三个实时性等级:
- NRT(非实时):基于TCP/IP,无时延保证
- RT(实时):周期通信,刷新周期1~512ms,看门狗机制保障
- IRT(同步实时):硬件时间槽,抖动μs,用于高精度同步
PROFINET RT的看门狗超时,结合典型刷新周期,自然推导出了50ms这个常见的切换时间要求。
五、50ms够不够用?不同场景的真实答案
知道了50ms从哪来,下一个问题是:50ms对你的应用够不够?
A.够用的场景:
普通输送线、包装机、分拣系统、楼宇自动化、过程控制——这些应用的控制周期通常在50ms以上,看门狗超时可以设到几百毫秒,50ms的网络切换完全满足需求,甚至有充裕的余量。
B.勉强够用的场景:
普通伺服定位、中等速度的机械手、AGV运动控制——控制周期在10~20ms范围,看门狗超时30~100ms,50ms的切换时间需要仔细评估,要考虑最坏情况下的切换发生在什么时刻、设备的安全处理逻辑是什么。
C.完全不够用的场景:
高精度多轴同步、CNC加工、高速机器人、半导体设备——控制周期在1~4ms,看门狗超时可能只有10~15ms。50ms的切换时间意味着设备一定会触发安全停机,这类场景根本不能依赖环网冗余切换,必须用PRP/HSR这类零切换时间的方案,或者有线+无线双路并行传输。
还有一类特殊场景需要单独说:功能安全。
功能安全系统(急停回路、安全光栅、防护门联锁)的响应时间要求由安全完整性等级(SIL)定义,和网络切换时间是两套独立的体系。功能安全的网络通常要求专用通道和冗余设计,50ms这个指标在这里根本不适用,需要按IEC 62061或ISO 13849单独计算。
六、切换时间是怎么被"用掉"的
很多工程师以为「切换时间」就是冗余协议完成切换的时间,其实不是。
从主链路断开,到流量从备链路恢复正常转发,中间经历的时间,是多个环节叠加的结果:
主链路断开
↓
故障检测时间
(链路层检测:1~10ms;协议层检测:1~3个Hello周期)
↓
冗余协议收敛时间
(ERPS拓扑变更通告、MRP环网重配置)
↓
交换机MAC地址表刷新时间
(旧的MAC表项指向断开的端口,需要刷新)
↓
上层协议恢复时间
(ARP刷新、TCP重传、应用层重连)
↓
业务流量恢复正常
故障检测时间往往是最被低估的一环。
链路层检测(物理信号丢失)非常快,通常1~3ms。但如果故障不是物理断线,而是单向通信(光纤收发方向之一故障)或者静默故障(帧转发错误但链路指示灯仍然亮着),链路层检测可能感知不到,需要等协议层的Hello超时,这个时间可能是几百毫秒。
MAC地址表刷新也是一个容易被忽略的时延来源。环网切换后,流量从新的路径走,但交换机的MAC地址表还记录着旧的出口端口。在MAC表刷新之前,流量会被转发到错误的端口,造成短暂的黑洞。正确配置拓扑变更通告(Topology Change Notification)可以加快MAC表刷新,但这需要交换机和协议的配合。
BFD(双向转发检测)可以把故障检测时间压到1ms以内,是目前最有效的快速检测手段。它通过高频发送检测报文(最快可以配置为每10ms一次),在链路层之上、路由协议之下做故障感知,一旦检测到对端不响应,立刻通知上层协议触发切换。
七、工业现场的一个真实案例
讲一个不带具体公司名字的典型案例。
某汽车零部件工厂,冲压产线,控制系统是某品牌的S7-1500 PLC + 远程IO,通信用PROFINET RT,刷新周期4ms,看门狗超时设置是5个周期,也就是20ms。
工厂的网络方案做了PROFINET MRP环网冗余,设备商承诺切换时间小于200ms(MRP默认配置)。
项目验收的时候,工程师做了切换测试,主链路断开,备链路接管,200ms内完成,验收通过。
上线三个月后,产线开始出现偶发的急停报警,每次都在夜班,频率不高,每周一两次。查日志,发现每次报警前有一个短暂的PROFINET通信中断记录,中断时长100~150ms。
问题找到了:MRP默认配置的200ms切换时间,超过了看门狗的20ms超时,每次切换都会触发看门狗,PLC进入安全模式,产线急停。
解决方案是把MRP配置切换到Advanced模式,把最大恢复时间压到30ms以内,同时把看门狗超时从20ms放宽到50ms(评估后确认不影响安全性)。调整之后,急停报警消失。
这个案例说明了一件事:切换时间的要求,必须和控制系统的看门狗超时对齐,而不是满足标准默认值就够了。
八、不同冗余方案的切换时间对比
![]()
PRP和HSR实现0ms切换的原理,是同时向两条独立路径发送相同的数据帧,接收端取先到达的帧,丢弃重复帧。代价是带宽消耗翻倍,网络基础设施成本更高,适合对可用性要求最严苛的场景,比如变电站自动化、核电控制系统。
九、选型时真正应该问的问题
下次做工业网络冗余方案选型,不要只问"切换时间是多少",要问这几个问题:
问题一:切换时间是怎么测出来的?
是物理断线测试,还是包含故障检测、MAC刷新的端到端测试?两者差距可能很大。
问题二:最坏情况下的切换时间是多少?
"最快切换时间"和"最坏情况切换时间"可能相差一倍以上。对于工业控制,应该按最坏情况设计,不能按最优情况设计。
问题三:你的控制系统看门狗超时设置是多少?
网络切换时间必须小于这个值,要留足余量,通常要求切换时间不超过看门狗超时的50%~70%。
问题四:故障检测用的是什么机制?
纯链路层检测还是协议层检测?有没有配BFD?不同检测机制的响应速度差距是数量级的。
问题五:有没有做过真实的故障切换测试?
方案设计阶段的切换时间计算,和现场实测可能有差距。切换时间是测出来的,不是算出来的。
总结
50ms这个数字,不是拍脑袋定的,也不是某个标准随意规定的。
它的来源是一条完整的推导链:
控制系统的物理特性(运动速度、惯性、安全边界)→ 控制周期的要求(多长时间必须完成一次闭环)→ 看门狗超时的设置(通信中断多久触发安全处理)→ 网络切换时间的上限(必须在看门狗超时之前完成恢复)。
50ms是这条链路在"中等实时性工业控制"场景下推导出的典型值。对于过程控制,500ms可能都够用;对于高精度运动控制,10ms可能都嫌长。
理解了这条推导链,你就能在面对具体项目的时候,不再照搬"小于50ms"这个数字,而是根据实际控制系统的参数,推导出这个项目真正需要的切换时间要求。这,才是正确使用这个数字的方式。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.