括号中的值是怎么算出来的?

前辈:程序如下
L  L#+10
T  MD104
A  I[MD104]  //对I1.2 进行与逻辑操作
=DIX[MD2]   //赋值背景数据位DIX6.5
请问前辈,这里的数1.2  和 6.5 是怎么算出来的呢?

最佳答案

1、首先看看32位地址指针的格式:
其0-2bit,指定bit位,3-18bit指定byte字节。其第31bit固定为0。  
  AR格式:0000 0000 0000 0BBB BBBB BBBB BBBB BXXX  
  这样规定,就意味着AR的取值只能是:0.0 ——65535.7  
  例如:当AR=D4(hex)=0000 0000 0000 0000 0000 0000 1101 0100(b),实际上就是等于26.4。 
2、有关这里的数1.2  和 6.5 是怎么算出来的呢?
、L  L#+10,即取32位正常数,其二进制为:0000 0000 0000 0000 0000 0000 0000 1010.。按上述32位地址指针的格式(其0-2bit,指定bit位,3-18bit指定byte字节)为1.2。
、DIX[MD2]   //赋值背景数据位DIX6.5:楼主没有给出对于MD2赋值的指令。
3、相关资料?:
、《关于S7-300S7-400指针寻址的说明与例程(更新版)(2008.03.04)     》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
、《step7编程之地址概念详解》连接:
http://ishare.iask.sina.com.cn/f/22746895.html
http://www.gongkong365.com/bbs/job.php?action=download&aid=96

提问者对于答案的评价:
解释的详细

专家置评

已阅,最佳答案正确。

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

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

相关推荐