DECO译码指令本人感觉蛮难理解。最近有网友说对难懂的指令,可以编一小段指令进行试验,然后看结果,比较好理解。 我用三菱plc仿真软件进行仿真运行。 我用M8013的上升沿去触发MOV K0 D0,用M8013的下降沿去触发INCP D0, 然后用译码指令DECO D0 Y100 K3去译码,本意是让Y00~Y07循环输出。可结果是只有Y00和Y01交替输出。后来分析的结果可能是下降沿过后D0马上又让上升沿置0了,下一个脉冲无法执行“加一”指令所造成。于是删掉MOV K0 D0,结果正确。 进一步仿真发现,当K=1时,只有1个输出;K=2时,有4个输出;K=3时,有 8个输出,K=4时,有16个输出。本例中DECO D0 Y100 K3 ,因K=3,置位情况如下: D=0 Y00=1 D=1 Y01=1 D=2 Y02=1 D=3 Y03=1 D=4 Y04=1 D=5 Y05=1 D=6 Y06=1 D=7 Y07=1
感觉有趣,记录于此。望同行指正。 |