专家系统是一种用来对人类专家的问题求解能力建模的计算机程序。它是一个智能程序系统,内部含有大量的某个领域专家水平的知识和经验,能够利用这些知识和方法来处理该领域的问题。随着计算机技术的发展,专家系统(Expert System)已广泛应用于各种故障检测领域。由于它所具有的启发性、透明性、灵活性、推理性等诸多优点,因而更适合于雷达等军事电子装备的维护和维修。
图1 专家系统原理图
由于某些雷达结构复杂,故障发生率高,检测难度大,在现场分析、判断和处理这些故障时,主要依赖维修人员的经验,维修质量和效率往往难以得到保证。因此,开发故障检测专家系统,以提高故障检测的经济性和可靠性。
专家系统的原理结构
图1所示为专家系统原理图,图2为低层诊断模型。
图2 低层诊断模型
以低层诊断为基础,推理机结合部件故障知识进行推理诊断,得到高层故障假设结论;若假设故障被确认,元知识库启动推理机,从假设结论出发,再利用目标级故障知识推理诊断,直到得出结论(见图3)。
图3 高层故障诊断模型
系统组成及工作流程
1 故障检测专家系统组成
故障检测专家系统组成如图4所示。专家系统是一种包含知识和推理的智能计算机程序系统,通常由知识库、推理机、人机接口、综合数据库、知识获取模块以及解释程序组成。
图4 故障检测专家系统组成
知识库是一个独立的实体,是专家系统的核心组成部分,它用于存储从专家那里得到的关于某一特定领域专门知识和经验。知识库所存储的知识都属于比较稳定通用的专家领域知识和规则,一般包含专家知识、领域知识和元知识。其中,专家知识是领域专家从长期工作实践中获得的经验性总结;领域知识是指一种广泛公用的知识,包括书本上的知识及一些一般性常识;元知识是利用知识进行推理的知识。
推理机是人类专家思维机制的一种算法表示和机器实现,包括推理机制和控制策略,是根据知识库进行各种搜索和推理的程序模块,用于控制系统的运行和执行各种任务。其中,推理部分是运用已有的知识和规则去推理,以谋求新的结论,而控制策略部分的作用是确定运用规则进行推理的顺序,并决定下一步的工作。推理机根据用户当前输入的数据,搜索知识库中相关的知识,并应用其中的规则和某种推理策略去推导出结论,向用户提供解决指定问题的答案。
综合数据库是用于存储所检测问题领域内原始特征数据的信息、推理过程中得到的各种中间信息和解决问题后输出结果信息的存储器。
知识获取模块是专家系统和领域专家、知识工程师的接口。通过它与领域专家和知识工程师的交互,使知识库不仅可获得知识,而且可使知识库中的知识得到不断的修改、充实和提炼,从而使系统的性能得到不断的改善。
解释程序能够对推理过程做出解释,不仅可以解释推理的路线和为什么需要询问那些特征信息数据,而且可以解释推理得到的正确结论。
2 工作流程
故障检测专家系统是通过推理机与知识库和综合数据库的交互作用来求解问题的,这种求解过程有如下几个步骤:
(1)用户将故障现象交给人机接口,人机接口将故障信息送入推理机。
(2)推理机根据故障信息按一定的搜索策略,依据用户反馈信息进行正向推理,并结合当前的推理状态,从知识库的故障树结点事件提取交互信息,提供给人机接口,以提问或操作要求的方式显示。
(3)解释程序对推理机运算出的每一步推理状态进行分析并做出简明易懂的解释。
(4)解释程序记录故障检测每一步的推理状态,并提取相应图形符号,经过人机接口以流程图的方式将推理过程显示。这些模块彼此配合,互递信息,共同完成故障定位、排除和维修提示等任务。
系统设计
1 设计依据
故障检测专家系统主要基于该雷达的系统自检过程和设计人员的人工经验,通过配套的检测设备采集故障信息,并通过串行通信将故障信息传递给计算机;或通过人机交互,实现检测、维修的自动化和智能化。
系统自检过程是现代雷达最基本的一种功能,它包括:开机自检、周期性自检、停机维护测试等。系统自检产生的信息可简单地分为:(1) 子系统测试信息——发射机、接收机、天馈线、伺服系统、信号数据处理机及主控台等子系统的自检信息。(2) 系统测试信息,主要用来检测、校正和调整雷达的状态及各子系统之间的相互关系。专家系统所针对的雷达,通过自检便基本可判断出产生故障的子系统,因而故障检测直接针对各个子系统。
专家系统的设计包括知识库、推理机、人机接口、解释器、知识获取器和系统软件等部分的设计。其中,知识库、推理机和系统软件是主体,也是设计的关键。
2 知识库的设计
知识库主要功能是存储和管理专家系统中的经验知识。专家系统知识库主要由故障分类表、子故障分类表、故障现象表以及所有的故障知识表(故障数据库)组成。知识库中拥有知识的多少及知识的质量决定了一个专家系统所具有解决问题的能力。系统故障知识的获取主要是通过研究雷达结构和故障机理来掌握原理性的知识,以及从专家处获取启发式的经验诊断知识、实用的专业技术资料等。
① 从雷达结构和故障机理分析中获取
利用雷达中已有测试点,结合测试信号的特征进行全面分析。通过对雷达中各部件之间的连接以及对部件板级上每个具体芯片功能进行研究,分析特征信号在雷达正常时的标准值;在进行故障检测时,将测试信号的实际工作值与正常工作的标准值比对,以判定出故障点。
利用雷达的功能特点进行有针对性的分析。当雷达出现故障时,除了检测电路本身故障外,还要考虑特殊环节引起的可能故障,另外开关器件(大功率开关管、继电器和接触器等)也容易损坏而引起故障。
针对雷达中的共同问题进行综合分析。雷达中各器件、部件间由电缆实现连接,由于电缆本身损坏或接口连接的不可靠,存在着故障隐患。
② 从专家经验中获取
根据平时常见的故障、专业维修人员的知识与经验,以及专家长期积累掌握的基础理论、研究成果、思维逻辑、解决问题的经验等,可以汇总雷达分系统的常见故障。
3 推理机设计
推理机是专家系统的组织控制机构,它根据当前输入数据来运行知识库中的相应知识,按一定策略进行推理,以达到要求的目标。该专家系统中,推理机根据用户提供的故障信息,在知识库内寻找能与之匹配的故障树结点事件,每步推理都以用户反馈信息为依据,沿故障树脉络进行正向推理,逐步缩小故障范围,直至完成故障源定位。推理机正向推理过程如图5所示。
图5 推理机正向推理过程示意图
4 人机接口的设计
人机接口包括开发界面和使用界面。开发界面面向系统开发者和系统维护者;使用界面面向系统使用者,常常涉及“人机交互”,它包括输入和输出两个部分。用户按照提示输入数据,并向系统提出请求或问题要求系统回答或演示。系统输出各种提示、中间结果和最后结果,也可输出用户所要求的信息、各种解释,或按照用户的要求演示推理过程。
5 解释模块设计
解释模块负责对系统检测推理过程给出必要的解释,包括2个解释子模块:文字模块和图形模块。其中,文字模块负责对专家系统检测推理过程给出必要的文字解释,以结点作为解释的基本层次;图形模块负责将故障现象、用户选择、检测过程及检测结果这些知识信息用流程图的方式进行显示,以便用户操作和观察,并以此作为记录检测过程的方法。
6 知识获取器的设计
在专家系统中要设计知识获取器困难较大,比较实用的方法是建立一个知识编辑器。知识编辑器是知识工程师的一种工具软件,用来帮助知识工程师编辑从专家那里获取的知识。它可以对知识进行检索、修改、删除和重组,并检查知识的相容性、完整性和一致性。
7 专家系统软件的设计
为了能更快速、准确地检测出雷达的故障,将CAN总线应用到某雷达,构建故障检测专家系统。CAN(Controller Area Network)是控制器局域网络,是目前发展较快的一种现场总线,主要用于各种过程或设备检测及控制。它是目前唯一具备国际标准的现场总线,具有容错能力强、传输距离远、带宽大等特点。
结合某雷达的结构特点构建一种上位运行专家系统,下位机负责采集现场数据和信号的在线故障检测专家系统,如图6所示。
图6 故障检测专家系统的结构
根据某雷达的整体功能模块的不同,方案将各个功能模块划分为若干检测子系统,利用CAN总线技术构建一个网络结构,每个子系统作为网络上的一个CAN智能节点,每个节点检测该模块中待检测设备的运行状况,并将检测结果通过CAN总线发送给故障检测专家系统。故障检测专家系统运行在上位机上,对下位机发送检测命令,下位机检测预留在各子系统的测试点,把测试的各种数据,如电压、各种开关量等,经A/D转换,发送故障检测专家系统;同时,专家系统根据检测信息和各模块发送的自检信息,给出结论后存储并进行显示,检测员可通过查询主机快速、及时对状态和故障情况判断(见图7)。
图7 雷达系统总体结构
故障检测专家系统在上位机(军用计算机)上运行,操作系统采用Windows XP,采用VC++6.0编写故障检测专家系统和通信模块。下位机采用嵌入式计算机PC104,通过CAN总线负责对整个雷达进行现场数据采集,包括电源电压等的模拟信号,各种开关量信号等。经过A/D转换后,再通过RS-232串行接口将现场数据传送给上位机,下位机的通信程序采用C语言编写。各个模块的自检信息,专家系统可以直接通过CAN总线获取。
此系统采用CAN2.0B的数据帧,有29位标志符,占4字节的长度。定义见表1。
优先级是CAN数据包优先级,占3位,总共有8个优先级。PF为数据类型代码,占8位。PS/DA为数据类型扩展码或目标地址,占8位。当PF值小于240(0xF0)时,PS/DA位填写目标地址DA;当PF值不小于240时,PS/DA位填写数据类型扩展码PS。SA为发送节点的CAN总线地址,占8位。保留位固定填写0。帧ID中PF、PS、DA的值分别取自在CAN数据包中PF、PS、DA的值。
本网络结构采用双CAN总线,每个线路最多可连接110个智能节点,CAN总线传输速率设定为250kb/s,对应的位时间为4μs,网络上所有节点必须设置为相同值。节点数据链路层发送数据以CAN1总线为主,CAN2总线为辅。当CAN1总线拥堵的情况下,CAN2总线启动,如果发送控制器在5ms内仍未完成总线发送,则须取消未完成的发送,以免影响总线上其他智能节点的工作。接收数据通过CAN1总线、CAN2总线分别接收,并分别送给应用程序处理。
CAN总线智能节点的软件设计主要包括:CAN节点初始化、报文发送和报文接受。通过DLL提供API应用层接口编程。
实例应用
某雷达的天馈系统,由天线、天线座、馈线系统、倒伏机构等部件组成。专家系统发送自检命令给天馈系统,系统对自身的各个部件进行自检,自检结果通过CAN总线发回专家系统,其格式见表2。
数据格式为3字节,其中,第1字节为设备号,是属于每个功能模块的唯一编号。第2字节是该设备的运行状态,其中,0x0F表示正常,0xFF表示故障,所有单体全部正常时上报正常状态,任意单体故障则上报故障状态。如果是故障状态,则第3字节的8个位,分别代表了各个单体的状态,0为故障,1为正常。
专家系统根据自检发回的信息,判断故障是否为最终故障,如不是则进行原理检测,最后给出检测结果。
评论
查看更多