plc的控制方式屬于存儲(chǔ)程序控制,其控制功能是通過存放在存儲(chǔ)器內(nèi)的程序來實(shí)現(xiàn)的,若要對(duì)控制功能作必要修改,只需改變控制程序即可,這就實(shí)現(xiàn)了控制的軟件化。可編程控制器的優(yōu)點(diǎn)在于可字,從軟件來講,其控制程序可編輯、可修改;從硬件上講,其外部設(shè)備配置可變。構(gòu)建一個(gè)plc控制系統(tǒng)的重心就在于控制程序的編制,但外部設(shè)備的選用也將對(duì)程序的編制產(chǎn)生影響。因此在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)結(jié)合實(shí)際需要,硬、軟件綜合考慮。
一、外部輸入設(shè)備的選用與plc輸入繼電器的使用
1.外部輸入信號(hào)的采集
plc的外部設(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í)體繼電器,而是軟繼電器,可提供無數(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)。
輸入設(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)的問題。最典型的例子是基本控制--起保??刂浦械耐\嚳刂?。
程序中停車信號(hào)x0使用的觸點(diǎn)類型卻不相同,其原因就是連接在輸入繼電器x0上的外部停車按鈕觸點(diǎn)類型選用不同。梯形圖程序更加符合我們的閱讀習(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ì)對(duì)控制功能產(chǎn)生關(guān)鍵影響。
上面兩個(gè)程序中,輸出y3、計(jì)數(shù)器ctl02及內(nèi)部通用繼電器r0前面的邏輯條件均相同,僅僅是計(jì)數(shù)器ctl02所在語句位置發(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)行控制程序來實(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ā)生改變。
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指令庫中專用于順序控制的。步進(jìn)指令編程時(shí),根據(jù)工藝流程將程序劃分為一個(gè)個(gè)獨(dú)立的程序段,執(zhí)行時(shí),cpu嚴(yán)格按梯形圖編程順序,只有執(zhí)行完前一段程序后才能激活下一段程序,并在下一段程序執(zhí)行之前,將前面程序段復(fù)位。并且在語法上要求各程序段所使用的輸出不允許重復(fù)。這在解決順序控制任務(wù)中有多步同輸出的情況時(shí),就帶來了一定的困難。借助于內(nèi)部通用繼電器可方便解決這一難題。
從機(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)語法錯(cuò)誤。這時(shí)應(yīng)考慮使用用于存儲(chǔ)中間狀態(tài)的內(nèi)部通用繼電器rn來解決這個(gè)問題。如圖7所示梯形圖程序,其中r1、r5分別被定義為第1步與第5步的輸出,r3、r7分別被定義為第3步與第7步的輸出,在步進(jìn)結(jié)束后再將r1、r5的狀態(tài)輸出到上升y3,將r3、r7的狀態(tài)輸出到下降y4,通過這樣的方法可方便解決順序控制任務(wù)中若干工步輸出相同的問題。
五、結(jié)束語
初學(xué)者對(duì)于plc的基本應(yīng)用易于掌握,但要做到靈活使用仍需對(duì)一些技術(shù)難點(diǎn)和使用技巧深刻理解。在編程之前,要對(duì)控制任務(wù)進(jìn)行認(rèn)真分析,合理選擇外部設(shè)備和編程元件,并以此為基礎(chǔ)進(jìn)行編程;在編程過程中,如能靈話巧妙地使用編程元件,合理地進(jìn)行程序編排,可使程序邏輯清楚,可讀性增強(qiáng)。