刘斌斌,胡建旺
(军械工程学院,河北 石家庄 050003)
指挥控制系统(communication,command,control and intelligence systems,C3I system)是军队指挥自动化系统的核心,随着科学技术的发展,指控系统的信息化程度不断提高,其性能及结构也更加完善和复杂,任何一个元器件的故障都可能导致系统部分功能失效或整个系统失灵,使得指挥控制系统的故障诊断成为一项复杂、困难的工作。目前研究的故障诊断中的单一诊断技术已无法满足指控系统的测试诊断需求[1]。结合智能诊断的理论,设计一种以故障诊断专家系统为基础、以二叉树为推理机制的测试软件并进行验证。
故障树分析法是一种将系统故障形成原因按树枝逐步细化的图形演绎方法,以系统最不希望发生的故障状态作为故障树的顶事件,然后寻找导致顶事件发生的直接原因,再由上而下逐级分解,一直分解到不能分解为止。这样,就可以检测出系统内可能发生的硬件失效、软件差错、环境影响等方面的原因导致系统故障的逻辑关系,把所有事件结合起来形成完整的故障树[2]。二叉树是故障树中一种特殊的树形结构,其由结点的有限集合构成,这个有限集合或者为空,或者是由一个根结点及两颗互不相交的分别称之为右子树和左子树的二叉树组成[3]。
专家系统的诊断方法不依赖于系统的数学模型,而是根据人们长期的实践经验和大量的故障信息知识设计出的一套智能计算机程序,以此来解决复杂系统的故障诊断问题[4]。专家系统一般由人机接口模块、知识库和数据库管理模块、诊断推理模块、诊断信息获取模块、解释机构模块和知识获取及学习模块等6个主要功能模块组成,其结构如图1所示。
图1 故障诊断专家系统结构图
人机接口模块是整个系统的控制与协调机构;知识库和数据库管理模块的功能是对诊断必需的知识和数据进行建立、增加、删除、修改、检查等操作;诊断推理模块是诊断系统的核心,负责运用诊断信息和相关知识完成诊断任务;诊断信息获取模块通过主、被动和交互等方式获取有价值的诊断信息;解释机构模块的任务是向用户提供诊断咨询及诊断推理过程的中间结果,帮助用户了解诊断对象及诊断过程;知识获取和机器学习模块用于完善系统的知识库,以提高系统的诊断能力[5-6]。
基于故障树技术的故障诊断专家系统的优点:
(1)逻辑性强,不易遗漏故障原因,从故障树顶事件开始,经过逻辑严密的分析,凡能够引起该故障的原因都能找到,并针对该原因提供相应的专家意见。
(2)引起故障的原因一目了然,引起故障的各个因素都可以从故障树上获得,可避免检测故障时的盲目性,提高诊断效率[7]。
(3)利用关系数据库的特点,可以快速地浏览及修改知识库;将知识存储在关系数据库中,可以实现知识库、推理机和应用程序的分离,有助于维护整个专家系统[8]。
经过对指控系统故障的整理分析,可以得出指控系统中每种故障现象存在至少一种一级故障原因与之相对应,而且每种一级原因又可能存在二级、三级原因,直至定位到单元板上的某个器件,基本符合数据结构中树的基本要素和特点[9]。所以在本系统中采用了故障树这种数据结构的表现形式来完成专家系统中推理机的构建。针对现有诊断任务的特点,本文采用二叉树的分析方法将诊断流程二叉树化,设计二叉树模式诊断推理机制,从而实现诊断任务的高效完成。
二叉树是一种重要的树形结构,其特点是每个节点最多有两个子树,它允许树中结点的快速排序和用二分法快速找到树中的最近节点,并且结构简单。结合指控装备的故障特点和二叉树的自身特性,将指控设备的故障诊断分解为多个相对独立的二叉树:将故障的顶现象作为二叉树的根结点,故障中间现象和中间原因作为子结点,底原因作为叶子结点,用二叉树的左子树表示某故障现象或原因的下一级故障中间原因或底原因,对应右子树表示同级的故障中间原因或底原因[10]。以频率合成器的故障为例,其二叉树结构如图2所示。
由频率合成器诊断二叉树流程可看出,基于二叉树的诊断流程使得所有的故障的测试诊断流程都可以存储于同一棵二叉树中,从而简化了诊断过程,同时可以反映各级故障现象原因之间的联系。
图2 频率合成器诊断二叉树流程
诊断推理机构是整个系统的核心,它利用计算机程序控制、协调整个专家系统的工作,并根据当前的输入数据或信息,利用知识库中的知识按一定的推理策略去处理解决当前存在的问题[11]。基于前面建立的二叉树诊断流程模型,将二叉树引入故障诊断推理机中,采用基于产生式规则和人机交互反馈结果的混合式模型,结合二叉树诊断流程模型、测试数据和用户经验逐步查找故障原因,若当前测试点的测试结果符合该点的正常范围,则进行“是”跳转继续查找故障原因,否则进行“否”跳转,最终得到故障原因。
基于故障树模型的专家诊断系统以二叉树作为推理机制,具有高效的人机交换界面的自动测试软件,其结构框图如图3所示。测试诊断程序根据用户的诊断指令,读取、解析信号描述文档中的测试诊断用信号,同时通过函数调用二叉树诊断推理模型,可通过自动或人机交互完成设备的诊断,得到诊断结果。为了方便用户的使用,开发了“被测对象信号描述及适配器描述工具”和“测试诊断流程输入工具”,用户可通过这两种工具方便地配置诊断用信号和建立二叉树诊断流程模型。
图3 系统故障诊断结构图
XML是一种标记语言,具有格式简单、可扩展性、可移植性和自描述性等特点。XML具有DTD和Schema两种机制对所建立的文档进行建模和验证,对信息的结构化描述具有良好格式,数据处理便捷,具有完善的解码方式和面向对象的特性,同时支持作为数据源可以被其他应用程序访问和处理,具备完善的技术体系且标准开放,可以方便地确保数据的一致性、完整性和可靠性,简化测试系统内部以及测试系统之间数据交换的工作,并能与现存的系统和标准很好地兼容。因此在系统开发中,采用XML Schema机制完成对被测对象信号和故障树的描述,从而为系统的可移植性打下基础。
因为LabWindows/CVI开发工具支持对组件的使用,并提供了对ActiveX控件的支持能力,可以在LabWindows/CVI开发环境中使用标准的ActiveX控件;另外,对XML文件解析也提供了cvixml.fp辅助工具包,所以本文选用LabWindows/CVI作为测试诊断软件及两种工具的开发环境。
传统的测试诊断软件在开发过程中将测试诊断用信号参数和结果固化在测试诊断程序中,当测试诊断对象发生改变时,需要对测试诊断程序进行大量的修改,降低了软件的开发效率。因此,采用基于数据库的开发模型,开发被测对象信号描述及适配器描述工具,建立信号配置数据库,使得诊断数据和诊断流程能够分离,可以很好地解决软件通用性、可扩展性的问题。
被测对象信号描述及适配器描述工具辅助装备工程师根据被测装备的测试信息,完成被测对象信号描述;根据适配器硬件电路设计,完成适配器信号的转接、信号调理及控制信号信息的描述,并生成相应的XML描述文档。这将有助于帮助装备工程师进行测试流程文档的规范编写、检查适配器内信号转接、信号调理及控制信号设计是否正确、完成测试程序的编程。配置界面如图4所示。
图4 被测对象信号描述配置界面
测试流程输入工具的主要内容是装备工程师对测试流程的详尽描述,根据输入工具的指定格式描述测试流程信息的过程即完成建立XML文档的过程。测试流程输入工具主要基于测试流程描述,以辅助装备工程师完成,根据被测装备的测试过程信息,完成具体测试流程描述,并生成相应的XML描述文档,供测试诊断程序调用。
输入工具配置主面板主要包括流程属性、节点属性、激励信号、响应信号、是跳转属性和否跳转属性等6项设置子面板。通过配置各子面板的信息,完成故障树诊断流程的录入工作,最后将诊断流程保存为XML格式的文件。当测试程序需要调用诊断流程时,通过测试程序中的相关函数选择需要调用的诊断流程并进行解析。
在故障诊断中有时待测试点在电路内部,程序不能进行检测,这就需要进行人为地检测。为了更好地进行人际交互,在测试诊断流程输入工具中,每个诊断点都会有提示图片和提示信息,指示测试人员需要进行的测试点和测试中的注意事项。
以通信指挥系统中的频率合成器电路板故障诊断为例,验证本系统的可行性,说明系统故障诊断的实现过程。
运行测试程序对频率合成器进行测试,假设检测出该电路板发生故障,进而转入基于二叉树的故障诊断流程,在对频率合成器进行分析的基础上,运用测试流程输入工具建立故障诊断二叉树。通过分析可以建立如图2所示的故障树诊断流程。
对频率合成器的诊断信号需求如下:
(1)激励信号
直流工作电压:-2.7V、5V、-10V、12V;
模拟激励信号:1.5V、1 kHz的正弦波。
(2)响应信号
G1晶振输出3.2MHz射频信号;
R38靠近FPGA端输出16kHz TTL方波信号;
R39靠近FPGA端输出25kHz TTL方波信号;
D5中 3、6、10脚的电压分别为:0V、5V、5V;
D5中 4、5、11脚的电压分别为:0V、15V、0V。
按照上述的诊断信号需求,通过被测对象信号描述工具对所需信号进行配置,在配置好诊断信号信息后,即可进行装备的测试诊断。运行测试程序,在测试装备种类、型号、适配器目录下选择测试项目“频率合成器”,从而进入程序界面,即可进行测试诊断工作,选择从第一步开始进行单步或自动测试诊断,系统会按照预定的测试流程单步或自动进行故障诊断,直至定位故障点“FPGA故障”,如图5所示。
本文从推理机制的研究出发,基于故障树和专家系统的理论和方法,对指控系统的诊断专家系统推理机进行了分级,将故障树分析法引入到推理机制中,形成了基于故障树的专家系统故障诊断模型,并在CVI环境下设计两种通用性的工具。利用该故障诊断系统模型可以及时、准确地对指控装备中各种故障状态做出诊断,并定位到可更换的元器件,提高了指控系统的诊断效率,从而也提高指控装备的保障能力,满足现代化高技术战争的需要。
图5 频率合成器诊断结果
[1]蔡宗平,汤正平,王跃钢,等.控制系统故障诊断浅析[J].电光与控制,2007,14(4):19-22.
[2]曲朝阳,高宇峰,聂欣.基于决策树的网络故障诊断专家系统模型[J].计算机工程,2008,23(22):215-217.
[3]朱大奇.电子设备故障诊断原理与实践[M].北京:电子工业出版社,2004:52-67.
[4]谭勇,王伟.智能故障诊断技术及发展[J].飞航导弹,2009(7):35-38.
[5]Angeli C.Online expert systems for fault diagnosis in technical processes[J].Expert Systems,2008(3):115-132.
[6]吴明强,李霁红,曹爱东,等.故障诊断专家系统综合智能推理技术研究[J].计算机测量与控制,2004,12(10):932-934.
[7]郑雷雷,宋丽华,郭锐,等.故障树分析法在信息安全风险评估中的应用[J].计算机科学,2011,10(38):106-108.
[8]倪绍徐,张裕芳,易宏,等.基于故障树的智能故障诊断方法[J].上海交通大学学报,2008,42(8):1372-1375.
[9]朱向明,周凤岐,王继红.数据挖掘故障诊断专家系统[J].火力与指挥控制,2011,36(9):190-194.
[10]许丽婷.智能故障诊断专家系统体系结构的研究[D].西安:西安建筑科技大学,2006.
[11]高伟伟.基于故障树技术的远程故障诊断专家系统的研究[D].西安:西北工业大学,2007.