0 引言
目前,国内大多数闸门控制系统采用的是强电接触器的硬接线方式 ,而且多为20世纪七八十年代的产品,已严重老化,达不到运行可靠性要求,存在着严重的安全隐患。同时,闸室多依河道而建 ,闸门间距少则近百米 ,多则上千米 ,因无法实现集中控制而使得闸门反应速度慢 ,无法应对诸如突发性大水等特殊情况。目前,闸室调水主要由工作人员靠经验目测,造成了水资源的大量浪费 ,如何提高闸门控制的智能化、实现闸门的集中控制,是急需解决的问题。
现代计算机技术的发展为解决上述问题提供了技术支持,尤其是Linux嵌入式系统的发展与应用。Linux系统具有体积小、可裁减、运行速度高、网络性能良好等优点 ,而且具有源码公开、可以免费使用等特点,这些都使得Linux系统得以快速发展和广泛应用,并使嵌入式Linux系统在闸门控制中的应用成为可能。随着Linux2.6内核的发布,在嵌入式系统市场 ,Linux向主流的实时操作系统供应商提出了挑战,例如VxWorks和WinCE,它们具有许多新的特性,将成为更优秀的嵌入式操作系统。
嵌入式Linux系统具有高性能、高可靠性 ,并具有多媒体电脑特点,特别适用于工业现场控制和远程图像监控。
针对上述闸门控制中急需解决的问题以及嵌入式Linux系统的特点,本文对嵌入式Linux系统的闸门智能控制系统进行设计和探讨。系统采用了先进的计算机传感器技术,对多路闸位、水位进行实时跟踪显示,并提供相应的闸门闭环控制模型,使水资源利用率达到最优。
1 嵌入式Linux系统的构建
1.1 嵌入式闸门控制系统的主要性能要求
1)具有高可靠性、高响应性 ,能在一定程度上达到或接近实时操作系统的性能。
2)系统整机能适应较恶劣的工作环境,而且功耗低。
3)有一定的多媒体(图像、声音)处理能力。
4)有性能良好的图形用户接口(GUI)解决方案 ,以及方便、实用的人机接口。
5)系统有一定的伸缩能力,能支持通用的硬件设计。
针对上述性能要求,本设计将首先构建一个基本操作系统,并在此基础上构建闸门控制系统[1]。
1.2 操作系统平台的选择
在众多主流嵌入式操作系统中选择Linux2.6作为操作系统的内核 ,主要基于以下考虑:
1)Linux是一个公开源代码的操作系统,可以形成具有自主知识产权的操作系统。
2)Linux采用微内核结构,内核部分(含进程调度、内存管理、文件管理、设备驱动等)一般不大于1MB,即使加上小型的GUI系统也不会大于16MB,比较适合嵌入式系统的要求。
3)Linux2.6内核引进了内核抢占式的调度功能,因此 ,响应时间相比以前的内核有大幅度缩减。
4)Linux支持多种硬件体系结构。在开发初期,为了缩短开发周期,可以先选择支持x86的奔腾系列处理器平台;后期在进行很少改动的前提下,就可移植到其他硬件平台上。
1.3 操作系统的开发流程
本系统的定制主要有2个部分:一是系统内核及基本根文件系统的定制 ,二是GUI的实现[2]。
1.3.1 系统内核及根文件系统定制
定制一个4MB~8MB的基本Linux系统,提供如下基本操作系统功能:多进程、多用户;文件、内存管理;用户操作终端。这部分工作是后续系统定制和应用软件开发的基础。
采用2.6版本以上内核,在编译中加入内核抢占式调度功能、Ramdisk支持、中文字符集支持。根据文件系统只读部分采用 Ext2 文件系统 ,读写部分可采用Cramdisk等嵌入式文件系统。此部分的工作主要有:建立交叉编译环境;剪裁内核(这是一个反复的过程);剪裁根文件系统 ,建立运行环境,编写各个运行脚本;提供基本硬件的支持。
1.3.2 GUI的实现
基于X2Server定制一个16MB~32MB的X2Windows环境,能提供较丰富的GUI功能。提供一个系统自动运行的程序,使开机至工程启动的时间控制在30s内,并在此基础上提供中文输入功能。GUI的实现是为基于此平台的闸门控制软件提供图形库操作接口,使得该软件具有较好的人机交互界面。
此部分的工作主要有:编写 X2Windows的各种配置文件;剪裁其不需要的程序,只保留基本程序;编写X2Windows 的各个脚本文件[3]。
2 系统的硬件结构
在本设计中 ,闸门控制系统由闸门操作、视频采集和水情监测3个部分组成。基本结构如图1所示。
系统的核心硬件平台选用基于PⅢ处理器以上的高性能嵌入式5.25英寸微型系统板,其自带2个外设部件互连(PCI) 插槽 ,可外接一个32通道的DI/DO卡用做闸门启闭机的控制,一个4通道的视频捕捉卡用做闸门现场状态的监控;2个 RS2232的串行通信口,外接 RS2485 的转换器后可分别连接闸位和水位传感器,采集实时数据;一个集成开发环境(IDE)接口,可接一个64MB的文档对象模型(DOM)存储卡,作为嵌入式操作系统、控制程序和采集数据的存储介质;以及板载加速图形端口(AGP)显卡,可外接液晶显示器(LCD),用做闸门控制系统的显示输出和操作界面。
3 闸门控制系统的开发
在对嵌入式Linux操作系统定制完成以后 ,就可基于定制平台完成一个具有完备闸门控制功能的用户软件。完整的闸门信息管理系统由视频采集压缩模块、水情测控模块和闸门控制算法模块组成。
3.1 视频采集压缩模块
视频采集压缩模块的核心是由采集芯片BT878组成的PCI总线硬件卡,有1路/卡、4路/卡2种,通过组合可以实现多路视频输入和实时压缩。系统选择4路视频捕捉卡并加装云台,对采集到的视频信号采用画面平均分割的方式同时显示 ,也可选择只显示指定的视频通道,并提供基本的显示调节和云台远程操作功能,以此提供对闸门及河道的本地和远程视频监视功能。
3.2 水情测控模块
水情测控模块的主要任务是完成水位监测、闸门升高及运行情况监测、闸门运行开环/闭环控制、流量和过流水量的计算以及图表的生成。闸门的控制除了计算机智能控制以外 ,同时还采用双重手(本地和集中)控制 ,确保闸门控制万无一失。在此模块中,既要提供良好的人机交互界面,又要提供实时的流量与水量关系图表。
在设计中,水情测控子系统主要由数据采集卡、水位传感器、闸位传感器、闸门控制单元、闸门本地集中控制柜和嵌入式主机构成。
1)数据采集卡通过 PCI总线与主机连接 ,传感器通过控制线直接与数据采集卡连接。主机定时采集水情数据,并交给应用程序后台进行计算、存储 ,以便在需要显示时立即生成相应的关系曲线。
2)各闸门控制单元通过控制线与DI/DO卡相连接。主机通过向DI/DO卡发出脉冲信号实现对闸门的控制。手动应急控制采用2种方式:一是通过外置控制器集中对各闸门进行升、降、停的控制;二是通过闸门控制单元上的控制按钮完成闸门的升、降、停的控制。
3.3 闸门控制算法模块[4]
闸门控制系统属于典型的大滞后、多相关因素的非线性系统,本设计采用模糊专家系统的算法方案对其进行智能控制。基本的控制流程[5]如图2所示。
4 结语
基于嵌入式Linux 操作系统开发的闸门控制系统,比传统的控制方式降低了功耗、提高了可靠性,减小了整个系统的体积,便于安装调试,同时,使水资源利用率达到最优。更重要的是,在整个软件平台上拥有自主知识产权。