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