q605668560
級別: 家園常客
|
這是其中的一部分 完整版 程序 裝飾燈 控制程序.rar (11 K) 下载次数:17 為什么C1線圈已得電,可下面的 RST M100卻沒有得電 這里的動作為什么是M19得電一次,M100置位一次,M19再得電一次,變復位一次。如此循環。我用的是在線模擬,有關系嗎? [ 此帖被q605668560在2012-10-18 08:29重新編輯 ] |
---|---|
|
q605668560
級別: 家園常客
|
這是完整程序 裝飾燈 控制程序.rar (11 K) 下载次数:11 我用的是在線模擬,動作也是如我發的圖所示。 |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
考慮一個掃描周期內的狀態: 首先M100是OFF的,C1被M100的常閉觸點一直復位中; M19置ON后第一個掃描周期 第一句指令:當M19第一次為ON時,C0計數到1,線圈變為ON; 第二句指令:C0將M100置位為ON;(注意此時程序還沒有掃描到后面,C1仍然是在被復位的狀態。而內存中的M100狀態已經由OFF變為ON了) 第三句指令:M100將C0復位; 第四句指令:雖然M19和M100同時為ON,但是因為C1仍在被復位的狀態,所以此時沒有計數。雖然輸出線圈顯示為ON了,但計數值仍為0; 第五句指令:C1計數值為0,未達到設定值1,觸點保持為OFF,未能復位M100; 第六句指令:M100保持為ON,未能繼續復位C1; 第二個掃描周期: 第一句指令:當M19仍為ON時,但M100也為ON了,所以C0不計數,保持上一次被復位的狀態OFF; 第二句指令:C0狀態為OFF,對M100線圈無影響,M100仍為ON; 第三句指令:M100繼續將C0復位; 第四句指令:雖然M19和M100同時為ON,但C1仍沒有計數。因為計數器計數需要前邊的條件狀態有個OFF---->ON的狀態變化,而此時M10和M100保持了上一個掃描周期的狀態,一直是ON,沒有變化,所以C1計數值保持為0,雖然輸出線圈的狀態是ON 的,但因實際計數值為0,未達到1,所以C1觸點的狀態仍為OFF; 第五句指令:C1保持為OFF,未能復位M100; 第六句指令:M100保持為ON,未能繼續復位C1; 此后就繼續保持這種狀態,也就是樓主圖片中的情況;直到M19再次出現OFF---->ON的狀態,使C1得到一個計數值使其觸點狀態變為ON,將M100復位,再由M100的常閉觸點將C1復位。這個過程中應該也能觀察到C0前面M19和M100都為ON而C0計數值也為0的情況。 |
---|---|
本帖最近評分記錄: |