如果要实现交替输出,虽然西门子没有这个指令,但可以用其他方式实现:
比如例1:
例2:
还有用计数器的方法,等等。。
很多,相信你掌握一种就够了
ENCO指令:编码指令将输入字(IN)最低位集的位数写入输出字节(OUT)的最低"半字节"(4个位)中。
MW0=0时,Q0.0等于0(mw0没有1,也是0)
MW0=1时,Q0.0等于0(1在mw0 的 末位,即0位上,应该是0)
完整的帮助说明是这样的“将字节输入数据IN的最低有效位(值为1的位)的位号输出到OUT指定的字节单元的低4位”,也就是说如果你在一个字中,存放的数据(二进制的)是0100 0000 0000 0000,那么它的最低有效位,就是值为1的那个位,是第14位,那么就把14,写入到OUT所指定的字节单元(比如VB1)的低4位咯,也就是0000 1110
没有该指令,需使用基本指令自行搭建。