关于西门子300 中AR2的使用

关于西门子300 中AR2的使用

西门子300中,地址寄存器主要有两个:AR1与AR2。这两个地址寄存器主要是在西门子进行指针寻址的时候,作为地址寄存器使用,存放变量地址。

具体使用

  • 西门子300的指针寻址除了一般的16位指针进行寻址外,还可以使用pointer和any指针进行寻址操作。特别是在进行将指针以接口的形式在FC和FB上进行寻址的时候。
  • 在一般的使用中,AR2可以当做AR1使用,作为普通的地址寄存器使用
  • AR2在FB的多重背景的使用
    • 此处,需着重说明。这是AR1与AR2的区别。在FB的多重背景编程的时候,AR2是存放多重背景在当前DB块中的偏移地址。但是该偏移地址并不是可以进行使用的。在进行监控的时候可以发现,该地址是一个DIX的地址。说明该地址是基于背景DB块的一个地址。如果在使用多重背景的时候,需要取用该多重背景下,当前DB块的实际数据,便需要进行地址的偏移。具体使用如下:
      • L P##IN1 // 将接口IN1的指针存放于ACCU1中
      • LAR1 // 将ACCU1中的数据存放于AR1中
      • TAR2 // 将AR2中的数据存放于ACCU1中
      • L 16#FFFFFF // 将十六进制FFFFFF存放于ACCU1中
      • AD // 留取后面的偏移量,屏蔽前面的DIX区域
      • +AR1 // 将偏移量加到AR1中,得到最终的数据指针

至此,就可以用AR1的指针值进行运算了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值