在实际应用中有的用户可能会问,紫金桥组态软件可以通过报警,趋势,报表等手段对于一个控制过程进行动态监控。那么,可不可以借助紫金桥组态软件把关系库中的某一字段值的变化动态表现出来,便于用户监控,答案是肯定的。紫金桥组态软件提供了多种手段从关系库读取数据,比如:数据转储,sql函数,自由报表等。本文给出了通过自由报表从关系库读取数据的解决方案。
由于没有具体的环境,所以在实现应用的过程中是通过向关系库中周期插入数据实现关系库数据动态存储。具体就是通过绑定表向Accesss中的数据表TABLE_1周期插入数据,ID字段自动编号、递增,其他字段数据每十秒中插入一条记录。再通过自由报表读取并插入紫金桥的历史库中,然后在紫金桥画面上动态显示,形成类似实时显示的效果。
Access中的数据表TABLE_1截图
下面具体介绍一下实现的过程:
一.在紫金桥开发环境里进行数据库组态
1.双击数据库/点组态
数据库组态图一
2.在弹出的点组态对话框里进行点组态。
数据库组态图二
注:
1.a001-a004产生的数据用来动态插入关系数据库。
2.FLOW,TEMP,MASS,PRESS是模仿工业现场的实时变化的量。这四个位号要保存历史,同时要做报警组态。
3.rp是报表关系数据源点。
二. 画面组态。如下图:
画面组态图
注:
1.在画面上分别新建了两个自由报表,一个用来存放关系库中当前的记录数,一个用来存放关系库中最后更新的一条记录。
2.一个增强型报警组件,用来显示点的报警信息。
3. 一个历史趋势组件,用来查看点的历史趋势。
4.在画面上组态了点FLOW,TEMP,MASS,PRESS的PV参数值的模拟输出,通过PV参数值的动态变化,证明了从关系库到紫金桥历史库数据插入的成功。
三.画面脚本组态
画面脚本分为两个部分:
1. 把数据从关系库读入自由报表。共分两步,其中步骤一是读取数据表的记录数。步骤二是读取数据表最后一条记录。下面给出了详细介绍。
脚本步骤一图
脚本步骤二图
下面给出脚本的逻辑图:
脚本逻辑图
2.把数据从自由报表读入紫金桥数据库。
如下图:
数据读入紫金桥数据库图
把自由表报的单元格中的数据赋给数据库中的点FLOW,TEMP,MASS,PRESS的PV值。
三. 运行工程如下图:
运行效果图
到此,我们就通过紫金桥的自由表报从关系库周期读入数据,并且在画面上动态显示值的变化,并可以通过报警,历史趋势,模拟输出,监控数据变化。当然,这时你也可以方便的在紫金桥软件里,对数据做其它的处理。在这个事例中,关系库就是紫金桥软件的数据源。到此,也就给出了从关系库到紫金桥数据库的一个完整解决方案。