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

我的理解是背景数据块是根据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  1
L   DBW  0
使用DI寄存器访问
OPN   DI   1
L   DIW  0
两种方式访问效果一样
在STL里DBNO和DINO分别表示当前DB寄存器和DI寄存器打开的数据块号,CDB呢就是交换两个寄存器内容

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月20日 下午1:45
下一篇 2017年11月20日 下午1:45

相关推荐

  • WINCC与PLC连接疑问

    一台计算机上的WINCC是否可以用 以太网 连接一个PLC,再用DP连接一个PLC么? 问题补充:呵呵,WINCC提供有那么多通讯连接,之前感觉应该能用多种通讯…

    自动化系统综合 2017年12月7日
  • wincc与研华工控机的OPC通信

    本人新购研华IPC-610以及数据采集卡,打算与上位机进行数据通信,上位机使用wincc组态软件实现现场设备的数字化显示。目前的想法是通过OPC服务器接收采集卡采集的现场数据,然后…

    自动化系统综合 2020年10月31日
  • 异地两台工控机之间的opc

    现在有套项目,我方315-2DP跟本地工控机(wincc)进行监控通讯,别人也有一台工控机,装有组态王软件,但是两台工控机不在同一个地方(假如我方工控机plc系统在新疆某油田,对方…

    自动化系统综合 2017年7月26日
  • profibus通信时送给micromaster420的准备命令字W#16#47E是怎么来的?

    profibus通信时送给micromaster420的准备命令字W#16#47E是怎么来的?也就是47E是什么意思。注:我的micromaster420的profibus地址是4…

    自动化系统综合 2020年11月1日
  • 交换机怎么设置

    以前没用过交换机,不知道怎么设置?还是不用设置呀? 问题补充:要是冗余的交换机又怎么设置?是不是应该有一个光盘驱动之类的东西呀? 最佳答案 1。目前以太网交换机有管理型交换机和非管…

    自动化系统综合 2020年11月1日
  • 排布 顺序

    请问200PLC,后面的扩展模块是按照什么顺序排放的?比如226+EM231+EM277 还是226+EM277+EM231,请问是按照什么规律的? 问题补充:如果我把E…

    自动化系统综合 2020年11月1日
  • 求方案,求思路

    是这样的,公司生产的产品功能都是一样的,只是控制的点数多少的问题, 比如说,此台设备有10个温度测量,   另一台设备,客户要求5个温度测量…

    2017年7月30日
  • 西门子搅拌程序

    请问各位,有没有用西门子200做过工程上的搅拌程序,比如沙子、石头、水泥等称出重量,然后搅拌混合,怎么做,请高手传一些案例,多谢。 最佳答案 可以参考:西门子S7-200系列PLC…

    自动化系统综合 2020年11月1日
  • Smart 1000系统时间在那改

    Smart 1000系统时间在那改  还有带不带系统内部变量 最佳答案 SMART系列屏只有软时钟,要做时钟同步的话必须读取PLC时间,要不断电时间就…

    自动化系统综合 2020年10月31日
  • SCL的问题

    请问FC中用FB901之前的CDB是什么意思,难道他把数据块DB2584和FB901的背景数据块DB2634的内容相交换?它们数据长度都不够的哇,DB2584占32,而DB2634…

    自动化系统综合 2017年8月26日