数据块的数据结构

在S7-300中怎样生成数据块的数据结构

最佳答案

针对S7-300/400来说,DB是它的一个存储区。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块的使用受这两个条件的限制。当然通过存储卡,也可以实现扩展。 

 

提问者对于答案的评价:
您的回答比较适合我,非常感谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc316891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:27
下一篇 2020年11月1日 下午4:27

相关推荐