『7x24小时有问必答』

昆仑通态触摸

MCGSPro   U盘导出      CSV格式      时间查询
为什么要掌握历史记录导出?
在工业现场,历史数据是故障分析、生产追溯、质量管控的核心依据。昆仑通态(MCGS)触摸屏支持将采集到的生产数据永久存储,并通过简单操作将数据导出为 CSV 文件保存至 U 盘,方便工程师带回电脑分析。本文详细介绍从软件组态配置 → 触摸屏操作 → U盘导出的完整流程。
① 准备工作
触摸屏型号

支持 TPC 系列全系(TPC7022、TPC1031Kt 等),运行 MCGSPro 嵌入版固件
U盘要求

必须为 FAT32 格式,容量 2GB~32GB,插入触摸屏侧面 USB 接口
️ 组态软件

电脑端使用 MCGSPro 3.5 及以上版本,用于编写脚本并下载至触摸屏
数据存储前提

需提前在组态中正确配置存盘属性,报警变量须勾选"自动保存"
     U盘格式必须是 FAT32!NTFS 格式的 U 盘无法被 MCGS 触摸屏识别,导出将失败。可在 Windows 资源管理器右键 U 盘    → 格式化 → 选择 FAT32。
② 实时数据库配置
在 MCGSPro 软件中设置存盘变量组
STEP 01 新建组对象并配置变量
【1】打开 MCGSPro 软件,进入【实时数据库】标签页
【2】点击"新增对象" → 对象类型选择"组对象",命名为 sjsave
【3】建立需采集的数据变量:Data1~Data4(浮点数),Time1、Time2(字符串,用于时间查询)
【4】将 Data1~Data4 添加为 sjsave 组对象的成员,点击"添加"确认关联
    时间变量格式要求:Time1 和 Time2 的初始值格式必须为 2001-01-01    03:15:28,否则时间查询将无法正常筛选。
STEP 02 设置存盘属性
【1】双击组对象 sjsave 打开属性设置对话框
【2】存储类型选择"永久存储"(数据断电后仍保留)
【3】自动存储模式:存储周期设为 1S(每秒自动存一条)
【4】手动存储模式:存储周期设为 0,由脚本按钮触发存储
    配置完成后,触摸屏运行时会自动将数据按周期存入内部存储,断电不丢失,最多可保存数十万条记录。
③ 报警历史记录配置
如需导出历史报警记录,必须勾选"自动保存"
【1】在实时数据库中找到需要记录报警的变量(如 M1000~M1009)
【2】双击变量 → 进入"报警属性"标签页
【3】【关键!】必须勾选"自动保存"复选框,否则历史报警导出为空
【4】设置报警值、报警类型后点击确认
    最常见错误!如果导出后 CSV 文件报警内容为空,99% 是因为没有勾选"自动保存"。请务必逐个检查每个报警变量的该选项。
④ 历史查询画面组态设计
在触摸屏界面设计查询表格与操作按钮
STEP 03 添加"存盘数据浏览"控件
【1】在 MCGSPro 中新建或打开历史查询窗口
【2】从工具栏选择"存盘数据浏览"控件,拖入窗口并调整大小
【3】双击控件属性:数据来源 选择组对象 sjsave
【4】时间条件 选"按变量设置的时间范围",开始时间绑定 Time1,结束时间绑定 Time2
【5】日期列的数据格式改为"日期时间"格式显示
STEP 04 添加时间输入控件与查询按钮
【1】添加 2 个"输入控件",分别关联 Time1(开始时间)和 Time2(结束时间)
【2】添加"查询刷新"按钮,按下脚本填写:窗口0.控件1.Refresh()
【3】添加"导出U盘"按钮,按下脚本填写导出脚本(见下方)
【4】在实时数据库新增"进度"和"控制"两个整数型变量,并添加显示标签
⑤ 按钮脚本编写
核心导出函数 !ExportHisDataToCSV 详解
查询刷新按钮脚本
  查询刷新按钮脚本
'---  拼接开始时间  ---     InputSTime = !Str(Syear)+"-"+!Str(Smonth)+"-"+!Str(Sday)+"    "+!Str(Shour)+":"+!Str(Sminute)+":"+!Str(Ssecond)

     '---  
拼接结束时间  ---

     InputETime = !Str(Eyear)+"-"+!Str(Emonth)+"-"+!Str(Eday)+"    "+!Str(Ehour)+":"+!Str(Eminute)+":"+!Str(Esecond)

     '---  
刷新历史浏览控件  ---

     main.
控件6.Refresh( )
导出历史数据到U盘脚本
  导出历史数据到U盘脚本(ExportHisDataToCSV)
Dim  文件名称  As STRING

     '---  
拼接时间范围变量  ---

     InputSTime = !Str(Syear)+"-"+!Str(Smonth)+"-"+!Str(Sday)+"    "+!Str(Shour)+":"+!Str(Sminute)+":"+!Str(Ssecond)

     InputETime = !Str(Eyear)+"-"+!Str(Emonth)+"-"+!Str(Eday)+"    "+!Str(Ehour)+":"+!Str(Eminute)+":"+!Str(Esecond)

     '---  
自动生成带日期的文件名  ---

文件名称  = "/usb harddisk/"+!Str(Year)+""+!Str(Month)+""+!Str(Day)+""+!Str(Hour)+""+!Str(Minute)+"分数据.CSV"

     '---  
执行导出  ---

     Ret = !ExportHisDataToCSV(
文件名称,"sjsave","MCGS_Time,Data1,Data2,Data3,Data4",InputSTime,InputETime,20000,1,"",进度,控制)
<b> 导出历史报警记录到U盘脚本
  导出历史报警记录(HistoryAlarm)
'---  参数2固定写  Mcgs_HistoryAlarm ---     !ExportHisDataToCSV("报警导出.csv","Mcgs_HistoryAlarm","","2026/01/01    0:0:0","2026/12/31 23:59:59",5000,1,"",进度,控制)
<b>⑥ !ExportHisDataToCSV 函数10个参数详解
参数
类型
说明
参数1
字符串
导出文件名,以    /usb harddisk/ 开头即存到U盘
参数2
字符串
导出对象名,数据填组对象名;报警固定填    Mcgs_HistoryAlarm
参数3
字符串
指定导出的列名,留空    "" 表示导出全部列
参数4
字符串
起始时间(格式:yyyy/MM/dd    H:m:s)
参数5
字符串
结束时间(格式同上)
参数6
整数
最多导出记录条数,超出后停止(建议    20000)
参数7
整数
1=覆盖已有文件;2=追加到文件末尾
参数8
字符串
保留参数,直接留空    ""
参数9
整数变量
已导出条数;异常时显示错误码(见下表)
参数10
整数变量
导出中自动置    0;完成自动置 1
⑦ 触摸屏现场操作流程
程序下载后的实际操作步骤(按顺序执行)
下载组态程序至触摸屏
通过以太网或USB数据线下载
进入历史数据查询界面
点击主菜单导航至历史查询画面
输入查询时间范围
点击时间输入框,键入开始/结束时间
点击"查询刷新"按钮
表格更新显示该时间段内的历史数据
插入    FAT32 格式 U 盘
插入触摸屏    USB 接口,等待识别
点击"导出U盘"按钮
观察"控制"变量:0=导出中,1=完成
导出完成,安全拔出    U 盘
U盘根目录可找到    .CSV 格式文件
⑧ 常见错误码与排查
错误码
含义
解决方法
-1020
起始时间    > 结束时间
检查输入的开始/结束时间
-1021
U盘未插入/未识别
确认U盘已插好且为FAT32格式
-1022
同时有其他导出任务
等待上一次导出完成
-1023
时间段内无数据
确认存盘配置已启用或调整时间范围
-1024
文件操作失败
检查U盘写保护/空间是否充足
-1027
时间格式不正确
须为    yyyy/MM/dd H:m:s 格式
空文件
报警记录为空
检查报警变量是否勾选"自动保存"
操作流程总结
①  组态配置:新建组对象 → 添加变量成员 → 永久存储 + 周期1S
②  报警配置:每个报警变量必须勾选"自动保存",否则导出为空
③  画面设计:存盘浏览控件 + 时间输入框 + 查询刷新按钮 + 导出U盘按钮
④  脚本编写:查询用 Refresh();导出用 !ExportHisDataToCSV(文件名,组对象,...)
⑤  现场操作:输入时间范围 → 刷新查看 → 插FAT32 U盘 → 点导出 → 控制变量=1完成
工业自动化实战干货
专注 PLC / HMI / SCADA / 电气设计/AI领域技术分享

如有问题欢迎留言交流,更多教程持续更新中……

</b></b>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码