基于EWS的EPA藍牙數據采集系統設計
引 言
EPA(Ethernet for Plant Automation)基于以太網(wǎng)(IEEE802.3)、無(wú)線(xiàn)局域網(wǎng)(IEEE802.11)和藍牙(IEEE802.15)等信息網(wǎng)絡(luò )COTS(Commercial-Off-The-Shelf)通信技術(shù)以及TCP(UDP)/IP協(xié)議,是一種適用于工業(yè)自動(dòng)化控制系統裝置與儀器儀表間,以及工業(yè)自動(dòng)化儀器儀表間數據通信的工業(yè)控制網(wǎng)絡(luò )技術(shù)。
藍牙技術(shù)是一種線(xiàn)纜替代短距離無(wú)線(xiàn)通信技術(shù),工業(yè)現場(chǎng)某些工業(yè)設備需要安裝在惡劣的工業(yè)環(huán)境中,采用藍牙技術(shù)可以避免工業(yè)現場(chǎng)布線(xiàn)遇到的問(wèn)題。嵌入式Web服務(wù)器的出現滿(mǎn)足了工業(yè)控制網(wǎng)絡(luò )低成本遠程控制的需要。本文將兩者結合起來(lái)設計和開(kāi)發(fā)了滿(mǎn)足EPA工業(yè)控制網(wǎng)絡(luò )需求的藍牙數據采集器,以嵌入式Web服務(wù)器EWS(Embedded Web Server)技術(shù)為基礎,結合Rabbit2000的網(wǎng)絡(luò )通信功能,利用現有的網(wǎng)絡(luò )技術(shù)(如HTTP、CGI、SSI等),將藍牙無(wú)線(xiàn)方式采集到的現場(chǎng)數據傳送到服務(wù)器端,服務(wù)器以網(wǎng)頁(yè)的形式,提供給遠程用戶(hù)使用。
1 基于嵌入式Web服務(wù)器的藍牙數據采集系統設計
基于嵌入式Web服務(wù)器的藍牙數據采集系統模型如圖l所示。藍牙數據采集器是基于EPA協(xié)議的。遠程監控用戶(hù)通過(guò)企業(yè)內部網(wǎng)絡(luò )連接到嵌入式Web服務(wù)器上,控制藍牙芯片完成數據采集,并將采集到的數據返回嵌入式Web服務(wù)器,顯示在遠程管理終端的Web瀏覽器上。
2.1系統硬件結構設計
基于EPA協(xié)議的藍牙數據采集器的系統結構如圖2所示。它包括微處理器、藍牙模塊、數模(D/A)轉換模塊、模數(A/D)轉換模塊、液晶顯示模塊、Flash存儲器以及以太網(wǎng)控制器模塊,其中:藍牙模塊、數模(D/A)轉換模塊、模數(A/D)轉換模塊以及液晶顯示模塊通過(guò)其接口電路分別與微處理器的串行通信接口連接。藍牙模塊采用的串口波特率是57600bps;微處理器的工作主頻率是11.0592MHz、從頻率是32.768kHz;藍牙模塊的工作電壓是3.3V,這需要一個(gè)5V到3.3V的電壓轉換電路;圖2中芯片沒(méi)有標
明電源引線(xiàn)的都需提供5V電壓。
2.2工作原理
①打開(kāi)藍牙數據采集器的電源開(kāi)關(guān)時(shí),系統進(jìn)行自檢。
②系統自檢通過(guò)后,藍牙數據采集器對藍牙進(jìn)行初始化,并在其覆蓋范圍內搜尋另外帶有藍牙芯片的現場(chǎng)設備。
③若發(fā)現上述設備,各自的鏈路管理器就會(huì )發(fā)現對方,就可以在需要時(shí)鑒權和認證后建立通信關(guān)系。
④在需要進(jìn)行現場(chǎng)數據采集時(shí),將A/D轉換模塊的輸入端口通過(guò)外圍接口電路與被采集對象相連。A/D轉換模塊獲得啟動(dòng)命令后,采集現場(chǎng)數據并交給微處理器進(jìn)行處理,處理后的數據通過(guò)藍牙模塊發(fā)送給相關(guān)控制設備,也可以將處理后的數據傳給嵌入式Wek·服務(wù)器。
⑤同時(shí),系統還配有一路D/A轉換輸出,在需要模擬量輸出時(shí),可將D/A轉換器的輸出端口通過(guò)外圍接口電路與被控對象相連,程序將控制指令發(fā)給D/A轉換模塊,D/A轉換模塊接收到控制指令后轉化為模擬量傳送給現場(chǎng)設備,使現場(chǎng)設備按照控制指令進(jìn)行工作。
2.3軟件總體設計
基于EPA協(xié)議的藍牙數據采集系統軟件結構示意圖如圖3所示。
3 嵌入式web服務(wù)器的實(shí)現
3.1嵌入式web服務(wù)器體系結構
該系統的嵌入式Web服務(wù)器體系結構如圖4所示。嵌入式Web服務(wù)器在本系統中處于用戶(hù)和應用系統的中間。嵌入式Web服務(wù)器必須提供若干機制實(shí)現對現場(chǎng)設備的監視和控制,為瀏覽器提供和發(fā)送Web頁(yè)并處理瀏覽器提交的數據[引。嵌入式Welh服務(wù)器設計難點(diǎn)之一是利用Rabbit2000來(lái)實(shí)現通過(guò)瀏覽器進(jìn)行遠程訪(fǎng)問(wèn)的能力,本系統采用cGI和SSI技術(shù)來(lái)實(shí)現;難點(diǎn)之二是嵌入式通信程序開(kāi)發(fā)。本系統以Rabbit2000微處理器作為控制芯片,利用z—world公司提供的支持TcP/IP協(xié)議的通信子程序庫,在Dynamic c集成開(kāi)發(fā)環(huán)境下可以實(shí)現快速開(kāi)發(fā)。
3.2前臺FORM表單的編制和界面設計
用戶(hù)提交的各種命令請求主要是采取F()RM表單形式提交給cGI程序的[引。Fc)RM是HTML,(超文本標記語(yǔ)言)的一種標識,可以用任何一種文本編輯器來(lái)編輯,存為.html文件可以被w’WW瀏覽器識別。數據輸入盡量采用下拉框輸入,界面友好。
3.3 HTTP協(xié)議處理流程
HTTP協(xié)議處理的設計是嵌入式Web服務(wù)器系統的核心部分。CGI是一個(gè)用于定義Web服務(wù)器與外部程序之間通信方式的標準,可以用作一個(gè)擴展Web服務(wù)器功能的接口,通過(guò)CGI可以實(shí)現與訪(fǎng)問(wèn)Web網(wǎng)頁(yè)的用戶(hù)交互。
從本質(zhì)上講CGI就是一個(gè)服務(wù)機制。當用戶(hù)通過(guò)Web瀏覽器向HTTP服務(wù)器發(fā)出一條具有GET或POST命令格式的請求,服務(wù)的具體步驟如下:
①前臺客戶(hù)機利用瀏覽器使用TCP/IP協(xié)議,與服務(wù)器建立連接,發(fā)送URL請求;
②服務(wù)器調用存入Rabbit2000芯片里的CGI程序,使用客戶(hù)機傳遞的參數作為CGI程序的參數;
③CGI以能被識別的格式返回處理結果給HTTP服務(wù)器;
④HTTP服務(wù)器將數據返回客戶(hù)端處理,并通過(guò)瀏覽器顯示CGI執行的結果。
圖5顯示了上述瀏覽器和服務(wù)器通過(guò)CGI程序實(shí)現交互的全過(guò)程。
服務(wù)器端附件(SSI)是一種簡(jiǎn)單的動(dòng)態(tài)Web頁(yè)面生成技術(shù)。SSI定義了一組可以嵌于HTML文本中的標記,在送往客戶(hù)端瀏覽器前,Web服務(wù)器先作預處理??梢园裇SI想象成嵌于HTML頁(yè)面的特殊程序。
下面舉一個(gè)藍牙數據采集系統進(jìn)行藍牙芯片初始化的例子,其中SSI的命令字為exec,參數為showinitial,通過(guò)HttpSpec http_flashspee[]里的{ HTTPSPEC _ FUNCTION, “ showinitial”,0. show_initial,0,NULL,NULL}語(yǔ)句與主程序里面CGI函數中的int show_initial(Http-State*state)建立關(guān)系,并返回此函數結果在HTML文本里面顯示。
評論