网络通信 频道

基于Internet的电厂实时监控图形显示技术应用

  4 应用实例

  对于电厂远程监控系统,不仅要访问实时数据信息,而且还要将实时数据直观地显示在客户端屏幕上。为此,我们采用Visio 2000来进行画面组态,把组态的画面供ActiveX控件调用,其中用Visual C++来设计ActiveX控件[5]。

  下面是系统中的机组运行分析曲线控件"Trendlineshow1.ocx",其属性如下所示:Host:运行服务代理的主机名或IP地址;Graphics:图形文件的URL;AutoRefresh:是否自动刷新;RefreshTime:刷新周期,缺省为5s;AutoSize:决定是否根据图形大小自动改变控件大小,缺省为真。

  控件的工作过程如下:(1)利用CDataPathProperty类异步下载图形文件,自动缓存在本地机器中,需要时则直接从缓冲区中读取,加快了执行速度;(2)利用CSocket类与服务代理建立TCP连接;(3)根据刷新周期启动定时器;(4)处理定时器消息(WM-TIMER),根据图形文件中实时元件的定义向服务代理请求数据,并刷新图形数据显示。

  其ASP网页部分代码如下:

  <H2 align="center">#4机组运行分析趋势曲线</H2>

  <OBJECT  id="trendlineshow1"  style="Z-INDEX:100;LEFT:-2px;POSITION:absolute;TOP:45px" codeBase="http://10".1.32.222/ocx/show1.ocx  classid="clsid:1A2D46F5-434C-42A1-1A9E7B9A2B8B">

  <PARAM  NAME="_ExtentX"  VALUE="2312">   <PARAM  NAME="_ExtentY"  VALUE="1132">

  <PARAM NAME="SQLServerName"  VALUE="websvr"> <PARAM  NAME="UID"VALUE="RMDSUser">

  <PARAM  NAME="PWD" VALUE=""> <PARAMNAME="DataBaseName" VALUE="rmdsdb"></OBJECT>

  这里,网页代码中提供了OCX的ClassID和文件的URL。客户端浏览时,会在本地注册表中查询该OCX的ClassID,如果本地没有该的控件,或其版本不是最新时,浏览器会自动按照CodeBase指定的路径从服务器下载控件并安装注册到本地机器上。客户端用IE浏览时,其安全级别设置为拥有合法代码签名的ActiveX控件下载。

0
相关文章