间接寻址与监控

大家好,先谢谢了。
OB1 调用FB312,(DB312).
FB调用FC108。

变量关系请见附图。DBFB_AKZ 为FC108的输入变量,数据类型为Pointer.
DN17_900_Y12为FB312的静态变量。

请问, FC108里,
1  AR1最后的数据是多少?
2 #dbfb里保存的是多少?
2  最后的OPN DB,打开的是哪个DB?
3  监控栏,V 20.0是什么意思?STANDAND列显示的是哪个寄存器的数?
谢谢。

问题补充:
谢谢。
那么对于
    L     P##DBFB_AKZ  //如果DBFB_AKZ用DB312.DBX10.0代替,为什么ACC1的值是870000a0,而不是840000a0?
      LAR1  
      L     W [AR1,P#0.0]   //经过这一步,为什么ACC1变成了138了?
      T     #dbfb
      L     D [AR1,P#2.0]   //AR1+2.0为什么是840000a0?而不是870000c0?
      LAR1  
      OPN   DB [#dbfb]

图片说明:

间接寻址与监控    间接寻址与监控    间接寻址与监控    间接寻址与监控   

最佳答案

你的DBFB_AKZ 输入变量是P#DB312.DBX10.0,#dbfb里保存的是312,16进制为138,所以最后的OPN DB打开的是DB312。AR1最后的数据是DBX10.0,STANDAND列显示的是累加器1的数值。
这是典型的间接寻址,请参见:
《详解西门子间接寻址.pdf》下载:
http://ishare.iask.sina.com.cn/f/3022080.html
《S7-300和S7-400寻址》下载:
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=

提问者对于答案的评价:
谢谢

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午1:32
下一篇 2018年12月1日

相关推荐