信息化 频道

基于B/S网络结构的远程监控系统研发方案

  一、前言


  随着企业网络的集成化发展,Internet技术与控制技术融合在一起,远程操纵生产过程技术成为自动化技术的重要研究内容。在工业自动化领域里,控制网络也正向体系结构的开放性方向发展,信息沟通的领域正迅速覆盖从工厂的现场设备到控制、管理的各个层次,基于Internet/Intranet的企业综合自动化方案已经成为热门的研究方向.
   

  通过Internet浏览器相关人员能够进行生产过程的远程监视,远程设备调试和远程设备故障诊断、处理,不但可以提高企业自动化水平,实现无人职守,而且在很大程度上为企业生产运作的科学管理、安全运行和有效维护奠定了坚实的基础。但是,由于网络延时的存在,基于网络的控制系统不可能是一种闭环控制,采用的是远程监督控制方案,而逻辑控制功能由现场设备层完成。本文根据这一思想提出基于B/S结构进行的网络控制,并开发了一套基于PLC和变频器的实时远程控制系统,该系统集软件开发技术、PLC技术、变频控制技术,网络通信技术于一体
目前从结构模式上讲,有B/S(Browser/Server)结构和C/S(Client/Server)结构。


  二、B/S结构和C/S结构的比较


  C/S结构就是传统意义上的客户机/服务器模式,系统任务分别由客户机和服务器来完成。服务器具有数据采集、控制和与客户机通信的功能;客户端则包括与服务器通信和用户界面模块。这是一种典型的“瘦服务器/肥客户机”的模式,它有以下缺点:
   

  1. 部署困难,除了要安装服务器软件外,对每台客户机都要安装客户软件的一份拷贝。
满足不了客户端跨平台的要求。一般来说,客户端的操作系统是不同的,与此对应的客户端程序也是不同的。但是,为每一种操作系统设计一个客户端程序是不现实的。而要求客户放弃已有的操作系统来购买一新的操作系统会使客户付出很大的代价。
   

   2. 管理、维修费用高、难度大。
  于是,我们就在传统的C/S结构的中间加上一层,把原来客户机所负责的功能交给中间层来实现,这个中间层即为Web服务器层。这样,客户端就不负责原来的数据存取,我们只须在客户端安装浏览器就可以了。把原来的服务器作为数据库服务器,在数据库服务器上安装数据库管理系统和创建数据库。Web服务器的作用就是对数据库进行访问,并通过Internet/Intranet网传递给浏览器。这样,Web 服务器既是浏览器的服务器,又是数据库服务器的浏览器。在这种模式下,客户机就变为一个简单的浏览器,形成了“肥服务器/瘦客户机”的模式。B/S结构同C/S结构相比较,具有  以下优点:
   

  (1)应用服务器的开发简单
  B/S结构是一个包括了客户、Web服务器和应用服务器的三层结构,涉及到四个组成部分:浏览器、Web服务器、数据库服务器、应用服务器。这种划分使得程序的编制简单,例如应用服务器不必过多地考虑和客户端的通讯问题,大量的与客户端的数据传输由数据库服务器和Web服务器完成,使开发者能够把更多的精力放在功能的完善上。
   

  (2)有许多现成的可供选择的外围程序
  Web服务器和数据库服务器可以采用现成的产品,只有应用服务器需要自己开发,而且由于Web服务器负责与数据库服务器和客户端浏览器的一部分通信,减轻了应用服务器的开发负担。
   

  (3)客户端获取数据更加容易
  采用B/S结构,最直接的和最大的变化体现在客户端上。客户端不再像传统的C/S结构中那样,只与一个应用服务器通信。客户端获取数据的渠道不止一条。对于非实时数据,浏览器可以直接向Web服务器发出数据查询请求,而应用服务器只要负责把数据写入数据库即可,不参与客户端获取数据库中的数据这一过程。对实时数据,浏览器通过页面内嵌的ActiveX控件,直接与应用服务器通信,而Web服务器和数据库服务器对此将一无所觉。


  三、监控系统原理


  3.1 系统总体结构

  系统一般可分为3个子系统: 即现场数据采集与控制子系统;数据存储与转发子系统; 客户端接收与命令发送子系统。其原理图如图1所示
 


图1  B/S结构远程监控系统原理图

  3.1.1现场数据采集与控制子系统
  包括PLC,变频器等一些现场控制设备,并负责采集各个现场控制节点的运行状况数据,然后传递给中间层子系统;中间层子系统是一个中介系统,由应用服务器、Web服务器和实时数据库服务器组成。应用服务器通过动态链接库DLL(Dynamic Link Library)程序与被控过程的连接,实现对数据的采集。同时,可以用ADO.NET数据库访问技术实现数据库服务器与应用服务器之间的通信,使采集到的数据存储到数据库服务器。
   

  3.1.2数据存储与转发子系统
  由Web服务器,应用服务器、数据库服务器构成。数据库服务器中的数据库管理系统采用关系型数据库MS SQL Server操作系统,可储存大量历史数据,便于统计分析。当客户想访问其数据时,可通过浏览器向Web服务器提出请求,Web服务器处理后,到数据库服务器上进行查询,查询结果送回到Web服务器后,以HTML页面的形式返回到浏览器。
   

  3.1.3客户子系统
  它是用户直接与之交互的部分,它接收用户的输入,从中间层子系统获取监测数据或向其发送控制命令。但是,这种访问要经过数据库服务器和Web服务器,这势必会影响访问的速度,只适合对历史数据的访问。对于实时数据,采用内嵌的ActiveX控件直接对应用服务器进行访问,这时Web服务器和数据库服务器对此毫无知觉,提高了访问的实时性。ActiveX技术是用于组件对象模型(COM)的一种技术,它使各种软件组件可以在网络工作环境中相互使用。当用户访问系统时,通过浏览器向Web服务器发出HTTP请求,然后ActiveX控件随同HTML文件下载到客户端并由浏览器解释执行,ActiveX控件与应用服务器建立连接,用户进行监控操作只要通过ActiveX控件的界面就可以进行了。


  3.2系统硬件配置

  B/S结构的工业信息监控系统是C/S结构的延伸,它们的网络结构基本相同,只是服务器端的功能更加分散,基本网络拓扑图如图2所示


图2  B/S结构远程监控系统网络拓扑图

  3.3系统软件设计

 3.3.1 网站规划
  整个系统采用B/S结构设计,因此可作为一个网站进行规划,可分为以下几个部分:
  1. 登陆管理:用于检查用户是否有权限进入该CMMS软件进行操作,并对正常使用系统的用户做记录
  2. 实时状态:如下图所示,动态监视的小车、起升机构等的运行状态。可以实时的显示小车和起升机构的实际位置,并给出设备工作环境条件的数据,如:工作电压、电流、环境温度、风速等情况。  
  3. 报警管理:
  (1)  实时故障
用于动态显示报警信息,可以通过颜色或声音给出报警,提示操作人员对设备进行维护
  (2) 历史故障
用于记录设备发生的历史故障,并且提供指导解决故障的信息。用户可以通过设置区机构和时间条件来查询历史故障的记录。用户还可以把所有的历史故障导入到 Excel文档中。
  (3)报警追踪
用于记录故障发生时的前8秒,后2秒种的整机电压、电流、速度给定、转速反馈、转矩给定、转矩反馈、各机构运行位子等参数,以及PLC输入输出等开关量状态,并且相关模拟量均能在趋势图中予以反映。
  (4) 故障统计
  4. 生产管理:制定关键部件的保养周期,并在需要更换或保养时提示用户,并把相关保养操作存放在电脑硬盘中,便于以后查看。
  5. 维护管理:制定关键部件的保养周期,并在需要更换或保养时提示用户,并把相关保养操作存放在电脑硬盘中,便于以后查看。
  6. 统计管理:根据集装箱尺寸、重量及吊机工作和空转时间统计吊机作业量,各机构作业时间,并能打印成报表。

  3.3.2数据通讯设计
  这一部分主要是作为远程客户机与下位机(PLC)通信的桥梁,一方面负责采集PLC数据,并将其传送给远程客户机,另一方面,接收远程客户机的控制信息,并将其写入PLC。一般在应用服务器中安装有OPC Server(或自己开发的数据采集服务程序), OPC Server通过串口或以太网方式与设备上的PLC连接,进行数据采集,并将采集到的数据缓存在应用服务器中。公司内部局域网通过有线或无线以太网方式与现场OPC Server连接来读取数据。
   

  3.3.3远程客户端软件设计
  这一部分主要是实现与上位机的通信以及监控画面的开发,为了便于实现与上位机的通信,将整个应用程序分配给多个服务器,用以提高项目的整体容量结构并改善系统的性能。服务器的分配可以是基于项目中物理设备结构或不同的功能,用户可以根据系统需要设立专门的IO服务器、历史数据服务器、报警服务器、登录服务器和WEB服务器等。

  在客户监控画面方面采用ActiveX控件,并嵌入到网页中。用户只需要在客户端IE浏览器的地址栏中输入服务器的IP地址,当用户第一次访问服务器的网页时,IE浏览器会自动把服务器网页上的ActiveX控件下载到本地计算机中,并自动注册ActiveX控件。这样用户就可以通过IE浏览器对现场设备进行实时监控。通过使用ActiveX控件,远程客户端可以直接读取服务器上的OPC 数据并实时更新,并不需要通过数据库来进行中转。
网页中嵌入的实现过程如下:
  1. 先使用VB把CMMS中的每个界面加上安全接口(见附件1),然后分别重新编译为ActiveX控件,最后分别打包为可下载的CAB文件。
  2. 对每个CAB文件进行数字签名(可自己生成数字签名(见附件2)或在相应机构购买数字签名)。
  3.先使用Visual Studio .Net 中的ASP.Net 开发一个网站。然后把先编译过的CBA文件分别添加到各各网页中,并在ASP.Net客户端代码的中指定该CBA文件的classid和codebase属性,这样便可在网页中引用ActiveX控件了,如:
<object id=RemtCardCtl codeBase="http://192.168.0.251/remtcard/RemtCardSetup.CAB#version=1,0,0,1” classid="CLSID:0914929F-9755-47E9-9A85-DF53D1A59961" VIEWASTEXT>
<object/>
    

   3.3.4 应用服务软件设计
   对于一些需要保存到数据库服务器中的历史数据,若通过在ActiveX控件中嵌入其功能,则可能会因为客户未打开监控画面而无法保存数据,导致历史数据不连续或丢失整块时间段的重要数据,因此需将实时保存到数据库服务器中作为历史保存的数据这部分功能的程序做成一个服务应用软件安装在应用服务器中,随应用服务器启动而运行,并使其长驻内存,不断的将所需要的数据存入数库,这样既保证了历史数据完备性,而因为减轻了客户端处理大量数据所带来的性能损失,又使整套系统的性能得到很大的提高。


  四、研发技术难点及建议

 

  1.  解决在windows 2000 或windows XP 中ActiveX控件不能显示的问题:
  在windows 2000中按照上述方法一般可直接下载ActiveX控件在客户机上注册并显示,而因为windows XP对浏览网站的安全性要求更加严格,所以在不购买合法的数字签名而只使用自制的数字签名的情况下,ActiveX控件将不能被下载,致使ActiveX控件不能正确的显示在网页中,所以解决上述问题的办法只有通过先在客户机上安装所需显示的ActiveX控件并注册,这样当再次开始网页的时候便可直接显示,而不会通过网络下载,其显示画面所需的数据是通过TCP/IP协议与应用服务器直接进行交换的,不会被浏览起拦截。
   

   2. 与PLC通讯的程序可自行开发,这样可降低购买OPC授权而额外增加的成本,通讯部分需做成DCOM组件,仿照OPC服务器的方式,注册到应用服务器中,客户端只需调用其功能便可。
   

  3.  在小型监控系统及客户端不超过4个的情况下,可将Web服务器,应用服务器、数据库服务器的所有功能合在一个服务器上。服务器可采用一般的工控机即可,它既可作为服务器也可为客户机,客户端中ActiveX控件也可直接与现场设备通讯,省去通过应用服务器的中转,通过这种方式可大大降低成本并且系统构成也比较简单,但整个监控系统的性能不变。
   

  4. 可采用.net组件来取代ActiveX控件,可避免ActiveX控件带来的注册烦恼,及增加了.net技术的整合性,但其客户端是否会自动下载并且执行数据交换来有待研究。
   

  5. 数据安全性的研究:
      采用WS-Security标准[9];
      使用SSL进行加密和签名;
      使用传输层安全性(Transport Layer Security,TLS)、IPSec[10]等确保数据的安全传输;
      使用服务器,如IIS,的身份验证功能;
      提供用户的角色定义和权限分配。

  五.研发采用的技术


    Microsoft Visual Basic.net
    Microsoft Visual C++.net 
    Asp.Net
    Ado.Net
    TCP/IP网络协议应用
    Photoshop CS2


  六.研发新方向


  6.1Web Service技术


  随着.net技术的发展, Web Service技术当前流行的应用集成发展方向, 由于Web Service技术建立在标准性与开放性基础之上,彻底打破了以前封闭式的实现方法,通过Web Service技术,使用不同语言开发、运行在不同平台上的客户可以无缝的获取所需的应用,达到资源效率的最大化。构筑Web Service技术的主要成员有XML、Schema、SOAP、WSDL和UDDI。Web Service具有一些明显的特点:
   (1) 互操作性:
  通过SOAP协议可以在任何Web服务间进行交互,避免了在CORBA、DCOM等协议间转换的麻烦,可以使用任何语言来编写Web服务,无需变更开发环境;
  (2) 普遍性任何支持HTTP和XML技术的设备都可以拥有和访问Web服务;
  (3) 简易性:
  Web Service技术易于理解,不仅IBM、微软等提供的开发工具能够快速创建、部署Web服务,而且现有的COM组件、JavaBean等也能方便地转化为Web服务;
  (4) 标准性Web Service技术是基于现有以及有待发展的开放的标准,具有标准性;
  (5) 支持的广泛性几乎所有的供应商都支持SOAP和Web服务技术,包括微软、IBM、Sun、HP等。由以上特点可以看出,Web Service技术将成为今后互联网发展的主要技术,基于Web Service的企业应用构架将成为今后研究和应用的重点。
   

  基于Web Service的远程监控系统结构:
  传统的远程监控系统多使用OPC技术来获取各种现场设备的数据,包括实时采样值、历史数据、报警数据等等。该系统也使用OPC来与现场设备进行数据交换。OPC技术是以Microsoft的OLE/COM技术为基础。因此,与其他组件技术一样,难以通过防火墙从OPC服务器获取所需的数据。即使在同一局域网内,位于不同计算机上的OPC客户端要连接到OPC服务器都需要经过复杂的DCOM和安全性设置,这增加了系统开发的难度,为此要对OPC服务器的数据进行封装。通过网关(命名为“过程网关”)的形式来为各个系统提供数据。过程网关作为OPC客户端从OPC服务器获取各种过程数据,将这些数据按照一定规则重新组织,并封装在Web Service内,过程网关也从已有的控制系统中获取所需的数据,并以服务的形式暴露给各种应用。Web已被广泛用于监控系统中,它可以提供统一的人机界面,并且操作简单友好。该系统结构使用Web来建立监控系统,Web监控系统通过过程网关获取现场设备的数据,将这些数据以Web的形式提供给远程用户。远程用户通过PC、PDA、笔记本电脑或手机访问Web页,将各种控制数据送回Web监控系统。Web监控系统再将这些控制数据通过过程网关传送给现场设备,这样就完成了对现场设备的远程监控。当然,远程的用户也可以通过直接访问过程网关来实现远程的监控。由于Web监控系统以HTML的形式来传送消息和过程网关提供的Web Service的防火墙友好性,因此不管使用那种方式来进行远程监控,都不会受到防火墙的限制。


  6.2 嵌入式Linux的远程监控系统的设计方案

 

  系统结构图如下:

图3 远程监控系统结构图


  嵌入式设备作为Web Server直接接入Internet/Intranet 同时进行数据采集。
  Linux开放的源代码、强大的技术支持、良好的可扩展性及对众多硬件的支持都是它嵌入化的优势。所以选择嵌入式Linux为操作平台,结合成熟的Web技术来进行远程监控系统的设计。(e-works)

0
相关文章