西门子WinCC VBS脚本实战:5分钟搞定变量记录导出到Excel(附完整代码)

WinCC笔记:02.MSHFlex控件 —— (3) 从数据库中导入并导出到Excel图表中 这里用到的是WinCC中数据记录的数据库,我已在WinCC中仿真了几个值,如下图所示。(1)插入一个MSHFlex控件,命名为Grid。这里将TimeStamp和Realvalue写入。(2)插入一个按钮,负责导出到Excel。设置分类轴上刻度线标签之间的分类数目。该对象代表图表的绘图区。把变量变为字符串格式。在打开画面中写入脚本。 阅读详情

西门子WinCC VBS脚本实战:5分钟搞定变量记录导出到Excel(附完整代码)

在工业自动化项目的后期运维与数据分析中,将过程数据从监控系统(如西门子WinCC)中高效、准确地导出,是许多工程师面临的常规却棘手的需求。无论是为了生成生产报表、进行故障回溯,还是满足审计要求,手动抄录或截图显然不现实。虽然WinCC本身提供了强大的归档和报表功能,但在需要快速、定制化地将特定时间段、特定变量的历史数据导出为Excel文件时,一套轻量、可复用的脚本方案往往能节省大量时间。本文将从一线工程师的实战视角出发,抛开复杂的理论铺垫,直接切入核心,分享一个经过实际项目验证的VBS脚本方案。这个方案的目标非常明确:让你在5分钟内,获得一个可以直接嵌入项目、开箱即用的变量记录导出工具。我们将重点关注那些官方手册可能一笔带过,但在实际配置中必定会遇到的“坑”,例如时区转换、Excel路径权限、查询效率优化等,并提供完整的、带详细注释的代码,确保你不仅能“用起来”,更能“理解透”。

1. 环境准备与核心思路解析

在动手编写脚本之前,理清底层逻辑和准备工作至关重要。WinCC的历史数据通常存储在SQL Server数据库中(对于WinCC Professional/Comfort版本),我们的任务本质上是通过VBScript脚本,连接这个数据库,执行查询,并将结果写入Excel文件。这个过程听起来简单,但有几个关键点决定了成败。

首先,数据库连接字符串的准确性是第一步。WinCC运行时使用的数据库实例名和表结构有其特定规则,必须正确获取。其次,时间处理是最大的陷阱之一。WinCC归档的时间戳默认是UTC时间(协调世界时),而我们在中国使用的是东八区时间(UTC+8)。如果直接查询和显示,你会看到所有数据都比实际时间晚了8小时。因此,在脚本中必须进行时区转换。最后,文件系统操作需要权限。脚本需要创建或写入Excel文件,必须确保WinCC运行系统账户(通常是“Siemens WinCC Runtime”或登录的Windows用户)对目标文件夹拥有写入权限。

为了让你对整体流程有个直观印象,我们先看一个简化的操作流程图,它概括了从触发到生成文件的完整步骤:

  1. 用户输入:在WinCC画面上,操作员设定需要导出的变量名、起始时间、结束时间和数据采样步长。
  2. 脚本触发:点击“导出”按钮,调用VBScript函数。
  3. 数据处理:脚本内部进行时区转换(将本地时间转换为UTC时间用于查询),构建SQL查询语句。
  4. 数据库交互:通过ADO(ActiveX Data Objects)连接WinCC归档数据库,执行查询,获取记录集。
  5. 文件生成:使用Excel.Application对象(或文件系统对象)创建或打开一个Excel文件,将记录集的数据逐行写入指定单元格。
  6. 结果反馈:可选地,在画面上显示导出成功或失败的消息,并提示文件保存路径。

注意:在生产环境部署前,务必在测试机上完整跑通整个流程。权限问题和防病毒软件拦截是导致脚本运行失败的常见原因。

2. 项目配置与画面组态要点

虽然本文核心是脚本,但一个友好的操作界面同样重要。在TIA Portal WinCC Professional中,我们需要创建一个简单的画面来接收用户输入和触发脚本。

画面对象配置清单:

  • IO域 x 4:分别用于输入归档变量名、起始时间、结束时间和步长(秒)。建议将它们的“显示格式”设置为清晰的文本或日期时间格式。
  • 按钮 x 1:用于触发数据导出操作,将其“文本”属性修改为“导出到Excel”。
  • 表格视图(可选):可以用于在导出前,先在画面内预览查询到的数据,增加操作的信心。将其连接到与脚本查询相同的归档变量和周期。

这里有一个关键的组态细节:如何获取准确的变量记录名称? 在WinCC中,用于归档的变量和在“变量记录”中配置的归档名称可能不同。你的脚本需要的是后者,即归档名称。你可以在TIA Portal的“变量记录”编辑器中找到它。一个常见的做法是,在画面IO域中,提供一个下拉列表,让用户选择已配置的归档,而不是手动输入,这能极大减少错误。

变量记录配置检查点: 在运行脚本前,请确认你的变量记录已经正确组态并运行。在“运行系统设置”中,必须勾选“变量记录运行系统”。你可以通过WinCC Runtime的“变量记录控制”工具来确认数据是否正在被正常归档。

' 以下是一个简单的VBScript函数框架,用于在按钮点击事件中调用
Sub OnClick(ByVal Item)
    Dim sVarName, sStartTime, sEndTime, iStep
    ' 从画面IO域读取用户输入的值
    sVarName = SmartTags("归档变量名IO域")
    sStartTime = SmartTags("起始时间IO域")
    sEndTime = SmartTags("结束时间IO域")
    iStep = SmartTags("步长IO域")

    ' 调用核心的数据导出函数
    If ExportHistDataToExcel(sVarName, sStartTime, sEndTime, iStep) Then
        HMIRuntime.Trace "数据导出成功!"
    Else
        HMIRuntim
西门子触摸屏脚本程序_西门子触摸屏利用VBScript脚本创建csv文件 功能描述:利用VBScript脚本创建csv/txt文件有时需要将PLC或运动控制器Simotion中的数据写到SD卡或U盘上。一种实现方法是,如果使用的是精致面板(comfort panel),可以使用vbscript生成脚本。软件 TIA Portal V14sp1, Wincc professional V15sp1硬件 一个西门子 TP1200触摸屏 (wince系统),其它西门子com... 阅读详情

相关推荐

WinCC变量归档与趋势分析:工业数据存储与可视化核心实践

在工业自动化与SCADA系统中,数据采集与存储是构建系统感知能力的基础。其核心原理在于将实时、瞬态的工业过程变量(如温度、压力、流量)通过特定的归档策略,持久化存储到历史数据库中,实现从“状态监控”到“过程分析”的跨越。这项技术的核心价值在于为生产优化、故障诊断与质量追溯提供了可靠的数据基石。典型的应用场景包括工艺参数回顾、设备性能分析、间歇性故障排查以及生产报表生成。本文聚焦于西门子WinCC平台,深入探讨其变量归档系统与趋势分析功能,涵盖了周期归档与压缩归档的策略选择、归档参数配置的细节要点,以及如何通

weixin_34067102的博客 390

WinCC报表控件配置实战:从数据源到一键出报表

在工业自动化与数据可视化场景中,报表功能是车间管理、生产追溯的关键环节。WinCC报表控件作为上位机组态软件内置的表格化工具,其核心原理是基于变量归档数据库,通过VBS脚本将日期范围、数据集与模板绑定,实现规则化的历史数据查询与输出。相比手动导出CSV再套模板的低效方式,它为工程师提供了一条组态环境内轻量化的数据链路,尤其适合单机部署、固定格式的班报、日报及历史趋势联动查询场景。从数据源绑定、模板设计到跨天时间边界处理,掌握这一套配置思路,能有效规避报表空白、边界漂移等问题,让“一键出报表”真正落地为可交付

weixin_29032337的博客 328

WinCC报表自动化:3行VBS代码实现高效数据采集

在工业自动化领域,SCADA系统的数据采集与报表生成是关键需求。传统方案依赖复杂脚本开发,而通过WinCC的全局脚本和文件系统对象(FSO)技术,可实现极简化的数据记录方案。该技术利用VBScript的CSV追加写入模式,配合定时触发器实现准实时数据落盘,既保证了数据安全性又大幅降低资源占用。在汽车制造等离散工业场景中,这种方案能快速适配产线数据采集需求,相比传统方法减少90%代码量。典型应用包括生产指标监控、设备状态日志等场景,生成的标准化CSV文件还可与PowerBI、Python等分析工具无缝对接。

weixin_34221036的博客 273

WinCC报表控件实战:VBS脚本与Excel模板生成设备报表

工业现场的数据归档与报表输出,是设备管理和交接班记录的基础。WinCC作为主流HMI组态软件,通过Tag Logging归档数据库保存历史变量,而报表控件正是打通归档数据与Excel呈现的关键工具。利用VBS脚本读取归档记录,结合Excel模板预设格式,可自动生成班次、日报、月报等各类设备报表。该方案不仅替代手动抄录和二次整理,还通过参数化设计支持定时触发、班次切换和模板复用,显著提升设备调试与运维效率。在TIA项目中部署报表控件,需掌握画面组态、脚本链路及数据源配置,并注意跨班边界、Excel进程清理等工

weixin_29159441的博客 155

WinCC Advanced报表控件实战:班次OEE Excel导出全链路配置

WinCC报表控件是工业HMI中实现数据归档→结构化导出→现场决策闭环的关键组件,其本质并非简单UI控件,而是WinCC归档服务、PLC变量同步与Excel模板引擎三者协同的输出接口。原理上依赖SQL-like查询语法对接归档数据源,通过XML模板绑定字段并嵌入计算公式,确保OEE等关键指标由原始数据实时生成而非静态填充。技术价值在于打通‘PLC采集—HMI归档—操作员报表’全链路,规避时间戳错乱、数据为空、格式失效等90%产线级交付风险。典型应用于TIA Portal V18+WinCC Advanced

weixin_29178069的博客 261

WINCC中vbs脚本写入EXCEL编写

很好的使用WINCC编写VBS脚本,从而可以读写EXCLE,与EXCEL进行通讯

wincc获取时间_wincc时间_wincc获取系统时间_WinCC_

wincc利用C脚本及变量获取需要的时间

Python 静态导入与动态导入

python中模块的静态导入 与 动态导入(运行时指定模块),以及具体对应示例。

慢也好,步子小也好,往前走就好~ 708

基于Lora的一主多从监测与控制系统

题目:基于Lora的远程农业监测与控制系统 目的:通过Lora子节点采集好各种传感器的信息,发送给汇聚节点,汇聚节点将数据通过ESP8266上传至云端,使用了微信小程序进行监测与控制

热爱生活、奋斗前行 7836

WebVTT中的文本轨道(Text Tracks,TT)到底是什么鬼?

WebVTT,全称是The Web Video Text Tracks Format,意思是网络视频文本轨道格式。那么到底什么是文本轨道(Text Tracks)呢?这篇文章希望一探究竟。

码农1479的博客 1982

U-net复现pytorch版本 以及制作自己的数据集并训练

GitHub链接: https://github.com/milesial/Pytorch-UNet 论文链接:

candice5566的博客 3万+

Oracle EBS R12 AP模块发票导入接口实战:从SQL插入到API调用的完整流程

本文详细解析了Oracle EBS R12 AP模块发票导入接口的完整流程,从SQL插入到API调用的实战技巧。涵盖接口表设计、数据验证、双通道导入机制及错误诊断,特别分享官方文档未提及的高阶优化方案,助力企业实现财务数字化转型。

weixin_33728268的博客 472

【WRF-Chem工具】pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

WW、forever的博客 207

RKNN 端侧部署必看:YOLOv11 Pose 姿态估计模型转换与性能优化实战

随着人工智能技术在边缘计算领域的快速发展,姿态估计作为计算机视觉的重要分支,在智能监控、人机交互、体感游戏等场景中展现出巨大的应用潜力。本文深入研究了YOLOv11 Pose模型在Rockchip RKNN平台上的部署方案,从理论基础、模型转换、平台优化到实际部署进行了全面阐述。通过详细的技术分析和实验验证,证明了RKNN平台能够有效提升YOLOv11 Pose的推理性能,在RK3588硬件平台上实现了高达100 FPS的实时姿态检测,为边缘计算场景下的姿态估计应用提供了高效的解决方案。

m0_71589036的博客 178

pycharm一直选择不了conda正确路径弹框报错:latinit property envs_dirs has not been initialized...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2870

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 从原理到实践:深入理解Linux内存回收机制中的Swap(含性能影响分析)
下一篇: MQTT.fx 2040年激活证书一键配置指南(附避坑技巧)
moss5
博客等级 码龄4年 51粉丝 1534原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值