李文軍 樂小琴 沈曉昱 孫 斌
(中國計量學(xué)院自動檢測與控制研究所,浙江 杭州 310018)
工廠及大型實驗室都需要大量現(xiàn)場儀器儀表,如壓力變送器、流量計、溫度變送器和成分分析儀等。通?,F(xiàn)場儀表采用有線的方式連接到控制系統(tǒng),實現(xiàn)數(shù)據(jù)的采集和傳輸。雖然有線網(wǎng)絡(luò)是非??煽颗c穩(wěn)定的通信方式,但布線工作不僅需要很大的成本,且在一些場合實施的難度較大[1]。
隨著通信技術(shù)和嵌入式技術(shù)的不斷發(fā)展,短距離、低功耗和低速率的無線通信技術(shù)已得到比較廣泛的應(yīng)用[2]。但要通過低成本把工業(yè)現(xiàn)場中多種類型的儀器儀表改造為無線通信還是一件比較困難的事情。在多種近程無線通信技術(shù)中,ZigBee技術(shù)是較適合于工業(yè)應(yīng)用的一種[3]。
對此,本文設(shè)計了一種基于ZigBee的數(shù)據(jù)采集無線網(wǎng)絡(luò)適配器。該適配器通過通信端口綁定到儀表,構(gòu)成ZigBee終端節(jié)點,并把節(jié)點接入到無線網(wǎng)絡(luò)中。通過這種方式,即可利用較低的成本把儀器儀表接入到無線網(wǎng)絡(luò)中,使儀器儀表具有無線通信能力。
整個工業(yè)儀表無線數(shù)據(jù)采集系統(tǒng)分為兩個部分,第一部分是數(shù)據(jù)采集端,第二部分是數(shù)據(jù)管理中心。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 General structure of the system
在數(shù)據(jù)采集端,ZigBee適配器帶有多個采集接口(可以采集4~20 mA電流信號、1~5 V/0~10 V電壓信號、脈沖信號以及RS-232/485接口輸出信號等信號),通過串口連接工業(yè)現(xiàn)場的壓力變送器等;同時,采集這些現(xiàn)場儀器儀表的輸出數(shù)據(jù),如過程數(shù)據(jù)、測量數(shù)據(jù)和故障信息等,并將這些數(shù)據(jù)通過ZigBee網(wǎng)絡(luò)發(fā)送給ZigBee協(xié)調(diào)器。
在數(shù)據(jù)管理中心,ZigBee無線網(wǎng)絡(luò)協(xié)調(diào)器通過自己的無線通信模塊接收來自ZigBee適配器的數(shù)據(jù),并通過串口與數(shù)據(jù)管理中心的計算機進行通信和傳輸數(shù)據(jù)。數(shù)據(jù)管理中心的軟件可以劃分為數(shù)據(jù)庫軟件和監(jiān)控軟件兩部分,用于實現(xiàn)數(shù)據(jù)的轉(zhuǎn)換和存儲以及實時顯示功能。
系統(tǒng)硬件設(shè)計包括基于ZigBee技術(shù)的無線網(wǎng)絡(luò)協(xié)調(diào)器和無線網(wǎng)絡(luò)適配器的設(shè)計。兩者均選用Chipcon公司(現(xiàn)屬于 TI公司)的 CC2430模塊。CC2430芯片在單個芯片上整合了ZigBee射頻前端、內(nèi)存和微控制器[4],由模擬數(shù)字轉(zhuǎn)換器、32 kHz晶振的休眠模式定時器以及21個可編程I/O引腳等部件組成。CC2430芯片采用0.18 μm CMOS工藝生產(chǎn),在接收和發(fā)射模式下,電流損耗分別低于27 mA或25 mA。CC2430從休眠模式轉(zhuǎn)換到主動模式的時間很短,特別適合系統(tǒng)低功耗的需求。
2.1.1 ZigBee 協(xié)調(diào)器硬件設(shè)計
ZigBee網(wǎng)絡(luò)必須有一個無線網(wǎng)絡(luò)協(xié)調(diào)器作為整個網(wǎng)絡(luò)的主要控制者,負責(zé)建立新的網(wǎng)絡(luò)、發(fā)送網(wǎng)絡(luò)信標(biāo)、管理網(wǎng)絡(luò)中的節(jié)點、接收節(jié)點發(fā)送的信息以及存儲網(wǎng)絡(luò)信息等[5]?;赯igBee的無線網(wǎng)絡(luò)協(xié)調(diào)器的電路原理示意圖如圖2所示,它由無線通信模塊、串口通信模塊、按鍵輸入模塊、液晶顯示模塊和電源模塊組成。其中,串口通信模塊、按鍵輸入模塊、液晶顯示模塊以及電源模塊設(shè)計在一塊獨立的板卡上,稱為網(wǎng)絡(luò)擴展板。網(wǎng)絡(luò)擴展板與無線通信模塊板(即核心板)通過外接I/O接口連接,共同組成ZigBee無線網(wǎng)絡(luò)協(xié)調(diào)器。
利用無線通信模塊的I/O口,可以直接控制液晶顯示模塊顯示來自節(jié)點的數(shù)據(jù)。此外,把無線網(wǎng)絡(luò)協(xié)調(diào)器自帶的RS-232接口連接到計算機,以接收串口輸出的數(shù)據(jù)。運行時,協(xié)調(diào)器將一直處于接收/發(fā)送狀態(tài),且采用外部電源供電。
2.1.2 ZigBee 適配器硬件設(shè)計
設(shè)計的ZigBee適配器具有多種采集接口,用于采集工業(yè)現(xiàn)場最為常見的儀器儀表輸出信號,如4~20 mA電流信號、1~5 V/0~10 V電壓信號、脈沖信號以及RS-232/485接口輸出信號等。適配器以CC2430模塊為核心進行設(shè)計,其電路原理示意圖如圖3所示。
圖3 ZigBee適配器電路原理圖Fig.3 Principle of the ZigBee adapter
為實現(xiàn)采集數(shù)據(jù)的通用性,將RS-232/485通信模塊、電流/電壓采集轉(zhuǎn)換模塊、開關(guān)信號采集輸入/輸出模塊、脈沖信號采集模塊設(shè)計在一塊信號接入板上。適配器連接并綁定到工業(yè)現(xiàn)場的各種儀器儀表,即共同構(gòu)成一個ZigBee無線網(wǎng)絡(luò)的終端節(jié)點。
2.2.1 ZigBee 協(xié)調(diào)器的軟件設(shè)計
ZigBee適配器程序與ZigBee協(xié)調(diào)器程序均建立在ZigBee精簡版協(xié)議?;A(chǔ)上[6],其軟件流程圖如圖4所示。
圖4 ZigBee協(xié)調(diào)器軟件流程圖Fig.4 Software flowchart of ZigBee coordinator
程序首先初始化CC2430、液晶和協(xié)議棧并打開中斷;在初始化之后,協(xié)調(diào)器啟動并建立ZigBee網(wǎng)絡(luò)。如建立成功,即在液晶顯示面板上顯示成功信息,或者通過串口在上位機上顯示網(wǎng)絡(luò)建立成功的信息,ZigBee采用自組織方式組網(wǎng)建立無線通信鏈路。隨后,協(xié)調(diào)器進入無線監(jiān)控狀態(tài),監(jiān)控有無節(jié)點加入以及加入的節(jié)點有無數(shù)據(jù)發(fā)出,當(dāng)有節(jié)點申請加入網(wǎng)絡(luò)時,協(xié)調(diào)器同意并給節(jié)點分配網(wǎng)絡(luò)號;當(dāng)加入的節(jié)點有數(shù)據(jù)發(fā)送時,協(xié)調(diào)器接收數(shù)據(jù)并把數(shù)據(jù)傳送給上位機。
2.2.2 ZigBee 適配器的軟件設(shè)計
當(dāng)協(xié)調(diào)器發(fā)起網(wǎng)絡(luò)后,ZigBee適配器就上電搜尋網(wǎng)絡(luò)并發(fā)送加入網(wǎng)絡(luò)信號。加入網(wǎng)絡(luò)成功后,ZigBee適配器進入低功耗休眠狀態(tài)[7]。在設(shè)計的系統(tǒng)中,適配器被設(shè)置為定時采集、發(fā)送數(shù)據(jù),節(jié)點不是一直處在工作狀態(tài)。當(dāng)發(fā)送數(shù)據(jù)時,節(jié)點被喚醒處于發(fā)送狀態(tài);當(dāng)完成發(fā)送任務(wù)后,節(jié)點進入低功耗休眠狀態(tài),以節(jié)約能耗。CC2430有4種低功耗模式,分別為PM0、PM1、PM2、PM3,其中PM0功耗最大,PM3功耗最小。所設(shè)計的系統(tǒng)使用的是PM2休眠低功耗模式,程序設(shè)定發(fā)送數(shù)據(jù)的時間間隔配置在500 ms。ZigBee適配器軟件流程圖如圖5所示。
圖5 ZigBee適配器軟件流程圖Fig.5 Software flowchart of ZigBee adapter
工業(yè)現(xiàn)場儀器儀表的輸出數(shù)據(jù)首先由ZigBee無線網(wǎng)絡(luò)適配器采集、發(fā)送,然后通過ZigBee無線網(wǎng)絡(luò)協(xié)調(diào)器接收并利用RS-232串口發(fā)送到監(jiān)控管理中心進行分析處理。所設(shè)計的系統(tǒng)數(shù)據(jù)管理中心軟件從功能上劃分為監(jiān)控軟件和數(shù)據(jù)庫軟件兩部分。其中,監(jiān)控軟件實現(xiàn)對計算機串口輸出數(shù)據(jù)的讀取、轉(zhuǎn)換和實時顯示等功能;數(shù)據(jù)庫軟件存儲工業(yè)現(xiàn)場儀器儀表的配置信息以及通過系統(tǒng)采集到的儀器儀表的實時數(shù)據(jù)。借助監(jiān)控軟件和數(shù)據(jù)庫軟件,實現(xiàn)了計算機端對現(xiàn)場儀器儀表節(jié)點的在線監(jiān)測。數(shù)據(jù)管理中心結(jié)構(gòu)如圖6所示。
圖6 數(shù)據(jù)管理中心結(jié)構(gòu)圖Fig.6 Structure of data management center
數(shù)據(jù)管理中心的開發(fā)借助于虛擬儀器技術(shù),采用LabVIEW編寫,主要實現(xiàn)建立串口通信,進行數(shù)據(jù)采集、處理、存儲、回放等功能[8]。為了更直觀地顯示各個適配器采集數(shù)據(jù)的輸出曲線,每一路信號采集都配置有示波器。
數(shù)據(jù)庫軟件選用了微軟的Access數(shù)據(jù)庫,用于存儲現(xiàn)場儀器儀表的配置信息,如網(wǎng)絡(luò)地址等信息,并保存采集到的數(shù)據(jù),實現(xiàn)歷史數(shù)據(jù)查詢和報表打印等功能。
在工業(yè)現(xiàn)場環(huán)境相類似的多相流檢測實驗室里,進行了系統(tǒng)整體測試試驗。在實驗室中,配置有電磁流量計、壓力變送器和溫度變送器等現(xiàn)場儀器儀表。測試試驗主要是對電磁流量計、壓力變送器、溫度變送器輸出的4~20 mA電流信號、研華4013模塊輸出的RS-232/485接口信號和調(diào)節(jié)閥輸出的0~10 V電壓信號進行采集。測試結(jié)果表明,系統(tǒng)能夠可靠、穩(wěn)定、準(zhǔn)確地采集儀表數(shù)據(jù)。
為了能夠應(yīng)用到工業(yè)現(xiàn)場,對系統(tǒng)的無線通信距離做了測試,即測試適配器與協(xié)調(diào)器之間的距離與無線傳輸準(zhǔn)確率、丟包率和組網(wǎng)時間的關(guān)系。測試分別在無障礙環(huán)境和有障礙環(huán)境兩種情況下進行。
①在無障礙環(huán)境下,當(dāng)兩個節(jié)點距離小于50 m時,每個距離點測試3次;當(dāng)兩節(jié)點距離大于等于50 m時,每個距離點測試5次,每次測試時間為10 min。無障礙環(huán)境下通信距離試驗測試數(shù)據(jù)如表1所示。
表1 無障礙環(huán)境下試驗測試數(shù)據(jù)Tab.1 Experimental test data under environment without barrier
由表1可知,在無障礙環(huán)境下,當(dāng)兩個節(jié)點距離≥60 m時,信號傳輸不穩(wěn)定,且容易發(fā)生中斷。
②在有障礙環(huán)境下,障礙物厚度分別為30 cm和60 cm,兩個節(jié)點分別置于障礙物的兩邊,并逐漸拉遠兩個節(jié)點的距離,每個測試點測試3次,每次的測試時間為10 min。有障礙環(huán)境下試驗測試數(shù)據(jù)如表2所示。
表2 有障礙環(huán)境下試驗測試數(shù)據(jù)Tab.2 Experimental testing data under environment with barrier
由表2可以看出,當(dāng)障礙物厚度為30 cm時,如兩個節(jié)點距離大于25 m,信號傳輸不穩(wěn)定,數(shù)據(jù)傳輸間隔有所變化,且信號容易發(fā)生中斷;當(dāng)障礙物厚度為60 cm,兩個節(jié)點距離大于5 m時,信號傳輸變得不穩(wěn)定,信號容易發(fā)生中斷。
本文研制了一種基于ZigBee的工業(yè)儀表無線數(shù)據(jù)采集系統(tǒng)。經(jīng)過試驗驗證,其能夠準(zhǔn)確地采集工業(yè)現(xiàn)場常用儀器儀表的過程數(shù)據(jù),包括常見的電流信號、電壓信號以及RS-232/485接口輸出信號等,且具有低功耗和低成本的特點,可適用于實驗室、工廠儀器儀表的集中監(jiān)控。
[1]李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技術(shù)入門與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007.
[2]沈曉昱,李文軍,孫斌.基于ZigBee的工業(yè)儀表無線數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].工業(yè)控制計算機,2009,22(11):1 -5.
[3]金純,羅組秋,羅鳳,等.ZigBee技術(shù)基礎(chǔ)及案例分析[M].北京:國防工業(yè)出版社,2008.
[4]趙新秋.工業(yè)控制網(wǎng)絡(luò)的發(fā)展[J].自動化與儀器儀表,2008(4):3 -6.
[5]宋蟄存,陳寧,李迪飛.ZigBee無線傳感技術(shù)在森林火災(zāi)監(jiān)控中的應(yīng)用[J].自動化儀表,2011,32(4):50 -52.
[6]霍峰,王長松,鞏憲鋒,等.基于ZigBee和LabVIEW的多功能數(shù)據(jù)采集系統(tǒng)[J].傳感器與微系統(tǒng),2008,27(7):82 -85.
[7]張寧,王越,王東.基于精簡協(xié)議棧的ZigBee網(wǎng)絡(luò)節(jié)點研究[J].計算機及嵌入式系統(tǒng)應(yīng)用,2009(2):76-78.
[8]顧斌.LabVIEW環(huán)境下溫度測控系統(tǒng)的深入研究與實現(xiàn)[D].上海:東華大學(xué),2008.