可編程控制器(PLC)基礎(chǔ)講座(一)
1.1 可編程控制器基本原理
PLC是基于電子計(jì)算機(jī),且適用于工業(yè)現(xiàn)場工作的電控制器。它源于繼電控制裝置,但它不像繼電裝置那樣,通過電路的物理過程實(shí)現(xiàn)控制,而主要靠運(yùn)行存儲(chǔ)于PLC內(nèi)存中的程序,進(jìn)行入出信息變換實(shí)現(xiàn)控制。
PLC基于電子計(jì)算機(jī),但并不等同于普通計(jì)算機(jī)。普遍計(jì)算機(jī)進(jìn)行入出信息變換,多只考慮信息本身,信息的入出,只要人機(jī)界面好就可以了。而PLC則還要考慮信息入出的可靠性、實(shí)時(shí)性,以及信息的使用等問題。特別要考慮怎么適應(yīng)于工業(yè)環(huán)境,如便于安裝,抗干擾等問題。
1.1.1 可編程控制器實(shí)現(xiàn)控制的要點(diǎn)
入出信息變換、可靠物理實(shí)現(xiàn),可以說是PLC實(shí)現(xiàn)控制的兩個(gè)基本要點(diǎn)。
入出信息變換靠運(yùn)行存儲(chǔ)于PLC內(nèi)存中的程序?qū)崿F(xiàn)。PLC程序既有生產(chǎn)廠家的系統(tǒng)程序(不可更改),又有用戶自行開發(fā)的應(yīng)用(用戶)程序。系統(tǒng)程序提供運(yùn)行平臺(tái),同時(shí),還為PLC程序可靠運(yùn)行及信號(hào)與信息轉(zhuǎn)換進(jìn)行必要的公共處理。用戶程序由用戶按控制要求設(shè)計(jì)。什么樣的控制要求,就應(yīng)有什么樣的用戶程序。
可靠物理實(shí)現(xiàn)主要靠輸人(INPUT)及輸出(OUTPUT)電路。PLC的I/O電路,都是專門設(shè)計(jì)的。輸入電路要對(duì)輸入信號(hào)進(jìn)行濾波,以去掉高頻干擾。而且與內(nèi)部計(jì)算機(jī)電路在電上是隔離的,靠光耦元件建立聯(lián)系。輸出電路內(nèi)外也是電隔離的,靠光耦元件或輸出繼電器建立聯(lián)系。輸出電路還要進(jìn)行功率放大,以足以帶動(dòng)一般的工業(yè)控制元器件,如電磁閥、接觸器等等。
I/O電路是很多的,每一輸入點(diǎn)或輸出點(diǎn)都要有一個(gè)I或O電路。PLC有多I/O用點(diǎn),一般也就有多少個(gè)I/O用電路。但由于它們都是由高度集成化的電路組成的,所以,所占體積并不大。
圖 1-1-1 PLC 典型開機(jī)流程
輸入電路時(shí)刻監(jiān)視著輸入狀況,并將其暫存于輸入暫存器中。每一輸入點(diǎn)都有一個(gè)對(duì)應(yīng)的存儲(chǔ)其信息的暫存器。
輸出電路要把輸出鎖存器的信息傳送給輸出點(diǎn)。輸出鎖存器與輸出點(diǎn)也是一一對(duì)應(yīng)的,這里的輸入暫存器及輸出鎖存器實(shí)際就是PLC處理器I/O口的寄存器。它們與計(jì)算機(jī)內(nèi)存交換信息通過計(jì)算機(jī)總線,并主要由運(yùn)行系統(tǒng)程序?qū)崿F(xiàn)。把輸人暫存器的信息讀到PLC的內(nèi)存中,稱輸入刷新。PLC內(nèi)存有專門開辟的存放輸入信息的映射區(qū)。這個(gè)區(qū)的每一對(duì)應(yīng)位(bit)稱之為輸入繼電器,或稱軟接點(diǎn)。這些位置成1,表示接點(diǎn)通,置成0為接點(diǎn)斷。由于它的狀態(tài)是由輸入刷新得到的,所以,它反映的就是輸入狀態(tài)。
輸出鎖存器與PLC內(nèi)存中的輸出映射區(qū)也是對(duì)應(yīng)的。一個(gè)輸出鎖存器也有一個(gè)內(nèi)存位(bit)與其對(duì)應(yīng),這個(gè)位稱為輸出繼電器,或稱輸出線圈??窟\(yùn)行系統(tǒng)程序,輸出繼電器的狀態(tài)映射到輸出鎖存器。這個(gè)映射也稱輸出刷新。輸出刷新主要也是靠運(yùn)行系統(tǒng)程序?qū)崿F(xiàn)的。這樣,用戶所要編的程序只是,內(nèi)存中輸入映射區(qū)到輸出映射區(qū)的變換,特別是怎么按輸入的時(shí)序變換成輸出的時(shí)序。這是一個(gè)數(shù)據(jù)及邏輯處理問題。由于PLC有強(qiáng)大的指令系統(tǒng),編寫出滿足這個(gè)要求的程序是完全可能的,而且也是較為容易的。
1.1.2 可編程控制器實(shí)現(xiàn)控制的過程
簡單地說,PLC實(shí)現(xiàn)控制的過程一般是:
輸入刷新--再運(yùn)行用戶程序--再輸出刷新--再輸入刷新--再運(yùn)行用戶程序--再輸出刷新……永不停止地循環(huán)反復(fù)地進(jìn)行著。
圖1-1-1所示的流程圖反映的就是上述過程。它也反映了信息的時(shí)間關(guān)系。
有了上述過程,用PLC實(shí)現(xiàn)控制顯然是可能的。因?yàn)椋河辛溯斎胨⑿拢砂演斎腚娐繁O(jiān)控得到的輸入信息存入PLC的輸入映射區(qū);經(jīng)運(yùn)行用戶程序,輸出映射區(qū)將得到變換后的信息;再經(jīng)輸出刷新,輸出鎖存器將反映輸出映射區(qū)的狀態(tài),并通過輸出電路產(chǎn)生相應(yīng)的輸出。又由于這個(gè)過程是永不停止地循環(huán)反復(fù)地進(jìn)行著,所以,輸出總是反映輸入的變化的。只是響應(yīng)的時(shí)間上,略有滯后。當(dāng)然,這個(gè)滯后不宜太大,否則,所實(shí)現(xiàn)的控制不那么及時(shí),也就失去控制的意義。
為此,PLC的工作速度要快。速度快、執(zhí)行指令時(shí)間短,是PLC實(shí)現(xiàn)控制的基礎(chǔ)。事實(shí)上,它的速度是很快的,執(zhí)行一條指令,多的幾微秒、幾十微秒,少的才零點(diǎn)幾,或零點(diǎn)零幾微秒。而且這個(gè)速度還在不斷提高中。
圖1-1-1所示的過程是簡化的過程,實(shí)際的 PLC工作過程還要復(fù)雜些。除了 I/O刷新及運(yùn)行用戶程序,還要做些公共處理工作。
公共處理工作有:循環(huán)時(shí)間監(jiān)控、外設(shè)服務(wù)及通訊處理等。
監(jiān)控循環(huán)時(shí)間的目的是避免"死循環(huán)",避免程序不能反復(fù)不斷地重復(fù)執(zhí)行。辦法是用"看門狗"(Watching dog)。只要循環(huán)超時(shí),它可報(bào)警,或作相應(yīng)處理.
外設(shè)服務(wù)是讓PLC可接受編程器對(duì)它的操作,或通過接口向輸出設(shè)備如打印機(jī)輸出數(shù)據(jù).
通訊處理是實(shí)現(xiàn)PLC與PLC,或PLC與計(jì)算機(jī),或PLC與其它工業(yè)控制裝置或智能部件間信息交換的。這也是增強(qiáng)PLC控制能力的需要。
也就是說,實(shí)際的PLC工作過程總是:公共處理--I/O刷新--運(yùn)行用戶程序--再公共處理--……反復(fù)不停地重復(fù)著。
1.1.3 可編程控制器實(shí)現(xiàn)控制的方式
用這種不斷地重復(fù)運(yùn)行程序?qū)崿F(xiàn)控制稱掃描方式。是用計(jì)算機(jī)進(jìn)行實(shí)時(shí)控制的一種方式。此外,計(jì)算機(jī)用于控制還有中斷方式。在中斷方式下,需處理的控制先申請(qǐng)中斷,被響應(yīng)后正運(yùn)行的程序停止運(yùn)行,轉(zhuǎn)而去處理中斷工作(運(yùn)行有關(guān)中斷服務(wù)程序)。待處理完中斷,又返回運(yùn)行原來程序。哪個(gè)控制需要處理,哪個(gè)就去申請(qǐng)中斷。哪個(gè)不需處理,將不被理睬。顯然,中斷方式與掃描方式是不同的。
在中斷方式下,計(jì)算機(jī)能得到充分利用,緊急的任務(wù)也能得到及時(shí)處理。但是,如果同時(shí)來了幾個(gè)都要處理的任務(wù)該怎么辦呢?優(yōu)先級(jí)高的還好辦,低的呢?可能會(huì)出現(xiàn)照顧不到之處。所以,中斷方式不大適合于工作現(xiàn)場的日常使用。
但是,PLC在用掃描方式為主的情況下,也不排斥中斷方式。即,大量控制都用掃描方式,個(gè)別急需的處理,允許中斷這個(gè)掃描運(yùn)行的程序,轉(zhuǎn)而去處理它。這樣,可做到所有的控制都能照顧到,個(gè)別應(yīng)急的也能進(jìn)行處理。
PLC的實(shí)際工作過程比這里講的還要復(fù)雜一些,分析其基本原理,也還有一些理論問題。有關(guān)人員如果能把上面介紹的入出變換、物理實(shí)現(xiàn)--信息處理、I/O電路--空間、時(shí)間關(guān)系--掃描方式并輔以中斷方式,作為一種思路加以研究,弄清了它,也就好理解PLC是怎樣去實(shí)現(xiàn)控制的,也就好把握住PLC基本原理的要點(diǎn)了。至于更深入的問題,在進(jìn)一步學(xué)習(xí)中,將再作具體介紹。