指针指令有过一点研究。
间接寻址有存储器间接寻址,有寄存器间接寻址,寄存器间接寻址又分区域内间接寻址和区域间间接寻址。
存储器,也就是一个32位的双字节的数据存储单元。例如MD0,DB1.DBD0等等。当然对应定时器T,计数器C单字也行。
寄存器,也就是AR1,AR2这样的地址存储单元。
对于我们常见的I,Q,M,DB标识符实际在PLC是由相应的数据区对应的。
I 对应DW#16#81000000
Q对应DW#16#82000000
M对应DW#16#83000000
DB区对应DW#16#84000000
带地址标识的存储器存储 L P#M0.0
T MD4
不带地址标识的存储器存储 L P#0.0
T MD4
存储器
带地址标识的寄存器存储 L P#M0.0
Lar1
不带地址标识的寄存器存储 L P#0.0
Lar1
通过上面的比较应该比较明显的看出他们的区别。
由于 后面 L DBW[AR1,P#0.0] 实际已经有地址标识DB了,所以之前的可以不用。
当然如果前面用了DW#16#84000000
则 L DBW[AR1,P#0.0] 和 L W[AR1,P#0.0] 其实是等效的。