STL 帮忙解释下

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

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

相关推荐