簡介
根據概念創建者美國國家儀器公司(National Instruments)的定義,
虛擬儀器(英語:
Virtual instrumentation)技術就是利用高性能的
模組化硬體,結合高效靈活的軟體來完成各種測試、測量和自動化的套用。靈活高效的軟體能幫助您創建完全自定義的用戶界面,模組化的硬體能方便地提供全方位的系統集成,標準的軟硬體平台能滿足對同步和定時套用的需求。只有同時擁有高效的軟體、模組化I/O硬體和用於集成的軟硬體平台這三大組成部分,才能充分發揮虛擬儀器技術性能高、
擴展性強、開發時間少,以及出色 的集成這四大優勢。
LabVIEW
LabVIEW(LaboratoryVirtualInstrumentationEngineeringWorkbench,實驗室虛擬儀器工程平台)是由美國國家儀器公司所開發的圖形化程式編譯平台,發明者為傑夫·考度斯基(Jeff Kodosky),程式最初於1986年在蘋果計算機上發表。LabVIEW早期是為了儀器自動控制所設計,至今轉變成為一種逐漸成熟的高級程式語言。圖形化程式與傳統程式語言之不同點在於程式流程採用"數據流"之概念打破傳統之思維模式,使得程式設計者在流程圖構思完畢的同時也完成了程式的撰寫。
近年來 LabVIEW 除了可以在 PC 上面撰寫之外,另外支持即時系統(Real-time OS)以及可程式邏輯門數組(Field Programmable Gate Array, FPGA)。用戶可以透過 LabVIEW 開發環境設計、編譯程式後下載至微處理器(Micro-processor)或 FPGA晶片,最終達到獨立運作(Stand-alone)的功能。但目前主要還是支持 NI 自行生產的嵌入式系統系列產品,通稱 NI-RIO 系列產品。比如:PCI/PXI R系列 DAQ卡片、CompactRIO、single-boardRIO、myRIO...等。
數據流編程
LabVIEW程式語言,也被稱為G語言,是一種數據流程式語言。程式設計師通過繪製導線連線不同功能的節點,圖形化的程式框圖(LV原始碼)結構決定程式如何執行。這些線傳遞變數,所有的輸入數據都準備好之後,節點便馬上執行。這可能出現同時使用多個節點的情況,G語言天生地具有並行執行能力。內置的調度算法自動使用多處理器和
多執行緒硬體,可以跨平台地在可運行的節點上復用執行緒。
圖形化編程
LabVIEW將創建用戶界面(稱為前面板)的工作自然地融合到開發周期當中。LabVIEW的程式/子程式被稱為虛擬儀器(VI)。每個VI都有三個組成部分:程式框圖(Block Diagram)、前面板(Front Panel)和圖示/連線器(Icon/Connector)。連線器是用來供其他的程式框圖調用本VI之用。程式設計師可以利用前面板上的控制控制項將數據輸入正在運行的VI,或者用顯示控制項將運算結果輸出。前面板還可以作為程式的接口:每個虛擬儀器(VI)既可以把前面板當作用戶界面,作為一個程式來運行;也可以作為一個節點放到另一個VI程式框圖中,通過連線器面板連線起來,而前面板則定義VI的輸入和輸出。這意味著每個VI,在作為子程式嵌入到一個大型的項目之前,都可以很方便地進行測試。
圖形化的方法還允許非程式設計師通過拖放虛擬化形式的VI的方法來生成程式,控制他們已經熟悉的實驗室設備。在LabVIEW編程環境下,藉助已經提供的大量例程和文檔,可以很容易地創建小型應用程式。這是好的一方面,另一方面,低估編寫高質量的“G”語言所需的專業技能知識仍會帶來一定的危險性。編寫複雜的算法或大規模的代碼,有一點很重要,那就是程式設計師需要對LabVIEW特殊的語法具有廣泛的了解,並且通曉LabVIEW記憶體管理的拓撲結構。最先進的LabVIEW開發系統提供了創建獨立應用程式的可能性。此外,還可以創建分散式套用,通過客戶機/伺服器模式進行通信。由於G語言天生的並行性特性,這很容易實現。
計時系統
LabVIEW使用1904年1月1日(Epoch參考日期)作為“零”(起始)時間。使用1904年1月1日作為起始時間的軟體還有蘋果公司的Mac OS 9,Palm OS,MP4,Microsoft Excel(可選)。