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