如何使用Fdb块的使用背景DB

6137人阅读
自动化(32)
设某发动机组由1台汽油发动机和1台柴油机发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的速度上,并控制散热风扇的起动和延时关闭。每台发动机均设置一个起动按钮和一个停止按钮。
程序设计如下:
1.程序模块
3.风扇控制程序
4.启动机控制
5.启动机组
注:1)在变量声明表内完成FB1类型的局部实例,“gasline_engine&、”diesel_engine“的声明。
2)调用FB1局部实例时,不需要设置背景数据块,FB1的实例数据位于DB2中。
3)发动机的实际转速可直接从共享数据块中得到,如DB1.DBW2
程序代码可在此。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:585875次
积分:6758
积分:6758
排名:第3069名
原创:150篇
转载:37篇
评论:97条
文章:23篇
阅读:26363
文章:23篇
阅读:100187每日登录:+1西币&+1积分
&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
售前文档售后文档热门视频系列热门版区售后服务概述自助服务帮助信息
You are here:
FC也有DB块吗,与FB的DB...
热点活动:
FC也有DB块吗,与FB的DB块有何区别,共享数据块和背景数据块的区分是怎样的。 - 已解决问题
FC也有DB块吗,与FB的DB块有何区别,共享数据块和背景数据块的区分是怎样的。
产品版区:
悬赏分:5 | 解决时间: 19:18:52 | 提问者:& - 学长&nbsp&nbsp第2级
问题ID:46126
&&见《FB和FC的区别》连接:&&&&有关S7-300教程,下载:&&&&见《STEP7怎样使用多重背景数据块?》链接:&&&&共享数据块和背景数据块的区分是怎样的?链接:&&&
大师&nbsp&nbsp第17级&
以下网友赞了您的问题:
填写您的评论...
提问者对于答案的评价:学习了,谢谢!!
更多相关问题
本版精华问答
等待您来回答
作者/最新回复
最后回复时间
1.&FC&&也有数据块,但是那是共享数据块,即在任何一个子程序中都可以访问和调用的。&FB里面的数据块DB&只能在FB里面使用。&2.&&共享数据块就是在其它任何程序中都可以访问调用,背景数据块只能在特定的FB中访问。&&&3.&这类似于高级语言中的全局变量&,&局部变量&。
- 中级工程师&nbsp&nbsp第10级
& 14:53:41
FC可以使用共享数据块也可以不用数据块,而FB和FC最大的不同就是FB必须要有背景数据块。这两个数据块的区别,就是共享数据块你可以自定义内部的数据结构,而背景数据块你无法自定义,这个背景数据块是提供给FB块用于变量保存的。如何区别的话,从命名上无法区别,但你查看类型的就可以看到,背景数据块会指明用于哪个FB的。
- 中级工程师&nbsp&nbsp第10级
& 20:21:25
你整本书看几遍&每本书都有,
- 新生&nbsp&nbsp第1级
& 22:47:40
FC&&也有数据块,但是那是共享数据块,即在任何一个子程序中都可以访问和调用的。&FB里面的数据块DB&只能在FB里面使用。&
- 学长&nbsp&nbsp第2级
& 09:02:19
DB是S7-300/400的变量存储区,或者叫数据块,相当于S7-200中的V存储区。DB分两种,一种是存放全局变量的,一种是存放私有变量的的。&FC没有DB,但可以使用全局DB中的变量,因为全局DB中的变量对整个程序都有效。&FB也可以使用全局DB中的变量,同时它还有属于自己的私有DB,私有DB只能在所属的FB里访问。&DB的属性是在建立时设定的,也可以右键单击某个DB,在它的属性里查看是全局还是私有。
- 高级技术员&nbsp&nbsp第7级
& 09:28:03
上一页1下一页&
扫描打开手机版
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!建立FB功能块需要注意那些问题,以及相应的DB块数据对应方法和原理? - 中国亿万电器网 - Powered by LeadBBS 6.0
loading...
loading...
386经验4305文章185注册
建立FB功能块需要注意那些问题,以及相应的DB块数据对应方法和原理?
各位亿万高人:& & && && & 请问建立FB功能块需要注意那些问题,以及建立相应的背景数据块,他们的数据是怎么一种关系,我建立了一个FB块和一个DB块,在FC调用时怎么总是提示数据块冲突,请问是怎么一回事。谢谢
184经验3417文章104注册
……………………………………………………隐藏内容…该用户发言已经被屏蔽[]…………………………………………………………………
+146魅力147积分946经验4015文章97注册
说得简单点,FB块的所有的接口数据,如,IN、OUT、等等,都在其相应的DB块中。也就是说FB有自己的数据工作区,即背景DB
+3魅力3积分389经验12856文章289注册
fb的数据块只能被外界读取,不能作其他的处理吧我就是我
403经验10162文章107注册
我估计你的FB用的DB块是你自建的。不能这样,应该直接在FB那填DB,系统自建。学工控很好的课程推荐:
/teacher/details/4600005.html
204经验3320文章145注册
[QUOTE][B]下面引用由[U]houjinq[/U]发表的内容:[/B]
我估计你的FB用的DB块是你自建的。不能这样,应该直接在FB那填DB,系统自建。[/QUOTE] &
自己建立的DB块也可以用。
403经验10162文章107注册
[QUOTE][B]下面引用由[U]dx011dafei[/U]发表的内容:[/B]
自己建立的DB块也可以用。[/QUOTE]
我自建后怎么报错啊?学工控很好的课程推荐:
/teacher/details/4600005.html
+3魅力4积分578经验7778文章333注册
fb块要和他的db块绑定绑定使用----------------------------------------
无锡中贤自动化设备有限公司 &
技术交流群: & wx_ &
89经验802文章25注册
自建也可以的 我估计是不是在FC中不能调用FB 因为FB是有背景数据块的,而FC没 你在FC中调用 FB 不就等于数据块也存在于FC中了吗
3539经验42120文章493注册
[QUOTE][B]下面引用由[U]yyjin123[/U]发表的内容:[/B]
自建也可以的 我估计是不是在FC中不能调用FB 因为FB是有背景数据块的,而FC没 你在FC中调用 FB 不就等于数据块也存在于FC中了吗[/QUOTE]
楼上的说得好好笑,若FC不能调用FB,那还需要FB干什么。
肯定是你编程有什么问题。同时说明一定的是,在FB外部对它的背景DB中的静态变量是可读写的
+9魅力9积分910经验11731文章193注册
俺目前也遇到这个问题,调用的时候总是提示错误,还要慢慢摸索啊
127经验2389文章56注册
建议仔细阅读西门子编程手册,基础理论十分重要!
loading...
loading...
loading...
loading...
loading...
loading...
长度不得超过255字
内容(最大25K)
是否是UBB代码
Alt+S或Ctrl+Enter快速提交
Powered by .背景数据块和全局数据块的区别,CALL&调用如何影响&DB&寄存器?
全局数据块和背景数据块的区别
对于全局数据块而言,所有的程序块
(FB,FC&和
OB)均可以读写该数据块中的数据。而背景数据块被分配给特定的功能块,包含所分配的FB的本地数据。
&全局数据块
背景数据块
所有的程序块
(FB,FC&和 OB)可以访问程序中全局数据块中的数据
背景数据块 DB
被指定到一个 FB
在程序中能够独立地创建全局数据块
在程序中只能够对相关联的 FB
创建背景数据块
不能创建静态变量
在FB中可以定义静态变量,当数据块建立完成并且已经被保留了几个循环之后,存储的本地静态数据不会丢失,除非数据再次被更改
在数据块中添加,删除,改变变量
在相关的功能块中添加或删除变量,改变变量
可以改变初始值和当前值
不能改变变量的初始值和当前值
全局数据块的结构能够被指定
在相关的FB中预定义数据块的结构
在 CPU 中的
STEP7 程序对全局和背景数据块有相等的读写权利。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="/mw690/gx6DsPpTecD3f&690" ORIGINHEIGHT="195" ORIGINWIDTH="278" IDX="0" STYLE="margin: 0 padding: 0 border-style: vertical-align:" TITLE="" NAME="image_operate_0592"
ALT="背景数据块和全局数据块的区别,CALL&调用如何影响&DB&寄存器?" />
FB&的数据可以存储在单个背景数据块中& (多重背景)。图 02
给出了一个例子,说明了在 FB1 中 FB5 和 FB6 如何作为多重背景的。两个 FB 将它们的背景数据保存在调用它们的 FB1
的背景数据块 DB1中。在 FB1 的声明中,多重背景块保存为静态变量。
<img BORDER="0" src="/blog7style/images/common/sg_trans.gif" real_src ="/mw690/gx6DsPtw2o3cb&690" ORIGINHEIGHT="272" ORIGINWIDTH="538" IDX="1" STYLE="margin: 0 padding: 0 border-style: vertical-align:" TITLE="" NAME="image_operate_73958"
ALT="背景数据块和全局数据块的区别,CALL&调用如何影响&DB&寄存器?" />
更多信息可以参考
STEP 7 在线帮助以下部分
“背景数据块”
“创建数据块
“数据块 (DB)
“使用多重背景”
V4.02&升级到 V5.x 需要注意
当升级 STEP
7 V4.02&到 V5.x 版本时,在 LAD/STL/FBD 编辑器中可能会在调用 CALL
功能时出现红色。这种现象的原因是块中调用的一个背景数据块已经在符号表里被声明为全局数据块。在 STEP7
编程规则中这是不允许的,并且在 STEP7 V5.x
版本中也是不能被接受的。&
可以按照下列步骤来修改发生错误的数据块:
在符号表中删除声明错误的 DB
然后删除错误的
打开调用的块然后重新生成背景数据块。
调用 CALL 功能如何影响 DB
当程序块在
STEP 5&或 STEP 7 中被调用时,DB1 和 DB2
寄存器的初始内容被恢复。已经打开的数据块会一直保持有效直到另一个数据块被打开。DB 寄存器的内容反映了当前打开的数据块(DB /
然后,必须明确,不是所有的 S7
编辑器/编译器对&DB 寄存器的改变对用户来说都是明显的。例如,当使用 CALL 指令调用 FC
时,如果给 FC 形参分配的是完整的数据块变量地址,编译器会打开指定的数据块。当 FC 调用完成时,DB 号仍然保存在 DB1
寄存器中。在 FC 中改变 DB 寄存器不会影响调用完成后 DB 寄存器的值。
Input2:= DB3.DBB0
如果调用功能块和相关的背景数据块,调用
CALL 指令后,背景数据块号保存在 DB1 寄存器中。传输完整的数据块变量地址给 FB,在 FB 中更改 DB 寄存器不会影响
DB1 寄存器的内容。
Input2:= DB3.DBB0
调用系统功能块后
(SFB),相应的背景数据块号保存在 DB1 寄存器中。然而,使用 UC 或 CC
指令后,数据寄存器始终保持不变,这是由于这些调用没有指定参数和背景数据块。
为了避免在
STEP 编程过程中处理数据块时出现区域长度错误和访问错误,尽量只使用完整的地址访问 DB 中变量。(如
DBx.DBBy&或符号名 "DBName".Variable_name)。
================================================
工控老鬼技术Blog:&
启程培训中心&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 db块的使用 的文章

 

随机推荐