200PLC程序的&VB3怎么理解中的&怎么理解

2025-04-07 11:19:17
推荐回答(1个)
回答1:

这个是间接寻址啊。一般都是要和AC存储区配合使用的。
比如有一组数据是这样存放的:
VB3:16#11
VB4:16#12
VB5:16#13
VB6:16#14
那么,现在开始进行间接寻址,首先执行指令MOVD &VB3 AC1,此时指针AC1指向了VB3,此时如果执行指令MOVW *AC1 AC0,那么AC0中的数据就是VB3和VB4了。那么然后我们执行CD AC1 两次,指针AC1被自加了两次,于是指针AC1,就指向了VB5,最后把VB5的数据取出来,那就要执行指令MOVW *AC1 AC0 ,这时候AC0里的数据就是VB5,VB6了。这就是间接寻址,看上去,感觉很没用,实际上,间接寻址很多的被用到一些循环中,或者一些输入数据存储区是变化的场合。比如,从VB3开始到VB100的数据全部转移到VB103到VB200,这样的情况下,就可以使用间接寻址,通过自加改变指针AC1,来完成,提高代码效率。理解了&VB3,那普通的VB3就没什么好说的啦,就是存放数据的一个地址而已。