转化赋值问题

A (AR1;P#0.0)
= (AR2;P#1.1)
赋值给输出位Q10.0
这个Q10.0 怎么转换过来的

图片说明:

转化赋值问题   

最佳答案

1、首先弄清地址指针的数据格式:
地址指针AR的数据格式: 
  1000 0YYY 0000 0BBB BBBB BBBB BBBB BXXX
其中0-2bit,指定bit位,3-18bit指定byte字节。第31bit被固定为1,同时,第24、25、26位是即表示为对I区域寻址。
如果我们把这样的AR内容,用HEX表示的话,那么就有:  
当是对P区域寻址时,AR=800xxxxx
当是对I区域寻址时,AR=810xxxxx
当是对Q区域寻址时,AR=820xxxxx
当是对M区域寻址时,AR=830xxxxx
当是对DB区域寻址时,AR=840xxxxx
当是对DI区域寻址时,AR=850xxxxx
当是对L区域寻址时,AR=860xxxxx    
当是对V区域寻址时,AR=870xxxxx
2、程序中:
L P#I 8.7  //将I 8.7 装入累加器1中
LAR1  //将累加器1中数据送入地址指针AR1中。
此时,地址指针AR1中为81000047(十六进制)=1000 0001 0000 0000 0000 0000 0100 0111。
按照上述地址指针AR的数据格式,第31bit被固定为1,同时,第24、25、26位是810(十六进制)即表示为对I区域寻址。0-2bit,指定bit位,3-18bit指定byte字节,即表示 8.7。
32位的地址指针AR1中的数据就是表示 I8.7了。
3、这个Q10.0 怎么转换过来的?
同理,地址指针AR2中装入了Q8.7,
= [AR2,P#1.1]  //地址指针AR2中的数据Q8.7,加上偏移量1.1,结果为10.0(注意bit位(0-2bit)是八进制加法)。
4、建议系统看看下述指令,在遇到指针寻址问题就不求人了。
、《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04)     》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
、《step7编程之地址概念详解》连接:
http://wenku.baidu.com/view/b2b4d3375a8102d276a22fd3.html

http://www.chinakong.com/rencai/disp.asp?id=1633&leibie=4
、《西门子STL间接寻址常问问题集》
http://www.ad.siemens.com.cn/download/docMessage.aspx?
ID=6175&loginID=&srno=&sendtime=

提问者对于答案的评价:
谢谢
阿鸣老师的详解
偏移1.1
这怎么是个小数呢?

最佳答案作者回复:
偏移1.1,这怎么是个小数呢?
点前面的1表示字节,点后面的1表示位。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日
下一篇 2020年10月30日

相关推荐