PLC實(shí)訓(xùn)臺可編程控制器的概述
可編程序控制器,英文稱Programmable Logical Controller,簡稱PLC。它是一個(gè)以微處理器為核心的數(shù)字運(yùn)算操作的電子系統(tǒng)裝置,專為在工業(yè)現(xiàn)場應(yīng)用而設(shè)計(jì),它采用可編程序的存儲(chǔ)器,用以在其內(nèi)部存儲(chǔ)執(zhí)行邏輯運(yùn)算、順序控制、定時(shí)/計(jì)數(shù)和算術(shù)運(yùn)算等操作指令,并通過數(shù)字式或模擬式的輸入、輸出接口,控制各種類型的機(jī)械或生產(chǎn)過程。PLC是微機(jī)技術(shù)與傳統(tǒng)的繼電接觸控制技術(shù)相結(jié)合的產(chǎn)物,它克服了繼電接觸控制系統(tǒng)中的機(jī)械觸點(diǎn)的復(fù)雜接線、可靠性低、功耗高、通用性和靈活性差的缺點(diǎn),充分利用了微處理器的優(yōu)點(diǎn),又照顧到現(xiàn)場電氣操作維修人員的技能與習(xí)慣,特別是PLC的程序編制,不需要專門的計(jì)算機(jī)編程語言知識,而是采用了一套以繼電器梯形圖為基礎(chǔ)的簡單指令形式,使用戶程序編制形象、直觀、方便易學(xué);調(diào)試與查錯(cuò)也都很方便。用戶在購到所需的PLC后,只需按說明書的提示,做少量的接線和簡易的用戶程序的編制工作,就可靈活方便地將PLC應(yīng)用于生產(chǎn)實(shí)踐。
一、可編程控制器的基本結(jié)構(gòu)
可編程控制器主要由CPU模塊、輸入模塊、輸出模塊和編程器組成(如下圖所示)。
1、CPU模塊
CPU模塊又叫中央處理單元或控制器,它主要由微處理器(CPU)和存儲(chǔ)器組成。它用以運(yùn)行用戶程序、監(jiān)控輸入/輸出接口狀態(tài)、作出邏輯判斷和進(jìn)行數(shù)據(jù)處理,即讀取輸入變量、完成用戶指令規(guī)定的各種操作,將結(jié)果送到輸出端,并響應(yīng)外部設(shè)備(如編程器、電腦、打印機(jī)等)的請求以及進(jìn)行各種內(nèi)部判斷等。PLC的內(nèi)部存儲(chǔ)器有兩類,一類是系統(tǒng)程序存儲(chǔ)器,主要存放系統(tǒng)管理和監(jiān)控程序及對用戶程序作編譯處理的程序,系統(tǒng)程序已由廠家固定,用戶不能更改;另一類是用戶程序及數(shù)據(jù)存儲(chǔ)器,主要存放用戶編制的應(yīng)用程序及各種暫存數(shù)據(jù)和中間結(jié)果。
2、I/O模塊
I/O模塊是系統(tǒng)的眼、耳、手、腳,是聯(lián)系外部現(xiàn)場和CPU模塊的橋梁。輸入模塊用來接收和采集輸入信號。輸入信號有兩類:一類是從按鈕、選擇開關(guān)、數(shù)字撥碼開關(guān)、限位開關(guān)、接近開關(guān)、光電開關(guān)、壓力繼電器等來的開關(guān)量輸入信號;另一類是由電位器、熱電偶、測速發(fā)電機(jī)、各種變送器提供的連續(xù)變化的模擬輸入信號。
可編程序控制器通過輸出模塊控制接觸器、電磁閥、電磁鐵、調(diào)節(jié)閥、調(diào)速裝置等執(zhí)行器,可編程序控制器控制的另一類外部負(fù)載是指示燈、數(shù)字顯示裝置和報(bào)警裝置等。
3、電源
可編程序控制器一般使用220V交流電源。可編程序控制器內(nèi)部的直流穩(wěn)壓電源為各模塊內(nèi)的元件提供直流電壓。
4、編程器
編程器是PLC的外部編程設(shè)備,用戶可通過編程器輸入、檢查、修改、調(diào)試程序或監(jiān)示PLC的工作情況。也可以通過專用的編程電纜線將PLC與電腦聯(lián)接起來,并利用編程軟件進(jìn)行電腦編程和監(jiān)控。
5、輸入/輸出擴(kuò)展單元
I/O擴(kuò)展接口用于將擴(kuò)充外部輸入/輸出端子數(shù)的擴(kuò)展單元與基本單元(即主機(jī))連接在一起。
6、外部設(shè)備接口
此接口可將編程器、打印機(jī)、條碼掃描儀,變頻器等外部設(shè)備與主機(jī)相聯(lián),以完成相應(yīng)的操作。
本實(shí)驗(yàn)裝置(箱)選用的主機(jī)型號為歐姆龍CP-1H系列的主機(jī)。
二、可編程控制器的工作原理
可編程控制器有兩種基本的工作狀態(tài),即運(yùn)行(RUN)狀態(tài)與停止(STOP)狀態(tài)。在運(yùn)行狀態(tài),可編程序控制器通過執(zhí)行反映控制要求的用戶程序來實(shí)現(xiàn)控制功能。為了使可編程序控制器的 輸出及時(shí)地響應(yīng)隨時(shí)可能變化的輸入信號,用戶程序不是只執(zhí)行一次,而是反復(fù)不斷地重復(fù)執(zhí)行,直至可編程序控制器停機(jī)或切換到STOP工作狀態(tài)。
除了執(zhí)行用戶程序之外,在每次循環(huán)過程中,可編程序控制器還要完成內(nèi)部處理、通信處理等工作,一次循環(huán)可分為5個(gè)階段(如圖所示)
在內(nèi)部處理階段,可編程序控制器檢查CPU,模塊內(nèi)部的硬件是否正常,將監(jiān)控定時(shí)器復(fù)位,以及完成一些別的內(nèi)部工作。在通信服務(wù)階段,可編程序控制器與別的帶微處理器的智能裝置通信,響應(yīng)編程器鍵入的命令,更新編程器的顯示內(nèi)容。
在輸入處理階段,可編程序控制器把所有外部輸入電路的接通/斷開(ON/OFF)狀態(tài)讀入輸入映像寄存器。
在程序執(zhí)行階段,即使外部輸入信號的狀態(tài)發(fā)生了變化,輸入映像寄
存器的狀態(tài)也不會(huì)隨之而變,輸入信號變化了的狀態(tài)只能在下一個(gè)掃描周
期的輸入處理階段被讀入。
在輸出處理階段,CPU將輸出映像寄存器的通/斷狀態(tài)傳送到輸出鎖存器。
三、可編程控制器的內(nèi)存區(qū)域的分布及I/O配置
CP1H可使用下列內(nèi)存區(qū)表
數(shù)據(jù)區(qū) | 字 | 位 | 功能 | |||
IR區(qū)1 |
輸入?yún)^(qū) |
IR 000-IR 009 (10個(gè)字) |
IR 00000-IR 00915 (160位) |
這些位可以分配給外部I/O端。 |
||
輸出區(qū) |
IR 100-IR 019 (10個(gè)字) |
IR 0100-IR 0915(160位) | ||||
工作區(qū) |
IR 020-IR 049 IR 200-IR 227 (58個(gè)字) |
IR 02000-IR 04915 IR 20000-IR 22715(928位) |
在程序中可隨意使用工作位。 | |||
SR區(qū) |
SR 228-SR 255 (28字) |
SR 22800-SR 25515(448位) | 這些位用于特定功能,如標(biāo)志和控制位。 | |||
TR區(qū) | —— |
TR 0-TR 7 (8位) |
這些位用于保存程序分支中的ON/OFF狀態(tài)。 | |||
HR區(qū)2 |
HR 00-HR 19 (20個(gè)字) |
HR 0000-HR 1915 (320位) |
這些位用于保存數(shù)據(jù),并在電源關(guān)閉后保持ON/OFF狀態(tài)不變。 | |||
AR區(qū)2 |
AR 00-AR 23 (24個(gè)字) |
AR 0000-AR 2315 (384位) |
這些位用于特定功能,如標(biāo)志和控制位。 | |||
LR區(qū)1 |
LR 00-LR 15 (16個(gè)字) |
LR 0000-LR 1515 (256位) |
用于與其他PC進(jìn)行1:1數(shù)據(jù)鏈接。 | |||
定時(shí)器/計(jì)數(shù)器區(qū)2 | TC 000-TC 255(定時(shí)器/計(jì)數(shù)器標(biāo)號)3 | 同一標(biāo)號既可用于定時(shí)器,也可用于計(jì)數(shù)器。 | ||||
DM區(qū) DM區(qū) |
讀/寫2 |
DM 0000-DM 1999 DM 2022-DM 2047 (2,026個(gè)字) |
—— | DM區(qū)只能以字為單位進(jìn)行訪問。在電源關(guān)閉后,其值保持不變。 | ||
錯(cuò)誤日志2 |
DM 2000-DM 2021 (22個(gè)字) |
—— | 用于保存所發(fā)生錯(cuò)誤的錯(cuò)誤代碼。當(dāng)不使用錯(cuò)誤日志功能時(shí),可當(dāng)作普通讀/寫DM區(qū)使用權(quán)用。 | |||
只讀4 |
DM 6144-DM 6599 (456個(gè)字) |
—— | 不可在程序中重新寫入。 | |||
PC設(shè)置4 |
DM 6600-DM 6655 (56個(gè)字) |
—— | 用于保存控制PC運(yùn)行的各種參數(shù)。 | |||
CP1HX型
型號 | 規(guī)格 | ||
電源 | 輸出 | 輸入 | |
CP1H-X40DR-A | AC100~250V | 繼電器輸出16點(diǎn) | DC24V 24點(diǎn) |
CP1H-X40T1-D | DC24V | 晶體管輸出漏型 16點(diǎn) | DC24V 24點(diǎn) |
CP1H-X40DT1-D | 晶體管輸出源型 16點(diǎn) |
CP1HXA型
型號 | 規(guī)格 | ||
電源 | 輸出 | 輸入 | |
CP1H-XA40DR-A | AC100~250V | 繼電器輸出16點(diǎn) | DC24V 24點(diǎn) |
CP1H-XA40T1-D CP1H-XA40DT1-D |
DC24V | 晶體管輸出漏型 16點(diǎn) | DC24V 24點(diǎn) |
晶體管輸出源型 16點(diǎn) | |||
CP1H-Y20DT-D | DC24V | 晶體管輸出漏型8點(diǎn) | DC24V 12點(diǎn) |
四、可編程控制器的編程語言概述
現(xiàn)代的可編程控制器一般備有多種編程語言,供用戶使用。IEC1131-3—可編程序控制器編程語言的國際標(biāo)準(zhǔn)詳細(xì)的說明了下述可編程控制器編程語言:
順序功能圖
梯形圖
功能塊圖
指令表
結(jié)構(gòu)文本
其中梯形圖是使用得最多的可編程控制器圖形編程語言。梯形圖與繼電器控制系統(tǒng)的電路圖很相似,具有直觀易懂的優(yōu)點(diǎn),很容易被工廠熟悉繼電器控制的電氣人員掌握,特別適用于開關(guān)量邏輯控制。
梯形圖的主要特點(diǎn):
1)可編程控制器梯形圖中的某些編程元件沿用了繼電器這一名稱,如輸入繼電器、輸出繼電器、內(nèi)部輔助繼電器等,但是它們不是真實(shí)的物理繼電器(即硬件繼電器),而是在軟件中使用的編程元件。每一編程元件與可編程序控制器存儲(chǔ)器中元件映像寄存器的一個(gè)存儲(chǔ)單元相對應(yīng)。
2)梯形圖兩側(cè)的垂直公共線稱為公共母線(BUS bar)。在分析梯形圖的邏輯關(guān)系時(shí),為了借用繼電器電路的分析方法,可以想象左右兩側(cè)母線之間有一個(gè)左正右負(fù)的直流電源電壓,當(dāng)圖中的觸點(diǎn)接通時(shí),有一個(gè)假想的“概念電流”或“能流(Power flow)從左到右流動(dòng),這一方向與執(zhí)行用戶程序時(shí)的邏輯運(yùn)算的順序是一致的。
3)根據(jù)梯形圖中各觸點(diǎn)的狀態(tài)和邏輯關(guān)系,求出與圖中各線圈對應(yīng)的編程元件的狀態(tài),稱為梯形圖的邏輯解算。邏輯解算是按梯形圖中從上到下、從左到右的順序進(jìn)行的。
4)梯形圖中的線圈和其他輸出指令應(yīng)放在最右邊。
5)梯形圖中各編程元件的常開觸點(diǎn)和常閉觸點(diǎn)均可以無限多次地使用。
五、可編程控制器的編程步驟
(1)確定被控系統(tǒng)必須完成的動(dòng)作及完成這些動(dòng)作的順序。
(2)分配輸入輸出設(shè)備,即確定哪些外圍設(shè)備是送信號到PLC,哪些是外圍設(shè)備是接收來自PLC信號的。并將PLC的輸入、輸出口與之對應(yīng)進(jìn)行分配。
(3)設(shè)計(jì)PLC程序畫出梯形圖。梯形圖體現(xiàn)了按照正確的順序所要求的全部功能及其相互關(guān)系。
(4)實(shí)現(xiàn)用計(jì)算機(jī)對PLC的梯形圖直接編程。
(5)對程序進(jìn)行調(diào)試(模擬和現(xiàn)場)。
(6)保存已完成的程序。
顯然,在建立一個(gè)PLC控制系統(tǒng)時(shí),必須首先把系統(tǒng)的需要的輸入、輸出數(shù)量確定下來,然后按需要確定各種控制動(dòng)作的順序和各個(gè)控制裝置彼此之間的相互關(guān)系。確定控制上的相互關(guān)系之后,就可進(jìn)行編程的第二步──分配輸入輸出設(shè)備,在分配了PLC的輸入輸出點(diǎn)、內(nèi)部輔助繼電器、定時(shí)器、計(jì)數(shù)器之后,就可以設(shè)計(jì)PLC程序畫出梯形圖。在畫梯形圖時(shí)要注意每個(gè)從左邊母線開始的邏輯行必須終止于一個(gè)繼電器線圈或定時(shí)器、計(jì)數(shù)器,與實(shí)際的電路圖不一樣。梯形圖畫好后,使用編程軟件直接把梯形圖輸入計(jì)算機(jī)并下載到PLC進(jìn)行模擬調(diào)試,修改→下載直至符合控制要求。這便是程序設(shè)計(jì)的整個(gè)過程。
可編程控制器基本指令簡介
CP1H系列PLC主機(jī)基本指令表
助記符 | 名稱 | 功能 |
LD | 裝載 | 指定位用于指令行的開始或使用權(quán)用AND LD和ORLD指令時(shí)定義邏輯塊。 |
AND | 與 | 指定位與執(zhí)行條件進(jìn)行邏輯與運(yùn)算。 |
AND LD | 邏輯塊與 | 前面程序塊進(jìn)行邏輯與運(yùn)算的結(jié)果。 |
AND NOT | 與非 | 指定位的非與執(zhí)行條件進(jìn)行邏輯與運(yùn)算。 |
OR | 或 | 指定位與執(zhí)行條件進(jìn)行邏輯或運(yùn)算。 |
OR NOT | 或非 | 指定位的非與執(zhí)行條件進(jìn)行邏輯或運(yùn)算。 |
OUT | 輸出 |
在執(zhí)行條件為ON時(shí)使操作數(shù)位變ON;在執(zhí) 行條件為OFF時(shí)使操作數(shù)位變OFF。 |
SET | 置位 | 在執(zhí)行條件為ON時(shí)使操作數(shù)位變ON,在執(zhí)行條件為OFF時(shí)不影響操作位的狀態(tài)。 |
RSET | 復(fù)位 | 在執(zhí)行條件為ON時(shí)使操作位數(shù)變OFF, 在執(zhí)行條件為OFF時(shí)不影響操作數(shù)位的狀態(tài)。 |
NOP | 空操作 | 不作任何操作,程序轉(zhuǎn)移到下一個(gè)指令。 |
END | 結(jié)束 | 用于程序結(jié)束。 |
JMP | 跳轉(zhuǎn) | 如果跳轉(zhuǎn)條件為OFF,則JMP(04)與JME(05)之間的所有指令均被忽略 |
JME | 跳轉(zhuǎn)結(jié)束 | |
SFT | 移位寄存器 | 生成一個(gè)位移位寄存器 |
KEEP | 保持 | 將一個(gè)位定義為由置位輸入和復(fù)位輸入控制的鎖存。 |
TIM | 定時(shí)器 | ON延遲(減數(shù))定時(shí)器操作。 |
CNTR | 可逆計(jì)數(shù)器 | 增加或減少輸入信號由OFF變ON時(shí),增加或減小PV值。 |
DIFU | 上升沿微分 | 在輸入信號的上升沿時(shí)刻將某個(gè)指定位變ON一個(gè)循環(huán)周期。 |
DIFD | 下降沿微分 | 在輸入信號的下降沿時(shí)刻將某個(gè)指定位變ON一個(gè)循環(huán)周期。 |
@MOV | 傳送 | 將源數(shù)據(jù)(字或常數(shù))復(fù)制到目標(biāo)字中。 |
@ASL | 算術(shù)左移 | 將單字?jǐn)?shù)據(jù)中的每一位向左進(jìn)行帶CY移位。 |
@ASR | 算術(shù)右移 | 將單字?jǐn)?shù)據(jù)中的每一位向右進(jìn)行帶CY移位。 |
AND LD | 邏輯塊與 | 前面程序塊進(jìn)行邏輯與運(yùn)算的結(jié)果。 |
OR LD | 邏輯塊或 | 前面程序塊進(jìn)行邏輯或運(yùn)算的結(jié)果。 |
NETR NETW |
TABLE,PORT TABLE,PORT |
網(wǎng)絡(luò)讀 網(wǎng)絡(luò)寫 |
SLCR SLCT SLCE |
N N |
順控繼電器段的啟動(dòng) 順控繼電器段的轉(zhuǎn)換 順控繼電器段的結(jié)束 |