基于嵌入式Web的网络监控系统
2009-04-09
作者:刘玉斌1, 李太福2, 郭
摘 要: 针对加油站分布广、通信协议不统一难于实现集成监控,提出了一种基于嵌入式Web的集成监控系统。基于Intel Xscale IXP-422 RISC CPU的嵌入式Web服务器,通过工业以太网互联现场各加油站服务器,完成对现场设备的集成监控。Web浏览控制采用Apache+Html+PHP的方案实现。测试结果表明,该系统安全级别高、实时性好、抗干扰能力强、环境适应性好。
关键词: 嵌入式系统; IFSF; 协议转换; 网络监控系统
目前将Web技术用于工业监控领域[1-3]已成为热点话题,用普通Web浏览器可在任何地方通过Internet对现场控制设备进行访问与监控[4-6],可方便地达到监控现场设备的目的。通过存储在现场控制设备中的网页,可以准确、实时地采集现场数据,并进行检测分析、设备控制和维护系统等。本文以油品零售网络加油站监控系统为背景,提出一种基于嵌入式Web的网络监控系统,文中对相关设计和实现问题进行了探讨。
1 基于嵌入式Web的网络监控系统
基于嵌入式Web的油品油料零售网络站级管理监控系统结构如图1所示。加油站前庭的现场设备有:普通加油机、卡机联动加油机、油罐液位仪、价格指示牌、洗车设备和支付柱等。这些设备可通过嵌入式Web服务器直接连接到Intranet/Internet,再通过以太网口或无线网口连接到Web浏览监控站或Web浏览移动监控站,可方便地实现智能通信、站级设备可在线配置与控制、实时数据存储转发以及保证数据传送的完整性和安全性。
(1)智能通信。将不同种类加油设备的数据通过智能控制前端设备先进行智能处理以方便系统监控管理与扩展。采用工业级、能适应恶劣工业环境的嵌入式智能电脑作为载体,根据通信需要可连接不同的设备,从系统层次对智能通信软件进行总体设计和面向对象的结构化程序开发,将不同设备的数据通信设计成不同的模块,以实现通信的智能控制,有利于对不同加油设备进行统一控制与管理。
(2)设备在线配置与控制。采用基于Linux的Apache+PHP+数据文件的Web开发模式,通过Web页面可方便灵活地实现设备配置和设置各种前庭设备的工作状态;实时动态地反映各种设备的状态,如加油机的油枪状态、加油累计量、加油累计金额、油罐液位仪的液位位置等;查看前庭控制器FCC(Forecourt Controller)运行的日志文件、统计分析FCC日志文件、获得FCC运行统计数据,为排错、纠错提供依据;根据权限设定访问的内容,使每个管理系统的用户都有不同的权限,以保证数据在网络上的安全传输;实时更新加油机的油品油料油价表和上载加油机的油品油料油价表;实现对各种前庭设备的控制,如加油机的开、关,油枪的开、关等,对多种加油设备进行情况更复杂、难度更高的监控。
(3)实时数据存储转发。能方便地将智能控制前端设备的内置 ROM分成Boot Loader、Linux Kernel、Mini Root File System和User Root File System等四个区。Mini Root File System在因用户程序的原因而导致根文件系统崩溃时,可用作紧急根文件系统使用;当Boot Loader加载User Root File System失败时,激活Mini Root File System。可引入一种内嵌机制以防止系统崩溃,保证系统的稳定可靠性。在实际的加油站控制系统中,若后台网络系统一旦出现故障,可使用Store-Forward的数据通信方法,在通信故障期间可将数据存放到JFFS2文件系统上,待故障排除后,系统能自动地将采集数据转发至加油站控制系统中的相应主机上, 而不影响加油机及相关设备的正常工作,以保证数据的完整性和安全性。
2 系统软硬件结构
2.1 硬件结构
Web服务器是一台使用Intel Xscale IXP-422 266MHz RISC CPU的高性能嵌入式计算机,它区别于普通采用CISC设计的X86 CPU的计算机性能。IXP-422采用高性能的半导体集成技术和RISC设计架构,在减少热量产生的同时,提供强大的计算功能,内置的32MB NOR Flash ROM和128MB SDRAM提供了充足的内存资源,使应用程序可轻松地直接下载到装置内部。该智能计算机具备8个RS-232/422/485串口,双10/100Mb/s以太网络端口,PCMCIA作无线通信,8通道数字输入和8通道数字输出,以及扩充用的CompactFlash接口。Web服务器的内部结构框图如图2所示。
2.2 软件系统结构
系统的核心部件[7-9]是一台高性能的嵌入式智能计算机,内置安全稳定和性能优越的MontaVista Embedded Linux嵌入式系统,其结构如图3所示。Web Server以Apache+Html+PHP的构架方案[10]实现动态浏览,该方案可动态地修改Web Server计算机的系统配置等,采用GCC等开发工具开发用户应用程序以实现对加油站现场设备的监控。Web Server可以实现如下功能:
(1)实时查看多台多品牌加油机的状态,并可分别配置加油站设备和设置加油机的工作状态。
(2)查看Web智能服务器运行的日志文件,统计分析运行的统计数据,为排错提供依据。
(3)权限访问设置,可保证数据在网络上的安全传输,并提供密钥安全访问功能。
(4)可在一定安全级别控制下,控制加油机工作状态、设置油罐和计价牌等设备的参数。
3 协议转换实现
协议转换模块的功能是实现从加油站的现场前庭智能设备接口协议到基于TCP/IP的IFSF协议[11]的信息转换,以实现在嵌入式Web服务器中对加油站现场前庭设备的实时信息处理。该模块由基于TCP/IP的IFSF协议接口模块和加油站现场前庭智能设备接口协议与IFSF协议转换的两个模块组成。基于TCP/IP的IFSF协议接口模块由四个子模块组成,如图4所示。
(1) IFSF应用程序子模块,用于前庭设备控制应用程序的实现。
(2) IP协议栈子模块,用于网络连接、实现IP协议、提供网络连接管理和IP地址解析等功能。
(3) DHCP服务器子模块,用于给连接在以太网上的设备分配IP地址。DHCP服务器可以是IFSF设备的一个功能模块,也可以是单独的一个设备。
(4) IFSF与IP的转换子模块,完成三个功能:利用HeartBeat Proxy接收和发送Heartbeat;借助连接控制器模块管理所有已连接的TCP连接表;发送和接收所有通过TCP连接的数据。
前庭设备接口协议与IFSF协议之间的转换由两个功能模块组成:前庭设备协议接口模块和IFSF代理模块,如图5所示。前庭设备协议接口模块实现与具体的前庭设备的接口,其主要功能是解析前庭设备通信帧,实时监控加油过程,更新加油机通用信息,对加油机的特殊情况作出响应。IFSF代理模块用于响应各IFSF节点的读/写请求,按IFSF协议及IFSF帧格式实现对各IFSF节点间的访问。
前庭设备协议接口模块和IFSF代理模块之间的通信通过Database进行,IFSF代理模块通过访问Database来访问前庭设备。因为Database存放了加油机及前庭设备的所有信息,包括加油机油枪状态、加油机协议版本、油品油价版本、交易记录表、交易累计统计数据等。在这些信息中,对时效性要求较高的数据都带有时间戳。其他IFSF节点发出的读/写信息,如果要访问对时间敏感的数据,可直接通过Database访问;如果要访问一些对时间不敏感的数据(如交易累计统计数据),可通过前庭设备协议接口模块和IFSF代理模块之间的另一条信息传送通道,向前庭设备协议接口模块发送数据请求命令,前庭设备协议接口模块在一定时间内作出回应。
对Database中的一些数据文件(如油品文件、油站通用信息文件)的控制管理功能可以通过Web服务器中的集成监控模块实现,前庭设备协议接口模块一旦感知到文件发生了变化,就会在程序中自动启动普通信息查询命令,进入信息更新阶段。控制管理的作用是向上一级管理计算机传送所有加油机的交易记录,如果上一级管理计算机不在线(如线路故障临时中断),这时,交易记录可直接在本地保存,待故障排除后将自动向上传送数据,从而保证数据的完整性。
4 Web Server的实现
Web Server所有用户界面都通过WWW浏览器实现。其中部分事务逻辑可在前端实现,但是主要事务逻辑仍然在服务器端实现,形成所谓的3-tier结构,如图6所示。
B/S模式是Web Server和Brower之间的直接访问,客户和服务器间的中间节点不对HTTP请求及响应做任何操作,应用程序放在Server,处理HTTP请求时客户端只需采用如IE这样的浏览器对服务器上的数据进行浏览,不用开发客户端程序。Web开发技术有两种:CGI(Common Gateway Interface)技术和嵌入式技术。本文采用后者,它是将Java script、Vb script和PHP等特定的脚本语言利用特殊的标记嵌入到HTML中,当客户端Browser提出请求时,Web Server会使用相应的脚本解释引擎对脚本解释执行,根据具体的条件完成对后台数据库的查询、修改等操作,并把结果送回到Browser端。基于Linux的Apache+PHP+大型(或小型)数据库的方案已经成为当前众多商业网站的首选Web开发模式。Apache是一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,通过简单的API扩展,Perl/Python等解释器可被编译到服务器中。PHP是一种用于在服务器端创建执行Web页面的典型服务器端脚本语言,并内置了文件上传密码认证Cookie操作、邮件收发、动态GIF生成、XML、共享内存等功能;更为重要的是它对数据库强有力的操纵能力,支持几乎所有主流和非主流的数据库。它既可以作为一个独立的CGI外部程序独立运行,也可以与Apache服务器紧密结合,作为模块嵌入到Apache中,不仅实现了代码的简化,而且无需占用额外进程便可完成对数据库的操作,执行起来高效快捷。因此,PHP已成为目前开发Web非常流行的一种语言。
5 系统功能测试
系统功能测试在网络环境下进行,测试信号源用模拟信号代替。其具体测试方法是用两台PC机分别模拟电子收款系统POS(Point of Sells)机和加油机(Dispenser)的收发数据和命令,在高性能嵌入式智能计算机MOXA上安装Apache+php服务器,将协议转换主程序及相关程序经编译后传送到MOXA,同时将Web Server网页代码也传送到MOXA,由显示画面直接观察测试结果。从图7的参数设置网页界面可以看出,通过网页可以查看和修改端口配置文件。POS模拟机可以控制加油机加油,设置加油参数,控制加油卡插入与退出等;也可以模拟加油机作抬枪、加油、挂枪、结算等操作。实际
测试结果表明,该协议转换程序能成功地完成加油机和POS机的协议转换,并能实现由POS机控制加油机的所有功能。
Web在加油站站级设备控制管理中的应用研究表明,基于嵌入式Web的网络监控系统可以更好地实现油品供给和消费状态资料的共享,对库存、跑冒滴漏、资金流向、货款回笼等能更好地实现监控,对各种通信协议的有效整合能使设备维修更加简单。
参考文献
[1] CERCONE N, HOU Li Jun,KESELJ V, et al. From computational intelligence to Web intelligence[J]. Computer, Volume 35, issue 11, Nov. 2002:72-76.
[2] SMIMOV A, PASHKIN M, CHILOV N, et al.Agent based Web intelligence for logistics support in networked organizations[C]. Intelligent Transportation System. 2004. Proceedings. The 7th International IEEE Conference on,3-6 Oct. 2004:922-927.
[3] BUTZ C J, HUA S, MAGUIRE R B. A Web based intelligent tutoring system for computer programming[J].
Web Intelligence, 2004,WI 2004. Proceedings IEEE/WIC/AMC International Conference on, 20-24 Sept. 2004:159-165.
[4] 徐巍,谭德荣. 基于网络的加油站控制管理系统的研制[J]. 山东理工大学学报(自然科学版),2004,18(4):
59-63.
[5] 宋宏伟, 甄然. 加油站中央控制系统的设计与实现[J]. 微计算机信息, 2006,22(6):106-108.
[6] 吴秋芹. 基于嵌入式Web服务器的测控系统[J]. 西华大学学报(自然科学版), 2006,25(6):39-41.
[7] Linux网络编程[M]. 李卓恒译. 北京:机械工业出版社,2000.
[8] WEHRLE K, PAHLKE F. The Linux networking architecture[M]. America ,Prentice Hall, 2004.
[9] MATTHEW N, STONES R. Beginning Linux programming[M]. The 3rd Edition,Canada, Wiley Publishing, Inc,2004:187-189.
[10] PHP与其他CGI的比较. http://www.51iter.com/wangzhan//php/200508/wangzhan_7308.html
[11] International Forecourt Standard Forum. Communication on specification over TCP/IP[S], version1.00, England, 2001.