• {{item.name}}
SIMATIC WinCC {{item.name}}
{{item2.name}}
更多
常问问题

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

star star star star star
5.0 分
  • 软件编程
  • CE
  • PORTAL
  • RunTime
文档编号:109740374| 文档类型:常问问题| 发布时间:2023年12月13日
  • 0
  • 799
  • 1
这个FAQ介绍了如何在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的语法规则。

下载
Archived sample project for WinCC (TIA Portal) Advanced
109740374_WinCC_RT_Export_Import_in_XML_Format.zip (1.4 MB)

SHA-256 checksum of the ZIP archive:
a37d1cb5aa64ba5b666bf22c859ad5bcb5a4c855bd5cda4a86f94ea595a0884d

更多信息



您可以前往全球资源库查看此文档:

https://support.industry.siemens.com/cs/cn/zh/view/109740374


剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。