西门子PLC300移位指令输出怎么跟Q输出联系的???高手解释下,万分感谢!

比如说我要实现16灯依次点亮(全亮),初始值DW#16#FFFF000赋值给MD20,那FFFF0000代表什么啊,输出Q(0.0~1.7)怎么和MD20联系啊,具体数据时什么(比如说第一灯亮时什么数据,第二灯亮又是怎样的数据..........)QB0和Q是什么关系,用什么给QB赋值?高手解释下啊,刚学,对这个一点都不懂,最不懂的就是和输出怎么联系!!!谢谢,在线等啊,万分感谢!

一个一个来。1,16灯依次点亮,对应的输出是Q0.0-Q1.7共16个位,每个周期使一个位为1。
2,初始值DW#16#FFFF000赋值给MD20,那FFFF0000代表什么啊,首先要知道DW=2W=4BITY=32BIT的对应关系,上面意思是把双字FFFF0000送给字MD20和MD21,这里FFFF0000=2进制的1111 1111 1111 1111 0000 0000 0000 0000,前面16个1是送到MD20里面的。3,输出Q(0.0~1.7)怎么和MD20联系啊,具体数据时什么(比如说第一灯亮时什么数据,第二灯亮又是怎样的数据..........),把MD20里面的数据送到地址QB里面去,对应的哪个位为1,那么那个灯就亮了。4,QB0和Q是什么关系,前者是一个字节,后者代表整个存储区。你这个用一个顺序循环指令就可以实现追问

你回答的也很好,但是只能选一个,所以很抱歉,谢谢哈

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-17
这是PLC中的数的概念 如你把16#FFFF0000给MD20 如果把MD20 传给QD0的话这时候Q0.0~Q0.7 Q1.0~Q1,.7 是被点亮的。
QB0是一个字节 Q0.0只是一个位 并且是QB0中的最低位 一个字节包括8个位追问

谢谢,我现在要移位实现灯依次亮,那什么来赋值个QB呢,还有QD0和QB的关系是什么呢,QB0就代表控制了8盏灯(Q0.0~0.7)吗?

追答

D是一个双字 W是一个字 B是一个字节 。双字 字 字节是PLC中的数据类型。建议你先看看PLC的基础知识, 如果想实现依次点亮 先往QB0中MOV-B一个16#00 然后再分别依次移动以下16#的数
Q0.0 16#01
Q0.1 16#02
Q0.2 16#04
Q0.3 16#08
Q0.4 16#10
Q0.5 16#20
Q0.6 16#40
Q0.7 16#80
QD0包括QB0 QB1 QB2 QB3

追问

谢谢,移位指令里左移和右移,是怎么样的啊,比如说我再书上看到MD20里初值是16#FFFF0000,那MB23就是16#00了,把它赋值给QB0,MB22赋值给QB1。我右移指令,带符号右移移1位最后是变成16#1111 1111 1111 1111 1000 0000 0000 0000,还是16#1111 1111 1111 1110 0000 0000 0000 0001?如果是1111 1111 1111 1111 1000 0000 0000 0000那灯是从Q1.7亮起走的,不是从Q0.0开始的啊?

追答

变成16#0111 1111 1111 1111 1000 0000 0000 0000
Q1.7先亮

本回答被提问者采纳
相似回答