基于Web技术的监控组态软件设计

王文玺, 肖世德, 孟 文, 孟祥印
西南交通大学 智能机电技术研究所,四川 成都610031
2008-07-25

    摘 要: 介绍了网络控制系统的基本概念,阐述了Web的体系结构并以微软的最新Web开发技术Asp.Net作为系统开发工具,提出一种基于Web的监控组态软件设计方法。用户可通过浏览器实现对现场设备状态的监控。该软件具有编程简单、客户端免维护等优点。
    关键词: 监控组态软件; 万维网; Asp.Net; 网络控制

 

    监控组态软件是集计算机技术、控制技术、网络技术为一体的高新技术产品,具有控制功能强、操作方便和可靠性高等特点,可以方便地用于对工业现场进行数据采集和监视控制。监控技术经历了单机监控系统、集中式监控系统和网络范围的远程监控三个发展阶段。远程监控是指本地计算机通过网络系统对远端现场智能设备进行监测和控制。从架构模式上区分,监控组态软件大致可分为C/S(客户端/服务器)模式和B/S(浏览器/服务器)模式两大类。目前,国内的监控组态软件以传统的C/S模式为主,而借助日益普及的Internet网络或者LAN网络进行远程监控,是工业控制的一大发展。基于Web的实时控制技术是控制技术与计算机网络技术相结合的一种新型远程监控技术,已成为当前监控组态软件的发展趋势。
1 Asp.Net介绍
    Asp.Net代表了Microsoft Web开发的最新方向,它和早期的Microsoft Web开发环境的主要差别在于Asp.Net建立在.Net平台的基础上。
    Asp.Net的核心是公共语言运行CLR。CLR 是一个高效率的执行引擎,程序代码的执行由Runtime管理。Runtime的作用是产生对象、方法(即对象所能执行的动作)的呼叫等,Runtime 也可以提供程序代码一些额外的服务。在此把要通过CLR 的控制才能执行的程序代码称为Managed Code,同时CLR还提供了.Net应用的许多关键性服务,包括:(1)代码管理。(2)安全支持。(3)垃圾收集和错误处理。CLR的主要任务就是将编译产生的中间语言文件转换成目标机器上的本地代码。
    在CLR基础之上是一个巨大的类库,它主要处理程序运行时所要求的各项任务。Asp.Net支持多种源代码语言,本文选用C#。
    相对于传统的Asp,Asp.Net在配置、部署、调试和安全性等方面都有了很大的改进。传统Asp的配置保存在IIS元数据库中。元数据库是一个二进制的存储库,只能通过COM API来管理,而Asp.Net则通过web.config的XML文件指定Asp.Net应用程序的配置,该文件放置在应用程序根目录的顶端,并且可以用任何文本编辑器查看和配置。Asp.Net还具有较强的安全性,通过IIS提供身份验证和授权服务,支持Basic、Digest、Windows身份验证,支持窗体的身份验证,允许应用程序提供它们自己的登录UI,并执行它们自己的身份验证。此外,Asp.Net还提供缓存来提高Web应用程序的性能。
2 总体设计
    随着Internet技术的发展,浏览器界面已经成为计算机桌面的基本平台,将浏览器技术运用于监控组态软件及将浏览器界面作为网络控制系统的人机界面,对扩大实时系统的应用范围,减少维护工作量非常有利。基于Web技术的监控组态软件网络构架如图1所示。

 

图1 监控组态软件网络构架


2.1 软件的架构与功能
    在B/S模式下采用传统的三层体系结构来设计监控组态软件,并不能直接实现与被控对象进行数据通信,因此基于Web技术的监控组态软件采用四层体系结构进行设计,如图2所示。它是在一般的三层体系结构的基础上增加了控制层,用来实现Web服务器与被控对象的通信,进一步控制被控对象。这样既充分利用了现有的网络资源和工业现场资源,也使得两者有机地结合在一起,达到了Web服务器与现场设备通过现场总线进行远程通信的目的。

 


    各层功能如下:
    (1)客户层:它是监控组态软件的用户接口部分,是用户与监控组态软件交互信息的窗口,即人机交互界面。用户通过浏览器对现场数据进行实时监测,发送控制命令和参数,并能够通过浏览器对工程的组态架构及图像进行修改。
    (2)功能层:它作为Web Service应用程序服务器端,包括监控组态软件的事务处理逻辑,负责客户层与数据层及控制层之间的数据传输。具体表现为接收用户或控制服务器的请求(消息),以执行对应的处理程序;或与数据层进行连接,向数据层提出数据处理请求,并将数据层处理的结果反馈给请求端。本文选择IIS6(Internet Information Service)作为Web服务器平台,在IIS6上可以通过IP地址、端口号和主机头名称来配置多个Web站点。
    (3)数据层:它由数据库服务器和数据库所构成,包括物理数据库和相关数据处理应用程序,其功能为实现监控组态软件的数据处理逻辑。主要是通过功能层的数据处理请求,调用相关处理程序以实现对数据库的查询、增加和删除等功能。由于在基于Web技术的监控组态软件中涉及到较为庞大的数据群,本文选择SQL Server作为物理数据库,并采用ADO.NET数据库技术对数据库进行管理。ADO.NET使用离线数据集,不需要长时间地链接和锁定数据库,在线用户不会争夺数据库资源,在对大量数据进行操作时其高效率的性能完全能够满足用户的需求。
    (4)控制层:位于控制服务器端,包括监控组态软件的控制逻辑。它作为客户层与被控对象的中间设备,向被控对象发送控制命令、接收被控对象的实时状态信息和请求信息。
2.2 软件的控制原理
    用户通过客户端的浏览器登录Web服务器,Web服务器请求数据库进行身份认证后,将嵌入了组态图像的控制监测页面以.aspx的形式返回客户端供用户使用。浏览器端通过事件机制获取用户的各种操作并提交给Web服务器。用户可以通过控制服务器访问和控制被控对象,与被控对象进行数据通信;可以把被控对象的状态、参数等数据存入数据库;也可以把数据库中的控制命令与定值等数据发送给被控对象。
    通过Asp.Net中的Session对象对每一个用户建立一个专用的工作线程,当客户端每新增一个用户时,即建立一个Session对象,标志该用户的身份,并同时建立起一个工作线程负责对该用户的各种请求进行管理,当用户退出后Session对象即消亡,同时Session对象所标志的该用户工作线程结束。采用了多线程技术的监控组态软件能够满足大量用户同时在线、同时发出各种请求时,Web服务器也能够及时地响应用户的请求,避免了单线程技术所带来的信息拥塞而使用户等待的情况出现。
3 软件实现的关键技术
3.1实现控制服务器与现场设备间的通信

    在局域网络基础上构建互连系统,实现远程控制,其关键是实现控制服务器对现场工控机的控制,再由工控机对串口(并口)或其控制卡加以控制以实现对现场设备的通信。因此,网络通信采用Socket编程。Socket是TCP/IP协议传输所提供的接口。对于软件开发主要使用两种类型的套接字:
    (1)流式套接字:提供了无边界限制的双向数据流,能够提供有序、无重复的传输,适用于处理大量数据。流式套接字是基于直接连接的,建立在TCP基础上。
    (2)数据报套接字:支持双向数据流,但不能保证数据的顺序和不重复性,同时也不十分可靠。数据报是无连接的,由UDP(用户数据报协议)支持,几乎是直接建立在IP层上,传输速度比较快。
    对于现场设备的数据,由于必须保证传输的可靠和准确,因此,对于控制服务器与现场工控机之间的网络通信程序,一般采用基于可靠传输协议TCP基础上的流式套接字编程加以实现。图3是现场工控机与控制服务器协同工作的模型。

 


3.2 安全策略
    Web服务器提供用户认证及用户认证访问权限,非注册用户无权登录到Web服务器,注册用户权限分三级:管理员、控制员、一般用户。管理员有权发送定值命令对现场设备的参数进行设置,并能够增删用户。控制员有权发送控制命令对现场设备进行控制。一般用户能够登录到运行界面,对现场设备进行实时状态监测。由于现场设备在同一时间只能由一个用户进行控制操作,其他用户只能浏览,因此,为防止现场设备多用户使用时发生冲突,应当建立设备锁定机制。
    目前,以Web技术为基础的通过互联网络来进行远程监控的技术,已成为监控组态软件的发展趋势。工业监控系统与Web技术的结合实现了集控制、管理、信息、调度、网络于一体的企业综合自动化。本文提出的设计方案是以Web技术实现监控组态软件的一种实践,设计中的部分思想已经运用到实际的产品开发中。
    本文的创新点:(1)Web技术是监控组态软件的最新发展方向,利用网络优势与嵌入式系统的完美结合,实现网络远程监控系统将成为主流,而本文给出的正是将Web技术应用到监控组态软件中的一种实现方案。(2)将基于Web技术的监控组态软件划分为四层体系结构进行开发,对基于Web技术的监控组态软件的应用及普及具有前瞻性。
参考文献
[1]  王亚民,陈青. 组态软件设计与开发[M]  西安:西安电子科技大学出版社,2003.
[2]  曾志. 基于B/S架构Web远程控制的研究及实现[J].计算机应用与软件,2005,(11).
[3]  陈新. 基于Web的远程监控与数据采集系统[J]. 电子科技大学学报, 2003,(8).
[4]  孙磊.Asp.Net在远程控制中的应用[J].工程设计学报, 2005,(2).
[5]  KIRTLAND M. Designing component-based application. Microsoft Press, 2000.
[6]  张娅, 周学文. COM研究及其在组态软件中的应用[J].  微计算机信息(测控自动化),2006,(12).

 

你可能感兴趣的:(技术方案,组态软件)