L DBW [MD 20] //装载DB1.DBW4。
L DBW [MD 24] //装载DB1.DBW20。
+I //相加
L DIW [MD 28] //装载DB3.DBW40。
为何MD20会是DBW4
MD24会是DBW20
MD28会是DBW40
最佳答案
1、为何MD20会是DBW4?
L DBW [MD 20]这是双字节寻址的语句,即,MD 20中已存有4.0的地址。
2、请楼主注意:
楼主给出的程序不完全,肯定有对MD20赋值的语句,就是将4.0的地址送人MD20,例如有这样的指令:
L DW#16#20 //将32位16进制数20存入ACC1
T MD20 //这个值再存入MD20.。
3、有关双字节寻址的语句:
双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。
例如:当AR=000000D4(hex)=0000 0100 0000 0000 0000 0000 0010 0000(b),实际上就是等于4.0。
4、 MD24会是DBW20? MD28会是DBW40?
道理与上述相同。
5、建议楼主看看:
见《详解西门子间接寻址.pdf》下载:
http://ishare.iask.sina.com.cn/f/3022080.html
详见《step7编程之地址概念详解》连接:
http://www.plc365.com/jishu/57.html
提问者对于答案的评价:
很好,很详细。谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc244362.html