關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 專題 > 基于EWS的EPA藍(lán)牙數(shù)據(jù)采集系統(tǒng)設(shè)計

基于EWS的EPA藍(lán)牙數(shù)據(jù)采集系統(tǒng)設(shè)計

作者: 時間:2008-01-31 來源: 收藏

引 言
    (Ethernet for Plant Automation)基于以太網(wǎng)(IEEE802.3)、無線局域網(wǎng)(IEEE802.11)和藍(lán)牙(IEEE802.15)等信息網(wǎng)絡(luò)COTS(Commercial-Off-The-Shelf)通信技術(shù)以及TCP(UDP)/IP協(xié)議,是一種適用于工業(yè)自動化控制系統(tǒng)裝置與儀器儀表間,以及工業(yè)自動化儀器儀表間數(shù)據(jù)通信的工業(yè)控制網(wǎng)絡(luò)技術(shù)。
    藍(lán)牙技術(shù)是一種線纜替代短距離無線通信技術(shù),工業(yè)現(xiàn)場某些工業(yè)設(shè)備需要安裝在惡劣的工業(yè)環(huán)境中,采用藍(lán)牙技術(shù)可以避免工業(yè)現(xiàn)場布線遇到的問題。嵌入式Web服務(wù)器的出現(xiàn)滿足了工業(yè)控制網(wǎng)絡(luò)低成本遠(yuǎn)程控制的需要。本文將兩者結(jié)合起來設(shè)計和開發(fā)了滿足工業(yè)控制網(wǎng)絡(luò)需求的藍(lán)牙數(shù)據(jù)采集器,以嵌入式Web服務(wù)器(Embedded Web Server)技術(shù)為基礎(chǔ),結(jié)合Rabbit2000的網(wǎng)絡(luò)通信功能,利用現(xiàn)有的網(wǎng)絡(luò)技術(shù)(如HTTP、CGI、SSI等),將藍(lán)牙無線方式采集到的現(xiàn)場數(shù)據(jù)傳送到服務(wù)器端,服務(wù)器以網(wǎng)頁的形式,提供給遠(yuǎn)程用戶使用。

本文引用地址:http://m.butianyuan.cn/article/78493.htm


1 基于嵌入式Web服務(wù)器的藍(lán)牙數(shù)據(jù)采集系統(tǒng)設(shè)計
    基于嵌入式Web服務(wù)器的藍(lán)牙數(shù)據(jù)采集系統(tǒng)模型如圖l所示。藍(lán)牙數(shù)據(jù)采集器是基于協(xié)議的。遠(yuǎn)程監(jiān)控用戶通過企業(yè)內(nèi)部網(wǎng)絡(luò)連接到嵌入式Web服務(wù)器上,控制藍(lán)牙芯片完成數(shù)據(jù)采集,并將采集到的數(shù)據(jù)返回嵌入式Web服務(wù)器,顯示在遠(yuǎn)程管理終端的Web瀏覽器上。

 

2.1系統(tǒng)硬件結(jié)構(gòu)設(shè)計
    基于EPA協(xié)議的藍(lán)牙數(shù)據(jù)采集器的系統(tǒng)結(jié)構(gòu)如圖2所示。它包括微處理器、藍(lán)牙模塊、數(shù)模(D/A)轉(zhuǎn)換模塊、模數(shù)(A/D)轉(zhuǎn)換模塊、液晶顯示模塊、Flash存儲器以及以太網(wǎng)控制器模塊,其中:藍(lán)牙模塊、數(shù)模(D/A)轉(zhuǎn)換模塊、模數(shù)(A/D)轉(zhuǎn)換模塊以及液晶顯示模塊通過其接口電路分別與微處理器的串行通信接口連接。藍(lán)牙模塊采用的串口波特率是57600bps;微處理器的工作主頻率是11.0592MHz、從頻率是32.768kHz;藍(lán)牙模塊的工作電壓是3.3V,這需要一個5V到3.3V的電壓轉(zhuǎn)換電路;圖2中芯片沒有標(biāo)
明電源引線的都需提供5V電壓。

 

2.2工作原理
    ①打開藍(lán)牙數(shù)據(jù)采集器的電源開關(guān)時,系統(tǒng)進(jìn)行自檢。
    ②系統(tǒng)自檢通過后,藍(lán)牙數(shù)據(jù)采集器對藍(lán)牙進(jìn)行初始化,并在其覆蓋范圍內(nèi)搜尋另外帶有藍(lán)牙芯片的現(xiàn)場設(shè)備。
    ③若發(fā)現(xiàn)上述設(shè)備,各自的鏈路管理器就會發(fā)現(xiàn)對方,就可以在需要時鑒權(quán)和認(rèn)證后建立通信關(guān)系。
    ④在需要進(jìn)行現(xiàn)場數(shù)據(jù)采集時,將A/D轉(zhuǎn)換模塊的輸入端口通過外圍接口電路與被采集對象相連。A/D轉(zhuǎn)換模塊獲得啟動命令后,采集現(xiàn)場數(shù)據(jù)并交給微處理器進(jìn)行處理,處理后的數(shù)據(jù)通過藍(lán)牙模塊發(fā)送給相關(guān)控制設(shè)備,也可以將處理后的數(shù)據(jù)傳給嵌入式Wek·服務(wù)器。
    ⑤同時,系統(tǒng)還配有一路D/A轉(zhuǎn)換輸出,在需要模擬量輸出時,可將D/A轉(zhuǎn)換器的輸出端口通過外圍接口電路與被控對象相連,程序?qū)⒖刂浦噶畎l(fā)給D/A轉(zhuǎn)換模塊,D/A轉(zhuǎn)換模塊接收到控制指令后轉(zhuǎn)化為模擬量傳送給現(xiàn)場設(shè)備,使現(xiàn)場設(shè)備按照控制指令進(jìn)行工作。
2.3軟件總體設(shè)計
    基于EPA協(xié)議的藍(lán)牙數(shù)據(jù)采集系統(tǒng)軟件結(jié)構(gòu)示意圖如圖3所示。

 

3  嵌入式web服務(wù)器的實(shí)現(xiàn)
3.1嵌入式web服務(wù)器體系結(jié)構(gòu)
    該系統(tǒng)的嵌入式Web服務(wù)器體系結(jié)構(gòu)如圖4所示。嵌入式Web服務(wù)器在本系統(tǒng)中處于用戶和應(yīng)用系統(tǒng)的中間。嵌入式Web服務(wù)器必須提供若干機(jī)制實(shí)現(xiàn)對現(xiàn)場設(shè)備的監(jiān)視和控制,為瀏覽器提供和發(fā)送Web頁并處理瀏覽器提交的數(shù)據(jù)[引。嵌入式Welh服務(wù)器設(shè)計難點(diǎn)之一是利用Rabbit2000來實(shí)現(xiàn)通過瀏覽器進(jìn)行遠(yuǎn)程訪問的能力,本系統(tǒng)采用cGI和SSI技術(shù)來實(shí)現(xiàn);難點(diǎn)之二是嵌入式通信程序開發(fā)。本系統(tǒng)以Rabbit2000微處理器作為控制芯片,利用z—world公司提供的支持TcP/IP協(xié)議的通信子程序庫,在Dynamic c集成開發(fā)環(huán)境下可以實(shí)現(xiàn)快速開發(fā)。

3.2前臺FORM表單的編制和界面設(shè)計
    用戶提交的各種命令請求主要是采取F()RM表單形式提交給cGI程序的[引。Fc)RM是HTML,(超文本標(biāo)記語言)的一種標(biāo)識,可以用任何一種文本編輯器來編輯,存為.html文件可以被w’WW瀏覽器識別。數(shù)據(jù)輸入盡量采用下拉框輸入,界面友好。
3.3處理流程
   處理的設(shè)計是嵌入式Web服務(wù)器系統(tǒng)的核心部分。CGI是一個用于定義Web服務(wù)器與外部程序之間通信方式的標(biāo)準(zhǔn),可以用作一個擴(kuò)展Web服務(wù)器功能的接口,通過CGI可以實(shí)現(xiàn)與訪問Web網(wǎng)頁的用戶交互。
    從本質(zhì)上講CGI就是一個服務(wù)機(jī)制。當(dāng)用戶通過Web瀏覽器向HTTP服務(wù)器發(fā)出一條具有GET或POST命令格式的請求,服務(wù)的具體步驟如下:
    ①前臺客戶機(jī)利用瀏覽器使用TCP/IP協(xié)議,與服務(wù)器建立連接,發(fā)送URL請求;
    ②服務(wù)器調(diào)用存入Rabbit2000芯片里的CGI程序,使用客戶機(jī)傳遞的參數(shù)作為CGI程序的參數(shù);
    ③CGI以能被識別的格式返回處理結(jié)果給HTTP服務(wù)器;
    ④HTTP服務(wù)器將數(shù)據(jù)返回客戶端處理,并通過瀏覽器顯示CGI執(zhí)行的結(jié)果。
    圖5顯示了上述瀏覽器和服務(wù)器通過CGI程序?qū)崿F(xiàn)交互的全過程。

 

    服務(wù)器端附件(SSI)是一種簡單的動態(tài)Web頁面生成技術(shù)。SSI定義了一組可以嵌于HTML文本中的標(biāo)記,在送往客戶端瀏覽器前,Web服務(wù)器先作預(yù)處理??梢园裇SI想象成嵌于HTML頁面的特殊程序。
    下面舉一個藍(lán)牙數(shù)據(jù)采集系統(tǒng)進(jìn)行藍(lán)牙芯片初始化的例子,其中SSI的命令字為exec,參數(shù)為showinitial,通過HttpSpec http_flashspee[]里的{ HTTPSPEC _ FUNCTION, “ showinitial”,0. show_initial,0,NULL,NULL}語句與主程序里面CGI函數(shù)中的int show_initial(Http-State*state)建立關(guān)系,并返回此函數(shù)結(jié)果在HTML文本里面顯示。
   


   
<1NPUT TYPE=”SUB-MIT”VALUE=”初始化”></TD>
    [an error occurred while processing the directive]
    </TR></TABLE>
    </FORM></TD>
3.4 后臺DynamicC程序?qū)崿F(xiàn)
    EPA協(xié)議中采用了UDP協(xié)議來傳送報文,不需要證實(shí),滿足工業(yè)現(xiàn)場的實(shí)時要求。使用DynamicC編譯環(huán)境實(shí)現(xiàn)UDP報文傳輸通信程序主框架代碼如下:
    htp_init();
    init_dateform(); //設(shè)置靜態(tài)數(shù)據(jù)
    init_dynamicwebdata();//初始化動態(tài)Web數(shù)據(jù)
    tcp_reserveport(80); //標(biāo)志80端口為服務(wù)器端
    while(1){
    tcp_tick(NULL);
    http_handler(); //處理HTTP
    costate{
    waitfor(udp_peek(&sock, &udi));
    tcp_tick(NULL);
    Handle_Udp(&sock,&udi);
    }
    }
    在Web服務(wù)器程序中編寫用戶的自定義函數(shù),用來處理從用戶端瀏覽器發(fā)送過來的CGI請求。在DynamicC中通過結(jié)構(gòu)HTTPSPEC_FILE將動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁結(jié)合起來,通過結(jié)構(gòu)HTTPSPEC_FUNCTION將用戶自定義函數(shù)和每一個CGI請求聯(lián)系起來。這樣,當(dāng)一個CGI請求被觸發(fā)且送到Web服務(wù)器上時,服務(wù)器程序就將尋找相應(yīng)的函數(shù)進(jìn)行處理,并返回結(jié)果。
    {HTTPSPEC_FILE, “/index.html”,index_html,NULL,0,NULL,NULL}, {HTTPSPEC_FUNCTION, “/initial.cgi”,0,initial,0,NULL,NULL),{HTTPSPEC_FUNCTION, “/setuplink.egi”,0,setuplink,0,NULL,NULL},界面顯示效果部分代碼如下:
    var=sspec_addvariable (“getdata2”,&getdata[1],PTRl6,"%s",SERVER_HTTP);
    var=sspec_addfv(form,var);
    sspec_setfvname(form,var,“藍(lán)牙地址”);
    sspec_setfvdesc(form,var,“藍(lán)牙本地地址”);
    sspec_setfvlen(form,var,12);

結(jié) 語
    文章重點(diǎn)探討了基于嵌入式Web服務(wù)器的EPA藍(lán)牙數(shù)據(jù)采集系統(tǒng)的設(shè)計方法與實(shí)現(xiàn)中的一些關(guān)鍵問題。此系統(tǒng)的測試充分表明,利用嵌入式技術(shù)在嵌入式系統(tǒng)中開發(fā)基于EPA協(xié)議的藍(lán)牙數(shù)據(jù)采集系統(tǒng)的嵌入式Web服務(wù)器是切實(shí)可行的。工控系統(tǒng)基于嵌入式Web服務(wù)器的遠(yuǎn)程監(jiān)控維護(hù)方式將有效降低監(jiān)控運(yùn)行維護(hù)成本、提高監(jiān)控運(yùn)行維護(hù)效率,因而具有很大的應(yīng)用前景和推廣價值。

 



評論


相關(guān)推薦

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

關(guān)閉