组态王数据保存可通过内置历史库、外部数据库(如Access/MySQL)、报表文件(XLS/CSV)及定时备份策略实现,具体方法如下:
一、组态王内置历史库保存
配置历史记录属性
数据变化记录:仅当变量值变化时记录(如温度传感器数值突变)。
定时记录:按固定时间间隔记录(最小1分钟,如每小时记录一次设备运行状态)。
备份记录:通过外部程序调用接口插入数据(如将关键数据同步至云端)。
在变量属性中启用历史记录,支持三种记录形式:
设置存储参数
.tmp
:临时数据文件。.std
:压缩原始数据文件(节省空间)。.ev
:特征值文件(如每日最大值、平均值)。保存天数:最长8000天,最短1天。系统自动删除超期数据(如仅保留最近1年生产数据)。
存储路径:可指定本地或网络路径(如将历史数据存储至NAS设备)。
文件格式:
磁盘空间预警
当磁盘剩余空间小于设定值(100~800MB)时,系统提示清理空间(避免因磁盘满导致数据丢失)。
二、外部数据库保存(以Access/MySQL为例)
Access数据库配置
打开
odbcad32.exe
(32位系统路径:C:\Windows\SysWOW64
)。选择“系统DSN”→ 添加
Microsoft Access Driver (*.mdb)
。指定数据库路径(如
D:\组态王\数据库.mdb
)。创建数据库:新建
.mdb
文件(如组态王.mdb
)。设计表格:定义字段名称及数据类型(如“学号”为短文本,“成绩”为数字)。
配置ODBC数据源:
组态王连接数据库
使用
SQLConnect
连接数据库。通过
SQLInsert
插入数据(如将实时采集的温度值存入数据库)。定义变量:在数据词典中创建与数据库字段对应的变量(如
学号
、成绩
)。SQL操作:
MySQL数据库扩展
需安装MySQL ODBC驱动,配置步骤类似Access,但需指定服务器IP、端口、用户名及密码(适用于大规模数据存储)。
三、报表文件保存(XLS/CSV格式)
实时报表
在报表单元格中直接引用变量(如
=温度
),实时刷新显示当前值。历史报表
通过
ReportSetHistData
函数查询历史数据,填充至固定格式报表(如生成每日生产报告)。自动保存
使用
ReportSaveAs
函数按时间命名文件(如2025-08-21_生产数据.xls
)。支持路径自定义(如存储至
D:\组态王\报表\
)。
四、定时备份与恢复策略
备份实施
脚本编写:通过命令语言调用
BackupHistData()
函数,将历史数据备份至指定路径(如每日凌晨3点备份至D:\Backup\
)。频率调整:根据数据重要性设置备份周期(如关键数据每小时备份一次)。
恢复验证
完整性检查:通过日志对比或校验和验证备份文件是否损坏。
一致性测试:恢复后比对关键数据(如恢复后的温度值与备份前是否一致)。
五、应用场景与建议
短期存储:使用内置历史库(适合1年内数据查询)。
长期归档:导出至XLS/CSV文件(适合月度/年度报表生成)。
大规模存储:连接MySQL等外部数据库(适合海量数据存储与分析)。
高可靠性需求:启用定时备份+异地存储(防止本地灾难性数据丢失)。