CLE63B050的控制方式屬于存儲(chǔ)程序控制,其控制功能是通過存放在存儲(chǔ)器內(nèi)的程序來(lái)實(shí)現(xiàn)的,若要對(duì)控制功能作必要修改,只需改變控制程序即可,這就實(shí)現(xiàn)了控制的軟件化??删幊炭刂破鞯膬?yōu)點(diǎn)在于"可"字,從軟件來(lái)講,其控制程序可編輯、可修改;從硬件上講,其外部設(shè)備配置可變。構(gòu)建一個(gè)PLC控制系統(tǒng)的重心就在于控制程序的編制,但外部設(shè)備的選用也將對(duì)程序的編制產(chǎn)生影響。因此在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)結(jié)合實(shí)際需要,硬、軟件綜合考慮。本文就硬、軟兩方面,選取梯形圖為編程語(yǔ)言,以松下電工FPO-C32型PLC為例,對(duì)PLC使用過程中易出現(xiàn)的幾個(gè)問題及解決方法進(jìn)行了分析。
一、外部輸入設(shè)備的選用與PLC輸入繼電器的使用
1. 外部輸入信號(hào)的采集
CLE63B050的外部設(shè)備主要是指控制系統(tǒng)中的輸入輸出設(shè)備,其中輸人設(shè)備是對(duì)系統(tǒng)發(fā)出各種控制信號(hào)的主令電器,在編寫控制程序時(shí)必須注意外部輸入設(shè)備使用的是常開還是常閉觸點(diǎn),并以此為基礎(chǔ)進(jìn)行程序編制。否則易出現(xiàn)控制錯(cuò)誤。
在PLC內(nèi)部存儲(chǔ)器中有專用于輸入狀態(tài)存儲(chǔ)的輸入繼電器區(qū),各輸入設(shè)備(開關(guān)、按鈕、行程開關(guān)或傳感器信號(hào))的狀態(tài)經(jīng)由輸入接口電路存儲(chǔ)在該區(qū)域內(nèi),每個(gè)輸入繼電器可存儲(chǔ)一個(gè)輸入設(shè)備狀態(tài)。PLC中使用的"繼電器"并非實(shí)體繼電器,而是"軟繼電器",可提供無(wú)數(shù)個(gè)常開、常閉觸點(diǎn)用于編程。每個(gè)"軟繼電器"僅對(duì)應(yīng)PLC存儲(chǔ)單元中的一位(bit),該位狀態(tài)為"1",表示該"軟繼電器線圈"通電,則程序中所有該繼電器的觸點(diǎn)都動(dòng)作。輸入繼電器作為PLC接收外部主令信號(hào)的器件,通過接線與外部輸入設(shè)備相聯(lián)系,其"線圈"狀態(tài)只能由外部輸入信號(hào)驅(qū)動(dòng)。輸入信號(hào)的采集工作示意圖如圖1。
輸入繼電器線圈其狀態(tài)取決于外部設(shè)備狀態(tài)
圖1 PLC輸入信號(hào)采集示意圖
圖1中,輸入設(shè)備選用的是按鈕SB0的常閉觸點(diǎn),輸入繼電器X0的線圈狀態(tài)取決于SB0的狀態(tài)。該按鈕未按下時(shí),輸入繼電器X0線圈狀態(tài)為"1"通電狀態(tài),程序中所有X0觸點(diǎn)均動(dòng)作,即常開觸點(diǎn)接通,常閉觸點(diǎn)斷開;若按下該按鈕,則輸入繼電器X0線圈狀態(tài)為"0"斷電狀態(tài),程序中所有X0觸點(diǎn)均恢復(fù)常態(tài)。如果輸入繼電器連接的輸入設(shè)備是按鈕SB0的常開觸點(diǎn),則情況恰好相反:在該按鈕未按下時(shí),輸入繼電器X0線圈狀態(tài)為"0"斷電狀態(tài),程序中所有X0觸點(diǎn)均不動(dòng)作;若按下該按鈕,輸入繼電器X0線圈狀態(tài)為"1"通電狀態(tài),程序中所有X0觸點(diǎn)均動(dòng)作。
2. 停車按鈕使用常閉型
由于PLC在運(yùn)行程序判別觸點(diǎn)通斷狀態(tài)時(shí),只取決于其內(nèi)存中輸入繼電器線圈的狀態(tài),并不直接識(shí)別外部設(shè)備,因此編程時(shí),外部設(shè)備的選用與程序中的觸點(diǎn)類型密切相關(guān)。這是一個(gè)在對(duì)照電氣控制原理圖進(jìn)行PLC編程時(shí)易出現(xiàn)的問題。最典型的例子是基本控制--"起保??刂?中的停車控制
圖2 "起保停控制"電氣原理圖
圖2為"起保停控制"電氣原理圖,在該系統(tǒng)中,按鈕SB0用于停車控制,因此使用其常閉觸點(diǎn)串聯(lián)于控制線路。SBl為起動(dòng)按鈕,使用其常開觸點(diǎn)。若使用相同的設(shè)備(即停車SB0用常閉觸點(diǎn),起動(dòng)SBl用常開觸點(diǎn)),利用PLC進(jìn)行該控制,則需編程梯形圖程序(圖3):
圖3 "起保??刂?梯形圖程序(停車按鈕使用常閉觸點(diǎn))
I/O分配:SB0--X0,SBl--Xl,輸出Y0
該梯形圖中停車信號(hào)X0使用的是常開觸點(diǎn)串聯(lián)在控制線路中,這是因?yàn)橥獠客\囋O(shè)備選取按鈕常閉觸點(diǎn)所致,不操作該按鈕,則輸出Y0正常接通,若按下該按鈕,輸出Y0斷電。
3. 停車按鈕使用常開型
若希望編制出符合我們平時(shí)閱讀習(xí)慣的梯形圖程序(圖4),則在選用外部停車設(shè)備時(shí)需使用按鈕SB0的常開觸點(diǎn)與X0相連。
圖4 "起保??刂?梯形圖程序(停車按鈕使用常開觸點(diǎn))
I/O分配:SB0--X0,SBl--Xl,輸出Y0
圖3、4梯形圖完成相同的控制功能,程序中停車信號(hào)X0使用的觸點(diǎn)類型卻不相同,其原因就是連接在輸入繼電器X0上的外部停車按鈕觸點(diǎn)類型選用不同。圖4所示梯形圖程序更加符合我們的閱讀習(xí)慣,也更易分析其邏輯控制功能,因此在PLC構(gòu)成控制系統(tǒng)中,外部開關(guān)、按鈕無(wú)論用于起動(dòng)還是停車,一般都選用常開型,這是一個(gè)在使用PLC時(shí)需要格外注意的問題。
二、PLC的"串行"運(yùn)行方式與控制程序的編制
PLC與繼電接觸器控制的重要區(qū)別之一就是工作方式不同。繼電接觸器控制系統(tǒng)是按"并行"方式工作的,也就是說(shuō)是按同時(shí)執(zhí)行的方式工作的,只要形成電流通路,就可能有幾個(gè)電器同時(shí)動(dòng)作。而PLC是以"串行"方式工作的,PLC在循環(huán)執(zhí)行程序時(shí),是按照語(yǔ)句的書寫順序自上而下進(jìn)行邏輯運(yùn)算,而前面邏輯運(yùn)算的結(jié)果會(huì)影響后面語(yǔ)句的邏輯運(yùn)算結(jié)果。因此梯形圖編程時(shí),各語(yǔ)句的位置也會(huì)對(duì)控制功能產(chǎn)生關(guān)鍵影響。例如:
程序1調(diào)試結(jié)果:X0接通3次,Y3接通,X0再接通1次,Y3斷開。
圖6 程序2
程序2程序調(diào)試結(jié)果.X0接通3次,Y3接通瞬間即斷開。
上面兩個(gè)程序中,輸出Y3、計(jì)數(shù)器CTl02及內(nèi)部通用繼電器R0前面的邏輯條件均相同,僅僅是計(jì)數(shù)器CTl02所在語(yǔ)句位置發(fā)生了變化,而兩段程序的運(yùn)行結(jié)果就截然不同。這是因?yàn)镃Tl02對(duì)輸出Y3的影響方式發(fā)生了變化。執(zhí)行第一段程序時(shí),將首先判斷輸出Y3的狀態(tài),再判斷CTl02的狀態(tài),CTl02的狀態(tài)變化只能在下一個(gè)掃描周期對(duì)Y3產(chǎn)生影響;而執(zhí)行第二段程序時(shí),將首先判斷CTl02的狀態(tài),再判斷輸出Y3的狀態(tài),CTl02的狀態(tài)變化將在該掃描周期直接影響Y3的狀態(tài)。
從以上討論可以得出,由于PLC采用"串行"工作方式,所以即使是同一元件,在梯形圖中所處的位置不同,其工作狀態(tài)也會(huì)有所不同,因此在利用梯形圖進(jìn)行控制程序編制時(shí),應(yīng)對(duì)控制任務(wù)進(jìn)行充分分析,合理安排各編程元件的位置,才能夠更為準(zhǔn)確地實(shí)現(xiàn)控制。
三、PLC的編程元件
PLC的各種功能主要是通過運(yùn)行控制程序來(lái)實(shí)現(xiàn)。編制程序時(shí),需要合理使用PLC提供的編程元件(即軟元件)。FPO型PLC中常用的編程元件有兩種:位元件(bit)和字元件(word)。位元件實(shí)際上是PLC內(nèi)存區(qū)域所提供的一個(gè)二進(jìn)制位單元,又被稱為軟繼電器,主要用作基本順序指令的編程元件,如輸入繼電器Xn、輸出繼電器Yn、內(nèi)部通用繼電器Rn、定時(shí)(計(jì)數(shù))器等,其參與控制的方式主要是通過對(duì)應(yīng)觸點(diǎn)的通斷狀態(tài)改變影響邏輯運(yùn)算結(jié)果即輸出。
字元件則為PLC內(nèi)存區(qū)域內(nèi)的一個(gè)字單元(16bit),主要用作功能指令和高級(jí)指令的編程元件,通常用以存放數(shù)據(jù),如數(shù)據(jù)寄存器DTn,定時(shí)(計(jì)數(shù))器的設(shè)定值SVn、經(jīng)過值EVn等。字元件沒有觸點(diǎn),通常以整體內(nèi)容參與控制。
值得注意的是內(nèi)存中的輸入(X)區(qū)、輸出(Y)區(qū)和內(nèi)部通用(R)區(qū),該區(qū)中的每個(gè)bit均可用作位元件,而且每16bit可構(gòu)成一個(gè)字元件,如WRIO即是由16個(gè)位元件R100~R10F構(gòu)成的字元件,該字元件中的內(nèi)容一旦發(fā)生變化,這16個(gè)位的狀態(tài)也隨之發(fā)生改變。如:
圖7 編程元件示例程序
圖7所示程序中,WR0即為字元件,是左移位指令SR的編程元件,而Y0為輸出軟繼電器的線圈,X0、X1、X2、X3則為輸人軟繼電器的觸點(diǎn),其中第4步的R4觸點(diǎn)為位元件R4的常開觸點(diǎn),而位元件R4又是字元件WR0中的一位,因此其狀態(tài)受限于WR0的移位結(jié)果。
四、順序控制多步同輸出的編程方法
順序控制是生產(chǎn)現(xiàn)場(chǎng)常見的一類控制任務(wù),步進(jìn)指令是PLC指令庫(kù)中專用于順序控制的。步進(jìn)指令編程時(shí),根據(jù)工藝流程將程序劃分為一個(gè)個(gè)獨(dú)立的程序段,執(zhí)行時(shí),CPU嚴(yán)格按梯形圖編程順序,只有執(zhí)行完前一段程序后才能激活下一段程序,并在下一段程序執(zhí)行之前,將前面程序段復(fù)位。并且在語(yǔ)法上要求各程序段所使用的輸出不允許重復(fù)。這在解決順序控制任務(wù)中有多步同輸出的情況時(shí),就帶來(lái)了一定的困難。借助于內(nèi)部通用繼電器可方便解決這一難題。如某一順序控制任務(wù)如以下流程圖(圖8)所示。
圖8 某機(jī)械手動(dòng)作流程圖
從機(jī)械手動(dòng)作流程圖可以看出,這個(gè)控制任務(wù)每個(gè)循環(huán)的工作可以劃分為八步,其中第1步與第5步動(dòng)作相同,均為上升;第3步和第7步動(dòng)作相同,均為下降。在利用步進(jìn)指令進(jìn)行編程時(shí),這兩個(gè)工步所對(duì)應(yīng)的程序段的輸出不能直接設(shè)置為Y3、Y4,同一個(gè)輸出使用兩次則會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。這時(shí)應(yīng)考慮使用用于存儲(chǔ)中間狀態(tài)的內(nèi)部通用繼電器Rn來(lái)解決這個(gè)問題。如圖7所示梯形圖程序,其中R1、R5分別被定義為第1步與第5步的輸出,R3、R7分別被定義為第3步與第7步的輸出,在步進(jìn)結(jié)束后再將R1、R5的狀態(tài)輸出到上升Y3,將R3、R7的狀態(tài)輸出到下降Y4,通過這樣的方法可方便解決順序控制任務(wù)中若干工步輸出相同的問題
圖9 機(jī)械手控制梯形圖
五、結(jié)束語(yǔ)
初學(xué)者對(duì)于PLC的基本應(yīng)用易于掌握,但要做到靈活使用仍需對(duì)一些技術(shù)難點(diǎn)和使用技巧深刻理解。在編程之前,要對(duì)控制任務(wù)進(jìn)行認(rèn)真分析,合理選擇外部設(shè)備和編程元件,并以此為基礎(chǔ)進(jìn)行編程;在編程過程中,如能靈話巧妙地使用編程元,合理地進(jìn)行程序編排,可使程序邏輯清楚,可讀性增強(qiáng)
GE Circuit Breaker THED124020S1 THED124020 w/ 120v Trip
SQD SQUARE D Circuit Breaker FAL341001422 480V 100A FAL
SQD SQUARE D Circuit Breaker FAL360601127 FAL36060 1127
Cutler Hammer CIRCUIT BREAKER FD3015 3P 600V 15A NIB
CTK400 Cutler Hammer Neutral Current Transber CT 400
MERLIN GERIN NSJ frame MX Shunt 24VDC 29390 24V 60hz
MA11284 SQD Square D Circuit Breaker Auxiliary Switch
SIEMENS Circuit Breaker B38000S01 S01 240V 80A BL 3P
SQD SQUARE D Circuit Breaker KAL26225 2P 225A 600V KAL
SQD SQUARE D Circuit Breaker KAL26125 2P 125A 600V KAL
3TY7563-0AC2 SIEMENS replacement magnetic coil 24V
3TY7563-0AP6 SIEMENS replacement magnetic coil 240V
3TY7563-0AK1 SIEMENS replacement magnetic coil 120V
MERLIN GERIN type MP Masterpact rating plug 600A 54742
General Electric Spectra Circuit Breaker SELA36AT0030
ITE Siemens CLE63B050 50A 600V Current Limiter Tested
SQUARE D Circuit Breaker FC34040 65K 40A 3P 480V I-LINE
1891-1 CUTLER HAMMER Magnetic Coil 110V 120V 50Hz Citat
SIEMENS Circuit Breaker Mounting Adapter for FXD PC4754
S01JLD6 SIEMENS Shunt Trip 120V JD LD LMD LXD JXD
32508 Merlin Gerin 3P 600V lug terminal kit for NS & NS
SIEMENS Contact Kit 3TY6500-OA 3TB50 3TY 6500 0A rplace
SQD SQUARE D Circuit Breaker IF36060 IF36060 60A 600V
EGB34040 SQD SQUARE D Circuit Breaker 40A 3P 480V EGB
EH-90 ABB EH Series Contactor 75HP Max 125A 3P 120VCoil