您的位置:控制工程论坛网论坛 » 自动化软件 » 紫金桥实时数据库“实时数据转储”功能深度剖析

zijinqiao

zijinqiao   |   当前状态:在线

总积分:1659  2024年可用积分:0

注册时间: 2007-01-15

最后登录时间: 2023-01-13

空间 发短消息加为好友

紫金桥实时数据库“实时数据转储”功能深度剖析

zijinqiao  发表于 2015/2/5 13:59:06      701 查看 0 回复  [上一主题]  [下一主题]

手机阅读

背景

 

在紫金桥软件的实时数据库版本中,提供了一组与关系数据库通讯的工具——数据转储工具,数据转储工具包括数据转储组态和数据转储运行两部分。数据转储组态主要用于定义通讯过程和数据交换机制;数据转储运行是数据交换的执行机构,它按照数据转储组态的定义来完成紫金桥软件实时数据库与其它系统关系数据库之间的通讯。但用户在使用过程中会对该功能的配置参数和效率产生疑问,为此,我们对该功能进行全面测试,得出了测试结论为用户提供参考。

 

环境

 

本次测试的测试环境,包括硬件配置、所使用的软件及软件版本号如下所示:

 

表1 紫金桥软件客户端配置表

 

 

 

表2 关系数据库服务器配置表

 

 

 

3 方法及原理

 

3.1 方法

 

测试将3000点、5000点、8000点、10000点、15000点、20000点、30000点、50000点实时数据转储到关系数据库所用的时间。

 

3.2 原理

 

以转储3000点实时数据到关系数据库为例,在关系库记录每条数据的生成时间,生成第3000条数据记录的时间减去生成第1条数据记录的时间就是我们想获取的目标时间。

 

关系数据库中表的列名:UPDATETIME,TAGNAME,TAGVALUE,LOCALTIME

 

UPDATETIME :实时数据采集时间

 

TAGNAME : 点名

 

TAGVALUE : 点参数,这里为PV

 

LOCALTIME : 关系数据库生成此条数据的时间

 

假设第1个点的点名为TAG00000,第3000个点名为TAG02999,则目标TIME为:

 

TIME  =  TAG02999.LOCALTIME  -  TAG00000.LOCALTIME

 

过程 

 

以3000点实时数据转储到关系数据库为例,介绍测试过程,其它点数测试过程与其一致。

1.创建3000点工程,要求所有点保存历史,保存精度为0。

 

2.利用紫金桥COMAPI接口编写自动设值程序给点设值,为3000个点同时设值,值为当前时间的分钟和秒数.

 

如:当前时间为4点30,则设值为430。

 

3.实时数据转储组态

 

创建实时数据转储任务,小于10000点的实时数据转储,只创建一个转储任务,大于10000点的实时数据转储任务,每10000万点创建一个转储任务,剩余不足10000点的数据划分到一个转储任务中。

 

转储任务创建过程如下:

 

在紫金桥软件的安装目录,找到DBMSDEF.exe双击运行,对实时数据转储组态进行配置。

 

 

 

选择【数据库】选项卡,进行如下配置。

 

名称:T3000

 

数据库名称:新建数据源

 

数据表:T3000

 

表结构:窄行(每个位号一个记录)

 

 

 

通过引入功能将3000点导入,如上图。

 

选择【其他】选项卡,进行如下配置:

 

数据流向:实时库到管理库

 

启始时间:置为当前时间

 

更新周期:30秒

 

存储方式:插入

 

保存天数与启用断线恢复:默认

 

点击确定。

 

1.在紫金桥软件的安装目录,找到DBMSDEF.exe双击运行。

 

2.在DBMSDEF.exe的运行界面观察,当发现关系数据库中已经为数据转储创建完表T3000后,停止数据转储运行。通过“Microsoft SQL Server Management Studio”工具查看关系库中的数据转储情况,在数据库“QWE”中修改表“T3000”增加列“localtime”,将此字段绑定为getdate(),数据类型设为DATETIME,这样在每生成一条数据时会自动将数据的生成时间记录下来。

 

3.再次运行数据转储,数据转储运行一段时间后将数据导入Excel中,获取TAG00000点在关系库中的生成时间和TAG02999点在关系库中的生成时间,取两者之差就是我们所要的完成3000点实时数据转储到关系数据库所用的时间。

 

4.每个数据转储最多只能转储10000点,当一个工程需要转储的点数大于10000点时,需要创建多个数据转储。本次测试中转储点数小于10000点的,只创建了一个转储任务。大于10000点转储我们创建了多个转储任务。具体如下表:

 

表3 转储点数与转储任务对应表

 

 

 

5 结果

 

4 转储不同点数数据到关系数据库所消耗的时间

 

 

 

6 结论

 

1.转储不同点数数据到关系数据库所消耗的时间,为用户做参考,如表4。

 

2.创建工程时,一个区域所创建的点数需小于30000点。

 

3.每个实时数据转储任务最多只能转储10000点数据,多于10000点数据,无法转储到关系数据库,如果一个工程中需要做实时转储的数据大于10000点,请建多个实时数据转储任务。

 

4.当转储的点数较大时,在点击实时数据转储组态对话框中【点定义】选项卡时,界面会发生较长时间未响应现象,但不影响使用。

 

5.实时数据转储的效率与计算机硬件配置、网络通讯、SQL软件版本等有很大关系,建议在使用数据转储工具时,先按照工程实际点数测试,得出转储时间,看其能否满足实际需要。

 

有任何关于组态软件的技术问题或需要更多的技术资料,可以在微信(微信号:Realinfo留下联系方式或者到http://www.realinfo.cc/交流论坛提出,我们将及时为您解答。


1楼 0 0 回复