1 / 15
文档名称:

组态王历史大数据查询.docx

格式:docx   大小:430KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

组态王历史大数据查询.docx

上传人:玥玥 2022/1/1 文件大小:430 KB

下载得到文件列表

组态王历史大数据查询.docx

文档介绍

文档介绍:精品文档
精品文档
1
精品文档
.
历史数据查询
功能概述
常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。
历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。
组态王中的实现方法:
利用组态王内置报表以及报表的函数来实现对历史数据的查询。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
工程实例
我们举一个例子来说明实现方法。在此例程中我们定义五个变量, 分别为“压力”、“温度”、
“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。
操作步骤
定义设备
根据工程中实际使用得设备进行定义,本例程使用亚控的仿真 PLC设备,使用“PLC-亚控
-仿真PLC-串口”驱动,定义设备名称为“ PLC”。
定义变量
在组态王中定义五个变量:压力(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,寄存器
.
精品文档
精品文档
15
精品文档
.
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
精品文档
.
精品文档
精品文档
15
精品文档
.
用鼠标双击报表窗口的灰色部分(表格单元格区域外没有单元格的部分),弹出“报表设计”对话框,如图二所示。该对话框主要设置报表的名称、报表表格的行列数目以及选择套用表格的样式。我们设置报表名称为“Report0”,行数、列数可以按照默认的不变。
图二 报表设计
我们根据需要对报表的格式进行设置,如报表的表头,标题等。我们选中单元格 A1到E1,
点击右键弹出快捷菜单,选择“合并单元格” ,单元格合并后我们填写标题,如“历史数据
查询”,点击右键在快捷菜单中选择“设置单元格格式”,设置字体、对齐方式、等。如图三所示:
图三 历史数据报表
命令语言
制作按钮:在组态王工具箱中我们选择按钮,此时鼠标光标变为“+”字形,按下鼠标左键并拖动,画出矩形按钮。按钮的大小根据需要进行调整。选中按钮,点击右键,弹出快捷菜
单,选择“字符串替换”,如图四所示:弹出“按钮属性”,将按钮文本的“文本”字符串改为“历史数据查询”。如图五、图六所示。点击“确定”完成对按钮文本的修改。
命令语言:实现历史数据的查询我们需要使用组态王的报表函数来实现,报表函数为:
ReportSetHistData2() ,此函数的介绍如下:
ReportSetHistData2(StartRow,StartCol);
参数说明:
StartRow:查询的数据在报表中填充的起始行数。
StartCol :