STL中地址转换的问题

当利用寄存器寻址的时候,为什么AR=840000D4(hex)实际上就是等于DBX26.4呢,还有为什么083000320(hex)=M100.0 ,D4转换为26.4,320可以转换为M100.0这一个一个排列下来的吧,还有这可以通过什么样的计算公式可以算出来啊,谢谢

最佳答案

为什么AR=840000D4(hex)实际上就是等于DBX26.4呢,还有为什么083000320(hex)=M100.0 ?
1、首先要了解基本规定:作为双字指针时,就应该按照3-18bit指定byte,0-2bit指定bit来确定最终指令要操作的地址。0000 0000 0000 0BBB BBBB BBBB BBBB BXXX。例如:
0000 0000 0000 0000 0000 0000 0000 1010 = 1.2
2、第24、25、26位规定取值的范围:
当是对P区域寻址时,AR=800xxxxx
当是对I区域寻址时,AR=810xxxxx
当是对Q区域寻址时,AR=820xxxxx
当是对M区域寻址时,AR=830xxxxx
当是对DB区域寻址时,AR=840xxxxx
当是对DI区域寻址时,AR=850xxxxx
当是对L区域寻址时,AR=870xxxxx
3、根据上述规定:
、AR=840000D4(hex)实际上就是对DB区域寻址,0000D4(hex)为0000 0000 0000 0000 1101 0100=26.4,因此AR=840000D4(hex)实际上就是等于DBX26.4。
、AR=83000320(hex)是对M区域寻址,000320(hex)为0000 0000 0000 0011 0010 0000=100.0,因此AR=83000320(hex)实际上就是等于M100.0.。
4、建议系统看看:
见《关于S7-300和S7-400指针寻址的说明与例程(更新版)》下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=F0215

提问者对于答案的评价:
大家讲的太好了,谢谢大家的回答

专家置评

已阅,最佳答案正确。

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

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

相关推荐