數據採集
數據採集,又稱
數據獲取,是利用一種裝置,從系統外部採集數據並輸入到系統內部的一個接口。數據採集技術廣泛套用在各個領域。比如攝像頭,
麥克風,都是數據採集工具。
被採集數據是已被轉換為電訊號的各種物理量,如溫度、水位、風速、壓力等,可以是模擬量,也可以是數字量。採集一般是採樣方式,即隔一定時間(稱
採樣周期)對同一點數據重複採集。採集的數據大多是瞬時值,也可是某段時間內的一個
特徵值。準確的數據測量是數據採集的基礎。數據量測方法有接觸式和非接觸式,檢測元件多種多樣。不論哪種方法和元件,均以不影響被測對象狀態和測量環境為前提,以保證數據的正確性。數據採集含義很廣,包括對面狀連續物理量的採集。在
計算機輔助製圖、測圖、設計中,對圖形或圖像數位化過程也可稱為數據採集,此時被採集的是
幾何量(或包括物理量,如灰度)數據。
在
網際網路行業快速發展的今天,數據採集已經被廣泛套用於網際網路及分散式領域,數據採集領域已經發生了重要的變化。首先,分散式控制套用場合中的智慧型
數據採集系統在國內外已經取得了長足的發展。其次,匯流排兼容型數據採集
外掛程式的數量不斷增大,與
個人計算機兼容的數據採集系統的數量也在增加。國內外各種數據採集機先後問世,將數據採集帶入了一個全新的時代。
方式
在聯邦數據採集的設計上主要有三種方式:
(1)集中式數據採集;
(2)分散式數據採集;
(3)分散集中式數據採集。
基本原理
假設有一個
模擬信號,每隔時間t採樣一次,時間t為採樣周期,1/t成為你採樣頻率,每次獲得的信號值稱為採樣值。進行採樣的頻率過高或者過低都會使原始信號失真。為避免這兩種情況的出現,通常將過低頻率和過高頻率下採集的信號過濾掉。採樣頻率應當怎樣設定?也許可能會首先考慮用
採集卡支持的最大頻率。但是,較長時間使用很高的採樣率可能會導致沒有足夠的記憶體或者硬碟存儲數據太慢。理論上設定
採樣頻率為被採集信號最高頻率成分的2倍就夠了,實際上工程中選用5~10倍,有時為了較好地還原波形,甚至更高一些。
通常,信號採集後都要去做適當的
信號處理,樣本數據要求提供5~10個周期,甚至更多的採集結果,且樣本總數最好是採集周期的整數倍,這樣獲得的信號更便於處理。
數據採集系統
任務
數據採集系統的任務,就是採集感測器輸出的模擬信號並轉換成計算機能識別的
數位訊號,然後送入計算機,根據不同的需要由計算機進行相應的計算和處理,得出所需要的數據。與此同時,將計算機得到的數據進行顯示和列印,以便實現對某些物理量的監視,其中一部分數據還將被生產過程中的計算機控制系統用來控制某些物理量。
判別標準
數據採集系統性能的好壞,主要取決於它的精度和速度。在保證精度的條件下,應有儘可能高的採樣速度,以滿足實時採集,實時處理和實時控制對速度的要求。
基本功能
數據採集系統具有以下幾種基本功能:
(1)數據採集;
(4)開關信號處理;
(5)二次數據計算;
(6)螢幕顯示;
(7)數據存儲;
(8)列印輸出;
(9)入機聯繫。
相關技術
數據採集系統涉及到的相關技術主要包括:
(1)
感測器技術;
(6)誤差分析與處理;
(7)人機接口技術;
(8)數據存儲與列印;
微型計算機數據採集系統
微型計算機數據採集系統的組成部分包括:
感測器、模擬多路開關、程控放大器、採樣/保持器、A/D轉換器、接口電路、
微機及外部設備、定時與邏輯控制電路。
數據採集系統工作時,各個器件必須按照以下過程順序執行:
(2)程控放大器放大倍數開始切換;
(3)採樣/保持器開始保持;
(4)A/D轉換器開始轉換;
(5)A/D轉換完成。
微型計算機數據採集系統的特點是:
(1)系統結構簡單,容易實現,能夠滿足中、小規模數據採集的要求;
(2)微型計算機對環境的要求不是很高,能夠在比較惡劣的環境下工作;
(3)微型計算機的價格低廉,可降低
數據採集系統的投資,即使是比較小的系統,也可以採用它;
(4)微型計算機數據採集系統可作為集散型數據採集系統的一個組成部分;
(5)微型計算機的各種I/O模板及軟體都比較齊全,很容易構成系統,便於使用和維修。
集散型數據採集系統
集散型數據採集系統是計算機網路技術的產物,它由若干個“數據採集站”和一台上位機及其通信線路組成。數據採集站一般是由單片機數據採集裝置組成,位於生產設備附近,可獨立完成數據採集和預處理任務,還可以將數據以數字形式傳送給上位機。上位機一般為PC486或PC586計算機,配置有
印表機和繪圖機。
上位機用來將各個數據採集站傳送來的數據,集中顯示在顯示器上或採用印表機列印成各種報表,或以檔案形式儲存在磁碟上。此外,還可以將系統的控制參數傳送給各個數據採集站,以調整數據採集站的工作狀態。
集散型數據採集系統的主要特點是:
(1)系統的適應能力強。無論是大規模的系統還是中小規模的系統,集散型系統都能夠適應,因為可以通過選用適當數量的數據採集站構成相應規模的系統,
(2)系統的可靠性高。由於採用了多個以單片機為核心的
數據採集站,若某個數據採集站出現故障,只會影響某項數據的採集,而不會對系統的其它部分造成任何影響。
(3)系統的實時回響性好。由於系統中各個數據採集站之間是真正“並行”工作的,所以系統的實時回響性較好。這一點對於大型、高速、動態數據採集系統來說,則是一個很突出的優點。
(4)對系統硬體的要求不高。由於集散型數據採集系統採用了多機並行處理方式,所以每一個
單片機僅完成數量十分有限的數據採集和處理任務。因此,它對硬體的要求並不高,可以用抵檔的硬體組成高性能的系統,這是微型計算機數據採集系統方案所不可比擬的。
介紹
主要設計思路
分散式記錄方式可以在影響
網路頻寬最小的情況下採集到所需要的數據。其主要設計思路就是在成員與
RTI之間加一層記錄接口。成員在向RTI傳送數據時,首先經過記錄接口,由記錄接口將數據記錄之後,再轉發給RTI。這樣就不會有冗餘的數據在網路上傳輸(特別是大大減少了網路上的網間數據),消除了系統瓶頸。
聯邦邏輯結構
邏輯結構如右圖所示。其中記錄接口是位於成員和RTI之間的中間件(與成員處於同一仿真節點),它可以記錄成員向RTI調用及RTI向成員回調的所有函式和函式參數。中間軟體是通過繼承並擴展原始類的功能而實現的。中間件有與RTI完全相同的接口,它對用戶套用是透明的。記錄接口包含(或重載)了成員與RTI之間的所有接口函式,這些接口函式先將函式參數記錄下來,再調用相應的RTI之間的所有接口函式,這些接口函式先將函式參數記錄下來,再調用相應的RTI接口函式。例如當成員更新數據時,它需要向RTI調用Upddate Attribute Values函式。如果記錄接口連結到成員,則成員實際上是調用了記錄接口的UpdateAttribute Values函式 ,記錄接口將函式標識符和參數數據保存到記錄檔案中,再調用RTI的UpdateAttribute Values函式,則RTI就可以使用DM和DDM對數據進行過濾和分發。
記錄接口的C++實現
記錄接口使用
C++實現時,需要重新定義兩個代理類,即RTIAmbassador和FederateAmbassador,實現上有兩種方法:
當記錄接口由成員實現時,需要設計兩個
類:DC_RTIamb類和DC_FedAmb類。DC_RTIamb類由RTI提供的RTI Ambassador基類派生,RTI Ambassador定義了成員向RTI調用的API接口函式。RTI Ambassador類中的每一函式都有在DC_RTIamb類中與之對應的函式。同樣DC_FedAmb類由成員實現的Federate Ambassdor基類派生。Federate Ambassador定義了RTI回調成員的接口函式。在DC_RTlamb類和DC_FedAmb的函式實現中,可以先將傳入的參數記錄下來,再調用其
基類相應的函式。
因為記錄接口將於RTI通信的數據不經任何轉換就直接寫入
二進制檔案,它可以不經修改掛接到任何聯邦成員,即記錄接口的代碼是通用的。同時,記錄接口實現的兩個類均由RTI基類派生而來,因此將記錄接口同成員連結僅需要修改和添加很少的代碼。為使聯邦開發人員易於實現仿真數據的本地記錄,在成員軟體框架自動生成工具可以集成這部分數據的功能。
(2)由RTI提供。
上述方法的缺點是明顯的,需要有成員的原始碼並進行修改,再重新編譯連結成執行檔。對已開發的成員或得不到原始碼的成員可採取“偷梁換柱”的方法由RTI提供記錄接口。
在RTI平台上運行成員時需要連結動態程式庫(DLL)RTIamb.dll。在RTIamb.dll中主要實現了LRC(Local RTI Component,包含RTI Ambassador類)的功能,為成員提供RTI的API函式。眾所周知,DLL只有在應用程式運行時才裝入進程地址空間,而且Windows作業系統只以檔案名稱區分DLL。這樣就可以生成兩個版本的RTIamb.dll:有數據記錄功能和無數據記錄功能的RTIamb.dll。這兩個版本的DLL所聲明的類和函式是相同的。當需要數據記錄時,只要連結有數據記錄的DLL即可,操作非常方便。
記錄接口記錄的檔案是二進制格式的,需要將其轉換成可讀檔案。對分散式數據採集,需要在
數據分析和演練回放之前關聯並集成所有的分散式記錄檔案,主要工作是將所有的記錄檔案的所有記錄按照時間排序,並適當刪除冗餘信息,融合為一個全局的記錄檔案。
集中式對比
網路寬頻資源
集中式數據採集方法比較簡單,生成的記錄檔案對數據分析和演練回放都很方便,但是它卻占用了網路的頻寬資源。在大規模聯邦仿真特別是在廣域網仿真時,它將成為系統的瓶頸。而分散式記錄方式可以在影響網路頻寬最小的情況下採集到所需要的數據。
信息量
集中數據採集只能記錄成員之間交換的數據,而分散式採集中的記錄接口除了可以記錄記錄成員之間交換的數據外,還可以記錄
RTI與成員之間交換的信息(因此其記錄檔案與集中式記錄檔案格式有所不同)。這樣不但可以對仿真演練進行事後分析,而且可以對分析和測試RTI的功能和性能提供有力的幫助。然而記錄接口需要進行檔案I/O,會占用成員的CPU處理時間。