您现在的位置:机电论文网>> 系统集成>> 正文内容

基于B/S结构在线监控研究应用

作者: 来源: 发布时间:2006/1/22 23:58:34  点击数:4664

【论文摘要】简述了DCOM、ActiveX等组件模型,结合ASP技术在Internet/Intranet环境下实现了基于Browser/Server结构锅炉在线监控。该系统在DCOM技术基础上通过ADO编程实现数据传输和访问,结合ASP和ActiveX控件技术实现动态发布和在线监测。


 
1 引 言

随着计算机技术发展和组件模型技术的成熟,计算机技术在工业控制领域应用越来越广。为实现分布式网络拓扑结构和开放式管理模式,在 Internet环境建立基于Browser/Server(简称B/S)结构远程监控系统是发展趋势。早期的Web只能显示静态超文本,通过公共网关接口(CGI),或特定的Web服务API接口也只能产生交互界面。JAVA实现了动态Web,但由于JAVA小程序按需下载、类库不完备和CGI接口效率低,使得单独使用JAVA开发动态Web代价过高。微软的组件对象模型COM/DCOM可以在分布异构环境实现基于对象的软件复用性、可转移性和互操作性。而ActiveX部件技术支持Internet下载并在服务器中运行。ActiveX融合到Web系统中,综合COM的可扩展性建立了成熟的动态Web技术。本文基于组件模型开发了B/S结构锅炉在线监控系统,系统在DCOM技术基础上通过ADO编程实现数据传输和访问,结合ASP(ActiveX Server Page)和ActiveX控件技术实现动态发布和在线监控。运行表明,基于组件对象模型的B/S结构控制系统具有灵活性、可扩展性和远程控制方便的特点。

2 DCOM和ActiveX技术概述

组件技术COM/DCOM是Miscrosoft的组件对象模型,目标是在分布异构环境里发展基于对象的软件复用性,可转移性和互操作性,建立对象管理模型,实现处于不同计算机上的程序间通讯与代码复用。DCOM实际上是一项协议,它能让软件以安全高效的方式通过网络进行直接通讯。基于DCOM
处理网络通讯的底层问题,运用DCOM技术实现了对远程计算机的简单监控,通过加入定时控件实现定时监控,同样也可添加监控内容,实现对远程机当前显示画面监视。

ActiveX是建立在组件对象模型(COM)之上的可重用技术,过去称为OLE,后来被扩展,重命名为ActiveX。ActiveX分为Server端和Client端两部分。Server端以IIS为操作平台,结合CGI、PERI、ISAPI、ODBC实现数据连接。Web与ActiveX的集成,把ActiveX融合到Web系统中,兼顾了ActiveX部件的可扩展性和Web的易用性易实施性。

ActiveX服务器页ASP(ActiveX Server Page)是服务器的脚本文件,可以是HTML、VBScript或JavaScript。通过ASP编程,设计灵活自由,具有与浏览器无关性。当用户访问一个ASP时, Web Server先调用并读取ASP文件的全部内容,之后开始执行所有的Script命令,生成标准HTML页,再把这些HTML页传到用户端的浏览器上完成操作。ASP访问数据库的流程如图1所示。
 


图1 ASP访问数据库流程图

3 系统设计

3.1 本文所设计的锅炉在线监控系统是在东北大学秦皇岛分校罗克韦尔实验室局域网环境内,以“锅炉控制系统”为被控对象的工业模拟。通过公用电话网可以连入Internet,将锅炉温度、液位、流量、张力四个数据参数采集处理,以Web形式网上发布。利用微软的ASP与ActiveX控件中的Mschart相结合来实现Web数据的实时显示。系统克服了组态软件报表难、动态发布实时性差、客户端数量受限等缺点。可以通过棒状图直观显示被控参数,生成曲线趋势图,打印历史记录等。

3.2 硬件组成
本系统是由一台工控机服务器、一台总服务器(安装数据服务器和Web服务器)、两台客户机、四个PLC(可编程逻辑控制器)一个Modem及一组锅炉系统模型组成。系统框图如图2所示。PLC与传送器直接相连,传送采集的数据;工控机服务器用于监控现场的PLC,获取被控设备的实时数据并把数据存储到数据服务器上,同时向PLC发送控制命令对被控设备进行远程操作;总服务器既充当数据服务器又充当Web服务器并有网关功能,负责工控机与局域网中客户间数据转发;数据服务器接收数据且是 Web服务器的数据源;局域网客户机能从数据服务器获取数据,监视现场运行情况,同时它们具有向PLC发送控制命令实现远程操作的能力。WEB服务器通过ActveX Data Objects (ADO)编程与数据库服务器相连。
 


图2 系统结构图

3.3 软件设计
软件设计方案如下:工控机服务器配置DCOM组件,包含从PLC获取实时数据并储存到数据服务器上的数据库的功能和向PLC发送控制命令的功能,数据服务器端DCOM组件负责从数据库获取数据并通过ODBC接口与SQLServer数据库实现通讯。客户机调用该组件直接和数据库通讯,数据库组件有把自己复制到客户机上的功能,而此时客户机实际已经不再和数据服务器上的数据库组件相连接,而是与该组件的一个本地副本连接着。DCOM组件根据当前设备数据进行分析计算,为客户操作提供专家方案。数据库数据作为WEB的后台数据库通过ADO技术与Web数据服务器相连,为Web提供实时数据。通过IIS可以对用户授予不同级别控制权限,提高安全性。

4 系统实现方案

在本系统中,组件服务器端(工控机服务器与数据服务器)的操作系统为 Windows 2000 Server,数据库系统是SQL Server 2000,客户端操作系统为Win 2000 Pro;采用的开发工具是VC++6.0其中组件开发采用VC6.0提供的ATL开发,组件客户采用MFC开发。通过 ADO方式建立数据服务器和IIS服务器连接。Internet客户通过公用电话网不需要安装应用程序,通过浏览器就可以访问 Web服务器页,Web页以棒状图、曲线趋势显示信息,页面反复刷新对设备运行情况实时显示。有管理权限的人员可以随时随地获取目前设备参数情况,可以很好的把握系统的整体运行状态,随时随地发现问题解决问题而不必受到时间和空间的限制。

4.1组件服务器
以工控机服务器上的DCOM组件为例。组件中封装了一个COM类Cipc,它提供一个用户接口Lipc。通过这个接口为COM客户提供两种方法;一是给PLC发送控制命令:sendorder();二是向数据库服务器中写受控设备的实时数据:writetosqlserver()。通过ATL建立一个COM组件项目ipcserver,在项目中添加一个ATL对象。设对象属性“线性模型”为“Free”(即多线程套间MTA),一个程序只能有一个MTA,在一个线程以CoInitializeEx(NULL,COINIT_MULTIT- HREADED)初始化COM后,其它线程也以CoInitializeEx(NULL,COINIT_MULTITHREADED)初始化,COM就会进入同一个MTA,也就是说在一个MTA中可以有多个线程,里面的线程可以自由使用组件支持的接口指针。之后为这个ATL对象添加接口Lipc.

最后为接口Lipc添加两个方法函数sendorder()和writetosqlserver(),在ipc.cpp文件中定义两个方法函数sendorder()和writetosqlserver()完成了组件服务器的配置。

4.2 Web数据源解决方案
ActiveX对象在包装中提供存储的可重用代码,它通过属性、方法和时间提供了到对象的访问。此外,ActiveX对象与使用它的应用程序在相同的进程空间运行。ActiveX提供了一种标准机制,使用可重用对象来扩展任何编程语言和脚本编写语言。ActveX Data Objects(ADO)是提供了OLEDB接口的ActiveX对象,因此也可以通过ADO访问数据库。

本系统通过ADO方式建立Web数据库与QSL数据库的连接。

4.3 Web数据库访问
基于DCOM技术Web数据库得到按一定组织结构存放的各种现场数据的信息。实现通过浏览器访问Web数据库的解决方案较多,传统的有CGI方式,简单的站点数据库访问有IDC(Internet Database Connector)和ADC(Advanced Data Connetctor),在工业监控系统中使用这种Web数据库访问方式明显不合适。完整的数据库访问方式为ADO与ASP。利用ASP可以集成Scripts语言到HTML主页的特点,产生和执行动态、交互式、高效率的Web服务器应用程序。在ASP中采用ADO对数据库进行访问,通过建立对象把访问数据库的细节高度抽象,充分利用了ADO结构优化上的ActiveX Object就是ADODB。利用ADO访问数据库的简单步骤为:

1)使用ASP的Server对象“Server. Create Object”建立要连接的对象,并用“Open打开待访问的数据库。如:
Set ConnDb = Server.CreatrObject(“ADODB.Connection”)
ConnDb.Open”数据库名称”;//数据库名称在ODBC中设定

2)设置SQL命令,使用“Execute”开始执行访问数据库的动作。如:
set Reco=ConnDb.Execute(SQL命令)

3)使用ADO的Recordset对象提供的命令,得到访问的结果。如:
Reco.getrows:将访问结果存于数组中

4)访问结束后,关闭数据库。如:
Reco.close;ConnDb.close;

4.4 Web发布实现
Web动态发布通过ActieveX控件对象开发实现。首先,实现数据源接口,解决控件对象显示信息的数据源问题。其次,图形绘制和图形显示,主要把实际数值转化为计算机屏幕坐标点的位置,再应用各种平面图形图元(点、线、矩形、圆)将数据系列在屏幕上绘制指定的图形形式,如曲线图、柱形图、散点图或其他图形类型。最后,图形显示功能扩展,实现图形绘制和显示,满足了实际需要,通过控件对象提供的丰富的外部接口函数,可以实现数据查询、数据编辑、智能信息提示,图形区域选择,图形移动,图形尺寸调整,图形放缩、数据记录打印等实用功能。图3为本系统Web显示画面,采用VC++6.0作为开发工具,有了MFC类库的支持使得ActiveX控件的开发更快、更简便,调用方便易于维护。ActiveX是OLE在Intranet/Internet上的扩展,具有直接将图形控件应用于动态,在浏览器上实现图形功能。

 


图3 网上发布图

5 结论

本文设计的基于B/S结构锅炉在线监控系统具有通用性,可扩展性和远程控制能力。利用ASP技术实现对实时数据的访问方案,解决了Internet上实时监控问题,结合ASP与ActiveX控件,以直观的形式、及时的信息、流行的模式实现了工业模拟,为现代化管理提供了有利手段,具有较强的实用性和实际参考价值。运行表明,该系统具有数据准确、使用方便、扩展性强、安全性高等优点。


参考文献(References)
[1] RichardPeterson.Network Multi-media Communication
[2] Johnson S.Active Server Pages详解.新智工作译.北京:电子工业出版社,2000。
[3] 王国荣,ActiveX Server Page&数据库.北京:人民邮电出版社,2000
[4] 梁毅.动态Web网页技术与数据库应用.北京:电子工业出版社,1999
作者简历:
东北大学秦皇岛分校学生,主要研究远程监控和OPC技术
曾发论文:《制造业自动化》2004年2月
《OPC技术及其在组态软件中的应用》

作者单位:东北大学  
地址:东北大学秦皇岛分校143信箱 066004 
Email:lee.ralab.neuq.e@eyou.com

更多
字体:【】-【】-【】【关闭此页

上一篇:谈电磁流量计的选用'   下一篇:浅谈差压变送器的迁移'


特别声明:机电之家(http://www.jdzj.com )所共享的机电类资料,机电论文、机电类文章、机电企业类管理制度、机电类软件都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。购买的论文都出自原创,保证作者的原创的版权的转让,任何纠纷由法律解决。