签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
OPN DI和OPN DB的区别
最近在网上看到了一篇文章,其中有关OPN DI 和OPN DB方面的知识,现摘抄下来与大家分享,也算做个笔记,方便日后查阅。
S7300/400 系列CPU拥有两个数据块寄存器,它们保存着当前打开的数据块编号:DB寄存器保存着打开的共享数据块编号;DI寄存器保存着打开的背景数据块编号。
但是也经常用于程序中同时打开的两个数据块的操作(程序中能同时打开两个数据块,一个用DB、一个用DI,这里的DI就不代表背景数据块,只适用于区分另一个数据块的作用)。
STEP7中有两个数据块寄存器:
DB:共享数据块
DI:背景数据块
因为打开一个DB块的时候系统会自动关闭另一个DB块,如果需要在同一个程序块中同时打开两个数据块,则用一个DB和一个DI。
例如:
OPN DB1 //打开DB1
OPN DB2 //关闭DB1,打开DB2
无法满足我们的需求
所以为了同时打开这两个块,你可以如下写:
OPN DB1 // 打开DB1
OPN DI2 // 打开DB2
L DBW10 // 将DB1.DBW10中的内容放入累加器1中
T DIW20 // 将累加器1中的内容放入DB2.DBW20中
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1660222&b_id=4&s_id=0&num=6
OPN DI //在官方的资料里,确实只说是打开背景数据块。但在一些资料的程序里,确实用来作为区别两个不同的DB块;编程上严谨点的话,应该先将地址寄存器的数据先保存,执行完程序后
TAR1 #BufferAR1
TAR2 #BufferAR2
........用户程序
LAR1 #BufferAR1
LAR2 #BufferAR2
以前也疑惑过,不过仔细实践后会发现
学习了,谢谢分享。
解释的很清楚,感谢分享
DB和DI无所谓全局数据块和背景数据块,两个都可以用,没有限制,是西门为用户同时打开两个数据块用的。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录