找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5284|回复: 13

西门子FB块调用之多重实例的应用

 火.. [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2019-12-15 10:22:40 | 显示全部楼层 |阅读模式
S7-1200/300/1500中的程序块分为用于程序编写的OB块、FC块、FB块和用于存储数据的DB块,DB块又分为“全局DB和背景DB”。

FB块是具有存储器的代码块,可将值存储于背景DB中,即使在执行完成后,这些值仍然有效。所有在调用FB块时需要为其分配相应背景DB块。

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

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

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

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

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



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

(2)多重实例应用示例

【示例】按下启动按钮,电机延时3秒后启动运行,运行5秒后电机自动停止运行。

如下图所示为控制程序,在该程序中每一个定时器都是一个小的FB块,小FB开的背景DB使用“多重实例”的方式进行分配,存储器于主FB块的静态变量(Static)中。


在OB1中调用主FB块,并为该主FB块分配一个“单个实例”,(DB1)
     
   
打开背景DB1,可查看到在该DB块中存放于FB块的接口区的各参数,在Static的接口区中就存放了定时器的背景DB相关的数据。

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

本文来源技成培训网原创文章,未经许可,盗取必究!
作者:曾鑫

工控课堂 www.gkket.com

0

主题

251

回帖

484

积分

注册会员

积分
484
发表于 2019-12-17 16:11:29 | 显示全部楼层
感恩无私的分享与奉献
工控课堂 www.gkket.com

0

主题

121

回帖

230

积分

注册会员

积分
230
发表于 2019-12-18 16:17:29 | 显示全部楼层
写的很好!赞
工控课堂 www.gkket.com

1

主题

105

回帖

392

积分

注册会员

积分
392
发表于 2020-10-22 16:04:52 | 显示全部楼层
感谢分享,佩服佩服!
工控课堂 www.gkket.com

0

主题

104

回帖

186

积分

新手上路

积分
186
发表于 2025-11-13 21:42:58 | 显示全部楼层
笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下
工控课堂 www.gkket.com

0

主题

113

回帖

291

积分

注册会员

积分
291
发表于 2025-11-14 04:25:33 | 显示全部楼层
路过混个脸熟,顺便为优质内容打 call~
工控课堂 www.gkket.com

0

主题

174

回帖

540

积分

中级会员

积分
540
发表于 2025-11-14 05:18:46 | 显示全部楼层
蹲一波同款,有没有姐妹 / 兄弟推荐?
工控课堂 www.gkket.com

0

主题

77

回帖

105

积分

新手上路

积分
105
发表于 2025-11-14 07:48:59 | 显示全部楼层
我先占个楼,等下再慢慢看~
工控课堂 www.gkket.com

0

主题

81

回帖

122

积分

新手上路

积分
122
发表于 2025-11-17 11:48:53 | 显示全部楼层
说得对!狠狠赞同,没毛病~
工控课堂 www.gkket.com

0

主题

127

回帖

194

积分

新手上路

积分
194
发表于 2025-11-19 06:05:09 | 显示全部楼层
被戳中笑点 / 泪点,太真实了!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 07:40 , Processed in 0.120853 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表