根據(jù)IEC標準,給PLC下的定義是:它是在工業(yè)環(huán)境中使用的數(shù)字操作的電子系統(tǒng),它使用可編程存儲器內(nèi)部儲存用戶設計的指令,這些指令用來實現(xiàn)特殊的功能,諸如邏輯運算、順序操作、定時、計數(shù)以及算術運算和通過數(shù)字或模擬輸入/輸出來控制各種類型的機械或過程。不論是PLC和與它有關的外部設備都設計成容易集成在一個工業(yè)控制系統(tǒng)內(nèi)以及容易應用所有計劃中的功能。由上述PLC的定義,可以看到PLC的許多特點,概括如下:
(1) 控制程序可變,具有很好的柔性 在生產(chǎn)工藝流程改變或生產(chǎn)設備更新的情況下,不必改變PLC的硬設備,只需改變程序就可滿足要求。因此,除單機控制外,PLC在柔性制造單元(FMC),柔性制造系統(tǒng)(FMS),以致工廠自動化(FA)中也被大量采用。
(2) 具有高度可靠性,適用于工業(yè)環(huán)境 PLC產(chǎn)品的平均故障間隔時間(MTBF)一般可達到5年以上,因此是一種高度可靠的工業(yè)產(chǎn)品,大大提高了生產(chǎn)設備的運行效率。PLC不要求專用設備的機房,這為工業(yè)現(xiàn)場的大量直接使用提供了方便。
(3) 功能完善 現(xiàn)代PLC具有數(shù)字和模擬量輸入/輸出、邏輯和算術運算、定時、計數(shù)、順序控制、PID調(diào)節(jié)、各種智能模塊、遠程I/O模塊、通信、人-機對話,自診斷,記錄和圖形顯示、組態(tài)等功能。除了適用于離散型開關量控制系統(tǒng)外,現(xiàn)在也能應用于連續(xù)的流程控制系統(tǒng),從而使設備的控制水平大大提高。
(4) 易于掌握,便于維修 由于PLC使用編程器進行編程和監(jiān)控,使用人員只需掌握工程上通用的梯形圖語言(或語句表、流程圖)就可進行用戶程序的編制和測試。因此,即使不太懂得計算機的操作人員,也能掌握和使用PLC。也由于PLC有完善的自診斷功能,輸入/輸出均有明顯的指示,在線監(jiān)控軟件的功能很強,因此,很容易進行維修,能很快查找出故障的原因。PLC本身高可靠性也保證了故障的幾率是很低的。
(5) 體積小,省電 與傳統(tǒng)的控制系統(tǒng)相比,PLC的體積很小,一臺收錄機一樣大小的PLC具有相當于三個1.8m高繼電器控制柜的功能。PLC消耗的功能只是傳統(tǒng)控制系統(tǒng)的三分之一至二分之一。
(6) 價格低廉 隨著集成電路芯片功能的提高,價格的降低,可編程控制器硬件的價格也一直不斷地在下降。根據(jù)最近市場統(tǒng)計,國外小型PLC平均每一個I/O點為14~20美元,中型PLC折算每個I/O點為20~35美元,大型PLC折算每個I/O點為40~80美元。雖然PLC的軟件價格在系統(tǒng)中所占的比重在不斷提高,但由于縮短了整個工程項目的設計,編程和投運費用以及縮短了整個投運周期,因此,使用PLC的總造價是低廉的,而且還呈不斷下降的趨勢。
◆ PLC的硬件體系
? 硬件結構
圖1表示PLC及其與外部設備的聯(lián)系框圖。
圖1 PLC及其外部設備聯(lián)系框圖
PLC控制的對象是“過程”或“機械”,由傳感器采集“過程”或“機械”的信息,送入PLC的輸入單元,經(jīng)PLC的中央處理單元處理,結果通過PLC的輸出單元驅動執(zhí)行機構,由執(zhí)行機構控制“過程”或“機械”達到預期的目的。圖1還表示了PLC的外部設備接口與外部設備之間的聯(lián)系。主要的外部設備有編程器(編程器上配置有顯示單元)、 HMI人-機接口、并行打印機、其它PLC或上位計算機。
從原理上講,PLC是計算機的一種,因此,它也由中央處理器、中央存儲器和接口三部分組成。
圖2 PLC的CPU結構框圖
圖2表示了PLC的中央處理單元(CPU)的結構。中央處理單元的核心是中央處理器。
中央處理器包含指令計數(shù)器、指令存儲器和地址寄存器、變址和基址寄存器、累加器和通用寄存器。
除了中央處理器外,還有中央存儲器,中央存儲器劃分成數(shù)據(jù)、程序和監(jiān)控三部分。數(shù)據(jù)部分包含有輸入變量、中間變量和輸出變量的映像區(qū)。監(jiān)控部分存放PLC的監(jiān)控程序,用戶程序區(qū)存放若干個用戶的應用程序塊。
? CPU和中央存儲器
PLC中的CPU是用來完成對某些不同類型的信息進行操作的單元。這些操作包括信息的轉移,信息的轉換(碼的轉換、數(shù)字的轉換),計算,同步,譯碼等。
中央處理器(Processor)是CPU中的智能機構(電腦)。它是用來控制程序指令的操作的,處理器本身由若干種寄存器組成。寄存器是由邏輯電路組成的高速半導體存儲器(暫存器),它用來暫時存放數(shù)據(jù),外部信息或中間運算結果和對它們進行操作。主要的寄存器有:
(1) 內(nèi)部寄存器 只能在計算機內(nèi)部進行存取,允許內(nèi)部的管理和控制操作。
(2) 程序計數(shù)器 有時也稱做“程序指針”,它始終包含有當前正在執(zhí)行指令的地址,在每一條指令執(zhí)行結束時,指針的值將被修改,自動地加1。只有在執(zhí)行跳轉指令時是例外。指針將被放置新的下一條執(zhí)行指令的地址。
(3) 指令存儲器 由“程序指針”所指向的中央存儲器中的當前指令的操作碼(Operation Code),被送至指令寄存器。經(jīng)過譯碼,在時鐘脈沖控制下,指令寄存器將執(zhí)行指令:從中央存儲器轉移信息到通用寄存器或取相反過程。對于執(zhí)行的是跳轉指令,如果命令是正向跳動n,則執(zhí)行指令的結果是強迫程序計數(shù)器增量加n。
(4) 地址寄存器 在指令寄存器取得操作碼(OC)的同時,地址寄存器取得同一指令的操作數(shù)地址(Operand Address)。在一般情況下,地址寄存器涉及的就是操作數(shù)的地址,但在轉移指令的情況下,由它決定信息轉移的途徑。例如,在執(zhí)行向前跳動+n的指令時,地址寄存器就包含數(shù)據(jù)值+n,執(zhí)行指令是將程序計數(shù)器的內(nèi)容與地址寄存器的內(nèi)容相加,再送回程序計數(shù)器。
(5) 狀態(tài)寄存器 是用來設置狀態(tài)位的。某個狀態(tài)位決定于處理器對某一事件將予以考慮或不予考慮,例如,對中斷優(yōu)先權的禁止或屏蔽。
(6) 通用寄存器 是用戶在編制應用程序時可以使用的一組寄存器,它們中的某些是非常特殊的,另一些則是一般的寄存器,它的數(shù)量和組織取決于PLC設計者的選擇。
(7) 變址寄存器 包含一潛在的基地址,當采用變址尋址方式時,是將預先存放在變址寄存器中的絕對基地址,與地址寄存器中存放的操作數(shù)地址(OA)部分相加,得到指令中所要存取信息的地址。這樣一種技術可以擴展尋址的范圍。與地址寄存器有限的地址長度相比可擴展至更大的范圍,但執(zhí)行指令時間較長。
(8) 累加器寄存器 它是用來執(zhí)行CPU的指令的,對PLC來說,這些指令典型的有按“位”執(zhí)行和按“字”執(zhí)行。對某些PLC類型,只有單一的累加器,“位”是作為“字”的一個位來處理的,對另一些PLC系統(tǒng),邏輯運算和數(shù)字運算是分開在不同的累加器進行的。
處理PLC系統(tǒng)信息的存儲器通常分為兩大部分:中央存儲器和大容量存儲器(硬盤、軟磁盤、磁帶、Flash memory等)。大容量存儲器一般作為PLC的外部設備。中央存儲器有很高的存取速度,但由于價格較昂貴,限制了它的使用容量;大容量存儲器雖然存取速度較慢,但由于價格相對便宜,適于儲存大容量數(shù)據(jù)。
中央存儲器在PLC的內(nèi)部,一般由三部分組成。由于對存取速度有要求,所以都采用半導體存儲器,常用的半導體存儲器有靜態(tài)RAM、EPROM和E2PROM。
(1) 中央存儲器的數(shù)據(jù)部分主要用作輸入變量、輸出變量、中間變量的映像區(qū),因為在PLC的運行過程中,這部分變量是不斷變化的,所以都是采用隨機存取存儲器(一般為靜態(tài)RAM)構成的。
(2) 監(jiān)控程序或操作系統(tǒng),是PLC設計者為了給用戶使用PLC提供方便,其功能是對PLC及其外設進行資源管理,同時使PLC的用戶編制應用程序時,可以使用級別較高的語言(如語句表、梯形圖或SFC控制圖形語言等)。一般監(jiān)控程序或操作系統(tǒng)都是駐留在中央存儲器中的,例如,固化在中央存儲器的EPROM上,有一些PLC使用較大的操作系統(tǒng),則除了駐留在中央存儲器上的軟件外,還有一部分軟件放在外設的大容量存儲器中。
(3) 中央存儲器中的用戶應用軟件是用戶針對不同的控制任務,用PLC編程語言編制的應用程序,放置在中央存儲器的用戶存儲器區(qū)。有些用戶存儲區(qū)可以放置若干個應用程序塊。由于應用程序在調(diào)試過程中要不斷修改,又希望在掉電或正常關機時,這部分程序不會丟失,因此,在中央存儲器中常用帶后備電池的CMOS RAM作用戶存儲器區(qū),也可以用E2PROM存放應用程序。如果應用程序經(jīng)調(diào)試后,不再需要改變,這部分程序可以固化在EPROM中。
在CPU與中央存儲器交換信息的過程中,很重要的一點是存儲器的尋址,發(fā)展尋址技術的目的是在鍵入數(shù)據(jù)時增加靈活性,使更為安全和得到更大地址范圍。PLC系統(tǒng)中使用的尋址方式有以下幾種:
(1) 立即數(shù)尋址 這種尋址方式的操作數(shù)直接放置在指令的地址場中。這種尋址方法,對簡單的計算,例如,計算用戶程序的地址是很方便的。
(2) 相對尋址 在指令的地址場中包含的是正的或負的整數(shù),用它與現(xiàn)行地址(例如,程序計數(shù)器的值)代數(shù)相加,得到指令的操作數(shù)的有效地址。這種尋址方式在執(zhí)行轉移指令,條件轉移指令或循環(huán)指令(LOOP)時是非常有用的。
(3) 間接尋址 這種尋址方式的指令的地址場包含的是操作數(shù)所在單元的地址(即指令的操作數(shù)有效地址的地址),用這種尋址方式,可以擴展可尋址存儲器的范圍。
(4) 變址或基址尋址 在變址寄存器或通用寄存器中,預先放置一基地址,將此與指令操作數(shù)地址場的內(nèi)容(偏移量)代數(shù)相加得到指令操作數(shù)的有效地址。
(5) 組合尋址 上面所提到的某些尋址方式可組合起來形成新的尋址方式,例如,相對變址尋址等。
圖3表示了與尋址方法有關的指令的結構。
圖3 與PLC的尋址方式有關的指令結構
在中央存儲器中,還有一種特殊的應用區(qū),稱為“堆棧”。“堆棧”是中央存儲器中的一個特殊區(qū)域,用來存放程序執(zhí)行過程中的結果或者在子程序調(diào)用過程中用來保護“現(xiàn)場”信息,以便子程序結束時能正確地返回。在PLC中使用的“堆棧”主要有兩種形式:一種稱后進先出堆棧(LIFO-Last In First Out),另一種稱先進先出堆棧(FIFO-First In First Out)。圖4表示了這兩種“堆棧”在進行棧操作時的數(shù)據(jù)位置。
圖4 LIFO和FIFO兩種堆棧的操作方式說明