5887|0

23

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

EC2000监控软件实时数据库与客户程序的通讯接口实现 [复制链接]

摘要:本文针对分布式计算机监控软件EC2000实时数据库,阐明了客户程序与EC2000实时数据库的两种数据交换方式,并给出了相应的实现方法。

关键词:实时数据库;通讯;OPC

The Realization of Communication Interface

Between the Realtime Database of EC2000 Software and Client Program
Abstract:  This paper aims at the distributed computer supervise and control software EC2000, illuminates two approaches about the data exchange between the realtime database and client program. The corresponding realization methods are given.

Keywos realtime databasecommunication OPC

1 引言

EC2000为国家电网公司电力自动化研究院自动控制所研发的具有自主知识产权的分布式计算机监控软件,主要应用于水利水电自动化领域。EC2000采用C/S结构模式,采用面向对象的设计方法实现。

作为一种分布式的实时监控软件,对于EC2000 实时数据库对外的通讯接口,在EC2000最初功能设计时考虑的是提供统一函数接口供外部客户程序访问,在实际的功能应用中也实现了这一点。而随着工业控 制软硬件技术的发展,OPC作为基于WINDOWS NT操作系统的一种工业控制标准,逐步得到了越来越多的软硬件厂商的支持,为支持最新的技术,EC2000也提供基于OPC规范的接口供外部客户程序访 问。

下面简要介绍EC2000实时数据库对外部客户程序的两种通讯接口方式。

2 采用函数接口方式的数据通讯

EC2000 的实时数据库通过统一的函数接口提供操作接口,用来满足各客户程序的对实时数据库的读、写操作,并充分考虑到数据一致性的读写规则。通过EC2000提供 的函数接口,客户可以方便的通过这些函数接口实时的与本地或者网络上的实时数据库交换数据。客户程序访问EC2000实时数据库的过程如图1所示:

 

函数接口

OpenData

ReqData

ReadData

WriteData

CloseData

AliveData

 

其它

 

客户

共享

缓冲

 

 

 

 

 

 


         图1:采用函数接口方式的客户访问示意图

客户进程访问实时数据库通过函数接口来实现,一般分以下几个步骤:

1)申请客户共享缓冲区

通过调用OpenData()函数来实现,它一般在客户程序开始时调用。

2)请求读操作

客户根据操作要求填写读请求缓冲,并通过ReqData()函数提交给内核进行处理。数据库内核负责根据要求建立客户共享缓冲区。客户户共享缓冲区用于用户接口函数与前景数据库内核之间进行通信。

3)读取数据

通过调用ReadData()函数来读取有关数据,该操作一般在每次读取数据时调用。读到的数据拥有多种属性,如品质,数值,类型等,便于客户程序的数据处理。

4)  写数据

客户根据操作要求填写写请求缓冲区,并通过调用WriteData()函数提交给内核处理,完成各种控制要求。

5)释放用户共享缓冲区

客户进程退出之前,应调用CloseData()函数来释放以前申请的共享缓冲区。

EC2000的多个功能模块中均采用这种方式来实现对实时数据库的数据访问,取得了良好的效果。

3 采用OPC方式的数据访问

由于计算机监控系统的规模越来越大,不同厂家生产的现场设备的种类在不断的增加,而且不同厂家所提供的现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序也就越来越多,而基于COM/DCOM 技术的OPC技术,提供了一个统一的标准,不同厂商只要遵循OPC技术标准就可以实现软硬件的互操作性。目前已有很多监控软件支持OPC技术。 EC2000支持双向OPC,本身既可以作为OPC SERVER供客户程序访问,也可以作为OPC客户访问其他OPC SERVER的数据。有关OPC规范的详细说明不再详述。

客户进程通过OPC 方式访问实时数据库,只要按照OPC规范就可以实现数据的读写。OPC SERVER一般提供两种接口,一类是自动化接口(COM接口),供采用VB,DELPHI等脚本编程语言的应用程序访问,一类是自定义接口供VC++等 语言访问。由于采用自定义接口的客户程序比采用自动化接口的客户程序效率要高,因此下面介绍基于自定义接口的客户异步通讯程序编写。图2为OPC SERVER与OPC客户程序访问结构图

自定义接口

EC2000 OPC SERVER

OPC 客户程序1

OPC 客户程序2

自动化接口

 

 

 

 

 


                     图2:OPC SERVER与OPC客户程序访问结构图

OPC客户异步通讯程序的编写步骤如下:

1)     初始化COM。

2)     创建服务器对象,建立与服务器的连接,获得服务器接口。

3)     创建GROUP对象,设置数据刷新速率,死区等参数。

4)     GROUP对象中添加需要操作的ITEM。

5)     设置回调函数。

6)     如果有数据变化超过死区范围,或者数据品质变化,服务器自动将变化的数据发送到客户户共享缓冲区,客户程序根据共享缓冲区的数据实现数据的读取。

7)     如果需要进行写操作,采用异步写实现。

8)     退出时删除ITEM,删除GROUP对象,删除服务器对象,释放客户共享缓冲区。

4 结束语

    以上两种方式都很好的实现了EC2000实时数据库与客户程序的数据交换,而且均具有良好的开放性和实时性。采用函数接口的方式适用于各种应用程序,而采用OPC的方式适应了国际通用的工业控制标准,代表了技术发展的方向。

 

参考文献:

[1] EC2000系统应用手册

[2] opc Data Access Custom Interface Standard Version 2.04, September 5,2000

[3] opc Data Access Custom Interface Standard Version 2.05A, June 28,2002

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表