slik
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 908 個(gè)
工控威望: 1175 點(diǎn)
下載積分: 5868 分
在線時(shí)間: 541(小時(shí))
注冊(cè)時(shí)間: 2008-06-01
最后登錄: 2025-01-26
查看slik的 主題 / 回貼
樓主  發(fā)表于: 87天前
如題,在如下的梯形圖中,為什么用LD M404不能觸發(fā)M908,而需要改為M404的下降沿,即LDF M404,按理說(shuō),因?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  不行,而需要改為
LDF M404
AND X10012
SET M908
我想問(wèn)的是為什么LD M404不行,而改為L(zhǎng)DF M404,即用M404的下降沿就可以觸發(fā),請(qǐng)大家討論討論,謝謝!如下圖:

lvpretend
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1264 個(gè)
工控威望: 1434 點(diǎn)
下載積分: 3699 分
在線時(shí)間: 324(小時(shí))
注冊(cè)時(shí)間: 2015-07-20
最后登錄: 2024-11-29
查看lvpretend的 主題 / 回貼
1樓  發(fā)表于: 66天前
引用
引用樓主slik于2024-11-07 20:02發(fā)表的 在如下的梯形圖中為什么要用M404的下降沿才能保證M908的可靠觸發(fā) :
如題,在如下的梯形圖中,為什么用LD M404不能觸發(fā)M908,而需要改為M404的下降沿,即LDF M404,按理說(shuō),因?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è)周期輸出。
所以你說(shuō)的這個(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è)周期有效。