<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

  隨著(zhù)互聯(lián)網(wǎng)技術(shù)近年來(lái)的不斷發(fā)展,機電設備融入互連網(wǎng),并對其進(jìn)行得到了廣泛應用?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/嵌入式WEB">WEB是在傳統的基礎上又融合了Web和技術(shù),可提供比傳統遠程監控更為強大的功能,將成為今后遠程監控技術(shù)發(fā)展的主流方向。Web技術(shù)彌補了傳統監控系統的不足,致使運用Web技術(shù)實(shí)現設備的遠程監控,已經(jīng)越來(lái)越多地成為設備監控系統不可或缺的一部分。設備的Web服務(wù)為現場(chǎng)設備的數據采集、監控、診斷和維護開(kāi)辟了一個(gè)新的領(lǐng)域。

  基于嵌入式Web的遠程監控模型

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

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

  硬件設計

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

  軟件設計

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

  嵌入式操作系統

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

  TCP/IP協(xié)議棧

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

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

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

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

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

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

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

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

  控制系統軟件設計

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

  結束語(yǔ)

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

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>