DB块访问的问题

OPN   DB    50
      A     T     21

      A(    
      L     10
      L     MD   424
      >D    
      )     
      =     L      0.0
      A     L      0.0
      A(    
      L     DBW [MD   420]
      L     DBW [MD   424]
      >=I   
      )     
      =     L      0.1
      A     L      0.1
      JNB   _001
      L     DBW [MD   420]
      T     DB30.DBW    6
_001: NOP   0
      A     L      0.1
      JNB   _002
      L     DBW [MD   424]
      T     DB30.DBW    8
_002: NOP   0
      A     L      0.1
      JNB   _003
      L     DB30.DBW    6
      T     DBW [MD   424]
_003: NOP   0
      A     L      0.1
      JNB   _004
      L     DB30.DBW    8
      T     DBW [MD   420]
_004: NOP   0
      A     L      0.0
      A     T     21
      =     L      0.1
      A     L      0.1
      JNB   _005
      L     MD   420
      L     P#2.0
      +D    
      T     MD   420
_005: NOP   0
      A     L      0.1
      JNB   _006
      L     MD   424
      L     P#2.0
      +D    
      T     MD   424
_006: NOP   0
程序的DBW[MD420]    DBW[MD424]是不是就是分别访问的是DB50.DBW[MD420]  和DB50.DBW[MD424],如果不是要怎样表达才行

问题补充:
程序中3个DBW[MD420]    DBW[MD424]是不是就是分别访问的是DB50.DBW[MD420]  和DB50.DBW[MD424],我看了这个(错误1
OPN DB1
A DB2.DBX0.0
=DBX0.0

楼主:
错误1:
执行DB2.DBX0.0后,就默认打开DB2了,所以其实你是把DB2.DBX0.0又赋给了自己
修改:
A DB2.DBX0.0
=DB1.DBX0.0
)我看了这个文档有点疑问,那我下面访问了DB30.DBW6,那我后面的DBW[MD424]是不是就访问了DB30.DBW[MD424]

最佳答案

你的理解正确
访问DB30.DBW6会改变DB寄存器,相当于执行了OPN  DB30
不过你的程序中还存在跳转指令,如果访问DB30的语句被跳过那么DB寄存器不会被改变了

提问者对于答案的评价:
谢谢了

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐