您的位置:控制工程论坛网论坛 » 自动化软件 » 紫金桥软件批量数据校对的实现

zijinqiao

zijinqiao   |   当前状态:在线

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

注册时间: 2007-01-15

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

空间 发短消息加为好友

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

zijinqiao  发表于 2015/2/4 11:23:34      1074 查看 0 回复  [上一主题]  [下一主题]

手机阅读

现场应用中经常会涉及到数据的比对例如对紫金桥实时库和关系库的数据进行比对可能有多个解决方案但是通过内置sql和通用数据表的使用可以方便快速的实现 下面介绍的事例就是通过二者结合实现紫金桥的历史数据和关系库的数据进行对比的功能

 

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

 

下面是系统架构图:

 

 

图一

 

一. 数据库组态:T001T002T003TP001TP002TP003仿真现场数据。

 

 

图二

 

二. 画面组态


 

图三

 

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

 

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

 

 

图四

 

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

 

 

图五

 

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

 

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

 

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

 

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

 

 

 

图六

 

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

 

 

图七

 

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

 

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

 

 

图八

 

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

 

 

 

图九

 

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

 

 

图十

    

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

 

 

图十一

 

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

 

 

图十二

 

五. 运行时的效果。

 

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

 

 

图十三

 

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

 

 

图十四

 

 

图十五

 

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

 

到此,本事例介绍完毕。

 

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

 


1楼 0 0 回复