组态王历史数据查询

组态王历史数据查询
组态王历史数据查询

历史数据查询

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)。系统会自动弹出历史数据查询对话框。

双击“历史数据查询”按钮,弹出按钮的“动画连接”,如下图七所示,点击“命令语言连接

”的“弹起时”,编写脚本程序。

图四快捷菜单

图五按钮属性

图六按钮属性

相关主题
相关文档
最新文档