基于Windows CE的嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)
布光系統(tǒng)是廣泛應(yīng)用于電視演播廳、電影攝影棚、體育場館以及舞廳的一種機械化照明燈具及其控制系統(tǒng),是為增強舞臺藝術(shù)效果的一種燈光控制設(shè)備。目前,布光系統(tǒng)存在的問題是:人機界面差,操作復(fù)雜;不能實時檢測故障部位及原因,系統(tǒng)故障率大,難以維護;不能實現(xiàn)對被控對象的全部控制,只實現(xiàn)了單一、局部控制;缺乏形象的吊桿、燈具動作顯示。
本文介紹的布光監(jiān)控系統(tǒng)采用數(shù)字化分布嵌入式控制系統(tǒng)實現(xiàn)布光任務(wù)。在布光系統(tǒng)中采用基于Windows CE的嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)。該系統(tǒng)實時性好,可靠性高;速度快,大容量的特性可以適應(yīng)不斷增長的系統(tǒng)數(shù)據(jù)處理需求;體積小,結(jié)構(gòu)設(shè)計方便靈活,設(shè)備和軟件成本大幅下降;基于Windows的嵌入式開發(fā)技術(shù)相對普及,人才成本下降。
1 系統(tǒng)概述
應(yīng)用于布光系統(tǒng)的嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)為數(shù)字雙向串行通訊控制系統(tǒng)。整個系統(tǒng)由控制臺、網(wǎng)絡(luò)控制器、提升設(shè)備、燈具控制器四部分組成。其中控制臺由專用控制臺、備份控制臺和無線遙控三部分構(gòu)成;網(wǎng)絡(luò)控制器負責(zé)網(wǎng)絡(luò)數(shù)據(jù)的傳輸,包括控制臺向下傳輸命令和下位機傳感器信號的返回,同時負責(zé)各控制臺之間的切換;提升設(shè)備由提升機控制器、提升機和吊桿構(gòu)成;燈具控制器控制燈具實現(xiàn)不同的動作。
系統(tǒng)總體框圖如圖1所示。
主控臺是系統(tǒng)的主要控制平臺,硬件由PC/104和液晶顯示器組成,同時使用Microsoft的Windows CE操作系統(tǒng)。備份控制臺由普通PC機實現(xiàn),刪減主控制臺功能,保留部分必要的功能,起到備份數(shù)據(jù)和輔助控制的作用。遙控器是手持式輔助控制器,在100m內(nèi)可以可靠有效地控制系統(tǒng)。無線遙控模塊采用單片無線收發(fā)一體芯片nRF401。該芯片具有低發(fā)射功率和高接收靈敏度的特點。
網(wǎng)絡(luò)控制器負責(zé)主控臺、備份臺、遙控器三個控制臺直接控制權(quán)力的分配,同時負責(zé)由上而下控制命令的傳輸以及傳感器信息由下而上的傳遞。網(wǎng)絡(luò)控制器與主控臺和備份臺之間的通信分別采用RS-232串口和CAN總線實現(xiàn)。CAN總線具有抗干擾能力強和可靠性高的特點。
被控節(jié)點有兩種:一種是提升機控制器,采用變頻調(diào)速控制;另一種是燈具控制器。網(wǎng)絡(luò)控制器與被控節(jié)點之間通過CAN總線進行通信。系統(tǒng)可控路數(shù)需達到1000路。因此,為了擴展CAN網(wǎng)的節(jié)點數(shù),6個CAN總線中轉(zhuǎn)器與網(wǎng)絡(luò)控制器相連,每個中轉(zhuǎn)器下接6個CAN子網(wǎng),共有36個CAN總線子網(wǎng)。
2 Windows CE簡介及其特點
主控制臺的操作系統(tǒng)采用微軟公司的嵌入式Windows CE 3.0。Windows CE是一種緊湊、高效、可伸縮的操作系統(tǒng)。主要面向各種嵌入式系統(tǒng)和產(chǎn)品。它具有多線程、多任務(wù)、完全搶占式的特點,是專門為各種有很嚴格資源限制的硬件系統(tǒng)設(shè)計的。它的模塊化設(shè)計使嵌入式系統(tǒng)和應(yīng)用程序開發(fā)者能夠方便地定制以適應(yīng)一系列不同的產(chǎn)品。Windows CE操作系統(tǒng)包括以下主要模塊:
(1)內(nèi)核模塊,支持進程和線程處理及內(nèi)存管理等基本服務(wù);
(2)內(nèi)核系統(tǒng)接口模塊,允許應(yīng)用軟件訪問操作系統(tǒng);
(3)文件系統(tǒng)模塊,支持持久穩(wěn)固的信息存儲;
(4)圖形窗口和事件子系統(tǒng)模塊,控制圖形和Windows相關(guān)的圖形用戶界面;
(5)通信模塊,允許同其他設(shè)備進行信息交換。
Windows CE支持多種外設(shè)和網(wǎng)絡(luò)系統(tǒng),包括鍵盤、鼠標(biāo)、觸摸屏、串行口、以太網(wǎng)卡、調(diào)制解調(diào)器、USB設(shè)備、音頻設(shè)備、并行口、打印機和存儲設(shè)備。Windows CE支持超過1000個常用的Microsoft Win32 API和一些附加的編程接口,可用于開發(fā)應(yīng)用程序。這些接口包括COM、MFC、ATL等。此外,Windows CE支持用于管理時間關(guān)鍵任務(wù)響應(yīng)的實時處理;各種串行通信和網(wǎng)絡(luò)通信技術(shù),包括支持USB;為Windows CE用戶提供Web服務(wù)的移動頻道;用于進程間通信的Automation和其他方法;還支持管理可安裝設(shè)備等可選組件。
對于Windows CE而言,原始設(shè)備制造商(OEM)能開發(fā)硬件適配層OAL(OEM Adaptation Layer),其他開發(fā)者可以開發(fā)內(nèi)部驅(qū)動程序、可安裝驅(qū)動程序及運行在嵌入式設(shè)備上的應(yīng)用程序。獨立軟件提供商ISV(Independent Software Vendor)能獨立于硬件平臺開發(fā)應(yīng)用軟件。與其他操作系統(tǒng)比較,Windows CE具有下列優(yōu)越性:
(1)32位多線程、多任務(wù)、完全搶占式的操作系統(tǒng);
(2)強大的圖形顯示功能支持,用戶能定制完全自己風(fēng)格的操作界面;
(3)支持大部分Win32 API,使得基于其他Windows的應(yīng)用程序能方便地移植到Windows CE上;
(4)體積小,并能夠從ROM直接啟動,無需硬盤,不存在系統(tǒng)崩潰和病毒感染問題。
Windows CE是為便攜式電腦設(shè)計的新型平臺。它提供Windows操作系統(tǒng)的堅實子集。同時,微軟公司為Windows CE的開發(fā)提供了一套完整且功能強大的系列工具,從硬件調(diào)試到軟件開發(fā)都為用戶提供了方便。
3 系統(tǒng)組成及結(jié)構(gòu)
3.1 主控臺
主控臺是整個系統(tǒng)的核心,主要由PC/104系統(tǒng)、控制臺面板(鍵盤)和液晶顯示器組成,需要接入互聯(lián)網(wǎng)。其結(jié)構(gòu)如圖2所示。
3.2 網(wǎng)絡(luò)控制器
網(wǎng)絡(luò)控制器硬件如圖3所示。
處理器采用美國德州儀器有限公司(TI)的MSP430,與主控臺通過RS-232通信,下層接CAN總線中轉(zhuǎn)器,同時通過無線收發(fā)模塊與遙控器進行無線連接。網(wǎng)絡(luò)控制器負責(zé)主控臺各部分權(quán)限的分配,并可以減少用于與控制臺通信的CAN卡的數(shù)量。
3.3 提升機控制器
提升機控制器硬件如圖4所示。
處理器采用Philips公司的89C51RD+單片機,用計數(shù)器讀碼盤轉(zhuǎn)過的角位移,向上位機發(fā)送時折算成線位移。同時采用霍爾傳感器采集三路電流值,對電機實現(xiàn)過流保護。
交流變頻電機控制部分采用光電式碼盤測量電機轉(zhuǎn)角,實現(xiàn)閉環(huán)控制,如圖5。
3.4 燈具控制器
每個燈配一個控制器。處理器選擇Philips公司帶A/D的80C552EFA單片機,其硬件結(jié)構(gòu)如圖6所示。
燈具控制器接收并解釋上位機發(fā)來的命令,然后執(zhí)行命令。若上位機需要返回值,則執(zhí)行后向上位機發(fā)返回幀。采用中斷方式接收命令。主要功能有:
(1)AD采樣各個自由度的角位移量;
(2)根據(jù)設(shè)定位置值,通過算法把自由度調(diào)到相應(yīng)位置;
(3)實現(xiàn)各自由度的限位功能;
(4)出現(xiàn)異常給上位機發(fā)異常命令。
4 網(wǎng)絡(luò)監(jiān)控系統(tǒng)的實現(xiàn)
4.1 系統(tǒng)硬件特點
嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)是可移動的小型化控制系統(tǒng)。硬件是研華公司的PCM-3350 PC/104及LCD顯示器。與一般的臺式PC系統(tǒng)相比,PC/104嵌入式系統(tǒng)體積小,結(jié)構(gòu)緊湊,系統(tǒng)模塊化;與單片機系統(tǒng)相比,PC/104資源豐富,運算速度快,產(chǎn)品系列化,可靠性高,可以充分利用豐富的軟件資源和成熟高效的應(yīng)用開發(fā)平臺,有利于提高開發(fā)效率和系統(tǒng)的可靠性,適合數(shù)據(jù)量大、數(shù)據(jù)類型多的數(shù)據(jù)采集和處理系統(tǒng)。
4.2 系統(tǒng)功能
主控臺負責(zé)用戶命令向下的傳遞并顯示下層向上反饋的信息。因此,監(jiān)控系統(tǒng)與底層設(shè)備有大量的數(shù)據(jù)交換,需要處理大量的實時信息,對實時性的要求比較高。而采用嵌入式操作系統(tǒng)Windows CE 3.0可以滿足系統(tǒng)對實時性的要求。
同時,網(wǎng)絡(luò)監(jiān)控系統(tǒng)需要接入互聯(lián)網(wǎng),以便實現(xiàn)遠程網(wǎng)絡(luò)通信功能,進行遠程診斷。遠程診斷的目的就是能將現(xiàn)場設(shè)備的狀況及時傳到維修中心的計算機網(wǎng)絡(luò)上,維修中心能夠?qū)υO(shè)備進行監(jiān)控,及時了解設(shè)備出現(xiàn)的故障,指導(dǎo)現(xiàn)場人員對設(shè)備進行維修。因此,系統(tǒng)需要通過網(wǎng)絡(luò)把現(xiàn)場系統(tǒng)的一些特殊工作狀態(tài)信息傳遞到現(xiàn)場控制室和遠端的維修中心。此外,本地系統(tǒng)工作時也需要實時監(jiān)測系統(tǒng)的運行狀態(tài),給出各個提升機和燈具的狀態(tài)信息,有錯誤及時報警,并報告故障位置和故障類型,使系統(tǒng)易于維護和檢修。
4.3 圖形用戶界面設(shè)計
操作人員通過監(jiān)控系統(tǒng)實現(xiàn)對整個數(shù)字布光系統(tǒng)的控制。為了克服以往系統(tǒng)不易操作,吊桿、燈具運行狀態(tài)顯示不形象的缺點,本文所實現(xiàn)的網(wǎng)絡(luò)監(jiān)控系統(tǒng)在其人機交互界面中以三維動畫方式顯示吊桿和燈具的動態(tài)運行過程,同時在界面中顯示描述吊桿及燈具運動位置和運動速度的具體參數(shù)。系統(tǒng)的操作也相對簡單。
4.4 串口通信程序
主控制臺與下層網(wǎng)絡(luò)控制器的通信通過PC/104的RS-232串口實現(xiàn)。
基于Windows CE的設(shè)備采用RS-232-C標(biāo)準與串行設(shè)備和其他計算機通過串行連接交換數(shù)據(jù)。Windows CE支持基于Windows的臺式機上用于串行通信的標(biāo)準函數(shù)。主要有CreateFile()、CloseHandle()、GetCommState()、SetCommState()、 SetupComm()、PurgeComm()、SetCommMask()、WaitCommEvent()、ClearCommError()、ReadFile()、WriteFile()等函數(shù)。這些函數(shù)可以用于打開、關(guān)閉和操作串行口,傳送和接收數(shù)據(jù)以及管理連接。
在具體的串行通信程序開發(fā)中,采用事件驅(qū)動方式。為了實時響應(yīng)事件,創(chuàng)建專門的監(jiān)視輔助線程,有數(shù)據(jù)到達時依靠事件驅(qū)動,讀入數(shù)據(jù)并運行相應(yīng)的接收數(shù)據(jù)處理程序,以完成相應(yīng)的工作。
4.5 網(wǎng)絡(luò)功能
當(dāng)現(xiàn)場工作系統(tǒng)出現(xiàn)難以解決的故障時,現(xiàn)場工作人員可以通過Internet將故障信息發(fā)送到維修中心。首先由現(xiàn)場用戶輸入服務(wù)器的IP地址和端口號,然后啟動網(wǎng)絡(luò)通信模塊,創(chuàng)建Winsock套接字,綁定IP地址和端口號,與維修中心的服務(wù)器正處于偵聽狀態(tài)的套接字連接,從而將故障信息從現(xiàn)場傳遞到維修中心的服務(wù)器,讓維修人員及時地了解系統(tǒng)的運行狀態(tài)并診斷故障原因。
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)在工控領(lǐng)域中的影響越來越大。本文介紹的數(shù)字布光監(jiān)控系統(tǒng)將網(wǎng)絡(luò)技術(shù)與嵌入式系統(tǒng)相結(jié)合,使得系統(tǒng)在操作、安裝、維護等各方面都變得相當(dāng)簡單。同時,系統(tǒng)在安全性,可靠性等方面也有了很大的提高。