|
利用组态软件提供的数据导出函数可以把数据导出到触摸屏本身磁盘用户分区,也可导出到U盘当 中,亦可结合运行策略实现定时自动导出数据到指定目录。 首先看本例中用到的关键函数: !ExportHisDataToCSV(文件名,组对象名,字段名,开始时间,结束时间,最大记录数,导出模式,导出参数,进 度指示数据对象名,控制数据对象名)。 函数完整说明可通过查看组态软件帮助了解,这里不再重复说明。 功能一:通过点击画面中的按钮实现数据导出 首先需要创建函数中用到的变量 1 开始时间,结束时间 两个字符串类型变量 2 导出结果,进度指示对象,取消控制对象 3个整数类型的变量 其余变量可直接在函数中处理。 数据导出的时间段一般不固定,需要用户输入作为导出数据的时间范围,故需要在组态画面中添加两个 输入框,分别关联到开始时间和结束时间。 另外为了便于区分导出的文件名称,我们在文件名中添加了系统日期$Date,这样导出的文件名称格式为(历史数据记录YYYY-MM-DD.csv),完整函数为: 导出结果 =!ExportHisDataToCSV("/历史数据记录"+$Date+".csv","历史数据组","",开始时间,结束时间,525600,1,"",进度指示对象, 取消控制对象) 我们在组态画面中添加一个按钮,命名为”导出到U盘“,把上述代码复制到按钮的脚本程序中即可。 如果需要把数据导出到触摸屏磁盘用户区,我们只需要在第一个参数前面加上$MCGS_DIR_USER即可 导出结果 =!ExportHisDataToCSV("$MCGS_DIR_USER/历史数据记录"+$Date+".csv","历史数据组","",开始时间,结束时间,525600,1,"",进度指示对象, 取消控制对象) 如果想实时显示导出的条数,可以添加一个输入框,操作对象选择”进度指示对象“变量。 功能二:每天自动定时导出历史数据 首先需要给两个时间字符串变量赋值,当天的0点到-23:59:59作为数据导出的时间段。 开始时间 = $Date+" 00:00:00" 结束时间 = $Date+" 23:59:59" 打开策略窗口,新建一个循环策略,设置如下: 勾选在指定的固定时刻执行,选择每天(当然也可以按月,此时需要调整数据导出时间范围),时间选择 在0时0分0秒运行。再添加一个策略行 在脚本程序中输入: 开始时间 = $Date+" 00:00:00" 结束时间 = $Date+" 23:59:59" 导出结果 =!ExportHisDataToCSV("$MCGS_DIR_USER/历史数据上传记录"+$Date+".csv","历史数据组","",开始时间,结束时间,525600,1,"",进度指示对象, 取消控制对象) 即可完成。 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |