L P##Magnet_pos //#Magnet_pos 实参为 DB346.DBX732.0
LAR1
L W [AR1,P#0.0] //我想知道此处是L W几?怎么计算出来的?
T LW 18
求解释!
最佳答案
Magnet_pos应该是一个pointer类型的参数。其头2个字节存储的是DB块的编号。
L P##Magnet_pos //#Magnet_pos 实参为 DB346.DBX732.0
LAR1
L W [AR1,P#0.0] //我想知道此处是L W几?怎么计算出来的?
T LW 18
你的这段程序的意思是把Magnet_pos所指的地址存入AR1,然后取出DB的编号,赋给LW18
也就是LW18的值现在为346
你看看下面的程序,肯定有OPN DB[LW18]吧
建议查阅pointer的相关资料。
提问者对于答案的评价:
基本就这个意思,不是太明白其中原理,刚找了点资料,
Pointer数据类型,共占用6个byte的空间,分别保存:
1.DB块号, byte n~ byte n+1;
2.交叉索引区域, byte n+2~ byte n+3
3.数据地址 按照Byte.Bit格式,byte n+4~ byte n+5
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc243410.html