摘要:用PLC系統(tǒng)控制一個(gè)任務(wù)或過(guò)程,是通過(guò)CPU在RUN方式下循環(huán)掃描用戶程序來(lái)實(shí)現(xiàn)的,用戶程序決定了一個(gè)系統(tǒng)的功能。因此PLC用戶程序的設(shè)計(jì)是PLC控制系統(tǒng)的軟件設(shè)計(jì)中最關(guān)鍵的一個(gè)環(huán)節(jié)。本文談?wù)凱LC控制系統(tǒng)的軟件設(shè)計(jì)方法。
關(guān)鍵詞:PLC;控制系統(tǒng);軟件設(shè)計(jì)
中圖分類(lèi)號(hào):TM571.61 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007—9599 (2012) 14—0000—02
PLC控制系統(tǒng)的設(shè)計(jì)是一項(xiàng)十分復(fù)雜的工作。一個(gè)PLC控制系統(tǒng),經(jīng)過(guò)不同的人設(shè)計(jì),會(huì)形成不同的控制風(fēng)格,但是系統(tǒng)設(shè)計(jì)的優(yōu)劣最終要由使用者來(lái)進(jìn)行評(píng)價(jià)。
由于PLC的所有控制功能都是以程序的形式來(lái)實(shí)現(xiàn)的,因此,PLC控制系統(tǒng)設(shè)計(jì)的大量工作都集中在軟件程序設(shè)計(jì)上,即體現(xiàn)在梯形圖的設(shè)計(jì)上。根據(jù)系統(tǒng)的控制流程圖或波形圖設(shè)計(jì)PLC梯形圖程序,即所謂的編程。這一步是整個(gè)應(yīng)用系統(tǒng)設(shè)計(jì)的核心工作,也是比較困難的一步。常用的編程方法有經(jīng)驗(yàn)設(shè)計(jì)法、邏輯設(shè)計(jì)法、波形圖設(shè)計(jì)法和流程圖設(shè)計(jì)法等。下面重點(diǎn)介紹根據(jù)繼電器的電路原理圖設(shè)計(jì)PLC的梯形圖程序與用功能流程圖法設(shè)計(jì)PLC的梯形圖。
一、根據(jù)繼電器的電路原理圖設(shè)計(jì)PLC的梯形圖程序
繼電器控制系統(tǒng)是典型數(shù)字量控制系統(tǒng)。我們可以用設(shè)計(jì)繼電器控制線路的方法來(lái)設(shè)計(jì)比較簡(jiǎn)單的PLC梯形圖程序。這種設(shè)計(jì)方法沒(méi)有普遍的規(guī)律可循,這種設(shè)計(jì)方法就是經(jīng)驗(yàn)設(shè)計(jì)法,程序設(shè)計(jì)的質(zhì)量與設(shè)計(jì)者的經(jīng)驗(yàn)和水平關(guān)系很大。要設(shè)計(jì)好梯形圖,首先要深入了解控制要求,同時(shí)還要有一定的電器設(shè)計(jì)的實(shí)踐經(jīng)驗(yàn)。經(jīng)驗(yàn)設(shè)計(jì)法對(duì)于簡(jiǎn)單控制系統(tǒng)的設(shè)計(jì)是很有效的,并且它是設(shè)計(jì)復(fù)雜控制系統(tǒng)的基礎(chǔ),要很好地掌握。但這種方法主要依靠設(shè)計(jì)者的經(jīng)驗(yàn),所以要求設(shè)計(jì)者在平常的工作中注意收集與積累各種典型環(huán)節(jié)程序段,從而不斷增加自己的經(jīng)驗(yàn)。
(一)根據(jù)繼電器的電路原理圖設(shè)計(jì)PLC的梯形圖程序的步驟
首先設(shè)計(jì)者要了解和熟悉被控設(shè)備的機(jī)械部分的動(dòng)作情況和工藝過(guò)程,根據(jù)繼電器線路圖分析和掌握控制系統(tǒng)的工作原理。確定PLC的輸入信號(hào)和輸出負(fù)載,以及與它們對(duì)應(yīng)的梯形圖中的輸入位、輸出位的地址,畫(huà)出PLC的外部接線圖。確定與繼電器線路中的中間繼電器、時(shí)間繼電器對(duì)應(yīng)的梯形圖中的存儲(chǔ)器位(M)和定時(shí)器(T)的地址。從而建立起繼電器控制線路與PLC的梯形圖的位地址之間的對(duì)應(yīng)關(guān)系。根據(jù)上述關(guān)系畫(huà)出PLC的梯形圖程序。在編寫(xiě)程序過(guò)程中,可以借鑒現(xiàn)成的標(biāo)準(zhǔn)程序,但必須弄懂這些程序段,否則會(huì)給后繼工作帶來(lái)困難。編寫(xiě)程序過(guò)程中,要及時(shí)對(duì)編出的程序進(jìn)行注釋,以免忘記其相互關(guān)系,要隨編隨注。注釋包括程序的功能、邏輯關(guān)系說(shuō)明、設(shè)計(jì)思想、信號(hào)的來(lái)源和去向,以便閱讀和調(diào)試。設(shè)計(jì)時(shí)應(yīng)注意梯形圖與繼電器電路的區(qū)別。梯形圖是一種軟件,是PLC圖形化的一種程序。在繼電器電路圖中,各繼電器可以同時(shí)動(dòng)作,而PLC的CPU是串行工作的,每個(gè)時(shí)刻CPU只能處理一條指令。
(二)根據(jù)繼電器電路圖設(shè)計(jì)PLC的接線圖和梯形圖時(shí)應(yīng)注意的問(wèn)題
應(yīng)遵循PLC梯形圖的語(yǔ)法規(guī)則。在繼電器電路中,觸點(diǎn)可以放在線圈的左邊也可以放在線圈的右邊,但在梯形圖中必須放在線的右邊。設(shè)置中間單元。在梯形圖中,若多個(gè)線圈都受某一觸點(diǎn)的串聯(lián)、并聯(lián)電路的控制,為了簡(jiǎn)化電路,在梯形圖中可以設(shè)置電路的存儲(chǔ)器位,它類(lèi)似于繼電器控制線路中的中間繼電器。盡量減少PLC的輸入輸出信號(hào)。與繼電器線路不同,一般只需一個(gè)動(dòng)合觸點(diǎn)給PLC提供輸入信號(hào),在梯形圖中可以多次使用一個(gè)位的動(dòng)合觸點(diǎn)與動(dòng)斷觸點(diǎn)。在繼電器的控制線路中,如果幾個(gè)觸點(diǎn)的串聯(lián)、并聯(lián)電路總是作為一個(gè)整體出現(xiàn),可以把它們作為PLC的一個(gè)輸入信號(hào),只占用PLC的一個(gè)輸入點(diǎn)。為了減少PLC的指令條數(shù),在梯形圖程序中單個(gè)觸點(diǎn)與電路塊串聯(lián)時(shí)應(yīng)放在右邊,與電路并聯(lián)時(shí)應(yīng)放在下面。
二、用功能流程圖法設(shè)計(jì)PLC的梯形圖
(一)功能流程圖控制法
功能流程圖控制法是按照生產(chǎn)工藝預(yù)先規(guī)定的順序,在各個(gè)輸入信號(hào)的作用下,根據(jù)內(nèi)部的狀態(tài)和時(shí)間的順序,對(duì)生產(chǎn)過(guò)程中的各個(gè)執(zhí)行機(jī)構(gòu)自動(dòng)有序地進(jìn)行操作,其基本的指導(dǎo)思想是將系統(tǒng)的每一個(gè)工作周期劃分為若干個(gè)順序相連的階段,每個(gè)階段成為一步,并用編程元來(lái)代表各步。
(二)功能流程圖轉(zhuǎn)換梯形圖的基本規(guī)則
功能流程圖轉(zhuǎn)換梯形圖時(shí),轉(zhuǎn)換實(shí)現(xiàn)的條件是在功能流程圖中,步活動(dòng)狀態(tài)的進(jìn)展是由轉(zhuǎn)移的實(shí)現(xiàn)來(lái)完成的。轉(zhuǎn)移的實(shí)現(xiàn)必須同時(shí)滿足兩個(gè)條件:1.該轉(zhuǎn)移的所有前步必須都是活動(dòng)步。2.相應(yīng)的轉(zhuǎn)移條件都得到滿足。如果轉(zhuǎn)移的前步或后步不止一個(gè)時(shí),轉(zhuǎn)移的實(shí)現(xiàn)稱為同步實(shí)現(xiàn)。為了加強(qiáng)同步實(shí)現(xiàn),有向線段的水平部分用雙線表示。
(三)轉(zhuǎn)移實(shí)現(xiàn)應(yīng)完成的操作
轉(zhuǎn)換實(shí)現(xiàn)時(shí)應(yīng)完成以下兩個(gè)操作:1.使所有通過(guò)有向連線與相應(yīng)的轉(zhuǎn)移符號(hào)相連接的后步都變?yōu)榛顒?dòng)步。2.使所有通過(guò)有向連線與相應(yīng)的轉(zhuǎn)移符號(hào)相連接的前步都變?yōu)椴换顒?dòng)步。
以上規(guī)則可以用于任意結(jié)構(gòu)的功能流程圖中,其區(qū)別如下:在順序結(jié)構(gòu)中,一個(gè)轉(zhuǎn)移僅有一個(gè)前步和后步;在并行結(jié)構(gòu)中,轉(zhuǎn)移有幾個(gè)后續(xù)步,在轉(zhuǎn)移實(shí)現(xiàn)的同時(shí)將所有的后續(xù)步編程元件置位。在并行結(jié)構(gòu)的合并處轉(zhuǎn)移有幾個(gè)前步,它們均為活動(dòng)步時(shí)才能實(shí)現(xiàn)轉(zhuǎn)移,在轉(zhuǎn)移實(shí)現(xiàn)時(shí)應(yīng)將所有前步的對(duì)應(yīng)編程元件復(fù)位。在選擇結(jié)構(gòu)的分支與合并處,一個(gè)轉(zhuǎn)移實(shí)際上只有一個(gè)前步與后步,但是這一步可以使多個(gè)前步或后步中的一步。
(四)根據(jù)流程圖用啟保停電路設(shè)計(jì)梯形圖的方法
根據(jù)功能流程圖設(shè)計(jì)梯形圖時(shí),可以用存儲(chǔ)器位M來(lái)代表步。某一步為活動(dòng)步時(shí),對(duì)應(yīng)的存儲(chǔ)器位為1,某一轉(zhuǎn)移實(shí)現(xiàn)時(shí),該轉(zhuǎn)移的后步變?yōu)榛顒?dòng)步,前步變?yōu)榉腔顒?dòng)步。很多轉(zhuǎn)移條件都是短信號(hào),即它存在的時(shí)間比它激活的后步時(shí)間短,因此應(yīng)使用有記憶的電路或指令(如啟保停電路和置位、復(fù)位指令)來(lái)控制代表步的PLC內(nèi)部存儲(chǔ)器位。下面先介紹由啟保停電路控制代表PLC內(nèi)部位存儲(chǔ)器的方法。
啟保停電路僅僅使用線圈與觸點(diǎn)指令,任何一種PLC都有這類(lèi)指令,因此這是一種通用的編程方法,可以用于任何類(lèi)型的PLC。設(shè)計(jì)啟保停電路的關(guān)鍵是找出它們的啟動(dòng)條件與停止條件。根據(jù)轉(zhuǎn)移實(shí)現(xiàn)的基本規(guī)則可知,轉(zhuǎn)移實(shí)現(xiàn)的條件是它的前步為活動(dòng)步,并且滿足其轉(zhuǎn)移的條件。
(五)選擇序列結(jié)構(gòu)的功能流程圖的編程方法
如果某一步的后面有N條分支組成的選擇序列,該步在滿足轉(zhuǎn)移條件時(shí),可以轉(zhuǎn)移到N步中的任一步中去,其停止條件應(yīng)為這N步對(duì)應(yīng)的存儲(chǔ)器位的動(dòng)合觸點(diǎn)相串聯(lián)。一般說(shuō)來(lái),對(duì)于選擇序列的合并,如果某一步之前有N步轉(zhuǎn)移(即有N條分支進(jìn)入該步),則代表該步的存儲(chǔ)器位的啟動(dòng)電路有N條支路并聯(lián)組成,各支路由某一前步對(duì)應(yīng)的存儲(chǔ)器位的動(dòng)合觸點(diǎn)與相應(yīng)的轉(zhuǎn)移條件對(duì)應(yīng)的觸點(diǎn)串聯(lián)而成。
任何復(fù)雜的功能流程圖都是由順序結(jié)構(gòu)、選擇序列結(jié)構(gòu)和并行序列結(jié)構(gòu)等組成的。如果掌握了這些基本結(jié)構(gòu)的編程方法,就可以快速設(shè)計(jì)出任何復(fù)雜的功能流程圖對(duì)應(yīng)的梯形圖程序。
(六)根據(jù)流程圖用置位、復(fù)位指令設(shè)計(jì)梯形圖的方法
順序結(jié)構(gòu)功能流程圖編程的方法編制的梯形圖與功能流程圖的對(duì)應(yīng)關(guān)系,這種編程方法與裝移實(shí)現(xiàn)的基本原則之間有著嚴(yán)格的對(duì)應(yīng)關(guān)系,用它編制復(fù)雜的功能流程圖的梯形圖時(shí),更能發(fā)揮出其優(yōu)越性。
在功能流程圖中,如果某一轉(zhuǎn)移的所有前步都是活動(dòng)步,并且滿足相應(yīng)的轉(zhuǎn)移條件,則轉(zhuǎn)移實(shí)現(xiàn)。與有向連線相連的轉(zhuǎn)移后步變?yōu)榛顒?dòng)步,相應(yīng)的所有前步變?yōu)椴换顒?dòng)步。在置位復(fù)位指令進(jìn)行編程時(shí),用該轉(zhuǎn)移的所有前步對(duì)應(yīng)的存儲(chǔ)器位的動(dòng)合觸點(diǎn)與轉(zhuǎn)移對(duì)應(yīng)的觸點(diǎn)串聯(lián),作為對(duì)所有后步對(duì)應(yīng)的存儲(chǔ)器位進(jìn)行置位的條件,同時(shí)它也是對(duì)所有前步對(duì)應(yīng)的存儲(chǔ)器位進(jìn)行復(fù)位的條件。注意使用這種編程方法時(shí),不能將輸出線圈與復(fù)位置位指令塊并聯(lián),這是因?yàn)榍安脚c轉(zhuǎn)移條件串聯(lián)組成的電路的接通時(shí)間很短(只有一個(gè)掃描周期),當(dāng)轉(zhuǎn)移條件被滿足后前步被馬上復(fù)位,該串聯(lián)電路斷開(kāi),而輸出線圈至少應(yīng)該在某一步對(duì)應(yīng)的全部時(shí)間內(nèi)接通,所以應(yīng)根據(jù)功能流程圖,用代表步的存儲(chǔ)器位的動(dòng)合觸點(diǎn)或它們的并聯(lián)電路來(lái)驅(qū)動(dòng)輸出位對(duì)應(yīng)的線圈。對(duì)于選擇序列的流程圖的編程方法,如果某一轉(zhuǎn)移與并行序列的分支、合并無(wú)關(guān),它的前步和后步都只有一個(gè),需要置位和復(fù)位的存儲(chǔ)器位都只有一個(gè),因此對(duì)選擇序列的分支與合并的編程方法實(shí)際上與順序結(jié)構(gòu)完全相同。
總之,PLC控制系統(tǒng)的軟件設(shè)計(jì)的方法很多。一般來(lái)說(shuō),經(jīng)驗(yàn)設(shè)計(jì)法適用于簡(jiǎn)單控制系統(tǒng)的程序設(shè)計(jì),特別是對(duì)熟悉繼電器控制電路的技術(shù)人員,比較容易掌握。一般來(lái)講,邏輯設(shè)計(jì)法應(yīng)與經(jīng)驗(yàn)設(shè)計(jì)法配合使用,否則可能使邏輯關(guān)系過(guò)于復(fù)雜。流程圖設(shè)計(jì)法適用于按條件步進(jìn)控制系統(tǒng)的程序設(shè)計(jì),只要能按照控制要求正確表達(dá)出轉(zhuǎn)步條件和各步應(yīng)工作的電器,就能很方便地設(shè)計(jì)出梯形圖程序。
參考文獻(xiàn):
[1]王嘯東.PLC控制系統(tǒng)設(shè)計(jì)方法解析[J].自動(dòng)化與儀器儀表,2011,01
[2]田秀華.提高PLC控制系統(tǒng)可靠性的設(shè)計(jì)方法[J].西安航空技術(shù)高等??茖W(xué)校學(xué)報(bào),2006,01
[3]趙中敏,張秋云,楊廣才.PLC控制系統(tǒng)設(shè)計(jì)[J].機(jī)床電器,2007,02
[4]李懷智.試析PLC自動(dòng)化控制系統(tǒng)的優(yōu)化設(shè)計(jì)[J].中國(guó)新技術(shù)新產(chǎn)品,2011,11