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