首页 理论教育 S7双边通信:使用BSEND/BRCV技术的实践

S7双边通信:使用BSEND/BRCV技术的实践

时间:2023-11-07 理论教育 版权反馈
【摘要】:图6-84 网络配置图通信原理在S7双边通信中,CPU413-2DP调用SFB12来将DB1内数据发送到通信伙伴中的DB2内,调用SFB13来读取通信伙伴中DB1内的数据存放到本地DB2内。这是需要对方确认的S7双边通信方式,使用的是SFB12SFB13,而无需对方确认的S7双边通信方式使用的是SFB8SFB9,原理图如图6-85所示。表6-9 软件资源分配表5.程序编写编写程序时使用图中S7连接的ID号。

S7双边通信:使用BSEND/BRCV技术的实践

1.系统组成及通信原理

(1)系统组成

硬件:CPU413-2DP,CPU413-2DP;其中一个CPU413-2DP的站地址为2,另一个CPU413-2DP站地址为4。网络配置图如图6-84所示。

978-7-111-52480-9-Chapter06-96.jpg

图6-84 网络配置图

(2)通信原理

在S7双边通信中,CPU413-2DP调用SFB12(BSEND)来将DB1内数据发送到通信伙伴中的DB2内,调用SFB13(BRCV)来读取通信伙伴中DB1内的数据存放到本地DB2内。这是需要对方确认的S7双边通信方式,使用的是SFB12(BSEND)SFB13(BRCV),而无需对方确认的S7双边通信方式使用的是SFB8(USEND)SFB9(URCV),原理图如图6-85所示。

978-7-111-52480-9-Chapter06-97.jpg

图6-85 通信原理图

2.硬件组态

在STEP 7中建立一个新项目“DP_S7_双边B”,在此项目下插入两个“SIMATIC 400站”,并分别完成硬件组态,硬件组态如图6-86所示。

978-7-111-52480-9-Chapter06-98.jpg

图6-86 硬件组态图

3.网络组态

单击978-7-111-52480-9-Chapter06-99.jpg按钮,打开网络组态NetPro,可以看到一条PROFIBUS网络和没有与网络连接的两个站点,双击CPU上的小红方块,打开PROFIBUS接口属性对话框,分别设置PROFI-BUS的站地址为2和4,选择子网“PROFIBUS(1)”,单击“OK”按钮返回NetPro,可以看到CPU已经连到PROFIBUS网络上,如图6-87和图6-88所示。

978-7-111-52480-9-Chapter06-100.jpg

图6-87 PROFIBUS网络通信参数设置

选中2号站的CPU所在的小方框,在NetPro下面第一行插入一个连接,出现“Insert New Connection”对话框,采用默认的连接类型,单击“OK”按钮,出现S7连接属性对话框,如图6-89所示,“本地ID”的数值将会在调用通信块时用到。

978-7-111-52480-9-Chapter06-101.jpg

图6-88 PROFIBUS网络

978-7-111-52480-9-Chapter06-102.jpg

图6-89 S7连接属性设置

因为通信双方都是S7-400,STEP7自动创建了一个双向连接,在连接表中生成了“本地ID”和“伙伴ID”。因为2号站和4号站是通信伙伴,它们的连接表中的ID相同,如图6-90所示。(www.xing528.com)

978-7-111-52480-9-Chapter06-103.jpg

图6-90 S7连接表

4.资源分配

根据项目需要进行软件资源的分配,见表6-9。

表6-9 软件资源分配表

978-7-111-52480-9-Chapter06-104.jpg

5.程序编写

编写程序时使用图中S7连接的ID号。SFB中的R_ID用于区分同一连接中不同的SFB调用,发送方与接收方的R_ID应相同,为了区分两个方向的通信,令2号站发送和接收的数据包的R_ID分别为1和2,4号站发送和接收的数据包的R_ID分别为2和1。

发送请求信号REQ用时钟存储器位M200.0来触发,接收请求信号EN_R(M0.0)为1时接收数据。

2号站、4号站的OB35、OB100程序同S7通信单边通信方式基本相同,区别在于BSEND的输入参数LEN是要发送数据的字节数,设置LEN实参为MW14,在OB100中将MW14的初始值设置为18。

图6-91和图6-92分别是2号站OB1程序和4号站OB1程序。

978-7-111-52480-9-Chapter06-105.jpg

图6-91 2号站OB1程序

978-7-111-52480-9-Chapter06-106.jpg

图6-92 4号站OB1程序

6.下载调试

将两个站点的组态及程序分别下载到PLCSIM中,单击RUN-P使CPU处于运行状态,如图6-93所示。

打开两个站点的变量表,单击工件栏978-7-111-52480-9-Chapter06-107.jpg按钮,使变量表处于实时监控状态,如图6-94所示,在RUN-P模式时,接收请求信号M0.0为0,禁止接收,双方DB2的数据均为0,将M0.0置为1后,允许接收数据,可以发现DB2数据随DB1数据变化。

978-7-111-52480-9-Chapter06-108.jpg

图6-93 PLCSIM运行图

978-7-111-52480-9-Chapter06-109.jpg

图6-94 变量表

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈