<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于EPA協(xié)議的IEEE802.11b無線測控系統(tǒng)

          基于EPA協(xié)議的IEEE802.11b無線測控系統(tǒng)

          ——
          作者:重慶郵電學(xué)院 王平、李津、鐘剛、楊云 時(shí)間:2007-01-26 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 收藏


          引言

          epa(ethernet for plant automation)標(biāo)準(zhǔn)是一種基于以太網(wǎng)、無線局域網(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),使用無線射頻(rf)技術(shù)越空收發(fā)數(shù)據(jù),減少使用線纜的連接,因此802.11b無線網(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)、遙測功能,而且還能實(shí)現(xiàn)對(duì)工控現(xiàn)場遠(yuǎn)程圖像實(shí)時(shí)監(jiān)控,可集中管理各工業(yè)控制設(shè)備的工作狀態(tài),滿足工業(yè)控制自動(dòng)化發(fā)展的要求,本文主要討論了epa協(xié)議在ieee802.11b無線現(xiàn)場設(shè)備中的實(shí)現(xiàn)和測控。

          1 802.11b無線測控系統(tǒng)的設(shè)計(jì)

          如圖1所示,802.11b無線測控系統(tǒng)包括epa協(xié)議通信模塊、epa上位機(jī)監(jiān)控模塊、無線網(wǎng)關(guān)模塊、液晶觸摸顯示模塊。在本系統(tǒng)中由溫度變送器通過串口實(shí)時(shí)采集熱電偶的溫度變化數(shù)據(jù),用epa協(xié)議棧進(jìn)行數(shù)據(jù)的封裝后,經(jīng)過802.11b無線網(wǎng)絡(luò)把epa報(bào)文發(fā)送到epa無線手持設(shè)備中進(jìn)行顯示,并通過無線網(wǎng)關(guān)傳輸?shù)絜pa有線網(wǎng)絡(luò)中的epa上位機(jī)和其他epa設(shè)備,對(duì)epa報(bào)文數(shù)據(jù)進(jìn)行處理。

          本文引用地址:http://www.ex-cimer.com/article/21538.htm

          系統(tǒng)中除手持設(shè)備采用電池供電外還采用了以太網(wǎng)供電模塊,通過以太網(wǎng)傳輸直流電源,簡化了系統(tǒng)設(shè)計(jì),提高了系統(tǒng)的可靠性,最后,設(shè)計(jì)好的設(shè)備(基于mpc852t的802.11b無線網(wǎng)關(guān)、基于s3c2410的802.11b無線手持設(shè)備和基于s3c2410的802.11b無線溫度傳感器)就構(gòu)成了一個(gè)完整、可應(yīng)用的無線測控系統(tǒng)。

          2 802.1b無線測控系統(tǒng)的軟件實(shí)現(xiàn)

          2.1 ieee802.11b的無線網(wǎng)關(guān)軟件設(shè)計(jì)

          802.11b的通信協(xié)議在嵌入式平臺(tái)實(shí)現(xiàn),需要比較高的系統(tǒng)性能。因此,本文選用基于摩托羅拉mpc852t處理器的硬件平臺(tái)(其中包括以太網(wǎng)供電模塊和802.11b通信接口等)開發(fā)ieee802.11b無線網(wǎng)關(guān)。

          要實(shí)現(xiàn)無線網(wǎng)關(guān)的功能,將系統(tǒng)軟件結(jié)構(gòu)從上到下可以分為如下一些模塊:系統(tǒng)配置模塊,系統(tǒng)監(jiān)測模塊,底層驅(qū)動(dòng)、數(shù)據(jù)收發(fā)模塊,數(shù)據(jù)轉(zhuǎn)發(fā)模塊、命令行模塊(command line),ieee802.1x認(rèn)證、授權(quán)模塊(authentication authorization)和web管理模塊。

          無線網(wǎng)關(guān)軟件功能模塊流程如圖2所示。

          無線網(wǎng)關(guān)在此系統(tǒng)中起到的作用是在以太網(wǎng)和802.11b無線局域網(wǎng)之間進(jìn)行數(shù)據(jù)幀格式的轉(zhuǎn)換,并要求其能轉(zhuǎn)發(fā)不同網(wǎng)段之間的數(shù)據(jù),這就要求在無線網(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ǎng)絡(luò)接到一起,再使用工具軟件ifconfig對(duì)其中有線網(wǎng)卡和無線網(wǎng)卡進(jìn)行相應(yīng)的網(wǎng)絡(luò)配置,無線網(wǎng)關(guān)就可以正常運(yùn)行了。

          2.2 ieee802.1無線手持設(shè)備軟件設(shè)計(jì)

          無線手持設(shè)備在開發(fā)過程中,要求具有小巧、靈活的特點(diǎn),在開發(fā)過程中采用了體積相對(duì)較小而功能強(qiáng)大的s3c2410作為開發(fā)平臺(tái),以這個(gè)平臺(tái)為基礎(chǔ)開發(fā)802.11b溫度傳感器和802.11b無線手持設(shè)備等現(xiàn)場設(shè)備。

          首先,在s3c2410平臺(tái)上移植同樣小巧、靈活的usb無線網(wǎng)卡。這款無線網(wǎng)卡的芯片是prism系列芯片。無線網(wǎng)卡是移動(dòng)終端的主要設(shè)備,其軟件部分分為接口驅(qū)動(dòng)模塊(prism_usb.o)、無線網(wǎng)卡驅(qū)動(dòng)(p802.o)和無線網(wǎng)卡配置管理軟件3部分,第1步:下載無線網(wǎng)卡的源代碼linux-wlan-ng,這是針對(duì)pc機(jī)的源代碼,要使它能在arm上運(yùn)行就進(jìn)行交叉編譯,第2步:交叉編譯usb無線網(wǎng)卡驅(qū)動(dòng)時(shí)必須先相應(yīng)地配置網(wǎng)絡(luò)類型、內(nèi)核路徑和交叉編譯工具,這是一款針對(duì)2.4.x的內(nèi)核源代碼,在編譯的過程中會(huì)出現(xiàn)錯(cuò)誤,原因是生成的mkmetadef和mkmetastruct是arm arch的,在i386上不能執(zhí)行,必須修改自動(dòng)生成的makefile,或者做一套適用于i386的makefile。在交叉編譯通過后生成usb接口驅(qū)動(dòng)prism_usb.o和無線網(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的方式來調(diào)試要加載的模塊,第4步:把無線網(wǎng)卡的配置文件rc.wlan和工具軟件wlanctl-ng、wland、nwepgen、wlancfg等拷貝到相應(yīng)的目錄下,并用他們對(duì)802.11b無線網(wǎng)絡(luò)進(jìn)行系統(tǒng)認(rèn)證、密鑰認(rèn)證、wep加密和ssid設(shè)定等。

          在無線手持端加載minigui界面,以顯示控制模塊和epa通信協(xié)議模塊。在minigui主程序中把接收到epa報(bào)文解包后,通過函數(shù)sendreadmessage(hwnd,idc_readinfobox,lb_addstring,0,(lparam)str)發(fā)送到設(shè)定的位置進(jìn)行顯示,完成epa協(xié)議中的信息讀服務(wù),通過函數(shù)sendwritemessage(hwnd,idc_writeinfobox,lb_addstring,0,(lparam)str)對(duì)溫度變送器的最高量程進(jìn)行設(shè)定,完成epa協(xié)議中的信息寫服務(wù)。

          在802.11b無線測控系統(tǒng),在溫度變送器端要加載溫度變換器串口驅(qū)動(dòng)模塊,溫度變送器串口被驅(qū)動(dòng)后,編寫一個(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)行封裝,然后通過ieee802.11b usb無線網(wǎng)卡進(jìn)行數(shù)據(jù)的發(fā)送。軟件模塊如圖3和圖4所示。


          在802.11b無線測控系統(tǒng)中,把包含epa協(xié)議的無線現(xiàn)場設(shè)備設(shè)置成開機(jī)啟動(dòng)的模式,當(dāng)給802.11b無線網(wǎng)關(guān)上電時(shí),它就會(huì)自動(dòng)搜索在其通信范圍內(nèi)的802.11b無線現(xiàn)場設(shè)備,并建立通信連接,在需要它工作時(shí)開啟epa通信,其他時(shí)候處于節(jié)電模式。

          3 測試與結(jié)論

          最后,通過觀察溫度變送器采集到的溫度數(shù)據(jù)的變化來測試基于802.11無線局域網(wǎng)的epa通信協(xié)議對(duì)實(shí)時(shí)性和穩(wěn)定性的要求,把采集到并處理成浮點(diǎn)型的溫度數(shù)據(jù)通過epa網(wǎng)絡(luò)傳輸?shù)絧c機(jī)和opc上進(jìn)行監(jiān)控,同時(shí)在802.11b的無線手持設(shè)備上進(jìn)行顯示,如圖5和圖6所示。


          由圖5和圖6可知,opc監(jiān)控機(jī)和802.11b無線手持設(shè)備接收到的數(shù)據(jù)反應(yīng)了設(shè)備運(yùn)行穩(wěn)定。這說明在ieee802.11b中能夠滿足工業(yè)的控制系統(tǒng)對(duì)實(shí)時(shí)性和穩(wěn)定性的要求。

          結(jié)語

          通過對(duì)當(dāng)前現(xiàn)場總線系統(tǒng)的深入研究,結(jié)合ieee802.11b的特點(diǎn),經(jīng)過長時(shí)間對(duì)無線網(wǎng)關(guān)和現(xiàn)場設(shè)備的開發(fā),本文在實(shí)踐的基礎(chǔ)上建立了基于epa通信協(xié)議的ieee802.11b無線測控系統(tǒng),隨著現(xiàn)場總線技術(shù)和無線通信技術(shù)的進(jìn)一步發(fā)展,無線現(xiàn)場設(shè)備在工業(yè)控制系統(tǒng)中的應(yīng)用將會(huì)越來越廣泛。



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();