FC与FB应用区别浅析S7-1200系列PLC可为用户提供两种程序结构类型,根据实际应用要求,可选择一种结构类型来编写用户程序
●线性程序按顺序逐条执行用于自动化任务的所有指令
通常,线性程序将所有程序指令都放入用于循环执行程序的OB(OB1)中
●模块化程序调用可执行特定任务的特定代码块
要创建模块化结构,需要将复杂的自动化任务划分为与过程的工艺功能相对应的更小的次级任务
每个代码块都为每个次级任务提供程序段
通过从另一个块中调用其中一个代码块来构建程序
S7-1200系列PLC的用户程序可以有两个结构供用户选择OB块在调用FB或FC块执行特定的功能时,就相当于在调用处展开被调用模块
那么,在S7-1200系列PLC的用户程序当中,有两种代码块,FB和FC,在编程当中如何选择呢
下面我就结合一个小小的控制要求,来讲解一下FB和FC的选择问题
函数(FC)功能(FC)是通常用于对一组输入值执行特定运算的代码块
FC将此运算结果存储在存储器当中
例如,可使用FC执行标准运算和可重复使用的运算(例如数学计算)或者执行工艺功能(如使用位逻辑运算执行独立的控制)
FC也可以在程序中的不同位置多次调用
重复使用,简化了对经常重复发生控制任务的编程
FC不具有相关的背景数据块(DB)
对于参与该运算的临时数据,FC采用了局部数据堆栈
不保存临时数据
要长期存储数据,可将输出值赋给全局存储器位置,如M存储器或全局DB
函数函数块(FB)FB=FC+DB,在FB的接口当中,多了静态存储变量,静态存储变量和输入、输出、输入输出变量都在背景数据块当中进行存储,(它不保存临时变量和常量)
因此,凡是FC能实现的功能,FB都能实现
我们在编写PLC程序时也有该如何选择的问题,我们应该本着这几方面进行考虑
如果程序功能是简单的数据运算或逻辑运算,而且不需要保存中间结果,我们就可以使用FC