找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1.数据块DB
DB用来存储用户数据及程序的中间变量,为全局变量。DB的最大容量,S7-300为32KB,S7-400为64KB。
DB可分为共享数据块(Share DB)、背景数据块(Instance DB)和用户自定义数据(UDT)类型的数据块。
共享数据块可作为所有程序使用的全局变量,在CPU允许的条件下,一个程序可创建任意多个DB,每个DB的最大容量为64KB。
默认条件下,共享数据块为掉电保持,在其属性菜单中选中“Non Retain”可以更改为掉电数据丢失。
如CPU中无足够的内部存储空间保存数据,可将指定的数据保存到共享数据块。存储在共享数据块中的数据可被其它任意一个块调用(全局变量)。这一点和背景数据块不同,背景数据块只能被指定的功能块(FB)使用,保存在背景数据块中的数据只能在这个功能块中有效。
背景数据块与FB和SFB关联,也是全局变量。背景数据块和共享数据块相比,只保存与FB或SFB接口数据区(Temp)相关的数据。背景数据块中有一种比较特殊的数据块,称为多重背景数据块。有关多重背景数据块的用法和使用注意事项请参看《怎样使用多重背景数据块》。
基于UDT的数据块为全局变量,提供一个固定格式的数据结构,便于用户使用。
2.声明变量表(又称局部变量声明表)的组成,变量声明表由参数(IN、IN_OUT、OUT)和局部变量两大类组成,局部变量又包括静态变量(STAT)和临时变量(TEMP)两种。参数是调用快(FB)和被调用快(背景数据块)间传递数据,是逻辑块的接口。静态变量和临时变量是仅供逻辑块(这里指FB)本身使用,不能用作不同程序块之间的数据接口,也就是说静态变量仅用于本功能块FB,并且只能在FB的背景数据块中使用,它在PLC运行期间始终被存储。S7将静态变量定义在对应的背景数据块中,当被调用快(FB 快)运行时,能读出或修改静态变量(从对应的DI块);被调用快运行结束,静态变量的数据保留在数据块中。由于FB有自己的背景数据块,所有的参数在其背景数据块中都有对应的存储位置,静态变量随着FB打开起作用,随着FB块调用结束而关闭,而且STAT(静态变量)的数据必须在调用FB快时同时打开对应的背景数据时才能修改或读出,所以你是无法在线修改STAT中的数据,也没有什么快捷方法。
(转帖:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=62575&cid=1029)
3.参考:
《在WinCC里调用STEP7的变量》:下载
http://www.mirautomation.com/download/download.aspx?id=2044
STEP7中数据块(DB)和WICC中变量地址属性中数据DB有关联吗?
没错,它们是关联的,它们的地址相对应,DB代表数据块变量 在wincc中被缩写 例如:STEP7 中DB0.DBD0 对应 wincc中 DB0.DD0
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!