这段程序反复使用+AR2,是怎么用的?能帮忙解读一下吗?

这段程序还有一部分也是反复使用+AR2的。在UC前和后,都使用+AR2,指针值的和都是8192,为什么?反复使用时什么意思?变量声明表的数据是怎么添加的?

图片说明:

这段程序反复使用+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中,得到最终的数据指针
——————— 
作者:saga20081208 
来源:CSDN 
原文:https://blog.csdn.net/saga20081208/article/details/82793441 
版权声明:本文为博主原创文章,转载请附上博文链接!

提问者对于答案的评价:
两者的和8192有什么意义?

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc352292.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论