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

概述

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”

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

使用该脚本可以将“Material”,“Pressure” ,“Temperature”3个变量写入到文件“c:65_XMLtest.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”

如何在WinCC (TIA Portal) Runtime Advanced项目中以XML格式导入和导出数据?
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”

如何在WinCC (TIA Portal) Runtime Advanced项目中以XML格式导入和导出数据?
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个按钮对应的脚本。

如何在WinCC (TIA Portal) Runtime Advanced项目中以XML格式导入和导出数据?
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文件

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

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

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

下载
Archived sample project for WinCC (TIA Portal) Advanced
如何在WinCC (TIA Portal) Runtime Advanced项目中以XML格式导入和导出数据?Registration required 109740374_WinCC_RT_Export_Import_in_XML_Format.zip (1.4 MB)

SHA-256 checksum of the ZIP archive:
a37d1cb5aa64ba5b666bf22c859ad5bcb5a4c855bd5cda4a86f94ea595a0884d

更多信息

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc342315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论