基于WindowsCE的HIRFL-CSR前端控制系统设计与实现
兰州重离子加速器冷却存储环工程(HIRFL_CSR) 控制系统是一个由CSR 电源系统、注入引出系统、内靶系统、真空系统、电子冷却系统等多个分系统组成的多层分布式控制系统,各分系统通过以太网与前端控制系统连接,其前端控制系统是以嵌入式计算机为控制节点的分布式控制子系统, 系统组成框图见图1。
WindowsCE 嵌入式操作系统
Windows CE 是微软公司推出的一种嵌入式实时操作系统,目前最高版本是WindowsCENet, 具备完整的操作系统特征和端对端开发环境,包括了基于WindowsCE 的定制设备所需的诸多功能, 可以为有限资源的硬件设计多线程、完整优先级、多任务的系统,特别是模块化的特点允许它对于从掌上电脑到专用工业控制器的用户电子设备进行定制。
WindowsCE 能从内存磁盘中启动, 操作系统的基本内核可以精简到只需200kB 的ROM , 同时操作系统采用层状的体系结构, 具有层次性强、可移植性好,组件化可剪裁、强调编程接口和支持上层应用等特点, 系统提供对嵌入式中断的支持, 更好的线程响应和更多的优先级别, 使得应用系统更具有实时性,而且也使开发人员在控制嵌入式系统的调度时更加灵活。WindowsCE 能够支持Act iveX、Java 以及M FC/ATL 等技术,提供对Internet 的开发支持, 命名开发人员可以利用原理的编程技术经验, 方便地开发基于WindowsCE 的应用程序.与其他操作系统相比,W indowsCE 具有以下特点:
1) 32 位多线程、多任务、完全抢占式的操作系统;
2) 强大的图形显示功能支持, 用户能完全定制自己风格的操作界面;
3 ) 支持大部分Win32 A P I, 使得基于其他Window s 的应用程序能方便地移植到WindowsCE 上;
4) 体积小, 并能从ROM 直接启动, 无需硬盘, 不存在系统崩溃和病毒感染问题。
系统的硬件结构
该前端控制系统节点的硬件结构由4 部分组成: 研样ECL -1541CLDNA 单板计算机、以太网、RS232/485 总线、受控设备, 其中受控设备由大量带有标准串行设备接口的工业仪表组成, 其组成结构如图2 所示。
整个系统的核心操作平台是研样EC3-1541CLDNA 单板计算机, 该平台是国内第一款在146mm ×102mm 尺寸上开发的全功能嵌入式工业级主板。其CPU 为N S GX I 200~300MHz 低功率处理器, 数据存储采用MSystem 的电子硬盘“DiskOnChip 2000”。单板机还集成有: 键盘接口、鼠标接口、两个RS232接口、一个并口、一个网卡接口及液晶显示器接口。系统通过以太网接口与上层系统连接, 通过RS232 接口与受控设备相连。
系统的软件实现
系统功能
H IRFL -CSR 前端控制系统在功能上可分为守护进程和数据处理两部分。守护进程负责监听串行设备通信端口和以太网通信端口,认证远端的登录用户并监测系统状态, 响应上层控制系统的控制请求。数据处理部分包括实时数据采集与显示,实时状态监测与报警及与上层控制系统的数据交换。
WindowsCE 平台定制
创建基于WindowsCE 的应用程序, 首先要搭建一个WindowsCE 平台, 即根据目前设备的硬件组成的WindowsCE 进行定制,安装或创建设备驱动, 生成一个基于目标设备硬件配置的操作系统映像文件,通过网卡、串口或并口将映像文件下载到目标设备的硬件平台中.WindowsCE 平台创建过程见图3。
软件实现
由于WindowsCE 支持大部分Win32 应用程序接口(A P I) , 这使得WindowsCE 下的应用程序与Win32 平台下的应用程序有很强的通用性, 但WindowsCE 下的程序设计仅支持UNICODEWindows 函数。此外,Microsof t 公司提供了EVB、EVC 专用于WindowsCE 下的应用程序开发, 在其最新推出的Visual Studio.Net 2003 中也提供了开发W indowsCE 应用程序的功能。
本系统软件采用eMbeddedVisualC+ + 4.0开发, 根据功能需求, 将软件分为3 个模块, 即图形用户界面、串行通信和网络通信。
1) 图形用户界面模块
WindowsCE 的图形用户界面相当出色,它拥有基于MicrosoftInternetExplorer的Internet 浏览器, 支持TrueType 字体,可以利用丰富灵活的控件库在WindowsCE 环境下为嵌入式应用程序建立各种专门的图形用户界面。本文实现的前端控制系统中, 用户界面主要用于实现设备采集数据的曲线显示、报表输出,设备状态的模拟显示和报警处理等内容。
2) 串行通信模块
嵌入式单板计算机采用RS-232-C 标准与串行设备通过串行连接交换数据。WindowsCE 支持基于Windows 的台式机上用于串行通信的标准函数。主要有CreateFile()、ReadFile( )、WriteFile ( )、CloseHandle ( )、GetCommState ( )、SetCommState ( )、SetupComm ()、Pu rgeComm ()、SetCommM ask( )、WaitComm Event ( )、ClearComm Erro r ( ) 等函数。使用这些函数可实现打开、关闭和操作串行口, 传送和接收数据以及管理连接等。在具体的串行通信程序开发中,采用事件驱动方式。为了实时响应事件, 创建专门的监视辅助线程, 有数据到达时依靠事件驱动,读入数据并运行相应的接收数据处理程序完成相应的工作。
3) 网络通信模块
嵌入式计算机通过以太网与上层系统通信, 采用传输控制协议(TCP) 通信, 嵌入式计算机为客户端, 上层控制系统为服务器端, 在通信模块中,首先输入通信的远程服务器的IP 地址和通信端口号, 创建Winsock 套接字, 绑定IP地址和端口号,然后与远程服务器正处于侦听状态的套接字建立连接,从而将从设备采集到的数据和设备状态传送给上层控制系统的数据库服务器或从上层控制系统读取相应的控制指令。
结论
Windows CE 是一个具有抢占式多任务功能, 并具有强大通信能力的嵌入式操作系统。基于WindowsCE 开发的嵌入式分布控制系统具有友好的用户界面,并能够缩短开发周期, 提高系统的可扩展、可移植和互操作性。本文设计的基于WindowsCE 操作系统的嵌入式分布系统已成功地应用于HIRFL_CSR 分布式控制系统的前端控制中。
- 现场总线构成了全分布控制系统(09-12)
- 支持网络传感器的嵌入式操作系统设计(11-10)
- 嵌入式操作系统WinCE(02-20)
- μC/OS-Ⅱ在MSP430F149上的移植(03-01)
- 嵌入式操作系统uClinux和eCos的比较(03-01)
- 实时嵌入式操作系统μC/OS-II在MPC555上的移植(04-10)