基于嵌入式Web服務器的遠程故障診斷系統(tǒng)
1 系統(tǒng)原理及組成
圖1是基于嵌入式Web服務器的數(shù)據(jù)采集與故障診斷系統(tǒng)的結(jié)構(gòu)圖。從圖1中可以看出,整個遠程故障診斷系統(tǒng)可分為三個部分:嵌入式Web服務器的數(shù)據(jù)采集、客戶方局域網(wǎng)、遠程診斷服務器與網(wǎng)上診斷資源。
1.1 嵌入式Web服
務器
近年來互聯(lián)技術(shù)發(fā)展的一個重要趨勢就是它被越來越多地用于低成本的場合,如手持設備、智能家電等。8位處理器已經(jīng)在很多場合替代昂貴的32位處理器實現(xiàn)互聯(lián);而且這種策系統(tǒng)也有著自身的優(yōu)點,例如:低廉的價格、易于與各種傳感器和采集器接口、體積小巧,而且能很方便地擴展各種協(xié)議如UART、I2C、SPI協(xié)議等與以太網(wǎng)協(xié)議的轉(zhuǎn)換,從而實現(xiàn)遠程數(shù)據(jù)采集和遠程控制。 本系統(tǒng)中嵌入式Web服務器為客戶方局域網(wǎng)提供網(wǎng)絡接口,同時具有現(xiàn)場數(shù)據(jù)采集的功能,實現(xiàn)現(xiàn)場采集數(shù)據(jù)到客戶局域網(wǎng)的數(shù)據(jù)傳輸??朔藗鹘y(tǒng)方法中需要現(xiàn)場配置PC機的缺陷,而且更能克服環(huán)境條件的限制。
(1)硬件結(jié)構(gòu)
嵌入式Web服務器硬件結(jié)構(gòu)如圖2所示。
本系統(tǒng)中嵌入式Web服務器選擇SX52BD作為主控CPU。SX52BD是美國Ubicom公司專門為網(wǎng)絡通信設計的一款8位超高速控制器,運行速度可高達50MHz。該芯片基于RISC架構(gòu)、運算速度高、靈活的I/O控制、高效的數(shù)據(jù)操作,而且支持ISP在線編程。
本系統(tǒng)選擇24LC256串行EEPROM作為數(shù)據(jù)存儲單元(網(wǎng)頁存儲單元)。24LC256是32K字節(jié)的串行EEPROM,通過I2C總線與SX52BD通信??梢源娣挪杉瘮?shù)據(jù)或者網(wǎng)頁。如果需要存儲網(wǎng)頁,應該預留網(wǎng)絡下載接口(可以通過I/O口線擴展串行口,網(wǎng)頁內(nèi)容通過PC機串口下載)。NIC芯片可選擇RTL8019AS或者美國DAVICON公司的DM9008。RTL8019AS是臺灣REALTEK半導體器件公司生產(chǎn)的10BaseT全雙工以太網(wǎng)收發(fā)控制器。
這兩款控制器與NE2000完全兼容,只是管腳分布有些不同。數(shù)據(jù)采集部分可以根據(jù)需要自行選擇,具有相當?shù)撵`活性。
(2)軟件實現(xiàn)
本系統(tǒng)中嵌入式Web服務器的軟件主要由芯片初始化設置、TCP/IP協(xié)議棧的實現(xiàn)、數(shù)據(jù)采集及處理等模塊組成。在程序中加入基于TCP/IP協(xié)議的用戶自定義數(shù)據(jù)通信協(xié)議。這樣使客戶局域網(wǎng)中的PC機能夠與嵌入式Web服務器進行自定義的通信,如:發(fā)送數(shù)據(jù)采集命令、采集參數(shù)初始化命令等。利用SX52BD實現(xiàn)的網(wǎng)絡協(xié)議棧中,物理層功能由網(wǎng)絡接口卡(NIC芯片)來完成。
程序的初始化部分包含其驅(qū)動程序。網(wǎng)絡層部分加入了地址解析協(xié)議(ARP),實現(xiàn)IP地址到物理地址的映射。整個結(jié)構(gòu)如圖3所示。
協(xié)議棧的實現(xiàn)主要分為接收數(shù)據(jù)包的解釋以及發(fā)送數(shù)據(jù)包的打包。以太網(wǎng)數(shù)據(jù)以幀的格式進行傳輸,其幀格式如下:(字段沒有按比例畫出,數(shù)據(jù)單位為Octet) 如果幀類型字段值為0x0806,則為ARP包;如果為0x0800,則為IP數(shù)據(jù)包。接收幀時,根據(jù)不同的幀類型由不同的軟件模塊對它進行處理。發(fā)送數(shù)據(jù)幀時,也根據(jù)不同的幀類型由不同的程序進行打包處理。基本方法和處理接收幀相同,只是把讀操作改為寫操作。幀的接收和發(fā)送都是基于物理層對NIC的操作,包括讀接收緩沖區(qū)、寫發(fā)送緩沖區(qū)。NIC采用8位工作方式,對其緩沖區(qū)的操作需要逐一讀寫每個8位組。讀接收緩沖區(qū)時對不同的字段進行判斷、記錄處理。NIC操作具體內(nèi)容可以參考芯片資料,限于篇幅,不作詳細介紹。
由于在Internet中都使用約定俗成的TCP/IP協(xié)議,因此,基于IP的TCP和UDP協(xié)議起著非常重要的作用。由于SX52BD是一種嵌入式微控制器,內(nèi)存較小,不能用傳統(tǒng)的方法實現(xiàn)TCP和UCP。因此它們需要很大的緩沖區(qū)來構(gòu)造套接字(SOCKET),一邊進行應用層的處理。發(fā)送數(shù)據(jù)時也是這樣,邊處理實用數(shù)據(jù)邊填充發(fā)送數(shù)據(jù)。這種方法極大地節(jié)約了內(nèi)存資源,而且有效地提高了應用程序的處理速度。由于程序的主要功能是接收數(shù)據(jù)采集命令,真正傳送的數(shù)據(jù)量很小,不需巨大的緩存空間。
1.2 客戶方局域網(wǎng)
客戶方局域網(wǎng)對設備進行在線監(jiān)測及一般故障的診斷,主要負責重要信息的存儲,為數(shù)據(jù)采集站或現(xiàn)場工作站提供簡單的診斷服務,與外界溝通獲得幫助。數(shù)據(jù)庫技術(shù)是這種監(jiān)測與診斷系統(tǒng)的一項關(guān)鍵技術(shù)。系統(tǒng)必須利用數(shù)據(jù)庫對采樣子系統(tǒng)所采集的實時數(shù)據(jù)進行分析和處理生成歷史數(shù)據(jù)庫。庫中數(shù)據(jù)可以被用戶查詢并進一步分析,從而了解設備的運行狀況和發(fā)展趨勢。在故障發(fā)生后也可對相關(guān)測點進行追憶,為診斷和維修提供依據(jù)。在本系統(tǒng)中,客戶局域網(wǎng)能夠與嵌入式Web服務器進行通信,對嵌入式Web服務器進行控制。可通過命令應答的方式將采集的現(xiàn)場數(shù)據(jù)取回進行處理。如果嵌入式Web服務器配置了網(wǎng)頁存儲資源,也可通過訪問嵌入式Web服務器的網(wǎng)頁內(nèi)容與之進行交互。
1.3 遠程診斷服務器與網(wǎng)上診斷資源
遠程診斷服務器是診斷服務提供者在Internet上建立的服務站點
2 系統(tǒng)實現(xiàn)與應用
本系統(tǒng)用于發(fā)電機及低壓配電網(wǎng)中的變壓器故障檢測診斷,如振動、掉相、欠壓、過壓、超載、功率越界等。數(shù)據(jù)采集在嵌入式Web服務器的I/O端口上接入相應傳感器,使用實驗室的局域網(wǎng)資源,用一臺微機作為客戶機與嵌入式Web服務器通信,同時訪問遠程診斷服務器。遠程診斷服務器利用Windows NT4.0及IIS4.0作為操作系統(tǒng)和WWW服務器,并在此基礎(chǔ)上分別利用Microsoft Interdev和Visual C++開發(fā)建立遠程診斷系統(tǒng)。
診斷時,客戶端微機利用WWW瀏覽器登錄診斷服務器,并在交互式網(wǎng)頁中,利用表單提供故障征兆信息和數(shù)據(jù)文件,請求診斷服務。診斷服務器調(diào)用診斷資源進行診斷得到的診斷結(jié)果,利用交互式網(wǎng)頁和Java小程序返回給客戶機。
評論