当前位置: 首页 > news >正文

组态王条件触发数据记录,记录数据后,条件触发存储到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

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

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

http://www.jsqmd.com/news/270135/

相关文章:

  • 电动汽车Simulink仿真模型的奇妙世界
  • Modbus TCP转RTU串口通讯:基于Arduino的源码及资料包
  • 想让AI声音更像人?试试这个基于CosyVoice2的二次开发项目
  • Elasticsearch客户端工具自动化运维脚本应用实例
  • 基于卡尔曼滤波的语音处理:让语音重归纯净
  • 闭环步进电机设计资料分享[特殊字符]
  • 三菱FX5U PLC在4轴伺服机器人控制系统中的应用
  • 基于模型预测的三相整流器MATLAB仿真模型研究
  • 机器学习 - 自动化工作流
  • Z-Image-Turbo调优实践:提升出图质量的几个技巧
  • 当虚拟实训照进课堂:新能源汽车教学而生的动力总成拆装与检测软件
  • Comsol 流固耦合:探究球在流体中的运动轨迹
  • Emotion2Vec+ Large是否适合儿童语音?年龄适应性实测报告
  • Unity游戏自动翻译终极解决方案:XUnity.AutoTranslator深度解析
  • S7-200自由口协议实现英威腾GD200变频器控制与数据读取
  • 联想小新平板2025重装系统教程(TB373FU)
  • Qwen3-1.7B本地部署痛点解决:免配置镜像实战推荐
  • 【译】为什么构建人工智能代理大多是在浪费时间
  • 5分钟上手!用Cute_Animal_For_Kids_Qwen_Image生成儿童专属可爱动物图片
  • # **大模型 RAG 应用全攻略:从落地到增效,LLaMA-Factory Online 助力全流程**
  • DeepSeek-R1-Distill-Qwen-1.5B高算力适配:vllm+T4显卡部署实测
  • 亲测好用10个AI论文写作软件,MBA毕业论文轻松搞定!
  • 大模型微调:让AI精准适配行业需求,LLaMA-Factory Online 助力高效落地
  • VibeThinker-1.5B-WEBUI部署实战:边缘设备轻量化适配可能性探讨
  • WordPress多语言支持系统搭建指南
  • Qwen1.5-0.5B-Chat省钱方案:免GPU部署降低90%成本
  • MCGS 昆仑通泰触摸屏与三菱变频器 Modbus RTU 通讯案例揭秘
  • FSMN VAD错误重试策略:网络不稳定应对
  • 全网最全8个AI论文网站,专科生搞定毕业论文必备!
  • 电子玩具音乐实现:51单片机蜂鸣器唱歌完整示例