1.FB 的输出处理
由于FB有自己的背景数据块,因此其除了临时变量外,其所有过程数据都可以保存在自己的背景数据块内。因此对于FB的使用,只是输出变量的处理与FC不同,不需要每次都赋给确定的数值。但其它前者FC时用的注意事项都适用于FB。
2.在 FB中使用 AR2
另外由于在FB中,系统将会使用AR2用于背景数据块的访问,所以如果在FB中使用了AR2务必要注意其用法。下面的例子将说明这一点。程序原目的:
同时对 DB12及DB13中的数据进行操作,将DB12中的多个数据进行加1操作复制到 DB13 中(本例仅为了举例说明问题,虽然未涉及复杂算法,也使用了间接寻址):
DB13.DBBO=DBW12.DBBO+1
DB13.DBB1=DBW12.DBB1+1
DB13.DBB2=DBW12.DBB2+1
下面的程序可以放在FC中执行,但不可放在FB中执行。

发现此错误很容易,因为当程序存盘后会变成如下状态,其中涉及到AR2的数据块访问被替换为了背景数据块的变量(图中为输入参数FB1IN):

对于同时要打开两个数据块,并且涉及间接寻址的程序,推荐使用FC实现并且在FC程序开始增加如下语句存储数据块寄存器及地址寄存器的内容:

警告:以上建议仅代表笔者个人观点,例子程序也是免费的。任何用户都可以免费复制或传播此程序例子。程序的作者或拥有者对此程序不承担任何功能性或兼容性的责任。此程序的使用者风险自负