LabVIEW
編輯LabVIEW 是 National Instruments 的圖形化編程系統。 首字母縮寫詞代表“實驗室虛擬儀器工程工作臺”。
第一個版本出現在 1986 年,用于 Macintosh 計算機。 今天,開發環境也可用于 Windows 和 Linux。 LabVIEW的主要應用領域是測量、控制和自動化技術。 根據數據流模型,編程是使用稱為“G”的圖形編程語言完成的。 重點是數據采集和處理。 LabVIEW 程序稱為虛擬儀器,或簡稱為 VI。 它們由兩個部分組成:前面板包含用戶界面,框圖包含圖形程序代碼。 這不是由解釋器處理的,而是編譯的。 因此,性能可與其他高級語言相媲美。 LabVIEW 使用與 LabWindows/CVI 相同的庫和數據采集引擎,LabWindows/CVI 是 National Instruments 的集成開發環境,因此與 LabWindows/CVI 兼容。 函數庫也可用于許多復雜的數學任務。 與 Matlab 類似,LabVIEW 還涵蓋了 SP 控制和靈活的測試自動化領域。
編程方法
編輯功能塊在 LabVIEW 中稱為虛擬儀器 (VI)(就像完整的程序)。 這是因為,原則上,每個程序都可以作為另一個程序中的子程序(SubVI)使用,或者每個子VI也可以獨立運行。 由于數據流的概念,遞歸調用在 8.6 之前基本上是不可能的。 然而,通過額外的努力,遞歸也可以實現。 從 9.0 版開始,可重入 VI 可以將自身包含為子 VI,從而可以遞歸調用它。
程序員用連接線(電線)連接 VI,從而定義數據流。 每個 VI 都可以有輸入和輸出。 當所有輸入數據都存在時,VI 開始執行; 結果僅在處理完整個子程序后才可用于輸出。 這樣,步驟的處理順序由數據依賴定義。 沒有預定義的順序(例如“從右到左”)。
如果子 VI 沒有輸入,則在程序啟動時執行。 如果它沒有輸出,則結果數據要么被丟棄,要么以其他方式“使用”(例如,寫入硬盤或網絡,輸出到外圍設備)。 同樣,沒有輸入的子 VI 可以從外圍設備接收數據或自行生成數據(例如使用隨機數生成器)。
子 VI 可以嵌套到任意深度。 LabVIEW 的許多本機函數本身就是可以由程序員編輯的常規 VI(盡管通常不推薦這樣做)。 歸根結底,所有 VI 都基于一組稱為原語的基本函數,這些函數不能作為 VI 打開。
LabVIEW 中的許多 VI 和函數都是多態的;它們的操作適應傳遞的數據類型。 例如,Create Array 函數可用于創建任何數組;字符串、整數或數組和簇。 也可以創建您自己的多態 VI。 最終,這是多個 VI 在輸入和輸出處具有不同數據類型的集合。
數據源和數據接收器可以與前面板上的指示器和控件相關聯。 所以例如,可以使用旋鈕輸入數字,使用發光二極管輸出布爾變量。
對于非常大和廣泛的項目,就像在其他編程語言中一樣,從一開始就使用經過深思熟慮的結構并將代碼模塊化是很重要的。 這是由現有的項目經理(從 V8.0 開始)支持的。 這使得管理大量 VI 和外部文件更加清晰。 這也使版本管理更加容易。 一個主要的創新(從 V8.20 開始)是以面向對象的方式進行編程的能力。 類和屬性以及它們的方法也可以被繼承。
LabVIEW Robotics 2009 包括用于設計機器人系統的工具。 軟件包的一部分是機器人模塊,它包括一個綜合機器人庫,可連接到標準機器人傳感器和執行器、智能操作的基本算法,以及機器人和自動駕駛車輛的感知和電機控制功能。
LabVIEW、TCP/IP 和 XML Web 服務
編輯TCP/IP套接字在局域網和互聯網中傳輸字符串網。 例如,它們用于在 Web 瀏覽器中顯示網站的 HTTP 協議。 LabVIEW 出于不同的目的使用 LAN 上的 TCP/IP 套接字:
- Data Communication→Protocols→TCP 下的功能。
- 在前面板上包含 Web 瀏覽器 OLE。
- 讀出測量值,例如 B. 來自數字萬用表和網絡分析儀
- 遠程控制/遠程面板。
- XML 網絡服務。
一方面,通過遠程面板進行的遠程控制是特定于 LabVIEW 的。 用戶可以通過 Web 瀏覽器(首選 Internet Explorer)連接到打開的前面板。 然后前面板本身放棄控制。 預期的好處是通過第二臺 PC 進行訪問。 但是,必須在源 PC 上打開一個窗口。 此外,NI 對大于 1 的用戶需要額外的許可費用。
另一方面,特定于 LabVIEW 的是自行創建的 XML 網絡服務。 它們僅包含在完整版本中。 這些 Web 服務不需要主機 PC 上的 GUI 窗口。 例如,當用戶向服務發送帶有兩個參數的 HTTP GET 請求時。 參數包含在 URL 中。 該服務運行一個 VI 并以 XML 文件響應。 URL 參數在服務中創建,作為 VI 中的控件來實現——VI 的所有顯示元素及其值都出現在返回的 XML 文件中。 因此,網絡服務可用于控制執行器和收集測量值。 使用 Web 服務,您可以實現自己的圖形界面并實際使用任何客戶端操作系統。 用于長時間測試運行的批處理腳本也是可能的。
為了隱式提供 TCP 服務套接字,可以通過項目樹結構將其附加到可執行 EXE。 如果您使用 Remote Panel 啟動應用程序,則套接字在運行時可用。
優勢
編輯- LabVIEW 圖形化編程的一個重要結果是您可以輕松地在 LabVIEW 中對并行流程進行編程。 將兩個沒有數據依賴性的子 VI 并排放置就足夠了,以便通過多線程同時處理它們。 然而,與基于文本的編程系統類似,您必須注意可能的競爭條件并在必要時鎖定資源。 多個選項可用于多個線程之間的同步或通信(例如信號量、通知程序、隊列)。
- LabVIEW 的前面板是創建具有良好圖形用戶界面的程序的一種非常方便的方式。 原則上,LabVIEW中的所有編程工作都不需要程序員輸入任何文本,設計元素的標簽除外。
- 根據許可證提供的廣泛函數庫涵蓋數據分析和數學,特別是在很大程度上。 而且還很好地解決了對附加(也是外部)(測量)設備和系統功能的控制。
- 使用受支持的通信協議和連接技術,還可以控制和使用遠方的設備(例如在人跡罕至的地方或其他國家/地區)。 此處使用 TCP 等。
- 從 2009 版開始,LabVIEW 提供了對多核處理器和 FPGA 進行并行編程以及訪問無線技術的可能性。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/372010/