PLC學習(一)——PLC基礎
前言: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顯示、列印和更強的通信聯網功能,可用于大規模程序控制系統或構成分布式網路控制系統,實作工廠自動化,
內容來源:
[1] 趙燕,徐漢斌.PLC——從原理到應用程式設計[M].上海:電子工業出版社,2013.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/373773.html
標籤:其他
上一篇:內網滲透隧道技術總結
