FB与FC相比,每次调用函数块都必须为之分配背景数据块,一个数据块可以作为一个函数块的背景数据块,也可以作为多个函数块的背景数据块(多重背景数据块),背景数据块作为函数块的存储器,可以将接口数据区(TEMP类型除外)以及函数块运算的中间数据存储于背景数据块中,其他逻辑程序可以直接使用背景数据块存储的数据。对于FC,中间逻辑结果必须使用函数的输入、输出接口区存储。
函数块很少作为子程序使用,通常将函数块作为具有存储功能的函数使用,每调用一次分配一个背景数据块,将运算结果传递到背景数据块中存储,例如STEP7中提供的PID函数块,调用时为每个控制回路分配一个背景数据块,在背景数据块中存储控制回路所有的参数。一些特殊编程应用可以在函数块中指定接口数据区存储于多重背景数据块的开始位置,使用更灵活。通常情况下,S7-300系列PLC中一个函数块最大程序容量为16KB,S7-400系列PLC中一个函数块最大程序容量为64KB,CPU中可创建FB的数量与CPU的类型相关,可参考样本手册。