如何在WinCC (TIA Portal) Runtime Advanced项目中以XML格式导入和导出数据?

本文介绍了如何在WinCC (TIA Portal) Runtime Advanced项目中以XML格式导入和导出数据。

可以使用Visual Basic脚本以XML文件格式读取或存储WinCC RT Advanced项目的任何过程数据,然后可以使用其他应用软件处理该数据,例如Microsoft Excel。以下FAQ将展示所需的配置和编程步骤。

概述

XML ("Extensible Markup Language") 是一种人机交换数据使用的较为广泛的通用的文件格式. WinCC (TIA Portal) Runtime 支持 XML文件格式,可以通过Visual Basic Visual Basic scripts访问“XML DOM”对象。

以下 FAQ 将通过3个例子介绍,如何通过WinCC RT 的变量管理器使用VBS将变量“Material”,“Pressure” “Temperature” 归档成XML文件及读取归档值。示例项目提供了下载链接,其中包含了脚本配置和演示了它们的实际应用。

注意

  • 在一些脚本的最后1行使用“_”字符,表示续接下1行代码。

  • 为了在字符串中显示出1对引号,那么字符串中引号会被双倍输入,意味着x= "It is a ""Comfort Panel""." ,这样x会显示成 It is a "Comfort Panel". (So-called "Escaping")。

Script "Write_XML_to_File_with_XML"

图片

Fig. 01

使用该脚本可以将“Material”,“Pressure” ,“Temperature”3个变量写入到文件“c:\65_XML\test.xml”中。“XML DOM”对象的方法用于创建XML文件。
功能:

  • 第8行: 创建“XML DOM” 对象 “XMLo”。

  • 第9行和第10行:  在“XMLo”中创建根节点“root”。

  • 第12行和第13行:在根节点“root”中添加节点“property”

  • 第15行和第16行:在“Property”中插入 1对关键字“value”/“name” ,其包含变量的值和变量名称。

以下“Pressure”和“Temperature” 的几步操作是重复性的,此刻已经添加的变量名将会保存到XML文件中。

  • 第37行和第38行:为XML文件插入一个头标识。

  • 第40行:保存XML文件。

Script "Write_XML_to_File"

图片

Fig. 02

此脚本就像“Write_XML_to_File_with_XML” ,但是该文件是被手动添加的。这样创建具有更大的灵活性,但配置时需要更多的时间。

  • 第8行:创建文件对象 “fso”,并忽略错误运行。

  • 第15行: 通过“FileName”为 “fso”对象指定文件名称。

  • 第24行: 以文本方式打开文件,并进行数据的追加。

  • 第33行:写入XML文件的头标识。

  • 第34行:在文件中存储 “root”对象。

  • 第35行和第36行: 在“root”节点中以“property”方式存储变量“Material” 的变量名称和值。
     

  • 以下“Pressure”和“Temperature” 的几步操作是重复性的,用定义的变量替代名称和值,注意代码引号的正确使用及正确关闭和打开变量。( 例如,“<property ..." and "... />”) 是正确合理的搭配。

  • 第44行:关闭文件。

用这种方法生成的XML文件与之前脚本生成的文件功能是相同的。
 

Script "Read_XML_from_File"

图片

Fig. 03

“Read_XML_from_File”脚本用于读取存储在XML文件中变量的名称和值。XML DOM对象将被再次使用到这个功能中。
 

  • 第8行:创建“XML DOM” 对象 “XMLo”。

  • 第10行:装载XML文件到“XMLo”对象。

  • 第12行:“XML-DOM”对象的“root”元素被指定到“XMLroot”中。

  • 从第14行到第20行:从XML对象中读取数据,然后将其传送到RT的变量管理器中。

  •  

    脚本中使用“For Each...”遍历 XML 对象的子元素。遍历出 name和value (属性“name”和“value”) 的值将被复制到对应的变量中。

  • 注意

    如果XML文件遍历出的变量在Runtime中未定义,那么装载到Runtime时会出错。确保在XML文件中使用的变量已经在变量表中被定义。

  • 第22行:拦截的错误。

示例工程

在工程中创建3个变量,分别是 “Material”,“Pressure” 和 “Temperature”,以及3个按钮对应的脚本。

图片

Fig. 04

  •  

    进行如下配置:

  • 在变量“Material” (WString),“Pressure” (Int) 和 “Temperature”(Real) 对应的输入/输出域中输入相应的值,终止你的每个条目“Return”。

  • 如有必要,可在输入/输入域中改变读/写XML文件的路径(有效的磁盘路径(手动写入))。

  • 点击“Write to disk (手动)”按钮,通过“Write _XML_to_File”脚本将当前3个变量的值写入到文件中。

  • 点击“Write to disk (XML)”按钮,通过“Write _XML_to_File_with_XML”脚本将当前3个变量的值写入到文件中。

  • 点击“Read from disk”按钮,将存储在XML文件中的变量传送到Runtime的变量中。

  • 点击“Exit”按钮,退出项目。
     

已生成的XML文件

图片

Fig. 05

注意
本文提供的解决方案通常也适用于WinCC (TIA) RT Professional和支持脚本的操作员面板。然而,应根据 RT/Windows的版本去修改VBS的代码。

然而,应注意不同版本之间VBS的语法规则。

广州巨控手机 APP 监控PLC 方案

如何从wincc上采集数据

如何实现手机APP控制PLC

如何采集wincc数据并转成HTTPS协议给第三方软件

wincc异地监控1200PLC的方法

组态王与PLC的无线4G通讯

工控人如何用云组态做手机APP实现PLC远程监控

如何实现PLC短信微信报警

两台PLC之间的4G远程无线通讯

如何远程读取wincc数据

如何快速实现互联网远程监控plc?

S7-400H和WINCC通讯

WinCC 画面中浏览 PDF 文件

WinCC V7.5 SP1VBS全局变量的使用

200smart怎么通过4G网络与wincc通讯

WINCC中比较实际趋势曲线和设定值(理想)曲线的实现方法

西门子1500PLC怎样异地远程监控

经典WinCC移植到WinCC Professional

WinCC 数据使用MQTT传送到云端

NET421/NET431西门子plc与ABplc通讯网关

S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器

如何在 WinCC Runtime Professional 中自动调整画面分辨率适应窗口的大小?

如何实现简单的 WinCC 项目分屏?

s7-1200通过4G网连接中控室

WinCC C/S结构快速入门

如何防止多个WinCC客户机同时操作或更改数值?

精智Comfort屏如何周期性调用脚本

巨控协议转换网关GRM321GRM322GRM323应用场景

精智面板/二代精简PN面板如何使用Modbus TCP/IP 通信组态

如何快速实现OPC DA转为WEBSEVER

200smart数据日志的功能

HMI如何通过PLC变量控制开始和停止数据记录

WinCC flexible配方与PLC的同步

HMI面板与S7-1500 R/H 冗余PLC的通信

WinCC Flexible Smart快速导入 Smart PLC变量

巨控OPC560系列远程智能控制终端

S7_1200配方功能快速入门

PLC远程调试监控模块-巨控GRM530

PN IO设备ET 200SP将支持R1模式

SCL 常见问题

PLC协议转换网关:巨控NET400

如何判断S7通信中断

S7-1500R/H PROFIBUS DP 通信

如何实现PLC短信报警

WinCC  Modbus TCP 通信

wincc 远程和PLC通讯方案

1500PLC与wincc通过4G网络远程通讯

WINCC中自定义 XY 轴的多功能曲线的实现方法

wincc报警如何通过短信发送给手机

在WinCC(TIA Portal)项目中,如何正确的使用面板,模板,弹出窗口和滑入窗口?

通过巨控GRM532Y-C远程调试下载国外PLC

巨控GRM远程模块配置使用流程简介

巨控远程模块微信报警配置方法

TIA中如何将数据块的实际值转到初始值中

wincc 远程和PLC通讯方案

如何使用EXCEL访问WinCC中的实时数据实现报表

西门子PLC无线通讯解决方案

巨控无线通讯模块在带式输送机行业的应用

WinCC激活故障排除及解决思路

Wincc在手机端监控_巨控OPC560解决方案

PLC之间的Profibus 通讯

怎么远程控制国外的PLC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值