引用
引用樓主slik于2024-11-07 20:02發(fā)表的 在如下的梯形圖中為什么要用M404的下降沿才能保證M908的可靠觸發(fā) :
如題,在如下的梯形圖中,為什么用LD M404不能觸發(fā)M908,而需要改為M404的下降沿,即LDF M404,按理說(shuō),因為M908回路在M404回路的前面,所以程序上個(gè)周期掃描時(shí)如果
X10012還是正常的(OFF),M404為ON,因為輸入輸出映像刷新是在程序掃描的最前頭的,所以,當要到下一個(gè)周期掃描的前端,刷新輸入點(diǎn),這時(shí)X10012變?yōu)镺N,那么因為上個(gè)掃描周期中保存的M404還是為ON,所以,這時(shí)是可以觸發(fā)M908為ON的,理論分析是這樣的,但是實(shí)際上是不行的,用
LD M404
AND X10012
SET M908 不行,而需要改為
.......
有結果嗎?看了這個(gè)PLC的手冊,輸入輸出掃描很常規。輸入信號是在程序執行前掃描的,整個(gè)周期都不會(huì )變化。輸出信號是程序執行完畢再輸出的,會(huì )一直保持,直到下個(gè)周期輸出。
所以你說(shuō)的這個(gè)情況有點(diǎn)詭異,建議單獨寫(xiě)幾個(gè)指令,然后把PLC清除內存再恢復出廠(chǎng)值,測試一下。
另外,PLC邊沿觸發(fā)并不是直接用這個(gè)觸點(diǎn)(原觸點(diǎn)),而是自動(dòng)分配一個(gè)(或多個(gè))其它的內存單元(邊沿觸點(diǎn)),系統根據原觸點(diǎn)去置邊沿觸點(diǎn)。那么就會(huì )存在2種方法,一是在程序開(kāi)始前或執行完畢來(lái)進(jìn)行這個(gè)計算,就是一個(gè)周期只變化一次。另一種是實(shí)時(shí)計算(也就是一個(gè)周期可能變化多次),這種對PLC資源要求大。
這個(gè)PLC,兩種都在用,如果用指定位或BIT類(lèi)型變量,會(huì )滯后一個(gè)周期。用BOOL類(lèi)型變量就是當個(gè)周期有效。