西门子PLC如何通过以太网进行数据通信

西门子PLC之SFB14/SFB15(FB14/FB15)的使用

在本例中为了在400的主站和300子站之间通过NETPRO中组态的一个S7连接进行数据通信,则需要在S7程序中调用通信函数,SFB14(get)用于从远程CPU读取数据,SFB15(PUT)用于向远程CPU写入数据。

首先说下通信SFB14和SFB15的特点:

* SFB14/SFB15是系统函数,是包含在CPU的固件中。

* SFB14/SFB15是异步通信函数

* 可以跨几个OB1循环运行

* SFB14/SFB15通过输入参数(REQ)激活

*任务结束后显示DONE、NDR或ERROR

我这里是用我们现场的实际程序跟大家讲解下:

主站采用414-2DP的CPU,子站采用314C-2PN/DP的cpu,网络连接如下图所示:

通信的基础是两站之间建立S7连接,打开NetPro中的连接属性,则可以看到通信功能块的块参数ID,当调用SFB14和SFB15时必须遵守相应的规定,以通过S7连接实现数据通信。

参见下图:选择子站CPU,右键点击选择新建连接,选择主站CPU,设置本地ID。

通过设置通信参数,下面我们来看看如何通过SFB14和SFB15进行数据通信,

首先要通过OB100来设置使能信号,OB100是启动型OB,并且在CPU重启时运行,在这个OB中,用于触发第一次通信的使能信号,一般设备DB变量或M变量。

下图是本例的OB100程序:

下面看看通信程序怎么实现:

上图中的ID就是在通讯连接S7连接中设置的本地ID,ADDR_1就是要读取的伙伴CPU对应的存储区。RD_1就是本地存储区。

这里简单说下:因为子站是300的系统,所以要用FB14,功能跟SFB14是一样的,SFB14是用于400系统。

上图是发送给伙伴CPU的数据通信,ID同样为在S7连接中设置的1,ADDR_1就是要发送的伙伴CPU的数据存储区。SD_1为本地存储区。

简单的给大家分享我的现场用的程序,不知道是否能对你理解西门子通过以太网通信的应用。

喜欢本文的希望能给小编一个关注、点赞、评论和转发。你们的支持是小编持续更新最通俗易懂的电气及PLC的基础知识。

1.《如何通过以太网传输数据包 数据包如何在网络中传输?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何通过以太网传输数据包 数据包如何在网络中传输?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3220169.html