Windows CE 嵌入式网络监控系统的设计
2013-08-06 来源:21ic
布光系统是广泛应用于电视演播厅、电影摄影棚、体育场馆以及舞厅的一种机械化照明灯具及其控制系统,是为增强舞台艺术效果的一种灯光控制设备。目前,布光系统存在的问题是:人机界面差,操作复杂;不能实时检测故障部位及原因,系统故障率大,难以维护;不能实现对被控对象的全部控制,只实现了单一、局部控制;缺乏形象的吊杆、灯具动作显示。
本文介绍的布光监控系统采用数字化分布嵌入式控制系统实现布光任务。在布光系统中采用基于Windows CE的嵌入式网络监控系统。该系统实时性好,可靠性高;速度快,大容量的特性可以适应不断增长的系统数据处理需求;体积小,结构设计方便灵活,设备和软件成本大幅下降;基于Windows的嵌入式开发技术相对普及,人才成本下降。
1 系统概述
应用于布光系统的嵌入式网络监控系统为数字双向串行通讯控制系统。整个系统由控制台、网络控制器、提升设备、灯具控制器四部分组成。其中控制台由专用控制台、备份控制台和无线遥控三部分构成;网络控制器负责网络数据的传输,包括控制台向下传输命令和下位机传感器信号的返回,同时负责各控制台之间的切换;提升设备由提升机控制器、提升机和吊杆构成;灯具控制器控制灯具实现不同的动作。 系统总体框图如图1所示。
主控台是系统的主要控制平台,硬件由PC/104和液晶显示器组成,同时使用Microsoft的Windows CE操作系统。备份控制台由普通PC机实现,删减主控制台功能,保留部分必要的功能,起到备份数据和辅助控制的作用。遥控器是手持式辅助控制器,在100m内可以可靠有效地控制系统。无线遥控模块采用单片无线收发一体芯片nRF401。该芯片具有低发射功率和高接收灵敏度的特点。
网络控制器负责主控台、备份台、遥控器三个控制台直接控制权力的分配,同时负责由上而下控制命令的传输以及传感器信息由下而上的传递。网络控制器与主控台和备份台之间的通信分别采用RS-232串口和CAN总线实现。CAN总线具有抗干扰能力强和可靠性高的特点。
被控节点有两种:一种是提升机控制器,采用变频调速控制;另一种是灯具控制器。网络控制器与被控节点之间通过CAN总线进行通信。系统可控路数需达到1000路。因此,为了扩展CAN网的节点数,6个CAN总线中转器与网络控制器相连,每个中转器下接6个CAN子网,共有36个CAN总线子网。
2 Windows CE简介及其特点
主控制台的操作系统采用微软公司的嵌入式Windows CE 3.0。Windows CE是一种紧凑、高效、可伸缩的操作系统。主要面向各种嵌入式系统和产品。它具有多线程、多任务、完全抢占式的特点,是专门为各种有很严格资源限制的硬件系统设计的。它的模块化设计使嵌入式系统和应用程序开发者能够方便地定制以适应一系列不同的产品。Windows CE操作系统包括以下主要模块:
(1)内核模块,支持进程和线程处理及内存管理等基本服务;
(2)内核系统接口模块,允许应用软件访问操作系统;
(3)文件系统模块,支持持久稳固的信息存储;
(4)图形窗口和事件子系统模块,控制图形和Windows相关的图形用户界面;
(5)通信模块,允许同其他设备进行信息交换。
Windows CE支持多种外设和网络系统,包括键盘、鼠标、触摸屏、串行口、以太网卡、调制解调器、USB设备、音频设备、并行口、打印机和存储设备。Windows CE支持超过1000个常用的Microsoft Win32 API和一些附加的编程接口,可用于开发应用程序。这些接口包括COM、MFC、ATL等。此外,Windows CE支持用于管理时间关键任务响应的实时处理;各种串行通信和网络通信技术,包括支持USB;为Windows CE用户提供Web服务的移动频道;用于进程间通信的Automation和其他方法;还支持管理可安装设备等可选组件。
对于Windows CE而言,原始设备制造商OEM能开发硬件适配层OAL(OEM Adaptation Layer,其他开发者可以开发内部驱动程序、可安装驱动程序及运行在嵌入式设备上的应用程序。独立软件提供商ISV(Independent Software Vendor能独立于硬件平台开发应用软件。与其他操作系统比较,Windows CE具有下列优越性:
(1)32位多线程、多任务、完全抢占式的操作系统;
(2)强大的图形显示功能支持,用户能定制完全自己风格的操作界面;
(3)支持大部分Win32 API使得基于其他Windows的应用程序能方便地移植到Windows CE上;
(4)体积小,并能够从ROM直接启动,无需硬盘,不存在系统崩溃和病毒感染问题。
Windows CE是为便携式电脑设计的新型平台。它提供Windows操作系统的坚实子集。同时,微软公司为Windows CE的开发提供了一套完整且功能强大的系列工具,从硬件调试到软件开发都为用户提供了方便。
3 系统组成及结构
3.1 主控台
主控台是整个系统的核心,主要由PC/104系统、控制台面板(键盘)和液晶显示器组成,需要接入互联网。其结构如图2所示。
3.2 网络控制器
网络控制器硬件如图3所示。
处理器采用美国德州仪器有限公司(TI)的MSP430MSP430,与主控台通过RS-232通信,下层接CAN总线中转器,同时通过无线收发模块与遥控器进行无线连接。网络控制器负责主控台各部分权限的分配,并可以减少用于与控制台通信的CAN卡的数量。
3.3 提升机控制器
提升机控制器硬件
处理器采用Philips公司的89C51RD89C51RD+单片机,用计数器读码盘转过的角位移,向上位机发送时折算成线位移。同时采用霍尔传感器采集三路电流值,对电机实现过流保护。
交流变频电机控制部分采用光电式码盘测量电机转角,实现闭环控制。
3.4 灯具控制器
每个灯配一个控制器。处理器选择Philips公司带A/D的80C552EFA80C552EFA单片机,其硬件结构如图6所示。
灯具控制器接收并解释上位机发来的命令,然后执行命令。若上位机需要返回值,则执行后向上位机发返回帧。采用中断方式接收命令。主要功能有:
(1)AD采样各个自由度的角位移量;
(2)根据设定位置值,通过算法把自由度调到相应位置;
(3)实现各自由度的限位功能;
(4)出现异常给上位机发异常命令。
4 网络监控系统的实现
4.1 系统硬件特点
嵌入式网络监控系统是可移动的小型化控制系统。硬件是研华公司的PCM-3350 PC/104及LCD显示器。与一般的台式PC系统相比,PC/104嵌入式系统体积小,结构紧凑,系统模块化;与单片机系统相比,PC/104资源丰富,运算速度快,产品系列化,可靠性高,可以充分利用丰富的软件资源和成熟高效的应用开发平台,有利于提高开发效率和系统的可靠性,适合数据量大、数据类型多的数据采集和处理系统。
4.2 系统功能
主控台负责用户命令向下的传递并显示下层向上反馈的信息。因此,监控系统与底层设备有大量的数据交换,需要处理大量的实时信息,对实时性的要求比较高。而采用嵌入式操作系统Windows CE 3.0可以满足系统对实时性的要求。
同时,网络监控系统需要接入互联网,以便实现远程网络通信功能,进行远程诊断。远程诊断的目的就是能将现场设备的状况及时传到维修中心的计算机网络上,维修中心能够对设备进行监控,及时了解设备出现的故障,指导现场人员对设备进行维修。因此,系统需要通过网络把现场系统的一些特殊工作状态信息传递到现场控制室和远端的维修中心。此外,本地系统工作时也需要实时监测系统的运行状态,给出各个提升机和灯具的状态信息,有错误及时报警,并报告故障位置和故障类型,使系统易于维护和检修。
4.3 图形用户界面设计
操作人员通过监控系统实现对整个数字布光系统的控制。为了克服以往系统不易操作,吊杆、灯具运行状态显示不形象的缺点,本文所实现的网络监控系统在其人机交互界面中以三维动画方式显示吊杆和灯具的动态运行过程,同时在界面中显示描述吊杆及灯具运动位置和运动速度的具体参数。系统的操作也相对简单。
4.4 串口通信程序
主控制台与下层网络控制器的通信通过PC/104的RS-232串口实现。
基于Windows CE的设备采用RS-232-C标准与串行设备和其他计算机通过串行连接交换数据。Windows CE支持基于Windows的台式机上用于串行通信的标准函数。主要有CreateFile、CloseHandle、GetCommState、SetCommState、 SetupComm、PurgeComm、SetCommMask、WaitCommEvent、ClearCommError、ReadFile、WriteFile等函数。这些函数可以用于打开、关闭和操作串行口,传送和接收数据以及管理连接。
在具体的串行通信程序开发中,采用事件驱动方式。为了实时响应事件,创建专门的监视辅助线程,有数据到达时依靠事件驱动,读入数据并运行相应的接收数据处理程序,以完成相应的工作。
4.5 网络功能
当现场工作系统出现难以解决的故障时,现场工作人员可以通过Internet将故障信息发送到维修中心。首先由现场用户输入服务器的IP地址和端口号,然后启动网络通信模块,创建Winsock套接字,绑定IP地址和端口号,与维修中心的服务器正处于侦听状态的套接字连接,从而将故障信息从现场传递到维修中心的服务器,让维修人员及时地了解系统的运行状态并诊断故障原因。
随着网络技术的不断发展,网络在工控领域中的影响越来越大。本文介绍的数字布光监控系统将网络技术与嵌入式系统相结合,使得系统在操作、安装、维护等各方面都变得相当简单。同时,系统在安全性,可靠性等方面也有了很大的提高。