首页 理论教育 如何编写带形参的FB

如何编写带形参的FB

时间:2023-06-23 理论教育 版权反馈
【摘要】:表9-13 电动机控制中心盘安装图5-87 编写带形参的故障报警函数FB603.生成FB的背景数据块调用FB时,需要指定背景数据块的代码。一种是在SIMATIC Manager窗口中,插入新的块,选择DB块的类型为背景数据块,然后指定是哪一个FB的背景数据块。

如何编写带形参的FB

FB与FC不同的是它拥有属于自己的背景数据块,背景数据块的格式与FB变量声明表的格式相同,定义的形参和静态变量的当前值保存在背景数据块中。

1.定义形参

如图5-86所示,由于有了背景数据块,FB的变量声明表区多了一个静态变量类型“STAT”,定义成静态变量的参数可以自动保存在背景数据块的相应单元,无需分配地址和编写访问指令。在本例中,将故障记录“Stored_Fault”和上升沿记录“Edag_Memory”定义为静态变量“STAT”,这样在调用FB时背景数据块对应的位地址用来保存“Stored_Fault”和“Edag_Memory”的状态,而不需要赋实参占用M存储器的地址,可以节省内存空间并简化块的调用。

978-7-111-35042-2-Chapter05-120.jpg

图5-86 FB和它的背景数据块

2.编写带形参的FB

编写带形参的FB与编写带形参的FC类似,图5-87所示为故障报警函数FB60。

978-7-111-35042-2-Chapter05-121.jpg

图5-87 编写带形参的故障报警函数FB60

3.生成FB的背景数据块

调用FB时,需要指定背景数据块的代码。(www.xing528.com)

生成背景数据块的方法有两种。一种是在SIMATIC Manager窗口中,插入新的块,选择DB块的类型为背景数据块,然后指定是哪一个FB的背景数据块。如图5-88所示,新建数据块DB60,指定为FB60的背景数据块,然后在调用FB60时输入背景数据块的代码DB60。另一种是在调用FB时直接在红问号处输入背景数据块的代码如DB61,由于该背景数据块并不存在,会弹出对话框问是否要生成它,如图5-89所示,点击“是”按钮则自动生成背景数据块DB61。

978-7-111-35042-2-Chapter05-122.jpg

图5-88 生成背景数据块

978-7-111-35042-2-Chapter05-123.jpg

图5-89 调用FB时自动生成背景数据块

调用FB时所赋的实际参数保存在它的背景数据块中。为了使每次调用的参数都能保存下来,多次调用同一个FB时需要指定不同的背景数据块。

FB对于大多数类型的形参(参数类型除外)可以赋实参,也可以不赋实参。如果在调用时不分配实际的参数,则程序执行中将采用上一次存储在背景数据块中的参数值。

两次调用FB60的实例如图5-90所示。

978-7-111-35042-2-Chapter05-124.jpg

图5-90 多次调用FB60指定不同的背景数据块

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

我要反馈