一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法
【專(zhuān)利摘要】本發(fā)明提供一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法,具體步驟為:步驟1為匯總儀器整機(jī)自測(cè)試項(xiàng)目及邏輯關(guān)系;步驟2為創(chuàng)建空的三態(tài)選擇樹(shù);步驟3為根據(jù)步驟1整理的自測(cè)試項(xiàng)目及邏輯關(guān)系,將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)名稱(chēng)作為樹(shù)的一個(gè)結(jié)點(diǎn)插入到三態(tài)選擇樹(shù)中;步驟4為采用樹(shù)的中序遍歷算法依次訪問(wèn)各結(jié)點(diǎn),構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系;步驟5為根據(jù)用戶選擇的測(cè)試結(jié)點(diǎn),對(duì)測(cè)試項(xiàng)進(jìn)行測(cè)試。采用上述方案,儀器的自測(cè)試項(xiàng)目邏輯層次清晰、結(jié)構(gòu)合理、操作簡(jiǎn)捷方便,可以實(shí)時(shí)查看儀器狀態(tài),縮短故障檢測(cè)與隔離時(shí)間,提高系統(tǒng)可用性,降低儀器的使用維護(hù)費(fèi)用。
【專(zhuān)利說(shuō)明】一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)應(yīng)用【技術(shù)領(lǐng)域】,尤其涉及的是一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法。
【背景技術(shù)】
[0002]隨著科學(xué)技術(shù)的不斷發(fā)展,人類(lèi)社會(huì)已經(jīng)步入了信息化時(shí)代,對(duì)儀器的要求更高,依賴(lài)性也更強(qiáng)。自測(cè)試功能是現(xiàn)代儀器的一個(gè)顯著特點(diǎn),是否是智能儀器且衡量智能儀器水平高低的標(biāo)志之一是它的自測(cè)試自診斷功能,因此,在儀器的設(shè)計(jì)過(guò)程中,使其具有良好的自測(cè)試自診斷能力是非常重要的。儀器復(fù)雜性的增加給其自測(cè)試顯示組件的設(shè)計(jì)帶來(lái)了諸多問(wèn)題,如自測(cè)試條目繁多,邏輯關(guān)系復(fù)雜、自測(cè)試時(shí)間長(zhǎng)、無(wú)法快速準(zhǔn)確定位到自測(cè)試項(xiàng)及靈活手動(dòng)配置自測(cè)試項(xiàng)等,因此儀器的自測(cè)試顯示組件設(shè)計(jì)逐漸引起了人們的高度重視。
[0003]目前,已有的儀器自測(cè)試顯示組件的構(gòu)造方法主要有以下兩種:一種是采用自動(dòng)測(cè)試與選擇測(cè)試單元項(xiàng)相結(jié)合的方法:這種方法對(duì)顯示組件設(shè)計(jì)要求不高,只需提供一個(gè)自動(dòng)測(cè)試按鍵和一個(gè)單元測(cè)試選擇框。用戶可以選擇一鍵自動(dòng)全部測(cè)試或者選擇其中某一項(xiàng)進(jìn)行實(shí)時(shí)測(cè)試。另一種是采用列表顯示的方法:將儀器所有自測(cè)試項(xiàng)目按單元分類(lèi),用戶可以根據(jù)需要通過(guò)瀏覽列表手動(dòng)配置選擇自測(cè)試項(xiàng)目,進(jìn)而進(jìn)行儀器的自測(cè)試功能。
[0004]采用自動(dòng)測(cè)試與選擇測(cè)試單元項(xiàng)相結(jié)合的方法,主要缺點(diǎn)是:1.對(duì)于自測(cè)試項(xiàng)數(shù)目少的儀器,可以滿足要求,隨著儀器復(fù)雜度的提高,自測(cè)試項(xiàng)數(shù)目的增加,選擇自測(cè)試項(xiàng)比較繁瑣。2.自測(cè)試項(xiàng)沒(méi)有按單元分類(lèi),層次不夠清晰。3.無(wú)法進(jìn)行整件、部件有關(guān)的功能自測(cè)試。
[0005]采用列表顯示的方法,主要缺點(diǎn)是:1.自測(cè)試項(xiàng)選擇比較麻煩,需要瀏覽整個(gè)列表。2.選擇某一部件進(jìn)行自測(cè)試時(shí)需要依次選擇該部件下所有自測(cè)試項(xiàng)。3.對(duì)于復(fù)雜儀器,自測(cè)試項(xiàng)數(shù)目較多時(shí),列表太長(zhǎng),層次不夠清晰。4.自測(cè)試結(jié)果顯示樣式單一,不能夠?qū)崟r(shí)顯示某一項(xiàng)測(cè)試結(jié)果。
[0006]因此,現(xiàn)有技術(shù)存在缺陷,需要改進(jìn)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法。
[0008]本發(fā)明的技術(shù)方案如下:
[0009]一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法,其中,包括以下步驟:
[0010]步驟一:匯總儀器整機(jī)自測(cè)試項(xiàng)目,定義整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)目名稱(chēng),明確整機(jī)、整件、部件與自測(cè)試項(xiàng)目之間的邏輯關(guān)系;
[0011]步驟二:創(chuàng)建空的三態(tài)選擇樹(shù);
[0012]步驟三:根據(jù)所述自測(cè)試項(xiàng)目及所述邏輯關(guān)系,將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)目名稱(chēng)作為樹(shù)的一個(gè)結(jié)點(diǎn)插入到三態(tài)選擇樹(shù)中,其中,所述自測(cè)試項(xiàng)目作為葉結(jié)點(diǎn)插入;定義所述自測(cè)試項(xiàng)目的測(cè)試函數(shù),在樹(shù)的葉結(jié)點(diǎn)中定義函數(shù)指針,指向?qū)?yīng)的自測(cè)試函數(shù);
[0013]步驟四:在三態(tài)選擇樹(shù)中選擇需要測(cè)試的整件或者部件、自測(cè)試項(xiàng)目結(jié)點(diǎn),采用樹(shù)的中序遍歷算法依次訪問(wèn)其它結(jié)點(diǎn),構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系,確定其它結(jié)點(diǎn)的狀態(tài);
[0014]步驟五:根據(jù)所述確定的其它結(jié)點(diǎn)的狀態(tài),對(duì)選中的自測(cè)試項(xiàng)目調(diào)用自測(cè)試函數(shù)進(jìn)行測(cè)試。
[0015]所述的自測(cè)試顯示組件構(gòu)造方法,其中,所述步驟一中,所述整機(jī)名稱(chēng)為需要進(jìn)行自測(cè)試的儀器名稱(chēng),一個(gè)整機(jī)包括若干整件,一個(gè)整件包括若干部件,一個(gè)部件包括若干自測(cè)試項(xiàng)。
[0016]所述的自測(cè)試顯示組件構(gòu)造方法,其中所述步驟二中,所述三態(tài)選擇樹(shù)以二叉鏈表作為存儲(chǔ)結(jié)構(gòu),并將所述二叉鏈表中結(jié)點(diǎn)狀態(tài)初始化設(shè)定為非選中狀態(tài)。
[0017]所述的自測(cè)試顯示組件構(gòu)造方法,其中,所述步驟三中,所述將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)名稱(chēng)插入到三態(tài)選擇樹(shù)中,具體步驟為:
[0018]步驟3A:只將葉結(jié)點(diǎn)作為自測(cè)試項(xiàng)目,為其定義函數(shù)指針;
[0019]步驟3B:整件名稱(chēng)和部件名稱(chēng)是自測(cè)試項(xiàng)目在邏輯上的歸屬,是其父結(jié)點(diǎn);
[0020]步驟3C:父結(jié)點(diǎn)選中,則父結(jié)點(diǎn)下所有子結(jié)點(diǎn)自動(dòng)為選中狀態(tài);父結(jié)點(diǎn)下某個(gè)子結(jié)點(diǎn)選中,父結(jié)點(diǎn)自動(dòng)為部分選中狀態(tài)。
[0021]所述的自測(cè)試顯示組件構(gòu)造方法,其中,所述步驟四中,所述構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系具體為:
[0022]步驟4A:改變非葉結(jié)點(diǎn)狀態(tài),首先設(shè)置其子結(jié)點(diǎn)的狀態(tài)與非葉結(jié)點(diǎn)的狀態(tài)一致,其次搜索非葉結(jié)點(diǎn)的子結(jié)點(diǎn),遞歸處理子結(jié)點(diǎn)的子結(jié)點(diǎn)和兄弟結(jié)點(diǎn),最后搜索非葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn),遞歸處理兄弟結(jié)點(diǎn)的父結(jié)點(diǎn)和父結(jié)點(diǎn)的父結(jié)點(diǎn),如果非葉結(jié)點(diǎn)的狀態(tài)和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和非葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài);
[0023]步驟4B:改變?nèi)~結(jié)點(diǎn)狀態(tài),首先搜索葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn),如果和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài),最后遞歸處理父結(jié)點(diǎn)的兄弟結(jié)點(diǎn)和其父結(jié)點(diǎn)。
[0024]本發(fā)明基于三態(tài)選擇樹(shù),結(jié)構(gòu)清晰,能夠方便展開(kāi)、收起、選擇、取消自測(cè)試項(xiàng),能夠按整件、部件為單位選擇測(cè)試項(xiàng),每一個(gè)自測(cè)試項(xiàng)測(cè)試完畢,可以實(shí)時(shí)顯示結(jié)果,并根據(jù)選擇狀態(tài)和測(cè)試結(jié)果自動(dòng)邏輯運(yùn)算部件、整件及整機(jī)的自測(cè)試結(jié)果儀器的自測(cè)試項(xiàng)目邏輯層次清晰、結(jié)構(gòu)合理、操作簡(jiǎn)捷方便,可以及時(shí)、快速、準(zhǔn)確地定位與檢測(cè)故障,實(shí)時(shí)查看儀器狀態(tài),提高執(zhí)行任務(wù)的可靠性與安全性,縮短故障檢測(cè)與隔離時(shí)間,進(jìn)而減少維修時(shí)間,提高系統(tǒng)可用性,降低儀器的使用維護(hù)費(fèi)用。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0025]圖1為本發(fā)明中樹(shù)的結(jié)構(gòu)示意圖。
[0026]圖2為本發(fā)明中三態(tài)選擇樹(shù)的存儲(chǔ)結(jié)構(gòu)示意圖。
[0027]圖3為本發(fā)明一實(shí)施例實(shí)現(xiàn)方法示意圖。[0028]圖4為圖3中創(chuàng)建的三態(tài)選擇樹(shù)示意圖。
[0029]圖5為圖3中構(gòu)建結(jié)點(diǎn)三態(tài)選擇關(guān)系流程圖。
【具體實(shí)施方式】
[0030]以下結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0031]實(shí)施例1
[0032]如圖1所示,本申請(qǐng)中的樹(shù)是數(shù)據(jù)結(jié)構(gòu)中用于解決選擇和顯示項(xiàng)目?jī)?nèi)容問(wèn)題的經(jīng)典方法,而三態(tài)選擇樹(shù)是為解決自測(cè)試這樣多態(tài)選擇問(wèn)題而改進(jìn)的數(shù)據(jù)結(jié)構(gòu)。圖1為樹(shù)的一個(gè)示例。一棵樹(shù)只有一個(gè)根結(jié)點(diǎn)A,根結(jié)點(diǎn)A之外的結(jié)點(diǎn)稱(chēng)為子結(jié)點(diǎn)B、C、D、E,每個(gè)子結(jié)點(diǎn)只有一個(gè)父結(jié)點(diǎn),B、C、E的父結(jié)點(diǎn)為A,D的父結(jié)點(diǎn)為C,沒(méi)有子結(jié)點(diǎn)的結(jié)點(diǎn)稱(chēng)為葉結(jié)點(diǎn)B、D、E。改進(jìn)的三態(tài)選擇樹(shù)每個(gè)結(jié)點(diǎn)有三種狀態(tài),選中、非選中、部分選中。三態(tài)選擇樹(shù)采用二叉鏈表法進(jìn)行存儲(chǔ),鏈表中結(jié)點(diǎn)的兩個(gè)鏈域分別指向第一個(gè)孩子結(jié)點(diǎn)和下一個(gè)兄弟結(jié)點(diǎn),并保留空間存儲(chǔ)結(jié)點(diǎn)當(dāng)前狀態(tài)。其存儲(chǔ)結(jié)構(gòu)如圖2所示,結(jié)點(diǎn)的SI區(qū)域?yàn)殒溣?,指向第一個(gè)孩子結(jié)點(diǎn),S2區(qū)域存儲(chǔ)結(jié)點(diǎn)名稱(chēng),S3區(qū)域?yàn)殒溣?,指向下一個(gè)兄弟結(jié)點(diǎn),S4區(qū)域存儲(chǔ)結(jié)點(diǎn)當(dāng)前狀態(tài)。結(jié)點(diǎn)N2為結(jié)點(diǎn)NI的孩子結(jié)點(diǎn),結(jié)點(diǎn)N3為結(jié)點(diǎn)N2的兄弟結(jié)點(diǎn),結(jié)點(diǎn)N4為結(jié)點(diǎn)N3的孩子結(jié)點(diǎn),結(jié)點(diǎn)N5為結(jié)點(diǎn)N3的兄弟結(jié)點(diǎn)。
[0033]如圖3所示,包括以下步驟:
[0034]步驟I為匯總儀器整機(jī)自測(cè)試項(xiàng)目,明確整機(jī)、整件(電路板、微波件)、部件(電路模塊)、自測(cè)試項(xiàng)之間的邏輯關(guān)系。
[0035]步驟2為創(chuàng)建空的三態(tài)選擇樹(shù)。該三態(tài)選擇樹(shù)以二叉鏈表作為存儲(chǔ)結(jié)構(gòu),結(jié)點(diǎn)狀態(tài)初始化為非選中狀態(tài)。
[0036]步驟3為根據(jù)步驟I整理的自測(cè)試項(xiàng)目及邏輯關(guān)系,將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)名稱(chēng)作為樹(shù)的一個(gè)結(jié)點(diǎn)插入到三態(tài)選擇樹(shù)中。其中,整機(jī)名稱(chēng)作為三態(tài)選擇樹(shù)的根結(jié)點(diǎn)插入,自測(cè)試項(xiàng)名稱(chēng)作為葉結(jié)點(diǎn)插入,整件名稱(chēng)和部件名稱(chēng)作為葉結(jié)點(diǎn)的父結(jié)點(diǎn)插入。定義自測(cè)試項(xiàng)的測(cè)試函數(shù),在樹(shù)的葉結(jié)點(diǎn)中定義函數(shù)指針,指向?qū)?yīng)的自測(cè)試函數(shù)。
[0037]步驟4為在三態(tài)選擇樹(shù)中選擇需要測(cè)試的整件或者部件、自測(cè)試項(xiàng)等結(jié)點(diǎn),采用樹(shù)的中序遍歷算法依次訪問(wèn)其它結(jié)點(diǎn),構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系,確定其它結(jié)點(diǎn)的狀態(tài)。
[0038]步驟5為根據(jù)步驟4確定的結(jié)點(diǎn)狀態(tài),對(duì)選中的自測(cè)試項(xiàng)調(diào)用自測(cè)試函數(shù)進(jìn)行測(cè)試。
[0039]具體地,所述步驟I中:所述整機(jī)名稱(chēng)是指所要進(jìn)行自測(cè)試的儀器名稱(chēng),一個(gè)整機(jī)可以包括若干整件,一個(gè)整件可以包括若干部件,一個(gè)部件可以包括若干自測(cè)試項(xiàng)。
[0040]具體地,所述步驟3中:所述自測(cè)試項(xiàng)名稱(chēng)作為葉結(jié)點(diǎn),只有葉結(jié)點(diǎn)才能作為自測(cè)試項(xiàng),為其分配自測(cè)試函數(shù)指針。整件名稱(chēng)和部件名稱(chēng)是自測(cè)試項(xiàng)在邏輯上的歸屬,是其父結(jié)點(diǎn)。邏輯關(guān)系為:父結(jié)點(diǎn)選中,則父結(jié)點(diǎn)下所有子結(jié)點(diǎn)自動(dòng)為選中狀態(tài);父結(jié)點(diǎn)下某個(gè)子結(jié)點(diǎn)選中,父結(jié)點(diǎn)自動(dòng)為部分選中狀態(tài)。
[0041 ] 具體地,所述步驟4具體包括:
[0042]步驟41:如果改變的是非葉結(jié)點(diǎn)狀態(tài),首先設(shè)置其子結(jié)點(diǎn)的狀態(tài)與非葉結(jié)點(diǎn)的狀態(tài)一致,其次搜索非葉結(jié)點(diǎn)的子結(jié)點(diǎn),遞歸處理子結(jié)點(diǎn)的子結(jié)點(diǎn)和兄弟結(jié)點(diǎn),最后搜索非葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn),遞歸處理兄弟結(jié)點(diǎn)的父結(jié)點(diǎn)和父結(jié)點(diǎn)的父結(jié)點(diǎn),如果非葉結(jié)點(diǎn)的狀態(tài)和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和非葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài)。
[0043]步驟42:如果改變的是葉結(jié)點(diǎn)狀態(tài),首先搜索葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn)。如果和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài)。最后遞歸處理父結(jié)點(diǎn)的兄弟結(jié)點(diǎn)和其父結(jié)點(diǎn)。
[0044]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0045]如圖4所示,為具體實(shí)施例中,倉(cāng)Il建的三態(tài)選擇樹(shù)示意圖:
[0046]第一步,用戶設(shè)置303結(jié)點(diǎn)為選中狀態(tài)。
[0047]第二步,判斷303結(jié)點(diǎn)是否是葉結(jié)點(diǎn)。
[0048]第三步,設(shè)置304、305、306結(jié)點(diǎn)為選中狀態(tài)。
[0049]第四步,判斷303結(jié)點(diǎn)和其兄弟結(jié)點(diǎn)307、311的狀態(tài)是否一致。
[0050]第五步,狀態(tài)不一致,置303結(jié)點(diǎn)的父結(jié)點(diǎn)302為部分選中狀態(tài)。
[0051]第六步,判斷302結(jié)點(diǎn)的兄弟結(jié)點(diǎn)何其狀態(tài)是否一致。
[0052]第七步,置302結(jié)點(diǎn)的父結(jié)點(diǎn)301為部分選中狀態(tài)。
[0053]采用這種表示方法是為了表述的方便。以用戶進(jìn)行I通道增益DAC部件自測(cè)試為例,對(duì)本發(fā)明創(chuàng)建的三態(tài)選擇樹(shù)6中各結(jié)點(diǎn)構(gòu)建三態(tài)選擇關(guān)系過(guò)程進(jìn)行更詳細(xì)的說(shuō)明,處理步驟如圖5所示:
[0054]S41:用戶進(jìn)行I通道增益DAC部件的自測(cè)試,設(shè)置303結(jié)點(diǎn)為選中狀態(tài);
[0055]S42:判斷303結(jié)點(diǎn)是否是葉結(jié)點(diǎn);
[0056]S43:設(shè)置304、305、306結(jié)點(diǎn)為選中狀態(tài);
[0057]S44:判斷303結(jié)點(diǎn)和其兄弟結(jié)點(diǎn)307、311的狀態(tài)是否一致;
[0058]S45:狀態(tài)不一致,置303結(jié)點(diǎn)的父結(jié)點(diǎn)302為部分選中狀態(tài);
[0059]S46:判斷302結(jié)點(diǎn)的兄弟結(jié)點(diǎn)和其狀態(tài)是否一致;
[0060]S47:置302結(jié)點(diǎn)的父結(jié)點(diǎn)301為部分選中狀態(tài)。
[0061]實(shí)施例2
[0062]在上述實(shí)施例的基礎(chǔ)上,如圖3-圖5所示,一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法,其中,包括以下步驟:
[0063]步驟一:匯總儀器整機(jī)自測(cè)試項(xiàng)目,定義整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)目名稱(chēng),明確整機(jī)、整件、部件與自測(cè)試項(xiàng)目之間的邏輯關(guān)系;
[0064]步驟二:創(chuàng)建空的三態(tài)選擇樹(shù);
[0065]步驟三:根據(jù)所述自測(cè)試項(xiàng)目及所述邏輯關(guān)系,將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)目名稱(chēng)作為樹(shù)的一個(gè)結(jié)點(diǎn)插入到三態(tài)選擇樹(shù)中,其中,所述自測(cè)試項(xiàng)目作為葉結(jié)點(diǎn)插入;定義所述自測(cè)試項(xiàng)目的測(cè)試函數(shù),在樹(shù)的葉結(jié)點(diǎn)中定義函數(shù)指針,指向?qū)?yīng)的自測(cè)試函數(shù);
[0066]步驟四:在三態(tài)選擇樹(shù)中選擇需要測(cè)試的整件或者部件、自測(cè)試項(xiàng)目結(jié)點(diǎn),采用樹(shù)的中序遍歷算法依次訪問(wèn)其它結(jié)點(diǎn),構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系,確定其它結(jié)點(diǎn)的狀態(tài);
[0067]步驟五:根據(jù)所述確定的其它結(jié)點(diǎn)的狀態(tài),對(duì)選中的自測(cè)試項(xiàng)目調(diào)用自測(cè)試函數(shù)進(jìn)行測(cè)試。
[0068]所述的自測(cè)試顯示組件構(gòu)造方法,其中,所述步驟一中,所述整機(jī)名稱(chēng)為需要進(jìn)行自測(cè)試的儀器名稱(chēng),一個(gè)整機(jī)包括若干整件,一個(gè)整件包括若干部件,一個(gè)部件包括若干自測(cè)試項(xiàng)。
[0069]所述的自測(cè)試顯示組件構(gòu)造方法,其中所述步驟二中,所述三態(tài)選擇樹(shù)以二叉鏈表作為存儲(chǔ)結(jié)構(gòu),并將所述二叉鏈表中結(jié)點(diǎn)狀態(tài)初始化設(shè)定為非選中狀態(tài)。
[0070]所述的自測(cè)試顯示組件構(gòu)造方法,其中,所述步驟三中,所述將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)名稱(chēng)插入到三態(tài)選擇樹(shù)中,具體步驟為:
[0071]步驟3A:只將葉結(jié)點(diǎn)作為自測(cè)試項(xiàng)目,為其定義函數(shù)指針;
[0072]步驟3B:整件名稱(chēng)和部件名稱(chēng)是自測(cè)試項(xiàng)目在邏輯上的歸屬,是其父結(jié)點(diǎn);
[0073]步驟3C:父結(jié)點(diǎn)選中,則父結(jié)點(diǎn)下所有子結(jié)點(diǎn)自動(dòng)為選中狀態(tài);父結(jié)點(diǎn)下某個(gè)子結(jié)點(diǎn)選中,父結(jié)點(diǎn)自動(dòng)為部分選中狀態(tài)。
[0074]所述的自測(cè)試顯示組件構(gòu)造方法,其中,所述步驟四中,所述構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系具體為:
[0075]步驟4A:改變非葉結(jié)點(diǎn)狀態(tài),首先設(shè)置其子結(jié)點(diǎn)的狀態(tài)與非葉結(jié)點(diǎn)的狀態(tài)一致,其次搜索非葉結(jié)點(diǎn)的子結(jié)點(diǎn),遞歸處理子結(jié)點(diǎn)的子結(jié)點(diǎn)和兄弟結(jié)點(diǎn),最后搜索非葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn),遞歸處理兄弟結(jié)點(diǎn)的父結(jié)點(diǎn)和父結(jié)點(diǎn)的父結(jié)點(diǎn),如果非葉結(jié)點(diǎn)的狀態(tài)和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和非葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài);
[0076]步驟4B:改變?nèi)~結(jié)點(diǎn)狀態(tài),首先搜索葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn),如果和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài),最后遞歸處理父結(jié)點(diǎn)的兄弟結(jié)點(diǎn)和其父結(jié)點(diǎn)。
[0077]本發(fā)明基于三態(tài)選擇樹(shù),結(jié)構(gòu)清晰,能夠方便展開(kāi)、收起、選擇、取消自測(cè)試項(xiàng),能夠按整件、部件為單位選擇測(cè)試項(xiàng),每一個(gè)自測(cè)試項(xiàng)測(cè)試完畢,可以實(shí)時(shí)顯示結(jié)果,并根據(jù)選擇狀態(tài)和測(cè)試結(jié)果自動(dòng)邏輯運(yùn)算部件、整件及整機(jī)的自測(cè)試結(jié)果儀器的自測(cè)試項(xiàng)目邏輯層次清晰、結(jié)構(gòu)合理、操作簡(jiǎn)捷方便,可以及時(shí)、快速、準(zhǔn)確地定位與檢測(cè)故障,實(shí)時(shí)查看儀器狀態(tài),提高執(zhí)行任務(wù)的可靠性與安全性,縮短故障檢測(cè)與隔離時(shí)間,進(jìn)而減少維修時(shí)間,提高系統(tǒng)可用性,降低儀器的使用維護(hù)費(fèi)用。
[0078]應(yīng)當(dāng)理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)上述說(shuō)明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種基于三態(tài)選擇樹(shù)的儀器自測(cè)試顯示組件構(gòu)造方法,其特征在于,包括以下步驟: 步驟一:匯總儀器整機(jī)自測(cè)試項(xiàng)目,定義整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)目名稱(chēng),明確整機(jī)、整件、部件與自測(cè)試項(xiàng)目之間的邏輯關(guān)系; 步驟二:創(chuàng)建空的三態(tài)選擇樹(shù); 步驟三:根據(jù)所述自測(cè)試項(xiàng)目及所述邏輯關(guān)系,將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)目名稱(chēng)作為樹(shù)的一個(gè)結(jié)點(diǎn)插入到三態(tài)選擇樹(shù)中,其中,所述自測(cè)試項(xiàng)目作為葉結(jié)點(diǎn)插入;定義所述自測(cè)試項(xiàng)目的測(cè)試函數(shù),在樹(shù)的葉結(jié)點(diǎn)中定義函數(shù)指針,指向?qū)?yīng)的自測(cè)試函數(shù); 步驟四:在三態(tài)選擇樹(shù)中選擇需要測(cè)試的整件或者部件、自測(cè)試項(xiàng)目結(jié)點(diǎn),采用樹(shù)的中序遍歷算法依次訪問(wèn)其它結(jié)點(diǎn),構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系,確定其它結(jié)點(diǎn)的狀態(tài); 步驟五:根據(jù)所述確定的其它結(jié)點(diǎn)的狀態(tài),對(duì)選中的自測(cè)試項(xiàng)目調(diào)用自測(cè)試函數(shù)進(jìn)行測(cè)試。
2.如權(quán)利要求1所述的自測(cè)試顯示組件構(gòu)造方法,其特征在于,所述步驟一中,所述整機(jī)名稱(chēng)為需要進(jìn)行自測(cè)試的儀器名稱(chēng),一個(gè)整機(jī)包括若干整件,一個(gè)整件包括若干部件,一個(gè)部件包括若干自測(cè)試項(xiàng)。
3.如權(quán)利要求1所述的自測(cè)試顯示組件構(gòu)造方法,其特征在于,所述步驟二中,所述三態(tài)選擇樹(shù)以二叉鏈表作為存儲(chǔ)結(jié)構(gòu),并將所述二叉鏈表中結(jié)點(diǎn)狀態(tài)初始化設(shè)定為非選中狀態(tài)。
4.如權(quán)利要求1所述的自測(cè)試顯示組件構(gòu)造方法,其特征在于,所述步驟三中,所述將整機(jī)名稱(chēng)、整件名稱(chēng)、部件名稱(chēng)、自測(cè)試項(xiàng)名稱(chēng)插入到三態(tài)選擇樹(shù)中,具體步驟為: 步驟3A:只將葉結(jié)點(diǎn)作為自測(cè)試項(xiàng)目,為其定義函數(shù)指針; 步驟3B:整件名稱(chēng)和部件名稱(chēng)是自測(cè)試項(xiàng)目在邏輯上的歸屬,是其父結(jié)點(diǎn); 步驟3C:父結(jié)點(diǎn)選中,則父結(jié)點(diǎn)下所有子結(jié)點(diǎn)自動(dòng)為選中狀態(tài);父結(jié)點(diǎn)下某個(gè)子結(jié)點(diǎn)選中,父結(jié)點(diǎn)自動(dòng)為部分選中狀態(tài)。
5.如權(quán)利要求1所述的自測(cè)試顯示組件構(gòu)造方法,其特征在于,所述步驟四中,所述構(gòu)建三態(tài)選擇樹(shù)中各結(jié)點(diǎn)的三態(tài)選擇關(guān)系具體為: 步驟4A:改變非葉結(jié)點(diǎn)狀態(tài),首先設(shè)置其子結(jié)點(diǎn)的狀態(tài)與非葉結(jié)點(diǎn)的狀態(tài)一致,其次搜索非葉結(jié)點(diǎn)的子結(jié)點(diǎn),遞歸處理子結(jié)點(diǎn)的子結(jié)點(diǎn)和兄弟結(jié)點(diǎn),最后搜索非葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn),遞歸處理兄弟結(jié)點(diǎn)的父結(jié)點(diǎn)和父結(jié)點(diǎn)的父結(jié)點(diǎn),如果非葉結(jié)點(diǎn)的狀態(tài)和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和非葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài); 步驟4B:改變?nèi)~結(jié)點(diǎn)狀態(tài),首先搜索葉結(jié)點(diǎn)的兄弟結(jié)點(diǎn),如果和兄弟結(jié)點(diǎn)狀態(tài)一致,則父結(jié)點(diǎn)狀態(tài)和葉結(jié)點(diǎn)狀態(tài)一致,否則,父結(jié)點(diǎn)狀態(tài)為部分選中狀態(tài),最后遞歸處理父結(jié)點(diǎn)的兄弟結(jié)點(diǎn)和其父結(jié)點(diǎn)。
【文檔編號(hào)】G06F9/44GK103559030SQ201310517391
【公開(kāi)日】2014年2月5日 申請(qǐng)日期:2013年10月28日 優(yōu)先權(quán)日:2013年10月28日
【發(fā)明者】王鵬, 樊曉騰, 左永鋒, 徐明哲, 周俊杰, 蔣方文 申請(qǐng)人:中國(guó)電子科技集團(tuán)公司第四十一研究所