昆仑通态触摸屏怎么做历史数据报表?支持时间查询,导入导出功能?

[复制链接]
查看98052 | 回复0 | 2024-8-19 09:17:34 | 显示全部楼层 |阅读模式
我们在前面的课程介绍过昆仑通态历史曲线的设计,今天来分享一下历史数据报表的制作过程。

历史数据报表对于现场数据是非常重要的,我们可以通过查询数据报表分析数据趋势,最重要的是可以进行数据的溯源。

今天我们介绍的功能有,实时查看当前数据,通过时间筛选数据,报表导出功能。

01

定义需要采集的变量

首先,我们连接PLC内部变量,这个属于基础操作,我们就不做解释。

这里我用的触摸屏内部的脚本写的为随机数生成的,大家可以参考一下写法,直接关联PLC变量可以跳到第5个步骤。

1,我们这次在数据库建立四个整数变量,这里我给他命名为Data1,Data2,Data3,Data4。

再建立两个字符串变量Time1,Time2。赋初始值

2001-01-01 03:15:28---注意这个是查询报表的时间格式。





2,打开运行策略,点击新建策略-建立一个循环策略



3,点击策略属性,修改循环时间,我们这里改成500ms



4,点击脚本程序,我们使用!Rand(0,100 )函数,这里表示随机数将在0-100范围内产生。

输入以下脚本,点击保存,这样,我们模拟的数值就建立好了。
Data1.Value=!Rand(0,100 )Data2.Value=!Rand(0,100 )Data3.Value=!Rand(0,100 )Data4.Value=!Rand(0,100 )
5,在实时数据库中建立一个数据分组,我们命名为历史记录。



6,点击组对象成员,选择数据对象列表,点击添加。

我们把需要记录的数据,也就是Data1-Data2添加到组对象成员列表。



7,点击存盘属性,我们选择永久存储,存储周期改成1S一次。至此,历史数据会自动储存到触摸屏,接下来,就是把他做进报表中了。



02

实时曲线设计

1,进入主画面,选择报表控件,绘制一个表格。



2,双击表格,输入文字。添加时间,数据1,数据2,数据3,数据4列。



3,双击表头,右键可以删除不需要的列,最后效果如下。



4,选择所有空白单元格,点击添加数据连接,选择历史数据。



5,点击条件显示属性,选择组对象名称-历史数据,点击复位,将会自动填充数据列表,你也可以自行选择数据列。



6,时间条件-选择根据变量设置的时间范围处理存盘数据。

开始和结束时间我们选择前面建立的两个字符串变量。



7,如图我们再建立两个输入控件,一个按钮控件



输入控件1,关联Time1。

输入控件2,关联Time2。



按钮控件,命名为查询,添加按下脚本,脚本代码为

窗口0.控件1.Refresh( )



8,最后,我们把日期列数据单元格格式改成日期时间:



03

效果展示

1,输入时间可以查询数据,效果如下



补充:

使用下面两个函数,可以导出报表:

ExportPdfFile(strPdfFileName, bVector)

函数意义:导出PDF文件

参数1:字符串,文件名
参数2:整数,导出方式,0为矢量,1为图片

实 例: 脚本方法.控件1.ExportPdfFile(“PDF文件”, 0)

ExportToCSVFile(beginRow,endRow,beginCol,endCol,  strCSVFileName)

函数意义:导出CSV文件

参    数:

参数1,浮点数,起始行
参数2,浮点数,结束行
参数3,浮点数,起始列
参数4,浮点数,结束列参数5,字符串,文件名

实例: 脚本方法.控件1.ExportToCSVFile(0,0,0,0, “CSV文件”)

本文内容仅供参考,如有错误,望请批评指正。如有不清楚的地方,欢迎各位留言讨论!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则