PLC編程的工作原理是什么?-PLC編程入門培訓(xùn)
PLC編程技術(shù)的應(yīng)用讓不少的工業(yè)流水線快速發(fā)展。那么目前PLC的發(fā)展,需要的PLC編程人才越來(lái)越多,PLC編程入門培訓(xùn)成為了工程師們的第一步,那么下面來(lái)看看PLC編程的工作原理是什么?
一. 掃描技術(shù)
當(dāng)PLC投入運(yùn)行后,其工作過(guò)程一般分為三個(gè)階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個(gè)階段。完成上述三個(gè)階段稱作一個(gè)掃描周期。在整個(gè)運(yùn)行期間,PLC的CPU以一定的掃描速度重復(fù)執(zhí)行上述三個(gè)階段。
(一) 輸入采樣階段
在輸入采樣階段,PLC以掃描方式依次地讀入所有輸入狀態(tài)和數(shù)據(jù),并將它們存入I/O映象區(qū)中的相應(yīng)得單元內(nèi)。輸入采樣結(jié)束后,轉(zhuǎn)入用戶程序執(zhí)行和輸出刷新階段。在這兩個(gè)階段中,即使輸入狀態(tài)和數(shù)據(jù)發(fā)生變化,I/O映象區(qū)中的相應(yīng)單元的狀態(tài)和數(shù)據(jù)也不會(huì)改變。因此,如果輸入是脈沖信號(hào),則該脈沖信號(hào)的寬度必須大于一個(gè)掃描周期,才能保證在任何情況下,該輸入均能被讀入。
(二) 用戶程序執(zhí)行階段
在用戶程序執(zhí)行階段,PLC總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時(shí),又總是先掃描梯形圖左邊的由各觸點(diǎn)構(gòu)成的控制線路,并按先左后右、先上后下的順序?qū)τ捎|點(diǎn)構(gòu)成的控制線路進(jìn)行邏輯運(yùn)算,然后根據(jù)邏輯運(yùn)算的結(jié)果,刷新該邏輯線圈在系統(tǒng)RAM存儲(chǔ)區(qū)中對(duì)應(yīng)位的狀態(tài);或者刷新該輸出線圈在I/O映象區(qū)中對(duì)應(yīng)位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。
即,在用戶程序執(zhí)行過(guò)程中,只有輸入點(diǎn)在I/O映象區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)不會(huì)發(fā)生變化,而其他輸出點(diǎn)和軟設(shè)備在I/O映象區(qū)或系統(tǒng)RAM存儲(chǔ)區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)都有可能發(fā)生變化,而且排在上面的梯形圖,其程序執(zhí)行結(jié)果會(huì)對(duì)排在下面的凡是用到這些線圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數(shù)據(jù)只能到下一個(gè)掃描周期才能對(duì)排在其上面的程序起作用。
(三) 輸出刷新階段
當(dāng)掃描用戶程序結(jié)束后,PLC就進(jìn)入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內(nèi)對(duì)應(yīng)的狀態(tài)和數(shù)據(jù)刷新所有的輸出鎖存電路,再經(jīng)輸出電路驅(qū)動(dòng)相應(yīng)的外設(shè)。這時(shí),才是PLC的真正輸出。
同樣的若干條梯形圖,其排列次序不同,執(zhí)行的結(jié)果也不同。另外,采用掃描用戶程序的運(yùn)行結(jié)果與繼電器控制裝置的硬邏輯并行運(yùn)行的結(jié)果有所區(qū)別。當(dāng)然,如果掃描周期所占用的時(shí)間對(duì)整個(gè)運(yùn)行來(lái)說(shuō)可以忽略,那么二者之間就沒(méi)有什么區(qū)別了。
一般來(lái)說(shuō),PLC的掃描周期包括自診斷、通訊等,如下圖所示,即一個(gè)掃描周期等于自診斷、通訊、輸入采樣、用戶程序執(zhí)行、輸出刷新等所有時(shí)間的總和。
可編程控制器,英文稱ProgrammableLogicController,簡(jiǎn)稱PLC。PLC是基于電子計(jì)算機(jī),且適用于工業(yè)現(xiàn)場(chǎng)工作的電控制器。它源于繼電控制裝置,但它不像繼電裝置那樣,通過(guò)電路的物理過(guò)程實(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í)性,以及信息的使用等問(wèn)題。特別要考慮怎么適應(yīng)于工業(yè)環(huán)境,如便于安裝,抗干擾等問(wèn)題。
1.1實(shí)現(xiàn)控制要點(diǎn)
輸入輸出信息變換、可靠物理實(shí)現(xiàn),可以說(shuō)是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用電路。但由于它們都是由高度集成化的電路組成的,所以,所占體積并不大。
輸入電路時(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)存交換信息通過(guò)計(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ù)及邏輯處理問(wèn)題。由于PLC有強(qiáng)大的指令系統(tǒng),編寫出滿足這個(gè)要求的程序是完全可能的,而且也是較為容易的。
1.2實(shí)現(xiàn)控制過(guò)程
簡(jiǎn)單地說(shuō),PLC實(shí)現(xiàn)控制的過(guò)程一般是:
輸入刷新–再運(yùn)行用戶程序–再輸出刷新–再輸入刷新–再運(yùn)行用戶程序–再輸出刷新……永不停止地循環(huán)反復(fù)地進(jìn)行著。
有了上述過(guò)程,用PLC實(shí)現(xiàn)控制顯然是可能的。因?yàn)椋河辛溯斎胨⑿拢砂演斎腚娐繁O(jiān)控得到的輸入信息存入PLC的輸入映射區(qū);經(jīng)運(yùn)行用戶程序,輸出映射區(qū)將得到變換后的信息;再經(jīng)輸出刷新,輸出鎖存器將反映輸出映射區(qū)的狀態(tài),并通過(guò)輸出電路產(chǎn)生相應(yīng)的輸出。又由于這個(gè)過(guò)程是永不停止地循環(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所示的過(guò)程是簡(jiǎn)化的過(guò)程,實(shí)際的PLC工作過(guò)程還要復(fù)雜些。除了I/O刷新及運(yùn)行用戶程序,還要做些公共處理工作。公共處理工作有:循環(huán)時(shí)間監(jiān)控、外設(shè)服務(wù)及通訊處理等。
監(jiān)控循環(huán)時(shí)間的目的是避免”死循環(huán)”,避免程序不能反復(fù)不斷地重復(fù)執(zhí)行。辦法是用”看門狗”(Watchingdog)。只要循環(huán)超時(shí),它可報(bào)警,或作相應(yīng)處理.
外設(shè)服務(wù)是讓PLC可接受編程器對(duì)它的操作,或通過(guò)接口向輸出設(shè)備如打印機(jī)輸出數(shù)據(jù).通訊處理是實(shí)現(xiàn)PLC與PLC,或PLC與計(jì)算機(jī),或PLC與其它工業(yè)控制裝置或智能部件間信息交換的。這也是增強(qiáng)PLC控制能力的需要。也就是說(shuō),實(shí)際的PLC工作過(guò)程總是:公共處理–I/O刷新–運(yùn)行用戶程序–再公共處理–……反復(fù)不停地重復(fù)著。
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)行原來(lái)程序。哪個(gè)控制需要處理,哪個(gè)就去申請(qǐng)中斷。哪個(gè)不需處理,將不被理睬。顯然,中斷方式與掃描方式是不同的。
在中斷方式下,計(jì)算機(jī)能得到充分利用,緊急的任務(wù)也能得到及時(shí)處理。但是,如果同時(shí)來(lái)了幾個(gè)都要處理的任務(wù)該怎么辦呢??jī)?yōu)先級(jí)高的還好辦,低的呢?可能會(huì)出現(xiàn)照顧不到之處。所以,中斷方式不大適合于工作現(xiàn)場(chǎng)的日常使用。
但是,PLC在用掃描方式為主的情況下,也不排斥中斷方式。即大量控制都用掃描方式,個(gè)別急需的處理,允許中斷這個(gè)掃描運(yùn)行的程序,轉(zhuǎn)而去處理它。這樣,可做到所有的控制都能照顧到,個(gè)別應(yīng)急的也能進(jìn)行處理。
PLC的實(shí)際工作過(guò)程比這里講的還要復(fù)雜一些,分析其基本原理,也還有一些理論問(wèn)題。有關(guān)人員如果能把上面介紹的入出變換、物理實(shí)現(xiàn)–信息處理、I/O電路–空間、時(shí)間關(guān)系–掃描方式并輔以中斷方式,作為一種思路加以研究,弄清了它,也就好理解PLC是怎樣去實(shí)現(xiàn)控制的,也就好把握住PLC基本原理的要點(diǎn)了。
智通教育(www.aobo962.com)致力于PLC編程培訓(xùn)、開設(shè)西門子PLC培訓(xùn)班,PLC學(xué)習(xí)班、PLC培訓(xùn)機(jī)構(gòu),以及工業(yè)機(jī)器人應(yīng)用工程師、工業(yè)機(jī)器人集成工程師、智能制造全能工程師等智能制造行業(yè)課程。詳情請(qǐng)聯(lián)系:0769-8707-8088