广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
西门子 S7-1200 系列五:TIA博图中OB、DB、FC、FB介绍及应用范围
发布时间:2024-11-08
FC块和FB块 区别和应用

经常有小伙伴有疑问FB和FC有什么区别, 在什么场景下应用FC,什么场景下应用FB?

首先,从字面意思来看FC(Function)-功能, FB(Function Block)-功能块;这两个之间差了一个"块",这个块就是我们常说的背景数据块(Background DB),FB使用背景数据块作为存储区,FC没有独立的存储区,使用全局DB或M区;这是FB与FC的最主要区别;

其次,  FB局部变量有STAT和TEMP,FC由于没有自己的存储区因此不具有STAT,且TEMP本身出不能设置初始值。

FB块优点:

易于移植性,对于相同控制逻辑不同参数的被控对象,只要使用不同的背景DB,同一个FB块就可以方便多重背景,减少重复工作,提高效率多次调用时,参数修改方便有独立的存储区

FC块优点:

小巧灵活,对于非多次调用的程序更易理解不占用额外的存储资源

FC应用范围:

由于FC不具备背景存储区,因此FC常用来做为子程序入口使用,保持程序简介易懂, 易复制;例如:工艺段1程序全部放在FC1里面,再由FC1调用相应程序;工艺段1程序全部放在FC2里面,再由FC2调用相应程序;用于执行不含逻辑运算或公共部分程序的功能,例如:处理IO映射、报警程序处理由输入“直接”到输出的逻辑功能块,直接即中间不需要使用临时变量,只在输入和输出之间传递参数的功能;例如:将1个16位word转化为16个Bit输出功能,或将输入数据做等比例输入等功能;

FB应用范围:

FB应用范围较广,可完成所有FC实现的功能,但一般情况FB常用来作为某一类相同对象的控制功能块,然后在FC中调用FB;例如:可将FB应用于电机控制块,在FB中实现电机的启动,停止,报警,计时等功能,每个不同的背景DB即可看做一个对象;可大提高程序的设计效率;

常见问题:

为何定义的FB,FC块,多次调用后程序混乱?

对于,多次调用的程序块,FB块建议更换调用不同的背景DB;FC则需要确保使用的存储地址不重复,即每次调用,块中调用的地址不重复。

为何含有定时器或计数器的FB或FC单次调用ok,多次调用时定时器或计数器混乱?

对于多次调用的FB,FC,如为S7定时器,计数器,则需要在IN接口中定义TIMER或Counter,每调用一次FB或FC,均赋不同的定时器或计数器号。如为IEC定时器,计数器,则需要在IN接口定义Block_DB,每调用一次FB或FC,均赋不同的DB块给其中的IEC定时器或计数器。


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