组态王 历史数据查询例程说明文档
组态王历史数据查询
![组态王历史数据查询](https://img.taocdn.com/s3/m/c316492e8bd63186bdebbcba.png)
历史数据查询1. 功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2. 工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)、电压(IO实数类型)、电流(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
组态王教学-历史数据查询例程
![组态王教学-历史数据查询例程](https://img.taocdn.com/s3/m/20aa8e69ce2f0066f433225c.png)
组态王历史数据查询例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建报表: (4)3.2) 命令语言: (5)4.进入运行系统: (10)四、注意事项 (14)图表图一报表 (4)图二报表设计 (5)图三历史数据报表 (5)图四快捷菜单 (6)图五按钮属性 (6)图六按钮属性 (6)图七动画连接 (7)图八选择函数 (8)图九命令语言 (8)图十打印报表 (9)图十一历史数据查询画面 (10)图十二报表属性 (11)图十三时间属性 (11)图十四变量属性 (12)图十五变量顺序设置 (12)图十六历史数据查询 (13)图十七报表打印 (14)一、功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
二、工程实例我们举一个例子来说明日报表的实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
用组态王做日历查询数据报表说明
![用组态王做日历查询数据报表说明](https://img.taocdn.com/s3/m/51521f8368dc5022aaea998fcc22bcd126ff428a.png)
组态王简单报表组态王目前我们应用的主要有两个版本:6.55和7.5.在2021年后基本应用7.5版本。
下面以先做一个日历控件日报制作简单说明。
准备工作:历史数据报表是从组态王的历史库中查询相关变量的历史数据,并在历史数据报表内显示,因此对历史数据报表要查询的数据必须设置历史记录属性。
在组态王中,离散型、整型和实型变量支持历史记录,字符串型变量不支持历史记录。
组态王的历史记录形式可以分为数据变化记录、定时记录(最小单位为1分钟)和备份记录。
记录形式的定义通过变量属性对话框中提供的选项完成,需要查询到报表的变量都要进行记录设置,完成设置之后在数据词典中定义字符串变量“选择日期”用于日历控件的查询。
准备工作完成后开始设计报表。
一.因为组态王6.55版本自带HTconvertTime的函数,最大时间支持到2019,查函数手册如下所以组态王6.55版本的项目,2020年以后的报表数据无法通过日历控件查询,必须先更新HTconvertTime的函数。
组态王7.5版本的项目,不需要做此工作,6.55版本的项目更新方法如下:1、在命令语言里面,自定义函数命令里面新建一个函数。
2、函数声明里面选择LONG,后面的填NewHTconvertTime(long years,long months,long days,long hours,long minites,long seconds)。
(此名字随便起),填完名字把脚本拷贝粘贴进去。
(看不懂也没关系,粘进去就能用)脚本填写内容为:long rest;rest = 0;long yearsofdays; long monthsofdays; long ofdays;long ofminites; long utcyear;long utcmonth; long leapyears; long leapzt; yearsofdays = 0; monthsofdays = 0;utcyear = 1970;utcmonth = 1;leapyears = 0;while(utcyear < years){ if(utcyear % 4 ==0 && utcyear % 100 !=0 || utcyear % 400 ==0) leapyears = leapyears + 1;utcyear = utcyear + 1;}yearsofdays = (years - 1970) * 365 + leapyears;if (months == 1)if (months == 2)monthsofdays = 31;if (months == 3)monthsofdays = 59;if (months == 4)monthsofdays = 90;if (months == 5)monthsofdays = 120;if (months == 6)monthsofdays = 151;if (months == 7)monthsofdays = 181;if (months == 8)monthsofdays = 212;if (months == 9)monthsofdays = 243;if (months == 10)monthsofdays = 273;if (months == 11)monthsofdays = 304;if (months == 12)monthsofdays = 334;if (years % 4 ==0 && years % 100 !=0 || years % 400 ==0 && months >=3)ofdays = yearsofdays + monthsofdays + days;elseofdays = yearsofdays + monthsofdays + days - 1;if (hours >= 8)ofminites = ofdays * 24 * 60 + (hours - 8) * 60 + minites;if (hours < 8)ofminites = (ofdays - 1) * 24 * 60 + (hours + 16) * 60 + minites;//calculate resultszx;rest = ofminites * 60 + seconds;return rest;3、新建完成之后对于原来2020以前的项目,将以前用到的HTconvertTime函数替换成NewHTconvertTime不要漏掉(组态王7.5版本的项目,不需要做此工作),6.55版本新项目就直接用此函数。
组态王历史数据查询
![组态王历史数据查询](https://img.taocdn.com/s3/m/c48d23c8cf2f0066f5335a8102d276a2002960ce.png)
历史数据查询1. 功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2. 工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力〞、“温度〞、“密度〞、“电流〞、“电压〞,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口〞驱动,定义设备名称为“PLC〞。
3.2定义变量在组态王中定义五个变量:压力〔IO实数类型〕、温度〔IO实数类型〕、密度〔IO实数类型〕、电压〔IO实数类型〕、电流〔IO实数类型〕。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,存放器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和平安区选择“数据变化记录〞,变化灵敏度选择“0〞。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,存放器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和平安区选择“数据变化记录〞,变化灵敏度选择“0〞。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,存放器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和平安区选择“数据变化记录〞,变化灵敏度选择“0〞。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,存放器DECREA100,数据类型short,读写属性为只读,采集频率1000。
组态王历史数据查询例程
![组态王历史数据查询例程](https://img.taocdn.com/s3/m/8c47f9cb9ec3d5bbfd0a744a.png)
组态王历史数据查询例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建报表: (4)3.2) 命令语言: (5)4.进入运行系统: (10)四、注意事项 (14)图表图一报表 (4)图二报表设计 (5)图三历史数据报表 (5)图四快捷菜单 (6)图五按钮属性 (6)图六按钮属性 (6)图七动画连接 (7)图八选择函数 (8)图九命令语言 (8)图十打印报表 (9)图十一历史数据查询画面 (10)图十二报表属性 (11)图十三时间属性 (11)图十四变量属性 (12)图十五变量顺序设置 (12)图十六历史数据查询 (13)图十七报表打印 (14)一、功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
二、工程实例我们举一个例子来说明日报表的实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC” 。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
组态王教学-历史大数据查询例程
![组态王教学-历史大数据查询例程](https://img.taocdn.com/s3/m/2d74a68a960590c69ec37695.png)
组态王历史数据查询例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建报表: (4)3.2) 命令语言: (5)4.进入运行系统: (10)四、注意事项 (14)图表图一报表 (4)图二报表设计 (5)图三历史数据报表 (5)图四快捷菜单 (6)图五按钮属性 (6)图六按钮属性 (6)图七动画连接 (7)图八选择函数 (8)图九命令语言 (8)图十打印报表 (9)图十一历史数据查询画面 (10)图十二报表属性 (11)图十三时间属性 (11)图十四变量属性 (12)图十五变量顺序设置 (12)图十六历史数据查询 (13)图十七报表打印 (14)一、功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
二、工程实例我们举一个例子来说明日报表的实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
组态王和工业库数据存储与查询
![组态王和工业库数据存储与查询](https://img.taocdn.com/s3/m/85514010b7360b4c2e3f64b1.png)
组态王和工业库数据存储与查询例程说明文档此文档由北京亚控公司提供,如有疑问请致亚控技术支持工程师。
本文档主要介绍组态王和工业库KingHistorian之间的数据存储与查询。
一、 新建组态王工程步骤1:新建组态王工程。
工程名:组态王和工业库数据库存储与查询;步骤2:新建设备,关联亚控的仿真PLC设备。
设备名:仿真PLC;步骤3:新建变量。
变量名:test;变量类型:IO整数;连接设备:仿真PLC;寄存器:RADOM100;数据类型:short;记录和安全区:数据变化记录,变化灵敏0;二、 历史数据记录配置鼠标双击系统配置-历史数据记录,弹出如下图所示对话框。
组态王默认是把数据保存到组态王的历史库中,下面我们需要配置把历史记录保存到工业库KingHistorian中。
步骤1:单击历史库配置对话框的【配置可访问的工业库服务器】按钮,在弹出的工业库配置对话框中单击【添加】按钮,添加可访问的工业库。
本例程中:服务器:是工业库所在的电脑的IP地址,本例程组态王和工业库在一台电脑上;端口号:是默认的5678,与工业库的端口号设置一致即可;用户和密码:是默认的sa,与工业库设置一致即可。
添加完成后如下图所示:点击【连接测试】按钮,可测试与工业库的连接是否成功。
步骤2:在历史库配置对话框上勾选工业库服务器,则后面的【配置】按钮被激活,如下图所示。
步骤3:单击工业库服务器后面的【配置】按钮,弹出如下所示对话框。
点击【连接测试】按钮,如果弹出如下图所示对话框,说明组态王与工业库连接成功。
步骤4:在前缀名里加前缀KH,工程对应的组里输入CY,点击【开始】按钮,弹出“在工业库中建立变量过程完成!”的对话框,即把变量test添加到工业库中进行存储。
如下图是工业库的截图,变量test在工业库中存在于变量组CY中,变量名为KH_test。
三、 历史数据查询新建画面“test”,在画面上分别添加一个报表和按钮,在按钮弹起时写脚本: ReportSetHistData2(2,1);保存画面并运行组态王。
组态王历史数据查询(DOC)
![组态王历史数据查询(DOC)](https://img.taocdn.com/s3/m/218873cc33d4b14e8524681a.png)
错误!未找到引用源。
1. 功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2. 工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)、电压(IO实数类型)、电流(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
组态王历史数据查询
![组态王历史数据查询](https://img.taocdn.com/s3/m/1fc2ad9e941ea76e58fa04a4.png)
历史数据查询1. 功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2. 工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)、电压(IO实数类型)、电流(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
组天王历史数据查询
![组天王历史数据查询](https://img.taocdn.com/s3/m/81674902227916888486d7df.png)
组态王查询1分钟之前某个变量的历史数据
1、在画面中插入一个空白的报表,名称为“历史报表”
2、添加一个按钮,名称为“指定查询”
3、在“指定查询”按钮的按下动作中添加下面的脚本
long StartTime; //定义一个长整型的变量
StartTime=HTConvertTime(\\本站点\$年,\\本站点\$月,\\本站点\$日,\\本站点\$时,\\本站点\$分,\\本站点\$秒); //此函数将指定的时间格式(年,月,日,时,分,秒)转换为以秒为单位的长整型数
StartTime=StartTime- 60; //将开始时间设置为当前时间之前的1分钟
ReportSetTime("历史报表", StartTime, 2, "a2:a31"); //向报表的a3到a32单元格内写入连续的时间字符串
ReportSetHistData("历史报表", "\\本站点\aa", StartTime, 2, "b2:b31"); //向报表的b3到b32单元格内写入连续变量aa的数据
查询结果如下:(--表示没有存储数据)。
组态王历史数据查询
![组态王历史数据查询](https://img.taocdn.com/s3/m/6aee0d2180eb6294dc886ceb.png)
历史数据查询1. 功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2. 工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)、电压(IO实数类型)、电流(IO实数类型).压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000.记录和安全区选择“数据变化记录",变化灵敏度选择“0”.温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”.密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
组态王,历史趋势曲线控件例程说明文档
![组态王,历史趋势曲线控件例程说明文档](https://img.taocdn.com/s3/m/9d5162cf524de518964b7dbd.png)
历史趋势曲线1,功能概述常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。
组态王中的趋势曲线的实现方法:1)利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。
2)利用组态王的“插入通用控件”中的“历史趋势曲线”实现。
第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。
缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。
许多功能都不需要通过编写脚本的方法实现,使用比较方便。
缺点在于无法进WEB 的发布。
工程实例以一个简单的例程来说明“历史趋势曲线控件”的使用。
操作步骤1.1创建新工程打开组态王工程管理器,创建一个新工程。
1.2定义设备进入工程浏览器,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。
此仿真PLC可以做为虚拟设备与组态王进行通讯。
仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器 STATIC,常量字符串寄存器STRING,CommErr寄存器。
具体的寄存器的使用请参考组态王IO驱动帮助。
1.3定义变量在数据词典中新建两个IO变量,变量名称分别为“压力”、“流量”,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。
这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。
变量基本属性定义画面如下图一、图二所示:图一定义变量压力图二定义变量流量在记录和安全区属性选项卡中我们定义压力和流量变量的数据记录属性,如图三所示,选择“数据变化”记录,变化灵敏度设置为0。
组态王历史数据查询
![组态王历史数据查询](https://img.taocdn.com/s3/m/a8379dfb14791711cd791717.png)
历史数据查询之巴公井开创作1. 功能概述惯例需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操纵类似excel,操纵简单、方便,而且组态王提供了大量的报表函数来实现各种复杂功能。
2. 工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步调。
3. 操纵步调3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)、电压(IO实数类型)、电流(IO 实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,收集频率1000。
记录和平安区选择“数据变更记录”,变更灵敏度选择“0”。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,收集频率1000。
记录和平安区选择“数据变更记录”,变更灵敏度选择“0”。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,收集频率1000。
记录和平安区选择“数据变更记录”,变更灵敏度选择“0”。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,收集频率1000。
组态王历史数据查询
![组态王历史数据查询](https://img.taocdn.com/s3/m/9e46411881c758f5f71f6780.png)
历史数据查询1.功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进展查询、打印输出。
历史数据查询一般为起始时间、完毕时间、间隔时间都不固定,最终用户根据实际需要进展查询。
组态王中的实现方法:利用组态王置报表以及报表的函数来实现对历史数据的查询。
组态王置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2.工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力〞、“温度〞、“密度〞、“电流〞、“电压〞,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3.操作步骤3.1定义设备根据工程中实际使用得设备进展定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口〞驱动,定义设备名称为“PLC〞。
3.2定义变量在组态王中定义五个变量:压力〔IO实数类型〕、温度〔IO实数类型〕、密度〔IO实数类型〕、电压〔IO实数类型〕、电流〔IO实数类型〕。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,存放器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和平安区选择“数据变化记录〞,变化灵敏度选择“0〞。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,存放器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和平安区选择“数据变化记录〞,变化灵敏度选择“0〞。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,存放器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和平安区选择“数据变化记录〞,变化灵敏度选择“0〞。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,存放器DECREA100,数据类型short,读写属性为只读,采集频率1000。
组态王历史数据查询
![组态王历史数据查询](https://img.taocdn.com/s3/m/2205e3f683c4bb4cf6ecd174.png)
组态王历史数据查询 work Information Technology Company.2020YEAR历史数据查询1.功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2.工程实例我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3.操作步骤3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)、电压(IO实数类型)、电流(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例程说明文档
目录
1. 功能概述 (1)
2. 工程实例 (1)
3. 操作步骤 (1)
3.1 定义设备 (1)
3.2 定义变量 (1)
3.3 制作画面 (2)
3.4 进入运行系统 (10)
4. 注意事项 (14)
1. 功能概述
常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:
利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
2. 工程实例
我们举一个例子来说明实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
3. 操作步骤
3.1定义设备
根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC -亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
3.2定义变量
在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)、电压(IO实数类型)、电流(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,
寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
电压变量:最小值180,最大值250,最小原始值0,最大原始值100,初始值220,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
3.3制作画面
3.3.1创建报表
新建画面,画面名称“历史数据查询”。
在组态王工具箱按钮中,用鼠标左键单击“报表窗口”按钮,此时,鼠标箭头变为小“+”字形,在画面上需要加入报表的位置按下鼠标左键,并拖动,画出一个矩形,松开鼠标键,报表窗口创建成功,如图一所示。
图一报表
用鼠标双击报表窗口的灰色部分(表格单元格区域外没有单元格的部分),弹出“报表设计”对话框,如图二所示。
该对话框主要设置报表的名称、报表表格的行列数目以及选择套用表格的样式。
我们设置报表名称为“Report0”,行数、列数可以按照默认的
不变。
我们根据需要对报表的格式进行设置,如报表的表头,标题等。
我们选中单元格A1
到E1,点击右键弹出快捷菜单,选择“合并单元格”,单元格合并后我们填写标题,如“历史数据查询”,点击右键在快捷菜单中选择“设置单元格格式”,设置字体、对齐方式、等。
如图三所示:
图三历史数据报表
3.3.2命令语言
制作按钮:在组态王工具箱中我们选择按钮,此时鼠标光标变为“+”字形,按下鼠标左键并拖动,画出矩形按钮。
按钮的大小根据需要进行调整。
选中按钮,点击右键,弹出快捷菜单,选择“字符串替换”,如图四所示:弹出“按钮属性”,将按钮文本的“文本”字符串改为“历史数据查询”。
如图五、图六所示。
点击“确定”完成对按钮文本的修改。
命令语言:实现历史数据的查询我们需要使用组态王的报表函数来实现,报表函数为:ReportSetHistData2(),此函数的介绍如下:
ReportSetHistData2(StartRow,StartCol);
参数说明:
StartRow:查询的数据在报表中填充的起始行数。
StartCol:查询的数据在报表中填充的起始列数。
此函数为报表专用函数。
查询历史数据,使用该函数,只要设置查询的数据在报表中填充的起始位置,即输入起始行数(StartRow)、列数(StartCol)。
系统会自动弹出历史数据查询对话框。
双击“历史数据查询”按钮,弹出按钮的“动画连接”,如下图七所示,点击“命令语言连接”的“弹起时”,编写脚本程序。
图四快捷菜单
图五按钮属性
图六按钮属性
图七动画连接
在命令语言编辑框中,我们选择“全部函数”,找到需要的ReportSetHistData2函数,如图八所示:点击“确定”,函数的参数设置为StartRow:2,StartCol:1,脚本程序如下:
ReportSetHistData2(2,1);
参考图九所示:点击“确认”完成按钮命令语言的编写。
图八选择函数
图九命令语言
按照上面的步骤实现报表的“打印”功能。
打印函数为:ReportPrintSetup(szRptName);
语法格式使用如下:
ReportPrintSetup(szRptName);
参数说明:
szRptName:要打印预览的报表名称
添加一个新的按钮,通过“字符串替换”将“文本”修改为“打印”,双击“打印”按钮,弹出“动画连接”,点击“命令语言连接”的“弹起时”,编写报表打印的脚本程序。
如图十所示:脚本程序如下:
ReportPrintSetup("Report0");
完成按钮命令语言的编写后,保存画面。
画面如下图十一所示:
图十一历史数据查询画面
3.4进入运行系统
画面开发完成后在工程浏览器的“系统设置”中的“设置运行系统”中对“配置主画面”选项卡进行主画面的配置,设置“历史数据查询”画面为主画面。
配置完成后点击工程浏览器的“View”按钮切换到运行系统。
系统运行后会将主画面打开,运行一段时间,记录一段时间的历史数据,然后我们点击“历史数据查询”按钮,弹出历史数据查询选择对话框,如图十二所示:在报表属性设置中报表名称为我们定义的报表的名称,起始行、起始列为报表函数中设置的起始行、起始列。
排列属性、列属性等根据需要进行设置。
时间属性选项卡如图十三所示:选择起始时间、终止时间、间隔时间。
变量属性选项卡如图十四所示:选择要查询历史数据的变量。
设置完成后点击“确定”,弹出设置报表中变量顺序的对话框,如图十五所示,我们可以通过此项对变量的顺序进行调整,设置完成后点击“确定”,得到我们
要求的历史数据,如图十六所示:
图十二报表属性
图十三时间属性
图十四变量属性
图十五变量顺序设置
图十六历史数据查询
点击“打印”按钮,可以对报表进行打印输出,并且可以进行报表的打印预览,如
图十七所示:可以对页面进行设置也可以直接打印输出。
图十七报表打印
4. 注意事项
1)在此例程中所用到的函数请参考相关函数使用手册或者组态王软件帮助。
2)查询历史数据的前提是必须在运行过程中保存了历史数据,否则查询不到历史数
据。