FB1内的程序如下:
L W#16#8888
T #QC // Temp_变量: QC (word)
TAR2
SLD 8
SRD 8
L P##DSC // IN_变量: DSC (word)
+D
LAR1
A [AR1,P#1.0]
R L 0.0
//-------------------------
LAR1 P##DSC
TAR2
+AR1
L 0
T D [AR1,P#2.0]
A M 32.0
= [AR1,P#0.0]
我也只是在学习,上面的程序里为什么会SLD 8再SRD 8?= [AR1,P#0.0]又是什么意思?整个程序都看不懂,有高手指教一下吗?谢谢
最佳答案
sld 8再srd 8就是左移8位后再右移8位,就是把地址指针中的区域标识号去掉,再加上地址偏移量,而 A M32.0
=[AR1,P#0.0]
就是将m32.0的逻辑结果给AR1地址对应的偏移量为0,这个AR1包含有区域标识号以及区域间寻址的间接寻址。对应模拟试一试就清楚了。
提问者对于答案的评价:
我查看了一些资料和你给的答案提示,我已明白了。谢谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc231004.html