發布日期:2022-10-09 點擊率:60
在自動測試系統中,硬件是基礎,軟件是靈魂。軟件在很大程度上決定了系統的先進性、可靠性、實用性和實時性,因此,對測試軟件設計的標準化研究對推進 測試系統的發展具有重要意義。本測試軟件設計標準 化研究主要針對第三代自動測試系統。 采用基于引擎的開發模式具有以下優點:
1 軟件操作平臺選擇
基于GU I的操作系統W IN98、W IN2000 及W IN / NT是目前應用最廣的軟件操作平臺。其中W IN2000 和W IN /NT具有較好的安全性、穩定性和實時性,基 于該操作系統的開發工具也最為豐富,因此,推薦用戶 選擇W IN2000或W IN /NT作為軟件操作系統。
2 編程語言選擇
測試軟件的編程語言比較多,主要有C /C + +語 言、通用高級語言、LabWindows/CV I、圖形程序設計語 言、專用測試語言等。
ATS軟件編程語言的選擇不是一個孤立的問題, 不能簡而論之,要根據不同情況分別給予確定。在選 擇語言時,建議從以下幾個方面給予考慮:
(1) 注重系統工程
在選擇編程語言時一定要從全系統出發,既要有先 進性,又要考慮系統之間的協調一致,采用的語言不能 太分散,要盡量集中選擇,同時考慮語言的發展趨勢。
(2) 考慮開發環境
在確定開發軟件采用的語言時,要注意了解國內 外的軟件發展趨勢,既要注意其流行程度,又要考慮其 適應性;既要考慮先進性,又要考慮可行性和經濟性; 還要選擇對硬件獨立性較強的語言。
(3) 適應系統規模
應根據系統的大小、采樣數的多少、實時性的強 弱、數據處理的復雜程度等方面進行具體分析,根據系 統的規模對編程語言進行適當的選擇。
3 軟件開發模式選擇
在傳統的測試系統軟件編制過程中,軟件的編寫 主要是以測試流程為依據,所有的測試參數、程控命 令、測試結果等都內置于測試程序中,軟件的通用性、 可移植性和可擴展性都很差。為了實現測試軟件平臺 的通用性、可移植性和可擴展性,出現了許多軟件開發 模式,下面對目前幾種常用的軟件開發模式進行比較, 以指導用戶合理地選擇適當的軟件開發模式。
3. 1 基于數據庫的軟件開發模式
基于數據庫的軟件開發模式的基本設計思想是通過數據庫來實現測試項目的選擇和測試流程的控制, 即將測試流程以數據庫的方式存儲在文件中,每條記 錄稱為一個測試元,包括儀器控制函數名稱、傳遞的形 式參數、測試結果上下限等信息。數據庫文件被主程 序調入并解釋每個測試元,按照測試元的要求調用儀 器控制函數完成測試過程和結果判定。這樣,流程被 單獨存儲在與主程序不相關的文件中,即使修改也不 用勞煩軟件工程師修改程序,使系統模塊化大大增強。 基于數據庫的開發模式使得軟件工程師及裝備工 程師各自獨立工作,軟件工程師不再針對每個測試流 程逐條編程,而裝備工程師也可以通過短時間培訓直 接將流程變成可以執行的測試程序,從而使得整個軟 件開發過程更為模塊化,縮短了系統開發時間。然而,數據庫驅動模式存在幾大缺點:
(1) 測試功能函數需要隨時增加;
(2) 程序解釋該數據庫需要額外的時間,并且數 據庫存取時間較慢(考慮了多種接口標準后損失了速 度) ,不適合實時采集和處理;
(3) 對需要的數據處理功能也存在函數膨脹的 趨勢;
(4) 數據庫流程的靈活性值得考慮。
基于上述缺點,要想使數據庫驅動模式通用化面 臨很大難度,最根本的問題是數據庫不適應測試系統 的執行機制。
3. 2 測試流程設計語言模式
為了解決復雜測試系統的通用化,人們又提出了 構建通用測試平臺。目前通用測試平臺的開發有文本 式流程設計語言、交互化流程設計工具兩種模式,兩者 除了人機界面有較大的區別外,內部機理大同小異。
(1) 文本格式流程設計語言
由于大型測試系統的儀器控制是比較復雜的過 程,要求裝備工程師熟悉測試系統硬件和儀器編程語 言是不現實和沒有意義的,為了將其與軟件工程師的 工作界面劃分開來,開發一種只適合于流程表達的語 言交于裝備工程師使用,主程序解釋或通過中介語言 (比如C語言)對其進行編譯形成可執行程序。這種 模式與數據庫模式相比提高了靈活性和執行速度,但 同樣要求復雜的解釋或編譯軟件。
(2) 交互式流程設計語言
一些測試儀器生產廠商紛紛提供了交互式流程設 計軟件,但幾乎無一例外都是針對系統中的具體儀器 功能和接口,所以即使不用編程也無法節省調試及開 發時間,并且無法交于裝備工程師直接使用。
3. 3 基于測試引擎的交換式軟件開發模式
虛擬儀器測試系統的通用結構一般由混合總線測 量儀器及數據采集模塊、專用轉接及信號調理模塊、被 測對象三大部分組成。
基于測試引擎的軟件開發方案的主要設計思想就 是在測試流程與具體儀器控制之間建立測試引擎,將 儀器控制與測試程序完全隔離,檢測流程的主控程序 中不進行直接面向儀器的操作,而是面向被測對象信 號接口的操作,被測對象接口信號到儀器接口的映射 及調理關系由平臺自動完成,映射關系的確定由專用 測試模塊及連接電纜決定,采用數據庫方式管理,映射 記錄由硬件設計人員填寫。
系統定義測量儀器部分與專用轉接模塊的接口稱 為Ai (A1 ~An ) ,專用轉接模塊與被測對象的接口稱為 B i (B1 ~Bn ) ,測試程序通過控制儀器的輸入輸出實現 所有的測試功能。由裝備測試人員針對B i 接口編寫 測試流程,在接口配置文件中存儲了B - >A 的映射關 系及各點所對應的功能函數。這樣就使得軟件工程師 及裝備工程師可各自獨立工作,實現了系統的模塊化 和通用化。基于測試引擎的設計開發模式示意圖如圖 1所示。
(1) 由于引擎的獨立性,可以采用多種編程語言 開發測試系統;
可以插入故障診斷引擎,使系統具有更通用 的功能;
(3) 硬件儀器改變后不需要改變測控程序,只需 要安裝新的儀器驅動程序,改變或配置引擎中相關函 數,因此,通用化、模塊化、硬件無關性、程序重用性明 顯增強;
(4) 與數據庫和解釋性語言相比,不需要額外的 復雜解釋,提高了執行效率;
(5) 提供了狀態高速緩存機制,比傳統的測試系 統執行速度快10~30%。
(6) 對裝備測試人員、硬件接口設計人員及軟件 開發人員的任務進行了合理分配,使得測試程序與儀器控制完全分離,大大簡化了測試系統主程序設計,提 高了開發效率。
(7) 由于測試引擎的硬件無關性,幾乎不需要再 進行儀器控制編程就可將測試系統移植到新型設備, 縮短了開發周期、降低了維護費用、提高了維護效率, 適應目前復雜的系統測試的需求。
但是測試引擎的開發模式同樣存在諸多技術難點,如:接口映射配置文件和測試程序接口之間的實現 方法;對有些不常用測量功能的封裝可能考慮不足,導 致測試引擎的修改。
3. 4 基于國際標準ATS體系結構的開發模式
基于國際標準ATS體系結構的開發模式的主要 設計思想是:按照IEEE 1226 ABBET劃分軟件體系結 構層次,并使用組件技術,基于組件的功能模塊可掛在 軟總線上,模塊之間、層次之間通過接口實現測試信息 的交互,可方便地實現軟件系統功能的添加、裁剪和重 構。系統廣泛采用了測試領域和其他相關領域的標 準,如IEEE1226、IEEE1232、IEEE1641、IEEE1671、IV I、 TCP / IP等,使系統具有很好的適應性和兼容性。其中 IV I儀器驅動器規范和IEEE1226. 3資源管理標準的 采用,最大限度地實現儀器的可互換性; IEEE 1641標 準提供了基于COM技術實現的信號描述與控制的能 力,使得用戶可以選擇任意支持COM的開發平臺與程 序設計語言,而且能夠很方便地實現測試程序的可移 植; IEEE1671提供了一個開放的信息傳輸的標準,使 得信息可以在不同測試儀器的測試程序之間傳輸,為 TPS可移植與互操作、儀器可互換提供了便利條件; IEEE1232標準定義了ATS故障診斷服務接口,它提 供了基本診斷服務,同時允許各種診斷方法添加到 ATS中去,大大提高ATS故障診斷水平。
采用基于國際標準ATS體系結構的開發模式具 有以下優點:
(1) 采用標準語言編寫面向信號的測試流程,可 保證測試程序的重用性、版本升級、儀器無關性;
(2) 通過符合國際標準開發的TPS在最大程度上 滿足了系統升級、功能擴展、二次開發實用性好的要求;
(3) 通過COM或CORBA技術實現TPS軟件功 能模塊之間的通信,使系統網絡化變得簡單且可靠性 高,不同操作系統與開發工具之間兼容性強;
(4) 與故障診斷等模塊實現了標準連接,對外掛 各種診斷工具提供了統一的接口。
采用基于國際標準ATS體系結構的開發模式同 樣存在許多技術難點,如: IV I - MSS標準及開發工具 目前還不具備; IV I規范沒有覆蓋所有儀器,目前無法 實現整個系統的儀器無關性等。
4 結束語
自動測試系統軟件設計是一個不斷發展的過程, 需要進行統一、簡化、協調、優選。目前已有超過數百 種程序設計語言,眾多軟件開發模式,如何制定相應的 標準,是目前自動測試系統軟件設計標準化的一個難 題。本文比較了目前幾種流行的軟件操作平臺、軟件 開發程序設計語言和軟件開發模式的優缺點,并總結 了它們的選用標準及對策,對推進測試軟件設計標準 化有著重要的意義。
參考文獻:
[ 1 ] 李寶安,李行善. 自動測試系統(ATS)軟件的發展及關鍵 技術[ J ]. 測控技術, 2003, 22 (1) : 1 - 4.
[ 2 ] 劉金甫,田同明. 可互操作ATS的技術實現途徑[ J ]. 測控 技術, 2002 , 21 (2) : 53 - 56.
</font
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV