问:做400/300通讯时,调用的功能块AGSEND(FC5),DPSEND(FC1)和BSEND(FB12/SFB12)功能上有何区别?CP300库里的BSEND(FB12)和标准库里的BSEND(SFB12)又有何区别?为什么FB和SFB需要建立专用的背景数据块?
答:1)AG_SEND,AG_RCV用于FDL, ISO , UDP , TCP/IP通讯时;DP_SEND,DP_RCV用于Profibus-DP通讯时,通过CP模块做主站或从站时调用;BSEND和BRCV用于在Netpro中组态S7连接后,可用于两个具有通信能力的伙伴通过双边编程的方式进行数据交换,USEND 和URCV也是在这种情况下可以使用,但是它是双边、非协调发送/接收,最大发送440字节,而BSEND和BRCV是双边、分块发送/接收,最大可达64k字节。
2)S7-300 不包含用于扩展通信的 SFB,与FB不同,SFB存储在CPU的操作系统中并可由用户调用
3)因为FB与SFB都与FC不同,具有存储空间(静态变量),所以需要建立专用的背景数据块。
楼主最近还看过