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