高 旭,龍 兵,楊興霽,王義琴
(電子科技大學自動化工程學院,四川 成都 611731)
為了降低復雜電子系統(tǒng)故障診斷的測試周期與費用,必須在設計階段就對系統(tǒng)的可測試性加以保證。而通過測試性的建模與分析來研究復雜系統(tǒng)的可測性是一種準確且有效的方法。為了確??蓽y性分析結果的準確性和分析效率,必須借助于相關的輔助分析工具來進行系統(tǒng)的可測性分析,并確定整個系統(tǒng)可測性設計與故障診斷方案。計算機輔助建模與仿真分析軟件工具主要有ARINC公司的基于信息流模型的系統(tǒng)可測性和維護軟件POINTER[1],QIS公司的基于多信號模型的分析工具TEAMS[2]。這些軟件均采用圖形化建模技術,與傳統(tǒng)的采用直接程序設計進行可測性分析建模方法相比,具有直觀、簡單易用等優(yōu)點。因此具備圖形化建模的功能是可測性分析軟件開發(fā)的趨勢。
目前可視化圖形建模環(huán)境的開發(fā)主要是用VB、VC或Delphi等開發(fā)工具從圖形底層開發(fā)完成的,這種開發(fā)模式一旦涉及較復雜的圖形技術,代碼量將急速膨脹使軟件的開發(fā)周期較長、后期維護困難。對此,利用Visio繪圖控件提供的二次開發(fā)功能,以VC++6.0為編譯工具開發(fā)了基于多信號模型的可測性分析的軟件。該文首先介紹多信號模型建模技術和圖形化建模環(huán)境的具體實現(xiàn)方法;然后闡述了多信號模型的建模方法和可測性分析指標的算法;最后以具體實例介紹了以Visio繪圖控件為支撐的可測性分析軟件的實現(xiàn)和應用。
圖形化可測性軟件需要設計出用于表示多信號模型的4類節(jié)點和有向連線的元件符號,這些繪圖元件放在繪圖工具箱中,如圖1所示。圖形化建模時,用鼠標把圖元拖拽繪圖區(qū),通過準確的連接構造多信號模型圖。在Visio中,用于繪圖的圖元稱為圖件,放置圖件的繪圖工具箱稱為模具。Visio本身提供了大量的模具及主控形狀,選中所符合的形狀單擊右鍵選擇添加到新建的模具中,也可以在繪圖區(qū)內繪制出所需的繪圖元件符號并編輯,然后用鼠標拖拽到新建的模具中,單擊新建模具上每個形狀下方的文本,為每個形狀鍵入一個新名稱,為新模具命名后保存即可。
圖1 繪圖工具箱
Microsoft Visio對象模型表示Visio引擎通過Automation展示的對象、屬性、方法和事件,同時也描述了對象彼此之間的相關方式[3]。它以方便的模型管理及豐富的Automation為用戶提供了可用于各種領域的完備的解決方案。在解決方案中實現(xiàn)Automation 有 4種基本方法:(1)Visio庫(VSL);(2)VBA 宏;(3)COM 加載項;(4)獨立的 EXE 程序。在該文的軟件平臺的設計中,采用的是第4種方式,即將Visio ActiveX Control控件嵌入VC++工具開發(fā)的應用程序中。Visio控件是一個Microsoft ActiveX控件,可以通過該控件的API來訪問Visio對象模型,從而使得利用Visio繪圖控件的解決方案更易于開發(fā)和調試。該文通過Visio控件的實例來實現(xiàn)以編程方式對Visio控件進行全方位的訪問和控制。使用Visio繪圖控件的Document或Window屬性獲得Application對象的引用,然后就可以進一步獲取Visio對象模型中的其他對象。另外在Visio中,與圖形對應的有一個ShapeSheet電子表格[4],可以通過ShapeSheet來對圖形進行編輯和改變、用公式的方式精確地描述和控制圖形以及設置圖形的屬性和進行事件的定義等。ShapeSheet內容豐富,可以通過它實現(xiàn)許多與圖形化建模相關的功能。而在Visio控件中,ShapeSheet也被作為一個Shape對象,所以可以通過編程的方式來操縱ShapeSheet。該控件還公開了所有Visio Window和Document事件,這些事件涵蓋了用戶可能對圖形和頁面的所有操作,這些操作在發(fā)生的時候將觸發(fā)對應的事件。通過這些事件,可以編寫自己的響應函數,構建功能強大的圖形化建模編輯環(huán)境。
多信號模型是由Somnath Deb[5]等于1994年提出的,是指利用分層有向圖表示系統(tǒng)結構、功能、測試構成,僅對故障傳播特性建模的一種方法。在多信號模型中,組成單元的故障模式劃分為功能故障(functional failure)和完全故障(general failure)2種類型。
多信號模型主要由3類節(jié)點構成:
(1)模塊節(jié)點(module node),表示一個具有特定功能集(依據信號劃分)的硬件或模塊。
(2)測試點節(jié)點(test point node),表示物理的或邏輯的測量操作位置。
(3)連接線(link),表示有向連接線,為故障提供連接通路。
另外,對于復雜系統(tǒng)建模還可能用到用于冗余連接的表決節(jié)點(and node)和用于內部連接的變動關系的開關節(jié)點(switch node)。
可測性模型的建模過程一般可分為以下3個步驟:
(1)熟悉建模對象,在可測性分析軟件中畫出表述元件組成和基本連接關系的基本模型。
(2)向模塊添加信號集,并向測試點添加測試和測試集。
(3)調整、修正和校驗模型,考慮系統(tǒng)的特殊情況以使模型更加合理。例如如果一個系統(tǒng)有不同的工作模式,則要使用開關節(jié)點建模;如果系統(tǒng)存在冗余,則用并聯(lián)節(jié)點配置冗余元件。
該文以磁帶播放機為例,把一磁帶播放機系統(tǒng)劃分為:電源(power_sup)、磁頭(tape_head)、前置放大器(pre_amp)、功率放大器(power_amp)、三路揚聲器(woofer,mid_range,tweeter)和指示燈(LED)。假設在系統(tǒng)內部沒有測試點,系統(tǒng)的狀態(tài)只能在其輸入節(jié)點上被檢測到,比如通過檢測3個揚聲器的輸出信號和觀察電源指示燈的狀態(tài)進行。圖2顯示了該系統(tǒng)的多信號模型。圖中信號 s1,s2,s3,s4,s5,s6分別代表高頻(treble)、低頻(bass)、中頻(midrange)、信噪比(SNR)、額定功率失真(distortion)和電源指示燈(LED)。系統(tǒng)每個組件對應一組表征其特征的信號;每個測試點對應一組在該點可以檢測到的信號。該系統(tǒng)的多信號模型定義如下:
故障源集 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 磁帶播放機系統(tǒng)的多信號模型圖
利用開發(fā)的可測性軟件對圖2所示的磁帶播放機系統(tǒng)的多信號模型圖進行建模,如圖3所示。
圖3 磁帶播放機系統(tǒng)的建模結果
應用多信號模型進行可測性分析,計算各種可測性指標。首先分析系統(tǒng)的結構、功能和測試策略,構建系統(tǒng)的多信號模型,計算基于多信號模型的依賴矩陣;然后完成系統(tǒng)的單故障特性分析、多故障特性分析和計算各種可測性指標。
多信號模型的一種表示形式是有向圖,另一種表示形式是依賴矩陣,即故障測試依賴矩陣。故障測試依賴矩陣反映了測試的診斷能力,是對系統(tǒng)進行可測性分析的基礎,它以故障源作為行索引,可用測試作為列索引的矩陣D=[dij]。在多信號模型中,組成單元的故障模式根據作用結果不同分為2類:完全故障(指系統(tǒng)喪失主要功能,用字母G表示)和功能故障(指系統(tǒng)喪失部分功能,用字母F表示)。依賴矩陣既包含完全故障信息也包含功能故障信息,通過遍歷模型圖直接求取依賴矩陣比較困難,該文采取分而治之的策略,即把依賴矩陣D分成完全故障依賴矩陣D(G)和功能故障依賴矩陣D(F)兩部分來分別進行求取,然后再把兩部分合在一起即得到系統(tǒng)的依賴矩陣。
3.1.1 完全故障依賴矩陣的求取
該文先求取多信號模型圖的鄰接矩陣,然后利用算法求取相應的可達矩陣,最后由可達矩陣即可得到完全故障依賴矩陣。
要求取模型圖鄰接矩陣,需要對模型圖中的各模型之間的連接進行分析。在Visio繪圖控件中,形狀對象(CVShape)表示繪圖文件中的基本形、連接線和組合等,附著在形狀上的連接點可看做是連接對象(CVConnect)。由連接集合(CVConnects)可得到連接對象,而獲取連接集合的方法有2種:(1)通過形狀對象的屬性Connects得到該形狀的連接集合;(2)通過頁面對象(CVPage)的屬性Connects獲取頁面上的全部連接點集合[8]。該文采用第1種方法,首先遍歷繪圖文件建立模型的形狀列表,其次獲取形狀的所有連接點并遍歷每個連接點,判斷連接點位于連接線的哪一端,若為起始端則獲取連接線的另一端所連接的形狀,再根據該形狀的信息在形狀列表中查找相應的形狀,由此即可判斷兩形狀之間是否相連。根據列表中形狀的數目構造并初始化矩陣,矩陣元素初始值均為0,依次對列表中的每個形狀進行分析,兩形狀相連為1,否則為0,即可得到鄰接矩陣。由鄰接矩陣求可達矩陣的常用算法有逐次平方法、布爾矩陣算法和Warshall算法[9],基于效率和編程易實現(xiàn)的原則,該文采用布爾矩陣算法。求得可達矩陣后,再根據列表中故障源和測試的數目構造矩陣并用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所示。
故障特性分析可分為單故障特性分析和多故障特性分析。單故障特性分析包括識別未檢測故障、冗余測試和模糊組;多故障特性分析包括故障隱藏和故障冒充。各指標概念如下[6,10]:
未檢測故障:實際存在但不能被測試檢測出來的故障,對應依賴矩陣中的全零行。
冗余測試:具有相同檢測特征的測試,對應依賴矩陣中相同的列向量。
模糊組:一組具有相同故障特征的故障源,對應依賴矩陣中相同的行向量。圖2所示的磁帶播放機系統(tǒng)的故障模糊組有:{tape(G),pre-amp(G),power-amp(G),woofer(G),midrange(G),tweeter(G)},{tape(F),tweeter(F)};隱藏故障集:某個故障Si的故障特征隱藏了另一個故障Sj的所有故障特征,則稱Sj為Si的故障特征。
表1 磁帶播放機的依賴矩陣
掩蓋故障集:多個故障的故障特征的疊加與某個單故障的故障特征相同。
在圖2所示的磁帶播放機系統(tǒng)中,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)}無隱藏故障和掩蓋故障。
式中:λ——所有可能發(fā)生故障的故障率之和;
λD——可檢測到的故障的故障率之和;
λDi——可檢測到單個故障的故障率;
λi——各故障的故障率;
λL——可隔離到小于等于L個可更換單元的故障率之和;
λLi——各個可隔離到小于等于L個可更換單元的故障率;
L——規(guī)定的模糊度。
上述可測性指標的具體實現(xiàn)算法參見文獻[11]。
對于圖3所示磁帶播放機系統(tǒng),設定各組員的故障概率均為0.001,系統(tǒng)完好系數為70%,根據上述公式可計算得FDR=100%,F(xiàn)IR=42.86%。
上述分析結果在軟件中顯示形式如圖4所示。
利用TEAMS軟件對圖2所示的磁帶播放機系統(tǒng)進行分析得到的結果如圖5所示。
圖4 可測性軟件的分析結果
圖5 TEAMS可測性分析結果
由圖5可知,TEAMS軟件的分析結果與該文所述的軟件分析結果一致,TEAMS軟件對模糊組、未檢測故障等指標在文本中進行顯示,經對比與該文所示的結果也一致。
該文利用VC對Visio控件進行二次開發(fā),實現(xiàn)了基于多信號模型的圖形化建模系統(tǒng)可測性分析軟件。該軟件具有界面友好、功能強大和易于使用的特點,為系統(tǒng)的設計及現(xiàn)有系統(tǒng)的故障診斷提供了方便。可以通過該軟件進行常用可測性指標分析,并評價系統(tǒng)是否達到預期要求的可測性目標,獲知系統(tǒng)故障診斷難易程度,進而提高故障診斷效率,對計算機輔助建模與仿真分析軟件工具的研究和開發(fā)具有一定參考價值。
[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工作室.開發(fā)Microsoft Visio解決方案[M].北京:北京大學出版社,2002.
[4]郭偉偉,孫強宇.Visio圖形化電氣計算軟件開發(fā)技術的研究[J].電力系統(tǒng)保護與控制,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] 楊智勇,許愛強,牛雙誠.基于多信號模型的系統(tǒng)可測性建模與分析[J].工程設計學報,2007,14(5):364-368.
[7] 劉海明,易曉山.多信號流圖的測試性建模與分析[J].中國測試技術,2007,33(1):49-50.
[8] 劉強,劉向君,馬旭勃.利用Visio二次開發(fā)實現(xiàn)邏輯圖自動分析[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]王義琴.基于多信號模型的電子系統(tǒng)可測性算法及軟件設計[D].成都:電子科技大學,2010:33-48.