利用 LabVIEW實現資料記錄的最佳應用

利用 LabVIEW實現資料記錄的最佳應用

本文探討建立軟體資料記錄器(software data loggers)的優點,以及建立此類系統的基礎觀念。使用者可以利用所探討的概念來設計可靠的高效能資料記錄器,並輕易地與未來的技術整合。本文涵蓋的範圍包括基本的資料記錄器、分散式可攜型資料記錄器,以及高速資料記錄器,並以溫度資料記錄器為討論範例。

簡介:資料記錄器的一般需求及工具


資料記錄器的應用包括:取得資料、執行分析、儲存資料,並在往後進行某些形式的分析中加以呼叫及呈現,使用者可能因為各種原因而需要取回儲存的資料。例如利用儲存的資料來分析產品,或是尋求改善產品的方法、進行除錯及尋找問題或向某個法規團體証明某件事的必要資訊等。雖然應用程式和資料各異,但是重點在於設計不同之資料記錄器所需要的工具都相當類似。
這張圖表顯示LabVIEW的分析函數如何用來擴充VI Logger應用程式

每一個資料記錄器都有一些核心功能。首先,必須取得資料,並將資料記錄到一個儲存位置。第二,必須在資料取得的過程中及取得後查看資料。第三,必須記錄這些資料引發的警訊或事件。第四,設備網路必須簡單,且必須能夠掌控。第五,可以簡便地在資料上採行不同類型的安全措施。為了協助滿足這五項需求,LabVIEW軟體平台提供一項特殊的工具,用於迅速而簡單地設計監看應用程式。這套軟體工具就是Datalogging and Supervisory Control (DSC)Module。
本文件將檢視多種不同類型的溫度資料記錄器的軟體元件,討論內容包括基本型資料記錄器、分散型資料記錄器、遠端資料記錄器,以及備用(redundant)資料記錄器。文中亦論及高速資料記錄器,作為特別使用狀況的討論。

這張LabVIEW圖表顯示取得信號、顯示資料、檢查它是否超出範圍,然後將之記錄到檔案中

基本型資料記錄器

使用狀況:在短時間內記錄來自多個溫差電偶的資料

一個基本的資料記錄器系統具備資料記錄器的所有要件,但是通常只包括少量的I/O點及相當簡單的設定。在取得資料之時和之後的分析也相當簡單。基本型資料記錄器的主要用途包括簡單的組態及進行常見測量(例如溫度或張力)的變通性。National Instruments(NI)有兩種基本型資料記錄應用程式方案:VI Logger及LabVIEW。

以組態為基礎的資料記錄工具

第一個方案是以組態為基礎的記錄工具,稱為VI Logger。VI Logger讓使用者得以在一段時間內進行基本的測量。它有內建的資料取得、排列及儲存資料的功能,還有基本的警報和事件功能。在取得資料之後,資料可以取回及查閱,或是輸出至互動式分析工具(例如NI DIAdem)。
舉例來說,一個簡單的溫度資料記錄器非常容易配合VI Logger來進行設定。將溫差電偶連接至任何E系列的資料擷取卡。設定排列和記錄的頻道,選擇開始,設定即告完成。使用者可觀看取得資料時的狀況,而且在溫度超過範圍時,會有一封電子郵件寄給操作員。
當使用者需要擴充這個簡單的溫度資料記錄器的功能時,透過程式化控制資料取得及運用四百多種分析函數,LabVIEW可輕易地擴充VI Loggers的功能。LabVIEW也有能力結合更大範圍的測量,例如對Process Control(OPC)裝置進行OLE。

LabVIEW 7 Express VI

NI的第二套基本型資料記錄器解決方案是LabVIEW 7及新推出的Express VI,使用者可以利用新的Express VI來設置基本型溫度資料記錄器。只需將信號導入Write LabVIEW Measurement File VI即可。這個信號會被儲存在一個檔案中,NI DIAdem、Microsoft Notepad或Microsoft Excel都可以讀取。或是使用Read LabVIEW Measurement File VI,將資料顯示出來。Comparison VI則可用於設置簡單的警訊。
LabVIEW 7 Express VI很適合供簡單的獨立型資料記錄器使用。取得、記錄及呈現資料相當容易,也很容易整合分析功能。如果不需要高級的分析功能,或是使用者想要根據警訊或事件來發出電子郵件或傳訊,VI Logger可以勝任。再次強調,基本型資料記錄器的重要條件是要能夠簡單地取得資料、記錄資料、查看資料。

長時間記錄

使用狀況:在一長段時間內記錄來自多個溫差電偶的資料

當資料記錄器必須持續地長時間運作,例如數天、數日,甚至數年,就必須考慮一些特殊的需求。系統必須具備可靠而有效的資料存取機制。使用者必須能夠從幾個地方查看資料。警訊和事件必須加以設定及儲存,以便進行問題排除、診斷及驗証。DSC Modul是一套理想的工具,可以幫助使用者建立長時間資料記錄應用程式。

資料儲存機制

至於較複雜的資料記錄應用程式,很重要的是必須有專業的工具來協助進行資料儲存及保存。儲存資料有各種不同的方式,每種方式皆各有優缺點。資料庫是儲存大量資料的最佳方式。資料庫允許使用者以結構式的方法來儲存資料,以及追蹤資料的任何變動。這樣有助於確保資料的整合度。
目前存在有許多儲存大筆資料的方式,每種方式皆各有其優缺點。兩種主要的資料庫類型是關聯式(relational)和直線式(streaming)資料庫。關聯式資料庫是比較傳統的資料庫,多半應用於企業應用。雖然極具彈性,但是它們並未在磁碟空間和快速處理能力方面進行最佳化。
相對地,直線式資料庫則是為了迅速將大量資料儲存至磁碟而設計,但是使用者不能定義表單或其它的結構,因此損失了一部份的彈性及搜尋的能力。在建立資料庫時,最常見的挑戰之一就是設計使用簡易又具擴充性的檔案結構及資料結構。若是沒有正確的工具,使用者可能要花費數小時去設計及修改其資料結構。
DSC Module提供一個直線式資料庫,目的在於滿足測量和控制應用程式的需要而設計。利用內建的資料層級和資料架構定義,這個資料庫提供優越的空間運用及資料處理能力。LabVIEW 7 DSC Module為資料庫加入關聯式的特質,以進行更快速、更有效率的搜尋。

即時及歷史資料呈現

將資料記錄到磁碟,並非使用者在設計這些應用程式時所面對的惟一挑戰。使用者也必須觀看資料。觀看資料有兩種方式。第一,使用者可以在取得資料的同時,觀看伺服器上的資料。這種方式亦稱為即時資料(live data)。使用者必須查看即時資料,以監看系統的執行狀態。重點在於明白使用者連接的伺服器類型,並且選擇一套可以幫助使用者輕易進行通訊的軟體。最常見的伺服器之一是進行過程控制(OPC)的OLE。尋找內建OPC伺服器/用戶端的軟體可以節省可貴的發展時間。
第二種觀看資料的方法是在資料儲存於檔案中之後,亦稱為歷史呈現(historical visualization),使用這類的資料來進行資料取得後的分析和呈現。這種方式的挑戰與記錄資料的挑戰類似,若是沒有正確的工具,使用者在分析及觀看資料之前必須先知道檔案和資料結構,選擇具備此種功能的軟體發展工具可以節省時間。DSC Module以LabVIEW的分析及呈現函數建立,使用內建的OPC連接能力和呈現能力來處理即時及歷史資料,使這些工作更加簡易。

警訊及事件管理


在取得大量資料,或長時間取得資料時,通常使用者對於每個資料點的值比較不感興趣,而是對於資料值的劇烈變動較感興趣。這些改變可以利用警訊及事件來進行監督。重要的是,這些警訊和事件的歷史要加以保存,這樣以後才能進行分析。支援警訊功能所需要的重要功能包括:產生警訊的能力、將它與相關資料一起儲存,並在取得資料之後呼叫警訊及所有相關的資料。
相關資料可能包括觸動的時間、通報者、以及通報的時間。利用DSC Module,使用者可以使用HMI Wizard來設定及監督警訊,讓他們可以把焦點放在造成警訊的原因,而不需自行設計警訊的基本架構。總結而言之,長時間資料記錄器的最佳需求包括:可靠而有效率的資料儲存、觀看即時及歷史記錄、可以設定及記錄警訊和事件的能力等。

HMI Wizard內含組態資料及圖形程式設計

分散式資料記錄器


使用狀況:長時間從分散之溫差電偶記錄資料

在設計分散式資料記錄器時,最好先看看整個系統。最頂層是系統的骨幹。分散式系統的骨幹可以簡化為關鍵伺服器及網路。在關鍵伺服器上執行的軟體必須管理網路傳輸、資料管理、資料呈現、警訊及事件,還有安全性。骨幹的重要特性之一,就是它必須能夠透過共同的協定(例如TCP/IP)和其它的硬體通訊。
網路中每一部機器所使用的軟體都必須支援同一種通訊協定。此外,關鍵伺服器必須支援多種通訊協定,如此才能和系統中的舊式及新一代的機器互動。選擇一套支援許多業界標準協定的套裝軟體(例如LabVIEW),是降低網路上每一部機器的發展時間,並將網路化設施與關鍵伺服器整合時很重要的一部份。

分散式系統的示意圖

資料管理

分散式資料記錄器的關鍵伺服器應該有能力記錄資料,記錄應用程式越複雜,就更需要找到能夠處理這項工作的工具。正如前文所討論的,少量資料可以輕易地存放在文字檔或試算表檔案中;但是,大量資料卻可因為較複雜之資料儲存格式而獲益。
分散式資料記錄器的儲存條件和長時間資料記錄器中所提到的條件類似,在直線型資料庫的頂層,使用網路化資料庫比較好。網路化資料庫讓使用者得以將資料記錄至一個集中位置,在系統中建置備份,並且從網路上的不同位置存取資料。
DSC Module中內建的歷史資料庫即已網路化,如果使用者知道機器名稱及資料庫名稱,可以直接將資料記錄到任何一部電腦中。DSC Module有一項稱為Historical Data Viewer的工具,能夠協助使用者在本地或遠端建立、儲存及壓縮資料庫。在本地端,資料庫可加以更名、分離或刪除。重要的是,這些動作只能在本地端執行,以防止意外損失或破壞資料庫。

資料呈現


除了觀看即時和歷史資料之外,分散式系統需要更多從不同地點觀看資料的彈性。舉例來說,使用者可能必須能夠在另外一個廠房,甚或在家裡,觀看某個油槽的溫度。從單一一部機器觀看即時資料,是相當直接的作業。
要監督即時資料,使用者可以製作使用者界面(例如LabVIEW Front Panel),並在本地端的監視器上進行觀看,或是使用LabVIEW Remote Panels功能,將它內嵌於網頁中。如果操作者必須登入,並觀看或控制整個過程,那麼使用遠端面板是非常方便的作法。但是,如果必須和過程互動的人超過一個,那麼就需要較為複雜的主從技術。
要從多部機器觀看即時資料,每一部機器都必須執行用戶端程式,這個程式的工作是因應使用者的要求來查詢所需的資料。重點在於明白應用程式要連接至何種伺服器,並且選擇一套能夠簡化通訊的套裝軟體。DSC Module不但內建OPC用戶端/伺服器,其設計也可以協助使用者迅速而方便地設置主從技術。

Historical Data Viewer讓使用者得以輕易地觀看及管理分散的資料

管理警訊及事件

同樣地,分散式系統在警訊和事件方面的要求與長時間資料記錄器相同,但是使用者必須能夠從任何一部機器上觀看這些警訊和事件,並採取行動。以LabVIEW配合DSC Module,可以提供便於設定警訊及事件的工具,自動將相關的資料記錄至資料庫中,並且從任何位置觀看資料。

網路作業

隨著資料取得系統的成長,資料可能會儲存於多部電腦中,再以集中的方式進行監管。或者,也可以儲存在一部中央伺服器上。最困難的挑戰是和即時資料通訊。為了輕易完成這項工作,軟體工具必須與作業系統的原生網路作業技術整合,並且儘可能在透明的情況下完成工作。網路作業工具的設計必須將處理能力加到最大,而且在網路發生干擾時,應該要穩定而可靠。
OPC是一項業界標準界面,軟體和硬體可以透過它彼此通訊,而不需理會製造商是誰。LabVIEW透過DSC Module,提供對OPC的支援。但是OPC可能並未以較高速度所需要的效能來運作。為了這項需求之故,DSC Module亦包括內建的網路作業協定,以獲得最佳的處理能力。

安全性

處理敏感資料往往會引發安全性的問題。應該由誰來存取資料?存取那些部份?是否每個人都可以修改檔案或資料庫?也許不行。發展處理安全性的程式可能要花費極多時間,而且煩人。只要先定義系統需求,使用者就可以選擇工具來協助他們完成這件事。LabVIEW配合DSC Module,可以讓使用者定義相關資料,以限制應用程式中不同之使用者界面的存取權,以及資料中不同區段和敏感性的存取權。

分散式資料記錄系統的要求最為詳盡:
˙可靠而有效率的資料儲存
˙有效率的工具,用於管理涉及全系統的資料
˙檢視全系統的即時和歷史資料
˙設定及記錄警訊和事件的能力
˙不同類型之設備的簡易網路作業能力
˙使用者界面的安全性

備用的資料記錄器

使用狀況:在緊急程序中記錄溫差電偶的資料

有時候使用者必須在資料記錄器中設計備用系統。舉例來說,溫度資料記錄器在緊急程序中監視一個油槽。這種應用狀況有幾件事必須列入考量:將資料記錄至一部主機電腦、偵測PC當機或網路失效、將資料存到另一個位置、在解決當機或網路問題之後將資料同步化。這種系統的基本記錄要求和分散式資料記錄系統類似。使用者應該可以從多個位置對系統進行監督及控制。資料必須儲存在安全的位置。安全性可能也是必要條件。
這種應用程式有一個良好的硬體平台,就是NaI Compact FieldPoint。Compact FieldPoint是一款堅固的分散式I/O平台。和PLC類似的Compact FieldPoint具備一個控制器及不同的I/O模組,可以連接至 穩定的基本架構上。就備用資料記錄的目的而言,可以使用具備內建CF記憶卡的控制器。定時寫入CF記憶卡可能花費不少代價,因為磁碟僅支援有限的寫入動作。但是,它們很適合做為系統的備用工具。
Compact FieldPoint具備內建的網路監視程式。當連接上網路、而且Compact FieldPoint正在和PC通訊時,就會關閉監視程式。但是,當網路連線中斷,或是PC當機時,監視程式就會啟動。程式可以設計成在監視程式啟動之後採取一些行動,例如於本地端開始記錄至CF記憶卡。
當網路連線恢復時,DSC Module應用程式就會關閉監視程式。這樣會恢復將資料記錄到資料庫中的動作。然後DSC Module會使用FTP,從Compact FieldPoint取得資料檔,然後透過Memory Tags將它們寫入資料庫。

只要將PC和Compact FieldPoint的時間伺服器同步,資料庫中的資料就可以進行同步。在同一個資料庫中會有兩組不同的記錄。DSC Module應用程式也可加以設定,讓它在網路故障或是從Compact FieldPoint複製資料檔時,通知相關的操作員或使用者。

總結而言,在考慮備用資料記錄器時,要考慮幾項重要的條件:
˙將記錄之資料同步化的能力
˙檢視全系統的即時和歷史資料
˙設定及記錄警訊和事件的能力
˙不同類型之設備的簡易網路作業能力


遠端/可攜式資料記錄器

使用狀況:長時間記錄來自遠端溫差電偶的資料,並使用PDA進行檢查

在安裝遠端資料記錄器時,其需求與分散式資料記錄系統類似。Compact FieldPoint同樣因其大小及堅固而成為較適用的平台。LabVIEW也有能力在控制器上嵌入網站伺服器,因此使用者可以使用任何網站瀏覽器存取之,以監督該機件。
運用LabVIEW 7 PDA Module,可以先在桌上電腦撰寫資料記錄應用程式,然後將它下載至Palm或PocketPC。任何National Instruments E系列的資料取得卡都可以配合PDA使用,以建立可攜式資料記錄器。資料會由PDA取得,並記錄於PDA中,然後儲存成檔案。當使用者回到辦公室,並將PDA和桌上電腦中的LabVIEW同步化時,檔案就會傳送到桌上電腦。然後可以萃取資料,並存入DSC Module歷史資料庫或使用DIAdem進行分析。
總結而言,雖然遠端及可攜式資料記錄器的需求與分散式資料記錄器類似,但是仍有一些獨特的需求:
˙可以透過網頁進行監督
˙遠端應用程式需要監固的小型平台,例如Compact FieldPoint
˙可攜式應用程式需要具彈性的小型平台,例如PDA


LabVIEW及PDA Module可以用來建立可攜式資料記錄器

高速資料記錄器

使用狀況:以極高速度在短時間內記錄資料

高速資料記錄器有特別的要求。這些設備通常是在必須於極短時間內取得大量資料時使用,例如在進行物理實驗之時。記錄速度是最重要的考量重點,而且資料庫的速度往往不夠快。資料會在取得之後才進行分析,因此不需要警訊、事件及察看的功能。這些系統往往獨立運作,如此可以消除網路延遲的問題。
NI在Windows環境下為E系列及S系列資料取得卡發展了一些LabVIEW範例函數,可以用從前無法達到的速度來取得資料。這些高速資料記錄函數提供資料壓縮的功能,以建立較小的資料檔案,並且獲得更高的記錄速度。
這些函數從內部迴路緩衝區讀取資料,並在必要時加以壓縮,最後將資料直接寫入磁碟中,而不顯示在使用者眼前。這種方式減少資料複製的動作,因此提高記憶體的頻寬,相對地亦提高將資料傳入磁碟的速度。

資料壓縮

為了進一步提高效能並降低硬碟空間的需求,新增的高速資料記錄函數為所有12位元E系列產品提供兩種類型的資料壓縮。第一種壓縮是損失較少的壓縮方式。它的基礎在於所有12位元取樣的最上面四個位元是作為信號延伸位元(sign extension bits)之用。因此,只要將兩個佔用四位元組的十六位元樣本壓縮成三個位元組,就可以使體積減少25%。為了加快速度,實際上是使用壓縮運算法一次壓縮四個二位元組樣本。
第二種壓縮運算法是刪減資料的運算法。它將12位元介面卡轉變成8位元介面卡,只留下每個樣本中最明顯的八個位元,因此使原本的資料大小減少50%。雖然這種方式降低資料的精確程度,但是它可以使記錄速度加倍。但是有一點要注意,由於這兩種壓縮都會破壞信號延伸位元,因此關於輸入資料是單極或雙極的資訊必須分開來儲存,並在壓縮過程中提供這些資料。
高速資料記錄器的獨特需求包括:
˙針對快速傳送資料而設計、經過最佳化的函數
˙雙位元檔案儲存結構

結語

在設計資料記錄應用程式時,必須處理五項共通的需求,這樣才能發揮最大的效率。這些資料記錄的需求包括直接的資料取得和記錄、可靠地察看即時和歷史資料、容易設定警訊和事件、立刻透過網路作業將設備連接至較大型系統,以及迅速加入安全性。在清楚系統的特定要求之後,滿足這些需求的關鍵就在於選擇正確的軟體發展工具。
NI提供LabVIEW工具,可協助使用者迅速而輕易地設計可擴充的監督應用程式,LabVIEW Datalogging Supervisory Control Module可以處理這些問題,因此使用者能夠花更多時間來建立應用程式,不需要花太多時間來擔憂設計工具的問題。

1個讚