课程中心
HOME
课程中心
正文内容
plc编程读写xml 倍福TwinCAT3-如何实现XML文件的读写
发布时间 : 2026-02-27
作者 : 小编
访问数量 : 23
扫码分享至微信

倍福TwinCAT3-如何实现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变量

一种提高PLC数据采集效率的方法

1. 采用缓冲区减少读写次数

利用PLC中的程序,将地址分散的开关量I/O、模拟量I/O和控制参数(存储器中的数据)集中到读缓冲区和写缓冲区:读缓冲区为上位机从PLC中读取的数据;写缓冲为上位机写入PLC的数据。在缓冲区中,开关量占据1个位,模拟量占据2个字节,其他数据根据需求可占据位、字节、字或双字,如下表:

缓冲区的位置和大小由起始地址和字节数量决定,上位机一次性读取或写入整个缓冲区的数据,提高通信效率。上位机读取1个字节数组,根据实际情况解析相应的数据;上位机程序将输出的具体数据打包为1个字节数组,一次性地写入PLC写缓冲区。

在PLC中编写程序将采集的数据点传送到读缓冲区中,并从写缓冲区将数据传送到相应的I/O端口,实现与外部设备的交互。

2. 数据采集流程

首先从PLC中读取数据并写入读取数据的字节数组,然后将写入数据的字节数组写入到PLC中;一次写入完成后程序休眠指定的时间,然后重新开始新的读写流程:循环执行,直到退出程序,流程如下:

为保证PC机与PLC设备间网络连接的可靠性,采用有限状态机持续监控PC-PLC连接状态,当出现连接错误时自动尝试重新连接,直到连接成功。

3 提高设计效率的方法

针对规划好的数据采集系统及每个PLC缓冲区,设计XML格式配置文件,描述系统中每个PLC及数据缓冲区信息。采集程序启动时读取配置文件,获取所要采集的PLC及其数据点信息,作为数据采集的目标。

为形成XML配置文件,设计PLC 参数表和数据参数表。上位机PC的通信程序根据参数配置表迅速准确连接到目标PLC,同时通信程序准确读取和写入对应PLC的数据。

4 配置文件的编辑工具

Excel格式参数文件与XML 格式配置文件相互转换;根据采集需要添加或者删除PLC,更新目标PLC参数信息;根据采集需要添加或者删除需要读写的I/O点信息。

转发是最大的鼓励!谢谢您的支持!

小贴士

PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

如何获取更多 电气热门资料?

操作指引如下!

相关问答

软件开发方向)是什么意思?

有很多方向,下面给你列几个常见的:1.桌面程序:Java、C++、C#、VB、C均可。2.网站服务器端开发:JSP(Java语法)、PHP、ASP(C#语法)、WebApp框架等3.网站客户...

开发软件要什么工具?

软件开发工具包括基础开发工具和快速开发工具,基础开发工具是代码级开发,快速开发工具则是将一些通用功能封装成中间件直接调用,通过配置、组装方式实现软件快...

如何把android手机所有信息同步到iphone11-ZOL问答

8.在安卓上安装SMSBackup&Restore,打开点击"恢复",选择iphone.xml,按提示来...西门子plc编程软件step75.5有几个版本515...

OPC协议指的是什么?

OPC协议(OLEforProcessControl)是一种分布式计算机控制系统中用于数据交换的标准化接口。它是一个开放的标准,它允许PLC(可编程逻辑控制器)、DCS(分布式...

什么叫项目背景?项目简介?项目团队介绍?项目方诉求?项目...

[回答]国领先水平,全套的运营服务体系,为客...加盟之后,您可以完全放心:您需要做的事情,在加盟签约后,小优快工有专业的运营团队进行全程指导扶持,手把手...

win10自带输入法在lol里打字没边框怎么处理-ZOL问答

2、在打开的文件夹中找到:IMEConfig.xml,单击右键,选择“编辑”;3、在打开的...plc能通过一个按钮控制电源开关吗?按一次开,再按一次关,请教好心人,谢谢!417...

大仙们我想知道!!娄底软件编程学校收费,软件编程学校xxx怎...

[回答]最初的程序是无数个程序员一个字母一个字母打出来的,计算机语言也是人给它设计的,所以说你学会了计算机语言才能和计算机沟通。至于你说的没有编程...

为什么现在很多人都去学JAVA,而不学C语言了呢?

我个人理解,主要是如下几个原因市场需求差异。行业差异,C语言主要是三个应用方向做windows系统应用开发,但目前随着需求很少,嵌入式开发需求旺盛,除了电...

哪位大侠!有人知道吗 绵阳DCS系统集成收费标准,DCS系统集...

[回答]向下与DCS、PLC、SCADA等过程控制系统集成;向上系统具有统一平台,与ERP、CRM和SCM等应用系统集成,功能模块可根据客户需要灵活配置、扩充;对外系统...

 歌宝婷  汤志刚 武汉大学 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2026  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部