工控网中基于Linux的嵌入式HTTP服务器设计
摘要:嵌入式超文本传输协议HTTP服务器是控制网络的关键设备,也是实现设备Internet远程监控的关键技术。本文提出一种基于通用性和可移植性考虑的嵌入式HTTP服务器的设计思路,并利用Linux、PC104总线的CPU卡和通信模块给出一个应用实例。
关键词:嵌入式HTTP服务器 Linux 控制网络
引言
控制网络一般指以控制“事物对象”为特征的计算机网络系统,简称Infranet(infrastructure network),它处在企业网(Intranet)的底层,构成了整个企业网的基础。近些年来,在控制网络中采用了现场总线(Field Bus)和工业以太网(Ethernet)两种技术。出现这种情况主要有两个原因:第一,目前存在多种现场总线标准,不同的标准采用完全不同的通信协议,也就是说现场总线的开放性不够;第二,以太网虽然能够解决开放性的问题,并具备成本低廉、技术成熟等优点,但由于以太网最初是被设计用于以资源共享为目的的计算机局域网,因此在实时性和可靠性上暂时还不能完全满足工业控制的要求。事实上,目前一个较大规模的控制网络往往综合采用了这两种技术。在现场层,由于强调实时性、可靠性和安全性,常采用现场总线技术;在监控管理层,考虑到采用不同标准的控制网段之间的集成以及与高层企业信息网络的集成,一般采用以太网技术。现场层的现场总线控制系统FCS(Field Control System)或其它设备级轻质网络通过网关或嵌入式HTTP服务器与高层以太网相连。这样,不仅采用不同协议的控制网段能够实现互联,而且各个控制网段能方便地与高层企业信息网互通,从而最终实现企业网的管控一体化和对现场设备的Internet远程监控。通过以上分析可以看出,控制网络中的网关或嵌入式HTTP服务器起着连接现场层和监迭管理层的作用,因此它是整个控制网络的关键设备。
网关或嵌入式HTTP服务器与传统的嵌入式系统相比,有一些不同的特性。传统的嵌入式系统是面向应用、有一些不同的特性。传统的嵌入式系统是面向应用、面向产品的,强调成本和高效设计系统,因此本质上不具备通用性和可移植性。网关或嵌入式HTTP服务器由于处在现场层和监控管理层的中间,因此它与具体应用和产品是一种弱耦合的关系。同时,技术发展的趋势是:硬件成本越来越低,功能越来越强,越来越多的芯片和板卡具备“平台”的特点,适用于多种应用场合。嵌入式实时操作系统(Embedded Real Time Operationg System)的发展更是为嵌入式软件提供了一个通用的软件平台。综上所述,在网关或嵌入式HTTP服务器设计中,考虑通过选用适合的硬件和嵌入式实时操作系统,使整个系统具备相当的通用性和可移植性。对于连接不同的设备级轻质网络或不同的应用,只需要通过更换硬件模块和对代码作最小的修改即可实现。
1 基于Linux的嵌入式HTTP服务器的结构
为了实现设计目标,嵌入式HTTP服务器一般应采用功能较强的能用PC、工业PC、或高档MPU作为硬件平台,嵌入式实时操作系统作为软件平台进行平发。硬件平台应具备以太网口和一个或多个通信模块,比如RS232、RS485、CAN通信卡等。嵌入式实时操作系统实现了TCP/IP等网络协议,并提供实时任务、进程管理、内存管理、文件系统、API等功能。
Linux操作系统是一种多进程,多用户的通用操作。由于它具备免费、源码公开、内核可裁减、支持多线程、网络功能强大、设计精巧、javascript:window.open(this.src);" style="cursor:pointer;"/>性能稳定的特点,因此近年它也被广泛用到嵌入式系统的设计中。一个应用于嵌入式系统的Linux经过裁减和重新编译后只包括进程管理、内存管理、文件系统、若干个驱动程序和实用的函数等。
下面以本人参与的转子秤控制系统为例来说明一个基于Linux的嵌入式HTTP服务器的结构。转子秤是水泥工业中的关键计量喂料设备,一条大型的生产线需要许多台转子秤,对转子秤的控制涉及到重量、转速、温度、一氧化碳含量等若干个参量。由于现场环境的高噪声、高粉尘、高电磁干扰,无法在现场配备键盘、显示器、触摸屏等人机交互设备,无法在现场实现对设备的监控和维护。同时,一条生产线有多台转子秤,为每台转子秤配备人机交互设备也是不经济的。为此,考虑为整个系统设计一个嵌入式HTTP服务器,各转子秤控制器与嵌入式HTTP服务器用CAN总线相连。通过嵌入式HTTP服务器实现对整个系统的在线监控和远程监控。在嵌入式HTTP服务器的设计中,选用研祥公司PC104总线的486X嵌入式CPU卡作为硬件平台,该板卡是具有128MB的在板ROM、CF卡接口和以太网接口等。选择该板卡的原因是PC104总线的功能扩展模块非常丰富,通过选择不同的模块很容易就支持多种总线。软件平台方面,选用Linux2.0内核并对它作适当裁减。整个嵌入式HTTP服务器的结构简图如图1所示。
2 基于Linux的嵌入式HTTP服务器的设计
工控领域的嵌入式HTTP服务器应该具备如下基本功能。
①实时数据发布。实时数据主要包括系统运行过程中设备的各种状态信息。嵌入式HTTP服务器将实时数据以网页形式发布到Internet上,且动态实时刷新。客户可以通过浏览器访问这些实时信息。
②参数设置。参数包括运行参数和设备状态参数,如各种初始值、常数等