测试点表用来存放测试通道中的测试点。表的结构为Test_Point(PointName,PCBName,X,Y,ID,ToneName,Solution),其中,Point Name为测试点的名称,PCBName为测试通道的PCB图文件,X为测试点的横坐标,Y为测试点的纵坐标,ID为测试点的编码,ToneName为测试通道的名称,Solution为对故障采取的解决措施。如表3所示。

规则表包括浅知识规则表和深知识规则表,两表的结构相同。规则表用来存放规则前件和后件的编码。推理机的内部工作过程是利用事实编码进行前件的匹配,利用综合数据库对推理过程中的前件和后件进行记录。在推理过程中的事实编码和最终结果的编码都可以在事实表中找到与之对应的名称。表的结构为(ID,Condition_number,Conclution_number,sig1,sig2,…,sig10,con1,con2,…,con10),其中,ID为规则的编号,Condition_number为规则前提条件的个数,Conclution_number为规则结论的个数,sig1,sig2,…,sig10用来存储规则的前提,con1,con2,…,con10用来存储规则的结论。如表4所示。

3 推理机的实现

在测试设备故障诊断中最重要的是推理机,对于确定性的知识,采用专家系统中正向推理的方式进行推理。对于具有不确定的、模糊的信息,利用模糊神经网络进行推理。推理机通过建立类EsReason实现,以下是在该类中定义的主要指针、数组、变量及函数,此类结构如下: