采用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 软件资源分配表
(续)
4.程序编写
(1)SIMATIC 400(1)程序编写
首先,需要在SIMATIC 400(1)中分别建立发送和接收的数据区DB1、DB2,大小为100B,生成的数据块格式如图8-24所示。
在SIMATIC 400(1)站中添加OB1,并在OB1里编写数据收发程序,如图8-45所示。
(www.xing528.com)
图8-45 OB1里编写数据收发程序
添加OB35,并在OB35里编写程序,实现每100ms给DB1.DBW0加1,如图8-46所示。
添加OB100并编程,完成上电初始化,如图8-47所示。
图8-46 在OB35中编写累加程序
图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。
图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数据一致,可见通信已成功建立。
图8-49 运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。