Windows CE作业系统是Windows家族中最新的成员,专门设计给掌上型电脑(HPCs)所使用的电脑环境。这样的作业系统可使完整的可携式技术与现有的Windows桌面技术整合工作。 Windows CE 被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统,Windows CE 可以通过设计一层位于内核和硬件之间代码来用设定硬件平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。
本文着重分析Windows CE 3.0的实时性、通用性、模块化、Win32兼容等性能特点。根据工业控制系统对系统平台的一般要求,例如实时性、可靠性、图形界面以及开发环境成本等,分析Windows CE在工业控制领域的优缺点以及Windows CE在工业控制中有很好的应用前景。
1 嵌入式系统
嵌入式系统是指有特定功能或用途的计算机硬、软件的集合体,分为嵌入式软件系统和嵌入式硬件系统。在智能控制设备、便携式智能仪器等应用场合,出于对产品体积、成本等诸因素的考虑,往往要求将智能控制部分安装于设备内部,且占用的空间尽可能小,在这种情况下,处理器没有一般意义的硬盘,只有有限容量的内存及常用的Flash电子盘,这样的系统称为嵌入式系统。嵌入式系统的操作系统和功能软件集成于计算机硬件系统之中,也就是软件与硬件的一体化。嵌入式系统目的性或针对性很强,具有软件代码小、高度自动化、响应速度快等特点,这也是与通用计算机系统的最主要区别。嵌入式技术与实时性有着必然的联系。
2 从单片机的应用发展到嵌入式操作系统
嵌入式系统开始于20世纪80年代单片机的使用。单片机技术已经渗透到各个领域,且与人们的日常生活密不可分,给人们生活和工业生产带来极大方便。单片机的功能强大,从信号采集、处理到传输都能由单片机来完成。但是,随着网络时代的来临,许多电子设备需要联网和更智能化、更强的计算能力,比如音频、视频的数据采集、处理和传输;丰富的图形界面等。
单片机越来越不能满足应用对象的需求,开发工作也变得越来越复杂、庞大。随着微电子技术的进步,芯片的制造成本大大降低,而功能却大大增强,16位和32位的嵌入式微处理器逐渐成为嵌入式系统设计的主流。嵌入式操作系统要有良好的可移植性,能够用在根据应用要求选择的微处理器中;软件开发工作变得规范,容易测试,可实现模块化编程,同时由多个人共同完成1个任务;解决已往开发产品存在的诸多不安全隐患。很多软件厂商迎合嵌入式系统发展的需要,推出了多种不同特点的嵌入式操作系统。
3 Windows CE 3.0实时操作系统及其性能分析
3.1 Windows CE
Windows CE操作系统是微软为实现"信息随手可得"的设想而努力开发的成果。通过 Windows CE,微软提供了标准的开放式平台,极大地减少了硬件制造商(IHV)、软件开发商(SHV)以及最终将采纳新一代非 PC 技术解决方案的客户多方之间的矛盾。Windows CE是一个功能强大的开放的32位实时嵌入式操作系统,适用于快速构建新一代内存少、体积小的智能设备。例如工业控制器、手持式设备、智能电话、机顶盒和零售点设备等。目前的掌上电脑(PDA)、全球定位系统(GPS)、地理信息系统(GIS)、车载PC(Auto PC),有很多采用Windows CE操作系统。
3.2 Windows CE 3.0性能特点
Windows CE是一个抢先式多任务并具有强大通信能力的嵌入式操作系统。它是一个全新的、可移植的、实时的、模块化的操作系统,具有流行的微软程序开发界面,提供许多快速开发嵌入式系统的工具。
WinCE3.0是微软的Windows Compact Edition,是一个通用版本,并不针对掌上产品,标准PC、家电和工控设备上也可以安装运行,但要做许多客户化工作,当然也可以做掌上电脑。 微软鼓励大家在任何硬件平台(WinCE3.0支持5系列CPU: x86, PowerPC, ARM ,MIPS,SH3/4) 上使用(为了和VxWorks,Linux等竞争),所以早期的WINCE运行在不同的硬件平台上,而且可以更换显示方向,以便为不同的平台服务。
(1) 新内核
Windows CE看上去和Windows 9X/NT很像,但它不是这些操作系统的简化版,也不是从这些系统移植过来的。Windows CE具有全新的内核和任务调度、内存管理策略。
(2) 可移植性
由于Windows CE操作系统几乎完全是用C语言编写的,所以可移植到众多的32位微处理器上;支持各种处理器家族,包括x86、PowerPC、ARM、MIPS和SH等系列。微软为每个支持的处理器家族提供完整的系统库。Windows CE可以通过OEM适配层OAL(OEM Adaptation Layer)适配到任何硬件平台。OAL是驻留在CE内核和硬件之间的代码层。原始设备制造商使用这些代码把CE适配到自己的硬件上。OAL链接CE的内核和定制的硬件。
(3) 实时性
Windows CE 2.1及其以前的版本实时性能不强,但Windows CE 3.0及以后的版本实时性能得到明显改善。Windows CE 3.0的实时性能主要通过以下技术实现:支持嵌套中断,高优先级的中断并不需要等待低优先级的中断服务例程(ISR)完成;通过固定高优先级中断服务线程(IST)的最大调度延迟改善线程响应时间;使用Hitachi SH3微处理器,系统可以在2~5μs内启动一个中断服务例程(ISR),在 90~170μs内启动相应的中断服务线程。如果考虑其它因素,如CPU类型、时钟频率、总线速度等的影响,许多实际的基于Windows CE平台的响应时间更短。
(4) 模块化
由于存储器资源在移动和嵌入式设备中非常有限,Windows CE设计成一个模块化操作系统,设计者只需选择那些需要的模块以满足指定平台的存储器要求。Windows CE的结构如图1所示,主要包括4个模块:内核(Kernel)、图形窗口事件子系统(GWES)、文件系统(Filesys)和通信模块(Communications)。Filesys用于永久存储,包括文件系统、注册表和数据库;Communications模块负责与桌面PC、其它CE设备和因特网的互联。每个模块又分成许多小组件。裁减Windows CE时,可以只选择那些需要的组件。
图1 Windows CE的基本结构
(5) Win32兼容性
Windows CE采用与Windows 95/NT相同的编程模型,它的API是Win32 API的一个子集,大约有600个API函数,可以实现所有的嵌入式应用。CE只支持UNICODE码,CE API删除了Win32 API中包含ANSI字符串参数的函数。Win32的兼容性可以容易地把现成的Windows应用程序移植到Windows CE中。目前有许多开发人员精通Windows编程技术,他们只需学习很少的知识就可以开发Windows CE应用程序。
PC机技术的发展必然出现两极分化:一方面PC机功能将进一步加强,达到以前工作站和小型机水平;另一方面,面向普通消费者和特定用途的智能化电子设备将会大量涌现。后者将会普遍采用类似Windows CE的嵌入式操作系统。
4 Windows CE在嵌入式控制系统中的应用分析
嵌入式操作系统是一种应用广泛的系统软件,工业控制是它的传统应用领域,在这一领域里已有一些比较成功的嵌入式操作系统。但是,随着应用对象的扩大和技术的进步,实际应用对工业控制系统的功能和性能提出了许多新的要求。例如,适应恶劣的工作环境,熟悉和友好的用户界面,统一的编程界面,强大的通信功能和多媒体功能等,这些嵌入式操作系统很难满足工业应用的新需要。
虽然Windows CE 3.0作为嵌入式系统平台在工业控制领域还未被广泛采用,但前景非常广阔。许多着名的工业控制器生产商已经开发出基于Windows CE 3.0的工业控制产品,如西门子AG公司的多功能操作面板MP系列,Cybectec公司的变电站现代化平台SMP等。工业控制操作系统需要严格的实时处理功能,高可靠性,良好的开放性,对人机界面、开发环境、可操作性、成本等也有特别的要求。
(1) 实时性
实时性是指能够在限定时间内执行完规定的功能,并对外部的异步事件作出反应的能力。实时性的强弱以完成规定功能和作出响应时间的长短来衡量。提高硬件的处理能力可以在一定程度上提高计算机控制系统的实时性,但是当硬件确定以后,控制系统的实时性能主要由操作系统来决定。无论从汽车制造到工业自动化,还是从电子通信到交通运输,Windows CE 3.0均可为具备确定性响应能力的应用程序提供内建实时支持。
(2) 可靠性
工业控制系统对可靠性要求很高,计算机控制系统发生故障或死机对于企业安全高效生产带来不利的影响。可靠性主要包含两个方面的含义:一是控制计算机本身要连续稳定运行,二是系统检查出故障后要有保持安全状态的能力。虽然软硬件抗干扰技术、热冗余技术可以在一定程度上提高工业控制系统的可靠性,但是操作系统的可靠性仍然影响着工业控制系统的运行。
从故障角度来看,实时操作系统在应用中是以内核模式工作的,应用的故障会立刻造成系统崩溃。Windows CE内核具有内存管理功能,可以检查出应用造成的系统异常,抑制由于应用不正常直接破坏系统的危险性。所以Windows CE比一般的实时系统健壮。
(3) 人机界面
不同对象对工业控制系统的人机界面HMI(Human Machine Interface)要求差别很大。在一般的实时嵌入式操作系统中,图形功能弱,虽然也有提供图形库的,但没有更强的功能。Window CE 不仅支持图形和窗口,具有多媒体功能,而且还可以利用丰富灵活的控件库在Windows CE环境下为嵌入式应用建立各种图形用户界面。Windows CE 支持256色,显示分辨率可以设定,支持触摸屏。因此,Windows CE 完全可以满足工业控制系统对人机界面的要求。
(4) 开放性
Windows CE具有良好的通信能力,广泛支持各种通信硬件、局域网连接以及拨号连接,并提供与PC、内部网以及Internet的连接,包括用于应用级数据传输的设备至设备间的互连。Windows CE具有良好的可扩展性,用户可根据实际需要定制合适的硬件,开发自己的模块和组件,集成到运行Windows CE的设备上。
(5) 开发成本和开发环境
工业控制设备的生产批量小,开发环境所占比重大,所以易用、廉价的开发环境对控制设备生产商十分关键。Windows CE的开发成本低,生成和调试工具方便易用。Windows CE Platform Builder 3.0提供了迅速创建Windows CE嵌入式系统需要的全部软件工具。Platform Builder主要包括Windows CE Add-on Pack(插件包)、各种调试工具及Embedded Visual Tools(由面向嵌入式系统开发而进行优化的Embedded Visual Basic和Embedded Visual C++组成)。
针对不同的系统,WindowsCE使用了不同的开发技术: Windows CE 使用的 VC++ 5.0 开发系统嵌入式工具包,提供系统库、工具、文本和样本代码,从而使 OEMs 能够对特定的硬件平台使 Windows CE 标准定制。嵌入式工具包也包括设备驱动包(DDK)和软件开发包(SDK) ,DDK 提供了关于写驱动器的附加文本,SDK 提供库、头文件、样本代码、文本以允许,开发者对基于 Windows CE 的平台进行写操作。 Windows CE 提供了相同的程序界面,以用来为其它的视窗操作系统开发功能,例如,Windows CE 版本 1.01支持大约1000个微软的Win 32 API 函数的其中500个。这就意味着大量不同类的工具,第三方书籍,关于 Win 32 开发者训练教程,可以替代或为 Windows CE 系统的开发者所用。 而实时系统的开发者能够使用 VDFF 5.0 的嵌入式工具包,以把操作系统转移到特定的平台,并为这个平台开发附加设备驱动器和实时功能。
5 结论
到目前为止,工业控制系统中的自动化设备仍然受专用硬件或工业化PC平台的限制。专用硬件通常十分耐用,并能抗恶劣环境,但是只能用于单一的、特定的用途。虽然工业化PC比专用硬件更具有灵活性,但是由于振动、灰尘、潮湿、高温以及其它环境问题的影响,工业化PC平台经常会出现故障和数据丢失。Windows CE操作系统是一个适合下一代互连工业自动化设备的理想小体积嵌入平台。由于采用MSMQ(Microsoft Message Queuing)这样的先进应用服务,使Windows CE实现与生产现场IT设施的全面集成成为可能。它还具有很强的实时性能,支持确定性的响应时间控制。Windows CE能从闪存启动,从而避免了暴露在灰尘、高温和震动环境下,使它可以适应恶劣的生产环境。基于Windows CE的嵌入式控制系统提供统一的、可伸缩的解决方案,将专用硬件的耐用性与PC的灵活性结合在一起。因此Windows CE在工业控制领域有着很好的应用前景。