FB和FC的区别
FB
1.FB是功能块,带背景数据块,在OB中调用一次FB块,就会生成一个背景数据块,调用多次,就会生成多个背景数据块。
2.在FB中使用定时器,要选择“多重实例”,这样就将定时器的数据保存到调用函数块的背景数据块中,而非自己的背景数据块,存储在Static中保存。多次调用FB的时候就不会出现定时混乱。
如果使用“单个实例”,函数块的数据保存在自己的背景数据块中,多次调用FB块的时候,会出现定时混乱。
3.在FB块中用步号写程序的时候,步号可以写在Static中,
FC
1.FC是功能,没有背景数据块,调用定时器的时候只能选择”单个实例”,此时的定时器相当于全局的,所以此FC块不可以多次调用
2.在FC块中用步号写程序的时候,步号要使用全局变量(M或者DB)不能使用Temp,
二者区别
- FB有背景数据块作为存储区,FC没有独立的存储区,使用全局DB或M区
- FB局部变量有STAT和TEMP,FC由于没有自己的存储区因此不具有STAT,TEMP本身不能设置初始值。
FB优点:
1.有背景数据块,可以存储
2.可以多次调用,只需要使用不同的背景数据块,同一个FB就可以
FC优点:
1.不占用额外存储空间
2. 小巧灵活,对于非多次调用的程序更易理解