時間:2022-03-05 22:40:57
序論:在您撰寫數據采集論文時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導您走向新的創(chuàng)作高度。
1.1采集系統(tǒng)方案采集系統(tǒng)方案如圖2所示,系統(tǒng)由ST32F407單片機加FPGA結構組成,FPGA采用Altera公司的CYCLONEⅣ系列芯片EP4CE6E22C8N。單片機作為主控制器,用于控制FPGA采集,數據存儲;電路包含以太網接口,GPS接口,SD卡存儲器以及授時守時電路;FPGA部分用于產生AD同步時鐘,控制六通道AD同步采集,并將采樣值傳入單片機中,電路包含6通道采集板和參考源;單片機與FPGA之間通過SPI接口與地址線A0進行通信。數字補償晶體是整個系統(tǒng)的時鐘源,該晶體的頻率為16.384MHz,準確度為0.5×10-6,溫漂為0.1×10-6。
1.2傳感器選型本系統(tǒng)選用的傳感器為ES-T型三分向力平衡式加速度計,傳感器可以在±0.25gn到±4gn的范圍內選擇設定滿量程,其動態(tài)范圍優(yōu)于155dB,帶寬在DC-200Hz之間。
1.3信號調理與AD采集電路傳感器輸出為差分信號,信號動態(tài)范圍為±5V,系統(tǒng)選用的AD芯片輸入信號范圍在±2.5V之間,所以傳感器輸出信號必須經過信號調理后才能進行采集,圖3是其中一個通道的信號調理與AD采集電路,其余通道電路與該圖完全一致。信號調理電路由全差動放大器OPA1632構成,該放大器的電壓噪聲密度為1.3nV/Hz1/2,在100Hz(高鐵地震監(jiān)測常用采樣率為200sample/s)帶寬范圍內噪聲有效值不超過15nV,滿足地震信號采集要求。圖中R2∶R1、R7∶R9均為2∶1,可將輸入差分信號衰減2倍,實現將傳感器輸出的±5V信號衰減到±2.5V范圍內,滿足ADS1281的輸入電壓范圍,圖中二極管D1與D2是鉗位二極管,將電壓鉗位在±3V左右,保護AD芯片。AD轉換器是一款32bitΔ-Σ高精度模數轉換器ADS1281,內部具有可編程FIR、IIR和SINC濾波器,0.6×10-6線性度,在250sample/s采樣率下其SNR可達130dB,全速采樣模式下功耗僅12mW,非常適用于電池供電的野外作業(yè)。通過配置PINMODE引腳,可將ADS1281設置為引腳控制模式(PINMODE=1)和寄存器控制模式(PINMODE=0),本系統(tǒng)將其配置成寄存器控制模式。系統(tǒng)為實現同步采樣,將六通道ADS1281的低功耗控制PWDN,復位RST,同步SYNC,采樣時鐘CLK,SPI時鐘SCLK,SPI數據輸入DIN引腳分別連在一起,并由FPGA統(tǒng)一控制,達到時鐘同步,統(tǒng)一配置AD的目的,從而實現同步采樣;而ADS1281的數據輸出引腳DOUT分別接在FPGA的6個不同IO口,用于讀取六通道AD的數據。參考源是數據采集系統(tǒng)的關鍵部分,本系統(tǒng)利用DCDC產生-5V電壓,低噪聲LDO電源芯片LT1964產生-2.5V電壓,作為六通道ADS1281的VREFN輸入,LT1964噪聲為30μVRMS(10Hz~100kHz);利用專用精準基準芯片LTC6655-2.5產生+2.5V電壓,作為六通道ADS1281的VREFP輸入,該芯片噪聲0.25×10-6p-p(0.1Hz~10Hz),溫飄為2×10-6/℃,經過試驗,該方案是取得較好結果。
1.4FPGA采集控制與數據傳輸實現數據采集之前,STM32單片機需要通過FPGA對各通道采集卡(即ADS1281)進行配置;數據采集過程中,FPGA需要對六通道數據讀取、打包并傳入STM32單片機。控制線A0用于選擇上述功能。當A0=0時,將STM32單片機與FPGA之間的SPI接口、FPGA與六通道采集卡之間的SPI接口直接相連,此時由STM32單片機直接完成采集卡配置;當A0=1,FPGA輸出采樣時鐘CLK,六通道采集卡同時啟動采樣。FPGA數據采集與傳輸過程如圖4所示。當六通道ADC數據準備就緒時,ADC_nDRDY信號將同時由高變低,FPGA收到下降沿信號后,將在ADC_SCLK引腳連續(xù)產生32個周期的SPI時鐘,ADS1281在時鐘上升沿輸出數據(ADC_DOUT_1至ADC_DOUT_6),FPGA在時鐘下降沿讀取數據,六通道數據將被緩存在6個32bit寄存器ADC_DA-TA0至ADC_DATA5內;FPGA讀取完六通道32bit數據后,在MCU_DRDY引腳產生一個高脈沖,通知STM32單片機讀取數據,單片機在MCU_DRDY下降沿啟動中斷,并在中斷中完成數據讀取;數據讀取過程中,單片機的SPI時鐘MCU_SCLK連續(xù)產生時鐘信號,FPGA在收到時鐘信號時,將數據通過MCU_DIN輸出,時鐘信號共6×32=192個,正好讀完六通道數據。
2預警系統(tǒng)C/S構架軟件設計
2.1客服端LabVIEW編程PC機客服端界面與網絡編程利用LabView軟件實現。LabView是由美國國家儀器(NI)公司研制開發(fā)虛擬儀器開發(fā)軟件,是一種圖形化編程語言,使用較為方便[6-7]。LabView主界面包含采樣率、量程設置,IP地址,端口,開始采集按鈕,停止采集按鈕和波形界面幾個部分,其中波形界面由WaveChart控件實現,具體實現如下:將下位機上傳的六通道數據綁定為簇,簇輸出接到WaveChart控件的數據輸入端,Wave-Chart控件的圖形顯示方式設置為分格顯示曲線,由于簇輸入是6個數組綁定而成,WaveChart自動將窗口分成6個子窗口,每個數據對應一個窗口;Wave-Chart界面更新模式設置為StripChart,此模式下波形從左至右繪制,達到右邊邊界時,舊數據從左邊溢出,新數據從右邊進入。LabView具有強大的網絡編程功能,本系統(tǒng)客戶端利用了其中的TCP/IP協(xié)議模塊,主要涉及到以下幾個函數:TCPOpen(打開),TCPRead(讀取),TCPWrite(寫入),TCPClose(關閉)。客戶端程序工作流程如圖5所示。從圖中可以看出,從開始到結束采集一共用了兩次TCP/IP連接,第1次用于發(fā)送采集命令,然后接收、處理、顯示數據,當按下“停止采樣”命令后,首先關閉第1次TCP/IP連接,此時服務器還在繼續(xù)采集數據,但不發(fā)送,所以還需進行一次TCP/IP連接發(fā)送停止采集命令給服務器,服務器收到命令后即可停止采集,并進入低功耗模式。
2.2基于LWIP的服務器程序設計服務器的主控單片機是STM32F407,其內部集成了10/100M以太網MAC,結合PHY芯片DP83848即可完成以太網硬件搭建;以太網軟件部分通過移植LWIP協(xié)議棧實現,已有較多文獻或文檔詳細敘述了移植方法與過程,服務器接收命令、啟動采樣和傳輸數據等功能在tcp回調函數中實現。數據采集和傳輸是同時進行的,可在單片機中申請兩個緩存,采用乒乓操作模式工作實現,即:其中一個用于中斷采集數據存儲,緩存滿后,設置數據滿標志,并查詢另一個緩存的數據空標志,若為空,證明數據已經傳輸完成,可新的存儲數據;另一個用于傳輸,傳輸完成后,設置數據空標志,并查詢第1個緩存的數據滿標志,若位滿,證明數據可以傳輸;由于以太網的傳輸速度遠大于數據采集的速度,以太網傳輸完成后會等待另一個緩存存滿,所以整個過程中不會出現采樣數據丟失的情況。
3采集系統(tǒng)性能測試
3.1噪聲測試進行噪聲測試時,將6通道輸入短接,采樣率設置為200sample/s;采集開始后,數據將以文本文檔的形式實時存入SD卡。圖6是由采集的一個通道數據用excel作圖得到(取其中任意2000個點),從該圖可以看出:該通道采集的輸入短接噪聲峰峰值在±1.5μV范圍內。為進一步對噪聲大小進行量化分析,分別進行了三次噪聲測試,并在excel軟件中利用STDEVA函數對每一次的六通道采集數據做均方差處理,處理結果如表1所示。從表中可以看出:每隔通道的噪聲均方差低于0.5μV,噪聲一致性較好;采集卡輸入信號范圍是±5V,按照ADC的信噪比計算公式可算出采集卡的信噪比優(yōu)于140dB。
3.2地震信號采集實驗實驗時,把傳感器放置于地面,傳感器差分信號輸出端接入采集卡第1通道,打開監(jiān)測站電源,在PC機中啟動LabVIEW界面,設定好采樣率、量程、IP地址與端口,點擊“啟動采集”,在距傳感器2m左右用硬物連續(xù)敲擊地面,圖7是截取的實時顯示結果圖,從圖7可以看出,第1通道具有典型的地震波形輸出,縱坐標單位為mV,第2通道~第6通道輸出為隨機噪聲,縱坐標單位為μV。
4結束語
GPRS移動數據傳輸網絡的主要作用就是對無線數據進行傳輸。在監(jiān)控對象安裝的數據采集點會對數據進行采集,然后經過GSM網絡的空中接口模塊,同時對數據進行解碼處理,然后將其轉換為可以在公網傳輸的格式,最后通過GPRS移動數據傳輸網絡將數據傳輸至監(jiān)控中心的服務器。在整個系統(tǒng)中,各個監(jiān)控點的數據采集模塊通過GPRS移動數據傳輸網絡與監(jiān)控中心相連,數據采集點同意使用STK卡,與此同時,監(jiān)控中心會對各點進行登記,并在服務器中保存相關資料。各個監(jiān)控點的數據采集模塊中裝有數據采集軟件,該軟件24h在線,對電網中的信息數據進行24h不間斷的采集工作。關于信息的傳輸,使用的是JW0D2系列的GPRS無限透明數據傳輸終端。該終端基于移動網絡,抗干擾能力較強,同時性能較高。此外,該傳輸終端還提供標準的RS232接口,以便實現與計算機的連接。在傳輸過程中,速率可以達到172kbps,能滿足監(jiān)控中心與各個監(jiān)控點的數據采集與處理工作。由于電網數據傳輸的特殊性較強,因此本系統(tǒng)使用了安全保障,以保證系統(tǒng)運行的穩(wěn)定性和可靠性。在網絡安全方面,經過對信源加密、信道加密、登錄防護、接入防護、訪問防護等,能有效增強網絡安全,加強安全防護。在硬件方面,使用VPN將公網接入到GPRS網中,成本低廉,不用租用專線。此外,使用VPN還可以增強安全性,客戶端在鏈接應用服務器之前,要經過服務器的認證,而且整個數據傳輸過程均會加密,如此一來,安全性就得到了保障。另外,系統(tǒng)還對用戶的SIM卡手機繼續(xù)鑒別授權,在網絡側對SIM卡號和APN進行綁定處理,只有擁有權限的相關用戶才能對專用APN進行訪問,沒經過授權的SIM卡將無法對APN網絡進行訪問。
2特點與優(yōu)勢
傳輸模塊的特點主要有:①傳輸模塊采用了工業(yè)級的GPRS模塊,該模塊性能較為穩(wěn)定,而且其工作溫度范圍較大。另外,用了嵌入式的CPU作為處理器,功耗低、性能高,還能高速處理協(xié)議和大量的數據。②由于該模塊的工作方式為multi-tasking,因此實時性較好。③其AT指令的預設簡單方便。該模塊的通信距離較遠,而且具有覆蓋面積廣的特點,能使終端實時在線,能將無線電無法到達的區(qū)域采用GPRS通信的方式進行傳輸,真正實現了高效傳輸。此外,該系統(tǒng)還有組網靈活、擴展容易、維護簡單、性價比高的特點。
與短消息服務相比,GPRS服務的實施性很強,而且系統(tǒng)不會出現延時的情況,可以對所有數據進行采集。此外,由于GPRS具有雙向功能,還可以對采集設備進行反向控制,因此進一步提高了系統(tǒng)的便捷性。本系統(tǒng)的擴展性良好,是大面積覆蓋的GPRS網絡,所以該系統(tǒng)不存在盲區(qū),而且由于該系統(tǒng)的輸出容量較大,數據采集點較多,監(jiān)控中心要與每一個監(jiān)控點相連,因此需要系統(tǒng)能滿足傳輸需求。該系統(tǒng)的傳輸容量較大,能滿足突發(fā)性數據的傳輸要求,因此該系統(tǒng)的優(yōu)點明顯。
3結束語
對管內車站客票發(fā)售的運行數據進行采集統(tǒng)計分析的首要的條件就是要能聯(lián)到地區(qū)客票中心的數據庫,能從地區(qū)客票中心的數據庫里取到相應的數據,PowerBuilder存取數據庫的方式有如下兩種:a、通過使用標準的數據接口ODBC(開放數據庫連接);b、通過使用一個由Sybase公司提供的專用的直接與數據庫相連的接口。本文選擇a方式,但連接地區(qū)中心的數據庫同時也給全地區(qū)的數據安全帶來了極大的風險,因為地區(qū)中心數據庫存放著整個地區(qū)中心的席位庫、售票存根、計劃調度命令,以及各種用于客運統(tǒng)計、財務統(tǒng)計和營銷分析的所有數據,PowerBuilder作為前端數據庫開發(fā)工具,提供了當前流行的大型數據庫的連接接口同時,還提供一個直觀的圖形界面和可擴展的面向對象的編程語言PowerScript,用戶通過PowerBuilder很松的就可以修改數據庫的內容,這無疑會給整個地區(qū)客票中心的數據安全帶來嚴重的隱患,是絕對不允許的,所以在取得杭州電算站的同意下,另外開辟一臺服務器作為金華車務段的數據庫服務器,這樣就隔離了對地區(qū)中心數據庫的破壞,編寫工作流腳本每天按時自動從杭州地區(qū)客票中心的數據庫服務器上將車務段每天的售票存根和基礎數據導出,再導入到地區(qū)中心車務段的數據庫服務器,保持車務段數據庫服務器和地區(qū)中心的數據庫同步,通過鐵路專用網,在車務段就可以利用一臺PC機利用PowerBuilder通過ODBC接口輕松的連接到地區(qū)客票中心的車務段數據庫服務器,這樣就既不影響杭州地區(qū)客票中心數據庫的數據安全,車務段還可以利用這些數據進行二次開發(fā)。通過PowerBuilder與地區(qū)客票中心的車務段數據庫服務器連接的方法如圖1所示。
2系統(tǒng)設計
2.1設計原則客票數據采集和分析系統(tǒng)是在實現業(yè)務需求的前提下,確保軟件開發(fā)滿足高質量軟件系統(tǒng)的要求,因此,應該遵循以下設計原則。
2.1.1直觀、使用方便用戶界面友好、使用簡單、操作方便、數據正確完整、分析功能強大。
2.1.2安全可靠考慮到了運輸生產數據的敏感性,在代碼編制過程中把信息安全放在了第一位,系統(tǒng)中對各個用戶權限進行嚴格分級,并對所涉及的數據庫的連接進行加密。確??推毕到y(tǒng)核心數據不泄密,確保客票系統(tǒng)運行效率不降低,確??推毕到y(tǒng)基礎數據不被盜取。
2.1.3可維護性本系統(tǒng)通過ODBC連接到地區(qū)中心數據庫,并采用Datawindow技術來處理多報表。
2.1.4可擴展性確??推毕到y(tǒng)在數據量增長、用戶增長以及業(yè)務增長時具有良好的可擴展性。
2.2系統(tǒng)構成
2.2.1硬件環(huán)境①服務器端:IBMSERVERX3850服務器一臺,位于杭州地區(qū)客票中心機房,用于存放售票存根和基礎數據。②客戶端:可聯(lián)入網絡的個人電腦一臺、打印機一臺。
2.2.2軟件環(huán)境①服務器端:操作系統(tǒng)采用Unix,數據庫服務器采用Syabsel2.3.5數據庫。②客戶端:操作系統(tǒng)為WINDOWSXP、WIN7,瀏覽器為IE6.0及以上。
2.3關鍵技術與實現方法
2.3.1PowerBuilder連接到地區(qū)中心的車務段數據庫服務器存放在地區(qū)中心的車務段數據庫服務器是復制地區(qū)客票中心數據庫服務器的基礎數據庫和運行數據庫,用的都是Sybase數據庫管理系統(tǒng),在車務段可以利用一臺安裝有PowerBuilder并連入客票網的PC機通過正確配置PowerBuilder的DBprofile,可以連接位于地區(qū)客票中心的車務段服務器的Sybase數據庫,最后的配置文件內容為。
2.3.2利用數據管道實現數據庫之間的同步PB提供強大的數據管道技術,數據管道技術是實現兩個數據庫之間、數據庫內部數據傳輸的一種常用方法,數據管道技術的調用主要有以下5個步驟:①創(chuàng)建應用程序所需對象;②執(zhí)行數據管道初始化操作;③啟動數據管道;④處理程式運行中移動數據的錯誤行;⑤執(zhí)行數據移動完畢后的收尾操作。數據庫管道可以在PowerBuilder提供的pipeline畫板中創(chuàng)建并定義,需創(chuàng)建一個繼承PB管道系統(tǒng)對象的用戶對象,再通過這個對象來管理管道操作,編輯支撐對象的PipeMeter事件腳本,實現語句為:St_read.text=string(RowsRead)St_write.text=String(RowsWritten)St_wrong.text=String(RowsInError)保存用戶對象,創(chuàng)建支撐用戶對象命名為u_pipe,通過定義的u_pipe,可以實現地區(qū)客票中數據庫中的數據通過穩(wěn)定的數據管道安全、快速的傳送到客票數據采集和分析系統(tǒng)的數據庫中。
2.3.3利用DataWindow技術實現嵌套數據報表DataWindow技術是PowerBuilder最具特色最關鍵的一項技術,其FreeForm風格基本可以代替PB中所給的其他錄入控件,達到以假亂真的地步。在數據窗口上顯示數據步驟:①利用數據窗口繪圖器繪制一個數據窗口對象(DataWindowObject)。②利用窗口繪圖器繪制一個窗口對象(WindowObject),并且在窗口上放置一個數據窗口控件(DataWindowControl)。③指定數據窗口對象(DataWindowObject)給窗口上的數據窗口控件(DataWindowControl)。④將所要連接數據庫的信息指定給交易對象(TransactionObject)。⑤利用Connect指令連接數據庫和交易對象。⑥利用SetTransObject()函數連接數據窗口和交易對象。⑦利用Retrieve()從數據庫讀取數據PB數據窗口還具有嵌套報表的功能。所謂嵌套報表就是以一個報表為主體框架,根據需要在其中附加一個或多個報表,形成一個整體報表。其中主體框架的報表為主報表,附加的報表為輔報表。嵌套報表的功能體現在客票數據采集和分析系統(tǒng)中就是用戶可以根據不同的篩選條件,可以任意組合,根據用戶的不同要求展現不同的報表。
3功能模塊分析
客票數據采集和分析系統(tǒng)主要有3大模塊,分別是:數據采集模塊、數據轉換挖掘及定制模塊、用戶服務處理模塊。下面就這3大模塊分別進行分析說明。
3.1數據采集模塊數據采集模塊主要功能就是按用戶不同的要求從地區(qū)客票中心的車務段數據庫服務器中采集自己需要的數據并保存在本地數據庫中,以供各種分析和統(tǒng)計,比如異地票的統(tǒng)計,按照路局要求異地票手續(xù)費收費標準:除動車組列車的返程票、聯(lián)程票、低于30元的異地票、學生票以及管內動車組列車異地票免收5元手續(xù)費外,其余異地票均收5元異地手續(xù)費,用Select語句對數據庫中sale_record表中的存根進行篩選,然后用Insert將采集到的數據存入到cen-ter庫中的study_ydtj表中作為統(tǒng)計分析最基礎的數據,當然這部分的工作都是通過運行PowerBuilder腳本在后成的。由于該模塊具有數據傳輸量大、不可干擾性、準確性要求高和無人工干預等特點,因此,把這個模塊設計為運行于數據庫服務器中的一個后臺進程,該進程通過中間件把客票數據采集和分析系統(tǒng)的數據庫連接到地區(qū)中心Sybase數據庫,然后利用數據管道技術定時批量的傳輸數據到客票數據采集和分析系統(tǒng)數據庫中。為了防止數據傳輸過程中出現差錯,該模塊另一個功能是實時檢查數據連接狀態(tài)和數據管道的完整性,一旦發(fā)現錯誤,立即自動重啟數據連接,并重建數據管道,有效的防止數據傳輸過程中差錯的發(fā)生。
3.2數據轉換、挖掘及定制模塊數據轉換、挖掘及定制模塊主要功能是對傳輸到客票數據采集和分析系統(tǒng)數據庫中的運輸數據進行轉換、挖掘及定制等操作,分別進行說明:①數據轉換:將從地區(qū)客票中心的車務段數據庫服務器的數據庫獲取的數據按照不同業(yè)務要求,轉換成多種數據格式,滿足不同的業(yè)務要求,并對錯誤、不一致的數據進行清洗和加工。②數據挖掘:通過對每個數據的定性和定量分析,從大量數據中尋找其規(guī)律的技術叫做數據挖掘技術。客票采集和分析系統(tǒng)存在著海量的歷史數據,數據挖掘技術不僅能對歷史數據進行查詢和遍歷,并且能夠找出歷史數據之間的潛在聯(lián)系,分析客流,指明營銷方向,幫助制定營銷策略,給鐵路決策層在運輸生產決策中提供必要的建議。③數據定制:可以按照特定用戶的特殊要求,把數據庫中的相關數據進行抽取、分類和匯總,并存入特定數據表中,根據需要以Excel電子表格的形式提供給用戶。
3.3用戶服務處理模塊用戶服務處理模塊主要用于資料分發(fā),客票數據采集和分析系統(tǒng)給不同需求的用戶提供齊全的客票信息和數據分類對比電子表格,用戶服務處理模塊將這些信息定時分發(fā)給需要的人,比如:站長、客運值班員等。
4結束語
硬件系統(tǒng)為:監(jiān)控層、數據采集層、現場層〔2〕。
1.1監(jiān)控層監(jiān)控層采用總線形網絡結構,在總線上掛接的設備主要有:數據采集I/O服務器、IH數據庫服務器、關系型數據庫服務器、APP服務器、Web服務器、調度操作站、工程師站等。1)數據采集I/O服務器,分為電力、動力、水三個系統(tǒng),采用冗余配置,服務器安裝IFIX5.1組態(tài)軟件,在IFIX5.1的SCU中配置IGS、PFC、IEC驅動同數據采集站通訊,具體通訊方式如下,采集西門子PLC系統(tǒng)數據的,則以工業(yè)太網為橋梁,IFIX通過IGS驅動與其實現實時通訊;采用RTU采集系統(tǒng)數據的,IFIX通過PFC驅動與其實現實時通訊;采集申瑞765G綜保管理機系統(tǒng)數據的,IFIX通過IEC驅動與其實現實時通訊。2)GPRS服務器,能控無線遠傳站通過柜內S7-200、SINAUTMD720-3GPRS調制解調器、天線和GPRS通信管理軟件SINAUTMICROSC構成GPRS網絡,最后通過OPC驅動與能控中心GPRS服務器實現通訊連接。3)IH數據庫服務器,IH數據庫服務器上安裝GE公司的ProficyiHistorian實時數據庫軟件,IH通過配置Collector采集器軟件從數據采集I/O服務器抓取數據,采集的數據周期以秒、分為單位刷新。4)關系型數據庫服務器,安裝有DB2和Oracle兩種關系型數據庫軟件,完成數據的長期歸檔以及數據的壓縮和數據的備份。5)APP服務器和Web服務器,APP服務器運行基礎能源管理模塊,Web服務器用于Web。6)調度操作站,通過調度操作站能控調度可以對能控系統(tǒng)的相關數據及設備的運行狀態(tài)進行監(jiān)控,而且能夠通過B/S(客戶端/服務器)的方式訪問APP服務器的基礎能源管理模塊,使用自己權限所分配的功能。
1.2數據采集層數據采集層有124個數據采集站,包括西門子S7-300PLC82套、通訊柜41套,力控RTU(Remo-teTermialUite,遠程終端單元)46套,覆蓋工源廠區(qū)、東風廠區(qū)、南芬露天礦及歪礦,地域分散。同監(jiān)控系統(tǒng)的通訊方式有有線方式和無線方式。其中有興安解凍庫、四水源等十個站點敷設電纜困難且條件惡劣,增加了建設和維護的成本,因此采用GPRS無線通信方式;有線方式采用環(huán)網加星形的網絡結構,整個環(huán)網有7個主站,從EMS01到EMS07分別是能源中心、焦化儀表室、朱莊柜、六高爐主控室、4#轉爐機房、維檢中心、冷軋機房,環(huán)網將7個主站點連接起來,再由主站點以星形的結構向外輻射用于連接所有的數據采集站。
1.3現場層1)本鋼現場層的設備現狀現場一次儀表有電磁流量計、超聲波流量計、差壓流量計、渦街流量計,提供4~20mA標準信號,PLC和DCS系統(tǒng)有西門子S7、施耐德、AB、ABB、浙大中控JP-300XP、Honeywellpks系統(tǒng)HoneywellHC900等系統(tǒng),電力綜保系統(tǒng)有北京四方、上海申瑞、清華紫光等廠家,電度表有湖南威勝和黑龍江龍電兩種型號。信號類型分為計量點和工藝點,計量點只對數據進行采集;工藝點包括數據的采集和設備的控制。2)采集方案的確定針對現場設備的實際情況確定了如下的數據采集方案:(1)RTU采集方式,此種方式只對數據進行采集。對于支持RS485協(xié)議的超聲波流量計,例如本溪新宇超聲波流量計,將該表通過串口通訊線接入到RTU的串口,通道協(xié)議選擇ModbusMaster,端口選擇Serial。采集原有西門子PLC系統(tǒng)數據的,將系統(tǒng)通過以太網方式接入RTU的網口,RTU配置軟件中通道協(xié)議選取西門子PLC,通訊口:TCPClient,IP地址為所通訊的PLC地址,端口號為102。原有系統(tǒng)為DCS,例如十一加的HoneywellHC900,將系統(tǒng)通過以太網方式接入RTU的網口,通道協(xié)議為ModbusTCP,通訊口:TCPClient,IP地址為所通訊的DCS地址,端口號為502。浙大中控的JP-300XP系統(tǒng),如發(fā)電廠32號機和氧氣廠4#制氧機。將系統(tǒng)通過以太網方式接入RTU的網口,是通過OPC協(xié)議進行數據采集,在原有系統(tǒng)中安裝OPCTunnellerServer,然后在另外一臺計算機上使用OPCTunneller驅動進行采集,在RTU中通道協(xié)議中選擇OpcTunnellerMaster。與電力綜保通訊,將系統(tǒng)通過以太網方式接入RTU的網口,通道協(xié)議選擇IEC104,需要說明的是采用此種通信方式的只有清華紫光和北京四方,不包括上海申瑞,申瑞通過綜保管理機765G直接同電力服務器通信。智能電表的數據采集,威勝龍電兩種電表都有網口,同威勝的電能采集器通訊,采集器通過以太網方式接入RTU的網口,通道協(xié)議選擇威勝WFET2000s,IP地址為電能采集器端設置的IP,端口號為9001。(2)I/O采集方式,數據的采集和設備的控制。計量點,新增的或原有的需接入能管中心的點通過儀表提供4~20mA標準信號接入到PLC柜或I/O柜的AI輸入模板。工藝點,例如燃氣廠五加、六加、九加等煤氣加壓站既有采集數據的要求,還有對現場閥門進行控制要求的,系統(tǒng)則通過在原有西門子S7-300或400系統(tǒng)中加裝CP模板的方式進行數據的采集和設備的控制。新增加的CP模塊規(guī)劃的IP地址同原有系統(tǒng)的IP地址不在同一個網段,為兩個獨立的網段,可以實現數據采集控制功能和對病毒隔離功能。
2系統(tǒng)功能
本鋼能管中心數據采集監(jiān)控系統(tǒng)從試運行以來,實現了以下功能:1)數據采集設備控制對電力系統(tǒng)的電量、電流、電壓、功率、功率因數等,燃氣系統(tǒng)、熱電系統(tǒng)、氧氮氬系統(tǒng)的流量、壓力、溫度、柜位等,水系統(tǒng)的流量、壓力、水位等進行采集,對電力系統(tǒng)的開關、燃氣系統(tǒng)的加壓機、水系統(tǒng)的泵等重要能源設備進行遠方操作控制和實時調整。2)報警功能監(jiān)控中心匯聚大量的數據,系統(tǒng)根據故障程度和重要性,設置了重故障、輕故障和事件三種報警類型,提示調度員進行相應的操作。3)操作記錄對重要設備的操作進行記錄,當故障發(fā)生后可以為事故的原因分析提供依據。4)數據處理包括流量累計、計算煤氣熱值、多個數據之和或差等,例如混合煤氣的和。5)數據歸檔對于短時歸檔數據,提供過程曲線顯示;長時歸檔數據,可按信號內容、起/訖時間、時間粒度(分鐘/小時/天/月)、數值類型(Min/Max/Ave/Sum)進行歷史數據查詢,并可進行曲線顯示。6)Web用戶可通過IE瀏覽器來訪問Web服務器,獲取現場設備的狀態(tài)和運行參數,在Web畫面上不能進行參數設定等操作。內容包括各系統(tǒng)的工藝畫面,重要的報警畫面。
3結論
基于表層化方式的DeepWeb數據采集方法將DeepWeb數據采集問題建模為一個優(yōu)化問題:已知一個DeepWeb數據庫DB,對DB的采集可以表示為尋找一個查詢集合Q={q1,q2,...,qn},在給定的約束條件C滿足的條件下,查詢集合Q從DB獲取的DeepWeb數據最多,即查詢集合Q對DeepWeb數據庫資源的覆蓋率達到最大。其中,C表示許向Web數據庫提交查詢請求的次數?;诒韺踊绞降腄eepWeb數據采集問題的目標就是針對一個給定的DeepWeb數據庫,尋找一組查詢集合,使用該查詢集合能夠對DeepWeb數據庫資源的覆蓋率達到最大?;诒韺踊姆椒ǖ闹饕枷胧峭ㄟ^向DeepWeb數據的查詢接口提交查詢把數據從Web數據庫中挖掘出來。這方法能夠充分利用搜索引擎爬蟲,將DeepWeb數據的采集轉換為SurfaceWeb數據采集的方式,不需要做很大的改變就可以無縫的將DeepWeb數據集成到現有的搜索引擎中?;诒韺踊绞降腄eepWeb數據采集方法的關鍵是為查詢接口生成合適的查詢,其目標是為DeepWeb數據的查詢接口生成有效的查詢實例,構造表單查詢,以便將Web數據庫中的內容發(fā)現出來。一個查詢接口可能包含多個輸入項,如果每個輸入項有100個有效的取值,那么對于一個有3個輸入項的查詢接口,組合生成的查詢數量是1,000,000。因此,在迚行DeepWeb數據采集時,為每個查詢接口生成所有可能的查詢是不實際的。而且,對于查詢接口中的一些文本輸入項,其對應的有效的取值進不止100個,如圖書查詢接口的書名,作者等?;诒韺踊椒ǖ腄eepWeb數據采集的目標是以最小的查詢數量達到最大的DeepWeb數據覆蓋率。因此,如何為查詢接口生成有效的查詢是實現DeepWeb數據覆蓋率最大化的重要環(huán)節(jié)。目前,針對這一問題的研究主要有基于詞頻的方法[11],基于集合覆蓋的方法[12,13],基于強化學習(ReinforcementLearning,RL)的方法[14-16],面向領域的方法(HiWE[17]、DeepBot[18,19]),基于屬性值圖的方法[20],基于查詢模板的方法[21],基于本體的方法[22-24]等。通過對查詢接口的分析發(fā)現,查詢接口根據輸入項素的個數可分為:簡單查詢接口(SimpleQueryInterface)和復雜查詢接口(ComplexQueryInterface)。簡單查詢接口包含一個輸入項,即為簡單的關鍵字查詢接口,使用方式與搜索引擎接口一樣;復雜查詢接口則包含兩個或多個輸入項。因此,本文根據查詢構造方法支持的接口類型將已有工作分為兩類:簡單查詢接口查詢構造方法,復雜查詢接口查詢構造方法。
1.1簡單查詢接口查詢構造方法簡單查詢接口只有一個輸入項,因此,對簡單查詢接口迚行查詢構造時并不需要考慮表單輸入項乊間的關系,只需要為該輸入項生成候選查詢關鍵字集合?;谠~頻的方法[11],基于集合覆蓋的方法[12,13],基于強化學習(ReinforcementLearning,RL)的方法[14-16]屬于此類的研究?;谠~頻的方法[11]基于一個假設:在實際數據庫或文檔集合中的高頻詞比隨機選擇的詞具有更高的資源覆蓋能力,而且高頻詞作為查詢能夠獲取更多的查詢結果。因此,該方法對簡單搜索接口所在頁面和查詢返回的結果迚行抽樣,然后在每一輪查詢結果中選擇高頻詞構造查詢迚行資源采集。但是該方法有個明顯的不足:在每次查詢時,高頻詞無法確保獲取更多的新頁面。為此,Wang等人[12,13]將DeepWeb數據庫采集問題建模為集合覆蓋問題,利用目標數據庫采樣方法迚行DeepWeb數據爬取:首先從目標數據庫中獲取部分樣本,引入文檔權重和查詢權重,基于文檔權重和查詢權重利用貪心選擇策略選擇能夠覆蓋樣本數據庫的文檔重復率低的查詢詞集合,使用該查詢詞集合采集目標數據庫。該方法將原始數據庫的查詢選擇轉換為對樣本數據庫的查詢選擇問題。但是該方法無法保證樣本數據與目標數據庫是同分布的,因此覆蓋樣本數據庫的查詢詞集合可能不適用于整個目標數據庫。為此,Jiang和Wu等人提出了基于強化學習(RL)的DeepWeb數據采集框架[14-16],該方法與以往方法的有很大的不同:乊前的方法大多是基于統(tǒng)計信息選擇查詢,如詞頻,文檔頻率,詞頻-逆文檔頻率:而該方法不僅利用統(tǒng)計信息,還利用語言特征(詞性、詞的長度、語)以及HTML本身的特征(關鍵詞的標簽、屬性信息、位置信息等)[14]。RL方法許爬蟲根據從已執(zhí)行的查詢中獲取經驗,自動學習查詢選擇策略,從而為每一輪查詢選擇收益最大的查詢關鍵詞迚行資源采集。該方法充分利用查詢關鍵詞的不同特征和爬蟲的爬取經驗,自動的確定當前最優(yōu)的查詢選擇,減少了爬蟲的采集負載和大量空結果集的出現。但是該方法學習過程相對復雜,并且僅能應用于GET提交方法的表單,無法應用于POST類型的提交表單。
1.2復雜查詢接口查詢構造方法不同于簡單查詢接口,復雜查詢接口包含兩個或多個輸入項,對于表單中的選擇輸入項(如select,radio,checkbox)其輸入值是確定的,但是文本輸入項(如text)的值則是無法確定的,文本輸入項可能只接受數值類型的輸入值(如商品價栺)也可能只接受區(qū)間類型的輸入值(如日期),而且表單不同的輸入項乊間可能存在關聯(lián)關系。值得注意的是,復雜查詢接口并不一定為所有的輸入項都準備輸入值才能獲得查詢結果,因此,對復雜查詢接口迚行查詢構造時,首先需要確定輸入項的值域或約束,然后選擇迚行查詢構造的輸入項并為其準備輸入值,生成表單查詢實例。HiWE[17],DeepBot[18,19],基于屬性值圖的方法[20],基于查詢模板的方法[21],基于本體的方法[22-24]等則屬于此類工作。HiWE[17]是一面向特定領域(仸務)的采集方法,該方法需要人工提供領域屬性及屬性取值集合,并且通過查詢接口屬性集合與領域屬性集合的相似性刞斷,自動選擇領域相關的查詢接口;接著利用人工提供的屬性取值填充表單,生成表單查詢;然后迚行DeepWeb數據的采集,并根據采集經驗利用表單選擇輸入項素的取值更新屬性取值。但是該方法沒有考慮自動為文本輸入項產生新的查詢詞,只能依賴人工提供的知識。不同于HiWE,Wu[20]提出一基于屬性值圖的查詢構造方法。該方法將基于查詢的DeepWeb數據采集建模為圖的遍歷問題:定義基于屬性值的圖模型,將一個結構化的Web數據庫看作是一個單一關系的數據表,每個屬性值為圖中的一個結點,邊為兩個不同的屬性取值在一個數據實例中的共現關系。該工作得出結論認為結構化的數據庫屬性值圖中結點的度分布與冪律分布(powerlaw)相似,并以此為依據采用貪心選擇策略選擇度大的結點生成表單查詢。但是該方法需要將每一次的查詢結果更新到已有的屬性值圖中,然后選擇下一個新的待提交的查詢詞,這方法更新屬性值圖的代價較高。DeepBot[18,19]是一個基于瀏覽器內核開發(fā)的DeepWeb數據采集的框架,它與HiWE類似,都采用面向特定領域的方式。DeepBot接受一組領域定義集合作為輸入,自動識別與該集合相關的表單;然后利用領域定義集合為匹配的表單素賦值,生成表單查詢。其中,領域定義集合用于定義采集仸務。該方法通過領域定義與表單乊間的相似度計算自動選擇匹配的表單,許表單素和領域定義乊間存在不完全匹配的情況。DeepBot采用瀏覽器內核解決網頁客戶端瀏覽器腳本解析問題,但是該方法完全依賴人工提供的領域定義集合,不能自動產生新的查詢詞。為此,Madhavan[21]提出了一基于查詢模板的DeepWeb數據自動采集方法,該方法自動刞斷查詢接口中輸入素接受的數據類型,選擇查詢接口中的輸入項的一個子集作為約束項構造查詢模板。在約束項乊間利用笛卡爾積的形式產生不同的查詢請求。約束項的取值有兩方式確定:對于選擇輸入項,則利用查詢接口提供的取值集合;對于文本輸入項,首先利用表單所在頁面的信息構造刜始候選詞,然后從查詢結果文檔中提取額外的關鍵詞更新候選詞列表,重復該步驟直到不能提取新的關鍵詞為止或是達到停止條件,最后將這些查詢詞作為該文本輸入項的取值集合。該方法通過表單查詢返回結果驗證查詢模板的有效性,并且采用自底向上的有效模板的增量式算法構造查詢模板。雖然該方法能夠自動實現DeepWeb數據查詢請求的生成,但是對于包含多個輸入項的查詢接口來說,其對應文本輸入項取值集合的確定,查詢模板有效性的驗證過程復雜,導致DeepWeb數據采集的效率較低。基于本體的查詢構造方法[22-24]與上述方法不同,該方法通過本體直接定義查詢接口中每個素的類型和取值以及素乊間的依賴關系,將本體作為輸入直接生成表單查詢。[22]是一針對語義網環(huán)境的DeepWeb數據查詢方法。[23]是一基于本體的屬性自動抽取和查詢轉換方法,該方法將WordNet作為本體,利用本體在DeepWeb數據中加入語義層實現表單查詢的生成。[24]是一基于面向實體DeepWeb數據查詢的方法,該方法將Freebase作為本體知識,利用本體和查詢日志(querylogs)產生實體查詢,用于DeepWeb數據的采集。但是基于本體的方法與HiWE和DeepBot類似都依賴外部的人工指定的輸入信息,自適應性差。
2DeepWeb數據采集查詢構造方法分析
仸何一查詢構造方法的一個非常重要的特征是其自動化程度,這是指在查詢構造過程中需要用戶完成的工作量。除此乊外,由于DeepWeb數據面向的領域廣泛,類型多樣,因此,查詢構造方法最需要具備擴展性,如:在DeepWeb數據源的類型或領域發(fā)生變化時,該方法仍然能夠正常工作。本節(jié)從支持的查詢接口提交方法,查詢詞提供方式,自動化程度,擴展性角度對比分析目前已有的查詢構造方法。表1是目前已有的查詢構造方法定性比較的結果,在自動化程度一列,“AUTO”表示完全自動、“SEMI”表示半自動、“NO”表示人工完成。在擴展性方面,劃分為三個層次,分別用“好”、“中”、“差”表示使用相關方法或工具的可擴展程度?;诒韺踊椒ǖ腄eepWeb數據采集的目標是以最小的查詢數量達到最大的DeepWeb數據覆蓋率,因此,構造的表單查詢的好壞直接影響目標的實現。雖然已有的查詢構造方法能夠表明確實可以使大量的DeepWeb數據內容對用戶可見,但它也存在一些局限性,如表2所示。從表1可以看出,這些查詢構造方法只能處理提交方法是GET類型的DeepWeb數據庫,不能應用于使用POST方法的DeepWeb數據庫。除此乊外,從表2可以看出,已有的查詢構造方法都存在不同程度的局限性。通過對相關工作的分析可以看出,目前,缺少一能夠同時處理GET和POST提交方法,具備自動,可擴展應用到不同領域的表單查詢構造方法。因此,DeepWeb數據采集的查詢構造方法仍然需要做迚一步的研究。表層化的方法通過向DeepWeb數據的查詢接口提交查詢把數據從DeepWeb數據庫中挖掘出來,得到的DeepWeb數據可以用于構造以數據分析和挖掘為目的的各應用或是數據集成應用。利用該方法迚行DeepWeb數據采集有以下優(yōu)點:(1)該方法能夠無縫的集成搜索引擎爬蟲,不需要對搜索引擎爬蟲做改動就可以實現DeepWeb數據的采集;(2)基于表層化方法的DeepWeb數據采集系統(tǒng)可以將對應的DeepWeb數據庫的數據保存到本地,這樣可以根據需求對得到的DeepWeb數據迚行預處理,如:連接來自不同DeepWeb數據庫的數據,初除重復內容等;可以為DeepWeb數據預先創(chuàng)建索引,以便快速響應用戶查詢請求;(4)該方法可以使從DeepWeb數據庫得到的內容和從SurfaceWeb得到的內容以相同方式采集。雖然基于表層化處理方式的DeepWeb數據采集方法確實可以使大量的DeepWeb數據內容對搜索引擎用戶可見,但它也存在嚴重的局限性。(1)有很大一部分DeepWeb數據庫的內容無法通過現有的DeepWeb數據采集技術爬取到,原因在于,目前的表層化處理方法只能處理查詢接口的提交方法是GET類型的DeepWeb數據庫,不能應用于使用POST方法的DeepWeb數據庫;(2)該方法對保持采集的DeepWeb數據庫的數據的時新性(datafreshness)非常困難,因為DeepWeb數據庫的內容是動態(tài),多變的,搜索引擎爬蟲可能無法跟上快速變化的DeepWeb數據。表層化的方法面臨的最大的挑戰(zhàn)是如何為DeepWeb數據庫的查詢接口選擇合適的查詢,這涉及到兩個主要問題:第一,需要為查詢接口中的各表單輸入項找出合適的輸入值,對于表單中的選擇輸入項(如下拉、單選、多選等),它們的輸入值是已知的,可以直接利用查詢接口中提供的取值即可,但是對于表單中的文本輸入項,則需要為其預測合適的輸入值;第二,必須控制向查詢接口提交查詢請求的數量,以免對DeepWeb數據庫的提供商(DeepWeb數據所在站點)帶來不合理的負載。通過對表層化方式的DeepWeb數據采集方法分析,我們發(fā)現現有的表層化方法在解決DeepWeb數據采集的難題時,也存在不同程度的局限性,這導致現有的DeepWeb數據采集方法難滿足大數據的規(guī)模性,多樣性和高速性的特點,因此如何克服現有DeepWeb數據采集方法的局限性,在現有方法的基礎上做出迚一步改迚是未來需要研究的問題。
3研究展望
CC2530射頻模塊通過外引24個引腳,包括普通IO引腳P00-P24和電源、復位引腳,實現與電路的連接。電路包括復位電路、開關電路、傳感器接口電路、按鍵指示電路、通信調試電路、電源供電電路。主要電路功能介紹如下:按鍵指示電路:節(jié)點包括Led和蜂鳴器指示電路,用于本節(jié)點的指示功能;支持按鍵功能,進行節(jié)點工作模式的轉換。開關電路:由三極管電路組成,用于實現傳感器供電的通斷。通信調試電路:由串口電路和JTAG調試接口組成;串口負責與PC上位機軟件的連接,方便修改節(jié)點的參數;JTAG接口方便上位機集成環(huán)境IAR等調試用。電源供電電路:基本供電由外部USB接口電源5V通過AMS1117轉3.3V以及直接電池3.3V供電組成;傳感器可由內部3.3V供電,而大于3.3V則由外部電源直接提供。傳感器接口電路:包括?;肺锪鬈囕v常見的幾種信號(0-5V、4-20mA、開關量、數字量)采集電路,可同時接四種類型的傳感器。其中數字量主要是DS18B20、DHT11溫濕度傳感器的輸出信號;0-5V主要是氣體泄露檢測、光敏、真空度傳感器的輸出信號;4-20mA主要是壓力、液位傳感器的輸出信號;開關量主要是紅外、門開關、傾斜傳感器的輸出信號;信號接入后進行了信號隔離和二極管鉗位保護電路。
2節(jié)點軟件
2.1節(jié)點軟件架構軟件設計部分主要是基于TI公司的Z-stack協(xié)議棧進行應用程序的開發(fā)。Z-stack協(xié)議棧是一款穩(wěn)定性強的Zigbee開發(fā)協(xié)議棧,是對Zigbee標準的具體實現。協(xié)議棧APL(應用層)包含了主要的API函數接口,方便進行應用開發(fā),從而實現對CC2530芯片硬件資源的控制功能。具體軟件框架設計如圖4所示。應用層軟件主要包括節(jié)點間數據的接收/發(fā)送、節(jié)點內應用層與底層的交互。應用層的數據經過應用層數據幀格式進行封裝傳給底層繼續(xù)封裝并發(fā)送出去;接收數據則由底層先進行解釋,再由應用層進行解釋,然后進行數據的計算、更新參數等步驟。應用層還可通過API控制接口對底層進行控制與信號、參數獲取。
2.2數據幀格式Zigbee采集節(jié)點和主節(jié)點模塊的數據傳輸格式采用字符串形式進行數據的發(fā)送/接收。由于是采用字符進行數據傳輸,所以可以利用上位機現有的字符串處理函數,很容易校驗數據正確性,并從數據幀中提取有效信息,避免因幀長度判斷引起的錯誤。另外,基于Zigbee傳輸速率較低、傳感器數據量小、刷新速度慢的需求等特點盡量減小和限制了協(xié)議中各數據域的占位寬度,保證傳輸效率。具體數據格式如表1所示。幀頭:本協(xié)議節(jié)點間的應用層交互主要有命令幀和數據幀。幀頭是辨別命令幀和數據幀而設立的。幀頭包括:Set、Get、Ack、Data4種。Set指的是主節(jié)點對采集節(jié)點進行參數設定,為命令幀,是主節(jié)點需要對子節(jié)點進行參數配置的時候發(fā)送的,子節(jié)點收到此類型幀后,發(fā)回Ack幀,說明參數設置成功與否;Get指的是其他節(jié)點需要獲取本節(jié)點信息,為命令幀,本節(jié)點收到此類型幀后,發(fā)送數據幀;Ack指的是節(jié)點間通信應答狀態(tài)幀,SUCC為成功、FAIL為失??;Data指的是數據幀,攜帶節(jié)點參數、傳感器采集數據。如表2所示。目的地址:目的地址指的是Zigbee網絡中的設備唯一標識的網絡ID。為十六進制0X0000-0XFFFF之間值。其中有幾個地址值有特殊的含義,0XFFFF表示廣播地址;0XFFFE表示所有接收功能打開的設備;0XFFFC表示所有路由設備;其余地址為單一設備的網絡地址。網絡地址的獲得過程是:主節(jié)點設備啟動成功后,自設定為Zigbee網絡的主網絡ID0X0000,子節(jié)點設備在申請加入成功后獲得一個網絡身份標志ID。幀類型:在幀頭為Set、Get、Data時,此幀位置都有意義,分別代表設置、獲取、攜帶相應類型的節(jié)點信息。這些類型包括,傳感器數據(Sensor)、節(jié)點網絡地址(NAdr)、節(jié)點網絡類型(NType)、采集周期(Cycle)、產品信息(Info)、發(fā)送方式(SWay)、功率模式(PMode)、信道選擇(Channel)、AD參考電壓(ADMode)、默認發(fā)送地址(DSAdr)。信道數據:DataChannel796F800\r\n(第11(0x0B)無線信號通道)載荷:載荷是整個通信幀中最重要的部分,包括了通信的主要內容。載荷的具體內容需要根據幀類型來確定。描述如下:(1)幀類型為傳感器數據:此時載荷部分包括傳感器類型、傳感器ID、傳感器值。傳感器類型包括?;肺锪鬈囕v常見信號:1.溫度、2.門開關、3.真空度、4.液位、5.壓力、6.電壓、7.濕度、8.氣體、9.紅外10.光敏、11.傾斜。傳感器ID從0開始分配,表示同種類傳感器的使用編號。(2)幀類型為非傳感器數據:此時載荷部分攜帶網絡地址、采集周期、發(fā)送地址等值。結尾符:本協(xié)議結尾符為字符“\r\n”,加上字符串結束符‘\0’,固定為3個字節(jié)。結尾符是一幀數據的界定符,上位機軟件可以根據此結尾符很快能判定幀的長度,避免一些數據長度判讀錯誤的發(fā)生。
2.3軟件處理流程Z-stack協(xié)議?;谳喸儥C制,事件是最小處理單元,每個事件都有相應的處理函數,當事件管理數據結構相應的位置位時,協(xié)議棧通過輪詢機制就能發(fā)現并跳入相對應處理函數進行處理步驟,處理完再返回輪詢大循環(huán)。這里主要設置了3個事件,分別是串口事件、無線事件和采集事件。串口事件主要處理與上位機的通信;包括根據上位機命令修改本節(jié)點參數、接收發(fā)送數據等;無線事件主要處理數據的無線發(fā)送和接收;采集事件主要處理傳感器的數據讀入、封裝、發(fā)送或者接收、解析、轉發(fā)等。處理流程圖如圖5所示。
2.4上位機配置軟件Zigbee設備邏輯類型包括3種,分別是主節(jié)點、路由節(jié)點、終端節(jié)點。對于不同設備類型的具體處理流程,本設計編寫了統(tǒng)一的參數配置服務函數,可通過上位機軟件方便進行配置。比如,終端節(jié)點配置成具有傳感器數據的采集功能,可選擇無線和串口兩種發(fā)送方式,而對于路由器或者協(xié)調器,基于功耗考慮,則配置成不具有傳感器數據采集功能。通過設計節(jié)點上位機配置軟件ZigConfig來實現參數的配置,簡單的界面操作就能通過串口以上述數據格式下載到節(jié)點,并燒寫到CC2530的flash中永久保存起來,節(jié)點下一次啟動將以新的參數啟動。上位機配置軟件介紹如下:(1)配置軟件由QtCreator開發(fā)。QtCreator是Qt被Nokia收購后推出的一款新的輕量級跨平臺集成開發(fā)環(huán)境(IDE)。支持的系統(tǒng)包括Linux(32位及64位)、MacOSX以及Windows。開發(fā)人員能利用該應用程序框架更快速及輕易地完成開發(fā)任務。(2)該配置軟件完成節(jié)點的設備類型、接口采集邏輯、入網參數等的配置??芍苯油ㄟ^串口線與待配置節(jié)點連接,也可以通過一個中間節(jié)點對待配置節(jié)點進行無線配置,中間節(jié)點通過串口線與上位機連接。操作界面如圖6所示。(3)如圖7,圖8所示,通過上位機配置軟件S1(實物圖如圖6所示)可方便地對待配置節(jié)點S2進行參數配置。對于待配置設備,如果是終端設備,配置前需先按下配置按鍵,指示燈亮后,裝置即進入配置模式;而如果是路由設備或協(xié)調器設備則無需此步驟。(4)有線配置如圖6所示:上位機通過串口線連接待配置設備,然后配置軟件上收到待配置節(jié)點S2發(fā)送過來的設備信息,并顯示在界面上,然后點擊配置按鈕,即發(fā)送配置幀到節(jié)點S2,點擊讀取配置按鈕,則將節(jié)點S2各項參數顯示在界面上,如果節(jié)點S2是數據透傳模塊,則可以直接接收數據或填寫目標地址發(fā)送數據。配置完后再按一下按鍵,指示燈不亮,表示配置完成。可以配置設備類型為Zigbee終端設備、路由設備、協(xié)調器設備和點對點透傳設備;可以配置入網參數,比如PANID值、信道、網絡模型、網絡層次等;可以配置傳感器發(fā)送周期,使各傳感器通道數據可以同一周期發(fā)送,也可以不相同周期發(fā)送等。(5)無線配置如圖8所示,采用一個節(jié)點作為數據中轉與上位機有線連接,通過這個節(jié)點無線發(fā)送指令到待配置節(jié)點進行配置,配置過程中的操作步驟與有線時類似。
3節(jié)點測試
3.1信號強度RSSI(ReceivedSignalStrengthIndication)是接收端的信號強度指示,可用來判定鏈接質量。實際應用中,普遍采用簡化后的Shadowing模型,即如下公式計算RSSI值。其中Pr(d)為接收端接收信號強度,Pr(d0)為參考處接收端接收信號強度,d為接收端與發(fā)送端實際距離,d0為接收端與發(fā)送端參考距離,n為路徑損耗指數,通常取2~4。取d0=1m,實測得Pr(d0)的值代入,并取n=3代入公式(1)得新的計算公式。實際測試中取兩個節(jié)點,分別設為協(xié)調器節(jié)點和終端節(jié)點。將協(xié)調器節(jié)點固定,令終端節(jié)點遠離,終端節(jié)點加入協(xié)調器節(jié)點網絡后,每隔1s發(fā)送一次數據到協(xié)調器節(jié)點。協(xié)調器接收到數據包后,從TI協(xié)議棧Z-Stack的數據結構afIncom-ingMSGPacket_t中提取RSSI值記錄下來。100M范圍每隔5M記錄一次RSSI值,每次記錄100個值,然后取100個中的隨機值和平均值分別作為本次終值繪制曲線。
3.1.1空曠環(huán)境下測得Pr(d0)=-28dbm,按照公式(2)與實際數據,繪制對比曲線。從圖9和圖10對比曲線可以看出,隨著兩節(jié)點間距離增大,RSSI值會逐漸衰減,符合一般規(guī)律。0-20m范圍內,RSSI衰減較快,之后較為平緩。40m后信號質量普遍較理論值平緩,可能是受硬件條件影響,誤差增大。圖9由于每次記錄取的隨機值,存在較大誤差,圖10每次記錄取100個數據的平均值,曲線較為平緩。誤差因素包括硬件設計、周邊環(huán)境影響等。
3.1.2?;肺锪鬈囕v環(huán)境下采用深圳市中集集團液化氣罐(空罐)?;肺锪鬈囕v進行實地測試,測試車輛長度14m,寬度2.5m。將協(xié)調器節(jié)點放置在車駕駛座,終端節(jié)點自由放置于車廂體內部,加入網絡并發(fā)送數據到協(xié)調器節(jié)點。測得Pr(d0)=-44dbm,根據公式(2)和實際數據的結果曲線如下:由圖11和圖12可以看出,在車輛環(huán)境下,節(jié)點信號普遍較空曠環(huán)境下差,這主要是因為接收節(jié)點被放進車輛箱體內部,信號一定程度上受到廂體衰減。大于40m距離后信號變得不穩(wěn)定,通信斷續(xù)和重連情況發(fā)生頻繁,此時RSSI值普遍>82dbm,80m后多次測試接收端均接收不到數據。
3.2數據傳輸將協(xié)調器節(jié)點放置在車駕駛座,終端節(jié)點自由放置于車輛廂體內部,加入網絡并發(fā)送數據到協(xié)調器節(jié)點。在協(xié)調器端統(tǒng)計接收數據包個數,并計算丟包情況和最大穩(wěn)定通信距離(即數據通信情況良好,極少發(fā)生重連情況),結果如下。由表3可以看出,主節(jié)點在車駕駛室情況下,車正前方和側面信號要好于車后方信號,節(jié)點丟包率較低,通信距離>=25M,滿足一般?;肺锪鬈囕v要求。另外,通信的最大穩(wěn)定傳輸RSSI值是極少斷網重連情況發(fā)生下的統(tǒng)計值,所以普遍低于信號強度曲線中的極限值。隨著距離增大,節(jié)點間的網絡傳輸也會變得不穩(wěn)定,常常發(fā)生斷網重連,甚至無法重連狀況。實際數據包傳輸受節(jié)點間不同阻擋物、不同車型、車體電磁干擾、程序執(zhí)行等因素影響。
3.3功耗通過萬用表、示波器和在程序中設計測試模塊的結合進行功耗測試,測試結果如下。從表4的測試結果可以看出,節(jié)點滿足低功耗要求,休眠情況下,節(jié)點功耗低至0.33uA。
4結語
NI-PCI6221是一款低價位多功能M系列數據采集板卡,具有單端16路/差分8路模擬輸入,分辨率高達16bit,采樣速率為250KS/s,輸入最小電壓范圍為±200mV,最大電壓范圍為±10V,板上自帶4095字節(jié)內存.
2系統(tǒng)軟件設計
2.1系統(tǒng)功能設計軟件設計是整個系統(tǒng)設計的核心,軟件設計部分采用層次化和模塊化思想,將整個系統(tǒng)劃分分若干模塊,模塊化的程序結構不但使整個系統(tǒng)清晰明了,而且方便進行程序維護.基于LabVIEW的數據采集系統(tǒng)軟件結構如圖2所示.該系統(tǒng)軟件部分包含了系統(tǒng)啟動、用戶登錄、系統(tǒng)菜單、數據采集、數據處理、數據回放6個功能模塊.
2.2系統(tǒng)界面設計本文針對6個功能模塊分別開發(fā)了相應的界面.
2.2.1系統(tǒng)啟動界面系統(tǒng)啟動界面如圖3所示.它包含了簡單個人信息,綠色橫條是系統(tǒng)啟動條,顯示啟動進度,系統(tǒng)100%加載成功后,單擊進入登錄界面按鈕可以跳轉到用戶登錄界面,單擊退出啟動界面按鈕則直接退出系統(tǒng).
2.2.2用戶登錄界面用戶登錄界面如圖4所示.它要求輸入用戶名和密碼,功能是進行身份認證,認證通過后顯示登錄成功,一旦登錄成功會自動進入到系統(tǒng)菜單界面,如果不能通過認證,只能通過退出按鈕來退出系統(tǒng).
2.2.3系統(tǒng)菜單界面系統(tǒng)菜單界面如圖5所示.它由一列按鈕構成,菜單程序運行后按鈕被激活,分別單擊數據采集、數據處理、數據回放按鈕可跳轉到對應界面,單擊退出按鈕返回到菜單按鈕被激活前狀態(tài).
2.2.4數據采集界面數據采集界面如圖6所示.它模擬實現了兩路信號的采集,一路是電壓信號,一路是溫度信號.信號選擇開關用于進行信號選擇,通過信號選擇開關既可以采集單路信號數據,也可以同時采集雙路信號數據.針對溫度信號設計了溫度表盤,可精確顯示溫度值,另外還設定了溫度下限和上限值,將溫度限定在一個范圍內,一旦超出這個范圍,報警指示燈就會亮起來.數據采集界面包含了一些基本參數設置,此外還有返回和暫停兩個按鈕,單擊暫停按鈕,系統(tǒng)暫停連續(xù)采集數據,暫停中狀態(tài)表現為數據信息停留在某一刻,單擊返回按鈕,可返回至系統(tǒng)菜單界面.李琳芳等院基于LabVIEW的數據采集與處理系統(tǒng)設計
2.2.5數據處理界面數據處理界面如圖7所示.它包含了電壓和溫度兩路信號,對電壓信號分別進行了濾波、頻譜分析、峰值壓縮,對溫度信號進行了均值壓縮.此外還有溫度表盤、一列選擇開關、系統(tǒng)參數配置信息、暫停和返回按鈕.濾波處理是信號處理中常用的一種手段,對于濾波處理,觀察圖7,可發(fā)現濾波后的電壓信號清晰平滑,便于觀察.頻譜分析主要是求出信號的頻域描述,有助于更全面地認知信號信息,進行信號特征提取.根據奈奎斯特準則,信號帶寬小于采樣頻率的1/2,便能防止出現頻譜混疊現象,恢復出原始信號,本文設置采樣頻率為1000Hz.觀察圖7發(fā)現電壓幅度譜主要集中在0~50Hz,這是因為在實際工程中,為了恢復出高保真信號,要求信號帶寬小于采樣頻率的1/10,加之軟件仿真環(huán)境理想,因此信號幅度譜主要處于50Hz頻段內.壓縮采樣是利用算法在保留信號信息的同時進行壓縮處理,壓縮處理可縮減數據體積,有利于傳輸.本文對電壓信號進行了峰值壓縮,對溫度信號進行了均值壓縮,設置壓縮因子均為10,即對于電壓信號,每10個采樣值中標記出最大值,對于溫度信號,每10個采樣值中標記出平均值.電壓信號峰值壓縮后方便獲取峰值信息,溫度信號均值壓縮后方便獲取平均溫度.
2.2.6數據回放界面數據回放界面如圖8所示.可以讀取之前存儲的數據,實現數據再現.通過文件路徑找到之前數據所在位置,并通過選擇開關按鈕選擇回放的信號,接著運行系統(tǒng)回放程序,便可觀察回放的數據.數據回放界面包含了電壓和溫度兩路信號的回放,回放的數據結果以波形和表格數值兩種形式呈現.觀察圖8發(fā)現在電壓和溫度波形始端有段空白區(qū)域,這是由于之前存儲的文件中包含一些非數值的說明信息,是不能夠被讀取的.
3小結