可編程控制器(Programmable Controller)是計(jì)算機(jī)家族中的一員,是為 工業(yè)控制應(yīng)用而設(shè)計(jì)制造的。早期的可編程控制器稱作可編程邏輯控制器(Programmable Logic Controller),簡(jiǎn)稱PLC,它主要用來代替繼電器實(shí)現(xiàn)邏輯控制。隨著技術(shù)的發(fā)展,這種裝置的功能已經(jīng)大大超過了邏輯控制的范圍,因此,今天這種裝置稱作可編程控制器,簡(jiǎn)稱PC。但是為了避免與個(gè)人計(jì)算機(jī)(Personal Computer)的簡(jiǎn)稱混淆,所以將可編程控制器簡(jiǎn)稱PLC,PLC自1966年出現(xiàn),美國(guó),日本,德國(guó)的可編程控制器質(zhì)量?jī)?yōu)良,功能強(qiáng)大。
PLC實(shí)質(zhì)是一種專用于工業(yè)控制的計(jì)算機(jī),其硬件結(jié)構(gòu)基本上與微型計(jì)算機(jī)相同,基本構(gòu)成為:
a、電源
PLC的電源在整個(gè)系統(tǒng)中起著十分重要的作用。如果沒有一個(gè)良好的、可靠的電源系統(tǒng)是無法正常工作的,因此PLC的制造商對(duì)電源的設(shè)計(jì)和制造也十分重視。一般交流電壓波動(dòng)在+10%(+15%)范圍內(nèi),可以不采取其它措施而將PLC直接連接到交流電網(wǎng)上去
b. 中央處理單元(CPU)
中央處理單元(CPU)是PLC的控制中樞。它按照PLC系統(tǒng)程序賦予的功能接收并存儲(chǔ)從編程器鍵入的用戶程序和數(shù)據(jù);檢查電源、存儲(chǔ)器、I/O以及警戒定時(shí)器的狀態(tài),并能診斷用戶程序中的語法錯(cuò)誤。當(dāng)PLC投入運(yùn)行時(shí),首先它以掃描的方式接收現(xiàn)場(chǎng)各輸入裝置的狀態(tài)和數(shù)據(jù),并分別存入I/O映象區(qū),然后從用戶程序存儲(chǔ)器中逐條讀取用戶程序,經(jīng)過命令解釋后按指令的規(guī)定執(zhí)行邏輯或算數(shù)運(yùn)算的結(jié)果送入I/O映象區(qū)或數(shù)據(jù)寄存器內(nèi)。等所有的用戶程序執(zhí)行完畢之后,最后將I/O映象區(qū)的各輸出狀態(tài)或輸出寄存器內(nèi)的數(shù)據(jù)傳送到相應(yīng)的輸出裝置,如此循環(huán)運(yùn)行,直到停止運(yùn)行。
為了進(jìn)一步提高PLC的可靠性,近年來對(duì)大型PLC還采用雙CPU構(gòu)成冗余系統(tǒng),或采用三CPU的表決式系統(tǒng)。這樣,即使某個(gè)CPU出現(xiàn)故障,整個(gè)系統(tǒng)仍能正常運(yùn)行。
c、存儲(chǔ)器
存放系統(tǒng)軟件的存儲(chǔ)器稱為系統(tǒng)程序存儲(chǔ)器。
存放應(yīng)用軟件的存儲(chǔ)器稱為用戶程序存儲(chǔ)器。
d、輸入輸出接口電路
1、現(xiàn)場(chǎng)輸入接口電路由光耦合電路和微機(jī)的輸入接口電路,作用是PLC與現(xiàn)場(chǎng)控制的接口界面的輸入通道。
2、現(xiàn)場(chǎng)輸出接口電路由輸出數(shù)據(jù)寄存器、選通電路和中斷請(qǐng)求電路集成,作用PLC通過現(xiàn)場(chǎng)輸出接口電路向現(xiàn)場(chǎng)的執(zhí)行部件輸出相應(yīng)的控制信號(hào)。
e、功能模塊
如計(jì)數(shù)、定位等功能模塊
f、通信模塊
如以太網(wǎng)、RS485、Profibus-DP通訊模塊等
一. 掃描技術(shù)
當(dāng)PLC投入運(yùn)行后,其工作過程一般分為三個(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í)行過程中,只有輸入點(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ì)排在其上面的程序起作用。
在程序執(zhí)行的過程中如果使用立即I/O指令則可以直接存取I/O點(diǎn)。即使用I/O指令的話,輸入過程影像寄存器的值不會(huì)被更新,程序直接從I/O模塊取值,輸出過程影像寄存器會(huì)被立即更新,這跟立即輸入有些區(qū)別。
(三) 輸出刷新階段
當(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的真正輸出。
雖然PLC所使用之階梯圖程式中往往使用到許多繼電器、計(jì)時(shí)器與計(jì)數(shù)器等名稱,但PLC內(nèi)部并非實(shí)體上具有這些硬件,而是以內(nèi)存與程式編程方式做邏輯控制編輯,并借由輸出元件連接外部機(jī)械裝置做實(shí)體控制。因此能大大減少控制器所需之硬件空間。實(shí)際上PLC執(zhí)行階梯圖程式的運(yùn)作方式是逐行的先將階梯圖程式碼以掃描方式讀入CPU 中并最后執(zhí)行控制運(yùn)作。在整個(gè)的掃描過程包括三大步驟,“輸入狀態(tài)檢查”、“程式執(zhí)行”、“輸出狀態(tài)更新”說明如下:
步驟一“輸入狀態(tài)檢查”:PLC首先檢查輸入端元件所連接之各點(diǎn)開關(guān)或傳感器狀態(tài)(1 或0 代表開或關(guān)),并將其狀態(tài)寫入內(nèi)存中對(duì)應(yīng)之位置Xn。步驟二“程式執(zhí)行”:將階梯圖程式逐行取入CPU 中運(yùn)算,若程式執(zhí)行中需要輸入接點(diǎn)狀態(tài),CPU直接自內(nèi)存中查詢?nèi)〕觥]敵鼍€圈之運(yùn)算結(jié)果則存入內(nèi)存中對(duì)應(yīng)之位置,暫不反應(yīng)至輸出端Yn。步驟三“輸出狀態(tài)更新”:將步驟二中之輸出狀態(tài)更新至PLC輸出部接點(diǎn),并且重回步驟一。 此三步驟稱為PLC之掃描周期,而完成所需的時(shí)間稱為PLC 之反應(yīng)時(shí)間,PLC輸入訊號(hào)之時(shí)間若小于此反應(yīng)時(shí)間,則有誤讀的可能性。每次程式執(zhí)行后與下一次程式執(zhí)行前,輸出與輸入狀態(tài)會(huì)被更新一次,因此稱此種運(yùn)作方式為輸出輸入端“程式結(jié)束再生”。