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
























粵公網(wǎng)安備 44030402000745號(hào)