概述
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_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”
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
更多信息
- Introduction to XML DOMin the Microsoft Developers Network (English)
- Introduction to VBS scripting with XML DOMin the Microsoft TechNet (English)
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc342315.html