基于Visio的图形化建模可测性分析软件设计

2011-04-26 02:32杨兴霁王义琴
中国测试 2011年4期
关键词:控件绘图建模

高 旭,龙 兵,杨兴霁,王义琴

(电子科技大学自动化工程学院,四川 成都 611731)

0 引 言

为了降低复杂电子系统故障诊断的测试周期与费用,必须在设计阶段就对系统的可测试性加以保证。而通过测试性的建模与分析来研究复杂系统的可测性是一种准确且有效的方法。为了确保可测性分析结果的准确性和分析效率,必须借助于相关的辅助分析工具来进行系统的可测性分析,并确定整个系统可测性设计与故障诊断方案。计算机辅助建模与仿真分析软件工具主要有ARINC公司的基于信息流模型的系统可测性和维护软件POINTER[1],QIS公司的基于多信号模型的分析工具TEAMS[2]。这些软件均采用图形化建模技术,与传统的采用直接程序设计进行可测性分析建模方法相比,具有直观、简单易用等优点。因此具备图形化建模的功能是可测性分析软件开发的趋势。

目前可视化图形建模环境的开发主要是用VB、VC或Delphi等开发工具从图形底层开发完成的,这种开发模式一旦涉及较复杂的图形技术,代码量将急速膨胀使软件的开发周期较长、后期维护困难。对此,利用Visio绘图控件提供的二次开发功能,以VC++6.0为编译工具开发了基于多信号模型的可测性分析的软件。该文首先介绍多信号模型建模技术和图形化建模环境的具体实现方法;然后阐述了多信号模型的建模方法和可测性分析指标的算法;最后以具体实例介绍了以Visio绘图控件为支撑的可测性分析软件的实现和应用。

1 图形界面编辑系统

1.1 图件和模具的设计

图形化可测性软件需要设计出用于表示多信号模型的4类节点和有向连线的元件符号,这些绘图元件放在绘图工具箱中,如图1所示。图形化建模时,用鼠标把图元拖拽绘图区,通过准确的连接构造多信号模型图。在Visio中,用于绘图的图元称为图件,放置图件的绘图工具箱称为模具。Visio本身提供了大量的模具及主控形状,选中所符合的形状单击右键选择添加到新建的模具中,也可以在绘图区内绘制出所需的绘图元件符号并编辑,然后用鼠标拖拽到新建的模具中,单击新建模具上每个形状下方的文本,为每个形状键入一个新名称,为新模具命名后保存即可。

图1 绘图工具箱

1.2 Visio绘图控件的应用

Microsoft Visio对象模型表示Visio引擎通过Automation展示的对象、属性、方法和事件,同时也描述了对象彼此之间的相关方式[3]。它以方便的模型管理及丰富的Automation为用户提供了可用于各种领域的完备的解决方案。在解决方案中实现Automation 有 4种基本方法:(1)Visio库(VSL);(2)VBA 宏;(3)COM 加载项;(4)独立的 EXE 程序。在该文的软件平台的设计中,采用的是第4种方式,即将Visio ActiveX Control控件嵌入VC++工具开发的应用程序中。Visio控件是一个Microsoft ActiveX控件,可以通过该控件的API来访问Visio对象模型,从而使得利用Visio绘图控件的解决方案更易于开发和调试。该文通过Visio控件的实例来实现以编程方式对Visio控件进行全方位的访问和控制。使用Visio绘图控件的Document或Window属性获得Application对象的引用,然后就可以进一步获取Visio对象模型中的其他对象。另外在Visio中,与图形对应的有一个ShapeSheet电子表格[4],可以通过ShapeSheet来对图形进行编辑和改变、用公式的方式精确地描述和控制图形以及设置图形的属性和进行事件的定义等。ShapeSheet内容丰富,可以通过它实现许多与图形化建模相关的功能。而在Visio控件中,ShapeSheet也被作为一个Shape对象,所以可以通过编程的方式来操纵ShapeSheet。该控件还公开了所有Visio Window和Document事件,这些事件涵盖了用户可能对图形和页面的所有操作,这些操作在发生的时候将触发对应的事件。通过这些事件,可以编写自己的响应函数,构建功能强大的图形化建模编辑环境。

2 多信号模型和建模

多信号模型是由Somnath Deb[5]等于1994年提出的,是指利用分层有向图表示系统结构、功能、测试构成,仅对故障传播特性建模的一种方法。在多信号模型中,组成单元的故障模式划分为功能故障(functional failure)和完全故障(general failure)2种类型。

2.1 模型节点构成[6-7]

多信号模型主要由3类节点构成:

(1)模块节点(module node),表示一个具有特定功能集(依据信号划分)的硬件或模块。

(2)测试点节点(test point node),表示物理的或逻辑的测量操作位置。

(3)连接线(link),表示有向连接线,为故障提供连接通路。

另外,对于复杂系统建模还可能用到用于冗余连接的表决节点(and node)和用于内部连接的变动关系的开关节点(switch node)。

2.2 建模步骤

可测性模型的建模过程一般可分为以下3个步骤:

(1)熟悉建模对象,在可测性分析软件中画出表述元件组成和基本连接关系的基本模型。

(2)向模块添加信号集,并向测试点添加测试和测试集。

(3)调整、修正和校验模型,考虑系统的特殊情况以使模型更加合理。例如如果一个系统有不同的工作模式,则要使用开关节点建模;如果系统存在冗余,则用并联节点配置冗余元件。

2.3 系统建模实例

该文以磁带播放机为例,把一磁带播放机系统划分为:电源(power_sup)、磁头(tape_head)、前置放大器(pre_amp)、功率放大器(power_amp)、三路扬声器(woofer,mid_range,tweeter)和指示灯(LED)。假设在系统内部没有测试点,系统的状态只能在其输入节点上被检测到,比如通过检测3个扬声器的输出信号和观察电源指示灯的状态进行。图2显示了该系统的多信号模型。图中信号 s1,s2,s3,s4,s5,s6分别代表高频(treble)、低频(bass)、中频(midrange)、信噪比(SNR)、额定功率失真(distortion)和电源指示灯(LED)。系统每个组件对应一组表征其特征的信号;每个测试点对应一组在该点可以检测到的信号。该系统的多信号模型定义如下:

故障源集 C={power_sup,LED,tape,pre_amp,power_amp,woofer,midranger,tweeter};信号集 S={s1,s2,s3,s4,s5,s6};测试点 TP={TP1,TP2},测试集 T={T,W,M,L};信号检测集ST={s1(TP1),s2(TP2),s3(TP2),s4(TP2),s5(TP2),s6(TP1)}={s1(T),s2(W),s3(M),s4(T),s5(W),s6(L)}。

其中,T在测试点TP2检测信号s1,s4;W在测试点TP2检测信号s2,s5;M在测试点TP2检测信号s3;L在测试点TP1检测信号s6。

图2 磁带播放机系统的多信号模型图

利用开发的可测性软件对图2所示的磁带播放机系统的多信号模型图进行建模,如图3所示。

图3 磁带播放机系统的建模结果

3 可测性分析算法

应用多信号模型进行可测性分析,计算各种可测性指标。首先分析系统的结构、功能和测试策略,构建系统的多信号模型,计算基于多信号模型的依赖矩阵;然后完成系统的单故障特性分析、多故障特性分析和计算各种可测性指标。

3.1 故障测试依赖矩阵

多信号模型的一种表示形式是有向图,另一种表示形式是依赖矩阵,即故障测试依赖矩阵。故障测试依赖矩阵反映了测试的诊断能力,是对系统进行可测性分析的基础,它以故障源作为行索引,可用测试作为列索引的矩阵D=[dij]。在多信号模型中,组成单元的故障模式根据作用结果不同分为2类:完全故障(指系统丧失主要功能,用字母G表示)和功能故障(指系统丧失部分功能,用字母F表示)。依赖矩阵既包含完全故障信息也包含功能故障信息,通过遍历模型图直接求取依赖矩阵比较困难,该文采取分而治之的策略,即把依赖矩阵D分成完全故障依赖矩阵D(G)和功能故障依赖矩阵D(F)两部分来分别进行求取,然后再把两部分合在一起即得到系统的依赖矩阵。

3.1.1 完全故障依赖矩阵的求取

该文先求取多信号模型图的邻接矩阵,然后利用算法求取相应的可达矩阵,最后由可达矩阵即可得到完全故障依赖矩阵。

要求取模型图邻接矩阵,需要对模型图中的各模型之间的连接进行分析。在Visio绘图控件中,形状对象(CVShape)表示绘图文件中的基本形、连接线和组合等,附着在形状上的连接点可看做是连接对象(CVConnect)。由连接集合(CVConnects)可得到连接对象,而获取连接集合的方法有2种:(1)通过形状对象的属性Connects得到该形状的连接集合;(2)通过页面对象(CVPage)的属性Connects获取页面上的全部连接点集合[8]。该文采用第1种方法,首先遍历绘图文件建立模型的形状列表,其次获取形状的所有连接点并遍历每个连接点,判断连接点位于连接线的哪一端,若为起始端则获取连接线的另一端所连接的形状,再根据该形状的信息在形状列表中查找相应的形状,由此即可判断两形状之间是否相连。根据列表中形状的数目构造并初始化矩阵,矩阵元素初始值均为0,依次对列表中的每个形状进行分析,两形状相连为1,否则为0,即可得到邻接矩阵。由邻接矩阵求可达矩阵的常用算法有逐次平方法、布尔矩阵算法和Warshall算法[9],基于效率和编程易实现的原则,该文采用布尔矩阵算法。求得可达矩阵后,再根据列表中故障源和测试的数目构造矩阵并用0值进行初始化,由可达矩阵的值即可得出完全故障的可达矩阵为

3.1.2 功能故障依赖矩阵的求取

同样根据列表中故障源和测试的数目构造矩阵并用0值进行初始化,然后对故障源中的信号集SC(ci)与测试集中的信号集ST(tj)做比较,若SC(ci)与ST(tj)的交集不为空,则dij=1;遍历整个故障源与每个测试的信号集做比较(另外,若故障源中无功能故障,则不进行比较,也不存在相应的行,如模块power、LED和pre-amp不存在功能故障),则可得功能故障依赖矩阵。又若测试不是故障可达性测试点,则测试集检测不到对应的故障,所以对功能故障依赖矩阵做如下修正,完全故障依赖矩阵中dij(G)=0时,对应功能故障依赖矩阵中dij(F)=0,可得功能故障依赖矩阵为

由D(G)和D(F)可得依赖矩阵D如表1所示。

3.2 故障特性分析

故障特性分析可分为单故障特性分析和多故障特性分析。单故障特性分析包括识别未检测故障、冗余测试和模糊组;多故障特性分析包括故障隐藏和故障冒充。各指标概念如下[6,10]:

未检测故障:实际存在但不能被测试检测出来的故障,对应依赖矩阵中的全零行。

冗余测试:具有相同检测特征的测试,对应依赖矩阵中相同的列向量。

模糊组:一组具有相同故障特征的故障源,对应依赖矩阵中相同的行向量。图2所示的磁带播放机系统的故障模糊组有:{tape(G),pre-amp(G),power-amp(G),woofer(G),midrange(G),tweeter(G)},{tape(F),tweeter(F)};隐藏故障集:某个故障Si的故障特征隐藏了另一个故障Sj的所有故障特征,则称Sj为Si的故障特征。

表1 磁带播放机的依赖矩阵

掩盖故障集:多个故障的故障特征的叠加与某个单故障的故障特征相同。

在图2所示的磁带播放机系统中,power-sup(G)的隐藏故障集为{LED(G),tape(G),pre-amp(G),power-amp(G),woofer(G),midrange(G),tweeter(G),tape(F),power-amp(F),woofer(F),midrange(F),tweeter(F)},掩盖故障集为{LED(G),tape(G),preamp(G),power-amp(G),woofer(G),midrange(G),tweeter(G),tape(F),power-amp(F),woofer(F),midrange(F),tweeter(F)}。模糊组{tape(G),pre-amp(G),power-amp(G),woofer(G),midrange(G),tweeter(G)}的隐藏故障集为{tape(F),power-amp(F),woofer(F),midrange(F),tweeter(F)};掩盖故障集为{tape(F),power-amp(F),woofer(F),midrange(F),tweeter(F)}。模糊组{tape(F),tweeter(F)}无隐藏故障和掩盖故障。

式中:λ——所有可能发生故障的故障率之和;

λD——可检测到的故障的故障率之和;

λDi——可检测到单个故障的故障率;

λi——各故障的故障率;

λL——可隔离到小于等于L个可更换单元的故障率之和;

λLi——各个可隔离到小于等于L个可更换单元的故障率;

L——规定的模糊度。

上述可测性指标的具体实现算法参见文献[11]。

对于图3所示磁带播放机系统,设定各组员的故障概率均为0.001,系统完好系数为70%,根据上述公式可计算得FDR=100%,FIR=42.86%。

上述分析结果在软件中显示形式如图4所示。

利用TEAMS软件对图2所示的磁带播放机系统进行分析得到的结果如图5所示。

图4 可测性软件的分析结果

图5 TEAMS可测性分析结果

由图5可知,TEAMS软件的分析结果与该文所述的软件分析结果一致,TEAMS软件对模糊组、未检测故障等指标在文本中进行显示,经对比与该文所示的结果也一致。

4 结束语

该文利用VC对Visio控件进行二次开发,实现了基于多信号模型的图形化建模系统可测性分析软件。该软件具有界面友好、功能强大和易于使用的特点,为系统的设计及现有系统的故障诊断提供了方便。可以通过该软件进行常用可测性指标分析,并评价系统是否达到预期要求的可测性目标,获知系统故障诊断难易程度,进而提高故障诊断效率,对计算机辅助建模与仿真分析软件工具的研究和开发具有一定参考价值。

[1]Sheppard J W,Simpson W R.A mathematical model for integrated diagnostics[J].IEEE Design and Test of Computers,1991,8(2):25-38.

[2] Pattirati K R,Raghavan V,Shakeri M,et al.TEAMS:testability engineering and maintenance system[C]∥Proc of American Control Conference,1994:1989-1995.

[3] Microsoft工作室.开发Microsoft Visio解决方案[M].北京:北京大学出版社,2002.

[4]郭伟伟,孙强宇.Visio图形化电气计算软件开发技术的研究[J].电力系统保护与控制,2008,36(7):71-74.

[5] Deb S,Pattipmi K R,Raghavan V,et al.Multi-signal flow graphs:A novelapproach forsystem testability analysis and fault diagnosis[C]∥Proc IEEE Autotestcon,1994:361-373.

[6] 杨智勇,许爱强,牛双诚.基于多信号模型的系统可测性建模与分析[J].工程设计学报,2007,14(5):364-368.

[7] 刘海明,易晓山.多信号流图的测试性建模与分析[J].中国测试技术,2007,33(1):49-50.

[8] 刘强,刘向君,马旭勃.利用Visio二次开发实现逻辑图自动分析[J].软件导刊,2009,8(1):13-15.

[9] 王欣欣,李金宝.关于由邻接矩阵求可达性矩阵的方法[J].吉林化工学院学报,2005,22(4):89-94.

[10]Shakeri M,Raghavan V,Pattipati K R.Sequential testing algorithms for multiple fault diagnosis[J].IEEE Trans on SMC,2000,30(1):11-14.

[11]王义琴.基于多信号模型的电子系统可测性算法及软件设计[D].成都:电子科技大学,2010:33-48.

猜你喜欢
控件绘图建模
来自河流的你
“禾下乘凉图”绘图人
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于.net的用户定义验证控件的应用分析
垂涎三尺
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
关于.net控件数组的探讨
三元组辐射场的建模与仿真
基于嵌入式MINIGUI控件子类化技术的深入研究与应用