FB/FC 都可以写用来处理逻辑;一般上,使用起来区别不大,只是FB 有背景数据块,可以设置数据保持功能;其实二者因为背景DB有无的不同会造成结果的完全不同,使用的过程中要注意;下面以程序举例:
首先分别建立一个FB 和一个FC, 里面内容一样,如下(FC 不能建立static)。

里面的内容就是一个判断和输出:

在外部的接口上,触发中间变量M,来观察结果,先置位,可以发现结果是一样的;

但是复位后结果是不同的:

总结:
这种情况可以理解性的去记忆,FC 相当于每次循环的时候,所有变量都进行了复位; 而FB 则会对结果进行了保存;二者的不同注定了在编写逻辑时候的不同处理方法;个人认为FC 是可以节省内存开支的,所以优先使用FC, 比如运算结果的返回,系统的配置信息(功能,模块的启用等),后者可以在启动中断块调用,这样就可以只执行一次;都是个人习惯,在系统资源富裕的情况下,FB/FC 都放开了用;