分享

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

 龙之吻6iinxl8c 2019-01-27

西门子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,网络连接如下图所示:

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

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

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

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

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

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

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

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

下图是本例的OB100程序:

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

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

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

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

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

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

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

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多