引言 随着各个企业安全意识的增强以及现代化管理水平的提高,对分布式环境的远程测控在工业控制系统中得到了越来越广泛的应用。传统的监测系统多为远程监控主机通过传输网络与代理服务器进行数据交互,此种方式需要额外的数据采集和控制设备负责现场设备的数据采集以及把采集到的实时数据发送给代理服务器,适应性较差,内部网数据传输速率不高,影响远程监控的实时性,而且当代理服务器出现故障时,远程监控主机将对所有的现场设备失去监视和控制,可靠度不高。因此,笔作提出了一种基于嵌人式技术的远程集中测控系统,它将嵌人式技术、无线通信技术和自动控制技术有机地结合起来,采用嵌人式硬件平台和无线通信模块,不需要额外的数据采集和控制设备。该系统实时性强、可靠性高、结构小巧、开发费用低廉,更适用于现代工业测控系统川。
1、系统总体设计方案 嵌人式远程测控系统实现方案如图1所示。系统由客户端浏览器,嵌人式服务器平台,现场测控模块3部分组成。客户端浏览器是运行在桌面计算机中的通用浏览器应用程序,嵌入式服务器是以S3 C4510B芯片为核心组建的网络服务平台,现场测控模块是以MCS-51单片机为核心构成的测控执行部件。其中嵌人式服务器平台是系统的核心部件。负责对现场设备进行测控数据的采集、存储、转发及与远程客户端浏览器的数据交互。
图1 嵌入式远程集中刚控系统实现方案
本方案中,服务器采用嵌人式硬件平台,基于uClinux操作系统系统,建立嵌人式Web服务器和分布式现场的测控应用程序。测控应用程序通过驱动无线模块,以主动轮询方式实现嵌人式平台与和分布式测控设备之间的通信。现场测控模块负责对测控应用程序发出命令进行响应,以完成分布式现场的数据采集和控制动作执行。 通过公共网关接口CGI ( Common Gateway Interface)实现嵌人式Web服务器和分布式现场的测控应用程序接口。CGI可以使编写的程序处理WWW上客户端送来的表单和数据,并对此做出响应,可使编写的程序和Web服务器间的接口标准化。 嵌人式服务器正常工作往往要引人文件系统,uClinux操作系统提供了很好的文件系统;同时利用uClinux操作系统自身所带的TCP/IP ( Transport Control Protocol/Internet Protocol)协议栈,只要在应用层上利用操作系统提供的网络API ( Application Programming Interface)编写服务器端程序即可,大大节省了开发时间。
2、系统硬件设计 对于一个嵌入式系统而言,硬件系统设计相当重要,一方面要考虑所选择的器件是否适合应用要求,硬件资源是否足够用来编程调试并保证系统性能优良;另一方面硬件资源要在满足系统需求前提下尽可能降低成本。基于S3 C4510B核心芯片扩展了必要的Flash , SDRAM ( Synchronous Dynamic Random Access Memory)以及网络接口和无线通信接日模块。 网络传输接口由以太网物理层接口器DM9161、网络隔离变压器FC一巧岱和RJ45接口组成。本系统没有单独使用以太网,因为S3C4510B内嵌一个以太网支持媒体独立接口(MII:Media Independent Interface)和带缓冲DMA接口(BDI:Buffered DMA Interface),可在半双工或全双工模式下提供10 /100 Mbit/s的以太网接人。在全双工模式下支持IEEE802. 3 MAC ( Media Access Control)层协议。DM9161完成物理层及数据发送/接收功能,支持100BaseT和lOBaseT网络。由于S3C4510B片内已有带MII接口的MAC,DM9161也提供了MII接口,各种信号的定义也很明确,因此DM9161与S3 C4510的连接较简单。信号发送和接收端应通过网络隔离变压器FC-S15IS和RJ45接口接人传输媒质。 数据通信采用无线数传Modem模块PTR2Q00完成。该器件是业界倍受推崇的一款无线数传产品。它将数据的接收和发射合为一体;采用FSK调制/解调技术,可直接进行数据输入/输出,抗干扰能力强;采用DDS(直接数据合成)十PLL(Phase-Locked Lo叩)频率合成技术;频率稳定性极好;其工作频率稳定可靠、外围元件少、功耗极低且便于设计生产。另外,由于它采用了低发射功率、高灵敏度设计,因而可满足无线管制的要求且无需使用许可证,是目前低功率无线数传的理想选择。利用S3 C4510B芯片的GPIO控制PTR2001〕的D0, DI和TXEN引脚,并通过对GPIO高低电平的设置来控制TXEN从而实现收发转换冈,通过驱动GPIO(General-Purpose UO Port)模拟PTR2000的DO及DI收发时序,遵循多机通信协议,即可完成主动方式的数据通信。 此外,在设备现场,可利用MSC-51系列单片机控制PTR2000完成现场测控模块的功能(其中包括无线信道的建立)。MSC-51的TTL电平与YTR2000的TTL电平相同,可直接将PTR2000的DO和DI与MSC-51的RXD和TXD相连。如图2所示,现场测控的MSC-51和PTR2000的连接电路示意图,把MSC-51的Pl. 7和PTR2000的TXEN相连,以控制模块的发射控制、频道转换和低功耗模式。
图2 现场测控MSC-51和PTR2000连接电路示意图
3、软件程序实现 本设计的软件程序编写涉及到很多关键技术,包括嵌人式HTTP(Hypertext Transfer Protocol)服务器、公共网关接口CGI , HTML和Java Applet技术以及在Linux下的进程间通信。嵌人式HTTP服务器是建立在客户端/服务器端模式下的,由守护进程侦听80端口提供服务,对嵌人式HTTP服务器而言,浏览器就是客户端。在类linux下建立嵌人式HTTP服务器涉及到网络Socket编程,Socket利用客户端/服务器端模式在进程之间建立通信连接。对嵌入式HTTP服务器而言,服务被提供时必然存在服务进程和客户进程,它们在通信前又必须创建各自的套接字并建立连接,然后才能对相应的套接字进行“读”和“写”操作,实现数据传输。 公共网关接口CGI是建立在HTTP服务器内的一个软件模块,它可以执行存储在服务器上的程序。CGI脚本与HTTP服务器一起负责响应客户请求。HTTP服务器根据请求调用相应的CGI程序进行处理,最后向客户端返回处理结果并结束交互过程。传统的纯HTML文档所包含的信息是静止不动的,而利用CGI脚本则可根据用户请求实时运行,并产生动态信息,具有很高的效率和更大的灵活性。 HTML的实现比较容易,Java Applet相对比较复杂一点。本系统的Java Applet由图形界面和网络连接交互两部分组成,当然Java Applet的整体运行还是按照Java Applet生命周期(包括3个基本循环:init()、start()和stop())运行的。 对于图形界面,Java的抽象窗口工具集AWT中包含很多的类,以支持GUI的设计,建立标准的图形界面。利用AWT提供的基本组件,设置按钮、复选框、标签、菜单、滚动条和文本区;利用容器组件,创建面板、窗口、框架和对话框等;利用提供的布局管理器(例如F1owLayout、BorderLayout和GridBagLayout ),AWT还提供绘图方法和事件处理机制。 本系统还涉及到多个进程。例如,无线串口模块管理进程要从串口接收和发送数据和指令,同时还要向CGI进程返回测量结果。这些都必须通过两个进程间的通信实现。在Linux下进程间通信的实现方式有信号、管道、System V进程间通信(消息队列、信号灯、共享内存)等。 由于老版本的uClinux不支持System V进程间通信机制,可以采用共享文件来实现CGI进程与无线串口模块管理进程间的通信。为便于进程间的通信,建立文本文件note. txt,无线串口模块管理进程向note. txt写人从串口传过来的数据,CGI进程从note. txt读取数据。 但是两个进程对note. txt的访问是互斥的,即同一时刻最多只能有一个进程访问这个文件。用文件write. lock可以实现互斥访问,即无线串口模块管理进程在访问note. txt文件之前先判断read. lock是否存在,若有则等待,若没有就先创建write. lock文件锁,然后就可以打开note. txt文件进行访问,文件访问完成后删除文件锁。同样,使用read. lock文件锁可以实现CGI进程从note. txt读取数据。 当uClinux支持System V进程间通信机制时,一般采用消息队列、信号量、共享内存等。这里采用信号量和共享内存共同作用方式。共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将出现在进程的地址空间中。其他进程可把同一段共享内存段“连接到”它们自己的地址空间。所有进程都可以访问共享地址。如果一个进程向这段共享内存写了数据,所做的改动会立刻被有权访问同一段共享内存的其他进程看到。共享内存本身没有提供任何同步功能,使用一个信号量在程序的读、写这两部分之间进行同步并利用其保护机制,防止内存的不正确共享的现象。
图3 嵌入式HTTP服务器index.html界面
4、测试结果和结论 基于上述方案对实现的嵌人式远程集中测控系统进行了网络应用测试。测控执行部件完成对现场的温度的采集和显示设备的控制等任务。在浏览器URL处输入:http: //192. 168.0.2/index. html(192. 168. 0. 2是嵌人式HTTP服务器的IP地址)。嵌人式HTTP服务器index. html界面如图3所示。双击“嵌人式温测系统”,出现如图4所示的Java Applet交互界面。该界面中给出了实际测量的温度曲线。测试结果表明,该嵌人式远程集中测控系统设计方案合理,可靠性、实时性和开发成本优于同类相关技术,同时也为嵌人式系统的网络应用提供了成功的参考实例。
图4 Java Applet交互界面
基于嵌人式系统的远程集中监控系统是数据采集、网络传输、计算机软件等多种技术的综合应用,适用于对远端现场环境进行实时监控,自动化管理,保障工业生产的安全稳定运行。它不仅具有基本的环境指标监测功能,而且通过无线传输将控制端和现场设备连接起来,可在上位计算机上进行集中监控以及查询和统计工作,具有结构灵活、人机界面好、集现代化控制和管理技术于一体等优点,提高了生产效率。此系统也可以应用于其他远距离分布式控制场合。