西门子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的基础知识。 |
|
来自: 龙之吻6iinxl8c > 《运动控制PLC相关》