广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
西门子PLC编程中FB与FC的区别
发布时间:2024-11-23

FB是功能块,带有背景数据块  FC是功能,或者说函数。FB,FC块都是子程序,它们都可以调用其它FB,FC块,也可以被OB,FB,FC块调用。


图片

FB使用背景数据块作为存储区,FC没有独立的存储区,可以使用全局DB或M区   FB有静态变量STAT,FC由于没有自己的存储区因此不具有STAT。FB,FC都有临时变量TEMP,但临时变量的值不能存储。

图片

图片

IN变量是外部输入的,只能被本程序块读,不能被本程序块写;OUT是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写;IN_OUT输入输出变量 本程序块和其他程序都可以读写这个引脚的值。TEMP临时变量,是暂时存储数据的变量。


STAT在PLC运行期间始终被存储。S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。


对于,多次调用的程序块,FB块建议更换调用不同的背景DB;FC则需要确保使用的存储地址不重复,即每次调用,块中调用的地址不重复。    当使用IEC定时器,计数器灯有背景数据块的指令或者子程序时,需要在块接口定义背景数据块,每调用一次FB或FC,使用不同的DB块。


临时变量可以在组织快OB、功能FC和功能块FB中使用,当块执行时它们被用来临时存储数据,一旦块执行结束,堆栈的地址将被重新分配用于其它程序块使用,此地址上的数据不会被清零,直到被其他程序块赋予新值。


在使用临时变量TEMP时:不能先使用,再赋值。不适用于自锁线圈。不适用于上升,下降沿


展开全文
拨打电话 微信咨询 发送询价