前言:PLC的前世今生
可編程邏輯控制器(Programmable Logic Controller)通常被稱為工廠級別的計算機,可直接面向生產一線的設備,一直在生產流程的控制領域和離散制造業的機電設備中長盛不衰。
20世紀60年代以前的100多年里,對工業生產或電氣設備進行控制的裝置是繼電器控制電路。 繼電器控制電路是利用電器元件的機械觸點的串、并聯組合成邏輯控制電路。 由于采用硬線連接,連線多而復雜,因此對后繼的邏輯修改、增加功能都很困難。 而PLC則是在繼電器控制技術的基礎上融合計算機技術和現代通信技術發展起來的一項先進的控制技術。 PLC以微處理器為核心,用編寫的軟件程序進行邏輯控制、定時、計數和算術運算等,并通過數字量和模擬量的輸入/輸出(I/O)來控制各種生產過程和設備。 改變程序, 便可改變邏輯,連線少、體積小、可靠方便,因而得到了快速的發展和應用。
繼電器控制電路
繼電器控制電路是指用導線將繼電器類元件的觸點(如按鈕、開關或繼電器、定時器、計數器的觸點)按控制要求連接成控制用電設備工作的電路。 控制電路中的繼電器類元件的觸點及這些觸點與用電設備的不同連接,構成了觸點與用電設備之間的不同邏輯關系,可以實現不同的邏輯控制。
繼電器控制電路分為觸點控制電路及繼電器控制電路兩類。
觸點控制電路,是指用手動控制器觸點(如開關、按鈕)的通、斷,去控制用電設備的電路。 用觸點控制電路可以實現一些常見的邏輯關系,如與、或等。 要實現更復雜的邏輯關系或要用小功率開關及觸點去控制大功率動力設備的電路就得采用繼電器控制電路了。
繼電器控制電路是除了手動控制器觸點(如開關、按鈕),還使用繼電器觸點的電路,其控制對象既有用電設備,又有電磁繼電器的自身線圈。
但繼電器控制電路有以下缺點:
觸點間用導線連接,容易形成故障點,使可靠性降低,維護費增高。
控制電路中的繼電器類元件都是分立元件,體積大,不便實現復雜邏輯關系的控制。
控制電路沒有柔性。 控制要求改變時,電路也要重新設計制造,從而推高用戶的生產費用。
"GM十條"與PLC
20世紀60年代以后,美國汽車制造業為適應市場需求,不斷更新汽車產品,要求及時改變相應的加工生產線。 汽車生產線上的繼電器控制系統就需要經常重新設計裝備,這不僅費用高,而且新系統的制造和接線也非常費時,延長了汽車的設計生產周期。 在這種情況下,采用傳統的繼電器控制就顯出許多不足。
1968年美國通用汽車(GM)公司首次公開招標,要求制造商為其裝配線提供一種新型的通用程序控制器,并提出了著名的10項招標指標,即奠定了PLC基本雛形的著名的“GM十條”:
編程簡單,可在現場修改程序;
維護方便,最好是插件式;
可靠性高于繼電器控制柜;
體積小于繼電器控制柜;
可將數據直接輸入管理計算機;
在成本上可與繼電器控制器競爭;
輸入可以是交流115V;
輸出為交流115V、2A以上,能直接驅動電磁閥;
在擴展時,原有系統只需要很小變更;
用戶程序儲存器容量至少能擴展到4kW
1969年,美國數字設備公司(DEC)根據這10項技術指標的要求研制出了第1臺可編程邏輯控制器——PDP-14,并成功地應用在GM公司的生產線上。
1971年,日本引進了這項技術,并開始生產自己的PLC。 1973年,歐洲一些國家也生產出自己的PLC。 1974年,我國開始了PLC技術的研究,并在1977年研制出第一臺具有實用價值的PLC。
在這一時期,PLC主要用于順序控制。 隨著半導體技術、微電子技術及微型計算機技術的發展,到了20世紀70年代中期以后,PLC廣泛采用微處理器作為中央處理器,并且在外圍的輸入/輸出(I/O)電路中逐漸使用了大規模和超大規模的集成電路,用集成電路的存儲器代替磁芯存儲器,把微型計算機技術結合到PLC中,使得PLC實現了更大規模的集成化,工作更為可靠,更能適應工業環境, 而且柔性更強,同時成本也大幅度地降了下來,從而使PLC進入了工業實用階段。
1980年,美國電氣制造商協會(NEMA)將其正式命名為可編程控制器(Programmable Controller,PC),為與PC(Personal Computer)加以區別,常把可編程控制器稱為PLC(Programmable Logic Controller)。
1987年國際電工委員會(IEC)頒布的“可編程控制器標準草案”中對PLC做了如下的定義:“可編程控制器是一種數字運算操作的電子系統,專為在工業環境下應用而設計。 它采用了可編程序的存儲器,用來在其內部存儲程序,執行邏輯運算、順序控制、定時、計數與算術操作等,并通過數字式和模擬式的輸入和輸出,控制各種類型的機械或生產過程。 可編程控制器及其有關外圍設備,都應按易于與工業控制系統連成一個整體,易于擴充其功能的原則設計”。
連接式編程系統與存儲式編程系統
在一個繼電器控制系統中,要完成一項邏輯控制功能,支持控制系統的“程序”由各分立元件(繼電器、定時器、計數器等)點到點之間布線連接來實現,這是一種 連接式編程系統 。 如果元件是串聯,那就是一個“與”邏輯; 如要變為“或”邏輯,兩個觸點的串聯電路必須重新布線,改為并聯電路以適應控制程序的變化。 所以,繼電器控制系統也稱為連接式編程控制系統。
如果控制邏輯是編程器預先寫好的“程序”并存放在存儲器中,線圈的接通或斷開都是由程序決定的,與控制器的結構和布線無關,這種控制系統稱為 存儲式編程系統 。 這樣就可以使用標準的控制器,將生產過程的開關、按鈕、各種傳感器(稱為輸入設備)和電氣設備等執行機構(稱為輸出設備)分別與控制器的端子相連。 如果需改變控制功能,只要通過編程器改變存儲器中的程序,外部的連線不需要做任何改變,因此,PLC就是存儲式編程的控制器。
PLC的組成單元
PLC比一般計算機具有更強的與工業過程相連接的I/O接口,具有更適用于控制要求的編程語言和更適應于工業環境的抗干擾性能。
PLC基本單元
PLC主機(也稱基本單元)由中央處理器(CPU)、存儲器、輸入/輸出接口(I/O接口)、通信接口、擴展接口、外圍設備接口和電源等部分組成。 而PLC控制系統則由PLC主機、輸入設備、輸出設備組成。
中央處理器
CPU是PLC的核心部件,是PLC的運算和控制中心,PLC的工作過程都是在CPU的統一指揮和協調下進行的。 CPU由微處理器和控制器組成,可以實現邏輯運算和數學運算,協調控制系統內部各部分的工作。
PLC常用的CPU有通用微處理器、單片機和位片式微處理器。 通用微處理器按其處理數據的位數可分為4位、8位、16位和32位等。 PLC大多用8位和16位微處理器。
控制器的作用是控制整個微處理器的各個部件有條不紊地進行工作,其基本功能就是從內存中讀取指令和執行指令。 控制器接口電路是微處理器與主機內部其他單元進行聯系的部件,主要有數據緩沖、單元選擇、信號匹配、中斷管理等功能。 微處理器通過它來實現與各個單元之間的可靠的信息交換和最佳的時序配合。
存儲器
存儲器是PLC存放系統程序、用戶程序和運行數據的單元。 PLC的存儲器由系統程序存儲器和用戶程序存儲器兩部分組成。
系統程序存儲器是PLC用于存放系統程序如指令(軟件)等內容的部件,這部分存儲器用戶不能訪問。
用戶程序存儲器是為用戶程序提供存儲的區域。 用戶程序存儲器容量的大小,決定了用戶程序的大小和復雜程度,從而決定了用戶程序所能完成的功能和任務的大小。 用戶程序存儲器的容量一般以字節為單位。 小型PLC的用戶程序存儲器容量在1KB左右,典型PLC的用戶程序存儲器容量可達數兆字節(MB)。 PLC的用戶存儲區一般包括幾個部分,每一部分都有特定的功能和用途。
PLC的存儲器主要包括以下幾種類型:
只讀存儲器(ROM)
可編程只讀存儲器(PROM)
可擦除可編程只讀存儲器(EPROM)
電可擦除可編程只讀存儲器(EEPROM)
隨機存取存儲器(RAM)
I/O接口單元
I/O接口單元通常也稱I/O接口電路或I/O模塊,是PLC與工業過程控制現場之間的連接部件。 PLC通過輸入接口能夠得到生產過程的各種參數,并向PLC提供開關信號量,經過處理后,變成CPU能夠識別的信號。 PLC通過輸出接口將處理結果送給被控制對象,以實現對工業現場執行機構的控制目的。 由于外部輸入設備和輸出設備所需的信號電平是多種多樣的,而PLC內部CPU處理的信息只能是標準電平,所以I/O接口必須能實現這種轉換。
I/O擴展單元
I/O擴展單元用來擴展PLC的I/O點數。 當用戶所需要的I/O點數超過PLC基本單元的I/O點數時,可通過此接口用扁平電纜線將I/O擴展單元(不帶有CPU)與主機單元相連接,以增加PLC的I/O點數,適應控制系統的要求。 其他很多的智能單元也通過該接口與主機相連。 PLC的擴展能力主要受CPU尋址能力和主機驅動能力的限制。
通信接口
PLC配有各種通信接口,這些通信接口一般都帶有通信處理器。 PLC通過這些通信接口可與監視器、打印機、其他PLC、上位計算機等設備實現通信連接。
PLC的軟件組成
PLC的軟件系統由 系統程序 (又稱為系統軟件)和 用戶程序 (又稱應用軟件)兩大部分組成。
系統程序
系統程序由生產廠家設計,由管理程序(運行管理、生成用戶元件、內部自檢)、用戶指令解釋程序、編輯程序、功能子程序以及調用管理程序組成。 它和PLC的硬件系統相結合,完成系統診斷、命令解釋、功能子程序的調用管理、邏輯運算、通信及各種參數設定等功能,提供了PLC運行的平臺。
1)系統管理程序
系統管理程序主管整個PLC的運行,因此是管理程序中最重要最核心的部分,管理程序由以下三部分組成。
(1)運行管理:時間分配的運行管理,即控制可編程控制器輸入、輸出、運算、自檢及通信的時序。
(2)存儲空間的分配管理:主要是進行存儲空間的管理,即生成用戶環境,由它規定各種參數、程序的存放地址,將用戶使用的數據參數存儲地址轉化為實際的數據格式及物理存放地址。 它將有限的資源變為用戶可直接使用的很方便的元件。
(3)系統自檢程序:包括各種系統出錯檢驗、用戶程序語法檢驗、語句檢驗、警戒時鐘運行等。 在系統管理程序的控制下,整個PLC就能按要求正確地工作。
2) 用戶指令解釋程序 (包含編輯程序)
用戶指令解釋程序的主要任務是將用戶編程使用的PLC語言(如梯形圖語言)變為機器能懂的機器語言程序。 它將梯形圖程序逐條翻譯成相應的機器語言,然后通過CPU完成這一步的功能。 在實際操作中,為了節省內存,提高解釋速度,用戶程序是用內碼的形式存儲在PLC中的。 用戶程序變為內碼形式的這一步是由編輯程序實現的,它可以插入、刪除、檢查用戶程序,方便程序的調試。
3)標準模塊和系統調用
這部分主要由許多獨立的程序塊組成,各自能完成不同的功能,有些完成I/O,有些完成特殊運算等。
用戶程序
PLC的用戶程序是用戶利用PLC廠家提供的編程語言,根據工業現場的控制要求來設計編寫的程序。 它存儲在PLC的用戶存儲器中,用戶可以根據系統的不同控制要求,對原有的應用程序進行改寫或刪除。 用戶程序包括開關量邏輯控制程序、模擬量運算程序、閉環控制程序和操作站系統應用程序等。
PLC的控制工作過程
PLC的循環掃描與中斷
從時間進程上看,PLC采用分時操作原理,一個時刻執行一個操作指令。 隨著時間推移,一個操作一個操作地順序進行。 這種分時操作進程稱做CPU對程序的“ 掃描 ”。 當PLC開始上電運行時,首先清除I/O存儲單元的內容,然后進行自診斷,確認正常后開始掃描。
PLC的“掃描”過程分為三個階段:
1)輸入采樣階段
輸入接口電路時刻監視著輸入點的通、斷狀態。 CPU執行程序前首先將輸入設備的通、斷信息通過輸入接口電路采集進來,轉變成PLC的CPU能接受的標準電平信號——輸入設備的“通”狀態存于存儲單元中就是“1”,“斷”狀態存于存儲單元中就是“0”。 此狀態暫存于PLC的輸入映像區(暫存器)中。 每一輸入點都有一個與其對應的輸入暫存器。 完成輸入端刷新工作后,轉入下一步工作過程,即程序執行階段。
2)程序執行階段
對用戶的控制程序,CPU從第一條指令開始執行,并將相應的邏輯運算結果存入對應的內部輔助寄存器和輸出狀態鎖存器。 當最后一條控制程序執行完畢后,即轉入輸出刷新階段。
3)輸出刷新階段
PLC的CPU從輸入映像區中讀取輸入信息并帶入到程序中解算運行,解算運行的結果通過輸出接口電路控制輸出設備的通、斷運行。
輸出接口電路有輸出鎖存器。 它有高、低電位兩個狀態,并可鎖存。 同時,它還有相應的物理電路,可把這個高、低電位狀態傳送給輸出點(高電位使輸出回路接通,低電位使輸出回路斷開)。 每一輸出點都有一個與其相對應的輸出鎖存器。
在中斷方式下,需處理的控制先請求中斷,被響應后,PLC的CPU停止正在運行的程序,轉而去處理有關中斷服務程序。 待處理完中斷,又返回來運行原來的程序。
通過掃描與中斷,大量控制都用掃描方式處理,個別緊急的用中斷處理,計算機資源能得到充分利用。
PLC的工作狀態
PLC有兩種工作狀態,即運行(RUN)狀態與停止(STOP)狀態。 運行狀態是執行應用程序的狀態。 停止狀態一般用于程序的編制與修改。 在這兩個不同的工作狀態中,掃描過程所要完成的任務是不盡相同的。
在內部處理階段,PLC檢查CPU模塊內部的硬件是否正常,將監控定時器復位,以及完成一些其他內部工作。
在通信服務階段,PLC與其他帶微處理器的智能裝置通信,以更新編程器的顯示內容。
掃描周期和響應時間
PLC在運行狀態時,執行一次掃描操作所需的時間稱為 掃描周期 ,其典型值為0.5~100ms。
掃描周期的長短主要取決于以下幾個因素:CPU執行指令的速度,執行每條指令占用的時間; 程序中指令條數的多少。 指令執行所需的時間與用戶程序的長短、指令的種類和CPU執行速度有很大關系。
PLC的響應時間是指從PLC外部輸入信號發生變化的時刻起至由它控制的有關外部輸出信號發生變化的時刻之間的間隔,也叫做滯后時間(通常滯后時間為幾十毫秒)。 它由輸入電路的時間常數、輸出電路的時間常數、用戶語句的安排和指令的使用、PLC的循環掃描方式以及PLC對I/O的刷新方式等部分組成。 顯然,PLC的響應時間不為零,這種現象稱為I/O延遲響應或滯后現象。
響應時間可以分為最短響應時間和最長響應時間。
1)最短響應時間
如果在一個掃描周期剛結束之前收到一個輸入信號,在下一個掃描周期之前進入輸入采樣階段,這個輸入信號就被采樣,使輸入更新,這時響應時間最短。
2)最長響應時間
如果PLC收到一個輸入信號經輸入延遲后,剛好錯過I/O刷新的時間,在該掃描周期內這個輸入信號無效,要到下一個掃描周期輸入采樣階段才被讀入和更新,這時響應時間最長。
PLC的編程語言
PLC是專為工業控制而開發的控制器,主要使用者是企業電氣技術人員。 為了適應他們的傳統習慣和掌握能力,PLC沒有采用計算機編程語言,而采用面向控制過程、面向問題的“自然語言”進行編程。 國際電工委員會(IEC)1994年5月公布的IEC 61131-3《可編程控制器語言標準》詳細地說明了句法、語義和5種編程語言:梯形圖、功能塊圖、狀態轉移圖、指令語言、結構文本。
梯形圖(Ladder Diagram,LD)
梯形圖是使用得最多的圖形編程語言,其基本結構形式是將繼電器電路圖軟件化,即借用其線圈控制觸點的概念和形式。
1)能流
為了分析各個元器件間的輸入與輸出關系,在梯形圖中會假想一個概念電流,也稱做能流(power flow)。 一般認為電流是按照從左到右的方向流動的,這一方向與執行用戶指令順序時的邏輯運算關系是一致的,即左邊是“因”(條件),右邊是“果”(結果)。
2)母線
梯形圖兩側的垂直公共線稱為母線(bus bar)。 母線之間有能流從左向右流動。 通常梯形圖中的母線有左右兩條,左側的母線必須畫出,但右側母線可以省略不畫。
3)軟觸點
軟觸點的“1”或“0”狀態代表著相應繼電器觸點或線圈的接通或斷開。
PLC梯形圖中的編程元件中有部分元件沿用了繼電器這一名稱和功能,如輸入繼電器、輸出繼電器、內部輔助繼電器等。 PLC中的“軟輸入繼電器(軟觸點)”實質上是輸入信息映射區的一對應內存位(bit),“軟輸出繼電器(也稱為輸出線圈)”則是輸出映射區對應的內存位。
根據梯形圖中各觸點的狀態和邏輯關系,可以求出與圖中各線圈對應的編程元件的ON/OFF狀態,稱為梯形圖的 邏輯解算 。 邏輯解算是按梯形圖中從上到下、從左至右的順序進行的。 邏輯解算是根據輸入映像寄存器中的值,而不是根據邏輯解算瞬時外部輸入觸點的狀態來進行的。
梯形圖與其他程序設計語言有一一對應關系,便于相互的轉換和對程序的檢查。
功能塊圖(Function Black Diagram,FBD)
這是一種類似于數字邏輯門電路的編程語言,對于有數字電路基礎的讀者很容易掌握。 該編程語言用類似與門、或門的方框來表示邏輯運算關系。 方框的左側為邏輯運算的輸入變量,右側為輸出變量。 I/O端的小圓圈表示“非”運算,方框被“導線”連接在一起,信號自左向右流動。
狀態轉移圖(Sequential Function Chart,SFC)
它是用來編制順序控制程序的流程的。 它提供了一種組織程序的圖形方法,在狀態轉移圖中可以用別的語言嵌套編程。 狀態轉移圖主要用來描述開關量順序控制系統,根據它可以很容易地畫出順序控制梯形圖程序。
指令語言(Instruction List,IL)
PLC的指令是一種與微機的匯編語言中的指令相似的 助記符表達式 。 助記符表達式與梯形圖有一一對應關系,由指令組成的程序叫做指令(表)程序。 在用戶程序存儲器中,指令按步序號順序排列。
結構文本(Structured Text,ST)
結構文本是按IEC 61131-3標準創建的一種專用的 高級編程語言 。 它采用計算機的描述語句描述系統中各種變量之間的運算關系,完成所需的功能或操作。 與梯形圖相比,它能實現復雜的數學運算,編寫的程序非常簡潔和緊湊。 在大中型的可編程控制器系統中,常采用結構文本設計語言來描述控制系統中各個變量的關系。 它也被用于集散控制系統的編程和組態。 在進行PLC程序設計過程中,除了允許幾種編程語言供用戶使用外,標準還規定編程者可在同一程序中使用多種編程語言,這使編程者能選擇不同的語言來適應特殊的工作。
常見PLC類型
按I/O點數分類
PLC可按輸入/輸出點數分為微型機、小型機、中型機、大型機及超大型機。 大型機、超大型機控制規模大、功能強、性能高,價格也高; 而微型機、小型機控制規模小、功能差、性能也低些,但價格便宜。
1)微型機
I/O點數為小于64點的PLC。
2)小型PLC
I/O點數為 256點以下 ,用戶程序存儲容量小于8KB的為小型PLC。 它可以連接開關量和模擬量I/O模塊以及其他各種特殊功能模塊,能實現包括邏輯運算、計時、計數、算術運算、數據處理和傳送、通信聯網等功能。 例如,西門子公司的S7-200系列PLC,三菱公司的FX系列PLC都屬于小型機。
3)中型PLC
I/O點數在512~2048點之間的為中型PLC。 它除了具有小型機所能實現的功能外,還具有更強大的通信聯網功能、更豐富的指令系統、更大的內存容量和更快的掃描速度。 例如,西門子公司的S7-300系列PLC、三菱公司的A1S系列PLC都屬于中型機。
4)大型PLC
I/O點數為2048點以上的為大型PLC。它具有極強的軟件和硬件功能、自診斷功能、通信聯網功能,它可以構成三級通信網,實現工廠生產管理自動化。另外,大型PLC還可以采用3個CPU構成表決式系統,使機器具有更高的可靠性。例如,西門子公司的S7-400系列PLC、三菱公司的A3M、A3N系列PLC都屬于大型機。
按結構分類
PLC按其結構可分為一體式、模塊式及疊裝式3種。
1)一體式PLC
將CPU、I/O單元、電源、通信等部件集成到一個機殼內的PLC稱為一體式PLC。一體式PLC由不同I/O點數的基本單元(又稱主機)和擴展單元組成。基本單元內有CPU、I/O接口、與I/O擴展單元相連的擴展口以及與編程器相連的接口。擴展單元內只有I/O接口和電源等,沒有CPU。基本單元和擴展單元之間一般用扁平電纜連接。它還配備有特殊功能單元,如模擬量單元、位置控制單元等,使其功能得以擴展。一體式PLC一般都是小型機。
2)模塊式PLC
模塊式PLC是將PLC的每個工作單元都制成獨立的模塊,如CPU模塊、I/O模塊、電源模塊(有的含在CPU模塊中)以及各種功能模塊。模塊式PLC由母板(或框架)以及各種模塊組成。把這些模塊按控制系統需要選取后,安插到母板上,就構成了一個完整的PLC系統。這種模塊式PLC的特點是配置靈活,可根據需要選配不同規模的系統,而且裝配方便,便于擴展和維修。大、中型PLC一般采用模塊式結構。例如,西門子公司的S7-300系列、S7-400系列PLC都采用模塊式結構形式。
3)疊裝式PLC
將整體式和模塊式的特點結合起來,構成所謂的疊裝式PLC。疊裝式PLC將CPU模塊、電源模塊、通信模塊和一定數量的I/O單元集成到一個機殼內,如果集成的I/O模塊不夠使用,可以進行模塊擴展。其CPU、電源、I/O接口等也是各自獨立的模塊,但它們之間要靠電纜進行連接,并且各模塊可以一層層地疊裝。疊裝式PLC集一體式PLC與模塊式PLC優點于一身,它不但系統配置靈活,而且體積較小,安裝方便。西門子公司的S7-200系列PLC就是疊裝式的結構形式。
按功能分類
根據PLC所具有的功能不同,可將PLC分為低檔、中檔及高檔3類。
一般低檔機多為小型PLC,采用一體式結構;中檔機可為大、中、小型PLC,其中,小型PLC多采用一體式結構,中型和大型PLC采用模塊式結構。
1)低檔PLC
具有邏輯運算、定時、計數、移位以及自診斷、監控等基本功能,還可有少量的模擬量I/O、算術運算、數據傳送和比較、通信等功能。主要用于邏輯控制、順序控制或少量模擬量控制的單機控制系統。
2)中檔PLC
除具有低檔PLC的功能外,還具有較強的模擬量I/O、算術運算、數據傳送和比較、數制轉換、遠程I/O、子程序、通信聯網等功能。有些還可增設中斷控制、PID(比例、積分、微分)控制等功能,以適用于復雜控制系統。
3)高檔PLC
除具有中檔PLC的功能外,還增加了帶符號算術運算、矩陣運算、函數、表格、CRT顯示、打印和更強的通信聯網功能,可用于大規模過程控制系統或構成分布式網絡控制系統,實現工廠自動化。
評論
查看更多