回复:想问一下背景数据块有什么用?

dcy

  • 帖子

    403
  • 精华

    0
  • 被关注

    8

论坛等级:侠士

注册时间:2008-08-18

普通 普通 如何晋级?

发布于 2008-11-17 10:36:04

0楼

DB块有二种,一种是背景数据库,这种DB块是在调用功能块的时候自动生成的,称为instance DB.另外一种是用户自己定义的DB块,称为shared DB.如果CPU没有足够的内部存储位,那我们可以使用shared DB块来存储,这是一个全局的数据块。而instance DB块中的数据则是在特殊的功能块中有效。
若该DB块是背景数据块(Instance),即被FB,SFB所调用的,那么系统会自动对其分配相应的空间。如果你在其它地方不再调用该数据块了,你就不需要再在DB块中定义数据;但这并不是说不允许对该DB块进行编辑,而是为了不导致编程上的混乱,强烈建议不要这样使用!

对于需要一般的共享数据块(Shared DB),在定义了数据块后,就必须根据你编程的要求,在该DB中开辟相应的数据空间。例如你需要读/写 DB10中存储100个byte的数据,那么打开,DB10,可以这样定义一个100byte的空间:
变量名 数组定义
VAR1 ARRAY[1..100]
BYTE
这样就开辟了一个100byte空间的数据区,供程序使用了。如果不写入这些数据的话,那么在程序中调用该DB块会发生错误。

对于CPU来说,数据块的个数是有限制的,300的DB块一般最多为511个,最大空间为16K;400 的DB块一般最多为512个,最大空间为64K;也就是说DB块的使用受这两个条件的限制。当然通过存储卡,也可以实现扩展。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。