PLC作為工業(yè)領(lǐng)域的核心,,正廣泛應(yīng)用到諸多產(chǎn)品當(dāng)中,。深入的了解使用和解決知識,將可以極大促進(jìn)PLC的推廣與服務(wù)提升,,本文就硬,、軟兩方面,,選取梯形圖為編程語言,本文選取了PLC使用過程中易出現(xiàn)的幾個(gè)問題,,并對解決方法進(jìn)行了分析,。
PLC的控制方式屬于存儲程序控制,其控制功能是通過存放在存儲器內(nèi)的程序來實(shí)現(xiàn)的,,若要對控制功能作必要修改,,只需改變控制程序即可,這就實(shí)現(xiàn)了控制的軟件化,??删幊炭刂破鞯膬?yōu)點(diǎn)在于"可"字,從軟件來講,,其控制程序可編輯,、可修改;從硬件上講,其外部設(shè)備配置可變,。構(gòu)建一個(gè)PLC控制系統(tǒng)的重心就在于控制程序的編制,,但外部設(shè)備的選用也將對程序的編制產(chǎn)生影響。因此在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)結(jié)合實(shí)際需要,,硬,、軟件綜合考慮。
一,、外部輸入設(shè)備的選用與PLC輸入繼電器的使用
1. 外部輸入信號的采集
PLC的外部設(shè)備主要是指控制系統(tǒng)中的輸入輸出設(shè)備,,其中輸人設(shè)備是對系統(tǒng)發(fā)出各種控制信號的主令電器,,在編寫控制程序時(shí)必須注意外部輸入設(shè)備使用的是常開還是常閉觸點(diǎn),并以此為基礎(chǔ)進(jìn)行程序編制,。否則易出現(xiàn)控制錯(cuò)誤,。
在PLC內(nèi)部存儲器中有專用于輸入狀態(tài)存儲的輸入繼電器區(qū),各輸入設(shè)備(開關(guān),、按鈕,、行程開關(guān)或傳感器信號)的狀態(tài)經(jīng)由輸入接口電路存儲在該區(qū)域內(nèi),每個(gè)輸入繼電器可存儲一個(gè)輸入設(shè)備狀態(tài),。PLC中使用的"繼電器"并非實(shí)體繼電器,,而是"軟繼電器",可提供無數(shù)個(gè)常開,、常閉觸點(diǎn)用于編程,。每個(gè)"軟繼電器"僅對應(yīng)PLC存儲單元中的一位(bit),該位狀態(tài)為"1",,表示該"軟繼電器線圈"通電,,則程序中所有該繼電器的觸點(diǎn)都動(dòng)作。輸入繼電器作為PLC接收外部主令信號的器件,,通過接線與外部輸入設(shè)備相聯(lián)系,,其"線圈"狀態(tài)只能由外部輸入信號驅(qū)動(dòng)。
輸入設(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è)備的選用與程序中的觸點(diǎn)類型密切相關(guān),。這是一個(gè)在對照電氣控制原理圖進(jìn)行PLC編程時(shí)易出現(xiàn)的問題,。最典型的例子是基本控制--"起保停控制"中的停車控制,。
"起保??刂葡到y(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. 停車按鈕使用常開型
若希望編制出符合我們平時(shí)閱讀習(xí)慣的梯形圖程序),,則在選用外部停車設(shè)備時(shí)需使用按鈕SB0的常開觸點(diǎn)與X0相連,。
程序中停車信號X0使用的觸點(diǎn)類型卻不相同,其原因就是連接在輸入繼電器X0上的外部停車按鈕觸點(diǎn)類型選用不同,。圖4所示梯形圖程序更加符合我們的閱讀習(xí)慣,,也更易分析其邏輯控制功能,因此在PLC構(gòu)成控制系統(tǒng)中,,外部開關(guān),、按鈕無論用于起動(dòng)還是停車,一般都選用常開型,,這是一個(gè)在使用PLC時(shí)需要格外注意的問題,。
二、PLC的"串行"運(yùn)行方式與控制程序的編制
PLC與繼電接觸器控制的重要區(qū)別之一就是工作方式不同,。繼電接觸器控制系統(tǒng)是按"并行"方式工作的,,也就是說是按同時(shí)執(zhí)行的方式工作的,只要形成電流通路,,就可能有幾個(gè)電器同時(shí)動(dòng)作,。而PLC是以"串行"方式工作的,PLC在循環(huán)執(zhí)行程序時(shí),,是按照語句的書寫順序自上而下進(jìn)行邏輯運(yùn)算,,而前面邏輯運(yùn)算的結(jié)果會(huì)影響后面語句的邏輯運(yùn)算結(jié)果。因此梯形圖編程時(shí),,各語句的位置也會(huì)對控制功能產(chǎn)生關(guān)鍵影響,。例如:X0接通3次,Y3接通,,X0再接通1次,,Y3斷開,。X0接通3次,Y3接通瞬間即斷開,。
上面兩個(gè)程序中,,輸出Y3、計(jì)數(shù)器CTl02及內(nèi)部通用繼電器R0前面的邏輯條件均相同,,僅僅是計(jì)數(shù)器CTl02所在語句位置發(fā)生了變化,,而兩段程序的運(yùn)行結(jié)果就截然不同。這是因?yàn)镃Tl02對輸出Y3的影響方式發(fā)生了變化,。執(zhí)行第一段程序時(shí),,將首先判斷輸出Y3的狀態(tài),再判斷CTl02的狀態(tài),,CTl02的狀態(tài)變化只能在下一個(gè)掃描周期對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)對控制任務(wù)進(jìn)行充分分析,合理安排各編程元件的位置,,才能夠更為準(zhǔn)確地實(shí)現(xiàn)控制,。
三、PLC的編程元件
PLC的各種功能主要是通過運(yùn)行控制程序來實(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ù))器等,,其參與控制的方式主要是通過對應(yīng)觸點(diǎn)的通斷狀態(tài)改變影響邏輯運(yùn)算結(jié)果即輸出。
字元件則為PLC內(nèi)存區(qū)域內(nèi)的一個(gè)字單元(16bit),,主要用作功能指令和高級指令的編程元件,,通常用以存放數(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ā)生改變,。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)場常見的一類控制任務(wù),步進(jìn)指令是PLC指令庫中專用于順序控制的,。步進(jìn)指令編程時(shí),,根據(jù)工藝流程將程序劃分為一個(gè)個(gè)獨(dú)立的程序段,執(zhí)行時(shí),,CPU嚴(yán)格按梯形圖編程順序,,只有執(zhí)行完前一段程序后才能激活下一段程序,并在下一段程序執(zhí)行之前,,將前面程序段復(fù)位,。并且在語法上要求各程序段所使用的輸出不允許重復(fù)。這在解決順序控制任務(wù)中有多步同輸出的情況時(shí),,就帶來了一定的困難,。借助于內(nèi)部通用繼電器可方便解決這一難題。
控制任務(wù)每個(gè)循環(huán)的工作可以劃分為八步,,其中第1步與第5步動(dòng)作相同,,均為上升;第3步和第7步動(dòng)作相同,,均為下降。在利用步進(jìn)指令進(jìn)行編程時(shí),,這兩個(gè)工步所對應(yīng)的程序段的輸出不能直接設(shè)置為Y3,、Y4,同一個(gè)輸出使用兩次則會(huì)出現(xiàn)語法錯(cuò)誤,。這時(shí)應(yīng)考慮使用用于存儲中間狀態(tài)的內(nèi)部通用繼電器Rn來解決這個(gè)問題,。
五、結(jié)束語
初學(xué)者對于PLC的基本應(yīng)用易于掌握,,但要做到靈活使用仍需對一些技術(shù)難點(diǎn)和使用技巧深刻理解,。在編程之前,要對控制任務(wù)進(jìn)行認(rèn)真分析,,合理選擇外部設(shè)備和編程元件,,并以此為基礎(chǔ)進(jìn)行編程;在編程過程中,如能靈話巧妙地使用編程元件,,合理地進(jìn)行程序編排,,可使程序邏輯清楚,可讀性增強(qiáng),。