机载复杂系统综合诊断推理设计方法
2022-10-28刘亚兵刘海港
刘亚兵, 刘海港, 张 波, 王 冲
航空工业沈阳飞机设计研究所,辽宁 沈阳 110030)
随着现在科学技术的发展,特别是信息技术的迅速发展,航空、航天、通信、工业应用等各个领域的工程系统日趋复杂,大量复杂系统的复杂性、综合化、智能化程度不断提高。伴随着复杂系统的发展,其研制、生产尤其是维护和保障的成本越来越高[1-2]。同时,由于组成环节和影响因素的增加,发生故障和功能失效的概率逐渐加大。因此,复杂系统故障的诊断和维护逐渐成为人们关注的焦点[3-5]。基于对复杂系统的可靠性、安全性、经济性的考虑,以故障预测为核心的故障预测与健康管理(Prognostics and Health Management,PHM)策略获得越来越多的重视和应用[6-7]。PHM主要是通过先进的传感器采集信息,并借助各种算法和智能模型来监控、预测和管理系统的状态[8-9]。波音B787使用了综合系统健康管理(Integrated System Health Management,ISHM)有助于快速隔离故障件,减少返工时间。与B767相比,对未发现故障件(Not Fault Found,NFF)的移除率降低了约58%[10-11]。PHM技术在航空领域的工程应用面临着故障隔离率低、可信度低等问题。
本文主要介绍了3种工程项目常用的故障综合诊断推理方法。面向机载复杂系统对比分析了这3种方法的优缺点及面临的问题,并进行了综合诊断推理机的设计与开发。
1 综合诊断推理方法
1.1 基于测试性模型的故障综合诊断推理
测试性模型又称为多信号流图模型,可对每一个监测节点的信号流向以及每一组件影响的信号流向进行动态跟踪,同时可以利用系统结构模型对这些信号之间的依赖联系进行准确描述[12]。由于多信号流图模型同时具备了基于依赖模型故障诊断方法(系统功能、关系明确)与基于结构模型故障诊断方法(层级划分明确)的优势[13],因此适合规模较大、结构复杂的大型系统的故障诊断模型的建立。
基于多信号流图模型的测试性建模,以系统结构、功能和故障模式、影响与危害分析(Failure Mode Effects and Criticality Analysis,FMECA)为基础[14]。按照子系统关系划分交联模块;按照子系统功能划分外场可更换单元(Line Replaceable Unit,LRU)归属;按照LRU的设备实际输入、输出端口,结合功能和故障建模的需要,设置LRU信号端口;按照FMECA分析结果,结合系统工作模式和工作阶段,设置LRU故障模式和故障测试点,并根据系统工作原理,建立故障模式间的影响、传递关系。
以机载供电系统为例,故障模型自顶向下可分为分系统、子系统、LRU、故障模式4个层级。其中,分系统指飞机供电系统;子系统指交流电源系统、直流电源系统、配电系统;LRU为现场可更换单元,指飞机外场维护更换单元,例如交流发电机、交流控制装置、直流配电装置等;故障模式指LRU的故障类型。对于结构简单、部件较少的LRU,可按其主要功能部件建立故障模式,对于结构复杂、部件多、交联关系不易理清的LRU,按其对外主要功能建立故障模式。
1.2 基于专家系统的故障综合诊断推理
机载复杂系统故障诊断可采用基于CLIPS(C Language Integrated Production System)的故障诊断专家系统加以实现。专家系统程序的总体框图如图1所示。
图1 专家系统程序的总体框图
① 状态参量列表。它是在专家系统内部开辟的一段连续存储空间,用于存储状态监测点的参数信息,由外部系统程序负责实时刷新。
② 状态监测程序。该程序用于完成对状态参量列表中各状态监测点参量的数据处理,判断监测点状态是否发生变化,为事实更新提供依据;同时判断发生状态变化的事实所属子系统,为推理机选择子系统提供依据。
③ 事实更新控制。它用于根据状态监测程序的监测结果,将需要更新的事实信息更新到事实库。
④ 子系统选择控制。它用于根据状态监测程序的监测结果,控制推理机选择被更新事实所在的子系统。
⑤ 诊断结论输出接口单元。它用于接收推理机输出的诊断结论,经过格式转换后按照系统程序要求输出诊断结论。
⑥ 故障历史数据记录单元。它用于对系统运行过程中所得出的故障案例进行记录,包括诊断时刻、故障事实、诊断结论、故障子系统等信息,以二进制数据形式保存在文本中。
⑦ 控制命令输入接口和系统总体控制。控制命令输入接口单元接收系统程序控制命令,解析后由系统总体控制模块对状态监测程序及推理机发出相应控制操作。用于完成系统程序对专家系统组件的控制,主要包括5种操作,即启动诊断、执行周期诊断任务、执行突发事件诊断任务、停止周期诊断和系统复位。
⑧ 事实库。以事实结构的形式存放被诊断对象状态信息以及推理过程中产生的中间事实,供推理机调用。
⑨ 规则库。它用于存放应用于被诊断对象的诊断规则知识。规则库中的规则和事实库中的事实按照子系统形式管理。
⑩ 推理机。它用于对规则库中的诊断规则和事实库中的事实进行模式匹配,推理得出诊断结论;对推理过程进行执行控制、子系统间的切换、规则间的冲突消解和规则右部的执行。
专家系统推理机的核心算法采用Rete算法,提高了推理效率[14]。同时,存储不断循环中匹配过程的状态,并在循环中重新计算在事实表达中发生的变化、又反映到本次状态中的变化,避免大量不必要的计算,大幅提升了匹配速度。
图2展示了Rete算法是如何利用时间冗余性来提高推理效率的,其中阴影部分为改变的事实。
图2 采用Rete算法时的搜索和匹配
1.3 基于BP神经网络的故障综合诊断推理
基于BP神经网络的故障综合诊断推理故障模式识别过程包括故障信号获取、信号预处理、故障识别和诊断结果等基本环节。首先,提取最能反映系统状态的特征量,利用分类工具对故障的类别、位置和程度进行诊断;然后对诊断结果进行故障评估,从而为故障处理提供依据[15]。诊断过程分为两步:首先,基于一定数量的训练样本集对神经网络进行训练,得到期望的诊断网络;其次,根据当前诊断输入对系统进行诊断,诊断的过程即为利用神经网络进行前向计算的过程。在学习和诊断之前,需要对诊断原始数据和训练样本数据进行适当处理,包括预处理和特征选取/提取等,目的是为诊断网络提供合适的诊断输入和训练样本。
1.4 方法比较
本文介绍了3种常用的综合诊断推理方法,对3种方法进行分析:基于BP神经网络的故障综合诊断推理从训练样本中获取样本分布特征的统计规律,训练和诊断过程都是“黑箱”操作,克服了传统诊断推理方法中知识获取的瓶颈,应用面较广,但缺点是训练时间较长、过程不可见。基于专家系统的故障综合诊断推理得到了基于规则的推理,可以直观地得到规则。用户可以通过这些规则掌握问题本身的规律,但是由于机载复杂系统问题的多样性,规则获取难以实现,同时受训练样本集影响,训练样本不全面可能会导致获取规则的不全面,这是导致综合诊断不准确的直接原因。基于测试性模型的故障综合诊断推理以测试性模型为基础,将复杂系统内部多信号流关系进行了模型化设计,同时添加可靠性指标,实现分层诊断推理,将故障定位到分系统/子系统级LRU,适合规模较大、结构复杂的大型系统的故障诊断模型的建立。
测试性模型使用TEAMS-Designer或TesLab-Designer等工具,按照成员级、区域级进行建模,进行测试性分析,生成D矩阵,作为综合诊断推理机的输入信息。下面将对基于测试性模型的综合诊断推理机进行设计。
2 综合诊断推理机设计
2.1 测试性模型建立
机载复杂系统进行诊断推理之前,需要构建测试性模型。测试性模型是否准确、完善,与机上状态是否一致,直接影响到诊断推理结果的准确性。通过系统设计与测试性分析反复迭代的方式进行测试性设计,以降低对设计人员和工具的要求[16]。
参照“三段设计法”的基本设计流程[17-18],测试性建模、分析和改进工作流程如图3所示,主要步骤包括测试性信息收集、测试性要求分析与指标分配、建模设计、指标分析评估与测试性优化改进与验证等[19]。完成测试性模型的建立后,需导出D矩阵,为系统综合诊断推理提供依据。
图3 测试性建模开发流程
2.2 综合诊断推理算法开发
故障诊断推理算法的实现以测试性模型为基础,物理接口监测数据为输入条件,经过推理运算得出故障诊断结果。整体的故障诊断推理机算法结构如图4所示。它展示了整个推理机算法的过程,包括输入、推理和输出。其中以D矩阵为基础,输入数据经过故障诊断推理机算法推理运算得到Good、Bad、Suspect、Unknow共4种故障模式集合。
图4 故障诊断推理机算法结构图
推理机算法处理逻辑图如图5所示。其中,模型加载、解析和结果组包等接口通信功能的实现属于服务核心算法的外部结构,依据测试数据监测结果(正常或失效)对关联故障模式进行分析识别的推理过程是算法核心。
图5 推理机算法处理逻辑图
算法过程如下。
(1) 初始化集合。
设U=A,B=∅,S=∅,G=∅,F=∅。
(2) 处理测试正常项。
① 求通过的测试的并集,并计算正常模块的集合UtjpassedTsj。
② 计算正常模块与上次的差值,分别表示添加的和减少的ΔG=[UtjpassedTsj-G]+,此处仅表示增加的模块,不考虑减少的模块。
③ 更新由正常测试的变化导致的集合变化G=UtjpassedTsj∪G,S=S-ΔG,U=U-ΔG。
(3) 处理测试异常项。
① 定义3个异常测试集合:这次上报的异常测试集合Tk;与正常集合相冲突的故障模块相关的历史失效测试,即若δB=B∩G≠∅,令TB={tl|tl∉Tk,Tsl∩δB≠∅,tl保留值为失效,包含F之外的测试};历史已有但不冲突的失效测试集,即TJ={Tj|tj∉Tk,Tsl∩δB=∅,tj∈F,tj保留值为失效}。
② 更新未知和怀疑故障模式集合,即S=S∪{fk},U=U-{fk},其中tk∈Tk∪TB。
(4) 更新上次的测试子特征,更新失效模块组。
① 更新上次的测试子特征:F={fj}←{Tsj-G},此处tj∈TJ。
② 更新故障模块:若|fj|=1,则将其子特征设为故障。
2.3 算法应用实例
根据表1给出的测试性模型与表2中提供的测试结果数据,诊断出真正发生的是故障模式1,虽然根据测试异常数据可以发现故障模式2和故障模式3也可能发生故障,但根据通过的测试数据的故障模式相关性可以确定故障模式2~故障模式5都是正常状态,所以可以确定发生故障的即是故障模式1,再根据这个故障模式1查询与它关联的部件,就可定位当前发生的故障模式。表1为测试项模型D矩阵,表2为测试项输入和诊断结果显示。
表1 测试性模型D矩阵
表2 测试项数据输入和诊断结果
3 仿真验证分析
为方便仿真验证,进行如下假设。
① 故障可复现;
② 故障具有确定性,定义故障为1,正常为0。
以机电系统(包含供电分系统、燃油分系统、液压分系统、环控分系统等)为例,根据FMECA分析,建立测试性模型。模型测试点73个,故障模式498个。模型测试分析结果如表3所示,据此可生成D矩阵。
表3 模型测试分析结果
将测试性模型导出的D矩阵和开发的综合诊断推理机嵌入到仿真目标机中,上位机按照测试用例实现故障信息注入或使用真实机载飞行参数信息作为综合诊断推理机的输入信息。机载复杂系统综合诊断推理机仿真验证平台如图6所示[20]。
图6 机载复杂系统综合诊断推理机仿真验证平台
综合诊断推理机具备分层诊断推理能力,能够实现系统、分系统、子系统级的诊断推理,并将故障定位到LRU。综合诊断推理机在接收到上位机发送的参数信息时,首先剔除测试性模型中不相关数据,然后对参数数据按照系统、分系统、子系统进行分类标识。根据要诊断的目标系统对识别的参数数据和测试性模型进行匹配,实现综合诊断推理机的高效运行。
综合诊断推理机对识别的参数数据进行异常判断,根据异常判断规则转换为综合诊断推理算法能够识别的0和1代码。综合诊断推理机判断当前飞机飞行状态,诊断推理出所发生的故障模式、故障模式的名称、故障部件名称、所属的子系统及系统名称、故障代码、故障等级以及提示是否上报飞行员等。诊断推理结果包括Good、Bad、Suspect、Unknow共4种故障模式集合。根据FMECA分析表,依次完成故障注入1000次,故障综合诊断推理仿真结果如表4所示。
表4 故障综合诊断推理仿真结果
仿真验证结果表明,基于测试性模型的故障综合诊断推理能够实现机载复杂系统的故障诊断推理。将故障隔离定位到LRU的概率为84.2%,故障检测率为95.1%,略低于模型测试分析结果中故障隔离率88.78%、故障检测率95.38%的指标。原因为综合诊断推理机在故障诊断推理过程中,算法对D矩阵的处理存在一定误差,综合诊断推理机有待进一步优化。
同时,优化和增加测试性模型测试点能够进一步提升综合诊断推理仿真结果的故障隔离率等指标。
4 结束语
本文介绍了3种综合诊断推理方法,并对3种方法进行了对比分析。基于BP神经网络的故障综合诊断推理,克服了传统诊断推理方法知识获取的瓶颈,应用面较广,但训练时间较长、过程不可见;基于专家系统的故障综合诊断推理可以直观地得到规则,但是由于复杂系统问题的多样性,规则获取难以实现;基于测试性模型的故障综合诊断推理以测试性模型为基础,将复杂系统内部多信号流关系进行模型化设计,实现分层诊断推理,特别适合规模较大、结构复杂的机载系统。本文重点对基于测试性模型的综合诊断推理方法进行了设计,开发了综合诊断推理机。仿真验证结果表明,基于测试性模型的故障综合诊断推理方法具有一定的实际工程应用价值。