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

1.2 LabVIEW簡介

本節主要介紹了圖形化編程語言LabVIEW,并對當前最新版本LabVIEW 2018簡體中文版的新功能和新特性進行了介紹。

1.2.1 LabVIEW概述

LabVIEW是實驗室虛擬儀器集成環境(Laboratory Virtual Instrument Engineering Workbench)的簡稱,是美國國家儀器公司(NATIONAL INSTRUMENTS,NI)的創新軟件產品,也是目前應用最廣、發展最快、功能最強的圖形化軟件開發集成環境之一,又稱為G語言。和Visual Basic、Visual C++、Delphi、Perl等基于文本型程序代碼的編程語言不同,LabVIEW采用圖形模式的結構框圖構建程序代碼,因而,在使用這種語言編程時,基本上不需要寫程序代碼,取而代之的是用圖標、連線構成的流程圖。它盡可能地利用了開發人員、科學家、工程師所熟悉的術語、圖標和概念,因此,LabVIEW是一個面向最終用戶的工具。它可以增強用戶構建自己的工程系統的能力,提供了實現儀器編程和數據采集系統的便捷途徑。使用它進行原理研究、設計、測試并實現儀器系統時,可以大大提高工作效率。

LabVIEW是一個標準的圖形化開發環境,它結合了圖形化編程方式的高性能與靈活性以及專為測試、測量與自動化控制應用設計的高端性能與配置功能,能為數據采集、儀器控制、測量分析與數據顯示等各種應用提供必要的開發工具,因此,LabVIEW通過降低應用系統開發時間與項目籌建成本幫助科學家與工程師們提高工作效率。

LabVIEW被廣泛應用于各種行業中,包括汽車、半導體、航空航天、交通運輸、科學實驗、電信、生物醫藥與電子等。無論在哪個行業,工程師與科學家們都可以使用LabVIEW創建功能強大的測試、測量與自動化控制系統,在產品開發中進行快速原型創建與仿真工作。在產品的生產過程中,工程師們也可以利用LabVIEW進行生產測試,監控各個產品的生產過程。總之,LabVIEW可用于各行各業產品開發的階段。

LabVIEW的功能非常強大,它是可擴展函數庫和子程序庫的通用程序設計系統,不僅可以用于一般的Windows桌面應用程序設計,而且還提供了用于GPIB設備控制、VXI總線控制、串行口設備控制,以及數據分析、顯示和存儲等應用程序模塊,其強大的專用函數庫使得它非常適合編寫用于測試、測量以及工業控制的應用程序。LabVIEW可方便地調用Windows動態鏈接庫和用戶自定義的動態鏈接庫中的函數,還提供了CIN(Code Interface Node)節點使得用戶可以使用由C或C++語言,如ANSI C等編譯的程序模塊,使得LabVIEW成為一個開放的開發平臺。LabVIEW還直接支持動態數據交換(DDE)、結構化查詢語言(SQL)、TCP和UDP網絡協議等。此外,LabVIEW還提供了專門用于程序開發的工具箱,使得用戶可以很方便地設置斷點,動態的執行程序可以非常直觀形象地觀察數據的傳輸過程,而且可以方便地進行調試。

當人們困惑基于文本模式的編程語言,陷入函數、數組、指針、表達式乃至對象、封裝、繼承等枯燥的概念和代碼中時,迫切需要一種代碼直觀、層次清晰、簡單易用且功能強大的語言。G語言就是這樣一種語言,而LabVIEW則是G語言應用的杰出代表。LabVIEW基于G語言的基本特征——用圖標和框圖產生塊狀程序,這對于熟悉儀器結構和硬件電路的硬件工程師、現場工程技術人員及測試技術人員來說,編程就像是設計電路圖一樣。因此,硬件工程師、現場技術人員及測試技術人員學習LabVIEW可以駕輕就熟,在很短的時間內就能夠學會并應用LabVIEW。

從運行機制上看,LabVIEW—這種語言的運行機制就宏觀上講已經不再是傳統的馮·諾伊曼計算機體系結構的執行方式了。傳統的計算機語言(如C語言)中的順序執行結構在LabVIEW中被并行機制所代替;從本質上講,它是一種帶有圖形控制流結構的數據流模式(Data Flow Mode),這種方式確保了程序中的函數節點(Function Node),只有在獲得它的全部數據后才能夠被執行。也就是說,在這種數據流程序的概念中,程序的執行是數據驅動的,它不受操作系統、計算機等因素的影響。

LabVIEW的程序是數據流驅動的。數據流程序設計規定,一個目標只有當它的所有輸入都有效時才能執行;而目標的輸出,只有當它的功能完全時才是有效的。這樣,LabVIEW中被連接的方框圖之間的數據流控制程序的執行次序,而不像文本程序受到行順序執行的約束。因而,可以通過相互連接功能方框圖快速簡潔地開發應用程序,甚至還可以有多個數據通道同步運行。

1.2.2 LabVIEW 2018的新功能

LabVIEW 2018 是 NI 公司推出的 LabVIEW 軟件的最新版本,是目前功能最為強大的LabVIEW系列軟件。

與原來的版本相比,新版本的LabVIEW有以下一些主要的新功能和更改。

1.針對不同數據類型自定義自適應VI

● 比較選板新增檢查類型子選板。

● 使用“檢查類型”VI 和函數可強制讓自適應 VI(.vim)只接受滿足特定要求的數據類型。

● 使用類型專用結構可為指定數據類型自定義自適應VI(.vim)中的代碼段。

2.使用LabVIEW的命令行接口運行操作

LabVIEW 2018允許使用LabVIEW的命令行接口(CLI)執行命令在LabVIEW中運行操作。用于LabVIEW的CLI支持以下操作:

● MassCompile:批量編譯指定目錄中的文件。

● ExecuteBuildSpec:使用指定生成規范中的設定生成應用程序、庫或比特文件,并返回輸出文件的路徑。

● RunVI:使用預定義連線板接口運行VI,并返回輸出或錯誤信息。

● CloseLabVIEW:關閉LabVIEW,無提示。

● (VI Analyzer工具包) RunVIAnalyzer:LabVIEW VI Analyzer工具包中運行指定的VI分析器任務,并將測試報告保存到指定位置。

● (Unit Test Framework工具包) RunUnitTests:在LabVIEW Unit Test Framework工具包中對指定文件運行測試,并將JUnit文件保存到指定位置。

3.從LabVIEW調用Python代碼

互連接口選板新增Python子選板,從LabVIEW代碼中可以調用Python代碼。Python選板包含以下函數:

● 打開Python會話:用特定版本的Python打開Python會話。

● Python節點:直接調用Python函數。

● 關閉Python會話:關閉Python會話。

4.應用程序生成器的改進

LabVIEW 2018對LabVIEW應用程序生成器和程序生成規范進行了下列改進。

1)在Windows和Linux Real-Time終端上創建程序包。

2)LabVIEW生成的.NET程序集的向后兼容性支持。

5.環境改進

LabVIEW 2018包含以下對LabVIEW環境的改進:

(1)創建自定義類型的功能改進

LabVIEW 2018提供更多創建自定義類型的方式,可將自定義控件的所有實例鏈接到已保存的自定義控件文件。

(2)用于格式化文本的鍵盤快捷鍵

在LabVIEW環境中編輯文本時,使用以下鍵盤快捷鍵來格式化字體樣式:

●〈Ctrl-B〉:加粗文本。

●〈Ctrl-I〉:斜體文本。

●〈Ctrl-U〉:下劃線文本。

6.程序框圖的改進

LabVIEW 2018對程序框圖和相關功能進行了以下改進:

(1)并行For循環中錯誤處理的改進

LabVIEW 2018新增了錯誤寄存器以簡化啟用了并行循環的For循環的錯誤處理。錯誤寄存器取代了并行For循環上錯誤簇的移位寄存器。

(2)刪除并重連對象的改進

刪除并重連選中的程序框圖對象時,LabVIEW也會移除選擇矩形中的任何裝飾,包括自由標簽。在程序框圖對象周圍拖拽矩形選擇框。

7.前面板改進

NXG風格控件:控件選板包含新的NXG風格前面板控件。使用NXG風格的控件,創建LabVIEW NXG風格的前面板。

8.新增VI和函數

LabVIEW2018中新增了下列VI和函數:

1)比較選板新增檢查類型子選板,包含以下VI和函數:

● 檢查數組維數是否一致。

● 檢查數組維數大小是否一致。

● 檢查是否為復數數值型。

● 檢查是否為錯誤簇型。

● 檢查是否為定點數值型。

● 檢查是否為浮點數值型。

● 檢查是否為小數數值型。

● 檢查是否為整型。

● 檢查是否為實數浮點數值型。

● 檢查是否為實數數值或波形類型。

● 檢查是否為實數數值型。

● 檢查是否為相同類或子孫類。

● 檢查是否為標量數值或波形類型。

● 檢查是否為標量數值型。

● 檢查是否為有符號整型。

● 檢查結構類型是否匹配。

● 檢查是否為無符號整型。

● 類型專用結構。

2)互連接口選板中新增Python子選板,包含以下函數:

● 打開Python會話。

● Python節點。

● 關閉Python會話。

3)轉換選板新增強制轉換至類型函數。使用該函數可將輸入數據轉換為兼容的數據類型,同時保留數據值。與強制類型轉換函數不同,該函數不會重解析輸入數據。在下列場景使用該函數:

● 消除強制轉換點。

● 將不帶有類型自定義的數據轉換為兼容類型自定義,反之亦然。

● 重命名線上數據(如用戶事件引用句柄)。

4)定時選板新增高精度輪詢等待VI。使用該VI可等待指定秒數,其精度高于等待(ms)函數的精度。

9.新增和改動的屬性和方法

LabVIEW2018包含下列新增和改動的屬性和方法:

● LeftShiftRegister 類新增“是錯誤寄存器”屬性。使用該屬性可讀取某個移位寄存器是否為錯誤寄存器。

● VI 類新增“將前面板配置為隱藏頂層”方法。當VI 作為頂層VI 運行時,使用該方法可隱藏VI的前面板,并可選擇在任務欄中隱藏該VI。

● DisableStructure類新增“禁用樣式”屬性。使用該屬性可讀取一個結構是程序框圖禁用結構、條件禁用結構還是類型專用結構的信息。

● 更改禁用樣式(類:DisableStructure)方法的禁用樣式參數新增 Type Specialization Style 選項。使用該選項可將程序框圖禁用結構或條件禁用結構更改為類型專用結構。

1.2.3 LabVIEW的使用

LabVIEW作為目前國際上優秀的編譯型圖形化編程語言,是把復雜、煩瑣和費時的語言編程簡化成用菜單或圖標提示的方法選擇功能(圖形),使用線條把各種功能連接起來的簡單圖形編程方式。LabVIEW中編寫的框圖程序,很接近程序流程圖,因此,只要把程序流程圖畫好,程序也就基本編好了。

LabVIEW中的程序查錯不需要先編譯,若存在語法錯誤,LabVIEW會馬上告訴用戶。只要用鼠標單擊兩三下,用戶就可以快速查到錯誤的類型、原因以及錯誤的準確位置,這個特性在程序較大的情況下使用特別方便。

LabVIEW中的程序調試方法同樣令人稱道。程序測試的數據探針工具最具典型性。用戶可以在程序調試運行的時候,在程序的任意位置插入任意多的數據探針,檢查任意一個中間結果。增加或取消一個數據探針,只需要單擊兩下鼠標就行了。

同傳統的編程語言相比,采用LabVIEW圖形編程方式可以節省大約60%的程序開發時間,并且其運行速度幾乎不受影響。

除了具備其他語言所提供的常規函數功能外,LabVIEW中還集成了大量的生成圖形界面的模板、豐富實用的數值分析、數字信號處理功能以及多種硬件設備驅動功能(包括RS232、GPIB、VXI、數據采集板卡和網絡等)。另外,免費提供的幾十家儀器廠商的數百種源代碼儀器級驅動程序,可為用戶開發儀器控制系統節省大量的編程時間。

主站蜘蛛池模板: 胶州市| 托克逊县| 东丽区| 东丰县| 金堂县| 太和县| 沭阳县| 云浮市| 行唐县| 贵德县| 秦安县| 耿马| 广昌县| 绥中县| 衢州市| 五大连池市| 桐柏县| 仙居县| 云和县| 青阳县| 乐亭县| 西华县| 安福县| 石狮市| 邮箱| 麻江县| 高邮市| 亚东县| 天全县| 兰溪市| 剑川县| 乳源| 德阳市| 万全县| 南岸区| 富蕴县| 岳池县| 镇沅| 孙吴县| 河池市| 秦皇岛市|