大家好,麻烦帮看下面的例子:
1, L 80
T MD10
。。。
L 80
T MW10
。。。。
2. L L#80
T MD10
。。。
L L#80
T MW10
请问,1, 2 里面的 MD10和MW10的值分别是多少? 因为我看了篇文章,里面一会说是 80, 一会说是 10.0 (我知道10.0是怎么算出来的,但不知道为什么这边按80算,那边按10.0算)
谢谢了。
问题补充:
谢谢。不过,什么是“如果MD10用在了寻址的程序中”。是说:
L 80
T MD20
。。。
L MW【MD20】。 这里的 MD 就是用在了寻址的程序里吗?
最佳答案
楼主的问题补充是对的,这种就是32位指针的存储器间接寻址,所以
L 80
T MD20
。。。
L MW【MD20】就是L MW10
还有楼主的第二部是不对的
L L#80(双整数)
T MW10(整数)这样虽然不会报错,但是如果这个双字值大于不带符号0--65535之后就会报错,具体的MW10是多少,是看你的程序下边怎么用,
如果这样用
L 80
T MD20(其实这里的值还是80,只是下一步的程序做了一个转化,转换成了32位指针的存储器间接寻址)
L MW【MD20】就是L MW10其中MD20的值就是p#10.0
如果这样用
L 80
T MD20(值是80)
L 100
T MD24(值是100)
L MD20(值是80)
L MD24(值是100)
+DI
T MD28(值是180)
这中就不是寻址,只是计算,所以不会转换成地址。
提问者对于答案的评价:
谢谢。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc233963.html