quote:以下是引用左传在2013-01-02 18:40:13的发言:
如果使用CALL指令来调用FC和FB有以下的不同:
调用 FC 时,如果给 FC 形参分配的是完整的数据块变量地址,编译器会打开指定的数据块。当 FC 调用完成时,DB 号仍然保存在 DB寄存器中。在 FC 中改变 DB 寄存器不会影响调用完成后 DB 寄存器的值。
调用功能块和相关的背景数据块,调用 CALL 指令后,背景数据块号保存在 DB寄存器中。传输完整的数据块变量地址给 FB,在 FB 中更改 DB 寄存器不会影响 DB寄存器的内容。
除此之外,对于FB中的背景DB的使用也是有一些技巧,特别是在一些系统功能块和Graph编程的背景DB中,不知大家是否有这方面的体会?