87000080如何变成84000000的?

程序                                               数据类型                  监控初值
(1)          L         P##PDB_L2                           pointer                    87000080
(2)          LAR1                                                                             87000080
(3)          L         D[AR1,P#2.0]                                                      84000000
在程序(3)中,为什么增加了2个字节的偏移量后就变成了84000000呢?为什么?

问题补充:
我上传的程序(1)(2)(3)是连续的,87000080和 84000000是动态监控看到的初值。在我的“程序问题4”和“程序问题5”中都有,没掺水份。

最佳答案

#PDB_L2引脚关联的变量是DB?.DBX0.0,所以第3步取出地址为84000000。
参见:S7-300S7-400寻址
https://support.industry.siemens.com/cs/#document/79632832/s7-300%E5%92%8Cs7-400%E5%AF%BB%E5%9D%80?dti=0&lc=zh-CN
下载文档

提问者对于答案的评价:
你说的完全正确,#PDB_L2引脚关联的变量是DB?.DBX0.0,具体的就是DB400.DBX0.0,但是为什么经过“ L         D[AR1,P#2.0] ”,就由“87000080”+2.0字节的偏移量就变成了84000000呢?我还是没懂。我没懂就是没懂不装懂的人,所以请继续指导。谢谢!我所例举的程序是由西门子公司专家编写的。

专家置评

已阅,最佳答案正确。

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

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

相关推荐