2021-07-25

MCGS触摸屏教程之数据导出到U盘

1、原料:

                        1、MCGS触摸屏,型号TPC7062Ti
                        2、MCGS嵌入式组态环境
                        3、西门子S7-200SMART-cpu-SR20
                        4、STEP 7-MicroWIN SMART开发环境

2、组态任务要求与实现效果

2.1任务功能

1、浏览历史存盘数据
2、把历史数据的存盘导出到U盘
界面运行窗口如下:数据导出界面

2.2功能介绍

1、浏览历史存盘数据。下拉存盘数据浏览控件的进度条滑块,可以查看历史存盘数据,点击刷新按钮,刷新本窗口,实现存盘数据的刷新。
2、导出存盘数据到外置U盘。根据指定的时间段来选择要导出的历史数据,在输入框内输入一个时间段,即开始时间和结束时间,时间格式为:“YYYY-MM-DD HH:MM:SS”或者“YYYY/MM/DD HH:MM:SS”。
3、数据导出提示信息。“进度”显示的是当前已导出记录条数。
4、可以根据需要,增加删除当前所有存盘数据的按钮控件
————!DelSaveDat(DatName,Num),DatName:组对象名。删除组对象DatName对应的存盘数据中Num小时前的存盘数据,如果 Num = 0 ,那么就是删除该组对象全部的存盘数据。如果 Num > 0, 就删除以当前时间为基点Num个小时之前的内容,删除时是按文件删除的,如果数据不足一个存盘文件,是不会被删除的。返回值 = 0,调用正常。

————!DelAllSaveDat(DatName)。删除组对象DataName对应的所有存盘数据,返回值 = 0,调用正常。

3、实现过程

3.1实时数据库
单击“新增对象”
“温度甲”、“温度乙”,对象类型选择“数值型”

在这里插入图片描述

新增“温度组”,对象类型选择“组对象”

在这里插入图片描述

存盘属性根据实际需要,进行勾选设置
在这里插入图片描述

组对象成员根据要存盘的数据对象来选择
单击选中,点击“添加”,从而使要存盘的数据对象进入组内,使数据与组形成关联,并以“组“为单位实现定时存盘。

在这里插入图片描述

3.2存盘数据浏览
请添加图片描述

1、单击“存盘数据浏览”控件,在窗口内按鼠标左键拖出控件,调整控件大小
2、双击控件,设置存盘数据浏览属性。
在这里插入图片描述
“数据来源”选择”温度组“

在这里插入图片描述
3、显示属性,单击“复位”,表格自动填充,可以自行更改”显示标题“下的内容

在这里插入图片描述
拖动箭头所指的进度条滑块,”输出变量“填入要输出的变量名称,继续向右拖动进度条滑块,设置”列宽度“,使表格数据能够全部显示出来。

请添加图片描述
3.3实现存盘数据导出的函数

函数名:!ExportHisDataToCSV()
参数:(文件名,组对象名,字段名,开始时间,结束时间,最大记录数,导出模式,导出参数,进度指示数据对象名,控制数据对象名)
导出的条件包括:开始时间-结束时间,最大导出总条数
导出格式为csv文件,导出的第一行为字段名字
返 回 值:开关型

返回 = 1,指定组对象错误,没有该组对象

返回 = 2,指定的时间格式错误

返回 = 3,指定的无效的进度指示和取消控制数据对象名

返回 = 4,无效的导出模式

返回 = 5,同时只能支持一个csv导出
开始时间、结束时间,字符型,用于表示的时间字符串 “YYYY-MM-DD HH:MM:SS”或者“YYYY/MM/DD HH:MM:SS”

最大记录数,开关型,希望导出的最大记录数,超过该记录数就返回,停止导出,如果为0或负数,就只导出存盘的第一条记录
导出模式,开关型:

导出模式 = 1,表示覆盖现有文件

导出模式 = 2,表示追加到文件最后

导出参数,字符型,暂时为空,保留以后使用

进度指示数据对象名,必须为开关型数据对象,导出过程中该对象值反映出当前已导出记录条数,如果导出过程中其他异常结束则通过该对象返回进度指示错误码:

进度指示 = -1,表示文件不能打开或者导出路径不存在

进度指示 = -2,表示没有可导出的数据或者设置的时间段内无数据

进度指示 = -4,表示文件操作出现错误

控制数据对象名,指定一个开关型数据对象,该对象控制导出执行,启动导出时会自动设置该变量为0,用户在导出过程中想取消导出则可以设置该值为<0的任何值,导出函数运行结束后会自动设置对象值为1

实 例: ret = !ExportHisDataToCSV("\usbharddisk\yang.csv",“group”,“data1,data4”,“2016/6/1 0:0:0”,“2016/6/30 0:0:0”,20000,1,"",进度,控制)
执行成功,将组对象group中的成员data1和data4在2016/6/1 0:0:0到2016/6/30 0:0:0时间段内的存盘数据导出至U盘,保存到yang.csv文件中,最大导出记录数20000,如果实际存盘数据记录小于20000,导出实际存盘记录,如果大于20000,则只导出前20000条记录;如果该时间段内无数据,则进度指示返回-2,ret = 0

3.4导出数据时间段设定

新建两个标签控件,属性设定为”按钮输入“
在这里插入图片描述

开始时间:数据对象选择字符型变量”InputSTime“,勾选”字符串输入“在这里插入图片描述

截止时间:数据对象选择字符型变量”InputETime“,勾选”字符串输入“
在这里插入图片描述

4、用到的脚本

刷新按钮:用户窗口.数据导出.Refresh()
数据导出按钮:rr=!ExportHisDataToCSV("\usb harddisk\温度数据.csv",“温度组”,"",InputSTime,InputETime,5000,1,"",进度,控制)

5、总结

遇到问题及时点击”帮助“,查阅帮助文档,输入关键词,查找对应的内部函数介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值