可編程序控制器其實和微機差不多。由微處理器(CPU),存儲器(ROM,RAM),輸入/輸出單元(I/O),編程器和電源。CPU相當于人的大腦,存儲器是存儲文件的。把文件掃描,在把文件打印出來,這是I/O的功能,相當與人的五官。編程器用于用戶程序的編制,調(diào)試檢查和監(jiān)視,還可通過鍵盤調(diào)用和顯示PLC的一些內(nèi)部狀態(tài)和系統(tǒng)參數(shù)。電源是提供PLC的能源。
20世紀60年代,由于小型計算機的出現(xiàn)和大規(guī)模生產(chǎn)及多機群控的發(fā)展,人們曾試圖用小型計算機來實現(xiàn)工業(yè)控制,代替?zhèn)鹘y(tǒng)的繼電接觸器控制。但采用小型計算機實現(xiàn)工業(yè)控制價格昂貴,輸入、輸出電路不匹配,編程技術(shù)復(fù)雜,因而沒能得到推廣和應(yīng)用。
20世紀60年代末期,美國汽車制造工業(yè)競爭激烈,為了適應(yīng)生產(chǎn)工藝不斷更新的需要,在1968年美國通用汽車公司首先公開招標,對控制系統(tǒng)提出的具體要求基本為①它的繼電控制系統(tǒng)設(shè)計周期短,更改容易,接線簡單,成本低;②它能把計算機的功能和繼電器控制系統(tǒng)結(jié)合起來。但編程又比計算機簡單易學(xué)、操作方便;③系統(tǒng)通用性強。
1969年美國數(shù)字設(shè)備公司根據(jù)上述要求,研制出世界上第一臺可編程序控制器,并在通用公司汽車生產(chǎn)線上首次應(yīng)用成功,實現(xiàn)了生產(chǎn)的自動控制。其后日本、德國等相繼引入,可編程序控制器迅速發(fā)展起來。但這一時期它主要用于順序控制,雖然也采用了計算機的設(shè)計思想,但當時只能進行邏輯運算,故稱為可編程序邏輯控制器,簡稱PLC(Programmable Logic Controller)。
20世紀70年代后期,隨著微電子技術(shù)和計算機技術(shù)的迅猛發(fā)展,可編程邏輯控制器更多地具有計算機功能,不僅用邏輯編程取代硬接線邏輯,還增加了運算、數(shù)據(jù)傳送和處理等功能,真正成為一種電子計算機工業(yè)控制裝置,而且做到了小型化和超小型化。這種采用微電腦技術(shù)的工業(yè)控制裝置的功能遠遠超出邏輯控制、順序控制的范圍,故稱為可編程序控制器,簡稱PC(Programmablc Controller)。但由于PC容易和個人計算機(Personal Computer)混淆,故人們?nèi)粤晳T地用PLC作為可編程序控制器的縮寫。
由于plc以微處理器為核心,故具有微機的許多特點,但它的工作方式卻與微機有很大 不同。微機一般采用等待命令的工作方式,如常見的鍵盤掃描方式或i/o掃描方式,若有 鍵按下或有i/o變化,則轉(zhuǎn)入相應(yīng)的子程序,若無則繼續(xù)掃描等待。plc則是采用循環(huán)掃描的工作方式。對每個程序,cpu從第一條指令開始執(zhí)行,按指令 步序號作周期性的程序循環(huán)掃描,如果無跳轉(zhuǎn)指令,則從第一條指令開始逐條順序執(zhí)行用戶程序,直至遇到結(jié)束符后又返回第一條指令,如此周而復(fù)始不斷循環(huán),每一個循環(huán)稱為一個掃描周期。掃描周期的長短主要取決于以下幾個因素:一是cpu執(zhí)行指令的速度;二是執(zhí)行每條指令占用的時間;三是程序中指令條數(shù)的多少。一個循環(huán)掃描周期主要可分為三個階段。1) 輸入刷新階段 在輸入刷新階段,cpu掃描全部輸入端口,讀取其狀態(tài)并寫入輸 入狀態(tài)寄存器。完成輸入端刷新工作后,將關(guān)閉輸入端口,轉(zhuǎn)入程序執(zhí)行階段。在程序執(zhí)行 期間即使輸入端狀態(tài)發(fā)生變化,輸入狀態(tài)寄存器的內(nèi)容也不會改變,而這些變化必須等到下 一工作周期的輸入刷新階段才能被讀入。2)程序執(zhí)行階段 在程序執(zhí)行階段,根據(jù)用戶輸入的控制程序,從第一條開始逐條執(zhí)行,并將相應(yīng)的邏輯運算結(jié)果存入對應(yīng)的內(nèi)部輔助寄存器和輸出狀態(tài)寄存器。當最后一條控 制程序執(zhí)行完畢后,即轉(zhuǎn)入輸出刷新階段。3)輸出刷新階段 當所有指令執(zhí)行完畢后,將輸出狀態(tài)寄存器中的內(nèi)容,依次送到輸出鎖存電路,并通過一定輸出方式輸出,驅(qū)動外部相應(yīng)執(zhí)行元件工作,這才形成plc的實際 輸出。由此可見,輸入刷新、程序執(zhí)行和輸出刷新三個階段構(gòu)成plc一個工作周期,由此循環(huán) 往復(fù),因此稱為循環(huán)掃描工作方式。由于輸入刷新階段是緊接輸出刷新階段后馬上進行的,所以亦將這兩個階段統(tǒng)稱為i/o刷新階段。實際上,除了執(zhí)行程序和i/o刷新外,plc還 要進行各種錯誤檢測(自診斷功能)并與編程工具通訊,這些操作統(tǒng)稱為“監(jiān)視服務(wù)”,一般 在輸入掃描過程之后進行。綜上所述,plc的掃描工作過程如圖1-4所示。
顯然掃描周期的長短主要取決于程序的長短。掃描周期越長,響應(yīng)速度越慢。由于每一個掃描周期只進行一次i/0刷新,即每一個掃描周期plc只對輸入、輸出狀態(tài)寄存器更 新一次,故使系統(tǒng)存在輸入、輸出滯后現(xiàn)象,這在一定程度上降低了系統(tǒng)的響應(yīng)速度。由此 可見,若輸入變量在i/0刷新期間狀態(tài)發(fā)生變化,則本次掃描期間輸出會相應(yīng)地發(fā)生變化。
反之,若在本次刷新之后輸入變量才發(fā)生變化,則本次掃描輸出不變,而要到下一次掃描的i/0刷新期間輸出才會發(fā)生變化。這對于一般的開關(guān)量控制系統(tǒng)來說是完全允許的,不但不 會造成影響,反而可以增強系統(tǒng)的抗干擾能力。這是因為輸入采樣僅在輸入刷新階段進行,plc在一個工作周期的大部分時間里實際上是與外設(shè)隔離的。而工業(yè)現(xiàn)場的干擾常常是脈沖式的、短時的,由于系統(tǒng)響應(yīng)較慢,往往要幾個掃描周期才響應(yīng)一次,而多次掃描后,因瞬 間干擾而引起的誤動作將會大大減少,從而提高了系統(tǒng)的抗干擾能力。但是對于控制時間要 求較嚴格、響應(yīng)速度要求較快的系統(tǒng),就需要精心編制程序,必要時采用一些特殊功能,以減少因掃描周期造成的響應(yīng)滯后等不良影響??傊?,采用循環(huán)掃描的工作方式是plc區(qū)別于微機和其他控制設(shè)備的最大特點,在使用 中應(yīng)引起特別的注意。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 的程序編制
1、 編程元件
PLC 是采用軟件編制程序來實現(xiàn)控制要求的。編程時要使用到各種編程元件,它們可提供無數(shù)個動合和動斷觸點。編程元件是指輸入寄存器、輸出寄存器、位存儲器、定時器、計數(shù)器、通用寄存器、數(shù)據(jù)寄存器及特殊功能存儲器等。PLC 內(nèi)部這些存儲器的作用和繼電接觸控制系統(tǒng)中使用的繼電器十分相似,也有“線圈”與“觸點” ,但它們不是“硬”繼電器,而是 PLC 存儲器的存儲單元。當寫入該單元的邏輯狀態(tài)為“1”時,則表示相應(yīng)繼電器線圈得電,其動合觸點閉合,動斷觸點斷開。所以,內(nèi)部的這些繼電器稱之為“軟”繼電器。
2、編程語言
所謂程序編制,就是用戶根據(jù)控制對象的要求,利用 PLC 廠家提供的程序編制語言,將一個控制要求描述出來的過程。PLC 最常用的編程語言是梯形圖語言和指令語句表語言,且兩者常常聯(lián)合使用。
1) 梯形圖(語言)
梯形圖是一種從繼電接觸控制電路圖演變而來的圖形語言。它是借助類似于繼電器的動合、動斷觸點、線圈以及串、并聯(lián)等術(shù)語和符號,根據(jù)控制要求聯(lián)接而成的表示 PLC 輸入和輸出之間邏輯關(guān)系的圖形,直觀易懂。
梯形圖的設(shè)計應(yīng)注意到以下三點:
①梯形圖按從左到右、自上而下地順序排列。每一邏輯行(或稱梯級)起始于左母線,然后是觸點的串、并聯(lián)接,最后是線圈。
②梯形圖中每個梯級流過的不是物理電流,而是“概念電流”,從左流向右,其兩端沒有電源。這個“概念電流”只是用來形象地描述用戶程序執(zhí)行中應(yīng)滿足線圈接通的條件。
③輸入寄存器用于接收外部輸入信號,而不能由 PLC 內(nèi)部其它繼電器的觸點來驅(qū)動。因此,梯形圖中只出現(xiàn)輸入寄存器的觸點,而不出現(xiàn)其線圈。輸出寄存器則輸出程序執(zhí)行結(jié)果給外部輸出設(shè)備,當梯形圖中的輸出寄存器線圈得電時,就有信號輸出,但不是直接驅(qū)動輸出設(shè)備,而要通過輸出接口的繼電器、晶體管或晶閘管才能實現(xiàn)。輸出寄存器的觸點也可供內(nèi)部編程使用。