資料擷取硬體與 NI-DAQmx 設計控制應用程式

綜覽

資料擷取 (DAQ) 硬體可以在標準筆記型電腦和桌上型電腦中加入 I/O,讓普通電腦成為靈活又能發揮高效能的控制系統。有些 DAQ 硬體含嵌入式控制器,以及專為擷取資料而設計的完整作業系統。只要妥善利用標準運算技術快速改良的這項優勢,就能在降低成本的前提下大幅加快處理速度、增加記憶體容量、加大硬碟空間,以及透過圖形化顯示系統虛擬作業。如需控制房間的溫度、馬達的速度,或是液壓系統的壓力,您可以使用資料擷取硬體和 NI DAQ API,將感測器和致動器與您的電腦連接,建立確實符合用途需求的控制系統。

本技術文章比較能應用於控制用途的 NI 資料擷取系統,並且說明以 NI-DAQmx 建置控制應用程式時的主要功能與概念。此外也介紹一些可用於更高階控制用途的硬體/軟體組合 (這類用途必須要求更快的控制迴路速度或更高的精確度)。

內容

用途需求相符資料擷取硬體

需要適用於控制用途的資料擷取 (DAQ) 裝置時,能夠選擇的硬體多達數百種,因此,您需要考量幾項因素。首先,您要了解資料擷取用途所用的感測器需要多少個通道、需要哪一類資料,以及在濾波與訊號處理方面有哪些需求。接著需了解您需要 DAQ 裝置發揮的效能:以適當取樣率擷取清晰訊號所需的準確度、解析度、精確度以及潛時。這些資訊能協助您判斷您該選擇的 DAQ 平台。

完全了解自己的 I/O 之後,您就可以針對根據自己的用途選擇正確的硬體平台。下列所有系統均可使用 NI-DAQmx API 進行程式設計,以利快速輕鬆地存取資料與執行控制。

PC-Based 量控制系統

PC-Based 量測與控制系統能發揮電性量測和物理量測功能,能支援工程師運用準確、可自訂而又經濟實惠的方式進行桌上型量測作業。使用 USB 或乙太網路將 NI 硬體產品連接至電腦或筆記型電腦,建立 PC-Based 量測或控制系統。觀看 NI 的平價 DAQ 產品,進一步了解 DAQ 裝置,或者探索所有 USB、乙太網路以及 PCI 多功能 DAQ 裝置

CompactDAQ 系統

CompactDAQ 提供可自訂的解決方案,支援工程師運用桌上型或分散式架構執行電性與物理量測作業。 CompactDAQ 系統中的機箱是透過 USB 或乙太網路與 PC 連接,連接後再配置一個或多個訊號處理 I/O 模組,用於直接連接感測器。可以透過同步乙太網路機箱的方式建立分散式系統。點擊這裡深入了解 CompactDAQ,或者使用線上 Advisor 設定 CompactDAQ 系統。

CompactRIO 系統

CompactRIO 有高效能處理功能、配備感測器專用訊號處理 I/O,以及高度整合的軟體工具鏈,非常適合用於工業物聯網 (IoT)、監控以及控制等用途。CompactRIO 系統配備一個插著處理器和使用者可程式化 FPGA 的控制器,還有一或多個 NI 或第三方廠商品牌的訊號處理 I/O 模組。這些模組能直接與感測器連接,並提供專業功能。CompactRIO 兼具堅固耐用的工業級規格與機板層級設計。CompactRIO 904x 支援 NI-DAQmx – 舊款 CompactRIO 機型則會使用 LabVIEW Real-Time 和/或 LabVIEW FPGA 進行控制。點擊這裡深入了解 CompactRIO,或者使用線上 Advisor 設定 CompactRIO 系統。

PXI 系統

PXI 系統提供高效能 I/O 模組,這款模組有專業同步化功能,也具備適用於測試和量測用途從裝置驗證到製造測試等階段所需的重要軟體功能。在 PXI 系統中,機箱能發揮的作用包括供電、冷卻,而且內建通訊匯流排,適用於儀器或插在機箱中的 I/O 模組。只要使用 NI 的一或數款專業工程設計軟體工具自訂系統,您就可以使用嵌入式控制器或外接電腦控制這些模組。點擊這裡深入了解 PXI,或使用線上 Advisor 設定 PXI 系統。

 圖 1.NI DAQ 系統,含 USB DAQ (中)、CompactDAQ (左前)、CompactRIO (右),以及 PXI (左後)。

 

以 LabVIEW 和 NI-DAQmx 進行圖形程式設計

NI-DAQmx 是驅動程式軟體,用途是與 NI DAQ 量測裝置通訊,超過 200 種 NI 資料擷取裝置均內建這款量測裝置。NI-DAQmx 支援多種程式設計語言,包括 NI LabVIEW、LabWindows™/CVI、ANSI C/C++、Visual Basic 6.0 以及 C#/Visual Basic .NET。針對控制用途,NI-DAQmx 另可提供精確的功能 (如硬體時脈的單點函式呼叫),並且支援 LabVIEW Real-Time 作業系統。

本技術文件著重說明 NI-DAQmx 驅動程式與 LabVIEW 的搭配使用。LabVIEW 圖形化程式設計軟體提供簡單易用的應用程式開發環境,是專為因應工程師以及科學家的專業需求所設計。只要具備初階程式設計經驗,就能設定硬體、使用感測器進行量測、比較量測值與預設值,以及更新輸出訊號。NI-DAQmx 驅動程式提供圖形化函式,除了能用於讀取和寫入值以外,也能直接與硬體 I/O 互通。LabVIEW 能完美整合軟硬體,因此能降低整體程式設計的複雜度,協助您節省開發時間。

 圖 2.NI-DAQmx 讀取和寫入功能。

 

NI-DAQmx 應用程式設計介面 (API) 完全可以從簡單的開/關控制擴充到 PID 與其他進階控制演算法。接下來的部分會提供範例,舉例說明執行各類控制系統時必須進行的圖形化程式設計。

 

LabVIEW 與 NI-DAQmx:開/控制

反饋控制系統就跟量測作業一樣簡單,可比較量測值與理想值,接著再開啟/關閉致動器,設法接近理想值。這項操作通常需要驅動控制致動器供電量的繼電器或切換器。舉例來說,一般空調系統的運作原理就是如此。溫度讀取裝置 (通常是恆溫器) 會監控目前溫度,並在溫度超過理想值時啟動繼電器或切換器。繼電器會開啟空調系統,直到溫度回到舒適程度為止。

圖 3 是建立基本開/關控制系統的 LabVIEW 程式方塊圖範例。DAQmx Read.vi 函式會讀取溫度,再使用 Greater? 函式比較溫度值與目標值。若溫度高於 Setpoint 值,就會傳送 TRUE 到以 DAQmx Write.vi 函式控制繼電器的數位輸出通道。

 圖 3.開/關控制系統程式方塊圖範例。

 

許多建築物會同時安裝冷氣和暖氣,以利調節室內溫度。冷暖氣通常可以獨立運作,但您也可以使用 PC-based 資料擷取系統同時操作這兩種設備。

圖 4 是控制冷氣和暖氣的 LabVIEW 程式方塊圖範例。這個程式方塊圖比較測得溫度值與兩個不同的設定值,而這兩個目標值則分別與冷氣或暖氣相關。

 圖 4.有兩個輸出開/關控制系統程式方塊圖範例。

 

額外運用邏輯就能進一步自訂控制系統並新增功能,例如目標值排程、溫度平均,以及怠滯區設定。您也可以在同一個 PC-based 控制系統中新增記錄資料與產生報表的功能。

 

LabVIEW 與 NI-DAQmx:PID 控制

單純開/關控制的精細度未必充分,有可能無法以必要的速度和精準度準確控制特定系統。比例積分微分 (PID) 控制是業界最常見的控制演算法。PID 控制器之所以能夠普及,原因在於這類控制器在許多不同的運作條件下都能發揮穩定的效能,而且操作方式相當簡單明瞭。LabVIEW 提供 PID Control Toolkit,可用於安裝預建的圖形化函式,輕鬆執行 PID 控制系統。圖 5 示範基本的 PID.vi 函式。

 圖 5.LabVIEW PID Toolkit 的圖形化 PID 函式。

 

從名稱就能知道,PID 演算法包含三個基本係數:比例、積分和微分,調整這些係數即可得到最理想的響應。PID 控制器的基礎概念是讀取感測器,接著計算比例、積分和微分等響應,從而運算出理想的致動器輸出。控制器會將這三項要素加總,運算出輸出結果。圖 6 是 PID 控制迴路的程式方塊圖範例,這個迴路使用一個類比輸入通道和一個類比輸出通道。

 圖 6.類比 I/O 控制應用程式,紅色圈起處表示 PID 函式。

 

LabVIEW 與 NI-DAQmx:以 LabVIEW Control Design and Simulation Module 進行控制

除了 PID 控制之外,另有採廠房狀態空間模型架構的數種進階控制系統,以及數種以理想系統響應為基礎的自訂控制參數。要設計這樣的控制系統,必須具備控制系統理論知識與相關經驗。您可以使用 LabVIEW 專業版隨附的 LabVIEW Control Design and Simulation Module 進行必須要求如此複雜程度的用途。 這項軟體能協助您測試新設計的控制演算法並進行改版,能讓您省下製作原型及驗證先進控制系統所花的大量時間與資源。


 圖 7.LabVIEW Control Design and Simulation Module 提供圖形化程式設計環境與進階 API,並搭配實際硬體 I/O,用於設計控制器。

 

以 LabVIEW Real-Time 和 LabVIEW FPGA 提升精確度加快控制迴圈速度

NI-DAQmx 是功能強大的 API,適用於擷取資料與控制應用程式,但有些應用程式必須要求更高的精確度、更低的潛時,以及速度更快的控制迴圈,這是 DAQmx 無法提供的。Real-Time 作業系統 (RTOS) 能將所有資源分配到已經部署的應用程式,讓控制系統發揮最高的軟體精確度和穩定性。CompactRIO 和 PXI 控制器可以透過 LabVIEW 附加元件 LabVIEW Real-Time Module 使用這個 Real-Time 作業系統,以利發揮更高的精確度。軟體安裝完畢後,就能編譯 LabVIEW 圖形化程式碼,並針對選定的 Real-Time 目標調整出最適合的程式碼。使用 LabVIEW Real-Time Module 可以開發應用程式並將之部署至所有 NI Real-Time 硬體系統,包含標準的桌上型電腦與 PXI 系統。使用 NI-DAQmx 驅動程式軟體很容易就能將 PCI、PCI Express 及 PXI 平台裝置從 LabVIEW for Windows 移轉至 CompactRIO 或 PXI 上的 LabVIEW Real-Time,同時保留相同的函式呼叫與硬體設定。

針對要求控制迴圈發揮更高效能以及硬體時脈速度和穩定性的用途,可以考慮使用 LabVIEW FPGA Module 搭配 CompactRIO 或可重設的多功能裝置。 FPGA 是可重設的矽晶片,您可以使用相同的 LabVIEW 圖形化開發環境進行程式設計。CompactRIO 與可重設裝置均支援使用者定義的內建處理功能,以及完全靈活的 I/O 時序與觸發功能。以 LabVIEW FPGA Module 建立 NI LabVIEW 程式方塊圖,就能設定裝置功能。您的程式方塊圖可以在硬體中執行,讓您能夠直接即時控制所有 I/O 訊號,不需與處理器通訊。使用 CompactRIO 與可重設裝置即可建立多個 PID 控制迴圈,以最高 MHz 範圍的速度執行。

 圖 8.RIO 的異質架構結合 Real-Time 作業系統的精確度與 FPGA 的進階控制及處理功能。

 

LabVIEW Real-Time 與 LabVIEW FPGA 的結合,能在高效能嵌入式控制用途發揮無可比擬的優勢。如需關於 FPGA 架構資料擷取裝置的詳細資訊,請深入了解 CompactRIOR 系列多功能 RIO

執行一個步驟

LabWindows 商標經 Microsoft Corporation 授權使用。Windows 是 Microsoft Corporation 在美國與其他國家/地區的註冊商標。