龙空技术网

倍福TwinCAT3-如何实现XML文件的读写

雪小石 312

前言:

目前兄弟们对“xml 数组”可能比较关切,你们都需要分析一些“xml 数组”的相关内容。那么小编同时在网上汇集了一些关于“xml 数组””的相关资讯,希望你们能喜欢,大家快快来学习一下吧!

安装XML的服务

到倍福的官方网站上下载xml的服务程序【TF6421-XML-Server.exe】,并在控制内安装。

XML服务程序

添加XML的授权

新建TwinCAT3的项目,并在授权中添加TF6421的XML授权,如下图所示:

添加XML的授权

授权激活后,会出现在当前的项目中,如下图所示:

添加XML的库文件

右击【References】按钮选择【Add Library..】按钮,如下图所示:

添加外部库文件

在弹出的添加库文件对话框中选择xml的库文件,如下图所示:

添加库文件对话框

选择库文件【TC2_XmlDataSrv】,也可以在上面的搜索框里直接输入对应的关键字,这样更快速找到想要的库文件,选择的库文件如下图所示:

XML库文件选择

保存数据到XML

一、定义要保存到xml文件的数据

数据的定义,为了方便管理,一般定义成数组,结构体或结构体数组,如下所示:

数据定义:

aTest : ARRAY[1..50] OF LREAL;

结构体:

结构体的定义

结构体的实例化:

结构体的实例化

结构体数组的定义:

结构体数据的定义

二、 定义XML保存的功能块

功能块的定义:fbXmlSrvWrite : FB_XmlSrvWrite;

定义xml保存文件的功能块

三、 引用功能块,并给功能块接口赋值

功能块的赋值,如下图所示:

功能块的赋值

需要注意:

接口【pSymAddr】和【cbSymSize】分别用来指定要保存数据的地址和保存数据的大小,可以用获取地址的【ADR】和获取数据大小的【SizeOf】来实现;

指定的变量,不仅仅可以是独立的变量,也可以是数组、结构体或结构体数组来指定。这样更方便管理;

接口【sFilePath】用来指定xml文件保存的路径和文件名的,也就是文件保存的地址;

接口【sXPath】用来指定数据保存在XML的节点信息。

接口【bExecute】用来触发功能块的实现。

执行成功后,文件结构说明

如下图所示:

xml文件结构

功能块指定的节点来保存数据,对于复杂的数据类型,则会把内部的元素存储为指定节点的子节点来存储,结构明确,可读性强。

从XML读取数据到PLC

xml文件的读取和写入基本类似,只不过实现的是xml文件读取的功能块【FB_XmlSrvRead】,这里就不在赘述。

读取XML文件并赋值到PLC变量

标签: #xml 数组