注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

紫金桥软件

大庆紫金桥软件技术有限公司—监控组态软件,实时数据库,管控一体化专业厂商

 
 
 

日志

 
 

紫金桥组态软件内置SQL查询历史数据功能  

2015-08-28 10:25:29|  分类: 技术文章 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关键词:紫金桥,组态软件,SQL,历史数据查询,自由报表 

紫金桥监控组态软件的内置SQL查询功能,主要用于紫金桥实时数据库查询历史数据和报警记录,还可以查询实时数据和统计数据,配合自由报表和起始时间控件,能够快速灵活的查询需要数据。

下面通过示例工程介绍内置SQL查询历史的使用方法。

首先来看一下运行时的画面:


紫金桥组态软件内置SQL查询历史数据功能 - dqzijinqiao - 紫金桥软件

 

示例中使用了两个时间组件,一个自由报表,三个按钮。查询历史数据之前必须先连接数据源,右上方有显示连接数据源的结果,是连接正常或是故障。连接状态显示正常后,分别选择查询数据的起始和结束时间,然后单击‘查询全部历史’按钮,在下面的列表就会显示已经查询到的历史数据。查询某一时刻的历史,选择起始时间即可,无需选择结束时间,然后单击‘查询某刻历史’,在报表中就能够显示查询到的该时刻的历史值了。 

在组态中给各组件命名,开始时间组件的名称是time1,结束时间组件的名称是time2,报表名称是fr。三个按钮功能我们按照字面意思理解即可。

下面我们来看一下脚本部分:

连接数据源:

此部分只有一行脚本,其功能是连接‘本地’数据源,将返回值赋给一个窗口变量,用于查看数据源连接是否成功,连接状态就是通过窗口变量‘ZT’做动画连接显示的。

ZT = #ObSql.Connect("");

查询历史数据:

这部分脚本分成了几个部分,具体见下面的截图:


紫金桥组态软件内置SQL查询历史数据功能 - dqzijinqiao - 紫金桥软件 

这部分脚本内容简单的说明一下,第一部分就是定义临时变量,为了下面的使用方便;第二部分是把整型的时间值(紫金桥软件里的时间默认都是整型值)转换成字符型,用于下面拼接字符串;第三部分应该算是关键的部分,这里使用了内置SQL函数查询历史数据,而且字符串拼接需要特别注意,稍有大意就会导致数据查询不成功。因为是示例工程,只做了两个数据点,如果数据点较多,这部分字符串的拼接脚本可能要复杂一些;第四部分比较简单,就是控制报表的行数,如果本次查询的数据少于16条,那么报表保留16行,如果本次查询数据多于16条,那么按照数据的数量调整报表的行数;最后一部分是将二维表里的数据显示到报表中,该循环语句中每执行一次循环,是将二维表里的一条数据的时间、点名、数值放到报表的一行中,这部分主要需要注意的是二维表里数据的列号,如果取错了列号,那就不是需要的数据了。

查询某时刻的历史值:

下面来看一下查询时刻历史的脚本,截图如下:


紫金桥组态软件内置SQL查询历史数据功能 - dqzijinqiao - 紫金桥软件

 

这部分脚本与查询全部历史的差别不是非常大。因为查询的是某一个时刻的历史,所以这里只需要一个时间点即可;关于报表行数,由于本例中只用了两个数据点,所以某刻的历史只会有两条数据,无需控制报表行数,直接保留16行;另外一点就是内置SQL查询语句的字符串拼接部分略有不同。

内置SQL查询历史数据的功能介绍就是这样,示例中的脚本可以灵活使用,以后会陆续发布关于内置SQL查询的其他三个功能。

  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017