plc 位循环右移为什么灯会向左边亮?

不是应该把左边的数据放到右边吗?为什么会向左边两呢?plc 都是把低位向高位放吗?

回答·23
最热
最新
  • 直观的给你回答吧。以西门子系列为例: 移位前: 00010000(0.7—0.0,0.4 高电平)    右移一位后: 00001000(0.7—0.0,0.3 高电平) 虽然是右移,但是地址是减小的,所以你会看到移位的方向和输出指示灯的移动方向是相反的
  • 你看到的灯泡左边亮是因为你的灯泡排列顺序不同。右循环是指你的 plc 里面的数据是从高位向低位移。而你的灯泡的连接方是是最最左边开始接的是输出端最高位。比如西门子的右移就拿一个字节 8 位 qb0 里面的数据右移 Q0.7->Q0.6->Q0.5-Q0.4->Q0.3->Q0.2->Q0.1->Q0.0->Q0.7……,你对应的灯泡从左往右分别接的 Q0.0-Q0.7 看明白了吗?
  • 你是不是用错指令了吧
  • 三菱和西门子右移动正好是反向的,这个跟底层位组成的左高右低,还是坐低右高是有直接联系的。
  • 不同的 plc 循环指令不尽相同,另外接线的方式也所不同,建议排查一下线路,在排查一下指令
  • 每个 PLC 的指令都不一样,看看你的指令是否有错误,或者说你的接线有没有问题。
  • 一般只有西门子高低位相反。
  • 数据格式有关系,数据存放是低位在右
  • 对于西门子 plc 来说,字节 QB0 的 2 进制 2#0000 0000  从前往后的各个位对应是 Q0.7 Q0.6 ... Q0.0,而 plc 上面的指示灯排列是 Q0.0 Q0.1 ... Q0.7,这样当你对 QB0 赋值 2#1000 0000 的时候,plc 上面的灯是最右边的 Q0.7 亮,而右移一位后 QB0 变成 2#0100 0000,那么 plc 上面的指示灯就是左移了一位 Q0.6 亮了,依次类推,所以会看到字节循环右移,指示灯循环左移。
  • 指令有没有错,其次是接线有没有错。