紫金桥跨平台组态软件,跨平台实时数据库共提供了两种方式查询历史数据,下面对这两种方式进行详细介绍。

一、使用函数gethisdata查询历史数据

1、函数介绍

Gethisdata用于查询数据库变量在某一时刻的历史数据。

Void GetHisData(String TagName,Real Time)

函数说明:立刻向数据库检索历史数据。

参数说明:

TagName:数据库变量名称,包括点名和参数(如A1.PV)。

Time: 实型日期时间,精确到毫秒

返回值:void,可返回整型或字符串。

2、函数使用方法

在脚本中输入如下文本:

Local.GetHisData("a1.PV",LongTime("2019/08/08 16:00:00.000"))

以上为查询2019年8月8日16点整a1.PV的历史数据。

Local指查询本地实时数据库。若要查询远程数据源,则输入 “远程数据源名. GetHisData”。例如

在脚本中输入如下文本:

test.GetHisData("b1.PV",LongTime("2019/08/08 16:00:00.000"))

以上为查询远程数据源test中,2019年8月8日16点整b1.PV的历史数据。

二、使用内置SQL查询历史数据

使用内置SQL,可以同时查询多个数据库变量在某时间范围内的历史数据。

以下详细说明通过SQL查询向导生成内置SQL语句,查询历史数据。

1、在脚本中使用查询向导

在脚本对话框中右键,点击“查询向导”。SQL查询向导

在查询向导对话框中,选择要查询的数据源及查询类型。选择本地实时数据库,查询历史数据可同时查询多个数据库变量选择要查询的字段

Value:历史数据,整型或字符串

Name:点名+点参数

DateTime:历史数据的时间

别名:查询返回的数据表中,该查询字段显示的名称。默认为空,即显示字段名。查询返回的数据表中数据的排序方式

可根据查询的字段名按照升序或降序排列。默认为不勾选,即按照上两步中查询点名的顺序排列。查询的时间及类型设置

起始时间:可输入起始时间,或使用起始时间控件。

时间长度:可输入时间长度,或使用时间范围控件。

采样类型:可选择瞬时值、所有值、拐点值、极小值或极大值。

时间间隔:表示每隔多长时间取一条数据。只在查询瞬时值时有效。

操作完成后点击“确定”,会在脚本中自动生成相应的查询语句。使用SQL查询向导生成的查询语句

生成的语句中的查询条件可以根据需要进行修改,查询返回的记录集存储在通用数据表tab中。

附录:通用数据表常见使用方法

通用数据表(ObTable)是一种结构类似于关系数据表的数据表结构,可以把它想象成由若干行和列构成的二维表。通用数据表的不同列的数据类型可以不同,但每一列中的数据类型必须相同。使用时,通常使用列名(字符串)或列号(整型)和行号(整型)来定位到具体的单元格。使用通用数据表可以用来存储一些临时数据,也可以用于临时保存实时数据库或关系库的查询结果。

使用通用数据表函数ObTable定义的对象为临时对象,作用域仅在当前脚本中。在上面的例子中:

使用ObTable定义的对象tab,仅在此鼠标脚本中可以使用。可以在上述脚本后使用其他函数调用tab中的内容。下面列举几种tab的常见使用方法,tab的基本操作请参阅函数手册。

(1)使用msg()函数输出tab中数据:

msg(tab) //弹出通用数据表tab中的数据

(2)使用tab设置表格:

Table.set(tab) //使用tab设置表格数据,表格从0行0列开始

Table.SetAt(tab, Int Row, Int Col);使用tab在指定的位置设置表格数据

(3)使用tab设置XY曲线:

FreeCurveMan.SetByTable(tab) //使用通用数据表设置曲线数据

2、在表格中使用查询向导

新建表格,在要使用查询向导的单元格上右键,点击“单元格属性/查询/脚本”,切换至“单元格”选项卡。表格单元格查询单元格选项卡

排列方式:查询返回的记录集插入到表格中时,软件提供三种排列方式:

覆盖(当前位置向右下覆盖):将查询结果记录集以当前单元格为左上角向右向下覆盖,当行列数不足时自动增加行列。

插入(在当前行之后插入新行):将查询结果记录集插入当前行之后,列数不足时自动增加列。如查询结果记录集为N行数据,则表格将在当前行后新插入N行来放置记录集。

覆盖插入(覆盖当前位置再插入新行):将查询结果记录集先覆盖当前行,然后插入新行放置记录集。如查询结果记录集为N行数据,则表格将在覆盖当前行后再新插入N-1行来放置记录集。

字段显示:设置字段是否显示,可以选择显示在表头或者不显示。

基本选项设置完成后,下一步是数据查询设置,下面分项进行详细说明。

查询描述:显示当前单元格查询内容。

删除查询:删除当前单元格查询内容。

查询向导:点击进入查询向导,使用方法与上一节相同。

表格的查询向导设置完毕后,运行工程,当打开表格所在窗口时,表格会执行已设置的查询。若要重复执行查询,可以在按钮或其他想要触发查询的脚本中,使用表格的updata函数:

Table.Update() //执行表格中的查询

三、查询历史数据注意事项

1、要查询的数据库变量一定要保存历史。

2、不建议在周期脚本中查询历史数据,频繁的查询历史会造成系统卡顿。若要同时查询多项历史,请使用内置SQL。

3、查询所有值,会返回查询时间范围内的所有历史数据;查询瞬时值,是根据查询时间范围、查询间隔返回的历史抽样数据。

例如:

近一小时内,A1.PV的值始终为50,历史数据保存方式为周期一小时保存。

若查询近一小时内的所有值,返回的记录集中只有一条数据,即:

A1.PV 50

若查询近一小时内时间间隔为十分钟的瞬时值,则返回的记录集中会有六条数据:

A1.PV 50

A1.PV 50

A1.PV 50

A1.PV 50

A1.PV 50

A1.PV 50

mysql查询历史时刻数据_跨平台实时数据库查询历史数据的方法介绍相关推荐

  1. mysql被格式化恢复数据_三种常见数据库文件恢复方法介绍

    数据库可以说是一个数据仓库,因此在数据安全方面,每个数据库从备份到恢复,都有自己的一套方法流程.今天我们就从常见的MySQL, SQL以及Oracle三种数据库,来讲讲数据库恢复方法. 首先,最简单的 ...

  2. 计算机网络设置中的网关是什么设备,网关是什么_网关的作用与设置方法介绍 一看就明白...

    网关是什么?对于普通的用户来说,电脑网关不是很明白的,不过接触电脑多了之后,大家也会常常会听到"网关"这个词,那么问题就来了,这个网关是什么意思呢?它又有哪些作用呢?今晚,智能手机 ...

  3. Zemax学习笔记(2)- 镜头数据编辑器及快速编辑器的使用方法介绍

    镜头数据编辑器及快速编辑器的使用方法介绍 1.打开软件自带样例 2.状态栏四种参数 EFFL,WFNO,ENPD,POPR 2.1 EFFL: 2.2WFNO: 2.3 ENPD: 2.4 TOTR: ...

  4. 诛仙3怎么一直服务器维护,诛仙3游戏老是掉线怎么办_诛仙3游戏掉线解决方法介绍...

    诛仙3游戏老是掉线怎么办_诛仙3游戏掉线解决方法介绍 诛仙3经常掉线但又不是网速的锅,通常玩家们会把锅甩给服务器,但是甩锅依然解决不了掉线问题,今天小编为各位玩家带来诛仙3游戏掉线怎么办解决方法,一起 ...

  5. mysql 随机选择数据_从MySQL随机选取数据

    从MySQL随机选取数据最简单的办法就是使用"ORDER BY RAND()"; 方案一: SELECT * FROM `table` ORDER BY RAND() LIMIT  ...

  6. mysql scrapy 重复数据_大数据python(scrapy)爬虫爬取招聘网站数据并存入mysql后分析...

    基于Scrapy的爬虫爬取腾讯招聘网站岗位数据视频(见本头条号视频) 根据TIOBE语言排行榜更新的最新程序语言使用排行榜显示,python位居第三,同比增加2.39%,为什么会越来越火,越来越受欢迎 ...

  7. mysql schema 保存数据_在MySQL中,所有触发器的定义都保存在information_schema数据库下的()表中。_学小易找答案...

    [单选题]如何将英制 的零件转为公制的零件 ( ). [判断题]连续选择边线创建倒角时,不能单独修改某一边线的倒角大小 [判断题]创建筋特征时截面必须是闭和的 [填空题]Hibernate 的会话接口 ...

  8. mysql 查找相似数据_跳槽必备:MySQL高频面试题,都在这了!

    前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面 ...

  9. mysql 查找相似数据_数据库存储引擎大揭秘,不看不知道这里面的骚操作可真多!...

    吊打各种树这篇文章 带大家学习一遍数据结构中的各种树,对数据结构还不够熟悉的同学,那篇文章可以作为基础入门,我画了很多图理解起来不困难,建议回头先学习下那篇文章,更容易理解本文要讲的内容. 文章里有提 ...

  10. mysql 禁止插入重复数据_防止MySQL重复插入数据的三种方法

    新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...

最新文章

  1. Mac 系统中maven配置环境变量
  2. 中国省市区json分享
  3. 中小企业项目的痛VS感人IT团队
  4. 大整数乘法c语言代码_大整数乘法
  5. 自动化 测试框架部署(python3+selenium2)
  6. MVC应用程序与单选列表
  7. 单独组件_iOS组件化/模块化的方案总结
  8. php如何用菜刀连接getshell,phpmyadmin之getshell总结
  9. ACWING828 模拟栈
  10. springboot电影院订票售票系统毕业设计毕设作品开题报告开题答辩PPT
  11. MySQL基础 — 常用命令
  12. TM1640数码管控制器移植STM32HAL库
  13. linux查看数据库实例名端口号,查看数据库tns配置
  14. 一个杭州人的美国求医经历
  15. 使用python基于git log统计开发代码量
  16. Google Earth Engine(GEE)——美国近地表高精度实时气象数据集(2500米分辨率)
  17. 最先进的智能采茶机器人_采茶机器人、挑茶机器人、智能立体仓储系统等这些在常人眼中颇具科幻气息的设备-新闻头条5dainban...
  18. 金秋杭州游 只为桂花香
  19. DB2相关数据库命令
  20. 使用libCurl进行百度图片翻译一直返回invalid_sign错误

热门文章

  1. 超详细的SpringBoot学习笔记-动力节点王鹤
  2. 图像扭曲(仿射变换)
  3. 扩散模型训练太难?来看看Meta AI最新提出的KNN-Diffusion
  4. PMBOK(第六版) 学习笔记 ——《第十三章 项目相关方管理》
  5. 假设今天是2015年3月1号星期日,计算13个月零6天后是星期几?距离现在多少秒?
  6. 一份来自前端开发工程师的规范简历
  7. 网络营销推广实战宝典 软文推广
  8. oracle gbk 无法识别,oracle 字符集总结(超出GBK范围的字符存取问题未解决)
  9. 学习通否认 QQ 号被盗与其有关:已报案;iPhone 14 量产工作就绪:四款齐发;简洁优雅的软件早已是明日黄花|极客头条
  10. poj 2454 随机化(划片使得选举胜利)