官术网_书友最值得收藏!

1.3 虛擬儀器的軟件結構與開發平臺

虛擬儀器的核心就是儀器功能的軟件化,就是利用計算機的軟件和硬件資源,使本來需要硬件或電路實現的技術軟件化和虛擬化,最大限度地降低系統成本,增強系統的功能與靈活性。

1.3.1 虛擬儀器的軟件結構

虛擬儀器的軟件結構如圖1-3所示。

圖1-3 虛擬儀器的軟件結構

從底層到頂層,虛擬儀器的軟件結構包括三個部分:VISA庫、儀器驅動程序、應用程序。

1.VISA庫

虛擬儀器軟件結構,其實質就是標準的I/O函數庫及其相關規范的總稱。一般稱這個I/O函數庫為VISA庫。它駐留于計算機系統之中,執行儀器總線的特殊功能,是計算機與儀器之間的軟件層連接,以實現對儀器的程控。對于儀器驅動程序開發者來說,VISA庫是一個可調用的操作函數集。

2.儀器驅動程序

設備驅動程序是完成對某一特定設備的控制與通信的軟件程序集合,是應用程序實現設備控制的橋梁。每個設備都有自己的驅動程序,由儀器廠商以源碼的形式提供給用戶,用戶在應用程序中調用儀器驅動程序。儀器驅動程序主要用來初始化虛擬儀器,設置特定的參數和工作方式,使虛擬儀器保持正常的工作狀態。用戶在設計應用程序時需調用儀器驅動程序。

對于市場上的大多數計算機內置插卡,廠家都配備了相應的儀器驅動程序。用戶在編制應用程序時,可以像調用系統函數那樣,直接調用儀器驅動程序,進行儀器操作。如果所用計算機內置插卡和外設插卡沒有儀器驅動程序,用戶也可以采用高級語言自己編寫。

3.應用程序

應用程序建立在儀器驅動程序之上,直接面對操作用戶,并提供直觀、友好的操作界面,豐富的數據分析與處理功能來完成自動測試任務。

應用程序包含兩個方面的程序。

1)實現虛擬面板功能的前面板軟件程序。對于每個虛擬儀器模塊來說,必須提供一個虛擬儀器面板。在系統集成初始化時,軟面板既可用于實現儀器功能,又能幫助用戶理解和熟悉儀器特性。軟面板是一個可獨立運行的Windows應用程序。

2)定義測試功能的流程圖軟件程序。應用軟件直接面對操作用戶,通過提供直觀、友好的操作界面,豐富的數據分析與處理功能,來完成虛擬儀器的測試功能。它體現了虛擬儀器的優點和本質。用戶可方便、直觀地對應用程序進行后期開發。

1.3.2 虛擬儀器的開發平臺

虛擬儀器的軟件開發平臺目前主要有兩類。

第一類是基于傳統語言(如C、Visual Basic、Visual C++等)的通用的軟件開發平臺。這類語言具有適應面廣、開發靈活的特點。但這種開發方式對測試人員的要求很高,需要自己將各種數據處理方法用計算機語言實現,還要求測試人員對用于數據通信的各種連接總線(如RS-232、GPIB、USB等)非常熟悉。對于這些要求,絕大多數測試工程人員難以做到,或者需要花費大量的時間來研究,而懂得這些編程方法的人員又不一定懂得測試。因此,用這種平臺開發測試工程軟件難度大,周期長,費用高,可擴展性差。

從實現虛擬儀器功能的角度出發,開發虛擬儀器軟件的平臺應提供以下功能。

1)直觀、豐富的儀器圖形控件。由于虛擬儀器是用圖形化的界面來模擬傳統儀器的控制面板等交互部件,因此開發平臺必須預置種類豐富的圖形化控件,供軟件開發者使用。

2)強大的數據處理功能。虛擬儀器的優點之一就是能利用PC強大的處理能力對被測信號進行數據處理、頻譜分析等。因此,開發虛擬儀器的軟件平臺應提供大量的數據處理功能模塊供開發者調用。

3)友好的人機界面。虛擬儀器的測試結果應具備按照用戶的要求,以直觀、友好的圖形化方式顯示、輸出的能力,相應的開發平臺也應該提供便捷的方式來實現這一目標。

從以上的分析可以看出,通用的軟件開發平臺無法滿足虛擬儀器開發的全部要求。

因此,虛擬儀器的主導公司紛紛推出了專為虛擬儀器開發而設計的第二類虛擬儀器軟件開發平臺,即圖形化的編程軟件。這類軟件通過建立和連接圖標來構成虛擬儀器工作程序并定義其功能,而不是用傳統的文本編輯形式。它們具有編程效率高,通用性強,交叉平臺互換性好的特點,適用于大批量多品種儀器的生產。

作為測試工程領域的強有力工具,近年來,美國國家儀器公司(NI)開發的虛擬儀器軟件LabVIEW得到了業界的普遍認可,在測試系統分析、設計和研究方面得到廣泛應用。

LabVIEW的全稱是實驗室虛擬儀器工程平臺(Laboratory Virtual Instrument Engineering Workbench),是一種基于G語言(Graphics Language,圖形化編程語言)的測試系統軟件開發平臺。它采用了工程人員熟悉的術語、圖標等圖形化符號來代替常規基于文字的語言程序。它把復雜、煩瑣、費時的語言編程簡化成完成某些功能的圖標,并用線條把各種功能圖標連接起來的簡單圖形編程方式。利用LabVIEW,用戶可通過定義和連接代表各種功能模塊的圖標,方便迅速地創建虛擬儀器。

主站蜘蛛池模板: 城固县| 芜湖县| 井陉县| 泌阳县| 万年县| 濮阳县| 桐庐县| 明水县| 辉南县| 巴里| 平湖市| 清远市| 大宁县| 永昌县| 仙桃市| 安新县| 安阳县| 普格县| 鹿泉市| 友谊县| 九龙县| 平和县| 南投市| 仁化县| 永吉县| 江北区| 弥勒县| 达日县| 长岭县| 黄冈市| 资源县| 渝中区| 怀仁县| 抚宁县| 赞皇县| 肃南| 海南省| 福泉市| 维西| 西宁市| 安国市|