中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

紫金桥软件realinfo

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 紫金桥软件realinfo → 浏览主题: 紫金桥软件批量数据校对的实现
发表新帖 回复该主题
回帖:0个,阅读:259 [上一页] [1] [下一页]
* 帖子主题:

紫金桥软件批量数据校对的实现

分享到
9224
紫金桥软件
文章数:2040
年度积分:50
历史总积分:9224
注册时间:2006/1/6
发站内信
发表于:2015/2/3 11:26:01
#0楼
现场应用中经常会涉及到数据的比对,例如:对紫金桥实时库和关系库的数据进行比对,可能有多个解决方案,但是通过内置sql和通用数据表的使用可以方便快速的实现。 下面介绍的事例就是通过二者结合实现紫金桥的历史数据和关系库的数据进行对比的功能。

本事例是针对现场实际的需求写的,具体需求是:实现读取紫金桥历史库里的数据进行运算即当天数据减去前一天的数据的差值(并保存到关系库中),和取自关系库中第三方提供的数据进行对比,进而实现数据校对的功能。这里为了系统的调试把前一天的数据使用画面上的时间控件(#_starttime)值来替代,当天的时间用时间控制加一分钟后的值来代替。

下面是系统架构图:

附件 001.jpg
图一

一.数据库组态:T001,T002,T003,TP001,TP002,TP003仿真现场数据。

附件 002.jpg
图二

二.画面组态

附件 003.jpg
图三

起始时间控件:_starttime系统调试时,设定值作为当天时间。

自由报表:nTagName,保存需要查询pv值历史的点的点名。

附件 004.jpg
图四

自由报表:nTagVal,内置 sql返回的点名、前一天8点的值、当天8点的值、时间戳(当天的时间yyyy/mm/dd 8:00:00)

附件 005.jpg
图五

内置sql对象:MyInsql,查询历史数据。(详细使用见紫金桥的相关文档)

通用数据表:MyTable,用来作为数据缓存。(详细使用见紫金桥的相关文档)

三.关系库里建两个关系数据表

表1存储从历史库查出的当天和前一天的差值。

附件 006.jpg
图六

表2是一组从其他系统读入的校准值即准确值。

附件 007.jpg
图七

四.运行时的控制逻辑实现

1.在窗口进入窗口脚本里使用间接变量指向TP001,TP002,TP003,这样对TNum[0], TNum[1], TNum[2]的操作就等于对TP001.PV, TP002.PV, TP003.PV的操作。

附件 008.jpg
图八

2.定义通用数据表对象和实型数据变量,字符变量。

附件 009.jpg
图九

3.通过内置sql对象查询“前一天”和“当天”的历史。

附件 010.jpg
图十
   
4.计算二者的差值写入到紫金桥实时库中(TNum[i] = val1 – val2,见第1步)并插入关系库的表一中。

附件 011.jpg
图十一

5.把时间基、“当天”、“前一天”、差值以及校正值插入自由报表nTagName内显示。

附件 012.jpg
图十二

五.运行时的效果。

软件系统,在时间控件里设置一个时间。大约一分钟后查看画面如下效果:

附件 013.jpg
图十三

关系库里的表一和表二如下:

附件 014.jpg
图十四

附件 015.jpg
图十五

注意:表2因为没有实际的现场环境,为了测试需要手动写入了一些数据。

到此,本事例介绍完毕。

有任何关于组态软件的技术问题或需要更多的技术资料,可以在微信(微信号:Realinfo)留下联系方式或者到http://www.realinfo.cc/交流论坛里提出,我们将及时为您解答。
打造民族品牌  铸就工控业绩
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002