基于PXI的便攜式測控系統(tǒng)
此次選用的6位半數(shù)字多用表模塊PXI4070模塊可對電壓、電壓和電阻等基本參量進行高精度測量。其主要技術(shù)指標為:直流電壓:300V,精確度± 0.019‰;交流電壓:300V,準確度:±0.7‰;直流電流:3A;電阻:100MΩ。上述測試范圍和精度都完全可以滿足測試要求。
3 基于PXI總線測控系統(tǒng)的軟件子系統(tǒng)
如果說硬件子系統(tǒng)是測控系統(tǒng)的基礎(chǔ),那么軟件子系統(tǒng)就是測控系統(tǒng)的靈魂。硬件子系統(tǒng)為滿足不同的實際需求,可能有很大差別。然而,軟件子系統(tǒng),如果設(shè)計 一個很好的框架,在改動很少甚至不用改動的情況就能滿足不同的需求。硬件設(shè)計完畢,調(diào)試成功后很少再出現(xiàn)問題。硬件子系統(tǒng)存在的某些缺陷,有時只能有軟件 子系統(tǒng)來彌補。
3.1 軟件子系統(tǒng)的一般組成
軟件子系統(tǒng)的設(shè)計,必 須考慮軟件系統(tǒng)的穩(wěn)定性和可擴充性。設(shè)計一個軟件系統(tǒng),如果只針對某一具體的項目,完成后的軟件穩(wěn)定性很差,移植到其他項目很難,就是移植過去,花費的時 間不如重新編寫。所以為了適應(yīng)不同的需求,應(yīng)將各種測控系統(tǒng)的共性抽象出來,設(shè)計一個可重用的框架。通常,一個比較合理的測控系統(tǒng)框架包含三個部分:系統(tǒng) 級組態(tài)、項目級組態(tài)、測控執(zhí)行,如圖13所示。
3.2 系統(tǒng)級組態(tài)設(shè)計
系統(tǒng)級組態(tài)一般是對硬件子系統(tǒng)的配置進行組態(tài),并將組 態(tài)的結(jié)果保存到數(shù)據(jù)庫中,這些組態(tài)包括系統(tǒng)組態(tài)、單元組態(tài)、對特定模塊的組態(tài)、其他可重用信息的配置等。這些信息保存到系統(tǒng)數(shù)據(jù)庫中。數(shù)據(jù)庫的實現(xiàn)方法不 外乎兩種,其一,自定義的數(shù)據(jù)格式,以二進制或文本方式保存起來,其二,用現(xiàn)成的通用的數(shù)據(jù)庫如Access,SQL Server等保存起來。自定義格式保密性強,但隨機訪問較麻煩,而通用的數(shù)據(jù)庫,保密性差一些,但查詢很方便。相比較而言,對于組態(tài)結(jié)果主要是查詢,所 以選擇通用數(shù)據(jù)庫是比較明智的。
在系統(tǒng)級組態(tài)中,涉及到對硬件子系統(tǒng)的配置,通常是指一個完整的測控系統(tǒng)中包括哪些PXI模塊,這些 模塊的資源號、和資源字符串是最重要的,我們可以在表格中人工輸入,然后保存起來,這是一個常規(guī)的做法,最巧妙的辦法是調(diào)用VISA庫中的函數(shù),讓計算機 自動搜索PXI模塊。對于單元組態(tài),我們可以將測控系統(tǒng)分成多個回路,對每一回路來說,無論閉環(huán)還是開環(huán),均有某一個或多個的模塊的通道組成。我們單元組 態(tài)的目的就是將這些回路的組合信息保存起來,給他取一個比較友好的名字,對操作人員來說,友好的名字應(yīng)該比單純的通道編號容易記住。
3.3 項目級組態(tài)設(shè)計
我們設(shè)計一個測控系統(tǒng),其目的要用于實際的項目,項目的不同可能要使用的PXI模塊有所差別,最愚蠢的辦法是針對特定的項目開發(fā)特定的軟件。系統(tǒng)級組態(tài) 中,我們已經(jīng)具有了測控系統(tǒng)中所包含的硬件信息,這些信息是可變的,但獲取這些信息的程序未變。如果設(shè)計良好項目級組態(tài)框架,我們同樣可以實現(xiàn)類似功能。 基于選擇系統(tǒng)級數(shù)據(jù)庫類型的同一原因,我們選擇通用的數(shù)據(jù)庫保存項目級組態(tài)結(jié)果。
對于某一項目,由于其繼承于系統(tǒng)級組態(tài)結(jié)果,所以它 擁有全部的單元組態(tài)信息。然而,特定的項目可能包含多種不同的工況,并不是每一工況都需要所有的PXI模塊參與。我們針對不同的工況,挑選必需的回路,就 是我們使用項目級組態(tài)的方法和目的。這些回路在某一工況中使用,通常不是并行使用的,可能和順序有很大關(guān)系,這就是要規(guī)定測試流程??傊ㄋ椎闹v,項目 級組態(tài)就是選擇測控回路和規(guī)定回路的動作序列。
3.4 測試執(zhí)行
我們使用項目級組態(tài),保證測控系統(tǒng)滿足不同目的的需要。有了這些信息,再編制通用的執(zhí)行程序就易如反掌。當(dāng)數(shù)據(jù)量較大時,保存到通用數(shù)據(jù)庫中與保存為自定 義格式的文件相比,保存速度是瓶頸。測試或控制過程中的所有數(shù)據(jù)都應(yīng)保存起來,大量的數(shù)據(jù),在計算機內(nèi)存中緩存后,一次性寫入到自定義文件內(nèi),效率更高, 所以對實時數(shù)據(jù)來說,應(yīng)以自定義格式的文件保存。
3.5 某通用引信測試平臺軟件子系統(tǒng)
通用引信測試平臺軟件在Windows 2000/XP操作系統(tǒng)下,使用C++平臺開發(fā)和運行。由于本測試平臺的測試對象涉及多種被測引信,每種被測引信的測試方法、測試項目、測試結(jié)果的處理等 都不同,并且隨著對被測對象測試經(jīng)驗的積累在測試系統(tǒng)實際使用中測試流程可能需要改變。使用傳統(tǒng)的順序流程編程方法很難實現(xiàn)這樣一種多變復(fù)雜的系統(tǒng)。因 此,本測試平臺的應(yīng)用軟件采用框架式結(jié)構(gòu)設(shè)計,即采用數(shù)據(jù)驅(qū)動的方法,使測試人員通過管理測試過程中的一些配置數(shù)據(jù),不必修改測試程序,就可完成測試任 務(wù)。
該集成開發(fā)環(huán)境可以根據(jù)測試系統(tǒng)的特點,建立描述測試系統(tǒng)的數(shù)據(jù)庫,并采用圖形化的人機交互的輸入方法實現(xiàn)測試流程的輸入。通過 取出數(shù)據(jù)庫中的測試流程,就可以實現(xiàn)測試程序的自動執(zhí)行,完成測試任務(wù)。這種方法不僅可以提高測試程序的輸入效率,而且使測試人員可以脫離繁瑣的編程工 作,集中精力研究測試對象和測試流程。
某通用引信測試系統(tǒng)軟件根據(jù)實際測試的需要,劃分為:數(shù)據(jù)管理、測試任務(wù)設(shè)置和執(zhí)行測試三大功能,其中數(shù)據(jù)管理又劃分為流程數(shù)據(jù)管理和結(jié)果數(shù)據(jù)管理兩大部分。各部分功能如下:
1)流程數(shù)據(jù)管理:完成對通用測試配置數(shù)據(jù)庫的維護功能,采用樹型結(jié)構(gòu)管理測試卡、測試項目、測試點的信息。具體要求能夠直觀地增加、刪除、修改任意節(jié)點,移動拷貝任意節(jié)點。
2)測試任務(wù)管理:能夠進行任務(wù)配置,確定一次測試所做的測試內(nèi)容,執(zhí)行順序等。根據(jù)系統(tǒng)需要,從已有的測試流程中,選擇或組合測試項目,形成一個測試任務(wù)。
3)測試程序:選擇要執(zhí)行的測試任務(wù),根據(jù)測試流程,執(zhí)行測試項目。
4)結(jié)果數(shù)據(jù)管理:完成對測試結(jié)果的查詢、輸出功能,包括查詢、預(yù)覽結(jié)果報表、刪除、打印
5)測試數(shù)據(jù)庫:從功能上可將測試數(shù)據(jù)庫分為三種:
a. 測試流程數(shù)據(jù)庫:記錄所有與測試流程有關(guān)的數(shù)據(jù)信息,包括流程描述的文字、結(jié)構(gòu)和數(shù)據(jù)信息,使用儀器的配置信息,流程控制信息等。它是測試平臺的最基本的數(shù)據(jù)庫。
評論