1.硬件组态
使用SFB BSEND/BRCV,可以进行快速的、可靠的数据传送。在STEP 7中创建一个项目(见随书光盘中的例程PB_S7_C),生成两个站,CPU模块均为CPU 413-2DP。系统的硬件组成与项目PB_S7_B相同,硬件组态和连接组态的组态过程、通信接口的地址与项目PB_S7_B也完全相同。
2.通信程序
SFB BSEND/BRCV的输入参数R_ID用于区分同一连接中不同的SFB/FB调用,发送方与接收方的R_ID应相同。站点SIMATIC 400(1)发送和接收的数据包的R_ID分别为1和2,站点SIMATIC 400(2)发送和接收的数据包的R_ID分别为2和1。提供发送请求信号的M8.0是周期为100ms的时钟存储器位,每100ms发送一次数据。下面是站点SIMATIC(1)的OB1中的程序。
程序段1:发送数据
程序段2:接收数据
BSEND的输入参数LEN是要发送的数据的字节数,数据类型为WORD(无符号的字)。因为不能使用常数,设置LEN的实参为MW14,在初始化程序OB100中用下面两条语句预置它的初始值为200:
(www.xing528.com)
在初始化程序OB100中,用SFC21将DB1的数据发送区的各个字预置为16#4131。将DB2的数据接收区的各个字清零。在OB35中,每隔100ms将DB1.DBW0加1。
站点SIMATIC 400(2)与站点SIMATIC 400(1)的程序基本上相同。在前者的OB100中,发送区的数据被初始化为W#16#4132。
3.通信过程的监控
图4-21和图4-22是在运行时复制的通信双方的变量表。图中接收允许信号M0.0被置为true。在运行时可以看到双方接收到的DB2.DBW0在不断地变化,此外可以看到数据接收区的最后一个字DBW198的值与发送方预置的相同。
图4-21 SIMATIC400(1)的变量表
图4-22 SIMATIC400(2)的变量表
在运行时用外接的小开关改变ID0的状态,可以看到通信伙伴的QD0的状态随之而变。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。