基于WindowsCE的HIRFL-CSR前端控制系統(tǒng)設(shè)計(jì)
關(guān)鍵詞:分布控制系統(tǒng);嵌入式操作系統(tǒng);Windows
蘭州重離子加速器冷卻存儲(chǔ)環(huán)工程(HIRFL_CSR) 控制系統(tǒng)是一個(gè)由CSR 電源系統(tǒng)、注入引出系統(tǒng)、內(nèi)靶系統(tǒng)、真空系統(tǒng)、電子冷卻系統(tǒng)等多個(gè)分系統(tǒng)組成的多層分布式控制系統(tǒng), 各分系統(tǒng)通過(guò)以太網(wǎng)與前端控制系統(tǒng)連接,其前端控制系統(tǒng)是以嵌入式計(jì)算機(jī)為控制節(jié)點(diǎn)的分布式控制子系統(tǒng), 系統(tǒng)組成框圖見(jiàn)圖1。
WindowsCE 嵌入式操作系統(tǒng)
Windows CE 是微軟公司推出的一種嵌入式實(shí)時(shí)操作系統(tǒng),目前最高版本是WindowsCENet, 具備完整的操作系統(tǒng)特征和端對(duì)端開(kāi)發(fā)環(huán)境, 包括了基于WindowsCE 的定制設(shè)備所需的諸多功能, 可以為有限資源的硬件設(shè)計(jì)多線程、完整優(yōu)先級(jí)、多任務(wù)的系統(tǒng), 特別是模塊化的特點(diǎn)允許它對(duì)于從掌上電腦到專用工業(yè)控制器的用戶電子設(shè)備進(jìn)行定制。
WindowsCE 能從內(nèi)存磁盤中啟動(dòng), 操作系統(tǒng)的基本內(nèi)核可以精簡(jiǎn)到只需200kB 的ROM , 同時(shí)操作系統(tǒng)采用層狀的體系結(jié)構(gòu), 具有層次性強(qiáng)、可移植性好, 組件化可剪裁、強(qiáng)調(diào)編程接口和支持上層應(yīng)用等特點(diǎn), 系統(tǒng)提供對(duì)嵌入式中斷的支持, 更好的線程響應(yīng)和更多的優(yōu)先級(jí)別, 使得應(yīng)用系統(tǒng)更具有實(shí)時(shí)性, 而且也使開(kāi)發(fā)人員在控制嵌入式系統(tǒng)的調(diào)度時(shí)更加靈活。WindowsCE 能夠支持Act iveX、Java 以及M FC/ATL 等技術(shù), 提供對(duì)Internet 的開(kāi)發(fā)支持, 命名開(kāi)發(fā)人員可以利用原理的編程技術(shù)經(jīng)驗(yàn), 方便地開(kāi)發(fā)基于WindowsCE 的應(yīng)用程序.與其他操作系統(tǒng)相比,W indowsCE 具有以下特點(diǎn):
1) 32 位多線程、多任務(wù)、完全搶占式的操作系統(tǒng);
2) 強(qiáng)大的圖形顯示功能支持, 用戶能完全定制自己風(fēng)格的操作界面;
3 ) 支持大部分Win32 A P I, 使得基于其他Window s 的應(yīng)用程序能方便地移植到WindowsCE 上;
4) 體積小, 并能從ROM 直接啟動(dòng), 無(wú)需硬盤, 不存在系統(tǒng)崩潰和病毒感染問(wèn)題。
系統(tǒng)的硬件結(jié)構(gòu)
該前端控制系統(tǒng)節(jié)點(diǎn)的硬件結(jié)構(gòu)由4 部分組成: 研樣ECL -1541CLDNA 單板計(jì)算機(jī)、以太網(wǎng)、RS232/485 總線、受控設(shè)備, 其中受控設(shè)備由大量帶有標(biāo)準(zhǔn)串行設(shè)備接口的工業(yè)儀表組成, 其組成結(jié)構(gòu)如圖2 所示。
整個(gè)系統(tǒng)的核心操作平臺(tái)是研樣EC3-1541CLDNA 單板計(jì)算機(jī), 該平臺(tái)是國(guó)內(nèi)第一款在146mm 102mm 尺寸上開(kāi)發(fā)的全功能嵌入式工業(yè)級(jí)主板。其CPU 為N S GX I 200~300MHz 低功率處理器, 數(shù)據(jù)存儲(chǔ)采用MSystem 的電子硬盤“DiskOnChip 2000”。單板機(jī)還集成有: 鍵盤接口、鼠標(biāo)接口、兩個(gè)RS232接口、一個(gè)并口、一個(gè)網(wǎng)卡接口及液晶顯示器接口。系統(tǒng)通過(guò)以太網(wǎng)接口與上層系統(tǒng)連接, 通過(guò)RS232 接口與受控設(shè)備相連。
系統(tǒng)的軟件實(shí)現(xiàn)
系統(tǒng)功能
H IRFL -CSR 前端控制系統(tǒng)在功能上可分為守護(hù)進(jìn)程和數(shù)據(jù)處理兩部分。守護(hù)進(jìn)程負(fù)責(zé)監(jiān)聽(tīng)串行設(shè)備通信端口和以太網(wǎng)通信端口, 認(rèn)證遠(yuǎn)端的登錄用戶并監(jiān)測(cè)系統(tǒng)狀態(tài), 響應(yīng)上層控制系統(tǒng)的控制請(qǐng)求。數(shù)據(jù)處理部分包括實(shí)時(shí)數(shù)據(jù)采集與顯示, 實(shí)時(shí)狀態(tài)監(jiān)測(cè)與報(bào)警及與上層控制系統(tǒng)的數(shù)據(jù)交換。
WindowsCE 平臺(tái)定制
創(chuàng)建基于WindowsCE 的應(yīng)用程序, 首先要搭建一個(gè)WindowsCE 平臺(tái), 即根據(jù)目前設(shè)備的硬件組成的WindowsCE 進(jìn)行定制, 安裝或創(chuàng)建設(shè)備驅(qū)動(dòng), 生成一個(gè)基于目標(biāo)設(shè)備硬件配置的操作系統(tǒng)映像文件, 通過(guò)網(wǎng)卡、串口或并口將映像文件下載到目標(biāo)設(shè)備的硬件平臺(tái)中.WindowsCE 平臺(tái)創(chuàng)建過(guò)程見(jiàn)圖3。
軟件實(shí)現(xiàn)
由于WindowsCE 支持大部分Win32 應(yīng)用程序接口(A P I) , 這使得WindowsCE 下的應(yīng)用程序與Win32 平臺(tái)下的應(yīng)用程序有很強(qiáng)的通用性, 但WindowsCE 下的程序設(shè)計(jì)僅支持UNICODEWindows 函數(shù)。此外,Microsof t 公司提供了EVB、EVC 專用于WindowsCE 下的應(yīng)用程序開(kāi)發(fā), 在其最新推出的Visual Studio.Net 2003 中也提供了開(kāi)發(fā)W indowsCE 應(yīng)用程序的功能。
本系統(tǒng)軟件采用eMbeddedVisualC+ + 4.0開(kāi)發(fā), 根據(jù)功能需求, 將軟件分為3 個(gè)模塊, 即圖形用戶界面、串行通信和網(wǎng)絡(luò)通信。
1) 圖形用戶界面模塊
WindowsCE 的圖形用戶界面相當(dāng)出色,它擁有基于MicrosoftInternetExplorer的Internet 瀏覽器, 支持TrueType 字體, 可以利用豐富靈活的控件庫(kù)在WindowsCE 環(huán)境下為嵌入式應(yīng)用程序建立各種專門的圖形用戶界面。本文實(shí)現(xiàn)的前端控制系統(tǒng)中, 用戶界面主要 用于實(shí)現(xiàn)設(shè)備采集數(shù)據(jù)的曲線顯示、報(bào)表輸出,設(shè)備狀態(tài)的模擬顯示和報(bào)警處理等內(nèi)容。
2) 串行通信模塊
嵌入式單板計(jì)算機(jī)采用RS-232-C 標(biāo)準(zhǔn)與串行設(shè)備通過(guò)串行連接交換數(shù)據(jù)。WindowsCE 支持基于Windows 的臺(tái)式機(jī)上用于串行通信的標(biāo)準(zhǔn)函數(shù)。主要有CreateFile()、ReadFile( )、WriteFile ( )、CloseHandle ( )、GetCommState ( )、SetCommState ( )、SetupComm ()、Pu rgeComm ()、SetCommM ask( )、WaitComm Event ( )、ClearComm Erro r ( ) 等函數(shù)。使用這些函數(shù)可實(shí)現(xiàn)打開(kāi)、關(guān)閉和操作串行口, 傳送和接收數(shù)據(jù)以及管理連接等。在具體的串行通信程序開(kāi)發(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)的工作。
3) 網(wǎng)絡(luò)通信模塊
嵌入式計(jì)算機(jī)通過(guò)以太網(wǎng)與上層系統(tǒng)通信, 采用傳輸控制協(xié)議(TCP) 通信, 嵌入式計(jì)算機(jī)為客戶端, 上層控制系統(tǒng)為服務(wù)器端, 在通信模塊中, 首先輸入通信的遠(yuǎn)程服務(wù)器的IP 地址和通信端口號(hào), 創(chuàng)建Winsock 套接字, 綁定IP地址和端口號(hào), 然后與遠(yuǎn)程服務(wù)器正處于偵聽(tīng)狀態(tài)的套接字建立連接, 從而將從設(shè)備采集到的數(shù)據(jù)和設(shè)備狀態(tài)傳送給上層控制系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器或從上層控制系統(tǒng)讀取相應(yīng)的控制指令。
結(jié)論
Windows CE 是一個(gè)具有搶占式多任務(wù)功能, 并具有強(qiáng)大通信能力的嵌入式操作系統(tǒng)?;赪indowsCE 開(kāi)發(fā)的嵌入式分布控制系統(tǒng)具有友好的用戶界面, 并能夠縮短開(kāi)發(fā)周期, 提高系統(tǒng)的可擴(kuò)展、可移植和互操作性。本文設(shè)計(jì)的基于WindowsCE 操作系統(tǒng)的嵌入式分布系統(tǒng) 已成功地應(yīng)用于HIRFL_CSR 分布式控制系統(tǒng)的前端控制中。
評(píng)論