组态王报表的一种方法,行吗? 点击:6768 | 回复:14



hb888

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 15回
  • 年度积分:0
  • 历史总积分:106
  • 注册:2003年4月28日
发表于:2007-05-14 18:34:00
楼主
我在做日报表时有一种设想,因为变量都是定时记录的,我打开报表画面时,自动根据时间把数据填入报表的表格中。这种方法行吗?要用到哪个函数?谢谢!



Hitin

  • 精华:0帖
  • 求助:2帖
  • 帖子:53帖 | 1291回
  • 年度积分:0
  • 历史总积分:2115
  • 注册:2006年12月30日
发表于:2007-05-18 19:52:00
1楼
用ReportSetHistData 函数就可以了。

此函数为报表专用函数,按照用户给定的参数查询历史数据

语法格式使用如下:

ReportSetHistData(ReportName, TagName, StartTime, SepTime, szContent) ;

参数说明:

ReportName:要填写查询数据结果的报表名称 

TagName:所要查询的变量名称, 类型为字符串型,即带引号。

StartTime:数据查询的开始时间,该时间是通过组态王HTConvertTime函数转换的以1969年12月31日16:00:00为基准的长整型数,所以用户在使用本函数查询历史数据之前,应先将查询起始时间转换为长整型数值。

SepTime:查询的数据的时间间隔,单位为秒

szContent:查询结果填充的单元格范围 

例:

查询变量"压力"自2001年5月1日8:00:00以来的数据查询间隔为30秒,数据报表的填充范围为'a2 :a50', 表示竖排第一列从第二行到第五十行。

long StartTime; (StartTime为自定义变量)

StartTime=HTConvertTime(2001, 5, 1, 8, 0, 0); 

ReportSetHistData("历史数据报表", "压力", StartTime, 30, "a2:a50");

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-05-18 20:22:00
2楼
楼上,如果我想实现按照开始时间和结束时间查询变量的报表如何操作,组态王的历史报表查询不怎么好用,我有11台设备联网,希望能够单独查询各自设备的报表。

Hitin

  • 精华:0帖
  • 求助:2帖
  • 帖子:53帖 | 1291回
  • 年度积分:0
  • 历史总积分:2115
  • 注册:2006年12月30日
发表于:2007-05-19 13:00:00
3楼
自控小生: 
同样是使用ReportSetHistData函数。
1.首先定义一个变量叫“时间间隔”,用途:报表中一行和下一行的时间间隔,这个变量允许用户修改。建立一个画面,在画面上添加报表
2.建立自定义函数,查询代码写在此自定义函数中。
3.实现过程:
3A.用HTConvertTime函数将“开始时间”和“结束时间”转换成以秒为单位的长整型数。
3B.使用while循环结构完成查询。在while循环内,首先判断当前查询时间是否到达“结束时间”,若没有继续操作,若达到,则退出循环。其次,在报表第一列填写时间信息。再次,使用ReportSetHistData函数在第二列填入需要查询的内容(数值)。最后,将“查询时间”加上“时间间隔”继续循环。

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-05-22 21:33:00
4楼
谢谢楼上的回复,能否给个例子学习一下?我的邮箱:hpwangcheng@yahoo.com.cn

yifei007

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年3月31日
发表于:2009-03-31 15:24:16
5楼

可以给我一个例子吗?多谢多谢多谢多谢多谢多谢多谢多谢多谢多谢多谢多谢多谢!

我的邮箱地地址gu_y_f@yahoo.cn

冰鱼的泪

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年1月08日
发表于:2009-04-14 13:10:36
6楼

我也想要一个报表的实例  方便的话发个给我谢谢  拜托了

sunbing0329@163.com

lyf_143

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2008年2月26日
发表于:2009-05-26 17:34:06
7楼

我也想要一个实例lyf_143@163.com

hjl1234

  • 精华:1帖
  • 求助:0帖
  • 帖子:41帖 | 397回
  • 年度积分:0
  • 历史总积分:1288
  • 注册:2005年9月14日
发表于:2009-07-23 09:27:38
8楼
我想定时存储一个报表(名)如何做?如做个按钮,当按下后,定某个时间(可设)存储到指定的文件里?

水中的蓝天

  • [版主]
  • 精华:1帖
  • 求助:3帖
  • 帖子:55帖 | 1688回
  • 年度积分:0
  • 历史总积分:13063
  • 注册:2004年4月02日
发表于:2009-07-23 17:57:11
9楼

可在事件命令语言中做定时存储。

anlylwq

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年10月24日
发表于:2009-12-21 11:34:10
10楼

能否给我发个实例anlylwq@163.com

guoliang5865

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年9月03日
发表于:2010-01-22 15:52:38
11楼

我也想要一个实例,请发给我xuere@yeah.net

刘春良

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 15回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2005年11月17日
发表于:2010-08-31 14:26:15
12楼

可以用EXCEL办法提取组态王数据库中的数据啊?

guoweihdu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2010年12月22日
发表于:2011-09-28 16:16:09
13楼
大家好,我也需要一个历史数据查询的例程,能分享吗?邮箱:guoweihdu@163.com

125195659

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 4回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2014年4月27日
发表于:2014-04-27 22:22:00
14楼

求分享这个例子125195659@qq.com


热门招聘
相关主题

官方公众号

智造工程师