DECO譯碼指令本人感覺蠻難理解。最近有網(wǎng)友說對難懂的指令,可以編一小段指令進行試驗,然后看結(jié)果,比較好理解。
我用三菱PLC仿真軟件進行仿真運行。
我用M8013的上升沿去觸發(fā)MOV K0 D0,用M8013的下降沿去觸發(fā)INCP D0,
然后用譯碼指令DECO D0 Y100 K3去譯碼,本意是讓Y00~Y07循環(huán)輸出??山Y(jié)果是只有Y00和Y01交替輸出。后來分析的結(jié)果可能是下降沿過后D0馬上又讓上升沿置0了,下一個脈沖無法執(zhí)行“加一”指令所造成。于是刪掉MOV K0 D0,結(jié)果正確。
進一步仿真發(fā)現(xiàn),當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
感覺有趣,記錄于此。望同行指正。
我用三菱PLC仿真軟件進行仿真運行。
我用M8013的上升沿去觸發(fā)MOV K0 D0,用M8013的下降沿去觸發(fā)INCP D0,
然后用譯碼指令DECO D0 Y100 K3去譯碼,本意是讓Y00~Y07循環(huán)輸出??山Y(jié)果是只有Y00和Y01交替輸出。后來分析的結(jié)果可能是下降沿過后D0馬上又讓上升沿置0了,下一個脈沖無法執(zhí)行“加一”指令所造成。于是刪掉MOV K0 D0,結(jié)果正確。
進一步仿真發(fā)現(xiàn),當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
感覺有趣,記錄于此。望同行指正。