到目前為止,已經(jīng)完成了位邏輯運(yùn)算指令的學(xué)習(xí),今天這篇文章將在之前指令學(xué)習(xí)的基礎(chǔ)上完成電機(jī)一鍵啟動(dòng)程序的編寫,也就是使用一個(gè)自復(fù)位的按鈕實(shí)現(xiàn)電機(jī)的啟動(dòng)和停止功能,同時(shí)繼續(xù)加深對(duì)PLC掃描周期和PLC程序執(zhí)行過程的理解。
正文
之前我們是用兩個(gè)按鈕(一個(gè)常開的啟動(dòng)按鈕和一個(gè)常閉的停止按鈕)實(shí)現(xiàn)電機(jī)的起保??刂瞥绦虻摹?/p>
那如何使用一個(gè)自復(fù)位按鈕來控制單個(gè)電機(jī)的啟動(dòng)和停止呢,這就需要使用沿脈沖類指令和對(duì)PLC的掃描周期和程序執(zhí)行的過程有較好的理解。首先,我們通過一個(gè)沿脈沖指令實(shí)現(xiàn)電機(jī)的第一次啟動(dòng)。程序如下:
在上面的程序中,當(dāng)我按下啟動(dòng)按鈕I1.1,I1.1的值在當(dāng)前掃描周期就會(huì)變?yōu)椤?”,由于上一個(gè)掃描周期M10.1的值為“0”,所以會(huì)產(chǎn)生一個(gè)上升沿信號(hào),掃描周操作數(shù)上升沿指令就會(huì)在當(dāng)前掃描周期內(nèi)接通,啟動(dòng)標(biāo)志位M30.0的值在當(dāng)前掃描周期內(nèi)就會(huì)變?yōu)椤?”,緊接著,電機(jī)Q1.0的值變?yōu)椤?”,在下一個(gè)掃描周期形成自鎖(后面會(huì)分析),如下圖所示。
在下一個(gè)掃描周期,由于沒有了上升沿信號(hào),所以M30.0的值恢復(fù)成“0”,但是,由于Q1.0的值仍然為1,程序形成了自鎖,如下圖。
以上程序完成了電機(jī)Q1.0的自鎖控制,也就是第一次啟動(dòng),接下來要實(shí)現(xiàn)第二次按下啟動(dòng)按鈕對(duì)電機(jī)進(jìn)行停機(jī),也就是將Q1.0左側(cè)的兩個(gè)支路都要切斷。
為了滿足這個(gè)要求,我們對(duì)上面的程序進(jìn)行了調(diào)整,具體內(nèi)容就是在支路1中加入Q1.0的常閉觸點(diǎn);在支路2中加入M30.0的常閉觸點(diǎn),如下圖所示:
再繼續(xù)進(jìn)行分析。當(dāng)I1.1按下去第一次按下去,形成了一個(gè)上升沿信號(hào),在當(dāng)前掃描周期內(nèi),啟動(dòng)標(biāo)志位M30.0的值變?yōu)椤?”,Q1.0的值變?yōu)椤?”,但是沒有形成自鎖。
在下一個(gè)掃描周期,由于沒有上升沿信號(hào),M30.0的值恢復(fù)為“0”,由于Q1.0的值還是為“1”,形成了自鎖,即電機(jī)Q1.0保持運(yùn)行,如下面兩張圖所示。
接下來,再次按下啟動(dòng)按鈕I1.1,同樣會(huì)形成一個(gè)上升沿,在當(dāng)前掃描周期內(nèi),啟動(dòng)標(biāo)志位M30.0變?yōu)椤?”,由于Q1.1的值為1,當(dāng)程序段2的的程序從左往右執(zhí)行的時(shí)候,兩個(gè)支路都被掐斷,所以Q1.0的值在當(dāng)前掃描周期結(jié)束的時(shí)候變?yōu)椤?”,且在下一個(gè)掃描周期,M30.0和Q1.0的值都是“0”,兩個(gè)支路保持“斷路”的狀態(tài),這樣就完成了對(duì)電機(jī)Q1.0的停止操作。