当前位置: 主页 > PLC控制

为什么在FB块中尽量避免使用AR2

在我上一个问题的回答里,有老师建议在fb块中尽量不要使用AR2,为什么呢?
我以为AR1,AR2应该是两个独立的寄存器,在应用上是平等的,难道利用二者寻址是有区别的?

最佳答案

楼主所提问题非常好。AR1,AR2应该是两个独立的寄存器,在应用上是平等的。但是,正如你所提的问题:
1、转帖:
FB中为了方便背景数据块参数的寻址,自动使用AR2寄存器,AR2寄存器指向背景数据块的首地址P#DBX0.0,如果改变了这个寄存器的值,你再访问背景数据块参数时将不会得到正确的数值.所以,在FB里使用AR2寄存器要小心,对这两个寄存器改变后不要再使用背景数据块参数,当要使用背景数据块参数时要先恢复这两个寄存器的值。
2、转帖:
在FB中如果要同时用到AR1和AR2是不是只要先保存AR1和AR2,用完后再把AR1和AR2还原就可以了?
可以这么用,不过要确保在这之间不要访问FB的接口参数,因为只要访问了FB的接口参数,那么AR2就会被系统重写。
3、看看这个例子:
htTP://blog.gkong.com/liaochangchu_175000.AShx
4、看看:
西门子STL间接寻址常问问题集
http://www.ad.siemens.com.cn/download/docMESsage.aspx?ID=6175&loginID=&srno=&sendtime=

提问者对于答案的评价:
谢谢各位老师,长知识了。

  • 关注微信

猜你喜欢

微信公众号