王明玥,曲曉偉,劉同磊,張青,于志強
(天津電氣科學研究院有限公司,天津 300180)
在工業(yè)領域,用戶需要掌握現場工業(yè)設備的運行狀況,以便進行狀態(tài)監(jiān)測、故障分析、預測優(yōu)化等。數據采集是工業(yè)系統檢測、管理和控制過程中取得原始數據的主要手段。數據采集分析系統能夠將現場采集的溫度、壓力、風速、流量、水位、頻率等非電信號轉換成電信號,再傳輸到上位機進行存儲、處理、分析和顯示[1]。
現在常見的數據采集設備大部分需要配合外設組件互連(peripheral component interconnect,PCI)接口卡或外設組件互連專用(peripheral com?ponent interconnect express,PCIE)接口卡[2-3],與筆記本、臺式機連接不方便。主控架構基本上采用“微控制單元(microcontroller unit,MCU)+ 現場可編程門陣列(field-programmable gate array,FP?GA)”的模式[4-5],受到片上存儲空間限制,當采集通道較多時數據采樣周期往往較大,當監(jiān)測多路信號時會導致某些高頻信號無法監(jiān)測;且多臺設備并行時,不能保證數據采集時間點的同步且精準。
工業(yè)設備的現場應用環(huán)境通常十分惡劣,采樣信號容易受到干擾,且各設備之間通常存在一定距離。目前,缺乏一種組網式數據采集分析系統,它能夠采集并處理大量數據,且數據具有較高的實時性、同步性;系統設備能夠方便快捷地與筆記本或臺式機相連,支持設備間長距離運行,且具備較強的抗干擾能力。
組網式工業(yè)數據采集分析系統包括上位機軟件和采集設備[6]。上位機軟件實現系統的參數設置、網卡設置,以及采集數據的接收、存儲、解析及顯示等功能,采集設備實現數據采集、高速光纖通訊、數據處理和傳輸等功能。
圖1所示為一種組網式工業(yè)數據采集分析系統的結構圖。數據采集設備包括多路隔離模擬量采集、多路隔離數字量采集、地址選擇、高速光纖通訊、以太網通訊等電路結構,主控芯片采用FPGA。各設備之間通過高速光纖通訊級聯組網,組網主站與上位機通過以太網相連。
圖1 一種組網式工業(yè)數據采集分析系統的結構圖Fig.1 Structure diagram of the networking industrial data acquisition and analysis system
組網式數據采集分析系統既可以單臺運行,也可以組網運行。如果只有一臺設備運行,那么該設備即為主站;如果多臺設備進行組網運行,那么系統中有且僅有一個主站。
本系統無需特殊主站設備,采集設備兼容主從站功能。用戶通過地址選擇器對設備的主從屬性進行選擇,指定組網系統的主站設備。主站同時具備主站數據采集、從站數據匯總的功能。
本系統設備體積小,采樣數據實時性高、準確度高、精度高,支持設備間長距離運行,抗干擾能力強。通過上位機軟件多線程技術和FPGA高速光纖通訊技術,能夠實現大量數據的接收、存儲、解析以及顯示。數據采樣周期可調,且不受通道總數限制。
上位機軟件采用微軟基礎類庫(microsoft foundation classes,MFC)開發(fā)[7],實現系統的參數設置、網卡設置,以及采集數據的接收、存儲、解析及顯示等功能。上位機軟件可以安裝在任意帶有網卡和網口的電腦設備上,該電腦作為數據采集分析系統的上位機,通過普通網線與數據采集設備連接。
上位機軟件啟動后,用戶可以根據工業(yè)現場需求設置參數,包括:配置網卡、設置組網站點數目、激活或屏蔽站點及通道、設置采樣周期、選擇采樣公式等。由于數據采集分析系統的重點是處理大量數據,因此上位機軟件的設計重點在數據處理部分。
數據處理采用多線程技術[8],實現大量數據的接收、存儲、解析以及顯示等功能,可以支持用戶對數據的在線監(jiān)測和離線分析。多線程包括:數據采集與存儲線程、數據解析線程、數據顯示線程。其中,數據采集與存儲線程為主線程;數據顯示線程、數據解析線程屬于工作線程,無窗口操作,以避免數據采集與存儲線程發(fā)生堵塞。圖2所示為上位機軟件數據處理的多線程結構圖。
圖2 上位機軟件數據處理的多線程結構圖Fig.2 Multi-threading structure diagram of data processing of host computer software
數據處理部分的實現具體方法為:
1)數據采集與存儲線程。內部又分為數據接收功能、數據存儲功能。其中,數據接收功能為:上位機軟件接收到數據后,將接收數據存到接收緩存區(qū)域內,并根據數據包長度進行處理。當接收數據有效時,將接收緩存中的數據復制到線程間緩存,并開啟解析線程。數據存儲功能為:上位機軟件首先將接收到的原始數據處理成為網絡協議包形式的數據,并根據用戶設置的采樣周期將數據存儲到臨時數組;當上述臨時數組達到指定長度后,數據存儲功能進行一次寫存儲文件操作。
2)數據解析線程。當用戶讀取在線數據時,上位機軟件直接從內存區(qū)域取數;當用戶讀取離線數據時,上位機軟件從存儲文件中取數,且讀取數據后按照網絡協議對數據進行解析。
3)數據顯示線程。當用戶打開視圖,則開啟數據顯示線程。利用雙緩沖技術,將解析后的數據利用雙緩沖技術繪制波形圖,動態(tài)顯示數據變化情況。
FPGA功能結構圖如圖3所示。地址選擇為外置硬件器件,可選擇如撥碼開關等器件實現地址選擇。主控芯片FPGA主要實現時序控制、數據采集、高速光纖通訊、數據處理及以太網通訊等功能。
圖3 FPGA功能結構圖Fig.3 FPGA functional structure diagram
其中,時序控制主要控制數據采集、高速光纖通訊、以太網通訊的周期;數據采集實現多路模擬量芯片驅動及數據采集、多路數字量數據采集,并將數據傳輸給數據處理模塊;高速光纖通訊實現主從站的數據傳輸,也將數據傳輸給數據處理模塊;數據處理匯集數據后,實現通訊協議轉換以及數據緩存等功能;經過處理后的數據,通過以太網通訊完成FPGA與上位機的數據傳輸過程。
組網式工業(yè)數據采集分析系統中有且僅有一個主站。當地址選擇器設置為“0”時,設備設置為主站;當地址選擇器設置為非“0”時,設備設置為從站;從站應按照1,2,…,N的順序進行設置,各設備根據地址選擇器自動識別主、從站,并實現主從站功能。其中,主站FPGA功能包括:時序控制、數據采集、高速光纖通訊主站、數據處理及以太網通訊;從站FPGA功能包括:數據采集和高速光纖通訊從站。
FPGA根據系統方案控制數據采集周期、高速光纖通訊周期和以太網通訊周期。
數據采集包括多路模擬量采集和多路數字量采集,采集后的數據經過濾波,得到優(yōu)化信號數據。
3.2.1 模擬量采集
實現多通道同步隔離模擬量采集。上位機軟件設定模擬量數據采集的相關參數,并傳輸給FPGA。FPGA根據設定參數進行芯片配置及數據采集。其中,芯片配置可以根據用戶配置實現不同范圍和精度的數據采集。設備支持兩種采集設置:輸入范圍為-10~10 V,精度2 mV;輸入范圍為0~10 V,精度1 mV。
3.2.2 數字量采集
實現多通道同步隔離數字量采集。設備能夠采集多路0~24 V數字量。
高速光纖通訊采用具有設置靈活、速率快、準確度高等特點的自主協議進行通訊,通訊誤碼率小于10E-10。光纖通訊能夠支持設備間長距離運行,且具有較強的抗干擾能力。通訊分為主站功能和從站功能,狀態(tài)可通過狀態(tài)字和故障字進行監(jiān)測。
高速光纖通訊具備精準時鐘控制功能,所有站點的時鐘偏差小于200 ns,保證所有站點采集數據時間點的統一。通過該功能,用戶能夠用上位機軟件準確對比同一時刻的不同站點不同通道的采集數據。
系統組網的站點數目可根據實際需求自由設置,從站將采集數據發(fā)送給主站,實現數據采集分析系統的組網功能。FPGA具有主從切換的功能,包括:主從功能切換和主從數據切換。主從功能切換是根據用戶設置的硬件地址,執(zhí)行對應功能,并選擇正確的通訊端口;主從數據切換是從站數據通過高速光纖通訊傳輸給主站,而主站的采集數據直接寫入FPGA內部隨機存儲器(ran?dom access memory,RAM)。高速光纖通訊充分考慮主、從站功能融合以及數據和站點的對應關系。
除數據傳輸外,從站還具備自動路由功能。從站根據通訊內容和地址選擇器,判斷自身是否是尾站。當不是尾站時,FPGA通過圖1所示的光纖2將通訊幀傳向后面的站點;當是尾站時,FP?GA從光纖1將通訊幀回傳,同時光纖2不再工作。
主站FPGA匯總所有站點數據后,將數據按照協議處理并存入RAM中。主站FPGA每個發(fā)送周期讀取本周期內所有數據,并發(fā)送至上位機軟件。各從站設備雖然都具備以太網通訊功能,但只有當設備被設置成主站時,FPGA才會通過以太網通訊電路向上位機軟件傳輸數據。
3.4.1 數據協議轉換
在主站FPGA匯總數據的過程中,需要實現由“按照時間采集”向“按照站點傳輸”的轉換。FPGA采用“乒乓操作”傳輸與緩存,以減少邏輯資源的使用情況。
3.4.2 數據存儲
由于數據采集和高速光纖通訊的速率很快,主站FPGA匯總很多采樣時間點的數據后,才會向上位機軟件發(fā)送一次數據。受以太網帶寬和上位機讀寫數據速率的限制,本周期數據沒有傳輸完成時,下一周期的部分數據就會覆蓋之前數據,造成數據錯誤。因此,FPGA內部采用兩個RAM區(qū)域存儲。
圖4為FPGA讀寫內部RAM區(qū)域的邏輯切換圖。寫入和讀取數據的RAM區(qū)域由FPGA內部控制,確保發(fā)送數據的正確性和完整性。
圖4 FPGA讀寫內部RAM區(qū)域的邏輯切換圖Fig.4 Logic switching diagram of FPGA reading and writing internal RAM area
圖4中,Tc為FPGA與上位機通訊周期;WREN為主站FPGA寫內部RAM的使能信號,配合高速光纖通訊周期,在Tc周期內95%時間有效、5%時間無效;WR_RAM為寫RAM標志位,RD_RAM為讀RAM標志位,二者根據WREN信號進行高低電平切換。當WR_RAM和RD_RAM為0或1時,FPGA分別寫入或讀取對應RAM區(qū)域的數據。
主站FPGA匯總所有站點數據后,將數據按照協議處理并存入RAM中。主站FPGA每個發(fā)送周期讀取本周期內所有數據,并發(fā)送至上位機軟件。各從站設備雖然都具備以太網通訊功能,但只有當設備被設置成主站時,FPGA才會通過以太網通訊電路向上位機軟件傳輸數據。
圖5為系統顯示示例圖。上位機軟件能夠對采樣數據進行合并或單獨顯示。其中,M代表設備,A代表模擬量,D代表數字量。圖5中示例性地顯示了設備1第8路模擬量、設備2第1路模擬量、設備5第2路模擬量以及設備4第8路數字量的采集和顯示效果。
圖5 組網式工業(yè)數據采集分析系統顯示示例圖Fig.5 Display example of networking industrial data acquisition and analysis system
本系統已實際應用,可用于工業(yè)現場的變頻器(如電壓型逆變器、大功率中壓變頻等)系統,能夠對運行過程中的數據進行采集和分析。本系統解決了工業(yè)現場數據采集受限制較多的問題,所采集的數據具備較高準確率、實時性和采樣率,現場應用效果良好。
本文提出了一種組網式數據采集分析系統,其優(yōu)點及效果如下:
1)系統采用上位機軟件多線程技術和FPGA高速光纖通訊技術,共同實現大量數據的接收、存儲、解析以及顯示。數據采樣周期可調,且不受通道總數限制。
2)數據采集設備之間采用光纖連接的方式進行組網,傳輸實時性高、準確率高;各站點之間能夠實現時鐘同步,保證組網設備數據采樣時間統一;系統支持設備間長距離運行,抗干擾能力強。
3)數據采集設備采用多通道同步隔離采集方式,支持多組模擬量、多組數字量的高精度、高采樣率的數據采集,而且數據采集參數可靈活配置。
4)系統無需特殊主站設備,用戶通過地址選擇器即可選擇采集設備的主從屬性,操作靈活簡單。