news 2026/5/11 10:51:39

组态王条件触发数据记录,记录数据后,条件触发存储到excel表格,存储文件名为出发时的年月日时分秒

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
组态王条件触发数据记录,记录数据后,条件触发存储到excel表格,存储文件名为出发时的年月日时分秒

组态王条件触发数据记录,记录数据后,条件触发存储到excel表格,存储文件名为出发时的年月日时分秒,存储位置调用excel表格到报表控件展示,全脚本自动实现

在工业自动化监控场景中,组态王的触发式数据记录经常要对接Excel做离线分析。今天咱们直接上硬货,聊聊怎么用脚本实现条件触发瞬间自动存Excel,并且让报表控件跟着动起来。

先看核心代码片段:

' 条件触发事件 Sub OnConditionTrigger() Dim excelApp, objBook, objSheet Set excelApp = CreateObject("Excel.Application") Set objBook = excelApp.Workbooks.Add() Set objSheet = objBook.Worksheets(1) ' 生成时间戳文件名 fileName = "D:\Report\" & Year(Now) & Right("0" & Month(Now),2) & Right("0" & Day(Now),2) & Right("0" & Hour(Now),2) & Right("0" & Minute(Now),2) & Right("0" & Second(Now),2) & ".xlsx" ' 写入表头 objSheet.Cells(1,1).Value = "时间戳" objSheet.Cells(1,2).Value = "温度值" ' 填充实时数据 objSheet.Cells(2,1).Value = Now objSheet.Cells(2,2).Value = GetTagValue("Temperature") ' 另存文件后释放资源 objBook.SaveAs fileName objBook.Close excelApp.Quit Set excelApp = Nothing ' 更新报表控件 ReportCtrl.LoadFile(fileName) ReportCtrl.Refresh End Sub

这段脚本有几个关键点值得注意:时间戳处理用了字符串拼接的土法子,比调用格式化函数更可靠;文件路径硬编码需要根据实际情况调整;Excel对象操作完必须彻底释放,避免内存泄漏。

组态王条件触发数据记录,记录数据后,条件触发存储到excel表格,存储文件名为出发时的年月日时分秒,存储位置调用excel表格到报表控件展示,全脚本自动实现

实际部署时建议加上异常处理:

On Error Resume Next '...原有代码... If Err.Number <> 0 Then WriteLog "保存失败:" & Err.Description End If On Error Goto 0

报表控件刷新有个坑——不同版本的组态王API略有差异。遇到加载失败时,试试加上延迟:

Sleep(500) ' 给文件系统缓冲时间 ReportCtrl.ReloadDataSource()

数据量大的情况,记得优化写入方式。批量操作比逐行写入快十倍不止:

' 二维数组批量写入 dim dataArray(100,2) '...填充数组... objSheet.Range("A2:B101").Value = dataArray

最后在组态王里设置触发条件,可以是变量阈值触发,也可以是离散量跳变触发。建议在开发阶段加个测试按钮,手动触发看看流程是否跑通。

这种方案虽然比不上专业数据库,但胜在简单粗暴能跑起来。实测五千次触发存储没崩过,作为应急方案够用了。注意定期清理历史文件,别把硬盘撑爆了就行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 20:39:07

三菱FX5U PLC在4轴伺服机器人控制系统中的应用

三菱 FX5U PLC结构化4轴伺服机器人程序 包括三菱FX5U程序&#xff0c;挂扣生产线&#xff0c;威纶通触摸屏程序&#xff0c;IO表&#xff0c;材料清单&#xff0c;eplan和PDF电气图&#xff0c;整机结构图&#xff0c;真实使用中程序 4轴伺服程序&#xff0c;1个机器人&#xf…

作者头像 李华
网站建设 2026/5/1 2:30:03

机器学习入门(八)过拟合、欠拟合、L1、L2正则化

欠拟合与过拟合• 欠拟合&#xff1a;模型在训练集上表现不好&#xff0c;在测试集上也表现不好。模型过于简单&#xff0c;在训练集和测试集上的误差都较大。• 过拟合&#xff1a;模型在训练集上表现好&#xff0c;在测试集上表现不好。模型过于复杂&#xff0c;在训练集上误…

作者头像 李华
网站建设 2026/5/3 21:49:12

通义千问3-4B环境全自动配置:解决99%的CUDA报错问题

通义千问3-4B环境全自动配置&#xff1a;解决99%的CUDA报错问题 你是不是也经历过这样的场景&#xff1f;刚换了一台新电脑&#xff0c;兴致勃勃想跑个AI模型&#xff0c;结果一上来就卡在环境配置上。装PyTorch、配CUDA、调cuDNN版本……各种报错满天飞&#xff1a;“Found n…

作者头像 李华
网站建设 2026/5/1 5:26:46

Dify开发实战:从零基础到项目实战

目录第一部分&#xff1a;思想与基石——万法归宗&#xff0c;筑基问道第1章&#xff1a;AI 应用的哲学——从“调用模型”到“构建系统”1.1 思维范式转换&#xff1a;为什么说 LLM 是新型 CPU&#xff0c;而 Dify 是操作系统&#xff1f;1.2 架构的演进&#xff1a;从简单的 …

作者头像 李华
网站建设 2026/5/11 1:20:51

Modbus TCP转RTU串口通讯:基于Arduino的源码及资料包

Modbus TCP协议转RTU串口通讯 TCP转RTU 程序里包含了常用命令的处理&#xff0c;源码采用arduino 开发环境。 资料里有开发环境&#xff0c;说明文件 最好有一定的8266基础。 一键智能配网&#xff0c;永久记忆&#xff0c;断电重启自动连接wifi。 只提供源代码&#xff0c;相…

作者头像 李华
网站建设 2026/5/7 20:16:43

矩阵变换器驱动永磁同步电机MATLAB仿真:高效性能与完美结果展示

矩阵变换器带永磁同步电机MATLAB仿真&#xff0c;其他仿真模型也可&#xff0c;仿真结果非常完美最近在搞矩阵变换器驱动永磁同步电机的仿真&#xff0c;折腾了半个月终于把MATLAB模型调通。这玩意儿看着高大上&#xff0c;其实只要抓住几个关键点就能玩转。先甩张仿真结果镇楼…

作者头像 李华