曹光磊,郭敏,閻濤,朱學波,李龍,曹寧
(中電科思儀科技股份有限公司,山東青島,266555)
PXI總線開關模塊是PXI總線自動測試系統同待測件之間信息交換的中樞。PXI射頻開關模塊,是自動測試系統中對射頻信號進行路由、切換的重要功能模塊[1]。通過各種開關模塊,系統可以將各種控制信號或者激勵信號注入到被測對象的任意輸入端口,同時也可以將被測對象輸出端口的信息自動切換到相應的測試設備,實現PXI總線測試系統的自動化測試操作,縮短測試時間同時減少測試過程中人為的錯誤。PXI總線開關模塊以其靈活的拓撲結構、集成度高、環境適應性好、多路復用、擴展性強等特點,能夠較好地滿足上述信號切換的要求。PXI總線矩陣開關模塊在自動測試系統中發揮著重要作用,大量被應用在武器裝備測試系統中。
因此基于各種開關模塊的軟件設計也是至關重要。由于開關模塊的開關種類、開關數量、實現的功能的不同,因此,不同的開關模塊需要開發不同的開關軟件進行控制。產品研發人員需要花費大量的時間進行開發,而且產品的維護很容易出錯,致使軟件的開發效率以及代碼質量普遍偏低。
傳統開關模塊軟件具體設計樣式如圖1所示,每個開關模塊需要開發獨立的開關模塊軟件,包括獨立的用戶界面和虛擬儀器驅動。由于程序開發人員設計思路不同,同類型開關模塊軟件界面復雜多樣,各不相同,用戶體驗效果差。多種開關模塊需要多套不同的開關軟件,增加新的開關模塊,需要重新開發相應的開關軟件,開發過程繁瑣。

圖1 傳統開關模塊軟件設計樣式
綜上,傳統的PXI總線開關模塊軟件設計方法,具有以下缺點:1)拓展性差,增加新的開關模塊,需要重新開發相應的開關軟件,開發過程繁瑣。2)通用性差,每種開關模塊對應各自的開關軟件,多種開關模塊需要多套不同的開關軟件,該軟件開發方式存在大量的重復性開發。3)同類型開關模塊軟件界面復雜多樣,用戶體驗效果差。
為了解決上述問題,本發明提出了一種PXI總線開關模塊控制系統及方法,該控制系統包括統一的用戶界面和虛擬儀器驅動,多個PXI總線開關模塊共用一個虛擬儀器驅動和用戶界面。該控制系統拓展性好,增加新的開關模塊時,只需要在開關信息數組中增加該開關模塊相關信息,即可生成配套的開關控制。該控制系統通用性好,開關信息數組定義一種或多種開關模塊信息,即可生成一種或多種開關模塊的軟件。平臺化軟件具有更大程序的靈活性和可擴展性,不僅可以根據當前的需求進行選擇和搭配使用,而且具備了更好的二次開發接口[2]。
一種PXI總線開關模塊控制系統,包括:虛擬儀器用戶界面層和虛擬儀器驅動層;虛擬儀器用戶界面層與虛擬儀器驅動層進行數據傳輸,虛擬儀器驅動層分別與多個PXI總線開關模塊進行通信。平臺化軟件設計原理圖如圖2所示。

圖2 平臺化軟件設計原理圖
PXI總線標準是由美國國家儀器公司聯合其他多家儀器領域權威機構提出的一種儀器總線接口標準[3]。將 PXI總線開關模塊分為三類進行程序開發,分別為矩陣類開關模塊、一選多路類開關模塊和獨立通道類開關模塊。三種類型開關模塊采用三種不同的虛擬儀器驅動控制方式,同種類型虛擬儀器驅動控制方式相同。三種類型開關模塊采用三種不同的界面形式,同類型開關模塊采用同類型界面。
進一步地,將PXI總線開關模塊分為:矩陣類開關模塊、一選多路類開關模塊和獨立通道類開關模塊。矩陣類開關模塊包括:4X32開關矩陣模塊、6X8開關矩陣模塊等;一選多路類開關模塊包括:1選12開關模塊、1選4開關模塊等;獨立通道類開關模塊:包括25通道單刀單擲開關模塊、80個獨立單線制開關模塊等。
保存所有開關模塊的信息包括通道信息、開關地址、開關類別、開關設備ID、設備串號、開關數量、開關組數等內容,將信息保存到開關驅動信息數組中。儀器主程序查找設備中所有的開關模塊,獲取開關驅動數組信息,根據模塊設備ID和設備串號的不同,分別對模塊進行初始化,并定義開關通道。界面用戶和集成用戶將控制數據傳遞到驅動開關控制函數,驅動開關控制函數向開關地址設置數據,控制開關的通斷。平臺化軟件虛擬儀器驅動設計流程圖如圖3所示。

圖3 平臺化軟件虛擬儀器驅動設計流程圖
所有開關模塊的信息包括開關類別、開關設備ID、設備串號、開關數量、開關組數等內容,將信息保存到開關界面信息數組中。儀器主程序獲取開關界面數組信息,各個開關模塊將模塊信息傳遞到控件生成函數,自動生成對應模塊界面。控件生成函數,生成開關按鈕、開關名稱、開關連接線等控件,并設置開關按鈕大小、連接線顏色、開關位置、開關間隔等內容。根據開關模塊的數量生成對應數量的開關界面,增加或減少開關模塊數量,開關界面數量相應的增加或減少。用戶選擇不同的開關模塊,界面切換到相應模塊界面,各個模塊的界面互相獨立,互不影響。通過操作界面上開關控件,各個開關模塊將模塊信息傳遞到開關控制函數,通過開關控制函數將開關控制命令傳遞到底層模塊,控制各個開關的通斷,同時界面上開關狀態、開關連接線等狀態發生相應變化。

圖4 平臺化軟件用戶界面設計流程圖
基于PXI總線開關模塊平臺化軟件具有良好的通用性和擴展性,極大地節約了開發各種類型開關模塊軟件的時間,能夠以最小的代價最大程度的滿足應用的需求,減少了人力、物力的浪費。通用性好,開關信息數組定義一種或多種開關模塊信息,即可生成一種或多種開關模塊的軟件;拓展性好,增加新的開關模塊,只需要在開關信息數組中增加該開關模塊相關信息,即可生成配套開關軟件;同類型開關模塊采用統一軟件界面,用戶操作方便,利于自動測試系統集成。