基于EPA協(xié)議的IEEE802.11b無(wú)線測(cè)控系統(tǒng)
引言
epa(ethernet for plant automation)標(biāo)準(zhǔn)是一種基于以太網(wǎng)、無(wú)線局域網(wǎng)和藍(lán)牙等信息網(wǎng)絡(luò)通信技術(shù),適用于工業(yè)自動(dòng)化控制系統(tǒng)裝置與儀器儀表間、工業(yè)自動(dòng)化儀器儀表相互間數(shù)據(jù)通信的工業(yè)控制網(wǎng)絡(luò)通信標(biāo)準(zhǔn)。
802.11b是一種靈活的數(shù)據(jù)傳輸系統(tǒng),使用無(wú)線射頻(rf)技術(shù)越空收發(fā)數(shù)據(jù),減少使用線纜的連接,因此802.11b無(wú)線網(wǎng)絡(luò)系統(tǒng)既可達(dá)到建設(shè)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的目的,又可讓設(shè)備自由安排和隨意移動(dòng)。802.11b協(xié)議的這些特點(diǎn)使它在工業(yè)控制領(lǐng)域有較好的應(yīng)用前景,不僅能實(shí)現(xiàn)工業(yè)遙控、遙調(diào)、遙測(cè)功能,而且還能實(shí)現(xiàn)對(duì)工控現(xiàn)場(chǎng)遠(yuǎn)程圖像實(shí)時(shí)監(jiān)控,可集中管理各工業(yè)控制設(shè)備的工作狀態(tài),滿足工業(yè)控制自動(dòng)化發(fā)展的要求,本文主要討論了epa協(xié)議在ieee802.11b無(wú)線現(xiàn)場(chǎng)設(shè)備中的實(shí)現(xiàn)和測(cè)控。
1 802.11b無(wú)線測(cè)控系統(tǒng)的設(shè)計(jì)
如圖1所示,802.11b無(wú)線測(cè)控系統(tǒng)包括epa協(xié)議通信模塊、epa上位機(jī)監(jiān)控模塊、無(wú)線網(wǎng)關(guān)模塊、液晶觸摸顯示模塊。在本系統(tǒng)中由溫度變送器通過(guò)串口實(shí)時(shí)采集熱電偶的溫度變化數(shù)據(jù),用epa協(xié)議棧進(jìn)行數(shù)據(jù)的封裝后,經(jīng)過(guò)802.11b無(wú)線網(wǎng)絡(luò)把epa報(bào)文發(fā)送到epa無(wú)線手持設(shè)備中進(jìn)行顯示,并通過(guò)無(wú)線網(wǎng)關(guān)傳輸?shù)絜pa有線網(wǎng)絡(luò)中的epa上位機(jī)和其他epa設(shè)備,對(duì)epa報(bào)文數(shù)據(jù)進(jìn)行處理。
系統(tǒng)中除手持設(shè)備采用電池供電外還采用了以太網(wǎng)供電模塊,通過(guò)以太網(wǎng)傳輸直流電源,簡(jiǎn)化了系統(tǒng)設(shè)計(jì),提高了系統(tǒng)的可靠性,最后,設(shè)計(jì)好的設(shè)備(基于mpc852t的802.11b無(wú)線網(wǎng)關(guān)、基于s3c2410的802.11b無(wú)線手持設(shè)備和基于s3c2410的802.11b無(wú)線溫度傳感器)就構(gòu)成了一個(gè)完整、可應(yīng)用的無(wú)線測(cè)控系統(tǒng)。
2 802.1b無(wú)線測(cè)控系統(tǒng)的軟件實(shí)現(xiàn)
2.1 ieee802.11b的無(wú)線網(wǎng)關(guān)軟件設(shè)計(jì)
802.11b的通信協(xié)議在嵌入式平臺(tái)實(shí)現(xiàn),需要比較高的系統(tǒng)性能。因此,本文選用基于摩托羅拉mpc852t處理器的硬件平臺(tái)(其中包括以太網(wǎng)供電模塊和802.11b通信接口等)開(kāi)發(fā)ieee802.11b無(wú)線網(wǎng)關(guān)。
要實(shí)現(xiàn)無(wú)線網(wǎng)關(guān)的功能,將系統(tǒng)軟件結(jié)構(gòu)從上到下可以分為如下一些模塊:系統(tǒng)配置模塊,系統(tǒng)監(jiān)測(cè)模塊,底層驅(qū)動(dòng)、數(shù)據(jù)收發(fā)模塊,數(shù)據(jù)轉(zhuǎn)發(fā)模塊、命令行模塊(command
line),ieee802.1x認(rèn)證、授權(quán)模塊(authentication authorization)和web管理模塊。
無(wú)線網(wǎng)關(guān)軟件功能模塊流程如圖2所示。
無(wú)線網(wǎng)關(guān)在此系統(tǒng)中起到的作用是在以太網(wǎng)和802.11b無(wú)線局域網(wǎng)之間進(jìn)行數(shù)據(jù)幀格式的轉(zhuǎn)換,并要求其能轉(zhuǎn)發(fā)不同網(wǎng)段之間的數(shù)據(jù),這就要求在無(wú)線網(wǎng)關(guān)的軟件模塊中移植bridge模塊,在嵌入式linux系統(tǒng)中編譯,移植完bridge模塊后對(duì)其進(jìn)行設(shè)置:
brctl addbr br0
brctl addif br0 eth1
brctl addif br0 wlan0
把無(wú)線和有線網(wǎng)絡(luò)接到一起,再使用工具軟件ifconfig對(duì)其中有線網(wǎng)卡和無(wú)線網(wǎng)卡進(jìn)行相應(yīng)的網(wǎng)絡(luò)配置,無(wú)線網(wǎng)關(guān)就可以正常運(yùn)行了。
2.2 ieee802.1無(wú)線手持設(shè)備軟件設(shè)計(jì)
無(wú)線手持設(shè)備在開(kāi)發(fā)過(guò)程中,要求具有小巧、靈活的特點(diǎn),在開(kāi)發(fā)過(guò)程中采用了體積相對(duì)較小而功能強(qiáng)大的s3c2410作為開(kāi)發(fā)平臺(tái),以這個(gè)平臺(tái)為基礎(chǔ)開(kāi)發(fā)802.11b溫度傳感器和802.11b無(wú)線手持設(shè)備等現(xiàn)場(chǎng)設(shè)備。
首先,在s3c2410平臺(tái)上移植同樣小巧、靈活的usb無(wú)線網(wǎng)卡。這款無(wú)線網(wǎng)卡的芯片是prism系列芯片。無(wú)線網(wǎng)卡是移動(dòng)終端的主要設(shè)備,其軟件部分分為接口驅(qū)動(dòng)模塊(prism_usb.o)、無(wú)線網(wǎng)卡驅(qū)動(dòng)(p802.o)和無(wú)線網(wǎng)卡配置管理軟件3部分,第1步:下載無(wú)線網(wǎng)卡的源代碼linux-wlan-ng,這是針對(duì)pc機(jī)的源代碼,要使它能在arm上運(yùn)行就進(jìn)行交叉編譯,第2步:交叉編譯usb無(wú)線網(wǎng)卡驅(qū)動(dòng)時(shí)必須先相應(yīng)地配置網(wǎng)絡(luò)類型、內(nèi)核路徑和交叉編譯工具,這是一款針對(duì)2.4.x的內(nèi)核源代碼,在編譯的過(guò)程中會(huì)出現(xiàn)錯(cuò)誤,原因是生成的mkmetadef和mkmetastruct是arm
arch的,在i386上不能執(zhí)行,必須修改自動(dòng)生成的makefile,或者做一套適用于i386的makefile。在交叉編譯通過(guò)后生成usb接口驅(qū)動(dòng)prism_usb.o和無(wú)線網(wǎng)卡驅(qū)動(dòng)p802.o這兩個(gè)模塊。第3步,在arm
linux系統(tǒng)的內(nèi)核中加載這兩個(gè)模塊。加載時(shí)有兩種方式,動(dòng)態(tài)加載和靜態(tài)編譯到內(nèi)核里,筆者采用了動(dòng)態(tài)加載的方式,并采用nfs mount的方式來(lái)調(diào)試要加載的模塊,第4步:把無(wú)線網(wǎng)卡的配置文件rc.wlan和工具軟件wlanctl-ng、wland、nwepgen、wlancfg等拷貝到相應(yīng)的目錄下,并用他們對(duì)802.11b無(wú)線網(wǎng)絡(luò)進(jìn)行系統(tǒng)認(rèn)證、密鑰認(rèn)證、wep加密和ssid設(shè)定等。
在無(wú)線手持端加載minigui界面,以顯示控制模塊和epa通信協(xié)議模塊。在minigui主程序中把接收到epa報(bào)文解包后,通過(guò)函數(shù)sendreadmessage(hwnd,idc_readinfobox,lb_addstring,0,(lparam)str)發(fā)送到設(shè)定的位置進(jìn)行顯示,完成epa協(xié)議中的信息讀服務(wù),通過(guò)函數(shù)sendwritemessage(hwnd,idc_writeinfobox,lb_addstring,0,(lparam)str)對(duì)溫度變送器的最高量程進(jìn)行設(shè)定,完成epa協(xié)議中的信息寫(xiě)服務(wù)。
在802.11b無(wú)線測(cè)控系統(tǒng),在溫度變送器端要加載溫度變換器串口驅(qū)動(dòng)模塊,溫度變送器串口被驅(qū)動(dòng)后,編寫(xiě)一個(gè)對(duì)溫度采集的應(yīng)用程序,把epa通信協(xié)議的模塊和溫度數(shù)據(jù)采集模塊嵌套在同一個(gè)主程序中進(jìn)行編譯,模塊啟動(dòng)后,溫度變送器采集從串口讀到的數(shù)據(jù),進(jìn)行查詢,crc校驗(yàn)等服務(wù)后運(yùn)用epa協(xié)議棧對(duì)將從設(shè)備得到的數(shù)據(jù)進(jìn)行封裝,然后通過(guò)ieee802.11b
usb無(wú)線網(wǎng)卡進(jìn)行數(shù)據(jù)的發(fā)送。軟件模塊如圖3和圖4所示。
在802.11b無(wú)線測(cè)控系統(tǒng)中,把包含epa協(xié)議的無(wú)線現(xiàn)場(chǎng)設(shè)備設(shè)置成開(kāi)機(jī)啟動(dòng)的模式,當(dāng)給802.11b無(wú)線網(wǎng)關(guān)上電時(shí),它就會(huì)自動(dòng)搜索在其通信范圍內(nèi)的802.11b無(wú)線現(xiàn)場(chǎng)設(shè)備,并建立通信連接,在需要它工作時(shí)開(kāi)啟epa通信,其他時(shí)候處于節(jié)電模式。
3 測(cè)試與結(jié)論
最后,通過(guò)觀察溫度變送器采集到的溫度數(shù)據(jù)的變化來(lái)測(cè)試基于802.11無(wú)線局域網(wǎng)的epa通信協(xié)議對(duì)實(shí)時(shí)性和穩(wěn)定性的要求,把采集到并處理成浮點(diǎn)型的溫度數(shù)據(jù)通過(guò)epa網(wǎng)絡(luò)傳輸?shù)絧c機(jī)和opc上進(jìn)行監(jiān)控,同時(shí)在802.11b的無(wú)線手持設(shè)備上進(jìn)行顯示,如圖5和圖6所示。
由圖5和圖6可知,opc監(jiān)控機(jī)和802.11b無(wú)線手持設(shè)備接收到的數(shù)據(jù)反應(yīng)了設(shè)備運(yùn)行穩(wěn)定。這說(shuō)明在ieee802.11b中能夠滿足工業(yè)的控制系統(tǒng)對(duì)實(shí)時(shí)性和穩(wěn)定性的要求。
結(jié)語(yǔ)
通過(guò)對(duì)當(dāng)前現(xiàn)場(chǎng)總線系統(tǒng)的深入研究,結(jié)合ieee802.11b的特點(diǎn),經(jīng)過(guò)長(zhǎng)時(shí)間對(duì)無(wú)線網(wǎng)關(guān)和現(xiàn)場(chǎng)設(shè)備的開(kāi)發(fā),本文在實(shí)踐的基礎(chǔ)上建立了基于epa通信協(xié)議的ieee802.11b無(wú)線測(cè)控系統(tǒng),隨著現(xiàn)場(chǎng)總線技術(shù)和無(wú)線通信技術(shù)的進(jìn)一步發(fā)展,無(wú)線現(xiàn)場(chǎng)設(shè)備在工業(yè)控制系統(tǒng)中的應(yīng)用將會(huì)越來(lái)越廣泛。
評(píng)論