首页 理论教育 函数块与背景数据块的关系

函数块与背景数据块的关系

时间:2023-06-17 理论教育 版权反馈
【摘要】:所以函数块调用时,形参可以不用赋值,通过背景数据块可以直接赋值或读出函数块输出数值。FB2在OB中调用生成多重背景数据块,例如DB22,DB22同时作为FB2和两个FB1的背景数据块,如图7-16所示。2)与FC相同,避免函数块在逻辑程序中调用后再次修改函数块的接口参数时产生的时间标签冲突。图7-16 生成多重背景数据块

函数块与背景数据块的关系

在逻辑程序中,每次调用FB时,都必须分配一个数据块作为FB的背景数据块存储数据,背景数据块不能相同,否则控制设备输入、输出信号冲突。FB与背景数据块的关系如图7-13所示。

978-7-111-28718-6-Chapter07-32.jpg

图7-13 FB与背景数据块的关系

在图7-13中DB10、DB11分别存储函数块FB1的接口数据区(TEMP除外),输入数据流向为:赋值的实参→背景数据块→函数块接口输入数据区,输出数据流向为:函数块接口输出数据区→背景数据块→赋值的实参。所以函数块调用时,形参可以不用赋值,通过背景数据块可以直接赋值或读出函数块输出数值。

每次调用FB需要分配一个背景数据块,这将影响DB的使用资源,如果将多个FB作为一个主FB的形参调用,最后主FB在OB中调用时就会生成一个总的背景数据块,这个背景数据块称为多重背景数据块,多重背景数据块存储所有相关FB的接口数据区。每个FB在创建时默认设置为具有多重数据块能力,如图7-14所示。

978-7-111-28718-6-Chapter07-33.jpg

图7-14 FB多重背景数据块选项

下面以例子的方式介绍多重数据块的创建,例如在主函数块FB2中插入FB1,作为形参并在FB2中调用,如图7-15所示。

978-7-111-28718-6-Chapter07-34.jpg

图7-15 调用作为形参的函数块(www.xing528.com)

在图7-15中,函数块FB1必须在静态数据区STAT中定义并且分配符号名,例如“VALVE1”、“VALVE2”,如果控制多个设备,必须插入多个FB1,否则控制设备输入、输出接口区数据会发生冲突。在程序中以符号名方式调用作为形参的FB,调用时不能分配背景数据块,在示例程序中调用FB1两次分别控制两个阀门

FB2在OB中调用生成多重背景数据块,例如DB22,DB22同时作为FB2和两个FB1的背景数据块,如图7-16所示。

注意:

1)与FC不同,由于FB带有存储区——背景数据块,输出参数不会输出随机值,所以不用在FB中编写初始化程序。

2)与FC相同,避免函数块在逻辑程序中调用后再次修改函数块的接口参数(增加或减少形参)时产生的时间标签冲突。

3)输入、输出的流向不能反向,否则影响实参的数值。

978-7-111-28718-6-Chapter07-35.jpg

图7-16 生成多重背景数据块

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈