作者:楊光友,胡浩,周國柱,蘇旭武
隨著互聯網技術近年來的不斷發展,機電設備融入互連網,并對其進行遠程監控得到了廣泛應用。基于嵌入式WEB的遠程監控是在傳統遠程監控的基礎上又融合了Web和嵌入式技術,可提供比傳統遠程監控更為強大的功能,將成為今后遠程監控技術發展的主流方向。Web技術彌補了傳統監控系統的不足,致使運用Web技術實現設備的遠程監控,已經越來越多地成為設備監控系統不可或缺的一部分。嵌入式設備的Web服務為現場設備的數據采集、監控、診斷和維護開辟了一個新的領域。
基于嵌入式Web的工業洗衣機遠程監控模型
基于嵌入式Web的遠程監控思想是在機電設備中實現HTTP 服務,將其轉化成Web Server嵌入到被控設備中,為Internet或局域網用戶提供基于Web 的圖形化管理接口,從而省去了專用客戶端管理軟件,實現對接入到網絡中各種設備的統一管理。用戶可以通過現有的公共通信網絡,不受地域限制,使用標準的Web瀏覽器作為接口直接訪問機電設備上的Web服務器,實現對網絡中各個節點現場設備的遠程監控、診斷與維護。
一般工業洗衣機的基本功能有:人機接口、電機控制、閥控制、洗衣機狀態檢測、溫度檢測和水位檢測。要實現遠程監控和遠程故障診斷,洗衣機還應具有網絡功能。要實現智能控制,即在洗滌過程中控制器能根據洗滌物的多少、臟污程度和臟污性質自動給出最佳洗滌方案,這就要求洗衣機具有渾濁度檢測和布質布量檢測功能。通過上述分析,要實現工業洗衣機的基本功能以及智能化和網絡化,嵌入式系統至少要有以下接口:LCD接口、觸摸屏接口(矩陣鍵盤接口、LED指示燈接口)、RS-232或RS485接口、UART接口、3路AD輸入、21路數字量輸出、8路數字量輸入(兩個可作為中斷源)及Ethernet接口。
硬件設計
隨著嵌入式微處理器的發展,出現了Power PC、68K、MIPS、ARM等一系列低功耗、高性能的嵌入式CPU。因此選擇低成本的32位ARM系列嵌入式處理器,不但價格低廉,而且功耗低、處理速度快,應用前景廣泛,比較適合遠程監控需求。在工業洗衣機的遠程監控的系統中選用韓國現代公司的HMS30C7202(32位RISC 微處理器),這是一款具有高性價比的芯片。該芯片內集成了ARM7TDMI CPU核,存儲器管理單元(MMU),8KB的高速緩沖存儲器以及寫緩沖器。并具有豐富的接口:支持STN和TFT的LCD、觸摸屏、矩陣鍵盤、鼠標、LED指示燈、LAN、CAN、USB、RS-232、RS-485、紅外、24路繼電器輸出、10路數字量輸入、3路模擬量輸入和2路PWM輸出。為實現遠程網絡監控,系統底層網絡接口芯片采用CS8900A及外圍電路實現,本系統中網絡接口芯片CS8900A工作于16位模式。
軟件設計
軟件設計的核心工作是在上述硬件平臺上建立嵌入式WEB服務器,實時響應用戶的請求。除此之外還要實現工業洗衣機的智能控制。工業洗衣機系統需要進行多個參數的檢測,需要使用多個傳感器,每一個傳感器的參數檢測和數據傳輸方式也各不相同。并且在洗滌過程中有很多需要控制的部件,如變頻器、各種閥等;在系統中各功能模塊關系復雜,任務多,而且各種需求間有并發關系。另外,還有網絡功能。因此有必要引入嵌入式操作系統。本系統選用μC/OS-II嵌入式操作系統,它是一個多任務強實時的開源操作系統,經裁減、移植與補充后形成工業洗衣機的專用實時操作系統。網絡通信協議TCP/IP采用源碼公開的1wIP協議棧,并針對具體需求進行優化設計。為了得到人性化的本地操作用戶界面,采用了一種開源的圖形用戶界面μC/GUI,它與μC/OS-II有很好的接口配合,功能完善。因此,工業洗衣機智能控制器軟件由四部分組成:實時操作系統μC/OS-II、硬件驅動程序、API函數和應用程序。
嵌入式操作系統
mC/OS-II是一個源代碼公開的占先式多任務微內核RTOS,每個任務具有不同的優先級,能夠很好的滿足實時性需求。與其它實時操作系統相比,mC/OS-II結構簡單、容易移植,廣泛運用于工業控制的各領域。在將mC/OS-II(V2.51)移植到HMS30C7202上的主要工作是修改三個和ARM體系結構相關的文件,OS_CPU. H,OS_CPU_C.C和OS_CPU_A.S。OS_CPU.H主要包含編譯器相關的數據類型的定義、堆棧類型的定義以及幾個宏定義和函數說明。而OS_CPU_C.C中則包含與移植有關的C函數,包括堆棧的初始化函數和一些鉤子(hook)函數的實現。OS_CPU_A.S中則包含與移植有關的匯編語言函數,包括開/關中斷、上下文切換、時鐘中斷服務程序等等。
TCP/IP協議棧
系統采用開源TCP/IP協議棧LWIP(Light Weight IP),LWIP是Swedish Institute of Computer Science開發的一套用于嵌入式系統的開放源代碼TCP/IP協議棧。LWIP 實現的重點是在保持TCP協議主要功能的基礎上減少對RAM 的占用,一般它只需要數10kB RAM 和40kB左右的ROM 就可以運行,這使LWIP協議棧適合在低端嵌入式系統中使用。LWIP協議棧在設計時就考慮到了將來的移植問題,把所有與硬件、OS、編譯器相關的部分獨立出來,放在/src/arch目錄下。因此LWIP在uC/OS-Ⅱ上的實現就是修改這個目錄下的文件,其他的文件一般不用修改。本系統移植的是LWIP是1.1.0版本。LwIP的移植工作主要有:
修改與CPU 或編譯器相關的include文件:cc.h、cpu.h、perf.h,正確設置數據長度,字的高低位順序等。
修改sys__arch.h和sys__arch.c中與操作系統相關部分。
LWlP協議棧中用到了6個外部函數(1ibarch.c),這些函數與用戶使用
的系統或編譯器有關,因此需要自己實現。
/src/netif/ethernetif.c文件即為網絡驅動的模板,我們可以參照此模板實現選用的網絡設備驅動。做完上面的移植修改工作以后,就可以在uC/0S一Ⅱ中創建一個任務初始化LWlP,并創建TCP任務、UDP任務和HTTP任務。偽代碼如下:
創建LWIP任務
{
■系統初始化;
■內存初始化;
■包內存初始化;
■包緩沖初始化;;
■網絡初始化;
■創建一個系統信號量;
■Tcpip初始化;
■等待系統信號量;
釋放系統信號量;
■設置網關;
■設置IP地址;
■設置子網掩碼;
TCP初始化任務;
HTTP初始化任務;
UDP初始化任務;
while(1)
{延時;}
}
嵌入式WEB服務器
隨著Web技術的迅速發展,Brower/Server(B/S)模式已成為流行的開發模式,這種方式基本上不用開發客戶端程序,只需對服務器端程序進行開發程序,在客戶端采用諸如IE這樣的瀏覽器對服務器上的數據進行瀏覽。從功能上來講,WEB服務器監聽用戶端的服務請求,根據用戶請求的類型提供相應的服務。用戶端使用WEB瀏覽器和WEB服務器進行通信。WEB服務器在接收到用戶端的請求后,處理用戶請求并返回需要的數據。這些數據通常以格式固定、含有文本或圖片的頁面出現在用戶端瀏覽器。HTTP(Hyper Text Transfer Protocol)是WWW(World Wide Web)的核心協議,即超文本傳輸協議。WWW使用HTTP協議、超媒體技術將遍布全球的各種信息通過URL(Uniform Resource locator-統一資源定位)連接起來,以便于用戶瀏覽。HTTP是一個屬于應用層的面向對象的協議。HTTP協議有兩項功能,即傳輸文件和實現動態交互應用。LWIP在該源程序軟件包含HTTP1.0。LWIP運行一個簡單的HTTP/1.0服務器至少能夠同時響應10個以上頁面請求,而且占用RAM不超過4k字節。為了減少“上下文切換”對整體性能造成的消極影響,LWIP的所有協議都在一個進程當中和操作系統內核分開實現。而HTTP程序既可以是單獨的進程也可以駐留在TCP/IP進程中。如果HTTP是單獨的進程,可以通過操作系統的郵箱,消息隊列等和TCP/IP進程進行通訊;如果HTTP駐留在TCP/IP進程中,那應用層程序就利用內部回調函數口(Raw API)和TCP/IP協議棧通訊。
由于嵌入式系統的資源有限,基于嵌入式Web的工業洗衣機的遠程監控系統需要數據高效傳輸、圖形化監控的人機交互界面以及自主刷新。同時,對測量數據進行分析、處理都需要實現采集數據的本地保存。因此,采用瀏覽器/服務器(B/S )和客戶端與服務器端(C/S)相結合的模式。在服務器端采用CGI (Common Gateway Interface)技術,以實現瀏覽器和服務器之間的交互。CGI規定了Web服務器調用其他可執行程序的接口協議標準,提供了Web 服務器執行外部程序的通道,這種技術使得瀏覽器和服務器之間具有交互性。
采用Java Applet技術增強瀏覽器的功能,實現動態數據的實時瀏覽,通過B/S 方式訪問Web 服務器上的網頁數據,客戶端的IE瀏覽器瀏覽這個網頁時,會把網頁中標識的Java applet源程序下載到客戶端執行。在Java applet 源程序中,創建了一個套接字來完成與服務器的通信(前提是Web服務器上同時運行一個相應的服務器監聽程序),獲取實時數據,用于在瀏覽器中顯示。事實上,在Java applet 中的socket通信是一個典型的C/S訪問方式。系統通過Java applet平衡了服務器端與瀏覽器端的負載狀況,將一部分從前在服務器上工作分給了瀏覽器,降低了服務器的運行負荷。
控制系統軟件設計
用戶通過網絡傳送命令,控制洗衣機工作。根據用戶設定的水位、溫度等參數完成洗滌和脫水;洗衣機需要自動檢測洗滌物質量、含棉率、臟污程度和臟污性質,通過智能推理得出最佳洗滌方案,自動完成洗滌過程。因此控制系統軟件設計如下任務:模擬量采集任務,數字量檢測任務,報警任務,閥控制任務,混濁度檢測任務,洗滌控制任務,電機控制任務,網絡任務。根據每個任務的重要程度設置不同的優先級,各個任務之間通過信號量或郵箱進行通信。
結束語
嵌入式WEB技術是一種新興的技術,它采用瘦服務器模式,大大降低了構建的費用。本文采取ARM+RTOS+LWIP+HTTP的架構實現工業洗衣機的遠程監控,為洗衣機廠商的售后服務以及洗衣房和洗衣廠的管理帶來極大的方便。通過網絡可以實現洗衣機系統軟件的遠程升級, 進一步改善和提高系統的性能。
責任編輯:gt
-
嵌入式
+關注
關注
5092文章
19177瀏覽量
307645 -
監控系統
+關注
關注
21文章
3940瀏覽量
176829 -
局域網
+關注
關注
5文章
761瀏覽量
46395 -
RTOS
+關注
關注
22文章
819瀏覽量
119884
發布評論請先 登錄
相關推薦
評論