2- PLC的工作原理
最初研制生產(chǎn)的PLC主要用于代替?zhèn)鹘y(tǒng)的由繼電器接觸器構(gòu)成的控制裝置,但這兩者的運(yùn)行方式是不相同的:
(1)繼電器控制裝置采用硬邏輯并行運(yùn)行的方式,即如果這個(gè)繼電器的線(xiàn)圈通電或斷電,該繼電器所有的觸點(diǎn)(包括其常開(kāi)或常閉觸點(diǎn))在繼電器控制線(xiàn)路的哪個(gè)位置上都會(huì)立即同時(shí)動(dòng)作。
(2)PLC是采用“順序掃描,不斷循環(huán)”的方式進(jìn)行工作的。即在PLC運(yùn)行時(shí),CPU根據(jù)用戶(hù)按控制要求編制好并存于用戶(hù)存儲(chǔ)器中的程序,按指令步序號(hào)(或地址號(hào))作周期性循環(huán)掃描,從第一條指令開(kāi)始逐條順序執(zhí)行用戶(hù)程序,直至程序結(jié)束。然后重新返回第一條指令,開(kāi)始下一輪新的掃描。在每次掃描過(guò)程中,還要完成對(duì)輸入信號(hào)的采樣和對(duì)輸出狀態(tài)的刷新等工作。如果一個(gè)輸出線(xiàn)圈或邏輯線(xiàn)圈被接通或斷開(kāi),該線(xiàn)圈的所有觸點(diǎn)(包括其常開(kāi)或常閉觸點(diǎn))不會(huì)立即動(dòng)作,必須等掃描到該觸點(diǎn)時(shí)才會(huì)動(dòng)作。
為了消除二者之間由于運(yùn)行方式不同而造成的差異,考慮到繼電器控制裝置各類(lèi)觸點(diǎn)的動(dòng)作時(shí)間一般在100ms以上,而PLC掃描用戶(hù)程序的時(shí)間一般均小于100ms,因此,PLC采用了一種不同于一般微型計(jì)算機(jī)的運(yùn)行方式---掃描技術(shù)。這樣在對(duì)于I/O響應(yīng)要求不高的場(chǎng)合,PLC與繼電器控制裝置的處理結(jié)果上就沒(méi)有什么區(qū)別了。
1、掃描技術(shù)
當(dāng)PLC投入運(yùn)行后,其工作過(guò)程一般分為三個(gè)階段,即輸入采樣、用戶(hù)程序執(zhí)行和輸出刷新三個(gè)階段。完成上述三個(gè)階段稱(chēng)作一個(gè)掃描周期。在整個(gè)運(yùn)行期間,PLC的CPU以一定的掃描速度重復(fù)執(zhí)行上述三個(gè)階段,如圖1-3。
(1)輸入采樣階段
CPU將全部現(xiàn)場(chǎng)輸入信號(hào),如按鈕、限位開(kāi)關(guān)、速度繼電器的通斷狀態(tài)以?huà)呙璺绞揭来蔚刈x入所有輸入狀態(tài)和數(shù)據(jù),并將它們存入I/O映象區(qū)中的相應(yīng)得單元內(nèi),這一過(guò)程稱(chēng)為輸入采樣。輸入采樣結(jié)束后進(jìn)入程序執(zhí)行階段后,期間即使輸入信號(hào)發(fā)生變化,輸入映像寄存器內(nèi)數(shù)據(jù)不再隨之變化,直至一個(gè)掃描循環(huán)結(jié)束,下一次輸入采樣時(shí)才會(huì)更新。因此,如果輸入是脈沖信號(hào),則該脈沖信號(hào)的寬度必須大于一個(gè)掃描周期,才能保證在任何情況下,該輸入均能被讀入。
(2)用戶(hù)程序執(zhí)行階段
在用戶(hù)程序執(zhí)行階段,若不出現(xiàn)中斷或跳轉(zhuǎn)指令,PLC總是按由上而下的順序依次地掃描用戶(hù)程序(梯形圖)。在掃描每一條梯形圖時(shí),又總是先掃描梯形圖左邊的由各觸點(diǎn)構(gòu)成的控制線(xiàn)路,并按先左后右、先上后下的順序?qū)τ捎|點(diǎn)構(gòu)成的控制線(xiàn)路進(jìn)行邏輯運(yùn)算,然后根據(jù)邏輯運(yùn)算的結(jié)果,刷新該邏輯線(xiàn)圈在系統(tǒng)RAM存儲(chǔ)區(qū)中對(duì)應(yīng)位的狀態(tài);或者刷新該輸出線(xiàn)圈在I/O映象區(qū)中對(duì)應(yīng)位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。
即,在用戶(hù)程序執(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ì)排在下面的凡是用到這些線(xiàn)圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線(xiàn)圈的狀態(tài)或數(shù)據(jù)只能到下一個(gè)掃描周期才能對(duì)排在其上面的程序起作用。
在程序執(zhí)行的過(guò)程中如果使用立即I/O指令則可以直接存取I/O點(diǎn)。即使用I/O指令的話(huà),輸入過(guò)程影像寄存器的值不會(huì)被更新,程序直接從I/O模塊取值,輸出過(guò)程影像寄存器會(huì)被立即更新,這跟立即輸入有些區(qū)別。
(3)輸出刷新階段
當(dāng)掃描用戶(hù)程序結(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的真正輸出。