版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
可編程序控制器(PLC)第5章廖國(guó)華
中南大學(xué)信息學(xué)院自動(dòng)化系第5章可編程序控制器的基本指令及程序設(shè)計(jì)一、基本指令二、程序控制指令三、PLC編程規(guī)則四、典型環(huán)節(jié)程序示例五、PLC程序的簡(jiǎn)單設(shè)計(jì)法
邏輯取及線圈驅(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基本邏輯指令及舉例
S7-200系列PLC邏輯指令共有106條,廠家提供了梯形圖(LAD)、語(yǔ)句表(STL)、功能塊圖(FBD)和順序流程圖幾種編程語(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)與母線的連接。
LDN(LOADNOT):取反指令。用于網(wǎng)絡(luò)塊邏輯運(yùn)算開(kāi)始的常閉觸點(diǎn)與母線的連接。=(OUT):線圈的驅(qū)動(dòng)指令圖3-1為上面三條指令的用法注意事項(xiàng):LD、LDN指令不只是用于網(wǎng)絡(luò)塊邏輯計(jì)算開(kāi)始時(shí)與母線相連的常開(kāi)和常閉觸點(diǎn),在分支電路塊的開(kāi)始也使用LD、LDN指令,與后面要講的LD、OLD指令配合完成塊電路的編程。=指令不能用于輸入繼電器。=指令可連續(xù)使用任意次。在同一線圈中不要使用雙線圈輸出。LD、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(AndNot):與反指令。用于單個(gè)常閉觸點(diǎn)的串聯(lián)連接。注意事項(xiàng):
A、AN是單個(gè)觸點(diǎn)串聯(lián)連接指令,可連續(xù)使用,編程時(shí)只受到打印寬度和屏幕顯示的限制。
例中可以反復(fù)使用=指令,但次序必須正確。
A、AN指令的操作數(shù)為:I、Q、M、SM、T、C、V、S和L。(b)語(yǔ)句表()()M0.0M0.1Q0.0Q0.1LDM0.0LPSAM0.1=Q0.0LPP=Q0.13.觸點(diǎn)并聯(lián)指令O(or)或指令。用于單個(gè)常開(kāi)觸點(diǎn)的并聯(lián)連接ON(ornot)或反指令。用于單個(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.0LDM0.0OM0.1ONM0.2AI0.0OI0.1=Q0.0BACK(a)梯形圖(b)語(yǔ)句表網(wǎng)絡(luò)1觸點(diǎn)的并聯(lián)電路舉例4串聯(lián)電路塊的并聯(lián)連接指令OLD(orload)或塊指令:用于串聯(lián)電路塊的并聯(lián)連接兩個(gè)以上觸點(diǎn)串聯(lián)形成的支路叫串聯(lián)電路塊使用舉例
在電路塊的開(kāi)始也要使用LD、LDN指令每完成一次塊電路的并聯(lián)時(shí)要寫上OLD指令
OLD指令無(wú)操作數(shù)注意事項(xiàng)I0.0I0.1I0.2M0.0M0.1M0.2M0.3Q0.0LDI0.0AM0.0LDI0.1ANM0.1OLDLDNI0.2AM0.2OLDAM0.3=Q0.0BACK(a)梯形圖(b)語(yǔ)句表網(wǎng)絡(luò)1OLD指令使用舉例5并聯(lián)電路塊的串聯(lián)連接指令使用舉例ALD(AndLoad)與塊指令。用于并聯(lián)電路塊的串聯(lián)連接兩條以上支路并聯(lián)形成的電路叫并聯(lián)電路塊注意事項(xiàng)
在塊電路開(kāi)始時(shí)要使用LD和LDN指令在每完成一次塊電路的串聯(lián)連接后要寫上ALD指令
ALD指令無(wú)操作數(shù)BACK網(wǎng)絡(luò)1ALD指令使用舉例I0.0I0.1M0.0M0.2M0.1M0.3Q0.0LDI0.0OI0.1LDM0.0AM0.1LDM0.2ANM0.3OLDALD=Q0.0
(a)梯形圖(b)語(yǔ)句表6.置位、復(fù)位指令LADSTL功能置位指令bitSNSbit,N從bit開(kāi)始的N個(gè)元件置1并保持復(fù)位指令bitRNRbit,N從bit開(kāi)始的N個(gè)元件清零并保持表1置位復(fù)位指令的功能表使用說(shuō)明使用舉例()()網(wǎng)絡(luò)1置位網(wǎng)絡(luò)2復(fù)位I0.0Q0.0I0.1S2Q0.0R2LDI0.0SQ0.0,2LDI0.1RQ0.1,2BACK(a)梯形圖(b)語(yǔ)句表I0.0I0.1(c)時(shí)序圖Q0.0,Q0.1對(duì)元件來(lái)說(shuō)一旦被置位,就保持在通電狀態(tài),除非在對(duì)它復(fù)位;而一旦被復(fù)位,就保持在斷電狀態(tài),除非在對(duì)它置位S/R指令可以互換次序使用,但由于PLC采用掃描工作方式,所以寫在后面的指令具有優(yōu)先權(quán)如果對(duì)記數(shù)器和定時(shí)器復(fù)位,則記數(shù)器和定時(shí)器的當(dāng)前值被清零N的常數(shù)范圍為1-255,N也可為:VB、IB、QB、MB、SMB、SB、LB、AC、常數(shù)、*VD、*AC、*LD。一般情況下使用常數(shù)S/R指令的操作數(shù)為:I、Q、M、SM、T、C、V、S、和LBACK注意事項(xiàng):7.RS觸發(fā)指令SR(setdominantbistable)置位優(yōu)先觸發(fā)指令。當(dāng)置位信號(hào)和復(fù)位信號(hào)都為真時(shí),輸出為真RS(resetdominantbistable)復(fù)位優(yōu)先觸發(fā)指令。當(dāng)置位信號(hào)和復(fù)位信號(hào)都為真時(shí),輸出為假RS1SROUTbitR1SRSOUTbit
指令S1R輸出(bit)置位優(yōu)先觸發(fā)指令(SR)00保持前一狀態(tài)010101111
指令SR1輸出(bit)復(fù)位優(yōu)先觸發(fā)指令RS)00保持前一狀態(tài)010101110RS觸發(fā)器指令的真值表*19例1:電機(jī)起??刂埔阎浩饎?dòng)按鈕信號(hào)接入I0.0
停止按鈕信號(hào)接入I0.1
電機(jī)運(yùn)行命令由Q0.0輸出M3~KM1FR1M1QSFUL1L2L3SB1SB2KKM1M1FR1Q0.0KM1~220VI0.0I0.1SB1SB2*20*21*22例2:用單按鈕實(shí)現(xiàn)電機(jī)起??刂埔阎喊粹o信號(hào)接入I0.0
電機(jī)運(yùn)行命令由Q0.0輸出KM1Q0.0I0.0~220VM3~KM1FR1M1QSFUL1L2L3*23例3:正反轉(zhuǎn)向電機(jī)起停控制已知:正轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.0
反轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.11
停止按鈕信號(hào)接入I0.2
電機(jī)正轉(zhuǎn)運(yùn)行命令由Q0.0輸出、反轉(zhuǎn)運(yùn)行命令由Q0.0輸出。KM1Q0.0I0.0I0.2~220VI0.1KM2Q0.1~220VM3~KM1FR1M1QSFUL1L2L3KM28.立即指令(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í)寫到PLC的物理輸出點(diǎn)和相應(yīng)的輸出映像寄存器。網(wǎng)絡(luò)1立即指令舉例網(wǎng)絡(luò)2I0.0Q0.0IQ0.11SIQ0.2Q0.3II0.0LDI0.0=Q0.0=IQ0.1SIQ0.2,1LDII0.0=Q0.3BACK(a)梯形圖(b)語(yǔ)句表掃描周期nn+1n+2n+3Q0.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ì)Q進(jìn)行操作,新值既寫物理輸出點(diǎn),也寫輸出映像寄存器tt9.邊沿脈沖指令指令名稱LADSTL功能說(shuō)明上升沿脈沖EU在上升沿產(chǎn)生脈沖無(wú)操作數(shù)下降沿脈沖ED在下降沿產(chǎn)生脈沖PN使用舉例10.邏輯堆棧操作指令LPS(logicpush)邏輯入棧指令LRD(logicread)邏輯讀棧指令LPP(logicpop)邏輯出棧指令LDS(loadstack)
裝入堆棧指令使用舉例1使用舉例2使用舉例3s7-PLC使用9層堆棧來(lái)處理所有的邏輯操作,邏輯堆棧指令主要完成對(duì)觸點(diǎn)進(jìn)行的復(fù)雜連接。注意事項(xiàng)分支電路開(kāi)始指令。其作用是把棧頂值復(fù)制后壓入堆棧開(kāi)始第二個(gè)以后的從邏輯塊的編程,其作用是讀取最近LPS壓入堆棧的內(nèi)容,而本身不進(jìn)行PUSH和POP工作分支電路結(jié)束指令。其作用把堆棧彈出一級(jí),堆棧內(nèi)容依次上移復(fù)制堆棧中的n個(gè)值到棧頂,而棧底丟失。STL:LDSn(n為0~8的整數(shù))串聯(lián)堆棧。進(jìn)棧時(shí),數(shù)據(jù)由棧頂壓入,堆棧中原數(shù)據(jù)行被串行下移一位,在棧底(STRCK8)是數(shù)據(jù)則丟失;出棧時(shí),數(shù)據(jù)從棧頂被取出,所有數(shù)據(jù)向上串行名稱說(shuō)明STRCK8STRCK0STRCK1STRCK2STRCK3STRCK4STRCK5STRCK6STRCK7第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)指令指令表功能說(shuō)明指令表功能說(shuō)明ALD棧裝載與,電路塊串聯(lián)連接LRD邏輯讀棧OLD棧裝載或,電路塊并聯(lián)連接LPP邏輯出棧LPS邏輯入棧LDS裝載堆棧S0S8S7S6S5S4S3S2S1S0·S1XS8S7S6S5S4S3S2執(zhí)行后執(zhí)行前S0S8S7S6S5S4S3S2S1S0+S1XS8S7S6S5S4S3S2執(zhí)行后執(zhí)行前棧裝載與(ALD)棧裝載或(OLD)由兩以上支路并形成的電路塊稱為并聯(lián)電路塊。并聯(lián)電路塊與前面電路串聯(lián)時(shí)要使用ALD指令由兩以上觸點(diǎn)串形成的支路稱為串聯(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ò)2NETWORK1LDI0.0AI0.1LDI1.0AI1.1LDI2.0AI2.1OLD=Q6.0兩個(gè)或兩個(gè)以上的串聯(lián)電路塊并聯(lián)時(shí)要使用棧裝載或(OLD)指令NETWORK2LDI3.1OI3.3LDI3.2OI3.4ALD=Q6.1并聯(lián)電路塊與前
面電路串聯(lián)時(shí)要
使用棧裝載與
(ALD)指令棧裝載與、棧裝載或指令舉例邏輯讀棧(LRD)S0S8S7S6S5S4S3S2S1S1S8S7S6S5S4S3S2執(zhí)行后執(zhí)行前S1將堆棧中第2層的數(shù)據(jù)復(fù)制到棧頂?shù)?~9層的數(shù)據(jù)不變,堆棧沒(méi)有入棧或出棧操作,但原棧頂值被新的復(fù)制值取代。邏輯入棧(LPS)S0S8S7S6S5S4S3S2S1S1S7S6S5S4S3S2執(zhí)行后執(zhí)行前S0S0將棧頂值復(fù)制后壓入堆棧,堆棧中原來(lái)各級(jí)的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。S8丟失S0被覆蓋用于生成一條新母線,其左側(cè)為原來(lái)的主邏輯塊,右側(cè)為新的從邏輯塊,LPS開(kāi)始右側(cè)的第1個(gè)從邏輯塊編程。也叫分支電路開(kāi)始指令當(dāng)新母線左側(cè)為主邏輯塊時(shí)LRD開(kāi)始右側(cè)的第2個(gè)以后的從邏輯塊編程。該指令在編程中使用較少。S0S8S7S6S5S4S3S2S1S1XS8S7S6S5S4S3S2執(zhí)行后執(zhí)行前邏輯出棧(LPP)將棧頂?shù)闹祻棾?,堆棧中原?lái)各級(jí)的數(shù)據(jù)依次向上一級(jí)推移,棧頂值從棧內(nèi)丟失,原堆棧2級(jí)的值成為新的棧頂值。代表不確定值裝載堆棧(LDS3)S0S8S7S6S5S4S3S2S1S1S7S6S5S4S3S2執(zhí)行后執(zhí)行前S0S3將棧內(nèi)底n級(jí)的值復(fù)制到棧頂,堆棧中原來(lái)各級(jí)的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。這是第3級(jí)被裝載哦?。↙DS3)S0丟失S8丟失用于將LPS指令生成一條新的母線復(fù)位。因此也叫分支電路結(jié)束指令。堆棧指令使用時(shí)要注意:
⒈由于受堆??臻g的限制(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.2NETWORK1LDI0.0LPSLDI0.1OI0.2ALD=Q1.0LRDLDI0.3OI0.4ALD=Q1.1LPPAI0.5=Q1.2()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ù)位新母線,與PLS成對(duì)出現(xiàn)梯形圖指令表BACKBACKBACK11.定時(shí)器1)種類定時(shí)器可分為2)分辨率與定時(shí)時(shí)間的計(jì)算
單位時(shí)間的時(shí)間增量稱為定時(shí)器的分辨率。定時(shí)器定時(shí)時(shí)間T的計(jì)算:T=PT×ST:實(shí)際定時(shí)時(shí)間PT:定時(shí)時(shí)間S:分辨率
PT數(shù)據(jù)類型為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í)器的名稱和它的常數(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)1ms10ms100msINPTTXTXXXTXXXTXXX11定時(shí)器指令
1)定時(shí)器的種類定時(shí)器是對(duì)PLC內(nèi)部的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)。S7-200PLC為用戶提供了三種類型的定時(shí)器:通電延時(shí)定時(shí)器(TON)、
有記憶的通電延時(shí)定時(shí)器(TONR)和失電延時(shí)定時(shí)器(TOF)。
⒉)定時(shí)器的分辨率、編號(hào)和定時(shí)時(shí)間的計(jì)算類型分辨率最大記時(shí)值定時(shí)器編號(hào)TONR1ms32.767sT0、6410ms327.76sT1~T4、T65~T68100ms3276.7sT5~T31、T69~T95TONTOF1ms32.767sT32、T9610ms327.67sT33~T36、T96~T100100ms3276.7sT37~T63、T101~T225分辨率:?jiǎn)挝粫r(shí)間的時(shí)間增量定時(shí)器時(shí)間的計(jì)算:T=PT*S實(shí)際定時(shí)時(shí)間設(shè)定值分辨率例:TON指令使用T97的定時(shí)器,設(shè)定值為100,則時(shí)間時(shí)間為T=100*10ms=1000ms⒊)定時(shí)器的指令格式
TXXXPTINTONTXXXPTINTONRTONTXXX,PTTONRTXXX,PT梯形圖指令表工作過(guò)程和用途1)首次掃描時(shí),定時(shí)器位為OFF,當(dāng)前值為02)當(dāng)使能輸入(IN)接通時(shí),定時(shí)器位為TON從0開(kāi)始計(jì)時(shí)3)當(dāng)前值≥設(shè)定值時(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)前值從原保持值開(kāi)始向上計(jì)時(shí),因此可累計(jì)多次輸入信號(hào)的接通時(shí)間7)此定時(shí)器必須用復(fù)位(R)指令清除當(dāng)前值8)用于許多間隔的累計(jì)定時(shí)TXXXPTINTOFTOFTXXX,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ù)的意義TXXXPTINT定時(shí)器號(hào)TXXX定時(shí)器編號(hào)定時(shí)器標(biāo)志定時(shí)器名稱通電延時(shí)定時(shí)器標(biāo)志
TONONR記憶通電延時(shí)OF失電延時(shí)使能輸入端設(shè)定值梯形圖記憶通電延時(shí)ONRTTXXXPT
定時(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。
通過(guò)定時(shí)器號(hào)既可以讀去定時(shí)器的當(dāng)前值,也可以用來(lái)讀取定時(shí)器的狀態(tài)位。
(2)預(yù)設(shè)值PT:數(shù)據(jù)類型為INT型,即字(16),與分辨率的乘積就是定時(shí)時(shí)間。
(3)使能輸入(導(dǎo)通條件):BOOL型,尋址范圍見(jiàn)后表。
輸入/輸出數(shù)據(jù)類型操作數(shù)TXXXINPT字(word)位(BOOL)整數(shù)(INT)常數(shù)(T0~T225)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.2NETWORK1LDI0.2TONT33,300
NETWORK2LDT33=Q0.0網(wǎng)絡(luò)2Q0.0I0.23sT33●PT梯形圖指令表時(shí)序圖通電(接通)延時(shí)定時(shí)器(TON)I0.23sT33當(dāng)前值●PTQ0.0<3sPT3s●最大值=32767時(shí)序圖T33INPTTON網(wǎng)絡(luò)1300()Q0.0T33I0.2NETWORK1LDI0.2TONT33,300
NETWORK2LDT33=Q0.0網(wǎng)絡(luò)2梯形圖指令表T33分辨率為10msT3INPTTONR網(wǎng)絡(luò)1100()Q0.0T3I0.0NETWORK1LDI0.0TONRT3,100
NETWORK2RT3,1NETWORK3LDT3=Q0.0網(wǎng)絡(luò)2Q0.0I0.0T3當(dāng)前值梯形圖指令表時(shí)序圖()I0.1T3R1網(wǎng)絡(luò)3t2●PT設(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).定時(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)前值保持不變。100ms定時(shí)器:100ms定時(shí)器在定時(shí)器指令執(zhí)行時(shí)被刷新,它僅用在定時(shí)器指令在每個(gè)掃描周期執(zhí)行一次的程序中。(2)定時(shí)器的正確使用1ms定時(shí)器的使用10ms定時(shí)器的使用100ms定時(shí)器的使用這是在最新版本的CPU中增加的有特殊功能的定時(shí)器,說(shuō)是定時(shí)器,其實(shí)是2條指令。使用這2條指令可以記錄某一信號(hào)的開(kāi)通時(shí)刻以及開(kāi)通延續(xù)的時(shí)間。PLC停電后,停止記錄。觸發(fā)時(shí)間間隔(BITIM,BeginningIntervalTime)該指令用來(lái)讀取PLC中內(nèi)置的1毫秒計(jì)數(shù)器的當(dāng)前值,并將該值存儲(chǔ)于OUT。雙字毫秒值的最大計(jì)時(shí)間隔為2的32次方,即49.7天。計(jì)算時(shí)間間隔(CITIM,CalculateIntervalTime)該指令計(jì)算當(dāng)前時(shí)間與IN所提供時(shí)間的時(shí)間差,并將該差值存儲(chǔ)于OUT。雙字毫秒值的最大計(jì)時(shí)間隔為2的32次方,即49.7天。2條指令的有效操作數(shù)為:IN和OUT端均為雙字。時(shí)間間隔定時(shí)器時(shí)間間隔定時(shí)器舉例12計(jì)數(shù)器1.幾種基本概念(1)種類
S7-200系列PLC的計(jì)數(shù)器有3種:增計(jì)數(shù)器CTU,增減計(jì)數(shù)器CTUD,減計(jì)數(shù)器CTD。(2)編號(hào)
計(jì)數(shù)器的編號(hào)用計(jì)數(shù)器名稱和數(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ù)表示,最大值為32767。計(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)前值等于預(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è)值而不是0CTUCXXX,PVCTUDCXXX,PV梯形圖指令表工作過(guò)程和用途CXXXRCUCTUPVCXXXCDCUCTUDRPVCXXXLDCDCTDPVCTDCXXX,PVPLC計(jì)數(shù)器的設(shè)定值和定時(shí)器的設(shè)定值不僅可以用程序設(shè)定,也可以通過(guò)PLC內(nèi)部的模擬電位器或PLC外接的撥碼開(kāi)關(guān)方便、直觀地隨時(shí)修改。輸入/輸出數(shù)據(jù)類型操作數(shù)CXXXCU、CD、R、LDPV位(BOOL)實(shí)數(shù)(INT)C0~C255I、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(CountUp)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ù)位輸入端有效,計(jì)數(shù)器自動(dòng)復(fù)位,計(jì)數(shù)器位為OFF,當(dāng)前值為0。STL指令格式:CTUCXXX,PV例CTUC20,3⒋計(jì)數(shù)器應(yīng)用舉例
C4CURCTU網(wǎng)絡(luò)14()Q0.0C4I2.4NETWORK1LDI2.4LDI2.5CTUC4,4
NETWORK2LDC4=Q0.0網(wǎng)絡(luò)2加計(jì)數(shù)器PVI2.53241567I2.4I2.5C4當(dāng)前值C4位Q0.0梯形圖指令表時(shí)序圖(a)梯形圖(b)語(yǔ)句表LDI0.0//計(jì)數(shù)脈沖信號(hào)輸入LDI0.1//復(fù)位脈沖信號(hào)輸入CTUC20,+3//增計(jì)數(shù),設(shè)定計(jì)數(shù)值LDC20//計(jì)數(shù)值為3時(shí)輸出=Q0.0I0.0I0.1C20當(dāng)前值C20位(c)時(shí)序圖(2)增減計(jì)數(shù)器CTUD(CountUp/Down)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。-32768327670~~CUCDSTL指令格式:CTUDCXXX,PV例CTUDC30,5(3)減計(jì)數(shù)器CTD(CountDown)LDCDPVCTDCXXXCXXXCXXXCD:脈沖遞減輸入端LD:復(fù)位輸入端PV:預(yù)設(shè)定端首次掃描,計(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指令格式:CTDCXXX,PV例CTDC40,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)閉合,即接通或截?cái)嗄芰鳌?/p>
在語(yǔ)句表中,比較指令與基本邏輯指令LD、A、O進(jìn)行組合后編程,當(dāng)比較結(jié)果為真時(shí),將棧頂值置為1。⒉)指令格式XXIN1IN2XXLDIN1,IN2比較觸點(diǎn)接起始母線IN1XXIN2XXAIN1,IN2LDIN比較觸點(diǎn)的與IN1XXIN2XXOIN1,IN2LDIN比較觸點(diǎn)的或梯形圖指令表功能(1)“XX”
表示
操作數(shù)IN1、IN2所滿足的條
件,
它們有:
==等于>=大于等于<=小于等于>大于<小于<>不等于B:字節(jié)比較I:整數(shù)比較D:雙字整數(shù)比較R:實(shí)數(shù)比較S:字符串比較(2)“”表示操作數(shù)IN1、IN2的數(shù)據(jù)類型即范圍,其中:說(shuō)明:IN1和IN2的數(shù)據(jù)要匹配哦(3)IN1與IN2的尋址范圍:I、QV、MSM、ST、CL、常數(shù)注意:不同數(shù)據(jù)類型的比較在LAD和STL中的表現(xiàn)方式是不同的使用是查表確定字符串比較指令只有=和<>兩種注意:
對(duì)于LAD的==,在STL為=;對(duì)于LAD的整數(shù)比較,數(shù)據(jù)類型為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)警PVI0.1梯形圖選用元件入庫(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)警器可用輸出線圈寄存器(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ù)比較NETWORK1LDI0.0LDI0.1CTUDC0,1000
NETWORK2LDSM0.0LPSAW<C0,100=Q1.0LRDAW>C0,900=Q1.1LPPAW>=C0,1000=Q1.2指令表增/減計(jì)數(shù)器設(shè)定值1000入棧,分支線路開(kāi)始指令讀棧,分支線路第2個(gè)以后的從邏輯塊編程出棧,分支線路結(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+30VD1<R95.8VB1>BVB2BACK梯形圖語(yǔ)句表LDW>=C30,+30=Q0.0LDI0.0AR<VD1,95.8=Q0.1LDI0.1OB>VB1,VB2=Q0.214NOT及NOP指令1).取反指令NOT
將復(fù)雜邏輯結(jié)果取反,為用戶使用反邏輯提供方便。該指令無(wú)操作數(shù),其LAD和STL形式如下。
STL形式:NOTLAD形式:——|NOT|——2).空操作指令NOP(NoOperation)
該指令用在跳轉(zhuǎn)指令結(jié)束處,或在調(diào)試程序中使用。其對(duì)用戶程序的執(zhí)行無(wú)影響,其LAD和STL形式如下。
STL形式:NOPNN的范圍:0~255LAD形式:——NOPN
二程序控制指令⒈結(jié)束、停止、看門狗復(fù)位指令梯形圖指令表操作數(shù)功能(END)(END)(WDR)(STOP)ENDMENDSTOPWDR無(wú)無(wú)無(wú)無(wú)有條件結(jié)束主程序無(wú)條件結(jié)束主程序暫停程序執(zhí)行警戒時(shí)鐘刷新(1)有條件結(jié)束指令END:執(zhí)行條件成立(左側(cè)邏輯值為1)是結(jié)束主程序,返回到主程序的第一條指令執(zhí)行。在梯形圖中該指令不能連接在左側(cè)母線上、END只能用在主程序中,不能用在子程序和中斷程序中。
(2)無(wú)條件結(jié)束指令MEND:無(wú)條件結(jié)束主程序,返回到主程序的第一條指令執(zhí)行。在梯形圖中該指令直接連接在左側(cè)母線上。
(3)在允許輸入有效時(shí)立即終止程序的執(zhí)行,CPU的工作方式由運(yùn)行(RUN)模式進(jìn)入停止(STOP)模式。在中斷程序中執(zhí)行STOP指令,該中斷立即終止,并忽略全部等待執(zhí)行的中斷,繼續(xù)執(zhí)行主程序的剩余部分,并在主程序結(jié)束時(shí)完成從運(yùn)行模式到停止模式的轉(zhuǎn)換。
(4)警戒時(shí)鐘刷新指令WDR(看門狗復(fù)位指令):為了保證系統(tǒng)可靠運(yùn)行,PLC內(nèi)部都設(shè)置了系統(tǒng)監(jiān)控定時(shí)器WDT,用于監(jiān)控掃描周期是否超時(shí)。當(dāng)掃描到定時(shí)器WDT時(shí),定時(shí)器WDT將復(fù)位。
定時(shí)器WDT有一個(gè)設(shè)定值(100~300ms),系統(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ù)位輸入、輸出。
這種故障稱為WDT故障,以防止系統(tǒng)故障或程序進(jìn)入死循環(huán)而引起掃描周期過(guò)長(zhǎng)。
STOP和END指令通常在程序中用來(lái)對(duì)突發(fā)緊急事件進(jìn)行處理。網(wǎng)絡(luò)1STOP、END、WDR使用舉例SM5.0(STOP)I0.3網(wǎng)絡(luò)2I0.5(END)網(wǎng)絡(luò)3M0.4(WDR)LDSM5.0//檢查I/O錯(cuò)誤OSM4.3//運(yùn)行時(shí)檢查編程OI0.3//外部切換開(kāi)關(guān)STOP//條件滿足,由RUN切換到
//STOP方式LDI0.5//外部停止控制ENDLDM0.4//用觸點(diǎn)重新觸發(fā)WDR//看門狗定時(shí)器圖
結(jié)束、停止及看門狗指令舉例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)指令nJMPnLBLn當(dāng)輸入端有效時(shí),把程序的執(zhí)行跳轉(zhuǎn)到指定的標(biāo)號(hào)處指定跳轉(zhuǎn)的目標(biāo)標(biāo)號(hào),操作數(shù)0~244功能梯形圖指令表(JMP)nLBL(3)指令舉例手動(dòng)與自動(dòng)電路的轉(zhuǎn)換3JMP()I0.0LBLLBL34手動(dòng)程序()4JMPI0.0自動(dòng)程序LDI0.0JMP3LBL3LDNI0.0JMP4LBL4
……//若I0.0為ON,跳轉(zhuǎn)到LBL3處//執(zhí)行“自動(dòng)程序”//若I0.0為OFF,程序順序執(zhí)行//“手動(dòng)程序”后,跳轉(zhuǎn)到LBL4處⒋循環(huán)指令
(1)指令格式梯形圖指令表說(shuō)明FORENINDXINITFINALENOFORINDX,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、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之間的程序步稱為循環(huán)體,每執(zhí)行一次循環(huán)體,計(jì)數(shù)器加1,并將其結(jié)果與循環(huán)終止比較,如果大于終值則停止循環(huán)。
(D)FOR和NEXT指令可以嵌套,但最多嵌套8層,但各嵌套層不可交叉。
(E)如初值大于終值時(shí),循環(huán)體不被執(zhí)行。
(4)指令舉例FORENINDXINITFINALENOFORENINDXINITFINALENOI0.0I0.1VW100+1100VW220+15(NEXT)(NEXT)………………12LDI0.0FORVW100,1,100LDI0.1FORVW220,1,5NEXTNEXT…………⒌子程序操作指令(1)子程序的概念:在程序的實(shí)際應(yīng)用中,有些程序內(nèi)容可能被反復(fù)使用,對(duì)這些被反復(fù)使用的程序可編成一個(gè)單獨(dú)的程序塊。執(zhí)行程序時(shí)可隨時(shí)調(diào)用這些程序塊,這類程序塊叫做子程序。(2)子程序操作指令梯形圖指令表功能SBR-nENCALLSBR-n子程序調(diào)用(CRET)CRET子程序條件返回?cái)?shù)據(jù)范圍N:0~63(3)指令使用說(shuō)明(A)主程序可以用CALL指令來(lái)調(diào)用一個(gè)子程序,該指令把程序控制權(quán)交給子程序n。
(B)當(dāng)執(zhí)行子程序時(shí),子程序?qū)?zhí)行全部指令直至滿足返回條件才返回,或執(zhí)行到子程序末尾而返回。
(C)子程序返回時(shí),返回到原主程序出口的下一條指令執(zhí)行,繼續(xù)往下掃描程序。
(D)在中斷程序、子程序這可以調(diào)用子程序,但子程序不能調(diào)用自己。子程序的嵌套深度為8層。子程序的調(diào)用還可以帶參數(shù)。CPU226XM:127子程序調(diào)用指令舉例SBR_0EN()()()網(wǎng)絡(luò)1SBR_0I0.1Q0.0網(wǎng)絡(luò)1主程序網(wǎng)絡(luò)2I0.2I0.3網(wǎng)絡(luò)3CRETQ0.1//主程序LDI0.0//當(dāng)I0.0=1時(shí)CALLSBR_0//調(diào)用子程序SBR_0//子程序LDI0.1=Q0.0LDI0.2//當(dāng)I0.2=1時(shí)CRET//立即返回主程序LDI0.3=Q0.1梯形圖指令表子程序返回指令無(wú)條件返回(RET):用于子程序結(jié)束。條件返回(CRET):只能用于子程序內(nèi)部。4).帶參數(shù)的子程序調(diào)用子程序最多可以傳遞16個(gè)參數(shù)。參數(shù)在子程序的局部變量表加以定義。參數(shù)包含下列信息:變量名、變量類型和數(shù)據(jù)類型。變量名變量名最多用8個(gè)字符表示,第一個(gè)字符不能是數(shù)字。變量類型變量類型是按變量對(duì)應(yīng)數(shù)據(jù)的傳遞方向來(lái)劃分的,可以是傳入子程序(IN)、傳入和傳出子程序(IN/OUT)、傳出子程序(OUT)和暫時(shí)變量(TEMP)等4種類型。4種變量類型的參數(shù)在變量表中的位置必須按照一定的先后順序。數(shù)據(jù)類型局部變量表中還要對(duì)數(shù)據(jù)類型進(jìn)行聲明。數(shù)據(jù)類型可以是:能流、布爾型、字節(jié)型、字型、雙字型、整數(shù)型、雙整數(shù)型和實(shí)型。常數(shù)參數(shù)必須聲明數(shù)據(jù)類型。輸入或輸出參數(shù)沒(méi)有自動(dòng)數(shù)據(jù)類型轉(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子程序名,參數(shù)1,參數(shù)2,……參數(shù)n。(4)程序?qū)嵗聢D
為一個(gè)帶參數(shù)調(diào)用的子程序?qū)嵗?,其局部變量分配如表下表所列。說(shuō)明:下圖中的STL程序并不是從下圖中的LAD轉(zhuǎn)換過(guò)來(lái)的,而是單獨(dú)編寫的。同樣從圖STL也轉(zhuǎn)換不成圖中的LAD。LDI0.0CALLSBR_1,I0.1,VB10,I1.0,&VB100,*AC1,VD200I0.0I0.1VB10I01.0*AC1SBR_1ENIN1IN2IN3IN4IN/OUT1OUT1VD200圖帶參數(shù)子程序調(diào)用舉例L地址參數(shù)名參數(shù)類型數(shù)據(jù)類型說(shuō)明無(wú)L0.0LB1LW7LD3LB2.0ENIN1IN2IN3IN4IN/OUT1ININININININ/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位相同的功能。指令格式:AENOAENO指令無(wú)操作數(shù),且只在STL中使用,它將棧頂值和ENO位的邏輯進(jìn)行與運(yùn)算,運(yùn)算結(jié)果保存到棧頂。AENO指令使用較少。AENO指令的用法如圖5-27所示。圖5-27AENO指令用法舉例網(wǎng)絡(luò)1與ENO使用舉例I0.0ADD_IENENATCHENOENOIN1IN2INTEVNTINT_010VW204VW200VW204LDI0.0//使能輸入+IVW200,VW204//整數(shù)加法,VW200+VW204=VW204AENO//與ENO指令A(yù)TCHINT_0,10//如果+I指令執(zhí)行正確,則調(diào)用中斷程序INT_0,中斷事件號(hào)為10返回三編程語(yǔ)言及程序結(jié)構(gòu)
IEC1131-3指令集支持完全數(shù)據(jù)檢查梯形圖(LAD)功能塊圖(FBD)不支持完全數(shù)據(jù)檢查梯形圖(LAD)功能塊圖(FBD)語(yǔ)句表(STL)SIMATIC指令集⒈S7-200的指令集⒉梯形圖(LAD):由觸點(diǎn)、線圈或功能塊組成。梯形圖左邊一條豎線稱為左母線,右邊一條稱為右母線(在S7-200中省略)。觸點(diǎn)代表邏輯輸入條件,線圈代表邏輯輸出結(jié)果,功能塊用來(lái)表示定時(shí)器、計(jì)數(shù)器或數(shù)學(xué)運(yùn)算等附加指令。梯形圖中編程元件的“動(dòng)合”或“動(dòng)斷”其本質(zhì)是PLC內(nèi)部某一存儲(chǔ)器數(shù)據(jù)“位”的狀態(tài);線圈代表CPU對(duì)存儲(chǔ)器的寫操作;連線代表指令處理的順序關(guān)系(從左到右,從上到下)。梯形圖流向清楚、簡(jiǎn)單、直觀、易懂,很適合電氣工程人員使用。是第一用戶語(yǔ)言。組成元素含義代表元件觸點(diǎ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)輸出線圈功能塊梯形圖左母線能流:假想的電流,從左到右,從上到下。觸點(diǎn)導(dǎo)通“能流”通過(guò),觸點(diǎn)斷開(kāi),“能流”不能通過(guò)。主要用來(lái)分析PLC的控制過(guò)程。網(wǎng)絡(luò):觸點(diǎ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):是利用助記符來(lái)表達(dá)PLC的各種控制功能的。類似于計(jì)算機(jī)的匯編語(yǔ)言,直觀、易懂、簡(jiǎn)單,一般與梯形圖語(yǔ)言配合使用。熟悉PLC和邏輯編程的有經(jīng)驗(yàn)的程序員最適合使用語(yǔ)句表編程。但注意不同廠家的PLC語(yǔ)句表使用的助記符是不相同的。⒋S7-200系列PLC的程序結(jié)構(gòu)S7-200系列PLC的程序由三部分組成:用戶程序+數(shù)據(jù)塊+參數(shù)塊用戶程序是必選項(xiàng),可以管理其他塊。用戶程序由三個(gè)基本元素構(gòu)成:●●●●●●主程序子程序1子程序m中斷程序1中斷程序n程序結(jié)構(gòu)圖主程序:主程序是程序的主體,每個(gè)項(xiàng)目都必須有并只能有一個(gè)主程序。在主程序中可以調(diào)用子程序和中斷程序。主程序控制整個(gè)程序的執(zhí)行,每次CPU掃描都要執(zhí)行一次主程序。子程序:子程序是一個(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ā)生,因此不允許中斷程序改寫可能在其他程序中使用的存儲(chǔ)器。主程序+子程序(可選)+中斷程序(可選)四、編程注意事項(xiàng)1.梯形圖編程的基本規(guī)則
梯形圖編程的基本規(guī)則如下:
(1)PLC內(nèi)部元器件觸點(diǎn)的使用次數(shù)是無(wú)限制的。
(2)梯形圖的每一行都是從左邊母線開(kāi)始,然后是各種觸點(diǎn)的邏輯連接,最后以線圈或指令盒結(jié)束。觸點(diǎn)不能放在線圈的右邊。線圈連接時(shí)必須用并聯(lián),不能出現(xiàn)串聯(lián)形式。如圖所示。但如果是以有能量傳遞的指令盒結(jié)束的指令,可以使用AENO指令在其后面連接指令盒(較少使用),如圖所示。5-275-30返回
(3)線圈和指令盒一般不能連接在左邊的母線上。如需要的話可通過(guò)特殊的中間繼電器SM0.0(常ON特殊中間繼電器)完成,如圖所示。
(4)在同一程序中,同一編號(hào)的線圈使用兩次及兩次以上稱為雙線圈輸出。雙線圈輸出非常容易引起誤動(dòng)作,所以應(yīng)避免使用。S7-200PLC中不允許雙線圈輸出。如圖所示。
5-31()…()M0.0M0.0I0.0I0.1(5)內(nèi)外觸點(diǎn)的配合。在LAD中應(yīng)正確選擇設(shè)備所連的輸入繼電器的觸點(diǎn)類型,使用常開(kāi)觸點(diǎn)還是常閉觸點(diǎn)與外部觸點(diǎn)有關(guān)。如圖所示5-35I0.0I0.1Q0.0PLC+24V()I0.0I0.1Q0.0Q0.0LLN啟動(dòng)停止I0.0I0.1Q0.0PLC+24V()I0.0I0.1Q0.0Q0.0LLN啟動(dòng)停止圖5-35(6)應(yīng)把電路多的電路塊放在最上邊,把并聯(lián)多的電路塊放在最左邊,這樣一是節(jié)省指令,程序循環(huán)周期短,二是美觀。如圖5-32(7)
(9)圖5-34所示為梯形圖的推薦畫法。2.LAD和STL編程形式的區(qū)別
利用PLC指令對(duì)梯形圖編程時(shí),可以把整個(gè)梯形圖程序看成由很多網(wǎng)絡(luò)塊組成,每個(gè)網(wǎng)絡(luò)塊均起始于母線。所有的網(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)換;如果不以每個(gè)獨(dú)立的網(wǎng)絡(luò)塊為單位編程,而是連續(xù)編寫,則STL程序和LAD程序不能通過(guò)編程軟件相互轉(zhuǎn)換。大家在使用時(shí)要注意。
LAD是使用最多的編程語(yǔ)言,它非常直觀易懂,對(duì)每個(gè)人都適用;特別老練的人在某些情況下會(huì)直接使用STL形式編程,用STL形式編寫的程序簡(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ò)塊的STL編程。圖5-35詳細(xì)介紹了語(yǔ)句表編程的步驟。四、典型的簡(jiǎn)單電路編程
1延時(shí)脈沖產(chǎn)生電路
2瞬時(shí)接通/延時(shí)斷開(kāi)電路
3延時(shí)接通/延時(shí)斷開(kāi)電路
4脈沖寬度可控制電路
5計(jì)數(shù)器的擴(kuò)展
6長(zhǎng)定時(shí)電路
7閃爍電路
8報(bào)警電路
9搶答器電路
10多個(gè)傳送帶控制示例
1.延時(shí)脈沖產(chǎn)生電路
在有輸入信號(hào)后,停一段時(shí)間產(chǎn)生一個(gè)脈沖。主要用于獲取啟動(dòng)或關(guān)斷信號(hào)。電路的程序及時(shí)序2瞬時(shí)接通/延時(shí)斷開(kāi)電路在輸入信號(hào)有效時(shí),馬上有輸出,而輸入信號(hào)OFF后,輸出信號(hào)延時(shí)后才OFF.電路的程序及時(shí)序3.延時(shí)接通/延時(shí)斷開(kāi)電路該電路要求有信號(hào)輸入后,停一段時(shí)間輸出信號(hào)才為ON,而輸入信號(hào)OFF后,輸出信號(hào)延時(shí)一段時(shí)間才OFF.電路的程序及時(shí)序4.脈沖寬度可控制電路在輸入信號(hào)寬度不規(guī)范的情況下,要求每一個(gè)輸入信號(hào)的上升沿產(chǎn)生一個(gè)寬度固定的脈沖,該脈沖的寬度可以調(diào)節(jié)。注意:如果輸入信號(hào)的兩個(gè)上升沿之間的距離小于脈沖的寬度,則忽略輸入信號(hào)的第二個(gè)上升沿,電路的程序及時(shí)序5.計(jì)數(shù)器的擴(kuò)展
一個(gè)計(jì)數(shù)器最大計(jì)數(shù)值為32767。實(shí)際應(yīng)用中,如果計(jì)數(shù)范圍超過(guò)該值,就需要對(duì)計(jì)數(shù)器進(jìn)行擴(kuò)展。計(jì)數(shù)器擴(kuò)展電路的程序6長(zhǎng)定時(shí)電路
S7-200PLC中的定時(shí)器最長(zhǎng)定時(shí)時(shí)間不到1h,但在一些實(shí)際應(yīng)用中,往往需要幾小時(shí)甚至幾天或更長(zhǎng)時(shí)間的定時(shí)控制,這樣僅用一個(gè)定時(shí)器就不能完成該任務(wù)。
在輸入信號(hào)I0.0有效后,經(jīng)過(guò)10h30min后將輸出Q0.0置位。定時(shí)電路的梯形圖程序7.閃爍電路也稱為振蕩電路,用在報(bào)警、娛樂(lè)等場(chǎng)合。閃爍電路實(shí)際上就是一個(gè)時(shí)鐘電路。它可以是等間隔的通斷,也可以是不等間的通斷。閃爍電路的程序及時(shí)序圖8.報(bào)警電路報(bào)警是電氣自動(dòng)控制中不可缺少的重要環(huán)節(jié),標(biāo)準(zhǔn)的報(bào)警功能應(yīng)該是聲光報(bào)警。當(dāng)故障發(fā)生時(shí),報(bào)警指示燈閃爍,報(bào)警電鈴或蜂鳴器鳴響。操作人員知道故障發(fā)生后,按消鈴按鈕,報(bào)電鈴關(guān)掉,報(bào)警指示燈從閃爍變?yōu)殚L(zhǎng)亮。故障消失后,報(bào)警燈熄滅。另外設(shè)置試燈、試鈴按鈕,用于平時(shí)檢測(cè)報(bào)警指示燈和電鈴的好壞。標(biāo)準(zhǔn)報(bào)警電路9試設(shè)計(jì)一個(gè)搶答器電路程序,出題人提出問(wèn)題,3個(gè)答題人按動(dòng)按紐,僅僅是最早按的人面前的信號(hào)燈亮。然后出題人按動(dòng)復(fù)位按紐后,引出下一個(gè)問(wèn)題。LADI0.0I0.1I0.2I1.0Q0.0Q0.1Q0.21L2L3L1M2M+24V+24V-24VLN-24V甲乙丙主持人甲燈乙燈丙燈PLC10多個(gè)傳送帶啟動(dòng)和停止示意如圖下所示。初始狀態(tài)為各個(gè)電機(jī)都處于停止?fàn)顟B(tài)。按下啟動(dòng)按紐后,電動(dòng)機(jī)M1通電運(yùn)行,行程開(kāi)關(guān)SQ1有效后,電動(dòng)機(jī)M2通電運(yùn)行,行程開(kāi)關(guān)SQ2有效后,M1斷電停止。其它傳動(dòng)帶動(dòng)作類推。整個(gè)系統(tǒng)循環(huán)工作。按停止按紐后,系統(tǒng)把目前的工作進(jìn)行完成后停止在初始狀態(tài)。試設(shè)計(jì)出LAD。貨車貨車SQ1SQ2SQ3SQ4SQ5SQ6M1M2M3LAD網(wǎng)絡(luò)1延時(shí)脈沖產(chǎn)生電路I0.0P()M0.0網(wǎng)絡(luò)2()M0.1M0.0/Q0.0M0.1網(wǎng)絡(luò)3T37()Q0.0INTONPT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年建筑工程公司與施工方分包合同
- 2024年慶典花卉租賃合同
- 2024年度環(huán)保設(shè)備生產(chǎn)與安裝合同
- 2024年企業(yè)間關(guān)于虛擬現(xiàn)實(shí)技術(shù)研發(fā)合同
- 2024年度BIM模型能耗分析與優(yōu)化服務(wù)合同
- 2024國(guó)有林業(yè)企業(yè)與農(nóng)村集體組織土地承包合同
- 2024年家庭遺產(chǎn)分配協(xié)議
- 2024年度金融科技合作協(xié)議
- 2024酒店布草采購(gòu)合同
- 2024年度離婚財(cái)產(chǎn)分配合同:涉及三個(gè)未成年子女的撫養(yǎng)權(quán)
- 輸血科三基模擬題(含參考答案)
- 2024下半年國(guó)家藥品監(jiān)督管理局藥品審評(píng)中心編制內(nèi)人員招聘15人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 全國(guó)教師管理信息系統(tǒng)-業(yè)務(wù)功能培訓(xùn)(省級(jí)培訓(xùn)材料)
- 2024年貴州省高職(??疲┓诸惪荚囌惺罩新毊厴I(yè)生文化綜合考試語(yǔ)文試題
- Module 3 Things we do Unit 7 Helping others Period 3 The story The bee and the ant(教學(xué)設(shè)計(jì))-2023-2024學(xué)年牛津上海版(三起)英語(yǔ)六年級(jí)下冊(cè)
- 西南油氣田分公司招聘筆試題庫(kù)2024
- 小學(xué)生主題班會(huì)開(kāi)學(xué)第一課學(xué)習(xí)奧運(yùn)精神 爭(zhēng)做強(qiáng)國(guó)少年 課件
- 文件評(píng)審表(標(biāo)準(zhǔn)樣本)
- 醫(yī)療輔助服務(wù)行業(yè)發(fā)展前景與機(jī)遇展望報(bào)告
- 1 小熊購(gòu)物 (教學(xué)設(shè)計(jì))-2024-2025學(xué)年數(shù)學(xué)三年級(jí)上冊(cè)北師大版
評(píng)論
0/150
提交評(píng)論