一种基于PLC 的冗余控制系统故障诊断方法
2021-07-26朱煌庆
朱煌庆
(第七一五研究所,杭州,310023)
在对可靠性要求较高的控制系统中,经常需要引入冗余和故障诊断技术。冗余控制系统的关键是冗余和故障诊断方法。现代工业的各个行业中,都使用PLC 控制器作为冗余控制系统的核心。冗余控制的方式在工控领域根据产品的不同和客户需求的不同,采用的方式也不尽相同。一般分为硬冗余(采用特殊的硬件模块或PLC 固化的程序来实现)和软冗余(即采用软件编程方式来实现)[1-2]。两者优点是比较通用且价格比较便宜,缺点是未综合足够多的信息,不能对故障信息准确的定位。
本文控制系统的冗余包括CPU 冗余、输入通道冗余、输出通道冗余和通信通道冗余。故障诊断包括CPU 故障诊断、输入通道故障诊断、输出通道故障诊断和通信通道故障诊断。冗余和故障诊断程序存储在CPU 模块专用区域,独立于运动逻辑控制程序。CPU 模块诊断输入、输出、通信通道故障的准确性越高、速度越快,对故障的处理越及时,则对系统整体性能的影响就越小。本文提出的故障诊断方法综合了多个方面的判断条件,对冗余控制系统故障状态实现了较为及时、准确地定位和处理。
1 系统设计组成
本文介绍的冗余控制系统以可配置的冗余控制器(下文简称控制器)为核心,系统包括主从两套控制器、冗余接口模块、人机界面、主从两套交换机。每套控制器内部由CPU 模块、输入/输出模块、通信模块等组成。CPU 模块通过专用电路底板与各模块通信,通过输出模块将控制指令传送给执行器,通过输入模块采集外部传感器信息,通过通信模块和主从交换机连接到外部状态参数监控系统。系统硬件设计组成如图1 所示。
图1 冗余控制系统组成
控制系统冗余和故障诊断功能通过软件编程实现,预先根据系统运动时的动作关系,制定模块运行时冗余切换策略和故障诊断策略,配置输入和输出模块通道逻辑关系,并存储在CPU 模块专用区域内,在控制器运行阶段自动实现3 种诊断策略和1 种管理策略。
(1)基于冗余输入通道状态差异和时间统计的故障诊断策略
CPU 模块实时接收两套冗余输入通道的参数并根据预先制定的策略对参数进行对比和诊断。
(2)基于通道关联关系的输入和输出通道诊断策略
CPU 模块实时监测预先设定的输入和输出通道的关联变动规则,当输入输出通道实际变动状态违背了预先设定的规则,系统自动发出报警信息,并结合其他诊断策略获得诊断处理结果。
(3)基于输出反馈监视的输出通道诊断策略
CPU 模块对两套冗余输出通道的状态进行监测,对通道的输出状态和实际反馈状态进行比较。当检测到两种状态不一致时,诊断所监视的通道为“故障”通道。
(4)冗余通道的自适应管理策略
两套冗余CPU 模块通过光纤总线接口连接,设置基于故障诊断策略1~3 的自适应管理策略,并存储在CPU 专用区域。当控制器任何一个通道发生故障时,冗余通道自动替换故障通道,保证系统状态正常。
2 系统实现及验证
2.1 系统实现
图2 给出基于冗余输入通道状态差异和时间统计的故障诊断策略,实现步骤如下:
图2 输入通道故障策略诊断
(1)如果两组输入通道的状态一致且通道状态为“正常”,则在本策略下判断结果为:两组输入通道均“正常”;
(2)如果两组输入通道的状态不一致且刚开始出现,则记录差异初始时刻时间,并将累计差异时间设置为1,两组通道对应的诊断状态设置为“待定”状态;
(3)如果两组输入通道的状态持续出现不一致,累计的差异时间持续增加,则将两组通道的诊断状态设置为“待定”状态;
(4)如果某对应通道的累计差异时间超过设定值,则将最近时间内产生状态变化的通道确认为正常通道,并将另一通道设置为“故障”通道;
(5)如果在累计的差异时间内,两组通道测量值一致,并持续设定时间则两组通道状态均调整为“正常”状态。
图3 给出了基于通道关联关系的输入和输出通道诊断策略,主要包括如下步骤:
图3 通道诊断策略
(1)控制器启动后,诊断程序读入系统的通道关联配置,然后周期性地执行步骤2~4。
(2)计算通道在设定ΔT时间(用户可配置)内是否变动,用0 表示为未变化,1 表示变化;
(3)根据通道配置表逐条检查动作变化关系;
(4)如果出现和通道配置表变化关系不一致的情况,则上报该关联通道给自适应管理策略单元。
图4 给出了冗余通道的自适应管理策略。系统周期性地获取通道相关信息,采用概率推理方式确定故障,如果是内部故障则自动屏蔽故障通道的工作,并由冗余通道自动替换故障通道实现输出控制和信号反馈的功能;如果确认为外部故障则向运动逻辑控制程序发出报警信息。概率推理方式根据上文所述的故障诊断策略规则编写综合诊断程序。
图4 自适应管理策略
图5 描述了自适应冗余通信网络工作机制,系统中冗余配置的控制器(1、2)均通过总线和上层状态参数监控系统3 连接。通信连接在物理上独立,两个控制器之间通过内部高速总线4 连接。在工作过程中,每个控制器均设置内部的上行数据缓冲单元(5,7)和下行数据缓冲单元(6,8),同时内部设置有冗余的通信缓冲单元(9,10)。
图5 冗余通信网络
每个控制器物理层实时对本控制器所连接的物理链路进行诊断,同时实时监测另一个控制器的通信连接状态,当冗余数据不一致或某个控制器监测到其通信链路故障时则进行总线的应急传输机制。当两个控制器接收到的下行数据不一致时,系统自动判断以最近产生变化的数据为有效的下行数据,同时利用正常的通信通道接收和发送数据。例如在图5 中,主控制器1 下行通道故障,从控制器2 上行数据通道故障,则主控制器1 从控制器2的冗余通信缓冲单元获取下行数据,同时从控制器2 通过主控制1 的上行通道发送数据到上层状态参数监控系统。
2.2 系统验证
控制系统上电自检状态正常后,根据任务执行相应的工况,控制器计算出系统运行时的控制量,主从冗余输出模块各输出一半控制量。现场模拟其中一个控制器或输出模块发生断电故障,从图6 示波器可以看到,故障发生后,输出控制量下降,但在80 ms 时间内,故障诊断和冗余程序按预先设定机制完成正常模块替代故障模块输出全部控制量。
图6 冗余模块自动切换响应时间
3 结束语
本文以可配置的冗余控制器、冗余输入输出通道模块等为研究对象,提出了3 种故障诊断策略和1 种管理策略,并根据该策略原理编写故障诊断和冗余程序。在工程实践中,控制器运行阶段能自动诊断系统故障,发生故障时冗余通道自动切换。本文在理论和实践上为基于PLC 的冗余控制系统提供了设计参考。