考慮一個掃描周期內(nèi)的狀態(tài):
首先M100是OFF的,C1被M100的常閉觸點(diǎn)一直復(fù)位中;
M19置ON后第一個掃描周期
第一句指令:當(dāng)M19第一次為ON時,C0計(jì)數(shù)到1,線圈變?yōu)镺N;
第二句指令:C0將M100置位為ON;(注意此時程序還沒有掃描到后面,C1仍然是在被復(fù)位的狀態(tài)。而內(nèi)存中的M100狀態(tài)已經(jīng)由OFF變?yōu)镺N了)
第三句指令:M100將C0復(fù)位;
第四句指令:雖然M19和M100同時為ON,但是因?yàn)镃1仍在被復(fù)位的狀態(tài),所以此時沒有計(jì)數(shù)。雖然輸出線圈顯示為ON了,但計(jì)數(shù)值仍為0;
第五句指令:C1計(jì)數(shù)值為0,未達(dá)到設(shè)定值1,觸點(diǎn)保持為OFF,未能復(fù)位M100;
第六句指令:M100保持為ON,未能繼續(xù)復(fù)位C1;
第二個掃描周期:
第一句指令:當(dāng)M19仍為ON時,但M100也為ON了,所以C0不計(jì)數(shù),保持上一次被復(fù)位的狀態(tài)OFF;
第二句指令:C0狀態(tài)為OFF,對M100線圈無影響,M100仍為ON;
第三句指令:M100繼續(xù)將C0復(fù)位;
第四句指令:雖然M19和M100同時為ON,但C1仍沒有計(jì)數(shù)。因?yàn)橛?jì)數(shù)器計(jì)數(shù)需要前邊的條件狀態(tài)有個OFF---->ON的狀態(tài)變化,而此時M10和M100保持了上一個掃描周期的狀態(tài),一直是ON,沒有變化,所以C1計(jì)數(shù)值保持為0,雖然輸出線圈的狀態(tài)是ON 的,但因?qū)嶋H計(jì)數(shù)值為0,未達(dá)到1,所以C1觸點(diǎn)的狀態(tài)仍為OFF;
第五句指令:C1保持為OFF,未能復(fù)位M100;
第六句指令:M100保持為ON,未能繼續(xù)復(fù)位C1;
此后就繼續(xù)保持這種狀態(tài),也就是樓主圖片中的情況;直到M19再次出現(xiàn)OFF---->ON的狀態(tài),使C1得到一個計(jì)數(shù)值使其觸點(diǎn)狀態(tài)變?yōu)镺N,將M100復(fù)位,再由M100的常閉觸點(diǎn)將C1復(fù)位。這個過程中應(yīng)該也能觀察到C0前面M19和M100都為ON而C0計(jì)數(shù)值也為0的情況。