使用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所示。
图8-30 系统组成图
图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。
图8-32 插入两个SIMATIC 400站
图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。
图8-34 SIMATIC 400(1)以太网接口属性对话框
图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所示。
图8-36 SIMATIC 400(2)以太网接口属性对话框
图8-37 网络组态
完成设置之后单击“OK”按钮,进入S7属性设置对话框,如图8-38所示,勾选“Es-tablish an active connection”复选框,并记住右方的ID号,这个ID号在之后的软件编程里面要用到。
(www.xing528.com)
图8-38 S7属性设置对话框
完成以上操作之后,保存并编译NetPro。如果没有错误提示,说明组态正确。至此硬件、网络层面的组态完成。
4.资源分配
根据项目需要进行软件资源的分配,见表8-2。
表8-2 软件资源分配表
(续)
5.程序编写
程序整体结构图如图8-39所示。
图8-39 程序整体结构图
(1)SIMATIC 400(1)程序编写
首先,需要在SIMATIC 400(1)中分别建立发送和接收的数据区DB1、DB2,大小为100B,生成的数据块格式如图8-24所示。
在SIMATIC 400(1)站中添加OB1,并在OB1里编写数据收发程序,如图8-40所示。
图8-40 在OB1中编写数据收发程序
添加OB35,并在OB35里编写程序,实现每100ms给DB1.DBW0加1,如图8-41所示。
添加OB100,并在OB100里编程,实现数据发送、接收区的初始化,如图8-42所示。
图8-41 在OB35中编写累加程序
图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。
图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数据一致,可见通信已经建立。
图8-44 运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。