PLC的基本邏輯指令及舉例改_第1頁(yè)
PLC的基本邏輯指令及舉例改_第2頁(yè)
PLC的基本邏輯指令及舉例改_第3頁(yè)
PLC的基本邏輯指令及舉例改_第4頁(yè)
PLC的基本邏輯指令及舉例改_第5頁(yè)
已閱讀5頁(yè),還剩156頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、可編程序控制器可編程序控制器(PLC)第第5章章廖國(guó)華 中南大學(xué)信息學(xué)院自動(dòng)化系第5章 可編程序控制器的基本指令及程序設(shè)計(jì)一、基本指令二、程序控制指令三、PLC 編程規(guī)則四、典型環(huán)節(jié)程序示例五、PLC程序的簡(jiǎn)單設(shè)計(jì)法 邏輯取及線(xiàn)圈驅(qū)動(dòng)指令 觸點(diǎn)串聯(lián)指令 觸點(diǎn)并聯(lián)指令 串聯(lián)電路塊的并聯(lián)連接指令 并聯(lián)電路塊的串聯(lián)連接指令 置位復(fù)位指令 RS觸發(fā)器指令 立即指令 邊沿脈沖指令 邏輯堆棧操作指令 定時(shí)器 計(jì)數(shù)器 比較指令 NOT及NOP指令一、PLC的基本邏輯指令及舉例一、PLC基本邏輯指令及舉例 S7200系列PLC邏輯指令共有106條,廠家提供了梯形圖(LAD)、語(yǔ)句表(STL)、功能塊圖(FBD

2、)和順序流程圖幾種編程語(yǔ)言,其中LAD和STL是最基本的也是最常用的編程語(yǔ)言。本章以這兩種語(yǔ)言為例介紹其應(yīng)用。1. 裝入觸點(diǎn)指令及驅(qū)動(dòng)指令 LD(LOAD):裝入觸點(diǎn)指令。用于網(wǎng)絡(luò)塊邏輯運(yùn)算開(kāi)始的常開(kāi)觸點(diǎn)與母線(xiàn)的連接。 LDN( LOAD NOT):取反指令。用于網(wǎng)絡(luò)塊邏輯運(yùn)算開(kāi)始的常閉觸點(diǎn)與母線(xiàn)的連接。 (OUT):線(xiàn)圈的驅(qū)動(dòng)指令 圖31 為上面三條指令的用法n LD、LDN指令不只是用于網(wǎng)絡(luò)塊邏輯計(jì)算開(kāi)始時(shí)與母線(xiàn)相連的常開(kāi)和常閉觸點(diǎn),在分支電路塊的開(kāi)始也使用LD、LDN指令,與后面要講的LD、OLD指令配合完成塊電路的編程。 n 指令不能用于輸入繼電器。n 指令可連續(xù)使用任意次。n 在同一

3、線(xiàn)圈中不要使用雙線(xiàn)圈輸出。nLD、LDN操作數(shù)為I、Q、M、SM、T、C、V、S 的操作數(shù)為Q、M、S、V2. 觸點(diǎn)串聯(lián)指令A(yù) (And):與指令。用于單個(gè)常開(kāi)觸點(diǎn)的串聯(lián)連接。AN(And Not):與反指令。用于單個(gè)常閉觸點(diǎn)的串聯(lián)連接。注意事項(xiàng):n A、AN是單個(gè)觸點(diǎn)串聯(lián)連接指令,可連續(xù)使用,編程時(shí)只受到打印寬度和屏幕顯示的限制。n 例中可以反復(fù)使用=指令,但次序必須正確。n A、AN指令的操作數(shù)為:I、Q、M、SM、T、C、V、S和L。(b)語(yǔ)句表( )( )M0.0M0.1Q0.0Q0.1LD M0.0LPS A M0.1= Q0.0LPP = Q0.13 . 觸點(diǎn)并聯(lián)指令 O(or)或

4、指令。用于單個(gè)常開(kāi)觸點(diǎn)的并聯(lián)連接 ON(or not)或反指令。用于單個(gè)常閉觸點(diǎn)的并聯(lián)連接 單個(gè)觸點(diǎn)的O、ON指令可連續(xù)使用 O、ON指令的操作數(shù)為:I、Q、M、SM、T、C、V、S、和L注意事項(xiàng):M0.0M0.1M0.2I0.1I0.0Q0.0LD M0.0O M0.1ON M0.2A I0.0O I0.1= Q0.0(a)梯形圖(b)語(yǔ)句表網(wǎng)絡(luò)1 觸點(diǎn)的并聯(lián)電路舉例4 串聯(lián)電路塊的并聯(lián)連接指令 OLD(or load)或塊指令:用于串聯(lián)電路塊的并聯(lián)連接兩個(gè)以上觸點(diǎn)串聯(lián)形成的支路叫串聯(lián)電路塊n 在電路塊的開(kāi)始也要使用LD、LDN指令n 每完成一次塊電路的并聯(lián)時(shí)要寫(xiě)上OLD指令n OLD指令無(wú)

5、操作數(shù)注意事項(xiàng)I0.0I0.1I0.2M0.0M0.1M0.2M0.3Q0.0LD I0.0A M0.0LD I0.1AN M0.1OLDLDN I0.2A M0.2OLDA M0.3= Q0.0(a)梯形圖(b)語(yǔ)句表網(wǎng)絡(luò)1 OLD指令使用舉例5 并聯(lián)電路塊的串聯(lián)連接指令 ALD(And Load)與塊指令 。 用于并聯(lián)電路塊的串聯(lián)連接 兩條以上支路并聯(lián)形成的電路叫并聯(lián)電路塊注意事項(xiàng)n 在塊電路開(kāi)始時(shí)要使用LD和LDN指令n 在每完成一次塊電路的串聯(lián)連接后要寫(xiě)上ALD指令n ALD指令無(wú)操作數(shù)網(wǎng)絡(luò)1 ALD指令使用舉例I0.0I0.1M0.0M0.2M0.1M0.3Q0.0LD I0.0 O

6、 I0.1 LD M0.0A M0.1LD M0.2AN M0.3OLD ALD= Q0.0 (a)梯形圖(b)語(yǔ)句表6. 置位、復(fù)位指令表1 置位復(fù)位指令的功能表( )( )網(wǎng)絡(luò)1 置位網(wǎng)絡(luò)2 復(fù)位 I0.0Q0.0I0.1S2Q0.0R2LD I0.0S Q0.0,2LD I0.1R Q0.1, 2(a)梯形圖(b)語(yǔ)句表I0.0I0.1(c)時(shí)序圖Q0.0,Q0.1n 對(duì)元件來(lái)說(shuō)一旦被置位,就保持在通電狀態(tài),除非在對(duì)它復(fù)位;而一旦被復(fù)位,就保持在斷電狀態(tài),除非在對(duì)它置位n S/R指令可以互換次序使用,但由于PLC采用掃描工作方式,所以寫(xiě)在后面的指令具有優(yōu)先權(quán)n 如果對(duì)記數(shù)器和定時(shí)器復(fù)位,

7、則記數(shù)器和定時(shí)器的當(dāng)前值被清零n N的常數(shù)范圍為1-255,N也可為:VB、IB、QB、MB、SMB、SB、LB、AC、常數(shù)、*VD、*AC、*LD。一般情況下使用常數(shù)n S/R指令的操作數(shù)為:I、Q、M、SM、T、C、V、S、和L注意事項(xiàng):7. RS觸發(fā)指令 SR(set dominant bistable)置位優(yōu)先觸發(fā)指令。當(dāng)置位信號(hào)和復(fù)位信號(hào)都為真時(shí),輸出為真 RS(reset dominant bistable)復(fù)位優(yōu)先觸發(fā)指令。當(dāng)置位信號(hào)和復(fù)位信號(hào)都為真時(shí),輸出為假RS1SROUTbitR1SRSOUTbitRS觸發(fā)器指令的真值表*19例例1:電機(jī)起停控制:電機(jī)起停控制已知:起動(dòng)按鈕

8、信號(hào)接入已知:起動(dòng)按鈕信號(hào)接入I0.0停止按鈕信號(hào)接入停止按鈕信號(hào)接入I0.1電機(jī)運(yùn)行命令由電機(jī)運(yùn)行命令由Q0.0輸出輸出M M3 3K KM M1 1F FR R1 1M M1 1Q QS SF FU UL L1 1 L L2 2 L L3 3S SB B1 1S SB B2 2K KK KM M1 1M M1 1F FR R1 1Q0.0K KM M1 1220VI0.0I0.1SB1SB2*20*21*22例例2:用單按鈕實(shí)現(xiàn)電機(jī)起??刂疲河脝伟粹o實(shí)現(xiàn)電機(jī)起??刂埔阎喊粹o信號(hào)接入已知:按鈕信號(hào)接入I0.0電機(jī)運(yùn)行命令由電機(jī)運(yùn)行命令由Q0.0輸出輸出K KM M1 1Q0.0I0.022

9、0VM M3 3K KM M1 1F FR R1 1M M1 1Q QS SF FU UL L1 1 L L2 2 L L3 3*23例例3:正反轉(zhuǎn)向電機(jī)起??刂疲赫崔D(zhuǎn)向電機(jī)起停控制已知:正轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入已知:正轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.0反轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入反轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.11停止按鈕信號(hào)接入停止按鈕信號(hào)接入I0.2電機(jī)正轉(zhuǎn)運(yùn)行命令由電機(jī)正轉(zhuǎn)運(yùn)行命令由Q0.0輸出、反轉(zhuǎn)運(yùn)行命令由輸出、反轉(zhuǎn)運(yùn)行命令由Q0.0輸出。輸出。K KM M1 1Q0.0I0.0I0.2220VI0.1K KM M2 2Q0.1220VM M3 3K KM M1 1F FR R1 1M M1 1Q

10、 QS SF FU UL L1 1 L L2 2 L L3 3K KM M2 28. 立即指令(Immediately)立即指令是為了提高PLC對(duì)輸入輸出的響應(yīng)速度而設(shè)置,不受PLC循環(huán)工作方式的影響,允許對(duì)輸入和輸出點(diǎn)進(jìn)行快速直接存取。對(duì)I 操作,相應(yīng)的輸入映像寄存器的值并未更新;當(dāng)用立即指令訪問(wèn)輸出點(diǎn)時(shí),對(duì)Q操作,新值同時(shí)寫(xiě)到PLC的物理輸出點(diǎn)和相應(yīng)的輸出映像寄存器。網(wǎng)絡(luò)1 立即指令舉例網(wǎng)絡(luò)2I0.0Q0.0IQ0.11SIQ0.2Q0.3II0.0LD I0.0= Q0.0=I Q0.1SI Q0.2,1LDI I0.0= Q0.3(a)梯形圖(b)語(yǔ)句表掃描周期nn+1n+2n+3Q0

11、.0映像寄存器Q0.1映像寄存器Q0.2映像寄存器Q0.3映像寄存器Q0.0物理觸點(diǎn)Q0.1物理觸點(diǎn)Q0.2物理觸點(diǎn)Q0.3物理觸點(diǎn)(c)時(shí)序圖輸入采樣輸出刷新I0.0注意:用立即輸出指令訪問(wèn)輸出點(diǎn)時(shí),在輸入采樣時(shí)刻,對(duì)注意:用立即輸出指令訪問(wèn)輸出點(diǎn)時(shí),在輸入采樣時(shí)刻,對(duì)Q進(jìn)行進(jìn)行操作,新值既寫(xiě)物理輸出點(diǎn),也寫(xiě)輸出映像寄存器操作,新值既寫(xiě)物理輸出點(diǎn),也寫(xiě)輸出映像寄存器tt9. 邊沿脈沖指令PN10. 邏輯堆棧操作指令 LPS(logic push) 邏輯入棧指令 LRD(logic read) 邏輯讀棧指令 LPP(logic pop) 邏輯出棧指令 LDS(load stack) 裝入堆棧指

12、令s7-PLC 使用9層堆棧來(lái)處理所有的邏輯操作,邏輯堆棧指令主要完成對(duì)觸點(diǎn)進(jìn)行的復(fù)雜連接。分支電路開(kāi)始指令。其作用是把棧頂值復(fù)制后壓入堆棧開(kāi)始第二個(gè)以后的從邏輯塊的編程,其作用是讀取最近LPS壓入堆棧的內(nèi)容,而本身不進(jìn)行PUSH和POP工作分支電路結(jié)束指令。其作用把堆棧彈出一級(jí),堆棧內(nèi)容依次上移復(fù)制堆棧中的n個(gè)值到棧頂,而棧底丟失。STL: LDS n (n 為08的整數(shù))串聯(lián)堆棧。進(jìn)棧時(shí),數(shù)據(jù)由棧頂壓入,堆棧中原數(shù)據(jù)行被串行下移一位,在棧底(STRCK8)是數(shù)據(jù)則丟失;出棧時(shí),數(shù)據(jù)從棧頂被取出,所有數(shù)據(jù)向上串行名稱(chēng)說(shuō)明STRCK8STRCK0STRCK1STRCK2STRCK3STRCK4

13、STRCK5STRCK6STRCK7第1級(jí)堆棧(棧頂)第9級(jí)堆棧(棧底)第2級(jí)堆棧第3級(jí)堆棧第4級(jí)堆棧 第5級(jí)堆棧第6級(jí)堆棧第7級(jí)堆棧第8級(jí)堆棧堆棧的結(jié)構(gòu)一位,在棧底(STRCK8)中裝入一個(gè)隨機(jī)數(shù)據(jù)。 當(dāng)所有觸點(diǎn)呈簡(jiǎn)單的串聯(lián)、并聯(lián)關(guān)系時(shí),可用前面介紹的邏輯指令。當(dāng)所有觸點(diǎn)呈比較復(fù)雜的連接關(guān)系時(shí)就要用到堆棧操作。因此,邏輯堆棧指令主要用來(lái)完成對(duì)觸點(diǎn)進(jìn)行復(fù)雜的連接。 PLC的堆棧是一組存取數(shù)據(jù)的臨時(shí)存儲(chǔ)單元,是由堆棧位存儲(chǔ)器組成的串聯(lián)堆棧。邏輯堆棧的操作原則是“先進(jìn)后出”、“后進(jìn)先出”。進(jìn)棧時(shí),數(shù)據(jù)堆棧的有關(guān)指令S0S8S7S6S5S4S3S2S1S0S1 XS8S7S6S5S4S3S2執(zhí)行后執(zhí)

14、行前S0S8S7S6S5S4S3S2S1S0+S1 XS8S7S6S5S4S3S2執(zhí)行后執(zhí)行前 棧裝載與(ALD) 棧裝載或(OLD) 由兩以上支路并形成的電路塊稱(chēng)為并聯(lián)電路塊。并聯(lián)電路塊與前面電路串聯(lián)時(shí)要使用ALD指令 由兩以上觸點(diǎn)串形成的支路稱(chēng)為串聯(lián)電路塊。兩個(gè)或兩個(gè)以上的串聯(lián)電路塊并聯(lián)時(shí)要使用OLD指令( )網(wǎng)絡(luò)1I0.0Q6.0I0.1I1.0I1.1I2.0I2.1( )Q6.1I3.2I3.3I3.4I3.1網(wǎng)絡(luò)2NETWORK1 LD I0.0A I0.1LD I1.0A I1.1LD I2.0A I2.1OLD = Q6.0兩個(gè)或兩個(gè)以上的串聯(lián)電路塊并聯(lián)時(shí)要使用棧裝載或(OLD

15、)指令NETWORK2 LD I3.1O I3.3LD I3.2O I3.4ALD = Q6.1并聯(lián)電路塊與前 面電路串聯(lián)時(shí)要 使用棧裝載與 (ALD)指令棧裝載與、棧裝載或指令舉例邏輯讀棧(LRD)S0S8S7S6S5S4S3S2S1 S1S8S7S6S5S4S3S2執(zhí)行后執(zhí)行前 S1 將堆棧中第2層的數(shù)據(jù)復(fù)制到棧頂?shù)?9層的數(shù)據(jù)不變,堆棧沒(méi)有入?;虺鰲2僮鳎瓧m斨当恍碌膹?fù)制值取代。邏輯入棧(LPS)S0S8S7S6S5S4S3S2S1 S1S7S6S5S4S3S2執(zhí)行后執(zhí)行前 S0 S0 將棧頂值復(fù)制后壓入堆棧,堆棧中原來(lái)各級(jí)的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。S8丟失S0被覆蓋

16、用于生成一條新母線(xiàn),其左側(cè)為原來(lái)的主邏輯塊,右側(cè)為新的從邏輯塊,LPS開(kāi)始右側(cè)的第1個(gè)從邏輯塊編程。也叫分支電路開(kāi)始指令當(dāng)新母線(xiàn)左側(cè)為主邏輯塊時(shí)LRD開(kāi)始右側(cè)的第2個(gè)以后的從邏輯塊編程。該指令在編程中使用較少。S0S8S7S6S5S4S3S2S1 S1 XS8S7S6S5S4S3S2執(zhí)行后執(zhí)行前邏輯出棧(LPP) 將棧頂?shù)闹祻棾?,堆棧中原?lái)各級(jí)的數(shù)據(jù)依次向上一級(jí)推移,棧頂值從棧內(nèi)丟失,原堆棧2級(jí)的值成為新的棧頂值。代表不確定值裝載堆棧(LDS 3)S0S8S7S6S5S4S3S2S1 S1S7S6S5S4S3S2執(zhí)行后執(zhí)行前 S0 S3 將棧內(nèi)底n級(jí)的值復(fù)制到棧頂,堆棧中原來(lái)各級(jí)的數(shù)據(jù)依次向下

17、一層推移,棧底值被推出丟失。這是第3級(jí)被裝載哦?。↙DS3)S0丟失S8丟失用于將LPS指令生成一條新的母線(xiàn)復(fù)位。因此也叫分支電路結(jié)束指令。堆棧指令使用時(shí)要注意: 由于受堆棧空間的限制(9級(jí)),故LPS、LPP指令連續(xù)使用時(shí)應(yīng)少于9次; LPS和LPP必須成對(duì)使用,它們之間可以使用LRD指令; LPS、LRD和LPP指令無(wú)操作數(shù)。 入棧(LPS)、讀棧(LRD)、出棧(LPP)指令舉例( )網(wǎng)絡(luò)1I0.0Q1.0I0.1I0.2NETWORK1 LD I0.0LPSLD I0.1O I0.2ALD= Q1.0LRDLD I0.3O I0.4ALD = Q1.1LPPA I0.5= Q1.2 (

18、 )I0.3I0.4Q1.1 ( )I0.5Q1.2在梯形圖分支結(jié)構(gòu)中,LPS開(kāi)始右側(cè)的第1個(gè)從邏輯塊編程并聯(lián)電路塊與前面電路串聯(lián)時(shí)要 使用ALD指令在梯形圖分支結(jié)構(gòu)中,LRD開(kāi)始第2個(gè)以后的從邏輯塊編程LPP復(fù)位新母線(xiàn),與PLS成對(duì)出現(xiàn)梯形圖指令表11. 定時(shí)器1)種類(lèi) 定時(shí)器可分為2)分辨率與定時(shí)時(shí)間的計(jì)算 單位時(shí)間的時(shí)間增量稱(chēng)為定時(shí)器的分辨率。 定時(shí)器定時(shí)時(shí)間T的計(jì)算:T=PTS T:實(shí)際定時(shí)時(shí)間 PT:定時(shí)時(shí)間 S:分辨率 PT數(shù)據(jù)類(lèi)型為INT型,操作數(shù)可為:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、VD、 AC、LD和常數(shù)3)定時(shí)器的編號(hào) 定時(shí)器的編號(hào)用定時(shí)器

19、的名稱(chēng)和它的常數(shù)編號(hào)(最大為255)。即TXXX,如T40 定時(shí)器的編號(hào)包含兩方面的信息:定時(shí)器位和定時(shí)器當(dāng)前值。 定時(shí)器位:當(dāng)定時(shí)器的當(dāng)前值達(dá)到設(shè)定值PT時(shí),定時(shí)器的觸點(diǎn)動(dòng)作。 定時(shí)器當(dāng)前值:存儲(chǔ)定時(shí)器當(dāng)前所累計(jì)的時(shí)間,它用16位符號(hào)的整數(shù)來(lái)表示,最大計(jì)數(shù)值為32767 使能輸入:BOOL型,可以是I、Q、M、SM、T、C、V、S、L接通延時(shí)定時(shí)器(TON)有記憶接通延時(shí)定時(shí)器(TONR)斷開(kāi)延時(shí)定時(shí)器(TOF)1ms10ms100msINPTTXTXXXTXXXTXXX 11 定時(shí)器指令 1) 定時(shí)器的種類(lèi) 定時(shí)器是對(duì)PLC內(nèi)部的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)。S7-200 PLC為用戶(hù)提供了三種類(lèi)型的

20、定時(shí)器:通電延時(shí)定時(shí)器(TON)、 有記憶的通電延時(shí)定時(shí)器(TONR)和失電延時(shí)定時(shí)器(TOF)。 ) 定時(shí)器的分辨率、編號(hào)和定時(shí)時(shí)間的計(jì)算分辨率:?jiǎn)挝粫r(shí)間的時(shí)間增量定時(shí)器時(shí)間的計(jì)算:TPT*S 實(shí)際定時(shí)時(shí)間設(shè)定值分辨率例:TON指令使用T97的定時(shí)器,設(shè)定值為100,則時(shí)間時(shí)間為 T=100*10ms=1000ms ) 定時(shí)器的指令格式 T XXXPTIN TON T XXXPTIN TONRTON T X X X ,PTTONR T X X X ,PT梯形圖指令表工作過(guò)程和用途1)首次掃描時(shí),定時(shí)器位為OFF,當(dāng)前值為02)當(dāng)使能輸入(IN)接通時(shí),定時(shí)器位為T(mén)ON從0開(kāi)始計(jì)時(shí)3)當(dāng)前值設(shè)

21、定值時(shí),定時(shí)器被置位,即定時(shí)器狀態(tài)位為 ON,定時(shí)器動(dòng)合觸點(diǎn)閉合,動(dòng)斷觸點(diǎn)斷開(kāi)4)定時(shí)器累計(jì)值達(dá)到設(shè)定值后繼續(xù)計(jì)數(shù),一直達(dá)到最大 值327675)當(dāng)使能輸入(IN)斷開(kāi)時(shí),定時(shí)器復(fù)位,即定時(shí)器狀態(tài)位 為OFF,當(dāng) 前值為0。也可用復(fù)位指令對(duì)計(jì)數(shù)器復(fù)位6)用于單一時(shí)間間隔的定時(shí)1)首次掃描時(shí),定時(shí)器位為OFF,當(dāng)前值保持在斷電前 的值2)當(dāng)IN接通時(shí),定時(shí)器為為OFF,TONR從0開(kāi)始計(jì)時(shí)3)當(dāng)前值設(shè)定值時(shí),定時(shí)器位為ON4)定時(shí)器累計(jì)值達(dá)到設(shè)定值后繼續(xù)計(jì)時(shí),一直達(dá)到最大 值327675)當(dāng)使能輸入(IN)斷開(kāi)時(shí),定時(shí)器的當(dāng)前值被保持, 定時(shí)器狀態(tài)位不 變6)當(dāng)IN再次接通時(shí),定時(shí)器的當(dāng)前值從原

22、保持值開(kāi)始向上 計(jì)時(shí),因此可累計(jì)多次輸入信號(hào)的接通時(shí)間7)此定時(shí)器必須用復(fù)位(R)指令清除當(dāng)前值8)用于許多間隔的累計(jì)定時(shí) T XXXPTIN TOFTOF T X X X ,PT梯形圖指令表工作過(guò)程和用途1)首次掃描時(shí),定時(shí)器位為OFF,當(dāng)前值為02)當(dāng)IN接通時(shí),定時(shí)器位即被置為ON,當(dāng)前值為03)當(dāng)輸入端由接通到斷開(kāi)時(shí),定時(shí)器開(kāi)始計(jì)時(shí)4)當(dāng)前值設(shè)定值時(shí),定時(shí)器狀態(tài)位為OFF,當(dāng)前值等于 預(yù)設(shè)值,并停止計(jì)時(shí)5)可用R指令對(duì)定時(shí)器復(fù)位,定時(shí)器位為OFF,當(dāng)前值為06)定時(shí)器復(fù)位后,如輸入端IN從ON轉(zhuǎn)到OOF時(shí),定時(shí)器 可再次啟動(dòng)7)用于關(guān)掉或故障事件后的時(shí)間延時(shí)定時(shí)器中各參數(shù)的意義 T X

23、XXPTIN T定時(shí)器號(hào) T XXX定時(shí)器編號(hào)定時(shí)器標(biāo)志定時(shí)器名稱(chēng)通電延時(shí)定時(shí)器標(biāo)志 TONONR 記憶通電延時(shí)OF 失電延時(shí)使能輸入端設(shè)定值梯形圖記憶通電延時(shí)ONRT T X X X PT 定時(shí)器標(biāo)志通電延時(shí)ON失電延時(shí)OF設(shè)定值定時(shí)器編號(hào)定時(shí)器標(biāo)志指令表 定時(shí)器指令的有效操作數(shù) 定時(shí)器指令的操作數(shù)有3個(gè),即編號(hào)、預(yù)設(shè)值和導(dǎo)通條件(使能輸入)。 (1)定時(shí)器編號(hào)(TXXX)決定了定時(shí)器的分辨率,同時(shí)還包含定時(shí)器狀態(tài)位和定時(shí)器當(dāng)前值。 定時(shí)器狀態(tài)位:當(dāng)定時(shí)器當(dāng)前值達(dá)到預(yù)設(shè)值PT時(shí),該位被置為1,即ON。 定時(shí)器當(dāng)前值:存儲(chǔ)定時(shí)器當(dāng)前所累計(jì)的時(shí)間用16位符號(hào)整數(shù)來(lái)表示。最大計(jì)數(shù)值為32767。

24、通過(guò)定時(shí)器號(hào)既可以讀去定時(shí)器的當(dāng)前值,也可以用來(lái)讀取定時(shí)器的狀態(tài)位。 (2)預(yù)設(shè)值PT:數(shù)據(jù)類(lèi)型為INT型,即字(16),與分辨率的乘積就是定時(shí)時(shí)間。 (3)使能輸入(導(dǎo)通條件):BOOL型,尋址范圍見(jiàn)后表。 輸入/輸出數(shù)據(jù)類(lèi)型操作數(shù)T X X XINPT字(word)位(BOOL)整數(shù)(INT)常數(shù)(T0T225)I、Q、V、M、SM、S、T、V、L、能流IW、QW、VW、MW、SMW、T、C、LW、AC、AIW、常數(shù)定時(shí)器指令的有效操作數(shù)表如下:) 定時(shí)器應(yīng)用舉例 T33INPTTON網(wǎng)絡(luò)1300( )Q0.0T33I0.2NETWORK1LD I0.2 TON T33,300 NETWO

25、RK2LD T33= Q0.0網(wǎng)絡(luò)2Q0.0I0.23sT33PT梯形圖指令表時(shí)序圖通電(接通)延時(shí)定時(shí)器(TON)I0.23sT33 當(dāng)前值PTQ0.03sPT3s最大值=32767時(shí)序圖T33INPTTON網(wǎng)絡(luò)1300( )Q0.0T33I0.2NETWORK1LD I0.2 TON T33,300 NETWORK2LD T33= Q0.0網(wǎng)絡(luò)2梯形圖指令表T33分辨率為10msT3INPTTONR網(wǎng)絡(luò)1100( )Q0.0T3I0.0NETWORK1LD I0.0 TONR T3,100 NETWORK2R T3,1NETWORK3LD T3 = Q0.0網(wǎng)絡(luò)2Q0.0I0.0T3當(dāng)前值

26、梯形圖指令表時(shí)序圖( )I0.1T3R1網(wǎng)絡(luò)3t2PT設(shè)定值t1+t2=1sI0.1分辨率(時(shí)基):10ms 設(shè)定時(shí)間值=100*10ms=1000ms=1s有記憶通電(接通)延時(shí)定時(shí)器(TONR) 斷電(斷開(kāi))延時(shí)定時(shí)器(TOF)以及不同分辨率定時(shí)器的刷新方式自己總結(jié)t1 1s5).5).定時(shí)器的刷新方式和正確使用定時(shí)器的刷新方式和正確使用(1)定時(shí)器的刷新方式1ms定時(shí)器:1ms定時(shí)器由系統(tǒng)每隔1ms刷新一次,與掃描周期及程序處理無(wú)關(guān)。它采用的是中斷方式。10ms定時(shí)器:10ms定時(shí)器由系統(tǒng)在每個(gè)掃描周期開(kāi)始時(shí)自動(dòng)刷新,由于每個(gè)掃描周期只刷新一次,故在一個(gè)掃描周期內(nèi)定時(shí)器位和定時(shí)器的當(dāng)前值

27、保持不變。100ms定時(shí)器:100ms定時(shí)器在定時(shí)器指令執(zhí)行時(shí)被刷新,它僅用在定時(shí)器指令在每個(gè)掃描周期執(zhí)行一次的程序中。(2)定時(shí)器的正確使用定時(shí)器的正確使用這是在最新版本的CPU中增加的有特殊功能的定時(shí)器,說(shuō)是定時(shí)器,其實(shí)是2條指令。使用這2條指令可以記錄某一信號(hào)的開(kāi)通時(shí)刻以及開(kāi)通延續(xù)的時(shí)間。PLC停電后,停止記錄。觸發(fā)時(shí)間間隔(BITIM,Beginning Interval Time) 該指令用來(lái)讀取PLC中內(nèi)置的1毫秒計(jì)數(shù)器的當(dāng)前值,并將該值存儲(chǔ)于OUT。雙字毫秒值的最大計(jì)時(shí)間隔為2的32次方,即49.7天。計(jì)算時(shí)間間隔(CITIM,Calculate Interval Time) 該

28、指令計(jì)算當(dāng)前時(shí)間與IN所提供時(shí)間的時(shí)間差,并將該差值存儲(chǔ)于OUT。雙字毫秒值的最大計(jì)時(shí)間隔為2的32次方,即49.7天。2條指令的有效操作數(shù)為:IN和OUT端均為雙字。時(shí)間間隔定時(shí)器時(shí)間間隔定時(shí)器時(shí)間間隔定時(shí)器舉例12 計(jì)數(shù)器1.幾種基本概念幾種基本概念(1)種類(lèi) S7200系列PLC的計(jì)數(shù)器有3種: 增計(jì)數(shù)器CTU,增減計(jì)數(shù)器CTUD,減計(jì)數(shù)器CTD。(2)編號(hào) 計(jì)數(shù)器的編號(hào)用計(jì)數(shù)器名稱(chēng)和數(shù)字組成,如C6。 計(jì)數(shù)器的編號(hào)包含兩方面的信息:計(jì)數(shù)器的位和計(jì)數(shù)器當(dāng)前值。 計(jì)數(shù)器位:表示計(jì)數(shù)器是否發(fā)生動(dòng)作的狀態(tài)。 計(jì)數(shù)器當(dāng)前值:用來(lái)存儲(chǔ)計(jì)數(shù)器當(dāng)前所累計(jì)的脈沖數(shù),用16位符號(hào)整數(shù)表示,最大值為3276

29、7。 計(jì)數(shù)器的指令1)首次掃描時(shí),計(jì)數(shù)器位為OOF,當(dāng)前值為02)當(dāng)CU端在每一個(gè)上升沿接通時(shí),計(jì)數(shù)器計(jì)數(shù)1次,當(dāng)前 值增加1個(gè)單位3)當(dāng)前值達(dá)到設(shè)定值PV時(shí),計(jì)數(shù)器置位為ON,當(dāng)前值持續(xù) 計(jì)數(shù)至327674)當(dāng)復(fù)位輸入端R接通時(shí),計(jì)數(shù)器復(fù)位OFF,當(dāng)前值為01)有兩個(gè)輸入端,CU用于遞增計(jì)數(shù),CU用于遞減計(jì)數(shù)2)首次掃描時(shí),計(jì)數(shù)器位為OFF,當(dāng)前值為03)當(dāng)CU在上升沿接通時(shí),計(jì)數(shù)器當(dāng)前值增加1個(gè)單位;當(dāng) CD在上升沿接通時(shí),計(jì)數(shù)器當(dāng)前值減少1個(gè)單位4)當(dāng)前值達(dá)到設(shè)定值PV時(shí),計(jì)數(shù)器被置位為ON5)當(dāng)復(fù)位輸入端R接通時(shí),計(jì)數(shù)器復(fù)位為OFF,當(dāng)前值為01)首次掃描時(shí),計(jì)數(shù)器位為OFF,當(dāng)前值等

30、于預(yù)設(shè)值2)當(dāng)CD端在每一個(gè)上升沿接通時(shí),計(jì)數(shù)器減小1個(gè)單位, 當(dāng)前值遞減至0時(shí),停止計(jì)數(shù),該計(jì)數(shù)器置位為ON3)當(dāng)復(fù)位端LD接通時(shí),計(jì)數(shù)器復(fù)位為OFF,并把預(yù)設(shè)值 PV裝入計(jì)數(shù)器,即當(dāng)前值為預(yù)設(shè)值而不是0CTU C X X X ,PVCTUD C X X X ,PV梯形圖指令表工作過(guò)程和用途 C XXXRCU CTUPV C XXXCDCU CTUDRPV C XXXLDCD CTDPVCTD C X X X ,PV PLC計(jì)數(shù)器的設(shè)定值和定時(shí)器的設(shè)定值不僅可以用程序設(shè)定,也可以通過(guò)PLC內(nèi)部的模擬電位器或PLC外接的撥碼開(kāi)關(guān)方便、直觀地隨時(shí)修改。輸入/輸出數(shù)據(jù)類(lèi)型操作數(shù)C X X X CU

31、、CD、R、LDPV位(BOOL)實(shí)數(shù)(INT)C0C255I、Q、V、M、SM、S、T、V、L、能流IW、QW、VW、MW、SMW、LW、T、C、AC、AIW、*LD、*AC、常數(shù)計(jì)數(shù)器指令的有效操作數(shù)表如下:常數(shù) 2.計(jì)數(shù)器指令使用說(shuō)明 (1)增計(jì)數(shù)器CTU (Count Up)RCUPVCTUCXXXCXXXCXXXCU:脈沖輸入端R:復(fù)位信號(hào)端PV:預(yù)設(shè)定端計(jì)數(shù)值計(jì)數(shù)器位CXXX:計(jì)數(shù)器編號(hào)首次掃描,計(jì)數(shù)器位為OFF,當(dāng)前值為0。在計(jì)數(shù)脈沖輸入端CU的每個(gè)上升沿,計(jì)數(shù)器計(jì)數(shù)一次,當(dāng)前值增加一個(gè)單位。當(dāng)前值達(dá)到設(shè)定值時(shí),計(jì)數(shù)器位ON,當(dāng)前值可繼續(xù)計(jì)數(shù)到32767 后停止計(jì)數(shù)。復(fù)位輸入端有

32、效,計(jì)數(shù)器自動(dòng)復(fù)位,計(jì)數(shù)器位為OFF,當(dāng)前值為0。STL指令格式: CTU CXXX, PV例 CTU C20, 3 計(jì)數(shù)器應(yīng)用舉例 C4CUR CTU網(wǎng)絡(luò)14( )Q0.0C4I2.4NETWORK1LD I2.4LD I2.5 CTU C4,4 NETWORK2LD C4= Q0.0網(wǎng)絡(luò)2加計(jì)數(shù)器PV I2.53241567I2.4I2.5C4當(dāng)前值C4位Q0.0梯形圖指令表時(shí)序圖(a)梯形圖(b)語(yǔ)句表LD I0.0 /計(jì)數(shù)脈沖信號(hào)輸入LD I0.1 /復(fù)位脈沖信號(hào)輸入CTU C20,+3 /增計(jì)數(shù),設(shè)定計(jì)數(shù)值LD C20 /計(jì)數(shù)值為3時(shí)輸出 Q0.0I0.0I0.1C20 當(dāng)前值C20

33、 位(c)時(shí)序圖CDCURCTUDCXXXCXXXCXXXPVCU:脈沖遞增計(jì)數(shù)輸入端CD:脈沖遞減計(jì)數(shù)輸入端R:復(fù)位信號(hào)端PV:預(yù)設(shè)定端計(jì)數(shù)值計(jì)數(shù)器位CXXX:計(jì)數(shù)器編號(hào)首次掃描時(shí),計(jì)數(shù)器位為OFF,當(dāng)前值為0。CU輸入的每個(gè)上升沿計(jì)數(shù)器當(dāng)前值增加一個(gè)單位,CD輸入的每個(gè)上升沿,計(jì)數(shù)器當(dāng)前值減少一個(gè)單位,當(dāng)前值達(dá)到設(shè)定值時(shí),計(jì)數(shù)器位置位為ON。32768327670CUCDSTL指令格式: CTUD CXXX, PV例 CTUD C30, 5(3)減計(jì)數(shù)器CTD (Count Down)LD CD PVCTD CXXXCXXXCXXXCD:脈沖遞減輸入端LD:復(fù)位輸入端 PV:預(yù)設(shè)定端首次掃

34、描,計(jì)數(shù)器位為OFF,當(dāng)前值等于預(yù)設(shè)值PV。計(jì)數(shù)器檢測(cè)到CD輸入端的上升沿時(shí),計(jì)數(shù)器當(dāng)前值減少一個(gè)單位,當(dāng)前值減為0時(shí),計(jì)數(shù)器位為ON。復(fù)位輸入端有效時(shí),計(jì)數(shù)器位為OFF,當(dāng)前值為PV。STL指令格式: CTD CXXX, PV例 CTD C40, 4注意:注意:以上三種計(jì)數(shù)器如果將計(jì)數(shù)器位作為復(fù)位輸入信號(hào),則可實(shí)現(xiàn)循環(huán)計(jì)數(shù)。 13 比較觸點(diǎn)指令 ) 比較指令 比較指令是將兩個(gè)操作輸入(IN1、IN2)按指定的比較關(guān)系進(jìn)行比較,比較關(guān)系成立時(shí)則比較觸點(diǎn)閉合。 在梯形圖中,比較指令是以動(dòng)合觸點(diǎn)的形式編程的,在動(dòng)合觸點(diǎn)中間注明比較參數(shù)和比較運(yùn)算符。當(dāng)兩個(gè)數(shù)的比較結(jié)果為真時(shí),該動(dòng)合觸點(diǎn)閉合,即接通或

35、截?cái)嗄芰鳌?在語(yǔ)句表中,比較指令與基本邏輯指令LD、A、O進(jìn)行組合后編程,當(dāng)比較結(jié)果為真時(shí),將棧頂值置為1。) 指令格式X XIN1IN2X XLDIN1,IN2比較觸點(diǎn)接起始母線(xiàn)IN1X XIN2X X AIN1,IN2LD IN比較觸點(diǎn)的與IN1X XIN2X X OIN1,IN2LD IN比較觸點(diǎn)的或梯形圖指令表功能(1)“X X” 表示 操作數(shù)IN1、 IN2 所滿(mǎn)足的條 件, 它們有: = 等于 = 大于等于= 小于等于 大于 小于 不等于B:字節(jié)比較I: 整數(shù)比較D:雙字整數(shù)比較R:實(shí)數(shù)比較S:字符串比較(2)“ ”表示操作數(shù)IN1、IN2的數(shù)據(jù)類(lèi)型即范圍,其中:說(shuō)明:IN1和IN

36、2的數(shù)據(jù)要匹配哦(3) IN1與IN2 的尋址范圍:I、QV、MSM、ST、CL、常數(shù)注意:不同數(shù)據(jù)類(lèi)型的比較在LAD和STL中的表現(xiàn)方式是不同的使用是查表確定字符串比較指令只有和兩種注意:n 對(duì)于LAD的=, 在STL為=; 對(duì)于LAD的整數(shù)比較,數(shù)據(jù)類(lèi)型為I,而STL為W;) 應(yīng)用舉例 某軋鋼廠的成品庫(kù)可存放鋼卷1000個(gè),因?yàn)椴粩嘤袖摼砣霂?kù)、出庫(kù),需要對(duì)庫(kù)存的鋼卷進(jìn)行統(tǒng)計(jì)。當(dāng)庫(kù)存低于下限100時(shí),指示燈HL1亮;當(dāng)庫(kù)存大于900時(shí),指示燈HL2亮;當(dāng)達(dá)到庫(kù)存上限1000時(shí)報(bào)警器HA響,停止入庫(kù)。C0CUCD 網(wǎng)絡(luò)1 庫(kù)存統(tǒng)計(jì)1000I0.0網(wǎng)絡(luò)2 庫(kù)存情況提示和報(bào)警PV I0.1梯形圖選

37、用元件入庫(kù)、出庫(kù)數(shù)量可用增/減計(jì)數(shù)器(CTUD)進(jìn)行統(tǒng)計(jì)入庫(kù)、出庫(kù)標(biāo)志可用內(nèi)部標(biāo)志存儲(chǔ)器(M)實(shí)現(xiàn)指示燈和報(bào)警器可用輸出線(xiàn)圈寄存器(Q)實(shí)現(xiàn)CTUDI1.2R( )C0 I100Q1.0( )( ) C0 = I1000C0 I900Q1.1Q1.2SM0.0PLC在RUN方式時(shí)SM0.0總為1通過(guò)計(jì)數(shù)器編號(hào)可訪問(wèn)計(jì)數(shù)器的當(dāng)前值/ HL1,庫(kù)存低于100/ HL2,庫(kù)存高于900/ HA,庫(kù)存高于上限1000 加1 減1 復(fù)位整數(shù)比較NETWORK1LD I0.0LD I0.1 CTUD C0,1000 NETWORK2LD SM0.0LPSAW C0,100= Q1.0LRDAW C0,90

38、0 Q1.1LPPAW C0,1000 Q1.2指令表增/減計(jì)數(shù)器設(shè)定值1000入棧,分支線(xiàn)路開(kāi)始指令讀棧,分支線(xiàn)路第2個(gè)以后的從邏輯塊編程出棧,分支線(xiàn)路結(jié)束指令鋼卷數(shù)低于下限100時(shí),指示燈HL1亮鋼卷數(shù)大于900時(shí),指示燈HL2亮鋼卷數(shù)大于上限1000時(shí),報(bào)警器HA響整數(shù)比較Q0.2Q0.1Q0.0網(wǎng)絡(luò)1網(wǎng)絡(luò)3網(wǎng)絡(luò)2I0.0I0.1C30 =I +30 VD1 B VB2 梯形圖語(yǔ)句表LDW= C30,+30 = Q0.0 LD I0.0 AR VB1,VB2 = Q0.214 NOT 及NOP指令1).取反指令取反指令NOT 將復(fù)雜邏輯結(jié)果取反,為用戶(hù)使用反邏輯提供方便。該指令無(wú)操作數(shù),

39、其LAD和STL形式如下。 STL形式:NOT LAD形式:| NOT |2).空操作指令NOP (No Operation) 該指令用在跳轉(zhuǎn)指令結(jié)束處,或在調(diào)試程序中使用。其對(duì)用戶(hù)程序的執(zhí)行無(wú)影響,其LAD和STL形式如下。 STL形式:NOP N N的范圍:0255 LAD形式:NOPN 二 程序控制指令 結(jié)束、停止、看門(mén)狗復(fù)位指令梯形圖指令表操作數(shù)功能( END )( END )( WDR )( STOP )ENDMENDSTOPWDR無(wú)無(wú)無(wú)無(wú)有條件結(jié)束主程序無(wú)條件結(jié)束主程序暫停程序執(zhí)行警戒時(shí)鐘刷新 (1)有條件結(jié)束指令END:執(zhí)行條件成立(左側(cè)邏輯值為1)是結(jié)束主程序,返回到主程序的第

40、一條指令執(zhí)行。在梯形圖中該指令不能連接在左側(cè)母線(xiàn)上、END只能用在主程序中,不能用在子程序和中斷程序中。 (2)無(wú)條件結(jié)束指令MEND:無(wú)條件結(jié)束主程序,返回到主程序的第一條指令執(zhí)行。在梯形圖中該指令直接連接在左側(cè)母線(xiàn)上。 (3)在允許輸入有效時(shí)立即終止程序的執(zhí)行,CPU的工作方式由運(yùn)行(RUN)模式進(jìn)入停止(STOP)模式。在中斷程序中執(zhí)行STOP指令,該中斷立即終止,并忽略全部等待執(zhí)行的中斷,繼續(xù)執(zhí)行主程序的剩余部分,并在主程序結(jié)束時(shí)完成從運(yùn)行模式到停止模式的轉(zhuǎn)換。 (4)警戒時(shí)鐘刷新指令WDR(看門(mén)狗復(fù)位指令):為了保證系統(tǒng)可靠運(yùn)行,PLC內(nèi)部都設(shè)置了系統(tǒng)監(jiān)控定時(shí)器WDT,用于監(jiān)控掃描周

41、期是否超時(shí)。當(dāng)掃描到定時(shí)器WDT時(shí),定時(shí)器WDT將復(fù)位。 定時(shí)器WDT有一個(gè)設(shè)定值(100300ms),系統(tǒng)正常工作時(shí),所需掃描時(shí)間小于WDT的設(shè)定值,WDT被及時(shí)復(fù)位。 系統(tǒng)出現(xiàn)故障時(shí),掃描時(shí)間大于WDT的設(shè)定值,WDT不能及時(shí)復(fù)位,則會(huì)出現(xiàn)報(bào)警并停止CPU運(yùn)行,同時(shí)復(fù)位輸入、輸出。 這種故障稱(chēng)為WDT故障,以防止系統(tǒng)故障或程序進(jìn)入死循環(huán)而引起掃描周期過(guò)長(zhǎng)。 STOP和END指令通常在程序中用來(lái)對(duì)突發(fā)緊急事件進(jìn)行處理。網(wǎng)絡(luò)1 STOP、END、WDR使用舉例SM5.0(STOP)I0.3網(wǎng)絡(luò)2I0.5(END)網(wǎng)絡(luò)3M0.4(WDR)LD SM5.0 / 檢查I/O錯(cuò)誤O SM4.3 / 運(yùn)

42、行時(shí)檢查編程O(píng) I0.3 / 外部切換開(kāi)關(guān)STOP / 條件滿(mǎn)足,由RUN切換到 / STOP方式LD I0.5 / 外部停止控制ENDLD M0.4 / 用觸點(diǎn)重新觸發(fā)WDR / 看門(mén)狗定時(shí)器圖 結(jié)束、停止及看門(mén)狗指令舉例SM4.3 跳轉(zhuǎn)及標(biāo)號(hào)指令 (1)跳轉(zhuǎn)及標(biāo)號(hào)指令概念 跳轉(zhuǎn)指令使程序跳轉(zhuǎn)到指定標(biāo)號(hào)n處的程序分支執(zhí)行。標(biāo)號(hào)指令標(biāo)記跳轉(zhuǎn)目的地的位置n。 (2)跳轉(zhuǎn)及標(biāo)號(hào)指令nJMP nLBL n當(dāng)輸入端有效時(shí),把程序的執(zhí)行跳轉(zhuǎn)到指定的標(biāo)號(hào)處指定跳轉(zhuǎn)的目標(biāo)標(biāo)號(hào),操作數(shù)0244功 能梯形圖指令表(JMP)nLBL(3)指令舉例 手動(dòng)與自動(dòng)電路的轉(zhuǎn)換 3JMP( )I0.0 LBL LBL34手

43、動(dòng)程序( ) 4JMPI0.0自動(dòng)程序LD I0.0JMP 3LBL 3LDN I0.0JMP 4LBL 4 /若I0.0為ON,跳轉(zhuǎn)到LBL3處/執(zhí)行“自動(dòng)程序”/若I0.0為OFF,程序順序執(zhí)行/“手動(dòng)程序”后,跳轉(zhuǎn)到LBL4處 循環(huán)指令 (1)指令格式梯形圖指令表說(shuō) 明FORENINDXINITFINALENOFOR INDX,INIT,F(xiàn)INAL循環(huán)體開(kāi)始EN:使能輸入端INDX:循環(huán)計(jì)數(shù)器INIT:初值FINAL:終值( NEXT)NETX循環(huán)體結(jié)束操作數(shù)INDX:VW、T、C、IW、QW、MW、SMW、AC、*AC、*AD、SWINIT、FINAL :VW、T、C、IW、QW、MW

44、、SMW、AC、AIN、 常數(shù)、*AC、*AD、SW (2)指令工作過(guò)程 使能輸入端(EN)有效,循環(huán)體開(kāi)始執(zhí)行,執(zhí)行到NEXT指令時(shí)返回。每 執(zhí)行一次循環(huán)體,當(dāng)前計(jì)數(shù)器加1,達(dá)到終值(FINAL)時(shí),結(jié)束循環(huán)。 (3)使用說(shuō)明 (A)FOR和NEXT必須成對(duì)使用 (B)必須給FOR指令指定循環(huán)計(jì)數(shù)器(INDX)、初值(INIT)和 終值(FINAL)。 (C)FOR和NEXT之間的程序步稱(chēng)為循環(huán)體,每執(zhí)行一次循環(huán)體,計(jì)數(shù)器加1,并將其結(jié)果與循環(huán)終止比較,如果大于終值則停止循環(huán)。 (D)FOR和NEXT指令可以嵌套,但最多嵌套8層,但各嵌套層不可交叉。 (E)如初值大于終值時(shí),循環(huán)體不被執(zhí)行。

45、 (4) 指令舉例FORENINDXINITFINALENOFORENINDXINITFINALENOI0.0I0.1VW100+1100VW220+15(NEXT)(NEXT)12LD I0.0FOR VW100,1,100LD I0.1FOR VW220,1,5NEXTNEXT 子程序操作指令 (1) 子程序的概念:在程序的實(shí)際應(yīng)用中,有些程序內(nèi)容可能被反復(fù)使用,對(duì)這些被反復(fù)使用的程序可編成一個(gè)單獨(dú)的程序塊。執(zhí)行程序時(shí)可隨時(shí)調(diào)用這些程序塊,這類(lèi)程序塊叫做子程序。(2)子程序操作指令梯形圖指令表 功 能SBR-nENCALL SBR-n子程序調(diào)用( CRET)CRET子程序條件返回 數(shù)據(jù)范圍

46、N:063(3) 指令使用說(shuō)明 (A)主程序可以用CALL指令來(lái)調(diào)用一個(gè)子程序,該指令把程序控制權(quán) 交給子程序n。 (B)當(dāng)執(zhí)行子程序時(shí),子程序?qū)?zhí)行全部指令直至滿(mǎn)足返回條件才返回,或執(zhí)行到子程序末尾而返回。 (C)子程序返回時(shí),返回到原主程序出口的下一條指令執(zhí)行,繼續(xù)往下掃描程序。 (D)在中斷程序、子程序這可以調(diào)用子程序,但子程序不能調(diào)用自己。子程序的嵌套深度為8層。子程序的調(diào)用還可以帶參數(shù)。CPU226XM:127 子程序調(diào)用指令舉例SBR_0EN( )( )( )網(wǎng)絡(luò)1 SBR_0I0.1Q0.0網(wǎng)絡(luò)1 主程序網(wǎng)絡(luò)2I0.2I0.3網(wǎng)絡(luò)3CRETQ0.1/主程序LD I0.0 /當(dāng)I0

47、.0=1時(shí)CALL SBR_0 /調(diào)用子程序SBR_0/子程序LD I0.1 = Q0.0LD I0.2 /當(dāng)I0.2=1時(shí)CRET /立即返回主程序LD I0.3= Q0.1梯形圖指令表 子程序返回指令無(wú)條件返回?zé)o條件返回(RET):用于子程序結(jié)束。:用于子程序結(jié)束。條件返回(條件返回(CRET):只能用于子程序內(nèi)部。):只能用于子程序內(nèi)部。4) .帶參數(shù)的子程序調(diào)用子程序最多可以傳遞16個(gè)參數(shù)。參數(shù)在子程序的局部變量表加以定義。參數(shù)包含下列信息:變量名、變量類(lèi)型和數(shù)據(jù)類(lèi)型。變量名 變量名最多用8個(gè)字符表示,第一個(gè)字符不能是數(shù)字。變量類(lèi)型 變量類(lèi)型是按變量對(duì)應(yīng)數(shù)據(jù)的傳遞方向來(lái)劃分的,可以是傳

48、入子 程序(IN)、傳入和傳出子程序 (IN/OUT)、傳出子程序(OUT)和暫時(shí)變量(TEMP)等4種類(lèi)型。4種變量類(lèi)型的參數(shù)在變量表中的位置必須按照一定的先后順序。數(shù)據(jù)類(lèi)型 局部變量表中還要對(duì)數(shù)據(jù)類(lèi)型進(jìn)行聲明。數(shù)據(jù)類(lèi)型可以是:能流、布爾型、字節(jié)型、字型、雙字型、整數(shù)型、雙整數(shù)型和實(shí)型。常數(shù)參數(shù)必須聲明數(shù)據(jù)類(lèi)型。輸入或輸出參數(shù)沒(méi)有自動(dòng)數(shù)據(jù)類(lèi)型轉(zhuǎn)換功能。參數(shù)在調(diào)用時(shí)必須按一定的順序排列。(1) 子程序參數(shù)(2) 參數(shù)子程序調(diào)用的規(guī)則(3) 變量表的使用按照子程序指令的調(diào)用順序,參數(shù)值分配給局部變量存儲(chǔ)器,起始地址是L0.0。使用編程軟件時(shí),地址分配是自動(dòng)的。參數(shù)子程序調(diào)用指令格式:CALL 子

49、程序名,參數(shù)1,參數(shù)2,參數(shù)n。(4) 程序?qū)嵗聢D 為一個(gè)帶參數(shù)調(diào)用的子程序?qū)嵗?,其局部變量分配如?下表所列。說(shuō)明: 下圖中的STL程序并不是從下圖中的LAD轉(zhuǎn)換過(guò)來(lái)的,而是單獨(dú)編寫(xiě)的。同樣從圖STL也轉(zhuǎn)換不成圖中的LAD。LD I0.0CALL SBR_1,I0.1,VB10,I1.0,&VB100,*AC1,VD200I0.0I0.1VB10I01.0*AC1SBR_1ENIN1IN2IN3IN4IN/OUT1OUT1VD200圖 帶參數(shù)子程序調(diào)用舉例L地址參數(shù)名參數(shù)類(lèi)型數(shù)據(jù)類(lèi)型說(shuō)明無(wú)L0.0LB1LW7LD3LB2.0ENIN1IN2IN3IN4IN/OUT1ININININ

50、ININ/OUTBOOLBOOLBOOLBYTEDWORDWORD指令使能輸入?yún)?shù)第1個(gè)輸入?yún)?shù),布爾型第3個(gè)輸入?yún)?shù),布爾型第2個(gè)輸入?yún)?shù),字節(jié)型第4個(gè)輸入?yún)?shù),雙字型第1個(gè)輸入/輸出參數(shù),字型表 局部變量表返回&VB100LD9OUTDWORD第1個(gè)輸出參數(shù),雙字型OUT16 與ENO指令ENO是LAD中指令盒的布爾能流輸出端。如果指令盒的能流端有效,則執(zhí)行沒(méi)有錯(cuò)誤,ENO就置位,并將能流向下傳遞。ENO可以作為允許位表示指令成功執(zhí)行。STL指令沒(méi)有EN輸入,但對(duì)要執(zhí)行的指令,其棧頂值必須為1??捎谩芭c”ENO(AENO)指令來(lái)產(chǎn)生和指令盒中的ENO位相同的功能。指令格式:AENO

51、AENO指令無(wú)操作數(shù),且只在STL中使用,它將棧頂值和ENO 位的邏輯進(jìn)行與運(yùn)算,運(yùn)算結(jié)果保存到棧頂。AENO指令使用較少。AENO指令的用法如圖5-27所示。圖5-27 AENO 指令用法舉例網(wǎng)絡(luò)1 與ENO使用舉例I0.0ADD_IENENATCHENOENOIN1IN2INTEVNTINT_010VW204VW200VW204LD I0.0 /使能輸入+I VW200,VW204 /整數(shù)加法,VW200+VW204=VW204AENO /與ENO指令A(yù)TCH INT_0,10 /如果+I指令執(zhí)行正確,則調(diào)用中斷程序 INT_0,中斷事件號(hào)為10返回三 編程語(yǔ)言及程序結(jié)構(gòu) IEC 1131

52、-3指令集支持完全數(shù)據(jù)檢查梯形圖(LAD)功能塊圖(FBD)不支持完全數(shù)據(jù)檢查梯形圖(LAD)功能塊圖(FBD)語(yǔ)句表(STL)SIMATIC指令集 S7200的指令集 梯形圖(LAD):由觸點(diǎn)、線(xiàn)圈或功能塊組成。梯形圖左邊一條豎線(xiàn)稱(chēng)為左母線(xiàn),右邊一條稱(chēng)為右母線(xiàn)(在S7-200中省略)。觸點(diǎn)代表邏輯輸入條件,線(xiàn)圈代表邏輯輸出結(jié)果,功能塊用來(lái)表示定時(shí)器、計(jì)數(shù)器或數(shù)學(xué)運(yùn)算等附加指令。梯形圖中編程元件的“動(dòng)合”或“動(dòng)斷”其本質(zhì)是PLC內(nèi)部某一存儲(chǔ)器數(shù)據(jù)“位”的狀態(tài);線(xiàn)圈代表CPU對(duì)存儲(chǔ)器的寫(xiě)操作;連線(xiàn)代表指令處理的順序關(guān)系(從左到右,從上到下)。梯形圖流向清楚、簡(jiǎn)單、直觀、易懂,很適合電氣工程人員使

53、用。是第一用戶(hù)語(yǔ)言。組成元素含義代表元件觸點(diǎn)線(xiàn)圈輸入條件輸出結(jié)果功能塊附加指令開(kāi)關(guān)、按鈕、內(nèi)部條件外部負(fù)載或內(nèi)部輸出定時(shí)器、計(jì)數(shù)器及隔著運(yùn)算( )5INPTTONT33I0.0T33M0.0M0.0I0.0常開(kāi)觸點(diǎn)常閉觸點(diǎn)輸出線(xiàn)圈功能塊梯形圖左母線(xiàn) 能流:假想的電流,從左到右,從上到下。觸點(diǎn)導(dǎo)通“能流”通過(guò),觸點(diǎn)斷開(kāi),“能流”不能通過(guò)。主要用來(lái)分析PLC的控制過(guò)程。 網(wǎng)絡(luò):觸點(diǎn)和線(xiàn)圈構(gòu)成的具有獨(dú)立功能的電路。T33INPTTONnetwork1300( )Q0.0T33I0.2network2梯形圖網(wǎng)絡(luò)1網(wǎng)絡(luò)2注釋延時(shí)輸出網(wǎng)絡(luò)編號(hào):PLC是通過(guò)網(wǎng)絡(luò)編號(hào)來(lái)識(shí)別網(wǎng)絡(luò)的 語(yǔ)句表(STL):是利用助記

54、符來(lái)表達(dá)PLC的各種控制功能的。類(lèi)似于計(jì)算機(jī)的匯編語(yǔ)言,直觀、易懂、簡(jiǎn)單,一般與梯形圖語(yǔ)言配合使用。熟悉PLC和邏輯編程的有經(jīng)驗(yàn)的程序員最適合使用語(yǔ)句表編程。但注意不同廠家的PLC語(yǔ)句表使用的助記符是不相同的。 S7-200 系列PLC的程序結(jié)構(gòu) S7-200 系列PLC的程序由三部分組成:用戶(hù)程序 + 數(shù)據(jù)塊 + 參數(shù)塊 用戶(hù)程序是必選項(xiàng),可以管理其他塊。用戶(hù)程序由三個(gè)基本元素構(gòu)成: 主程序子程序1子程序m中斷程序1中斷程序n程序結(jié)構(gòu)圖主程序:主程序是程序的主體,每個(gè)項(xiàng)目都必須有并只能有一個(gè)主程序。在主程序中可以調(diào)用子程序和中斷程序。主程序控制整個(gè)程序的執(zhí)行,每次CPU掃描都要執(zhí)行一次主程序

55、。子程序:子程序是一個(gè)可選的指令集合,僅在被其他程序調(diào)用時(shí)才執(zhí)行。同一子程序可在不同的地方被多次調(diào)用,使用子程序可以簡(jiǎn)化程序和減少掃描時(shí)間。中斷程序:中斷程序是指令的一個(gè)可選集合,中斷程序不是被主程序調(diào)用,它們?cè)谥袛嗍录l(fā)生時(shí)由PLC的操作系統(tǒng)調(diào)用。中斷程序用來(lái)處理預(yù)先規(guī)定的中斷事件,應(yīng)為不能預(yù)指中斷事件何時(shí)發(fā)生,因此不允許中斷程序改寫(xiě)可能在其他程序中使用的存儲(chǔ)器。主程序 + 子程序(可選)+ 中斷程序(可選)四 、編程注意事項(xiàng)1 .梯形圖編程的基本規(guī)則 梯形圖編程的基本規(guī)則如下: (1)PLC內(nèi)部元器件觸點(diǎn)的使用次數(shù)是無(wú)限制的。 (2)梯形圖的每一行都是從左邊母線(xiàn)開(kāi)始,然后是各種觸點(diǎn)的邏輯連

56、接,最后以線(xiàn)圈或指令盒結(jié)束。觸點(diǎn)不能放在線(xiàn)圈的右邊。線(xiàn)圈連接時(shí)必須用并聯(lián),不能出現(xiàn)串聯(lián)形式。如圖 所示。但如果是以有能量傳遞的指令盒結(jié)束的指令,可以使用AENO指令在其后面連接指令盒(較少使用),如圖 所示。返回 如需要的話(huà)可通過(guò)特殊的中間繼電器SM0.0(常ON特殊中間繼電器)完成,如圖 所示。 雙線(xiàn)圈輸出非常容易引起誤動(dòng)作,所以應(yīng)避免使用。S7-200PLC中不允許雙線(xiàn)圈輸出。如圖 所示。 ( )( )M0.0M0.0I0.0I0.1在LAD中應(yīng)正確選擇設(shè)備所連的輸入繼電器的觸點(diǎn)類(lèi)型,使用常開(kāi)觸點(diǎn)還是常閉觸點(diǎn)與外部觸點(diǎn)有關(guān)。如圖 所示I0.0I0.1Q0.0PLC+24V( )I0.0I0

57、.1Q0.0Q0.0LLN啟動(dòng)啟動(dòng)停止停止I0.0I0.1Q0.0PLC+24V( )I0.0I0.1Q0.0Q0.0LLN啟動(dòng)啟動(dòng)停止停止圖圖 535(7) (9) 圖5-34所示為梯形圖的推薦畫(huà)法。2. LAD和STL編程形式的區(qū)別 利用PLC指令對(duì)梯形圖編程時(shí),可以把整個(gè)梯形圖程序看成由很多網(wǎng)絡(luò)塊組成,每個(gè)網(wǎng)絡(luò)塊均起始于母線(xiàn)。所有的網(wǎng)絡(luò)塊組合在一起就是梯形圖程序,這是S7-200PLC的特點(diǎn)。LAD程序可以通過(guò)編程軟件直接轉(zhuǎn)換為STL形式。S7-200PLC用STL編程時(shí),如果也以每個(gè)獨(dú)立的網(wǎng)絡(luò)塊為單位,則STL程序和LAD程序基本上是一一對(duì)應(yīng)的,而且兩者可以通過(guò)編程軟件相互轉(zhuǎn)換;如果不

58、以每個(gè)獨(dú)立的網(wǎng)絡(luò)塊為單位編程,而是連續(xù)編寫(xiě),則STL程序和LAD程序不能通過(guò)編程軟件相互轉(zhuǎn)換。大家在使用時(shí)要注意。 LAD是使用最多的編程語(yǔ)言,它非常直觀易懂,對(duì)每個(gè)人都適用;特別老練的人在某些情況下會(huì)直接使用STL形式編程,用STL形式編寫(xiě)的程序簡(jiǎn)短,但不直觀。 但不管怎么說(shuō),大家對(duì)這兩種形式的程序都應(yīng)該熟悉。特別是會(huì)用手工把一個(gè)LAD程序轉(zhuǎn)換為STL程序,這對(duì)進(jìn)一步理解PLC程序執(zhí)行的原理有很大的幫助。下面的一個(gè)典型例子說(shuō)明了從LAD到STL的轉(zhuǎn)換步驟。 對(duì)每一個(gè)獨(dú)立的LAD網(wǎng)絡(luò)塊中的程序,可分成若干小塊,對(duì)每個(gè)小塊按照從左到右,從上到下的原則進(jìn)行編程。然后將程序塊連接起來(lái),就完成了該網(wǎng)絡(luò)

59、塊的STL編程。圖 5-35 詳細(xì)介紹了語(yǔ)句表編程的步驟。四、典型的簡(jiǎn)單電路編程四、典型的簡(jiǎn)單電路編程 1 延時(shí)脈沖產(chǎn)生電路延時(shí)脈沖產(chǎn)生電路 2 瞬時(shí)接通瞬時(shí)接通/延時(shí)斷開(kāi)電路延時(shí)斷開(kāi)電路 3 延時(shí)接通延時(shí)接通/延時(shí)斷開(kāi)電路延時(shí)斷開(kāi)電路 4 脈沖寬度可控制電路脈沖寬度可控制電路 5 計(jì)數(shù)器的擴(kuò)展計(jì)數(shù)器的擴(kuò)展 6 長(zhǎng)定時(shí)電路長(zhǎng)定時(shí)電路 7 閃爍電路閃爍電路 8 報(bào)警電路報(bào)警電路 9 搶答器電路搶答器電路10 多個(gè)傳送帶控制示例多個(gè)傳送帶控制示例 1. 延時(shí)脈沖產(chǎn)生電路延時(shí)脈沖產(chǎn)生電路 在有輸入信號(hào)后,停一段時(shí)間產(chǎn)生一個(gè)脈沖。在有輸入信號(hào)后,停一段時(shí)間產(chǎn)生一個(gè)脈沖。主要用于獲取啟動(dòng)或關(guān)斷信號(hào)。主要

60、用于獲取啟動(dòng)或關(guān)斷信號(hào)。電路的程序及時(shí)序電路的程序及時(shí)序2 瞬時(shí)接通瞬時(shí)接通/延時(shí)斷開(kāi)電路延時(shí)斷開(kāi)電路 在輸入信號(hào)有效時(shí),馬上有輸出,而輸入信號(hào)在輸入信號(hào)有效時(shí),馬上有輸出,而輸入信號(hào)OFF后,輸出信號(hào)延時(shí)后才后,輸出信號(hào)延時(shí)后才OFF.電路的程序及時(shí)序電路的程序及時(shí)序3. 延時(shí)接通延時(shí)接通/延時(shí)斷開(kāi)電路延時(shí)斷開(kāi)電路該電路要求有信號(hào)輸入后,停一段時(shí)間輸出信號(hào)才該電路要求有信號(hào)輸入后,停一段時(shí)間輸出信號(hào)才為為ON,而輸入信號(hào),而輸入信號(hào)OFF后,輸出信號(hào)延時(shí)一段時(shí)間后,輸出信號(hào)延時(shí)一段時(shí)間才才OFF.電路的程序及時(shí)序電路的程序及時(shí)序4. 脈沖寬度可控制電路脈沖寬度可控制電路在輸入信號(hào)寬度不規(guī)范的情況下,要求每一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論