首页 理论教育 双边S7通信的BSEND/BRCV使用方法

双边S7通信的BSEND/BRCV使用方法

时间:2023-11-07 理论教育 版权反馈
【摘要】:采用BSEND/BRCV功能块的S7双边通信可以进行需要确认的数据交换通信,即发送数据后需要接收方返回确认信息。BSEND/BRCV不能用于S7-300集成的PN接口的S7通信。图8-45 OB1里编写数据收发程序添加OB35,并在OB35里编写程序,实现每100ms给DB1.DBW0加1,如图8-46所示。图8-46 在OB35中编写累加程序图8-47 在OB100中编写初始化程序SIMATIC 400程序编写同SIMATIC 400一样,需要在SIMATIC 400中分别建立发送和接收的数据区DB1、DB2,大小均为100 B,生成的数据区格式见图8-24。在OB35和OB100中的编程可以参照图8-46和图8-47。

双边S7通信的BSEND/BRCV使用方法

采用BSEND/BRCV功能块的S7双边通信可以进行需要确认的数据交换通信,即发送数据后需要接收方返回确认信息。BSEND/BRCV不能用于S7-300集成的PN接口的S7通信。

1.系统组成及通信原理

本节示例和8.3.2节的示例具有相同的系统组成以及通信原理,此处不再赘述,请读者参阅8.3.2节的内容。

2.硬件组态与网络组态

在STEP7中新建一个项目,插入两个S7-400站点。SIMATIC 400(1)站点的CPU模块采用416-3 PN/DP;SIMATIC 400(2)站点的CPU模块采用414-3 PN/DP。

每个站点的硬件组态方法以及项目的网络组态方法同8.3.2节的示例完全相同,读者可以参考8.3.2节的内容进行组态,此处不再详述。

3.资源分配

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

表8-3 软件资源分配表

978-7-111-52480-9-Chapter08-51.jpg

(续)

978-7-111-52480-9-Chapter08-52.jpg

4.程序编写

(1)SIMATIC 400(1)程序编写

首先,需要在SIMATIC 400(1)中分别建立发送和接收的数据区DB1、DB2,大小为100B,生成的数据块格式如图8-24所示。

在SIMATIC 400(1)站中添加OB1,并在OB1里编写数据收发程序,如图8-45所示。

978-7-111-52480-9-Chapter08-53.jpg(www.xing528.com)

图8-45 OB1里编写数据收发程序

添加OB35,并在OB35里编写程序,实现每100ms给DB1.DBW0加1,如图8-46所示。

添加OB100并编程,完成上电初始化,如图8-47所示。

978-7-111-52480-9-Chapter08-54.jpg

图8-46 在OB35中编写累加程序

978-7-111-52480-9-Chapter08-55.jpg

图8-47 在OB100中编写初始化程序

(2)SIMATIC 400(2)程序编写

同SIMATIC 400(1)一样,需要在SIMATIC 400(2)中分别建立发送和接收的数据区DB1、DB2,大小均为100 B,生成的数据区格式见图8-24。

然后,在SIMATIC 400(2)站中添加OB1、OB35及OB100,在其OB1中编程如图8-48所示。在OB35和OB100中的编程可以参照图8-46和图8-47。

978-7-111-52480-9-Chapter08-56.jpg

图8-48 OB1中编程

5.下载调试

分别在SIMATIC 400(1)、SIMATIC 400(2)中创建变量表VAT用于变量监控,将SI-MATIC 400(1)、SIMATIC 400(2)分别下载到相应的PLC中运行后,设置SFB12的REQ端为持续脉冲信号,并置位SFB13的EN_R端,则在VAT表中可以方便地看到SIMATIC 400(1)和SIMATIC 400(2)各自的DB2中数据变化情况,如图8-49所示,SIMATIC 400(1)的DB2中数据与SIMATIC 400(2)的DB1数据一致,SIMATIC 400(2)DB2中数据也与SIMATIC400(1)的DB1数据一致,可见通信已成功建立。

978-7-111-52480-9-Chapter08-57.jpg

图8-49 运行结果

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

我要反馈