基于Windows CE 的嵌入式工業(yè)監(jiān)控系統(tǒng)
摘 要:WindowsCE是面向32位處理器的模塊化搶先式多任務(wù)實(shí)時(shí)嵌入式操作系統(tǒng),以其緊湊、高效、可裁減等優(yōu)點(diǎn)適用于硬件資源受限的各種工業(yè)監(jiān)控系統(tǒng)中。本文首先分析了WindowsCE.NET的技術(shù)特點(diǎn)和在工控領(lǐng)域應(yīng)用的優(yōu)點(diǎn),最后介紹了在井下膠帶輸送機(jī)集中監(jiān)控系統(tǒng)中,基于WindowsCE嵌入式操作系統(tǒng)與 PC104模塊的智能監(jiān)控分站的軟硬件設(shè)計(jì)開發(fā)。
關(guān)鍵詞:嵌入式系統(tǒng),監(jiān)控系統(tǒng),windows CE,嵌入式操作系統(tǒng)
1. 引言
早期的嵌入式系統(tǒng)通常是以單個(gè)芯片為核心的系統(tǒng),大部分應(yīng)用于一些工業(yè)控制系統(tǒng)中,功能簡(jiǎn)單,成本低,通常沒有操作系統(tǒng)的支持。隨著微電子技術(shù)的進(jìn)步,芯片的功能大大增強(qiáng),16位和32位的嵌入式微處理器逐漸成為嵌入式系統(tǒng)設(shè)計(jì)的主流。但是,只有嵌入式微處理器是不夠的,還需要有一個(gè)運(yùn)行于嵌入式微處理器上的系統(tǒng)平臺(tái),嵌入式操作系統(tǒng)便應(yīng)運(yùn)而生。嵌入式操作系統(tǒng)要有良好的可移植性,能夠運(yùn)行于不同的微處理器上;內(nèi)核開銷小、效率高、具有高度的模塊化和擴(kuò)展性;可以提供多任務(wù)、多進(jìn)程、多線程處理;有多種設(shè)備支持、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;向用戶提供大量應(yīng)用程序接口,應(yīng)用軟件開發(fā)工作變得規(guī)范,可實(shí)現(xiàn)模塊化編程。另一方面,隨著應(yīng)用對(duì)象的擴(kuò)大和技術(shù)的進(jìn)步,嵌入式操作系統(tǒng)傳統(tǒng)應(yīng)用領(lǐng)域——工業(yè)控制領(lǐng)域?qū)I(yè)控制系統(tǒng)的功能和性能提出了許多新的要求。例如,適應(yīng)惡劣的工作環(huán)境,熟悉和友好的用戶界面,統(tǒng)一的編程界面,強(qiáng)大的通信功能和多媒體功能等。很多軟件廠商迎合這種發(fā)展需要,推出了多種不同特點(diǎn)的嵌入式操作系統(tǒng)。
2. Windows CE 嵌入式操作系統(tǒng)
WindowsCE(簡(jiǎn)稱WinCE)便是由微軟公司推出的一個(gè)面向嵌入式應(yīng)用的通用操作系統(tǒng),由于它的3.0 及以前版本的實(shí)時(shí)性較差,在工業(yè)控制領(lǐng)域應(yīng)用較少,主要應(yīng)用在便攜式和信息家電領(lǐng)域。Windows CE.NET(簡(jiǎn)稱WinCE.NET)是他的最新版本(也就是4.0),它的出現(xiàn)極大地改善了它的實(shí)時(shí)性能,和通訊能力,為Win CE進(jìn)入工業(yè)控制領(lǐng)域奠定了基礎(chǔ)。
從系統(tǒng)的角度看,WinCE.NET 不僅僅是一個(gè)操作系統(tǒng),他還包括多種微處理器以及板卡設(shè)備的支持、系統(tǒng)開發(fā)工具、應(yīng)用開發(fā)工具、集成的應(yīng)用程序等[1],所有這些構(gòu)成了WinCE.NET的體系機(jī)構(gòu),如圖1所示。
圖1 Windows CE.NET體系結(jié)構(gòu)
從圖1中可以看出,一個(gè)基于WINCE的嵌入式系統(tǒng)可分為四個(gè)層次,從底層到上層分別是硬件層、硬件支持層、操作系統(tǒng)層和應(yīng)用程序?qū)?。硬件層是系統(tǒng)的硬件,包括微處理器和各種周邊設(shè)備。硬件支持層也成為硬件抽象層(BSP),它提供了硬件和操作系統(tǒng)之間的接口,操作系統(tǒng)要訪問具體的硬件就可以通過BSP層提供的API進(jìn)行訪問,而不必直接與硬件打交道。操作系統(tǒng)層中有WINCE的組件,用戶可以根據(jù)自己的需要進(jìn)行定制,選擇需要的組件,去掉不必要的組件,這樣可以減小內(nèi)存需求,使系統(tǒng)性能達(dá)到最優(yōu)。應(yīng)用程序?qū)邮怯脩魹樘囟ǖ那度胧较到y(tǒng)開發(fā)的應(yīng)用程序。
Win.NET 的一個(gè)很明顯的特點(diǎn)就是可裁減、可配置,這就體現(xiàn)在操作系統(tǒng)層中:它有一個(gè)很小的內(nèi)核(NK.EXE),基本實(shí)現(xiàn)六類功能調(diào)度、內(nèi)存管理、異常處理、系統(tǒng)內(nèi)通信機(jī)制、核心API和系統(tǒng)調(diào)試功能。其余功能在單獨(dú)模塊中實(shí)現(xiàn),例如設(shè)備管理模塊(Device.exe)是設(shè)備管理的核心;數(shù)據(jù)存儲(chǔ)模塊(filesys.exe)提供基本的數(shù)據(jù)存儲(chǔ)能力,包括對(duì)象存儲(chǔ)和文件系統(tǒng),圖形用戶界面模塊(GWES.exe);另外還有通信模塊、驅(qū)動(dòng)程序模塊、OAL/HAL模塊、Win32系統(tǒng)服務(wù)等等。在Windows CE操作系統(tǒng)的構(gòu)造工具Platform Builder 中,每一個(gè)模塊可以稱之為一個(gè)特性(Feature),系統(tǒng)提供的特性之間可能是獨(dú)立的也有可能有一些依賴關(guān)系,Platform Builder可以管理這些特性,并且可以跟蹤這些關(guān)系,通過增加或者刪除這些特性來(lái)配置系統(tǒng),而背后的模塊組織、編譯、裝配等工作由PlatformBuilder 完成,最終生成一個(gè)結(jié)構(gòu)緊湊的可實(shí)際運(yùn)行的系統(tǒng)鏡像文件。
對(duì)系統(tǒng)設(shè)計(jì)者而言,需要自行開發(fā)的是應(yīng)用程序和直接與硬件有關(guān)的部分,包括硬件系統(tǒng)本身、OAL、設(shè)備驅(qū)動(dòng)程序[2]。
3. Win CE在嵌入式控制系統(tǒng)中的應(yīng)用分析
WinCE.NET 適應(yīng)了工業(yè)控制操作系統(tǒng)對(duì)嚴(yán)格的實(shí)時(shí)處理功能,高可靠性,良好的開放性,對(duì)人機(jī)界面、開發(fā)環(huán)境、可操作性、成本等方面的要求。這可以從以下幾個(gè)方面說(shuō)明:
(1) 實(shí)時(shí)性
盡管windows CE 操作系統(tǒng)以前的版本提供一些RTOS性能,但是自Windows CE 3.0以來(lái)內(nèi)核的許多重大改變才使的Windows CE的實(shí)時(shí)性能得到重大改變。 Windows CE.NET 實(shí)時(shí)能力的設(shè)計(jì)目標(biāo)參考了大量GMPTG的調(diào)查研究,它的設(shè)計(jì)目標(biāo)可以適應(yīng)大部分(95%)硬實(shí)時(shí)系統(tǒng)的需求:1ms定時(shí)周期的誤差約為100us,在200MHz的X86系統(tǒng)下可以期望達(dá)到50us。實(shí)時(shí)能力的另一個(gè)重要指標(biāo)是中斷延時(shí),在Window CE.NET 中 中斷延時(shí)和處理方式密切相關(guān),ISR延時(shí)非常短,IST延時(shí)較長(zhǎng)。
(2) 可靠性
Windows CE內(nèi)核具有內(nèi)存管理功能,可以檢查出應(yīng)用造成的系統(tǒng)異常,抑制由于應(yīng)用不正常直接破壞系統(tǒng)的危險(xiǎn)性。所以Windows CE比一般的實(shí)時(shí)系統(tǒng)健壯。
(3) 人機(jī)界面
Window CE 不僅支持圖形和窗口,具有多媒體功能,而且還可以利用豐富靈活的控件庫(kù)在Windows CE環(huán)境下為嵌入式應(yīng)用建立各種圖形用戶界面,完全可以滿足工業(yè)控制系統(tǒng)對(duì)人機(jī)界面的要求。
(4) 開放性
Windows CE具有良好的通信能力,廣泛支持各種通信硬件、局域網(wǎng)連接以及撥號(hào)連接,并提供與PC、內(nèi)部網(wǎng)以及Internet的連接,包括用于應(yīng)用級(jí)數(shù)據(jù)傳輸?shù)脑O(shè)備至設(shè)備間的互連??梢詢?nèi)嵌WEB和FPT服務(wù)器,使工業(yè)監(jiān)控設(shè)備具有IT功能[3]。
(5) 開發(fā)成本和開發(fā)環(huán)境
Windows CE的開發(fā)成本低,生成和調(diào)試工具方便易用。Windows CE Platform Builder 4.0提供了迅速創(chuàng)建Windows CE嵌入式系統(tǒng)需要的全部軟件工具。Platform Builder主要包括Windows CE Add-on Pack(插件包)、各種調(diào)試工具及Embedded Visual Tools(由面向嵌入式系統(tǒng)開發(fā)而進(jìn)行優(yōu)化的Embedded Visual Basic和Embedded Visual C++組成)。
正是基于以上幾點(diǎn),在輸送機(jī)監(jiān)控系統(tǒng)的智能監(jiān)控分站開發(fā)中,采用了強(qiáng)大的WinCE.NET作為系統(tǒng)開發(fā)平臺(tái)。
4. 礦井下嵌入式監(jiān)控器的設(shè)計(jì)與開發(fā)
井下膠帶輸送機(jī)監(jiān)控系統(tǒng),是一種適用于煤礦井下有甲烷和煤塵爆炸危險(xiǎn)環(huán)境中的,采用本安設(shè)計(jì)的,通用型、高性能、高可靠性的工業(yè)自動(dòng)化系統(tǒng),它采用模塊化的設(shè)計(jì)和快插技術(shù),集檢測(cè)、控制、安全保障、通訊、管理與一體可實(shí)現(xiàn)礦井下皮帶運(yùn)輸機(jī),工作面刮板運(yùn)輸機(jī),破碎機(jī)、轉(zhuǎn)載機(jī)的集中控制、監(jiān)控的通訊等,以及全礦井集中控制。其系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖如圖2所示。
圖2輸送機(jī)集中監(jiān)控系統(tǒng)結(jié)構(gòu)示意圖
整個(gè)監(jiān)控系統(tǒng)分為三層結(jié)構(gòu),頂層是中央監(jiān)控管理層;中間層主要有監(jiān)控分站組成,稱為前置監(jiān)控層;底層有兩種總線:Linie 和 AST 總線,Linie總線用于上位機(jī)與礦井下控制器及控制器與控制器之間的連接。AST總線用于控制器與智能IO單元、非智能單元之間的連接。
可以看出,監(jiān)控智能分站是頂層和底層信息的樞紐,負(fù)責(zé)檢測(cè)和控制信號(hào)的上傳下達(dá),系統(tǒng)的穩(wěn)定運(yùn)行有賴于智能分站的穩(wěn)定運(yùn)行。因此,在筆者開發(fā)的井下膠帶輸送機(jī)監(jiān)控分站,從硬件和軟件上考慮了他的穩(wěn)定性。主控計(jì)算機(jī)采用了研華PC/104總線結(jié)構(gòu)的產(chǎn)品PCM-3350 嵌入式CPU模塊和PCM-3612 RS485/422串行通訊卡。PCM-335內(nèi)置美國(guó)國(guó)家半導(dǎo)體公司的GX1-233 MHz嵌入式處理器,自帶10/100Base-T 網(wǎng)卡,板載 LCD 控制器支持36位圖像,帶有2個(gè)串口和1個(gè)并口、1個(gè)軟驅(qū)接口、1個(gè)CF卡電子盤接口和1個(gè)IDE接口,主板功耗小于10W。具體設(shè)計(jì)中采用了一塊基板,在其上引出CPU模塊的PC104總線,把PC104模塊當(dāng)作一塊普通的應(yīng)用功能板插在基板上,在基板上再插上其它具體的功能板,如I/O模板、A/D模板等,就構(gòu)成了一個(gè)完整的應(yīng)用系統(tǒng)。系統(tǒng)硬件總體結(jié)構(gòu)如圖3所示。
此方法的特點(diǎn)是:采用基板將嵌入式計(jì)算機(jī)和其它PC104模塊連接起來(lái)而代替以往將I/O擴(kuò)展板直接插入到計(jì)算機(jī)中的辦法,它體現(xiàn)了嵌入式系統(tǒng)的設(shè)計(jì)方法。另外,根據(jù)煤礦行業(yè)電氣設(shè)備要求,在硬件方面,設(shè)計(jì)了達(dá)到本安要求信號(hào)量采集板和模擬量采集轉(zhuǎn)換板,用于采集系統(tǒng)各種狀態(tài)量;采用大尺寸彩色液晶顯示屏和不銹鋼小鍵盤作為人機(jī)接口。
PCM3350上運(yùn)行WinCE操作系統(tǒng)。WINCE的開發(fā)平臺(tái)Plateform Builder 4.0主要用來(lái)進(jìn)行相應(yīng)的操作系統(tǒng)配置和編譯,由于微軟提供的標(biāo)準(zhǔn)串口驅(qū)動(dòng)不支持多串口共享中斷,而系統(tǒng)又沒有足夠的中斷供多串口使用,所以必須根據(jù)設(shè)置好3612的中斷和基地址開發(fā)相應(yīng)的可共享中斷的多串口驅(qū)動(dòng)。有了串口驅(qū)動(dòng),將其加入到用戶組件庫(kù)中,然后再的加入相應(yīng)的網(wǎng)卡,LCD顯示,CF卡,USB驅(qū)動(dòng),以及一些應(yīng)用服務(wù)如:MFC類庫(kù),硬盤驅(qū)動(dòng),另外加入Web Server用于遠(yuǎn)程網(wǎng)絡(luò)訪問。這些都確定后,然后配置相應(yīng)的內(nèi)存和上面各種功能的相應(yīng)注冊(cè)表鍵值,然后編譯操作系統(tǒng)鏡像并下載,進(jìn)行相應(yīng)的操作系統(tǒng)功能測(cè)試就可以了。
該監(jiān)控系統(tǒng)應(yīng)用軟件采用MCGS嵌入版組態(tài)軟件。它是基于Windows CE實(shí)時(shí)多任務(wù)操作系統(tǒng)的專門應(yīng)用于嵌入式操作系統(tǒng)的應(yīng)用組態(tài)軟件。運(yùn)行時(shí),監(jiān)控系統(tǒng)將通過串口按照串行協(xié)議從控制器周期讀取數(shù)據(jù)并存儲(chǔ)在組態(tài)軟件的實(shí)時(shí)數(shù)據(jù)庫(kù)中,并以圖形、文本、動(dòng)畫等形式顯示在液晶屏上,然后通過工業(yè)以太網(wǎng)上位機(jī)查詢和數(shù)據(jù)同步[4]。
由于采用了Wince.NET 嵌入式操作系統(tǒng),使監(jiān)控系統(tǒng)的實(shí)時(shí)性和可靠性的到保障,而且MCGS嵌入版組態(tài)軟件使Wince.Net 用戶界面得到進(jìn)一步加強(qiáng)。整個(gè)系統(tǒng)的軟件部分可以存儲(chǔ)在一片32M的CF卡中,具有體積小、防塵、抗震等優(yōu)點(diǎn),可以在各種惡略環(huán)境下長(zhǎng)期工作。
5. 總結(jié)
到目前為止,工業(yè)控制系統(tǒng)中的自動(dòng)化設(shè)備仍然受專用硬件或工業(yè)化PC平臺(tái)的限制。專用硬件通常十分耐用,并能抗惡劣環(huán)境,但是只能用于單一的、特定的用途。雖然工業(yè)化PC比專用硬件更具有靈活性,但是由于振動(dòng)、灰塵、潮濕、高溫以及其它環(huán)境問題的影響,工業(yè)化PC平臺(tái)經(jīng)常會(huì)出現(xiàn)故障和數(shù)據(jù)丟失。Windows CE操作系統(tǒng)是一個(gè)適合下一代互連工業(yè)自動(dòng)化設(shè)備的理想小體積嵌入平臺(tái)。WinCE還具有很強(qiáng)的實(shí)時(shí)性能,支持確定性的響應(yīng)時(shí)間控制。Windows CE能從閃存啟動(dòng),從而避免了暴露在灰塵、高溫和震動(dòng)環(huán)境下,使它可以適應(yīng)惡劣的生產(chǎn)環(huán)境?;赪indows CE的嵌入式控制系統(tǒng)提供統(tǒng)一的、可伸縮的解決方案,將專用硬件的耐用性與PC的靈活性結(jié)合在一起。因此Windows CE在工業(yè)控制領(lǐng)域有著很好的應(yīng)用前景。
參考文獻(xiàn)
[1]陳向群,Windows CE.NET 系統(tǒng)分析及實(shí)驗(yàn)教程[M]機(jī)械工業(yè)出版社
[2]胡虛懷 鄭若忠, WindowsCE的結(jié)構(gòu)與特征分析[J] 計(jì)算機(jī)時(shí)代 2000年01期
[3]劉少情,吳慧中,王國(guó)中 基于WindowsCE 3.0的嵌入式系統(tǒng)開發(fā) [J]計(jì)算機(jī)與現(xiàn)代化 2002年 第2期(78)P31-P35
[4]基于Web及Windows CE的HMI 測(cè)控技術(shù)1999 18卷 第6期
評(píng)論