在STL里使用opn db 和opn di打开同一个数据块有什么区别?

您所在的位置:网站首页 plc中i_di是什么指令 在STL里使用opn db 和opn di打开同一个数据块有什么区别?

在STL里使用opn db 和opn di打开同一个数据块有什么区别?

2024-07-10 04:25| 来源: 网络整理| 查看: 265

我的理解是背景数据块是根据FB的变量申明表自动创建的,而在STL里可以用OPN DB和OPN DI打开同一个数据块,还可以使用CDB命令交换打开的两个不同的(DB和DI)数据块,我无法理解这两个数据块是如何交换的,还是应理解为OPN DB就是打开作为当前的,OPN DI打开作为背后的、预备的的数据块?不是因为只能同时打开两个数据块嘛,所以要指定哪一个是当前起作用的?

最佳答案

S7-300/400有两个数据块寄存器,DB寄存器和DI寄存器,调用FB时,系统会使用DI寄存器打开FB的背景数据块,所以DI寄存器通常称为背景数据块寄存器,如果不在FB里,DI寄存器和DB寄存器一样使用,通常在需要打开两个数据块时就分别用DB寄存器和DI寄存器打开数据块,当然不是当前的、背后的、预备的这样的概念,比如访问DB1.DBW0,使用DB寄存器访问OPN   DB  1L   DBW  0使用DI寄存器访问OPN   DI   1L   DIW  0两种方式访问效果一样在STL里DBNO和DINO分别表示当前DB寄存器和DI寄存器打开的数据块号,CDB呢就是交换两个寄存器内容

提问者对于答案的评价:至此我在选择最佳答案时心里很纠结,因为“我心飞翔”的回答也同样给予我很大的点拨,也一并说声谢谢啦……综合二位的解答我得出如下结论:OPN DB和OPN DI命令是指使用哪个DB寄存器来打开数据块,这里不能理解为LAD里的“共享”“背景”数据块,CDB只是交换了寄存器里数据,实际数据块里的数据未变。

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3