ZigBee無(wú)線傳感器網(wǎng)絡(luò)技術(shù)在油田信息采集系統(tǒng)中的應(yīng)用
摘要:本文基于ZigBee無(wú)線通訊組網(wǎng)技術(shù),以iennic5139為控制核心,構(gòu)建了適合油田信息采集的無(wú)線傳感器網(wǎng)絡(luò)給出了傳感器節(jié)點(diǎn)與中轉(zhuǎn)節(jié)點(diǎn)的硬軟件設(shè)計(jì)。提出了一種組網(wǎng)靈活、成本低、維護(hù)方便的解決方案。
本文引用地址:http://2s4d.com/article/201610/306798.htm隨著“數(shù)字油田”建設(shè)的不斷推進(jìn),油田信息化建設(shè)得到了很大發(fā)展。各種生產(chǎn)信息系統(tǒng)的建立極大地方便了技術(shù)人員的日常工作,提高了安全生產(chǎn)的效率。數(shù)據(jù)自動(dòng)化采集、信息處理將是建設(shè)“數(shù)字油田”乃至“智能油田”的必然趨勢(shì)。近些年,各種無(wú)線傳感器網(wǎng)絡(luò)和無(wú)線傳輸技術(shù)發(fā)展日趨成熟,為油田信息系統(tǒng)建設(shè)提供了又一種行之有效的技術(shù)手段。
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)技術(shù)是利用布置在無(wú)人值守的監(jiān)控區(qū)域內(nèi)具有通信和運(yùn)算能力的傳感器節(jié)點(diǎn),自主完成對(duì)檢測(cè)對(duì)象的信息采集、感知等指定任務(wù)的技術(shù)。無(wú)線傳感器網(wǎng)絡(luò)是集傳感器技術(shù)、通信技術(shù)、嵌入式計(jì)算和分布式處理技術(shù)為一體,特別適合于油田點(diǎn)多面廣的應(yīng)用場(chǎng)合。
1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
以油田A為例,需為生產(chǎn)設(shè)備相對(duì)集中的“井群”設(shè)計(jì)無(wú)線傳輸方案。如圖1,湖灘分布著69口油井(淺黃色標(biāo)記)和21口注水井(深綠色標(biāo)記)。
針對(duì)現(xiàn)場(chǎng)需求和ZigBee無(wú)線傳感器網(wǎng)絡(luò)技術(shù),考慮將溫壓儀、示功儀、雙壓儀節(jié)點(diǎn)作為“終端(End Device)”,負(fù)責(zé)采集信息以監(jiān)控油田生產(chǎn)設(shè)備,用電池供電;中轉(zhuǎn)節(jié)點(diǎn)作為“路由(Router)”轉(zhuǎn)發(fā)網(wǎng)絡(luò)中的信息;“協(xié)調(diào)器(Co-ordinator)”則安裝在各區(qū)塊的平臺(tái)上,并通過(guò)終端機(jī)與隊(duì)部中控室通信。路由和協(xié)調(diào)器均由市電供電。這樣就將5個(gè)油井區(qū)塊劃分為5個(gè)協(xié)調(diào)器短地址不同的ZigBee網(wǎng)絡(luò)。主站(協(xié)調(diào)器)負(fù)責(zé)啟動(dòng)網(wǎng)絡(luò),所有終端通過(guò)路由接入網(wǎng)絡(luò),組成樹(shù)狀或網(wǎng)狀結(jié)構(gòu)。上位機(jī)通過(guò)主站及其網(wǎng)絡(luò)便可實(shí)現(xiàn)命令的下發(fā)和數(shù)據(jù)的讀取。
通過(guò)Google Earth和現(xiàn)場(chǎng)測(cè)量,一般油井之間的距離在50米至100米。經(jīng)測(cè)試,ZigBee節(jié)點(diǎn)間較大數(shù)據(jù)量(功圖數(shù)據(jù),約為1 KB)的最大穩(wěn)定通信距離在50米左右,距離越遠(yuǎn)傳輸效果越差,且通信時(shí)節(jié)點(diǎn)傳輸信道之間須盡可能無(wú)遮擋。因此可靠傳輸?shù)年P(guān)鍵在于“路由”型節(jié)點(diǎn)的合理布置。同時(shí)需解決兩個(gè)問(wèn)題:一是因現(xiàn)場(chǎng)比較空曠,要保證“路由”型節(jié)點(diǎn)的安裝位置能提供可靠供電并滿足防汛要求;二是在軟件設(shè)計(jì)上,經(jīng)過(guò)“路由”型節(jié)點(diǎn)透明傳輸?shù)臄?shù)據(jù)一旦丟失,則無(wú)法通過(guò)協(xié)議棧捕獲,而必須在數(shù)據(jù)接收端由上位機(jī)來(lái)判斷。
基于上述考慮,溫壓儀、示功儀、雙壓儀作為“終端”節(jié)點(diǎn),中轉(zhuǎn)節(jié)點(diǎn)由原來(lái)的“路由”節(jié)點(diǎn)改為“協(xié)調(diào)器”,并與電量?jī)x一起安裝在油井平臺(tái)的電機(jī)控制柜中。即每個(gè)油井平臺(tái)使用(或多個(gè)共用)一個(gè)中轉(zhuǎn)節(jié)點(diǎn),每個(gè)中轉(zhuǎn)節(jié)點(diǎn)即代表一個(gè)獨(dú)立的個(gè)人局域網(wǎng)(PAN),其附近的終端型節(jié)點(diǎn)為其子節(jié)點(diǎn)。中轉(zhuǎn)節(jié)點(diǎn)又作為網(wǎng)關(guān),以433 MHz無(wú)線方式與主站(433 MHz數(shù)傳模塊)進(jìn)行通信,當(dāng)然5個(gè)區(qū)塊的433 MHz頻道各不相同,每個(gè)區(qū)塊作為一個(gè)獨(dú)立的網(wǎng)絡(luò),各網(wǎng)絡(luò)間互不干擾。
基于Zigbee無(wú)線傳感器網(wǎng)絡(luò)的智能油田信息采集系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 傳感器(終端)節(jié)點(diǎn)
綜合節(jié)點(diǎn)設(shè)計(jì)的各種需求,選擇Jennic的JN5139模塊作為節(jié)點(diǎn)的主控芯片,它是一款適用于IEEE802.15.4和ZigBee應(yīng)用環(huán)境的低功耗、低成本微控制器,集成了32位RISC處理器(32MIPS)、2.4 GHz IEEE802.15.4無(wú)線收發(fā)器、192 kBROM、96kB RAM以及豐富的模擬數(shù)字外圍接口。節(jié)點(diǎn)硬件結(jié)構(gòu)如圖3所示。
傳感器模塊包括傳感器和信號(hào)調(diào)制電路,示功儀傳感器為加速度ADXL202和載荷CL—YB—10M/15t,溫壓儀包括溫度PT100和壓力Honey well C13L型傳感器,雙壓儀的壓力傳感器同樣選擇Honeywell C13系列。“示功儀采集的載荷”(或壓力)、“溫壓儀采集的溫度和壓力”以及“雙壓儀需要采集的壓力”對(duì)應(yīng)的四種傳感器的原理基本相同,基本電路都是帶有特殊(熱敏或壓敏)電阻的電阻橋,由物理量變化引發(fā)電阻變化,導(dǎo)致電路輸出電壓的變化,輸出電壓視傳感器從幾毫伏到上百毫伏不等。JN5139芯片帶有4路12位ADC通道,對(duì)應(yīng)的模擬電壓值范圍為0~2.4 V。傳感器到芯片ADC引腳之間用運(yùn)算放大器對(duì)電壓信號(hào)進(jìn)行放大,合理調(diào)節(jié)放大倍數(shù),使得運(yùn)放輸出的電壓在2.2 V左右,即留有一定裕量。時(shí)鐘模塊選用DS1302芯片,根據(jù)其時(shí)間值,程序發(fā)起采集和記錄數(shù)據(jù)。電源模塊也視節(jié)點(diǎn)而不同——終端節(jié)點(diǎn)包括4 000 mAh鋰電池、太陽(yáng)能板及其充電電路。
2.2 中轉(zhuǎn)節(jié)點(diǎn)
中轉(zhuǎn)節(jié)點(diǎn)配有與傳感器節(jié)點(diǎn)相同的主控芯片,具有IEEE802.15.4協(xié)議規(guī)定的所有功能與特性,負(fù)責(zé)建立網(wǎng)絡(luò)、管理傳感器節(jié)點(diǎn)、儲(chǔ)存?zhèn)鞲衅鞴?jié)點(diǎn)信息,為消息進(jìn)行路由選擇等功能。另外增加無(wú)線串口通信模塊與管理控制中心進(jìn)行通信,中轉(zhuǎn)節(jié)點(diǎn)硬件結(jié)構(gòu)如圖4所示。
中轉(zhuǎn)節(jié)點(diǎn)通過(guò)電量?jī)x設(shè)備讀取電機(jī)的電參量,由AC220V供電,433 MHz串口透?jìng)髂K使用SM55D無(wú)線串口通信模塊。與電量?jī)x采用RS485接口進(jìn)行數(shù)據(jù)通信。JN5139模塊有兩路UART接口,故將中轉(zhuǎn)節(jié)點(diǎn)JN5139模塊的UART1通過(guò)UART—RS485接口芯片與電量?jī)xRS485接口相連。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要包括傳感器節(jié)點(diǎn)軟件設(shè)計(jì)、中轉(zhuǎn)節(jié)點(diǎn)軟件設(shè)計(jì)和管理控制中心軟件設(shè)計(jì)3部分。傳感器節(jié)點(diǎn)主要實(shí)現(xiàn)數(shù)據(jù)的采集和發(fā)送;中轉(zhuǎn)節(jié)點(diǎn)一方面負(fù)責(zé)網(wǎng)絡(luò)的配置和管理,另一方面收集各個(gè)傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù),將數(shù)據(jù)處理后轉(zhuǎn)發(fā)給管理控制中心。管理控制中心主要實(shí)現(xiàn)數(shù)據(jù)的儲(chǔ)存、實(shí)時(shí)顯示及數(shù)據(jù)分析與管理等功能。
3.1 傳感器節(jié)點(diǎn)軟件
傳感器節(jié)點(diǎn)程序的主要任務(wù)分為“采集數(shù)據(jù)”和“網(wǎng)絡(luò)響應(yīng)”,前者是按照給定的時(shí)間間隔定時(shí)采樣,后者則包括“無(wú)線數(shù)據(jù)協(xié)議命令響應(yīng)”和“ZigBee網(wǎng)絡(luò)協(xié)議棧事件處理”(包括入網(wǎng)、掉網(wǎng)等),采用中斷處理方式??紤]片上系統(tǒng)(SOC)的單任務(wù)特性,可以將節(jié)點(diǎn)程序設(shè)計(jì)成“任務(wù)檢查制”——每次從休眠中醒來(lái),初始化后,判斷是否要進(jìn)行網(wǎng)絡(luò)響應(yīng),或根據(jù)時(shí)鐘時(shí)間判斷是否有采集任務(wù),若空閑則進(jìn)入休眠,休眠一定時(shí)間間隔后再次被喚醒,如此反復(fù)。
為了能采用使節(jié)點(diǎn)功耗更低的無(wú)內(nèi)存駐留的休眠方式,因此將一些重要的參量保存在flash中,并在初始化中重新加載。終端節(jié)點(diǎn)的軟件框架流程圖如圖5所示。
3.2 中轉(zhuǎn)節(jié)點(diǎn)軟件設(shè)計(jì)
中轉(zhuǎn)節(jié)點(diǎn)的任務(wù)相對(duì)簡(jiǎn)單,只需處理觸發(fā)的協(xié)議棧事件、接收和處理“網(wǎng)絡(luò)消息”。“網(wǎng)絡(luò)消息”分為來(lái)自串口透明傳輸設(shè)備的一級(jí)網(wǎng)絡(luò)命令和來(lái)自二級(jí)ZigBee網(wǎng)絡(luò)的消息。電量?jī)x的處理包含在“命令解析與轉(zhuǎn)發(fā)”環(huán)節(jié)中。中轉(zhuǎn)節(jié)點(diǎn)沒(méi)有休眠,是不間斷工作的,其軟件設(shè)計(jì)流程圖如圖6所示。
中轉(zhuǎn)通過(guò)433 MHz串口透明傳輸模塊“SM55D”接收來(lái)自上位機(jī)的命令,“SM55D”會(huì)將接收的字符提供給JN5139模塊的串口(UART)0,可利用串口0的中斷處理解析節(jié)點(diǎn)命令。
串口0設(shè)置為每接收一個(gè)字符便進(jìn)行中斷,在中斷處理中將字符添加至緩沖區(qū),待緩沖區(qū)中的字符達(dá)到解析長(zhǎng)度的下限值時(shí),根據(jù)命令中的節(jié)點(diǎn)號(hào)和功能碼查表獲得對(duì)應(yīng)命令的指定長(zhǎng)度S(包括CRC校驗(yàn)碼);若字符總數(shù)N等于S,根據(jù)“網(wǎng)絡(luò)號(hào)”進(jìn)行判斷,若非本PAN節(jié)點(diǎn)的命令,則不作任何處理,立即返回;否則進(jìn)行CRC校驗(yàn),對(duì)于校驗(yàn)通過(guò)的命令,查找表格對(duì)子節(jié)點(diǎn)進(jìn)行地址映射,再進(jìn)行下一步操作。中斷處理流程圖如圖7:
從圖7中可以看到“CRC16校驗(yàn)失敗”、“子節(jié)點(diǎn)未注冊(cè)”、“命令下發(fā)失敗”三種特殊情況(若下發(fā)設(shè)置命令成功后,也會(huì)有特殊返回信息ACK0)發(fā)生后,中轉(zhuǎn)均通過(guò)發(fā)送特殊ACK信息對(duì)上位機(jī)進(jìn)行反饋,便于設(shè)備的調(diào)試。對(duì)于ZigBee子節(jié)點(diǎn)設(shè)備,命令是否下發(fā)成功,中轉(zhuǎn)節(jié)點(diǎn)可通過(guò)ZigBee協(xié)議事件獲取;對(duì)于電量?jī)x設(shè)備,根據(jù)其數(shù)據(jù)傳輸協(xié)議,所有命令都應(yīng)有數(shù)據(jù)返回,可在命令下發(fā)的同時(shí),啟動(dòng)定時(shí)器,若規(guī)定時(shí)間內(nèi)無(wú)正確數(shù)據(jù)返回,則認(rèn)為命令下發(fā)失敗。
3.3 管理控制中心軟件設(shè)計(jì)
上位機(jī)只需按照節(jié)點(diǎn)的數(shù)據(jù)傳輸協(xié)議向串口寫(xiě)入字符,即可實(shí)現(xiàn)命令發(fā)送。節(jié)點(diǎn)的網(wǎng)絡(luò)號(hào)和節(jié)點(diǎn)號(hào),可從數(shù)據(jù)庫(kù)中相應(yīng)的配置表讀出。上位機(jī)程序利用時(shí)鐘驅(qū)動(dòng),對(duì)每個(gè)通信區(qū)塊的節(jié)點(diǎn)輪流下發(fā)命令并解析數(shù)據(jù),每30分鐘進(jìn)行一次。
在對(duì)子節(jié)點(diǎn)下發(fā)命令后,即偵聽(tīng)對(duì)應(yīng)串口,解析其433MHz模塊接收到的字符,根據(jù)起始/終止符“0x7E”提取數(shù)據(jù),找到數(shù)據(jù)中字符0x 7D”并拋除,并對(duì)其后的字符進(jìn)行轉(zhuǎn)義,即再與“0x20”按位異或。對(duì)得到的數(shù)據(jù)包進(jìn)行CRC16校驗(yàn),校驗(yàn)通過(guò)后的數(shù)據(jù)按節(jié)點(diǎn)類(lèi)型進(jìn)行數(shù)據(jù)解析和相應(yīng)操作。操作流程圖如圖8所示。
4 結(jié)束語(yǔ)
通過(guò)傳感器節(jié)點(diǎn)、中轉(zhuǎn)節(jié)點(diǎn)組建的無(wú)線傳感器網(wǎng)絡(luò),實(shí)現(xiàn)了油田生產(chǎn)信息的采集、傳輸與處理。適應(yīng)了油田點(diǎn)多面廣的應(yīng)用需求,同時(shí)也降低了組網(wǎng)、部署和維護(hù)成本。作為油田生產(chǎn)信息系統(tǒng)數(shù)據(jù)獲取的一種有效技術(shù)手段,無(wú)線傳感器網(wǎng)絡(luò)具有很好的應(yīng)用前景。
評(píng)論