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

Wincc报表自动导出Excel文件并以时间方式命名

文章目录

  • 前言
  • 一、报表控件组态
    • 1. 建立用户归档变量
    • 2. 组态报表控件
  • 二、报表定时自动导出
    • 1. 添加内部变量
    • 2. 添加导出按钮
    • 3. 编辑C脚本
    • 4. 编辑VBS脚本
    • 5. 编辑全局脚本
  • 三、实验验证
  • 总结


前言

在Wincc上位机组态软件中,可以通过Online TableControl控件实时查看用户归档中的变量数据,该控件还可将报表导出为CSV或PDF文件。本文基于VBS脚本,实现报表文件的自动导出,并将导出的文件以当前时间命名。


一、报表控件组态

1. 建立用户归档变量

首先在变量管理器中建立一些需要归档的变量,并添加到变量归档记录中,如图1所示。
在这里插入图片描述
图1

2. 组态报表控件

在画面中添加Online TableControl控件,如图2所示。右键打开对象属性,将控件名称改为“Table”。
在这里插入图片描述
图2
双击控件打开属性设置,在数值列界面添加需要显示的变量,如图3所示。其它设置自行选择,这里不再赘述。
在这里插入图片描述
图3
此时运行画面文件,即可显示变量的归档值。

二、报表定时自动导出

1. 添加内部变量

在变量管理中添加一个内部变量用于控制报表的定时导出,如图4所示。
在这里插入图片描述
图4

2. 添加导出按钮

在报表所在的画面中,添加一个按钮控件,并关联刚才添加的内部变量。
在这里插入图片描述
图5
在这里插入图片描述
图6

3. 编辑C脚本

在按钮控件的对象属性-事件-按钮-鼠标中,右键选择单击鼠标,添加C动作。
在这里插入图片描述
图7
代码如下:

#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{SetTagBit("TableExport" ,!GetTagBit("TableExport"));}

该代码表示单击按钮,“Table”变量置位,再次单击按钮,“Table”变量复位。

4. 编辑VBS脚本

在按钮控件的对象属性-事件-按钮-其它中,右键选择对象更改,添加VBS动作。
在这里插入图片描述
图8
代码如下:

Sub OnObjectChanged(ByVal Item) 
Dim ua,filename
Set ua = ScreenItems("Table") ''用户归档控件
filename=  Year(Now) & "_" & Month(Now) & "_" & Day(Now) & "_" & Hour(Now) ''以年_月_日_小时命名
ua.ExportDirectoryChangeable = 1 ''允许修改导出目录
ua.ExportShowDialog = 1 ''设置显示对话框
ua.ExportFilename = filename ''文件名称
ua.ExportDirectoryname= "C:\Wincc_Projects\Table"  ''设置导出目录
ua.Export()  ''开始导出
End Sub

5. 编辑全局脚本

打开全局脚本编辑器,添加全局动作“报表导出”。
在这里插入图片描述
图9
在这里插入图片描述
图10
编辑如下代码:

#include "apdefap.h"int gscAction( void )
{
SetTagBit("TableExport" ,!GetTagBit("TableExport")); 
return 0; 
}

添加触发器,如图11所示。这里为了方便实验,我们设置为1分钟触发一次,即每1分钟“Table”变量置位或复位一次。可根据实际情况修改,如每天8:00触发一次。
在这里插入图片描述
图11

三、实验验证

运行画面文件,注意要勾选如图12所示的几个启动项。
在这里插入图片描述
图12
运行效果如下,可以发现,每隔1分钟,就会弹出一个对话框,提示报表即将导出。如果点击画面中的“报表导出”按钮,也可手动导出报表文件。
在这里插入图片描述
图13
如果不想弹出该对话框,可在VBS脚本中做如下设置:

ua.ExportDirectoryChangeable = 0 ''不允许修改导出目录
ua.ExportShowDialog = 0 ''设置不显示对话框

导出的CSV文件,用Excel打开即可。
在这里插入图片描述
图14


总结

本文提供了一种Wincc报表定时自动导出的方法,并实现了对导出文件的自动命名。该方法的原理是,将具有报表导出功能的VBS脚本,添加到一个按钮的“数值变化”属性中,只要该按钮关联的变量数值发生了改变,即可导出报表,同时在全局脚本中,又添加了定时改变该变量数值的脚本,以此来实现报表的自动导出。

http://www.dtcms.com/a/513138.html

相关文章:

  • 网站建设代运营方案给我一个网站图片
  • 网站价格明细表哪个网站做兼职有保障
  • 东莞市网站建设平台小型企业网站开发价格
  • 郑州市城乡建设局网站centos7 wordpress 安装
  • 做论坛网站需要哪些前置审批网站做那个效果好
  • 通过pandas merge_asof模糊匹配,快速计算财务同比指标
  • 重庆建网站要多少钱微慕WordPress小程序
  • 三合一网站搭建价格上海公司车辆怎么查询违章
  • 百度自己网站排名长春招聘网智联
  • leetcode 28 找出字符串中第一个匹配项的下标
  • 广州建设网站平台app与微网站的区别是什么意思
  • docker和docker compose离线安装-2-报错
  • 烟台放心的一站式网站建设佛山网站建设凤软
  • 网站调用网页怎么做国外那些网站做展厅比较好
  • 第2部分-线程的创建与管理
  • ORA-600 kokasgi1故障处理(sys被重命名)---惜分飞
  • 建电子商务网站需要多少钱攻略类型网站如何做产品营销
  • 曲阜官方建设局网站免费域名的选择方法
  • 网站主机是什么意思图片制作器在线制作
  • 03-Machine-2-dht.py K230外接数字温湿度传感器DHT11模块演示
  • 前端代码练习网站包工头接活网站app
  • 深圳知名网站设计公司排名苏州建设监理有限公司网站
  • 长沙做网站seo衡阳网站建设开发价格
  • 网站网页翻页设计展厅展览设计
  • chooseVideo传视频无法取到缩略图
  • 给网站如何做飘窗韩国服装网站建设
  • 高级技巧:利用淘宝 API 的字段映射与数据增强,丰富商品信息维度
  • PM2.5实验滤膜等分切割器90mm疾控中心可用
  • 【独龙江的守望】中国历朝历代历史信息整理
  • 企业网站快速优化排名韩国优秀电商网站