PLC 低频数据传输可靠性设计
2022-04-28纪建光
纪建光
(洁创贸易(上海)有限公司,上海 201107)
0 引言
可编程逻辑控制器(Programmable Logic Controller,PLC)作为可靠的控制中枢,被广泛地应用在各大设备系统中。PLC 与各个传感器之间的数据交互决定指令执行,因此数据传输的可靠性至关重要。
本文案例源于一起客户实例:一浓度监控系统偶发通信故障而没有被及时关注,造成大批产品存在不良风险。由于该产品不能通过无损检测判定好坏,客户损失巨大。技术团队应客户要求进行系统的可靠性改良设计。
1 可靠性缺陷分析
故障根源最终被确定为:传感器端金属碎屑掉入以太网口,引起不同触点之间的短路,故而发生通信故障。硬件故障是难以彻底避免的,系统可靠性不仅要着眼于降低故障发生率,也要考虑故障发生后如何减少损失。
1.1 单一长链路通信风险
原系统数据传输建立在威纶HMI 的背景资料传输功能上,链路结构如图1 所示,没有采用仪表到PLC 直连的模拟通信方式。一方面是考虑到数字通信的精度比模拟传输高,不存在数模转换损失;另一方面是为了节省PLC 模拟采集模块的硬件支出。可以看出,该方案同时依赖Modbus TCP 通信和RS-422 通信,通信链路过长是其风险点之一。此次故障源头即为Modbus TCP 通信链路起点。
图1 原系统数据采集链路
1.2 数据有效性检验不足
PLC 以固定频率到指定寄存器读取数据,但并不对数据进行有效性甄别。原程序指定寄存器为掉电保持型,异常发生后的数个工作日内,该寄存器保存的数据始终为故障发生前的最后一个数据。该数据符合正常区间,因而没有触发PLC 端报警。从这一点看,有必要将该寄存器设置到非掉电保持区,并进行一定频率的刷新检验。
1.3 硬件自带故障信息的警示性不足
触摸屏侦测到通信异常后,弹窗提示“PLC no response”,但没有被及时关注。一方面是因为设置了屏保;另一方面,系统自带的提示信息为英文显示,作业者不能马上关联到是哪一段出了问题。弹窗信息被操作者确认后消失,即便报警源仍然存在。从这些教训来看,将触摸屏内部报警源显性化,让作业者及时关注到告警信息,是减小风险损失的有效途径。
1.4 缺乏精确追溯的日志信息
问题产品的追溯是本案事故处理的难点,原因是该事件没有被注册到事件登录,即没有进入报警日志。
通常,报警日志记录事件的发生时间,但不会记录事件的结束时间。这对于事件发生的时长判定会造成困难。
2 可靠性改良设计
围绕故障发生后有报警、不停工(替代方案切换)、可精确追溯的原则,可靠性设计从两方面着手:一方面是通过技术冗余来增加系统可正常运行的宽裕度;另一方面是一旦故障发生,尽可能为善后处理提供支持。
2.1 冗余方案的设计
冗余技术是工控系统普遍采用的方式。冗余包括硬件冗余和软件冗余[1]。硬件冗余主要是指增加同等功能的部件作为备用,软件冗余是通过软件程序实现主备系统的数据同步和切换[2]。软、硬件冗余都会增加系统支出和工作负荷,设计的时候需要考虑成本效用比。
2.1.1 硬件冗余的选择和构建
根据既有的硬件平台,搭建一条从传感器到PLC 直连的模拟通道,是最具性价比的方案,所需的硬件开支仅为一个PLC 模拟输入模块FX3U-4AP-ADP,如图2 所示。传感器到PLC 的距离超过25 m,考虑到工厂复杂的电气环境,采用屏蔽线连接,输入模式切换到4~20 mA[3]。
图2 改良后的数据采集链路
2.1.2 冗余数据分析及决策
通过上述硬件冗余,PLC 同时得到两路独立通道的数据。这时需要协调处理3 个问题。
(1)如何甄别通道各自的数据是正常的。这里包括两个层次:其一,数据通信是否还在运行,即是否存在数据刷新呆滞;其二,满足刷新频率的数据在多大程度上有精度损失,即数据失真是否可接受。
在整个系统中,被测量的参数是动态变化的,PLC 采集到的数据也随着变化。数据分辨率越高,其末尾波动越大。浓度数据以双精度浮点数表示,精确到小数点后面6 位。操作中发现,小数点后面第二位就会在相邻扫描周期内发生变化。因此,在一定扫描周期数内,可以以同一通道的数据是否发生变化作为该通道数据是否正常刷新的判据[4]。
两个通道传递的是同一个数据源,但在同一个扫描周期内采集的数据可能是不同的。至少有两个原因会造成这种差异:其一,Modbus TCP 和RS-422 属于数字通信方式,不存在精度损失的问题[5],而模拟通道的数模转换精度损失不可避免[6];其二,由于采样频率不同,同一扫描周期内得到的两个通道的数据可能来自于不同的瞬间时点[7]。比较同一扫描周期内的两个数据,将其差值限定在一定的范围内,一旦超过该范围,即可认定至少有一个通道可能存在问题。
(2)在两种模式都正常的情况下,应该选择哪一个通道的数据作为PLC 运行决策的条件。从采样周期来看,模拟量通道的采样率要高于数字通信通道[8](一般PLC 的扫描周期在100 ms 以内,而本案的数字通道传输周期设定为1 s),即模拟量数据更具及时性。但是浓度数据本身是一个缓变量,1 Hz 的采样率足以应对实际变化,且数字通信不存在精度损失问题,在通信都正常的情况下宜优先采用数字通道所得数据。
(3)当一个通道发生异常时,如何做通道切换决策。遵循有效性优先、兼顾准确性的原则,通道切换的决策流程如图3 所示。
图3 通道决策流程图
2.1.3 参数优化
数据有效性分析过程涉及两个参数的设定,即:
(1)在判定数据刷新有效时,同一通道的数据在多少个相邻扫描周期内未见变化才被认定为刷新失效;
(2)在同一个PLC 扫描周期内,两路通信所得数据允许存在多大的差异。
上面两个容许区间,若定义太小会引起频繁报警,若定义太大会降低故障侦测的敏感度,因此需要通过一定的数据收集来定义合理的区间范围。在24 小时内抽样了144 个数据,通过统计软件分析,得到模拟量有效刷新所需的扫描周期数,结果如图4 所示。
图4 模拟通道有效刷新周期数统计
控制限按照“μ+3σ”计算取整得5。用同样的方法可推算出数字量有效刷新周期数界限为5;同周期内两通道读数合理差异界限为0.35。上述参数基于有限的观测值得出,需要根据后续应用情况进行适当调整。
2.2 内部报警源的显性化
冗余方案提高了系统的容错性,倘若故障依旧无法避免,应尽快通过醒目的报警提示作业者,尽早排除隐患,减少风险产品。
报警源可分为外部报警源和内部报警源。外部报警源通常来自传感器信号,如温度过高,压力过大,电流过载等[9],这些都不容易被设计者忽略。然而,PLC 和触摸屏本身也可能发生故障,这些内部报警通常会被认为是小概率事件因而缺少关注。诚然,这些故障也会有提示,比如PLC 的“error”指示灯,触摸屏的弹窗提示等,但仅有视觉提示,并不容易被操作者发现。现代工厂作业人员少,而PLC通常被安装在密闭的电气柜里面,触摸屏长期工作时会被设计成屏保状态。将这些报警源通过PLC程序锁定,并显性化到设备报警灯塔和蜂鸣器[10],从而吸引作业人员注意,是十分必要的。
编程手册会提供这些状态位的地址清单。根据经验和系统需要,本案将如下状态位列入PLC 扫描范围,并适时关联报警灯塔及蜂鸣器。内部报警源扫描清单如表1 所示。
表1 内部报警源扫描清单
2.3 风险产品追溯
故障发生后的产品通常需要被分拣出来,并通过额外的质量评价手段来确定是否可以交付。精确追溯风险产品是降低故障成本的有效方法。在扫码技术广泛应用的今天,只要确定故障发生时间范围,即可确定风险产品范围。
不同于以“高低电平切换”为依据生成单条日志,改良系统同时扫描状态位上升沿和下降沿,成对生成日志记录,如图5 所示。这样,不仅可以记录故障发生时间,还可以计算故障存续时长,故障存续区间即为需要管控的风险区间。
图5 注册事件日志记录
报警或者停机可以及时提示人为介入,而日志记录仍然是必要的,它可以帮助管理者和客户更有效地管控工艺,避免作业者的道德风险。
3 结语
上述改良方案在北京威讯联合半导体有限公司进行了实测。评估期内的两次异常都被及时关注并解除,通过日志记录迅速锁定了风险产品范围。
上述可靠性改良方案对缓变量的低频数据采集有参考意义,比如浓度、温度、湿度等采样率不超过1 Hz 的数据传输应用。方案涉及了大量比较、容错、选择运算,对于高频数据采集系统如DCS(Data Collect System)可能存在资源消耗过多的问题。在这种情况下,进一步对方案进行简化梳理是必要的,以求得可靠性和效率的平衡,这是个值得进一步讨论的话题。