博图中fb与多重背景数据块_FB块调用之多重实例的应用

如需获得更多信息,文末点击“了解更多”

S7-1200/300/1500中的程序块分为用于程序编写的OB块、FC块、FB块和用于存储数据的DB块,DB块又分为“全局DB和背景DB”。
FB块是具有存储器的代码块,可将值存储于背景DB中,即使在执行完成后,这些值仍然有效。所有在调用FB块时需要为其分配相应背景DB块。

在分配背景DB块时,可选择分配“单个实例”、“多重实例”和“参数示例”,如下图所示:

7b152fb400432fdab50d5ea007d34e2f.png

这次主要介绍下“多重实例”的调用和在什么情况下选择使用“多重实例”。

(1)什么叫“多重实例”?

当在大量调用FB块时,若每个FB块都为其分配“单个实例”,则会生成很多个数据块,这样占用的数据块资源就比较多。比如在编写程序时,使用了较多的定时器指令,对应定时器指令,每个定时器其实就是一个小FB块,当使用定时器指令时就需要分配一个背景DB块。这样在程序的资源里面就可看到生成了好多个背景DB,如下图程序所示,在程序中调用了两个定时器指令,每个定时器指令都需要为其分配对应的DB块。

98ab14b0cc473086ac858df83395ffb1.png

打开程序块>>>>系统块>>>>程序资源,在里面可看到定时器所分配的背景DB块,若使用的定时器指令比较多少,而且都采用“单个实例”的方式分配的背景DB块,那么在程序资源中就会出现很多个DB块,这不方便管理,所以对应该种情况,可选择使用“多重实例”的方式进行处理。

8d7687d490335781cc36359361812a7b.png

在一个FB块中去调用其余的小FB块,然后在分配背景DB时可选择“多重实例”,当在OB块中调用主FB块时就会生成一个总的背景数据块,这些小的FB 块的数据存储在主FB的静态变量中,这就是“多重实例”。但并不是在任何的块中调用FB时都可选择分配“多重实例”,只有在FB块中调用FB 块时才可选择多重实例,因为多重实例时存储于静态变量中,只有FB块才具备有静态变量的变量类型。

(2)多重实例应用示例

【示例】按下启动按钮,电机延时3秒后启动运行,运行5秒后电机自动停止运行。
如下图所示为控制程序,在该程序中每一个定时器都是一个小的FB块,小FB开的背景DB使用“多重实例”的方式进行分配,存储器于主FB块的静态变量(Static)中。

3426e422ef5187d57bf9abc71fd4f857.png

在OB1中调用主FB块,并为该主FB块分配一个“单个实例”,(DB1)

718716b2370e921a213024734a9c985b.png

打开背景DB1,可查看到在该DB块中存放于FB块的接口区的各参数,在Static的接口区中就存放了定时器的背景DB相关的数据。

5975367daed879c05430a23935de63ea.png

总结:若在程序的编写过程中,调用的一些指令是FB块模式的,如定时器指令、计数器指令、运动控制的指令或通信应用的一些指令等,这些指令其实都是一个一个的FB块。调用时都可以考虑在FB块中去编写,这样可减少在程序资源中生成过多的背景DB,同样一些自己编写的FB块,若比较多时,也可以把它集成到一个FB块中。

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
博图,我们可以使用Firebase的实时数据库(Realtime Database)来存储数据。在设置,我们需要首先创建一个Firebase项目,并且将Firebase的SDK集成到我们的应用程序。 在使用Firebase实时数据库时,我们可以按照以下步骤进行数据设置: 1. 数据模型设计:首先,我们需要根据应用程序的需求设计数据模型。这包括确定需要存储的数据类型,以及数据之间的关系。在设计数据模型时,需要考虑到数据的结构化和规范化,以便于后续的数据操作和查询。 2. 数据库规则设置:在Firebase实时数据,我们可以设置数据库规则来确保数据的安全性。通过规则设置,我们可以控制谁可以访问数据数据,以及谁有权限进行读写操作。这些规则可以根据应用程序的需求进行定制化设置,以保障数据的安全和完整性。 3. 数据导入和导出:在数据设置的过程,我们还需要考虑数据的导入和导出。在Firebase,我们可以使用数据导入工具或者API来将现有的数据导入到数据,同时也可以将数据数据导出到其他格式进行分析和备份。 综上所述,博图fb的db数据设置需要考虑数据模型设计、数据库规则设置和数据导入导出等方面。通过合理的设置,我们可以在Firebase实时数据高效地存储和管理数据,满足应用程序的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值