新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 基于嵌入式WEB的工業(yè)洗衣機遠程監(jiān)控系統(tǒng)研究

基于嵌入式WEB的工業(yè)洗衣機遠程監(jiān)控系統(tǒng)研究

——
作者: 時間:2007-07-16 來源:控制工程中文網(wǎng) 收藏

  隨著互聯(lián)網(wǎng)技術近年來的不斷發(fā)展,機電設備融入互連網(wǎng),并對其進行得到了廣泛應用。基于WEB是在傳統(tǒng)的基礎上又融合了Web和技術,可提供比傳統(tǒng)遠程監(jiān)控更為強大的功能,將成為今后遠程監(jiān)控技術發(fā)展的主流方向。Web技術彌補了傳統(tǒng)監(jiān)控系統(tǒng)的不足,致使運用Web技術實現(xiàn)設備的遠程監(jiān)控,已經(jīng)越來越多地成為設備監(jiān)控系統(tǒng)不可或缺的一部分。設備的Web服務為現(xiàn)場設備的數(shù)據(jù)采集、監(jiān)控、診斷和維護開辟了一個新的領域。

  基于嵌入式Web的遠程監(jiān)控模型

  基于嵌入式Web的遠程監(jiān)控思想是在機電設備中實現(xiàn)HTTP 服務,將其轉化成Web Server嵌入到被控設備中,為Internet或局域網(wǎng)用戶提供基于Web 的圖形化管理接口,從而省去了專用客戶端管理軟件,實現(xiàn)對接入到網(wǎng)絡中各種設備的統(tǒng)一管理。用戶可以通過現(xiàn)有的公共通信網(wǎng)絡,不受地域限制,使用標準的Web瀏覽器作為接口直接訪問機電設備上的Web服務器,實現(xiàn)對網(wǎng)絡中各個節(jié)點現(xiàn)場設備的遠程監(jiān)控、診斷與維護。

  一般的基本功能有:人機接口、電機控制、閥控制、洗衣機狀態(tài)檢測、溫度檢
測和水位檢測。要實現(xiàn)遠程監(jiān)控和遠程故障診斷,洗衣機還應具有網(wǎng)絡功能。要實現(xiàn)智能控制,即在洗滌過程中控制器能根據(jù)洗滌物的多少、臟污程度和臟污性質自動給出最佳洗滌方案,這就要求洗衣機具有渾濁度檢測和布質布量檢測功能。通過上述分析,要實現(xiàn)的基本功能以及智能化和網(wǎng)絡化,至少要有以下接口:LCD接口、觸摸屏接口(矩陣鍵盤接口、LED指示燈接口)、RS-232或RS485接口、UART接口、3路AD輸入、21路數(shù)字量輸出、8路數(shù)字量輸入(兩個可作為中斷源)及Ethernet接口。

  硬件設計

  隨著嵌入式微處理器的發(fā)展,出現(xiàn)了Power PC、68K、MIPS、ARM等一系列低功耗、高性能的嵌入式CPU。因此選擇低成本的32位ARM系列嵌入式處理器,不但價格低廉,而且功耗低、處理速度快,應用前景廣泛,比較適合遠程監(jiān)控需求。在工業(yè)洗衣機的遠程監(jiān)控的系統(tǒng)中選用韓國現(xiàn)代公司的HMS30C7202(32位RISC 微處理器),這是一款具有高性價比的芯片。該芯片內集成了ARM7TDMI CPU核,存儲器管理單元(MMU),8KB的高速緩沖存儲器以及寫緩沖器。并具有豐富的接口:支持STN和TFT的LCD、觸摸屏、矩陣鍵盤、鼠標、LED指示燈、LAN、CAN、USB、RS-232、RS-485、紅外、24路繼電器輸出、10路數(shù)字量輸入、3路模擬量輸入和2路PWM輸出。為實現(xiàn)遠程網(wǎng)絡監(jiān)控,系統(tǒng)底層網(wǎng)絡接口芯片采用CS8900A及外圍電路實現(xiàn),本系統(tǒng)中網(wǎng)絡接口芯片CS8900A工作于16位模式。

  軟件設計

  軟件設計的核心工作是在上述硬件平臺上建立服務器,實時響應用戶的請求。除此之外還要實現(xiàn)工業(yè)洗衣機的智能控制。工業(yè)洗衣機系統(tǒng)需要進行多個參數(shù)的檢測,需要使用多個傳感器,每一個傳感器的參數(shù)檢測和數(shù)據(jù)傳輸方式也各不相同。并且在洗滌過程中有很多需要控制的部件,如變頻器、各種閥等;在系統(tǒng)中各功能模塊關系復雜,任務多,而且各種需求間有并發(fā)關系。另外,還有網(wǎng)絡功能。因此有必要引入嵌入式操作系統(tǒng)。本系統(tǒng)選用μC/OS-II嵌入式操作系統(tǒng),它是一個多任務強實時的開源操作系統(tǒng),經(jīng)裁減、移植與補充后形成工業(yè)洗衣機的專用實時操作系統(tǒng)。網(wǎng)絡通信協(xié)議TCP/IP采用源碼公開的1wIP協(xié)議棧,并針對具體需求進行優(yōu)化設計。為了得到人性化的本地操作用戶界面,采用了一種開源的圖形用戶界面μC/GUI,它與μC/OS-II有很好的接口配合,功能完善。因此,工業(yè)洗衣機智能控制器軟件由四部分組成:實時操作系統(tǒng)μC/OS-II、硬件驅動程序、API函數(shù)和應用程序。

  嵌入式操作系統(tǒng)

  mC/OS-II是一個源代碼公開的占先式多任務微內核RTOS,每個任務具有不同的優(yōu)先級,能夠很好的滿足實時性需求。與其它實時操作系統(tǒng)相比,mC/OS-II結構簡單、容易移植,廣泛運用于工業(yè)控制的各領域。在將mC/OS-II(V2.51)移植到HMS30C7202上的主要工作是修改三個和ARM體系結構相關的文件,OS_CPU. H,OS_CPU_C.C和OS_CPU_A.S。OS_CPU.H主要包含編譯器相關的數(shù)據(jù)類型的定義、堆棧類型的定義以及幾個宏定義和函數(shù)說明。而OS_CPU_C.C中則包含與移植有關的C函數(shù),包括堆棧的初始化函數(shù)和一些鉤子(hook)函數(shù)的實現(xiàn)。OS_CPU_A.S中則包含與移植有關的匯編語言函數(shù),包括開/關中斷、上下文切換、時鐘中斷服務程序等等。

  TCP/IP協(xié)議棧

  系統(tǒng)采用開源TCP/IP協(xié)議棧LWIP(Light Weight IP),LWIP是Swedish Institute of Computer Science開發(fā)的一套用于的開放源代碼TCP/IP協(xié)議棧。LWIP 實現(xiàn)的重點是在保持TCP協(xié)議主要功能的基礎上減少對RAM 的占用,一般它只需要數(shù)10kB RAM 和40kB左右的ROM 就可以運行,這使LWIP協(xié)議棧適合在低端中使用。LWIP協(xié)議棧在設計時就考慮到了將來的移植問題,把所有與硬件、OS、編譯器相關的部分獨立出來,放在/src/arch目錄下。因此LWIP在uC/OS-Ⅱ上的實現(xiàn)就是修改這個目錄下的文件,其他的文件一般不用修改。本系統(tǒng)移植的是LWIP是1.1.0版本。LwIP的移植工作主要有:

  修改與CPU 或編譯器相關的include文件:cc.h、cpu.h、perf.h,正確設置數(shù)據(jù)長度,字的高低位順序等。
  修改sys__arch.h和sys__arch.c中與操作系統(tǒng)相關部分。

  LWlP協(xié)議棧中用到了6個外部函數(shù)(1ibarch.c),這些函數(shù)與用戶使用的系統(tǒng)或編譯器有關,因此需要自己實現(xiàn)。

  /src/netif/ethernetif.c文
件即為網(wǎng)絡驅動的模板,我們可以參照此模板實現(xiàn)選用的網(wǎng)絡設備驅動。做完上面的移植修改工作以后,就可以在uC/0S一Ⅱ中創(chuàng)建一個任務初始化LWlP,并創(chuàng)建TCP任務、UDP任務和HTTP任務。偽代碼如下:

  創(chuàng)建LWIP任務
  {
  ■系統(tǒng)初始化;
  ■內存初始化;
  ■包內存初始化;
  ■包緩沖初始化;;
  ■網(wǎng)絡初始化;
  ■創(chuàng)建一個系統(tǒng)信號量;
  ■Tcpip初始化;
  ■等待系統(tǒng)信號量;
  釋放系統(tǒng)信號量;
  ■設置網(wǎng)關;
  ■設置IP地址;
  ■設置子網(wǎng)掩碼;
  TCP初始化任務;
  HTTP初始化任務;
  UDP初始化任務;
  while(1)
  {延時;}
  }
  服務器

  隨著Web技術的迅速發(fā)展,Brower/Server(B/S)模式已成為流行的開發(fā)模式,這種方式基本上不用開發(fā)客戶端程序,只需對服務器端程序進行開發(fā)程序,在客戶端采用諸如IE這樣的瀏覽器對服務器上的數(shù)據(jù)進行瀏覽。從功能上來講,WEB服務器監(jiān)聽用戶端的服務請求,根據(jù)用戶請求的類型提供相應的服務。用戶端使用WEB瀏覽器和WEB服務器進行通信。WEB服務器在接收到用戶端的請求后,處理用戶請求并返回需要的數(shù)據(jù)。這些數(shù)據(jù)通常以格式固定、含有文本或圖片的頁面出現(xiàn)在用戶端瀏覽器。HTTP(Hyper Text Transfer Protocol)是WWW(World Wide Web)的核心協(xié)議,即超文本傳輸協(xié)議。WWW使用HTTP協(xié)議、超媒體技術將遍布全球的各種信息通過URL(Uniform Resource locator-統(tǒng)一資源定位)連接起來,以便于用戶瀏覽。HTTP是一個屬于應用層的面向對象的協(xié)議。HTTP協(xié)議有兩項功能,即傳輸文件和實現(xiàn)動態(tài)交互應用。LWIP在該源程序軟件包含HTTP1.0。LWIP運行一個簡單的HTTP/1.0服務器至少能夠同時響應10個以上頁面請求,而且占用RAM不超過4k字節(jié)。為了減少“上下文切換”對整體性能造成的消極影響,LWIP的所有協(xié)議都在一個進程當中和操作系統(tǒng)內核分開實現(xiàn)。而HTTP程序既可以是單獨的進程也可以駐留在TCP/IP進程中。如果HTTP是單獨的進程,可以通過操作系統(tǒng)的郵箱,消息隊列等和TCP/IP進程進行通訊;如果HTTP駐留在TCP/IP進程中,那應用層程序就利用內部回調函數(shù)口(Raw API)和TCP/IP協(xié)議棧通訊。

  由于嵌入式系統(tǒng)的資源有限,基于嵌入式Web的工業(yè)洗衣機的遠程監(jiān)控系統(tǒng)需要數(shù)據(jù)高效傳輸、圖形化監(jiān)控的人機交互界面以及自主刷新。同時,對測量數(shù)據(jù)進行分析、處理都需要實現(xiàn)采集數(shù)據(jù)的本地保存。因此,采用瀏覽器/服務器(B/S )和客戶端與服務器端(C/S)相結合的模式。在服務器端采用CGI (Common Gateway Interface)技術,以實現(xiàn)瀏覽器和服務器之間的交互。CGI規(guī)定了Web服務器調用其他可執(zhí)行程序的接口協(xié)議標準,提供了Web 服務器執(zhí)行外部程序的通道,這種技術使得瀏覽器和服務器之間具有交互性。

  采用Java Applet技術增強瀏覽器的功能,實現(xiàn)動態(tài)數(shù)據(jù)的實時瀏覽,通過B/S 方式訪問Web 服務器上的網(wǎng)頁數(shù)據(jù),客戶端的IE瀏覽器瀏覽這個網(wǎng)頁時,會把網(wǎng)頁中標識的Java applet源程序下載到客戶端執(zhí)行。在Java applet 源程序中,創(chuàng)建了一個套接字來完成與服務器的通信(前提是Web服務器上同時運行一個相應的服務器監(jiān)聽程序),獲取實時數(shù)據(jù),用于在瀏覽器中顯示。事實上,在Java applet 中的socket通信是一個典型的C/S訪問方式。系統(tǒng)通過Java applet平衡了服務器端與瀏覽器端的負載狀況,將一部分從前在服務器上工作分給了瀏覽器,降低了服務器的運行負荷。

  控制系統(tǒng)軟件設計

  用戶通過網(wǎng)絡傳送命令,控制洗衣機工作。根據(jù)用戶設定的水位、溫度等參數(shù)完成洗滌和脫水;洗衣機需要自動檢測洗滌物質量、含棉率、臟污程度和臟污性質,通過智能推理得出最佳洗滌方案,自動完成洗滌過程。因此控制系統(tǒng)軟件設計如下任務:模擬量采集任務,數(shù)字量檢測任務,報警任務,閥控制任務,混濁度檢測任務,洗滌控制任務,電機控制任務,網(wǎng)絡任務。根據(jù)每個任務的重要程度設置不同的優(yōu)先級,各個任務之間通過信號量或郵箱進行通信。

  結束語

  嵌入式WEB技術是一種新興的技術,它采用瘦服務器模式,大大降低了構建的費用。本文采取ARM+RTOS+LWIP+HTTP的架構實現(xiàn)工業(yè)洗衣機的遠程監(jiān)控,為洗衣機廠商的售后服務以及洗衣房和洗衣廠的管理帶來極大的方便。通過網(wǎng)絡可以實現(xiàn)洗衣機系統(tǒng)軟件的遠程升級, 進一步改善和提高系統(tǒng)的性能

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉