PLC編程入門:PLC結(jié)構(gòu)及作用_PLC的工作原理_PLC的程序編制_PLC的基本指令
可編程序控制器,英文稱Programmable Controller,簡稱PC。但由于PC容易和個人計算機(Personal Computer)混淆,故人們?nèi)粤?xí)慣地用PLC作為可編程序控制器的縮寫。它是一個以微處理器為核心的數(shù)字運算操作的電子系統(tǒng)裝置,專為在工業(yè)現(xiàn)場應(yīng)用而設(shè)計,它采用可編程序的存儲器,用以在其內(nèi)部存儲執(zhí)行邏輯運算、順序控制、定時/計數(shù)和算術(shù)運算等操作指令,并通過數(shù)字式或模擬式的輸入、輸出接口,控制各種類型的機械或生產(chǎn)過程。PLC是微機技術(shù)與傳統(tǒng)的繼電接觸控制技術(shù)相結(jié)合的產(chǎn)物,它克服了繼電接觸控制系統(tǒng)中的機械觸點的接線復(fù)雜、可靠性低、功耗高、通用性和靈活性差的缺點,充分利用了微處理器的優(yōu)點,又照顧到現(xiàn)場電氣操作維修人員的技能與習(xí)慣,特別是PLC的程序編制,不需要專門的計算機編程語言知識,而是采用了一套以繼電器梯形圖為基礎(chǔ)的簡單指令形式,使用戶程序編制形象、直觀、方便易學(xué);調(diào)試與查錯也都很方便。用戶在購到所需的PLC后,只需按說明書的提示,做少量的接線和簡易的用戶程序編制工作,就可靈活方便地將PLC應(yīng)用于生產(chǎn)實踐。
一、PLC的結(jié)構(gòu)及各部分的作用PLC的類型繁多,功能和指令系統(tǒng)也不盡相同,但結(jié)構(gòu)與工作原理則大同小異,通常由主機、輸入/輸出接口、電源擴展器接口和外部設(shè)備接口等幾個主要部分組成。PLC的硬件系統(tǒng)結(jié)構(gòu)如下圖所示:
圖1-1-1
1、主機
主機部分包括中央處理器(CPU)、系統(tǒng)程序存儲器和用戶程序及數(shù)據(jù)存儲器。CPU是PLC的核心,它用以運行用戶程序、監(jiān)控輸入/輸出接口狀態(tài)、作出邏輯判斷和進行數(shù)據(jù)處理,即讀取輸入變量、完成用戶指令規(guī)定的各種操作,將結(jié)果送到輸出端,并響應(yīng)外部設(shè)備(如電腦、打印機等)的請求以及進行各種內(nèi)部判斷等。PLC的內(nèi)部存儲器有兩類,一類是系統(tǒng)程序存儲器,主要存放系統(tǒng)管理和監(jiān)控程序及對用戶程序作編譯處理的程序,系統(tǒng)程序已由廠家固定,用戶不能更改;另一類是用戶程序及數(shù)據(jù)存儲器,主要存放用戶編制的應(yīng)用程序及各種暫存數(shù)據(jù)和中間結(jié)果。
2、輸入/輸出(I/O)接口
I/O接口是PLC與輸入/輸出設(shè)備連接的部件。輸入接口接受輸入設(shè)備(如按鈕、傳感器、觸點、行程開關(guān)等)的控制信號。輸出接口是將主機經(jīng)處理后的結(jié)果通過功放電路去驅(qū)動輸出設(shè)備(如接觸器、電磁閥、指示燈等)。I/O接口一般采用光電耦合電路,以減少電磁干擾,從而提高了可靠性。I/O點數(shù)即輸入/輸出端子數(shù)是PLC的一項主要技術(shù)指標,通常小型機有幾十個點,中型機有幾百個點,大型機將超過千點。
3、電源
圖中電源是指為CPU、存儲器、I/O接口等內(nèi)部電子電路工作所配置的直流開關(guān)穩(wěn)壓電源,通常也為輸入設(shè)備提供直流電源。
4、編程
編程是PLC利用外部設(shè)備,用戶用來輸入、檢查、修改、調(diào)試程序或監(jiān)示PLC的工作情況。通過專用的PC/PPI電纜線將PLC與電腦聯(lián)接,并利用專用的軟件進行電腦編程和監(jiān)控。
5、輸入/輸出擴展單元
I/O擴展接口用于將擴充外部輸入/輸出端子數(shù)的擴展單元與基本單元(即主機)連接在一起。
6、外部設(shè)備接口
此接口可將打印機、條碼掃描儀,變頻器等外部設(shè)備與主機相聯(lián),以完成相應(yīng)的操作。
實驗裝置提供的主機型號有西門子S7-200系列的CPU224(AC/DC/RELAY)。輸入點數(shù)為14,輸出點數(shù)為10;CPU226(AC/DC/RELAY),輸入點數(shù)為26,輸出點數(shù)為14。
二、PLC的工作原理PLC是采用“順序掃描,不斷循環(huán)”的方式進行工作的。即在PLC運行時,CPU根據(jù)用戶按控制要求編制好并存于用戶存儲器中的程序,按指令步序號(或地址號)作周期性循環(huán)掃描,如無跳轉(zhuǎn)指令,則從第一條指令開始逐條順序執(zhí)行用戶程序,直至程序結(jié)束。然后重新返回第一條指令,開始下一輪新的掃描。在每次掃描過程中,還要完成對輸入信號的采樣和對輸出狀態(tài)的刷新等工作。
PLC的一個掃描周期必經(jīng)輸入采樣、程序執(zhí)行和輸出刷新三個階段。
PLC在輸入采樣階段:首先以掃描方式按順序?qū)⑺袝捍嬖谳斎腈i存器中的輸入端子的通斷狀態(tài)或輸入數(shù)據(jù)讀入,并將其寫入各對應(yīng)的輸入狀態(tài)寄存器中,即刷新輸入。隨即關(guān)閉輸入端口,進入程序執(zhí)行階段。
PLC在程序執(zhí)行階段:按用戶程序指令存放的先后順序掃描執(zhí)行每條指令,經(jīng)相應(yīng)的運算和處理后,其結(jié)果再寫入輸出狀態(tài)寄存器中,輸出狀態(tài)寄存器中所有的內(nèi)容隨著程序的執(zhí)行而改變。
輸出刷新階段:當所有指令執(zhí)行完畢,輸出狀態(tài)寄存器的通斷狀態(tài)在輸出刷新階段送至輸出鎖存器中,并通過一定的方式(繼電器、晶體管或晶閘管)輸出,驅(qū)動相應(yīng)輸出設(shè)備工作。
三、PLC的程序編制編程元件
PLC是采用軟件編制程序來實現(xiàn)控制要求的。編程時要使用到各種編程元件,它們可提供無數(shù)個動合和動斷觸點。編程元件是指輸入寄存器、輸出寄存器、位存儲器、定時器、計數(shù)器、通用寄存器、數(shù)據(jù)寄存器及特殊功能存儲器等。
PLC內(nèi)部這些存儲器的作用和繼電接觸控制系統(tǒng)中使用的繼電器十分相似,也有“線圈”與“觸點”,但它們不是“硬”繼電器,而是PLC存儲器的存儲單元。當寫入該單元的邏輯狀態(tài)為“1”時,則表示相應(yīng)繼電器線圈得電,其動合觸點閉合,動斷觸點斷開。所以,內(nèi)部的這些繼電器稱之為“軟”繼電器。
S7-200系列CPU224、CPU226部分編程元件的編號范圍與功能說明如下表所示
表1-1-1
2、編程語言
所謂程序編制,就是用戶根據(jù)控制對象的要求,利用PLC廠家提供的程序編制語言,將一個控制要求描述出來的過程。PLC最常用的編程語言是梯形圖語言和指令語句表語言,且兩者常常聯(lián)合使用。
3、梯形圖(語言)
梯形圖是一種從繼電接觸控制電路圖演變而來的圖形語言。它是借助類似于繼電器的動合、動斷觸點、線圈以及串、并聯(lián)等術(shù)語和符號,根據(jù)控制要求聯(lián)接而成的表示PLC輸入和輸出之間邏輯關(guān)系的圖形,直觀易懂。
梯形圖中常用7 圖形符號分別表示PLC編程元件的動合和動斷觸點;
用( )表示它們的線圈。梯形圖中編程元件的種類用圖形符號及標注的字母或數(shù)加以區(qū)別。觸點和線圈等組成的獨立電路稱為網(wǎng)絡(luò),用編程軟件生成的梯形圖和語句表程序中有網(wǎng)絡(luò)編號,允許以網(wǎng)絡(luò)為單位給梯形圖加注釋。
梯形圖的設(shè)計應(yīng)注意到以下三點:
?、偬菪螆D按從左到右、自上而下地順序排列。每一邏輯行(或稱梯級)起始于左母線,然后是觸點的串、并聯(lián)接,最后是線圈。
?、谔菪螆D中每個梯級流過的不是物理電流,而是“概念電流”,從左流向右,其兩端沒有電源。這個“概念電流”只是用來形象地描述用戶程序執(zhí)行中應(yīng)滿足線圈接通的條件。
?、圯斎爰拇嫫饔糜诮邮胀獠枯斎胄盘枺荒苡蒔LC內(nèi)部其它繼電器的觸點來驅(qū)動。因此,梯形圖中只出現(xiàn)輸入寄存器的觸點,而不出現(xiàn)其線圈。輸出寄存器則輸出程序執(zhí)行結(jié)果給外部輸出設(shè)備,當梯形圖中的輸出寄存器線圈得電時,就有信號輸出,但不是直接驅(qū)動輸出設(shè)備,而要通過輸出接口的繼電器、晶體管或晶閘管才能實現(xiàn)。輸出寄存器的觸點也可供內(nèi)部編程使用。
2)指令語句表
指令語句表是一種用指令助記符來編制PLC程序的語言,它類似于計算機的匯編語言,但比匯編語言易懂易學(xué),若干條指令組成的程序就是指令語句表。一條指令語句是由步序、指令語和作用器件編號三部分組成。
下例為PLC實現(xiàn)三相鼠籠電動機起/??刂频膬煞N編程語言的表示方法:
四、PLC的基本指令
S7-200的SIMATIC基本指令簡表:
(其他指令見附表)
標準觸點指令
LD動合觸點指令,表示一個與輸入母線相連的動合觸點指令,即動合觸點邏輯運算起始。
LDN動斷觸點指令,表示一個與輸入母線相連的動斷觸點指令,即動斷觸點邏輯運算起始。
A 與動合觸點指令,用于單個動合觸點的串聯(lián)。
AX 與非動斷觸點指令,用于單個動斷觸點的串聯(lián)。
O 或動合觸點指令,用于單個動合觸點的并聯(lián)。
ON 或非動斷觸點指令,用于單個動斷觸點的并聯(lián)。
LD、LDN、A、AN、O、ON觸點指令中變量的數(shù)據(jù)類型為布爾(BOOC)型。LD、LDN兩條指令用于將接點接到母線上,A、AN、O、ON指令均可多次重復(fù)使用,但當需要對兩個以上接點串聯(lián)連接電路塊的并聯(lián)連接時,要用后述的OLD指令。
例子:
串聯(lián)電路塊的并聯(lián)連接指令OLD
兩個或兩個以上的接點串聯(lián)連接的電路叫串聯(lián)電路塊。串聯(lián)電路塊并聯(lián)連接時,分支開始用LD、LDN指令,分支結(jié)束用OLD指令。OLD指令與后述的ALD指令均為無目標元件指令,而兩條無目標元件指令的步長都為一個程序步。OLD有時也簡稱或塊指令。
并聯(lián)電路的串聯(lián)連接指令A(yù)LD
兩個或兩個以上接點并聯(lián)電路稱為并聯(lián)電路塊,分支電路并聯(lián)電路塊與前面電路串聯(lián)連接時,使用ALD指令。分支的起點用LD、LDN指令,并聯(lián)電路結(jié)束后,使用ALD指令與前面電路串聯(lián)。ALD指令也簡稱與塊指令,ALD也是無操作目標元件,是一個程序步指令。
輸出指令 =
1、= 輸出指令是將繼電器、定時器、計數(shù)器等的線圈與梯形圖右邊的母線直接連接,線圈的右邊不允許有觸點,在編程中,觸點以重復(fù)使用,且類型和數(shù)量不受限制。
置位與復(fù)位指令S、R
S為置位指令,使動作保持;R為復(fù)位指令,使操作保持復(fù)位。從指定的位置開始的N個點的寄存器都被置位或復(fù)位,N=1~255如果被指定復(fù)位的是定時器位或計數(shù)器位,將清除定時器或計數(shù)器的當前值。
跳變觸點EU,ED
正跳變觸點檢測到一次正跳變(觸點的入信號由0到1)時,或負跳變觸點檢測到一次負跳變(觸點的入信號由1到0)時,觸點接通到一個掃描周期。正/負跳變的符號為EU和ED,他們沒有操作數(shù),觸點符號中間的”P”和”N”分別表示正跳變和負跳變
空操作指令NOP
NOP指令是一條無動作、無目標元件的一個序步指令??詹僮髦噶钍乖摬叫驗榭詹僮?。用NOP指令可替代已寫入指令,可以改變電路。在程序中加入NOP指令,在改動或追加程序時可以減少步序號的改變。
程序結(jié)束指令END
END是一條無目標元件的一序步指令。PLC反復(fù)進行輸入處理、程序運算、輸出處理,在程序的最后寫入END指令,表示程序結(jié)束,直接進行輸出處理。在程序調(diào)試過程中,可以按段插入END指令,可以按順序擴大對各程序段動作的檢查。采用END指令將程序劃分為若干段,在確認處于前面電路塊的動作正確無誤之后,依次刪去END指令。要注意的是在執(zhí)行END指令時,也刷新監(jiān)視時鐘。
五、可編程控制器梯形圖編程規(guī)則編程的幾個步驟
?。ㄒ唬Q定系統(tǒng)所需的動作及次序。
當使用可編程控制器時,最重要的一環(huán)是決定系統(tǒng)所需的輸入及輸出。輸入及輸出要求:
第一步是設(shè)定系統(tǒng)輸入及輸出數(shù)目。
第二步是決定控制先后、各器件相應(yīng)關(guān)系以及作出何種反應(yīng)。
?。ǘ斎爰拜敵銎骷幪?/p>
每一輸入和輸出,包括定時器、計數(shù)器、內(nèi)置寄存器等都有一個唯一的對應(yīng)編號,不能混用。
?。ㄈ┊嫵鎏菪螆D。
根據(jù)控制系統(tǒng)的動作要求,畫出梯形圖。
梯形圖設(shè)計規(guī)則
?。?)觸點應(yīng)畫在水平線上,并且根據(jù)自左至右、自上而下的原則和對輸出線圈的控制路徑來畫。
?。?)不包含觸點的分支應(yīng)放在垂直方向,以便于識別觸點的組合和對輸出線圈的控制路徑。
(3)在有幾個串聯(lián)回路相并聯(lián)時,應(yīng)將觸頭多的那個串聯(lián)回路放在梯形圖的最上面。在有幾個并聯(lián)回路相串聯(lián)時,應(yīng)將觸點最多的并聯(lián)回路放在梯形圖的最左面。這種安排,所編制的程序簡潔明了,語句較少。
(4)不能將觸點畫在線圈的右邊。
將梯形圖轉(zhuǎn)化為程序
把繼電器梯形圖轉(zhuǎn)變?yōu)榭删幊炭刂破鞯木幋a,當完成梯形圖以后,下一步是把它的編碼編譯成可編程控制器能識別的程序。
這種程序語言是由序號(即地址)、指令(控制語句)、器件號(即數(shù)據(jù))組成。地址是控制語句及數(shù)據(jù)所存儲或擺放的位置,指令告訴可編程控制器怎樣利用器件作出相應(yīng)的動作。
?。ㄎ澹┰诰幊谭绞较掠面I盤輸入程序。
?。┚幊碳霸O(shè)計控制程序。
?。ㄆ撸y試控制程序的錯誤并修改。
?。ò耍┍4嫱暾目刂瞥绦颉?/p> 六、圖解常用繼電器控制電路與相應(yīng)PLC結(jié)合使用的功能和工作原理
以下以圖解方式講解常用:繼電器控制電路與相應(yīng)PLC結(jié)合使用的功能和工作原理,都屬PLC基礎(chǔ)知識范圍
一、點動電路
功能介紹:
工作原理:顧名思義,點則動,松則不動,即按下按鈕開,松開按鈕停。
二、帶停止的自動保持電路
功能介紹
是保持電路狀態(tài)的一種基本形式,主要用于保持外部信號狀態(tài)。
工作原理
開機,按下常開按鈕0,繼電器線圈J0 得電,J0 主觸點閉合,電機得電開機。同時J0 輔助觸點自鎖,電機繼續(xù)運行見圖2-6。停機,按下常閉按鈕1。繼電器線圈J0 失電,同時J0 輔助觸點斷開,電動機失電停機見圖2-5。
電路應(yīng)用
下面我們給繼電器線圈未通電和通電前后作出的比較:
三、自保持互鎖電路
功能介紹
一個停止開關(guān),兩個啟動開關(guān),以先動作的信號優(yōu)先另一信號因受聯(lián)鎖作用,在停止信號未動作前用不會動作。
工作原理
此電路可作電機正反轉(zhuǎn)控制等。
四、先動作優(yōu)先電路
功能介紹
在多個輸入信號的線路中,以最先動作的信號優(yōu)先。在最先輸入的信號未除去之時,其它信號無法動作。
工作原理
常開按扭0 到3 不管哪一個按下時,其對應(yīng)的繼電器線圈得電,相應(yīng)的常開觸點閉合自鎖,同時J4 繼電器也動作斷開其它3 組的供電,只要最先得電的繼電器不斷電,其它繼電器就無法動作。
電路應(yīng)用
此電路只要在電源輸入端加一個復(fù)位開關(guān),可作搶答器用。
五、后動作優(yōu)先電路
功能介紹
在多個輸入信號的線路中,以最后動作的信號優(yōu)先。前面動作所決定的狀態(tài)自行解除。
工作原理
在電路通電的任何狀態(tài)按下常開按扭0 到3 時對應(yīng)的繼電器線圈得電,其相應(yīng)的常閉觸點斷開、同時解除其它線圈的自鎖(自保持)狀態(tài)。
電路應(yīng)用
此電路可在電源輸入端加一個復(fù)位常閉開關(guān)可作程序選擇、生產(chǎn)期順序控制電路等。
六、時間繼電器(又名延時繼電器)
功能介紹
當加入(或去掉)輸入的動作信號后,其輸出電路需經(jīng)過規(guī)定的準確時間才產(chǎn)生跳躍式變化(或觸頭動作)的一種繼電器,時間繼電器按功能分為接通延時、斷開延時、瞬動延時等。
下面著重研究延時接通繼電器的應(yīng)用。
圖2-12 為簡單的延時接通應(yīng)用電路。為便于分析原理,在時間繼電器常開觸點上串聯(lián)一個燈泡,當然你也可以串聯(lián)其它負載,比如接觸器、固態(tài)繼電器等,圖2-13 為PLC 梯形圖的表達方式,原理圖與圖2-12 相同。為了分析動作流程,在接通延時應(yīng)用電路中加上電源見圖2-14,此時延時繼電器并未工作。
假設(shè)延時繼電器預(yù)設(shè)時間為10 秒,按下常開按鈕,時間繼電器線圈得電并開始計時,10 秒后時間常開觸點閉合,同時燈泡得電點亮見圖2-16,直到松開常開按鈕,時間繼電器線圈失電,常開觸點恢復(fù)常開,此時再回到圖2-14 燈滅狀態(tài)。
七、計數(shù)器
功能介紹
通過傳動機構(gòu)驅(qū)動計數(shù)元件,指示被測量累計(加法計數(shù))或逆計(減法計數(shù))值的器件,當數(shù)量達到預(yù)設(shè)值輸出接通或斷開信號。
下面介紹一下加法計數(shù)應(yīng)用。
接線說明
圖2-18 中1、4 腳為電源輸入端,2、3 腳為信號輸入端,5、6 腳為內(nèi)部常開觸點輸出端。
工作原理
按下和松開常開按鈕一次,計數(shù)器顯示窗口加一顯示,假設(shè)計數(shù)器預(yù)設(shè)值為3,當按下和松開常開按鈕數(shù)值到達3 次后,內(nèi)部常開觸點閉