繼電器控制電路圖與plc控制的梯形圖的比較
梯形圖與繼電器控制電路圖兩者之間存在許多差異:
(1)PLC采用梯形圖編程是模擬繼電器控制系統的表示方法,因而梯形圖內各種元件也沿用了繼電器的叫法,稱之為“軟繼電器”,例如X0、X1(輸入繼電器)、Y0(輸出繼電器)。梯形圖中的“軟繼電器”不是物理繼電器,每個“軟繼電器”各為存儲器中的一位,相應位為“1”態,表示該繼電器線圈“得電”,因此稱其為“軟繼電器”。用“軟繼電器”就可以按繼電器控制系統的形式來設計梯形圖。
(2)梯形圖中流過的“電流”不是物理電流,而是“能量流”,它只能從左到右、自上而下流動。“能量流”不允許倒流。“能量流”到,線圈則接通。“能量流”流向的規定順應了PLC的掃描是自左向右、自上而下順序地進行,而繼電器控制系統中的電流是不受方向限制的,導線連接到哪里,電流就可流到哪里。
(3)梯形圖中的常開、常閉觸點不是現場物理開關的觸點。它們對應輸入、輸出映象寄存器或數據寄存器中的相應位的狀態,而不是現場物理開關的觸點狀態。PLC認為常開觸點是取位狀態操作;常閉觸點應理解為位取反操作。因此在梯形圖中同一元件的一對常開、常閉觸點的切換沒有時間的延遲,常開、常閉觸點只是互為相反狀態。而繼電器控制系統大多數的電器是屬于先斷后合型的電器。
(4)梯形圖中的輸出線圈不是物理線圈,不能用它直接驅動現場執行機構。輸出線圈的狀態對應輸出映像寄存器相應的狀態而不是現場電磁開關的實際狀態。
(5)編制程序時,PLC內部繼電器的觸點原則上可無限次反復使用,因為存儲單元中的位狀態可取用任意次;繼電器控制系統中的繼電器觸點數是有限的。但是PLC內部的線圈通常只引用一次,因此,應慎重對待重復使用同一地址編號的線圈。下面以三菱FX系列PLC為例,簡單介紹一下PLC梯形圖編程時需要遵循的規則,希望對大家有所幫助。有一點需要說明的是,本文雖以三菱plc為例,但這些規則在其它plc編程時也可同樣遵守。
一,梯形階梯都是始于左母線,終于右母線(通常可以省掉不畫,僅畫左母線)。每行的左邊是接點組合,表示驅動邏輯線圈的條件,而表示結果的邏輯線圈只能接在右邊的母線上。接點不能出現在線圈右邊。如下圖(a)應改為(b):
二,接點應畫在水平線上,不應畫在垂直線上,如下圖(a)中的接點X005與其它接點間的關系不能識別。對此類橋式電路,應按從左到右,從上到下的單向性原則,單獨畫出所有的去路。如圖(b)所示:
三,并聯塊串聯時,應將接點多的去路放在梯形圖左方(左重右輕原則);串聯塊并聯時,應將接點多的并聯去路放在梯形圖的上方(上重下輕的原則)。這樣做,程序簡潔,從而減少指令的掃描時間,這對于一些大型的程序尤為重要。如下圖所示:
四,不宜使用雙線圈輸出。若在同一梯形圖中,同一組件的線圈使用兩次或兩次以上,則稱為雙線圈輸出或線圈的重復利用。雙線圈輸出一般梯形圖初學者容易犯的毛病之一。在雙線圈輸出時,只有最后一次的線圈才有效,而前面的線圈是無效的。這是由PLC的掃描特性所決定的。
PLC的CPU采用循環掃描的工作方式。一般包括五個階段(如圖所示):內部診斷與處理,與外設進行通訊,輸入采樣,用戶程序執行和輸出刷新。當方式開關處于STOP時,只執行前兩個階段:內部診斷與處理,與外設進行通訊。
1,輸入采樣階段
PLC順序讀取每個輸入端的狀態,并將其存入到我們稱之為輸入映像寄存器的內在單元中。當進入程序執行階段,如輸入端狀態發生改變.輸入映象區相應的單元信息并不會跟著改變,只有在下一個掃描周期的輸入采樣階段,輸入映象區相應的單元信息才會改變。因此,PLC會忽視掉小于掃描周期的輸入端的開關量的脈沖變化。
2,程序執行階段
PLC從程序0步開始,按先上后下,先左后右的順序掃描用戶程序并進行邏輯運算。PLC按輸入映象區的內容進行邏輯運算,并把運算結果寫入到輸出映象區,而不是直接輸出到端子。
3,輸出刷新階段
PLC根據輸出映象區的內容改變輸出端子的狀態。這才是PLC的實際輸出。
以上簡單說明了PLC的工作原理,下面我們再以實例說明為什么編寫梯形圖程序,不宜重復使用線圈。如下圖所示,設輸入采樣時,輸入映象區中X001=ON,X002=OFF,Y003-ON,Y004=ON被實際寫入到輸出映象區。但繼續往下執行時,因X002=OFF,使Y003=OFF,這個后入為的結果又被寫入輸出映象區,改變原Y003的狀態。所以在輸出刷新階段,實際外部輸出Y003=OFF,Y004=ON。許多新手就碰到過這樣的問題,為什么X001已經閉合了,而Y003沒有輸出呢?邏輯關系不對。其實就是因為雙線圈使用造成的。
注意:我們所說的是不宜(最好不要)使用雙線圈,雙線圈使用并不是絕對禁止的,在一些特殊的場合也可以使用雙線圈,這時就需要你有較豐富的編程經驗和技巧了。下面我們會談到這一點。但對于初學者還是不要冒這個險。其實,從以上的例子可以看出,重復利用線圈之所以會造成Y003的輸出混亂,是由于程序是從上到下順序執行的緣故造成的。但如果我們可以改變程序執行的順序,保證在任何時刻兩個線圈只有一個驅動邏輯發生,就可以使用雙線圈。其中,最常用的方法就是使用跳轉指令。如下圖所示:
程序分析:M0閉合,程序跳至P0處(不執行X001語句),M0常閉斷開,CJP1不會發生,執行下一語句。此時,Y003將X002狀態進行驅動。M0斷開時,程序順序執行并按X001的狀態對T003進行驅動,M0常閉閉合,跳至P1按X003狀態對Y004進行驅動,即跳過了X002驅動Y003的語句。可見,在同一時刻,Y003驅動只有一個可以發生。此時,雙線圈利用是可以的。
圖(b)中,X001和X002接點控制輔助繼電器M000,X003~X005接點控制輔助繼電器M001,再由兩個繼電器M000,M001接點的并聯組合去控制線圈Y000。這樣邏輯關系沒變,卻把雙線圈變成單線圈。