初學(xué)梯形圖編程,應(yīng)要遵循一定的規(guī)則,并養(yǎng)成良好的習(xí)慣。下面以三菱fx系列plc為例,簡單介紹一下plc梯形圖編程時需要遵循的規(guī)則,希望對大家有所幫助。有一點(diǎn)需要說明的是,本文雖以為例,但這些規(guī)則在其它時也可同樣遵守。
一,梯形階梯都是始于左母線,終于右母線(通常可以省掉不畫,僅畫左母線)。每行的左邊是接點(diǎn)組合,表示驅(qū)動邏輯線圈的條件,而表示結(jié)果的邏輯線圈只能接在右邊的母線上。接點(diǎn)不能出現(xiàn)在線圈右邊。如下圖(a)應(yīng)改為(b):

二,接點(diǎn)應(yīng)畫在水平線上,不應(yīng)畫在垂直線上,如下圖(a)中的接點(diǎn)x005與其它接點(diǎn)間的關(guān)系不能識別。對此類橋式電路,應(yīng)按從左到右,從上到下的單向性原則,單獨(dú)畫出所有的去路。如圖(b)所示:

三,并聯(lián)塊串聯(lián)時,應(yīng)將接點(diǎn)多的去路放在梯形圖左方(左重右輕原則);串聯(lián)塊并聯(lián)時,應(yīng)將接點(diǎn)多的并聯(lián)去路放在梯形圖的上方(上重下輕的原則)。這樣做,程序簡潔,從而減少指令的掃描時間,這對于一些大型的程序尤為重要。如下圖所示:

四,不宜使用雙線圈輸出。若在同一梯形圖中,同一組件的線圈使用兩次或兩次以上,則稱為雙線圈輸出或線圈的重復(fù)利用。雙線圈輸出一般梯形圖初學(xué)者容易犯的毛病之一。在雙線圈輸出時,只有最后一次的線圈才有效,而前面的線圈是無效的。這是由plc的掃描特性所決定的。
plc的cpu采用循環(huán)掃描的工作方式。一般包括五個階段(如圖所示):內(nèi)部診斷與處理,與外設(shè)進(jìn)行通訊,輸入采樣,用戶程序執(zhí)行和輸出刷新。當(dāng)方式開關(guān)處于stop時,只執(zhí)行前兩個階段:內(nèi)部診斷與處理,與外設(shè)進(jìn)行通訊。

1,輸入采樣階段
plc順序讀取每個輸入端的狀態(tài),并將其存入到我們稱之為輸入映像寄存器的內(nèi)在單元中。當(dāng)進(jìn)入程序執(zhí)行階段,如輸入端狀態(tài)發(fā)生改變.輸入映象區(qū)相應(yīng)的單元信息并不會跟著改變,只有在下一個掃描周期的輸入采樣階段,輸入映象區(qū)相應(yīng)的單元信息才會改變。因此,plc會忽視掉小于掃描周期的輸入端的開關(guān)量的脈沖變化。
2,程序執(zhí)行階段
plc從程序0步開始,按先上后下,先左后右的順序掃描用戶程序并進(jìn)行邏輯運(yùn)算。plc按輸入映象區(qū)的內(nèi)容進(jìn)行邏輯運(yùn)算,并把運(yùn)算結(jié)果寫入到輸出映象區(qū),而不是直接輸出到端子。
3,輸出刷新階段
plc根據(jù)輸出映象區(qū)的內(nèi)容改變輸出端子的狀態(tài)。這才是plc的實(shí)際輸出。
以上簡單說明了plc的工作原理,下面我們再以實(shí)例說明為什么編寫梯形圖程序,不宜重復(fù)使用線圈。如下圖所示,設(shè)輸入采樣時,輸入映象區(qū)中x001=on,x002=off,y003-on,y004=on被實(shí)際寫入到輸出映象區(qū)。但繼續(xù)往下執(zhí)行時,因x002=off,使y003=off,這個后入為的結(jié)果又被寫入輸出映象區(qū),改變原y003的狀態(tài)。所以在輸出刷新階段,實(shí)際外部輸出y003=off,y004=on。許多新手就碰到過這樣的問題,為什么x001已經(jīng)閉合了,而y003沒有輸出呢?邏輯關(guān)系不對。其實(shí)就是因?yàn)殡p線圈使用造成的。
注意:我們所說的是不宜(最好不要)使用雙線圈,雙線圈使用并不是絕對禁止的,在一些特殊的場合也可以使用雙線圈,這時就需要你有較豐富的編程經(jīng)驗(yàn)和技巧了。下面我們會談到這一點(diǎn)。但對于初學(xué)者還是不要冒這個險。其實(shí),從以上的例子可以看出,重復(fù)利用線圈之所以會造成y003的輸出混亂,是由于程序是從上到下順序執(zhí)行的緣故造成的。但如果我們可以改變程序執(zhí)行的順序,保證在任何時刻兩個線圈只有一個驅(qū)動邏輯發(fā)生,就可以使用雙線圈。其中,最常用的方法就是使用跳轉(zhuǎn)指令。如下圖所示:

程序分析:m0閉合,程序跳至p0處(不執(zhí)行x001語句),m0常閉斷開,cjp1不會發(fā)生,執(zhí)行下一語句。此時,y003將x002狀態(tài)進(jìn)行驅(qū)動。m0斷開時,程序順序執(zhí)行并按x001的狀態(tài)對t003進(jìn)行驅(qū)動,m0常閉閉合,跳至p1按x003狀態(tài)對y004進(jìn)行驅(qū)動,即跳過了x002驅(qū)動y003的語句??梢姡谕粫r刻,y003驅(qū)動只有一個可以發(fā)生。此時,雙線圈利用是可以的。
但在梯形圖編程時,我們還是要盡量避免使用雙線圈,而引入輔助是一個常用的方法。如下圖所示:
圖(b)中,x001和x002接點(diǎn)控制輔助繼電器m000,x003~x005接點(diǎn)控制輔助繼電器m001,再由兩個繼電器m000,m001接點(diǎn)的并聯(lián)組合去控制線圈y000。這樣邏輯關(guān)系沒變,卻把雙線圈變成單線圈。
1。啟動、保持、停止電路
x1 x2
|--||---|/|-----(y1)
| |
| y1 |
|--||-
|
2.三相異步電機(jī)正反轉(zhuǎn)控制電路
|
| x0 x2 x1 y1
|--||--------|/|------|/|-------|/|-------(y0) 正轉(zhuǎn)
| |
| y0 |
|--||------
|
| x1 x2 x0 y0
|--||--------|/|------|/|-------|/|-------(y1) 反轉(zhuǎn)
| |
| y1 |
|--||------
|
3.閃爍電路
x0 t1
|--||---|/|-----(to)k20
|
| t0
|--||-----------(t1)k30
| |
|-----(y0)
4.延時接通/斷開電路
x0
|--||-----------------(t0)k90
|
| y1 x0
|--||--------|/|------(t1)k30
|
| t0 t1
|--||--------|/|------(y1)
| |
| y1 |
|--||------
|
5. df上升沿微分,dfi下降沿微分
概述
df:當(dāng)檢測到輸入觸發(fā)信號的上升沿時,僅將觸點(diǎn)閉合一個掃描周期。
dfi:當(dāng)檢測到輸入觸發(fā)信號的下降沿時,僅將觸點(diǎn)閉合一個掃描周期。
程序示例
示例說明
在檢測到 x0的上升沿(off→on)時,y0僅為 on一個掃描周期。
在檢測到 x1的下降沿(on→off)時,y1僅為 on一個掃描周期。
描述
當(dāng)觸發(fā)信號狀態(tài)從 off 狀態(tài)到 on狀態(tài)變化時,df 指令才執(zhí)行并且輸出僅接通一個掃描周期。
當(dāng)觸發(fā)信號狀態(tài)從 on狀態(tài)到 off 狀態(tài)變化時,dfi 指令才執(zhí)行并且輸出僅接通一個掃描周期。
若執(zhí)行條件最初即為閉合,則 plc接通,則不會產(chǎn)生輸出。
編程時的注意事項(xiàng)
df 和 dfi 指令的使用次數(shù)有限制,cx1-16r使用這兩個指令的次數(shù)之和最多為 128 次。
6。微分指令的應(yīng)用示例
如果采用微分指令編程,可以使程序調(diào)試更加簡單。
自保持回路應(yīng)用示例
使用微分指令可以保持輸入信號。
7。交替回路應(yīng)用示例
使用微分指令也可以構(gòu)成一個交替變化回路,實(shí)現(xiàn)利用同一個輸入信號切換進(jìn)行保持或釋放。















