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