首页 理论教育 西门子S7通信技术:使用USEND/URCV实现双边通信

西门子S7通信技术:使用USEND/URCV实现双边通信

时间:2023-11-07 理论教育 版权反馈
【摘要】:使用SFB/FB USEND/URCV,可以进行快速、不可靠的数据传输,例如可以用于事件消息和报警消息的传送。USEND/URCV属于双边通信块,通信双方都必须调用通信功能块。本项目使用的是CPU集成的PN接口,因此只能用于两台S7-400之间进行双边S7通信。

西门子S7通信技术:使用USEND/URCV实现双边通信

使用SFB/FB USEND/URCV,可以进行快速、不可靠的数据传输,例如可以用于事件消息和报警消息的传送。USEND/URCV属于双边通信块,通信双方都必须调用通信功能块。本项目使用的是CPU集成的PN接口,因此只能用于两台S7-400之间进行双边S7通信。

1.系统组成及通信原理

系统组成如图8-30所示。

建立一个S7-400作为客户端与另外一个作为服务器端的S7-400的双向S7通信,将客户端S7-

400的DB1映射到服务器S7-400的DB2中,同样,

将服务器S7-400的DB1映射到客户端S7-400的DB2中,如图8-31所示。

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

图8-30 系统组成图

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

图8-31 建立S7-400作为客户端与另一个S7-400的双边S7通信

2.硬件组态

打开SIMATIC Manager,根据系统的硬件组成,进行系统的硬件组态,如图8-32所示,插入两个S7-400的站,进行硬件组态。

分别组态两个系统的硬件模块,图8-33所示为SIMATIC 400(1)的硬件组态图,在HW Config中,将电源模块、CPU、信号模块等插入机架。这里选用的CPU为416-5H PN/DP,读者亦可选用其他集成了PN接口的S7-400 CPU。

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

图8-32 插入两个SIMATIC 400站

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

图8-33 SIMATIC 400(1)的硬件组态图

双击PN-IO,在打开的PN-IO属性对话框中单击“Properties”按钮,打开如图8-34所示的以太网接口属性对话框,在“Parameters”选项卡中,采用默认的IP地址192.168.0.1和子网掩码255.255.255.0。

同样,组态SIMATIC 400(2),如图8-35所示。CPU选用414-5H PN/DP,读者亦可选用其他具有PN接口的S7-400 CPU。

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

图8-34 SIMATIC 400(1)以太网接口属性对话框

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

图8-35 SIMATIC 400(2)的硬件组态图

双击PN-IO-1,设置其IP地址为192.168.0.2,子网掩码为默认,如图8-36所示。

完成硬件组态后,分别保存并编译。

3.网络组态

在SIMATIC Manager画面下选择“Configure network”按钮,打开网络组态画面。NetPro会根据当前的组态情况自动生成网络组态画面。

选择SMATIC 400(1)站的CPU 416-5H PN/DP,在右键菜单中选择“Insert New Con-nection”,在弹出的对话框中,显示了可与1站建立连接的站点,选择2号站点,同时选择类型为“S7 connection”,如图8-37所示。

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

图8-36 SIMATIC 400(2)以太网接口属性对话框

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

图8-37 网络组态

完成设置之后单击“OK”按钮,进入S7属性设置对话框,如图8-38所示,勾选“Es-tablish an active connection”复选框,并记住右方的ID号,这个ID号在之后的软件编程里面要用到。

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

图8-38 S7属性设置对话框

完成以上操作之后,保存并编译NetPro。如果没有错误提示,说明组态正确。至此硬件、网络层面的组态完成。

4.资源分配

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

表8-2 软件资源分配表

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

(续)

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

5.程序编写

程序整体结构图如图8-39所示。

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

图8-39 程序整体结构图

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

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

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

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

图8-40 在OB1中编写数据收发程序

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

添加OB100,并在OB100里编程,实现数据发送、接收区的初始化,如图8-42所示。

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

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

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

图8-42 在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-43所示。在OB35中编写累加程序以及在OB100中编写初始化程序,可以参照图8-41和图8-42。

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

图8-43 OB1中编程

6.下载调试

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

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

图8-44 运行结果

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

我要反馈