- LabVIEW虛擬儀器技術及應用
- 李江全編著
- 1857字
- 2022-02-24 17:51:46
1.3 虛擬儀器的軟件結構與開發平臺
虛擬儀器的核心就是儀器功能的軟件化。就是利用計算機的軟件和硬件資源,使本來需要硬件或電路實現的技術軟件化和虛擬化,最大限度地降低系統成本,增強系統的功能與靈活性。
1.3.1 虛擬儀器的軟件結構
虛擬儀器的軟件結構如圖1-3所示。
從低層到頂層,虛擬儀器的軟件系統框架包括三個部分:VISA庫、儀器驅動程序和應用程序。
圖1-3 虛擬儀器的軟件結構
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)友好的人機界面。虛擬儀器的測試結果應具備按照用戶的要求,有以直觀、友好的圖形化方式顯示、輸出的能力,相應的開發平臺也應該提供便捷的方式來實現這一目標。
從以上的分析可以看出,通用的軟件開發平臺無法全部滿足虛擬儀器開發的要求。
因此,虛擬儀器的主導公司紛紛推出了專為虛擬儀器開發而設計的第二類虛擬儀器軟件開發平臺,即圖形化的編程軟件。這類軟件都通過建立和連接圖標來構成虛擬儀器工作程序并定義其功能,而不是用傳統的文本編輯形式。它們具有編程效率高、通用性強、交叉平臺互換性好的特點,適用于大批量多品種儀器的生產。
作為測試工程領域的強有力工具,近年來,由美國國家儀器公司(National Instruments,簡稱NI)開發的虛擬儀器軟件LabVIEW得到了業界的普遍認可,在測試系統分析、設計和研究方面得到廣泛應用。
LabVIEW的全稱是實驗室虛擬儀器工程平臺(Laboratory Virtual Instrument Engineering Workbench),是一種基于G語言(Graphics Language,圖形化編程語言)的測試系統軟件開發平臺。它采用了工程人員熟悉的術語、圖標等圖形化符號來代替常規基于文字的語言程序。它把復雜、煩瑣、費時的語言編程簡化成選擇功能圖標,并用線條把各種功能圖標連接起來的簡單圖形編程方式。利用LabVIEW,用戶可通過定義和連接代表各種功能模塊的圖標,方便迅速地創建虛擬儀器。
LabWindows/CVI是NI公司開發的另一種交互式開發平臺。它將C語言開發平臺與用于數據采集分析和顯示的測控工具結合起來,將開發平臺與交互式編程方法、功能面板及庫函數集成起來,從而為熟悉C語言的開發人員建立檢測系統、自動測量環境、數據采集與處理系統、過程監控系統等提供一個很好的軟件開發環境。