plc講義第七章 S7-200功能指令_第1頁
plc講義第七章 S7-200功能指令_第2頁
plc講義第七章 S7-200功能指令_第3頁
plc講義第七章 S7-200功能指令_第4頁
plc講義第七章 S7-200功能指令_第5頁
已閱讀5頁,還剩115頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一節(jié)

傳送、移位指令

第二節(jié)

運(yùn)算和數(shù)學(xué)指令

第七章S7-200系列PLC功能指令第三節(jié)

表功能、轉(zhuǎn)換指令

第四節(jié)子程序、時(shí)鐘、中斷指令

第五節(jié)

高速計(jì)數(shù)、PID指令

第一節(jié)傳送、移位指令一.傳送指令1.單一傳送(1)MOVB,字節(jié)傳送指令(2)BIR,傳送字節(jié)立即讀指令(3)BIW,傳送字節(jié)立即寫指令(4)MOVW,字傳送指令(5)MOVD,雙字傳送指令(6)MOVR,實(shí)數(shù)傳送指令

2.塊傳送(1)BMB,字節(jié)塊傳送指令(2)BMW,字塊傳送指令(3)BMD,雙字塊傳送指令3.字節(jié)交換(1)SWAP,字節(jié)交換指令1.單一傳送(1)MOVB,字節(jié)傳送指令使能輸入有效時(shí),把一個(gè)單字節(jié)無符號數(shù)據(jù)由IN傳送到OUT所指的字節(jié)存儲單元。IN的尋址范圍:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常數(shù)。OUT的尋址范圍:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。指令格式: MOVB IN1,OUT 例: MOVB VB0,QB01.單一傳送(2)BIR,傳送字節(jié)立即讀指令使能輸入有效時(shí),立即讀取單字節(jié)物理輸入?yún)^(qū)數(shù)據(jù)IN,并傳送到OUT所指的字節(jié)存儲單元。IN的尋址范圍:IBOUT的尋址范圍:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。指令格式: BIR IN1,OUT 例: BIR IB0,VB102.塊傳送指令可用來進(jìn)行一次多個(gè)(最多255個(gè))數(shù)據(jù)的傳送,數(shù)據(jù)塊類型可以是字節(jié)塊、字塊、雙字塊。功能描述:使能有效時(shí),把從IN開始的N個(gè)數(shù)據(jù)傳送到OUT開始的N個(gè)存儲單元。三條指令中N的尋址范圍都是:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常數(shù)。使ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址);0091(數(shù)超界)。3.字節(jié)交換SWAP,字節(jié)交換指令。使能輸入有效時(shí),將字型輸入數(shù)據(jù)IN的高字節(jié)和低字節(jié)進(jìn)行交換。本指令只對字型數(shù)據(jù)進(jìn)行處理,指令的執(zhí)行不影響的特殊存儲器位。使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。二、移位指令1.左移和右移2.循環(huán)左移、循環(huán)右移3.寄存器移位1.左移和右移(1)字節(jié)左移和字節(jié)右移字節(jié)左移和字節(jié)右移。使能輸入有效時(shí),把字節(jié)型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的字節(jié)存儲單元。最大實(shí)際可移位次數(shù)為8。(2)字左移和字右移指令盒與字節(jié)移位比較,只有名稱變?yōu)镾HR_W和SHR_W。使能輸入有效時(shí),把字節(jié)型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的字節(jié)存儲單元。最大實(shí)際可移位次數(shù)為16。(3)雙字左移和雙字右移SLD和SRD,雙字左移和雙字右移。指令盒與字節(jié)移位比較,只有名稱變?yōu)镾HL_DW和SHR_DW,其他部分完全相同。使能輸入有效時(shí),把雙字型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的雙字存儲單元。最大實(shí)際可移位次數(shù)為32。移位指令注意事項(xiàng)(1)移出端與特殊繼電器SM1.1(溢出位)相連,移動(dòng)時(shí),另一端補(bǔ)0。(2)如果移位操作使數(shù)據(jù)為0,特殊繼電器SM1.0(零標(biāo)志位)自動(dòng)置位。舉例2.循環(huán)左移、循環(huán)右移循環(huán)左移和循環(huán)右移根據(jù)所循環(huán)移位的數(shù)的長度分別又可分為字節(jié)型、字型、雙字型。循環(huán)移位特點(diǎn):移位數(shù)據(jù)存儲單元的移出端與另一端相連,同時(shí)又與SM1.1(溢出)相連,所以最后被移出的位被移到另一端的同時(shí),也被放到SM1.1位存儲單元。例如在循環(huán)右移時(shí),移位數(shù)據(jù)的最右端位移入最左端,同時(shí)又進(jìn)入SM1.1。SM1.1始終存放最后一次被移出的位。舉例3.寄存器移位SHRB,寄存器移位指令。該指令在梯形圖中有3個(gè)數(shù)據(jù)輸入端:DATA為數(shù)值輸入,將該位的值移入移位寄存器;S_BIT為移位寄存器的最低位端;N指定移位寄存器的長度。每次使能輸入(采用邊沿)有效時(shí),整個(gè)移位寄存器移動(dòng)1位。移位特點(diǎn):移位寄存器長度在指令中指定,沒有字節(jié)型、字型、雙字型之分。可指定的最大長度為64位,可正也可負(fù)。N為正時(shí)是正向移位,高位移出,低位移入。N為負(fù)時(shí)是反向移位,高位移入,低位移出。舉例

第二節(jié)運(yùn)算、數(shù)學(xué)指令加法減法乘法除法數(shù)學(xué)函數(shù)指令增減邏輯運(yùn)算

一、加法

1.整數(shù)加法+I,整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)單字長(16位)的符號整數(shù)IN1和IN2相加,產(chǎn)生一個(gè)16位整數(shù)結(jié)果OUT。LDI0.0//使能輸入端+IVW0,VW4//整數(shù)加法//VW0+VW4=VW42.雙整數(shù)加法+D,雙整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)雙字長(32位)的符號雙整數(shù)IN1和IN2相加,產(chǎn)生一個(gè)32位雙整數(shù)結(jié)果OUT。在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:IN1+IN2=OUT。在STL中,執(zhí)行結(jié)果:IN1+OUT=OUT。OUT的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。指令格式:+D IN1,OUT例: +D VD0,VD43.實(shí)數(shù)加法指令+R,實(shí)數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)雙字長(32位)的實(shí)數(shù)IN1和IN2相加,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果OUT。在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:IN1+IN2=OUT。OUT的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲器位:SM1.0(零);SM1.1(溢出);SM1.2(負(fù))。二、減法

減法指令是對有符號數(shù)進(jìn)行相減操作。包括:整數(shù)減法、雙整數(shù)減法和實(shí)數(shù)減法。這三種減法指令與所對應(yīng)的加法指令除運(yùn)算法則不同之外,其他方面基本相同。在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:IN1-IN2=OUT。在STL中,執(zhí)行結(jié)果:OUT-IN2=OUT。指令格式:-I IN2, OUT (整數(shù)減法)-D IN2, OUT (雙整數(shù)減法)-R IN2, OUT (實(shí)數(shù)減法)例:-I AC0, VW4三、乘法*I,整數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)單字長(16位)的符號整數(shù)IN1和IN2相乘,產(chǎn)生一個(gè)16位整數(shù)結(jié)果OUT。指令格式:*I IN1,OUT例: *I VW0,AC01.整數(shù)乘法

2.完全整數(shù)乘法

MUL,完全整數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)單字長(16位)的符號整數(shù)IN1和IN2相乘,產(chǎn)生一個(gè)32位雙整數(shù)結(jié)果OUT。在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:IN1*IN2=OUT。OUT的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲器位:SM1.0(零);SM1.1(溢出);SM1.2(負(fù));SM1.3(被0除)。指令格式: MUL IN1,OUT例: MUL AC0,VD10

3.雙整數(shù)乘法*D,雙整數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)雙字長(32位)的符號整數(shù)IN1和IN2相乘,產(chǎn)生一個(gè)32位雙整數(shù)結(jié)果OUT。在STL中,執(zhí)行結(jié)果:IN1*OUT=OUT。IN1和IN2的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常數(shù)。OUT的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲器位:SM1.0(零);SM1.1(溢出);SM1.2(負(fù));SM1.3(被0除)。指令格式: *D IN1,OUT例: *D VD0,AC04.實(shí)數(shù)乘法*R,實(shí)數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)雙字長(32位)的實(shí)數(shù)IN1和IN2相乘,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果OUT。在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:IN1*IN2=OUT。在STL中,執(zhí)行結(jié)果:IN1*OUT=OUT。IN1和IN2的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常數(shù)。OUT的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲器位:SM1.0(零);SM1.1(溢出);SM1.2(負(fù));SM1.3(被0除)。指令格式: *R IN1,OUT例: *R VD0,AC0四、除法在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:IN1/IN2=OUT。在STL中,執(zhí)行結(jié)果:OUT/IN2=OUT。指令格式:/I IN2, OUT (整數(shù)除法)DIV IN2, OUT (整數(shù)完全除法)/D IN2, OUT (雙整數(shù)除法)/R IN2, OUT (實(shí)數(shù)除法)例: DIV VW10,VD100 /I VW20,VW200兩條指令的編程及執(zhí)行情況比較如圖所示。對于除法指令:

對于完全除法指令:

數(shù)學(xué)函數(shù)指令1.平方根2.自然對數(shù)3.指數(shù)4.正弦、余弦、正切1.平方根SQRT,平方根指令。把一個(gè)雙字長(32位)的實(shí)數(shù)IN開平方,得到32位的實(shí)數(shù)結(jié)果。在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:SQRT(IN)=OUT。在STL中,執(zhí)行結(jié)果:SQRT(IN)=OUT。本指令影響的特殊存儲器位:SM1.0(零);SM1.1(溢出和非法值);SM1.2(負(fù))。使能流輸出ENO斷開的出錯(cuò)條件:SM1.1(溢出);SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式: SQRT IN,OUT例: SQRT VD0,AC02.自然對數(shù)LN,自然對數(shù)指令。將一個(gè)雙字長(32位)的實(shí)數(shù)IN取自然對數(shù),得到32位的實(shí)數(shù)結(jié)果。應(yīng)用實(shí)例:求以10為底的50(存于VD0)的常用對數(shù),結(jié)果放到AC0。本運(yùn)算程序如圖所示。3.指數(shù)EXP,指數(shù)指令。將一個(gè)雙字長(32位)的實(shí)數(shù)IN取以e為底的指數(shù),得到32位的實(shí)數(shù)結(jié)果OUT。在LAD和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:EXP(IN)=OUT。在STL中,執(zhí)行結(jié)果:EXP(IN)=OUT。指令格式: EXP IN,OUT例: EXP VD0,AC04.正弦、余弦、正切SIN、COS、TAN,即正弦、余弦、正切指令。將一個(gè)雙字長(32位)的實(shí)數(shù)弧度值IN分別取正弦、余弦、正切,各得到32位的實(shí)數(shù)結(jié)果。如果已知輸入值為角度,要先將角度值轉(zhuǎn)化為弧度值,方法:使用(*R)MUL_R指令用角度值乘以π/180°即可。例: TAN VD0,AC0應(yīng)用實(shí)例:求COS160o的值。如圖所示。增減1.字節(jié)增和字節(jié)減2.字增和字減3.雙字增和雙字減4.應(yīng)用實(shí)例1.字節(jié)增和字節(jié)減

INCB,字節(jié)增指令。使能輸入有效時(shí),把一字節(jié)長的無符號輸入數(shù)(IN)加1,得到一字節(jié)的無符號輸出結(jié)果OUT。DECB,字節(jié)減指令。使能輸入有效時(shí),把一字節(jié)長的無符號輸入數(shù)(IN)減1,得到一字節(jié)的無符號輸出結(jié)果OUT。2.字增和字減3.雙字增和雙字減INCD,雙字增指令。使能輸入有效時(shí),把雙字長(32位)的有符號輸入數(shù)(IN)加1,得到雙字長的有符號輸出結(jié)果OUT。DECD,雙字減指令。使能輸入有效時(shí),把雙字長的有符號輸入數(shù)(IN)減1,得到雙字長的有符號輸出結(jié)果OUT。4.應(yīng)用實(shí)例控制要求:食品加工廠對飲料生產(chǎn)線上的盒裝飲料進(jìn)行計(jì)數(shù),每24盒為一箱,要求能記錄生產(chǎn)的箱數(shù)。程序如圖所示。返回本節(jié)邏輯運(yùn)算1.字節(jié)邏輯運(yùn)算2.字邏輯運(yùn)算3.雙字邏輯運(yùn)算1.字節(jié)邏輯運(yùn)算字節(jié)邏輯運(yùn)算包括字節(jié)與、字節(jié)或、字節(jié)異或、字節(jié)取反。2.字邏輯運(yùn)算字邏輯運(yùn)算包括字與、字或、字異或、字取反。3.雙字邏輯運(yùn)算雙字邏輯運(yùn)算包括雙字與、雙字或、雙字異或、雙字取反。

表功能指令轉(zhuǎn)換指令字符指令

第三節(jié)表功能、轉(zhuǎn)換和字符指令一、表功能指令1表存數(shù)指令2表取數(shù)指令3表查找指令1、填充指令FILL,存儲器填充指令。使能輸入有效時(shí),用字型輸入數(shù)據(jù)IN填充從輸出OUT所指的單元開始的N個(gè)字存儲單元。填充指令只對字型數(shù)據(jù)進(jìn)行處理,N值為字節(jié)型,可取從1~255的整數(shù)。指令的執(zhí)行不影響的特殊存儲器位。使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址);0091(操作數(shù)超界)。

指令格式: FILL IN,OUT,N (填充指令)例: FILL 10,VW100,12本條指令的執(zhí)行結(jié)果是:將數(shù)據(jù)10填充到從VW100到VW122共12個(gè)字存儲單元。

S7-200中,表只對字型數(shù)據(jù)存儲,一個(gè)表由表地址(表的首地址)指明。在表地址和第二個(gè)字地址所對應(yīng)的單元存放最大填表數(shù)(TL)和實(shí)際填表數(shù)(EC),之后最多可以有100個(gè)填表數(shù)據(jù)。表的格式例如下所示。2、表存數(shù)指令A(yù)TT,表存數(shù)指令。該指令在梯形圖中有2個(gè)數(shù)據(jù)輸入端:DATA為數(shù)值輸入,指出將被存儲的字型數(shù)據(jù)或其地址;TBL表格的首地址,用以指明被訪問的表格。當(dāng)使能輸入有效時(shí),將輸入字型數(shù)據(jù)添加到指定的表格中。表存數(shù)特點(diǎn):表存數(shù)時(shí),新存的數(shù)據(jù)添加在表中最后一個(gè)數(shù)據(jù)的后面。每向表中存一個(gè)數(shù)據(jù),實(shí)際填表數(shù)EC會自動(dòng)加1。3、表取數(shù)指令FIFO,先進(jìn)先出指令LIFO,后進(jìn)先出指令先入先出(FIFO)指令先入先出(FirstInFirstOut)指令從表(TBL)中移走最先放進(jìn)的第一個(gè)數(shù)據(jù)(數(shù)據(jù)0),并將它送入DATA指定的地址,表中剩下的各項(xiàng)依次向上移動(dòng)一個(gè)位置。每次執(zhí)行此指令,表中的項(xiàng)數(shù)EC減1。TABLE為INT型,DATA為WORD型。先入先出指令的應(yīng)用LIFO執(zhí)行后執(zhí)行前后入先出(LIFO)指令后入先出(LastInFirstOut)指令從表(TBL)中移走最后一個(gè)數(shù)據(jù),并將它送入DATA指定的位置,剩下的各項(xiàng)依次向上移動(dòng)一個(gè)位置。每次執(zhí)行此指令,表中的項(xiàng)數(shù)EC減1。TABLE為INT型,DATA為WORD型。LIFO執(zhí)行前LIFO執(zhí)行后4、表查找指令FND?,表查找指令。通過表查找指令可以從字型數(shù)表中找出符合條件的數(shù)據(jù)所在的表中數(shù)據(jù)編號,編號范圍為0~99。在梯形圖中有4個(gè)數(shù)據(jù)輸入端:TBL表格的首地址,用以指明被訪問的表格;PTN是用來描述查表?xiàng)l件時(shí)進(jìn)行比較的數(shù)據(jù);CMD是比較運(yùn)算符“?”的編碼,它是一個(gè)1~4的數(shù)值,分別代表=、<>、<和>運(yùn)算符;INDX用來指定表中符合查找條件的數(shù)據(jù)的地址。查表指令操作舉例LDI2.1FND-VW202,16#3130,AC1表查找指令執(zhí)行結(jié)果二、轉(zhuǎn)換指令轉(zhuǎn)換指令是對操作數(shù)的類型進(jìn)行轉(zhuǎn)換,并輸出到指定的目標(biāo)地址中去。轉(zhuǎn)換指令包括數(shù)據(jù)的類型轉(zhuǎn)換、數(shù)據(jù)的編碼和譯碼指令。6.字節(jié)與整數(shù)的轉(zhuǎn)換指令2.雙字整數(shù)轉(zhuǎn)換為實(shí)數(shù)3.四舍五入取整指令4.截位取整指令5.整數(shù)與雙整數(shù)的轉(zhuǎn)換1、BCD碼與整數(shù)之間的轉(zhuǎn)換1

數(shù)據(jù)類型轉(zhuǎn)換1.字節(jié)與整數(shù)(1)字節(jié)到整數(shù)(2)整數(shù)到字節(jié)2.整數(shù)與雙整數(shù)(1)雙整數(shù)到整數(shù)(2)整數(shù)到雙整數(shù)3.雙整數(shù)與實(shí)數(shù)

(1)實(shí)數(shù)到雙整數(shù)

(2)雙整數(shù)到實(shí)數(shù)

4.整數(shù)與BCD碼

(1)BCD碼到整數(shù)

(2)整數(shù)到BCD碼

5.程序?qū)嵗?/p>

1.字節(jié)與整數(shù)(1)字節(jié)到整數(shù)BTI,字節(jié)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時(shí),將字節(jié)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。字節(jié)型是無符號的,所以沒有符號擴(kuò)展。使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式: BTI IN,OUT例: BTI VB0,AC0(2)整數(shù)到字節(jié)ITB,整數(shù)轉(zhuǎn)換字節(jié)指令。使能輸入有效時(shí),將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成字節(jié)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出字節(jié)范圍(0~255)則產(chǎn)生溢出。移位指令影響的特殊存儲器位:SM1.1(溢出)。使能流輸出ENO斷開的出錯(cuò)條件:SM1.1(溢出);SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式: ITB IN,OUT 例: ITB AC0,VB102.整數(shù)與雙整數(shù)(1)雙整數(shù)到整數(shù)DTI,雙整數(shù)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時(shí),將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。移位指令影響的特殊存儲器位:SM1.1(溢出)。使能流輸出ENO斷開的出錯(cuò)條件:SM1.1(溢出);SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式: DTI IN,OUT 例: DTI AC0,VW20(2)整數(shù)到雙整數(shù)ITD,整數(shù)轉(zhuǎn)換為雙整數(shù)指令。使能輸入有效時(shí),將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成雙整數(shù)類型(符號進(jìn)行擴(kuò)展),并將結(jié)果送到OUT輸出。使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式:ITD IN,OUT 例: ITD VW0,AC03.雙整數(shù)與實(shí)數(shù)(1)實(shí)數(shù)到雙整數(shù)兩條指令的區(qū)別:前一條在轉(zhuǎn)化過程中,小數(shù)點(diǎn)后的數(shù)采用4舍5入后一條在轉(zhuǎn)化過程中,小數(shù)點(diǎn)后的數(shù)直接舍去(2)雙整數(shù)到實(shí)數(shù)DTR,雙整數(shù)轉(zhuǎn)換實(shí)數(shù)指令。使能輸入有效時(shí),將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成實(shí)型,并將結(jié)果送到OUT輸出。使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式:DTR IN,OUT 例: DTR AC0,VD1004.整數(shù)與BCD碼(1)BCD碼到整數(shù)BCDI,BCD碼轉(zhuǎn)換為整數(shù)指令。使能輸入有效時(shí),將BCD碼輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)IN的范圍為0~9999。指令格式:BCDI OUT例:

BCDI AC0

(2)整數(shù)到BCD碼IBCD,整數(shù)轉(zhuǎn)換為BCD碼指令。使能輸入有效時(shí),將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成BCD碼類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)IN的范圍為0~9999。指令格式:IBCD OUT 例: IBCD AC0程序?qū)嵗δ埽耗M量控制程序中的數(shù)據(jù)類型轉(zhuǎn)換。將模擬量輸入端采樣值由整數(shù)轉(zhuǎn)換為雙整數(shù),然后由雙整數(shù)轉(zhuǎn)換為實(shí)數(shù),再除以一個(gè)比例因子得到PLC可以處理的范圍內(nèi)的值。本程序如圖所示。2編碼和譯碼1.編碼ENCO,編碼指令。使能輸入有效時(shí),將字型輸入數(shù)據(jù)IN的最低有效位(值為1的位)的位號輸出到OUT所指定的字節(jié)單元的低4位。即用半個(gè)字節(jié)來對一個(gè)字型數(shù)據(jù)16位中的1位有效位進(jìn)行編碼。使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式: ENCO IN,OUT例: ENCO AC0,VB0編碼指令執(zhí)行結(jié)果2.譯碼DECO,譯碼指令。使能輸入有效時(shí),將字節(jié)型輸入數(shù)據(jù)IN的低4位所表示的位號對OUT所指定的字單元的對應(yīng)位置1,其他位置0。即對半個(gè)字節(jié)的編碼進(jìn)行譯碼來選擇一個(gè)字型數(shù)據(jù)16位中的1位。使能流輸出ENO斷開的出錯(cuò)條件:SM4.3(運(yùn)行時(shí)間);0006(間接尋址)。指令格式: DECO IN,OUT例: DECO VB0,AC0本指令執(zhí)行情況如表所示。3七段碼SEG,七段碼指令。使能輸入有效時(shí),將字節(jié)型輸入數(shù)據(jù)IN的低4位有效數(shù)字產(chǎn)生相應(yīng)的七段碼,并將其輸出到OUT所指定的字節(jié)單元。返回本節(jié)D0D1D2D5D4D3D64ASCII碼轉(zhuǎn)換1.指令種類(1)ASCII碼轉(zhuǎn)換16進(jìn)制指令(2)16進(jìn)制到ASCII碼(3)整數(shù)到ASCII碼(4)雙整數(shù)到ASCII碼(5)實(shí)數(shù)到ASCII碼2.指令介紹下面僅以ASCII碼轉(zhuǎn)換16進(jìn)制指令為例說明字符串與其他數(shù)據(jù)類型之間的轉(zhuǎn)換。ATH,ASCII碼轉(zhuǎn)換16進(jìn)制指令。指令盒中有3個(gè)操作數(shù):IN,開始字符的字節(jié)地址,字節(jié)類型;LEN,字符串的長度,字節(jié)類型,最大長度為255;OUT,輸出目的開始字節(jié)地址,字節(jié)類型。使能輸入有效時(shí),把從IN開始的長度為LEN的ASCII碼轉(zhuǎn)換為16進(jìn)制數(shù),并將結(jié)果送到OUT開始的字節(jié)進(jìn)行輸出。指令A(yù)TH執(zhí)行結(jié)果5字符串轉(zhuǎn)換1.指令種類(1)數(shù)值轉(zhuǎn)換字符串(2)字符串轉(zhuǎn)換數(shù)值三、字符串操作指令

第四節(jié)子程序、時(shí)鐘、中斷指令一.子程序的建立在“編輯”菜單中執(zhí)行命令“插入”,再“子程序”。子程序可以帶參數(shù)調(diào)用,參數(shù)在子程序的局部變量表中定義。參數(shù)最多可以16個(gè)。CPU226最多可以建立128個(gè)子程序,其它可64個(gè)。二.子程序的調(diào)用子程序的調(diào)用子程序調(diào)用指令(CALL)在使能輸入有效時(shí),主程序把程序控制權(quán)交給子程序。子程序的調(diào)用可以帶參數(shù),可以不帶參數(shù)。子程序條件返回指令(CRET)在使能輸入有效時(shí),結(jié)束子程序的執(zhí)行,返回主程序中(此子程序調(diào)用的下一條指令)。梯形圖中以線圈的形式編程,指令不帶參數(shù)。使用說明CRET多用于子程序的內(nèi)部,由判斷條件決定是否結(jié)束子程序調(diào)用,RET用于子程序的結(jié)束。軟件自動(dòng)處理RET指令。如果在子程序的內(nèi)部又對另一子程序執(zhí)行調(diào)用指令,則這種調(diào)用稱為子程序的嵌套。子程序的嵌套深度最多為8級。當(dāng)一個(gè)子程序被調(diào)用時(shí),系統(tǒng)自動(dòng)保存當(dāng)前的堆棧數(shù)據(jù),并把棧頂置1,堆棧中的其他值為0,子程序占有控制權(quán)。子程序執(zhí)行結(jié)束,通過返回指令自動(dòng)恢復(fù)原來的邏輯堆棧值,調(diào)用程序又重新取得控制權(quán)。舉例帶參數(shù)的子程序的調(diào)用用途局部變量表的使用舉例

第四節(jié)子程序、時(shí)鐘、中斷指令一.讀寫實(shí)時(shí)時(shí)鐘指令讀寫實(shí)時(shí)時(shí)鐘指令TODR(TimeofDayRead)從時(shí)鐘讀取當(dāng)前時(shí)間和日期,并把它們裝入以T為起始地址的8個(gè)字節(jié)緩沖區(qū),依次存放年、月、日、時(shí)、分、秒、0和星期。時(shí)間和日期的數(shù)據(jù)類型為字節(jié)型。所有日期和時(shí)間值必須采用BCD格式編碼(例如,16#97代表2002年)。請參閱下表。8個(gè)字節(jié)時(shí)間緩沖區(qū)格式(T)T字節(jié) 說明 字節(jié)數(shù)據(jù)0 年(0-99) 當(dāng)前年份(BCD值)1 月(1-12) 當(dāng)前月份(BCD值)2 日期(1-31) 當(dāng)前日期(BCD值)3 小時(shí)(0-23) 當(dāng)前小時(shí)(BCD值)4 分鐘(0-59) 當(dāng)前分鐘(BCD值)5 秒(0-59) 當(dāng)前秒(BCD值)6 00 保留---始終設(shè)置為007 星期幾(1-7) 當(dāng)前是星期幾,1=星期日(BCD值)時(shí)鐘的讀寫程序二、中斷指令S7-200中,具有34個(gè)中斷源,每個(gè)中斷分配一個(gè)編號加以識別。1.中斷源中斷源包括:通信中斷、I/O中斷、時(shí)間中斷(1)通信中斷用于程序控制S7-200的串行通訊端口。此種操作通訊端口的模式被稱作自由端口模式。在自由端口模式中,程序定義波特率、每個(gè)字符的位、校驗(yàn)和協(xié)議??商峁敖邮铡焙汀皞魉汀敝袛?,協(xié)助程序控制的通訊。PLC的自由通信模式下,通信口的狀態(tài)可由程序來控制。(2)I/O中斷I/O中斷包括:外部輸入中斷

(I0.0、I0.1、I0.2或I0.3)上升和/或下降邊緣中斷高速計(jì)數(shù)器中斷高速計(jì)數(shù)器當(dāng)前值達(dá)到預(yù)設(shè)值,計(jì)數(shù)方向的改變或計(jì)數(shù)器外部復(fù)位時(shí)產(chǎn)生中斷信號。脈沖輸出中斷

發(fā)出輸出預(yù)定數(shù)目,脈沖完成的產(chǎn)生中斷信號。(3)時(shí)間中斷時(shí)間中斷包括定時(shí)中斷和定時(shí)器中斷(3)時(shí)間中斷

定時(shí)器中斷是利用定時(shí)器來對一個(gè)指定的時(shí)間段產(chǎn)生中斷。它只能用在1毫秒分辨率接通延時(shí)(TON)和斷開延時(shí)(TOF)定時(shí)器T32和T96來實(shí)現(xiàn)。在SMB34。一旦中斷被啟用,在S7-200中執(zhí)行的正常1毫秒定時(shí)器更新的過程中,當(dāng)現(xiàn)用定時(shí)器的當(dāng)前值等于預(yù)設(shè)時(shí)間數(shù)值時(shí),即執(zhí)行中斷連接例行程序。

定時(shí)中斷可用于周期性的活動(dòng)。周期時(shí)間被設(shè)為從1毫秒至255毫秒。對于定時(shí)中斷0,定時(shí)時(shí)間設(shè)定值設(shè)在SMB34。對于定時(shí)中斷1,定時(shí)時(shí)間設(shè)定值設(shè)在SMB35。2.中斷優(yōu)先級在PLC應(yīng)用系統(tǒng)中通常有多個(gè)中斷源。當(dāng)多個(gè)中斷源同時(shí)向CPU申請中斷時(shí),要求CPU能將全部中斷源按中斷性質(zhì)和處理的輕重緩急進(jìn)行排隊(duì),并給予優(yōu)先權(quán)。S7-200中,三類中斷的優(yōu)先級別是:通訊、I/O、時(shí)基中斷。詳細(xì)的中斷優(yōu)先見教材P239表7-123.CPU響應(yīng)中斷的順序PLC中,CPU響應(yīng)中斷的順序可以分以下三種情況:(1)當(dāng)不同的優(yōu)先級的中斷源同時(shí)申請中斷時(shí),CPU響應(yīng)中斷請求的順序?yàn)閺膬?yōu)先級高的中斷源到優(yōu)先級低的中斷源。(2)當(dāng)相同優(yōu)先級的中斷源申請中斷時(shí),CPU按先來先服務(wù)的原則響應(yīng)中斷請求。(3)當(dāng)CPU正在處理某中斷,又有中斷源提出中斷請求時(shí),新出現(xiàn)的中斷請求按優(yōu)先級排隊(duì)等候處理,當(dāng)前中斷服務(wù)程序不會被其他甚至更優(yōu)先級的中斷程序打斷。任何時(shí)刻CPU只執(zhí)行一個(gè)中斷程序。中斷控制經(jīng)過中斷判優(yōu)后,將優(yōu)先級最高的中斷請求送給CPU,CPU響應(yīng)中斷后自動(dòng)保存邏輯堆棧、累加器和某些特殊標(biāo)志寄存器位,即保護(hù)現(xiàn)場。中斷處理完成后,又自動(dòng)恢復(fù)這些單元保存起來的數(shù)據(jù),即恢復(fù)現(xiàn)場。中斷指令(1)中斷連接指令建立中斷事件與中斷程序的聯(lián)系,并允許該事件中斷。INT是連接中斷程序的號,EVNT為中斷事件號。可以將多個(gè)中斷事件附加在一個(gè)中斷例行程序上,但一個(gè)事件不能同時(shí)附加在多個(gè)中斷例行程序上。(2)中斷分離指令切斷中斷事件與所有程序的聯(lián)系,即該事件中斷關(guān)閉。EVNT為中斷事件號(3)清除中斷事件清除中斷事件指令會刪除中斷隊(duì)列中所有類型為EVNT的中斷事件。此指令用于清除不必要的中斷,后者可能由假傳感器輸出暫態(tài)造成。(4)開中斷及關(guān)中斷指令全局開放所有連接的中斷事件。注意:PLC上電運(yùn)行時(shí),會自動(dòng)關(guān)閉所有中斷,因此在程序中必須開中斷。開中斷指令關(guān)中斷指令全局關(guān)閉所有連接的中斷事件。注意:PLC關(guān)閉所有中斷響應(yīng),但允許中斷事件等候。例1:外部中斷主程序子程序(INT_0)例2:定時(shí)采樣中斷

第五節(jié)高數(shù)計(jì)數(shù)及PID指令一、高速計(jì)數(shù)指令1.高速計(jì)數(shù)介紹1.數(shù)量及編號CPU221和CPU222支持4個(gè)高速計(jì)數(shù)器(HSC0、HSC3、HSC4、HSC5)CPU221和CPU222不支持HSC1和HSC2CPU224、CPU224XP、CPU226支持6個(gè)高速計(jì)數(shù)器(HSC0至HSC5)2.中斷事件類型中斷事件類型共3類當(dāng)前值等于預(yù)設(shè)值中斷、輸入方向改變中斷、外部復(fù)位中斷中斷優(yōu)先級3.工作模式及輸入點(diǎn)四種基本類型共12種工作模式四種基本類型是:(1)帶內(nèi)部方向控制的單向計(jì)數(shù)器,(2)帶外部方向控制的單向計(jì)數(shù)器,(3)帶兩個(gè)時(shí)鐘輸入的雙向計(jì)數(shù)器,(4)A/B相正交計(jì)數(shù)器。注意:高速計(jì)數(shù)器工作模式指定的輸入點(diǎn)只能被高速計(jì)數(shù)器使用。工作模式與輸入點(diǎn)的關(guān)系如下(p243,表7-15)模式0、1和2操作舉例(帶內(nèi)部方向控制的單向計(jì)數(shù)器)模式3、4和5操作舉例(帶外部方向控制的單向計(jì)數(shù)器)模式6、7和8操作舉例(帶兩個(gè)時(shí)鐘輸入的雙向計(jì)數(shù)器)上下時(shí)鐘輸入的上升沿間隔0.3微秒,高速計(jì)數(shù)器可能認(rèn)為這些事件同時(shí)發(fā)生。如果發(fā)生這種情況,當(dāng)前值不改變,而且計(jì)數(shù)方向不改變。只要上下時(shí)鐘輸入的上升沿之間的間隔大于該時(shí)段,高速計(jì)數(shù)器就能夠單獨(dú)捕獲每個(gè)事件。在兩種情況下,均不生成錯(cuò)誤,而且計(jì)數(shù)器保持當(dāng)前計(jì)數(shù)值。模式9、10和11操作舉例(正交1x模式)模式9、10和11操作舉例(正交4x模式)二、高速計(jì)數(shù)指令1.高速計(jì)數(shù)指令高速計(jì)數(shù)器定義指令(HDEF),圖所示為指定的高速計(jì)數(shù)器(HSC為編號)設(shè)置一種工作模式(MODE)。每個(gè)高速計(jì)數(shù)器只能用一條HDEF指令。高速計(jì)數(shù)器指令(HSC)用于啟動(dòng)編號為N的高速計(jì)數(shù)器。HSC與MODE為字節(jié)型常數(shù),N為字型常數(shù)。三、高速計(jì)數(shù)器的使用每個(gè)高速計(jì)數(shù)器都有固定的特殊存儲器配合,完成高速計(jì)數(shù)功能。具體如下1.狀態(tài)字節(jié):SM××6,反映高速計(jì)數(shù)器的運(yùn)行狀態(tài)SM××6.5當(dāng)前計(jì)數(shù)的方向,0減、1加SM××6.6當(dāng)前計(jì)數(shù)值與預(yù)設(shè)值是否相等,0不等、1等SM××6.6當(dāng)前計(jì)數(shù)值是否>預(yù)設(shè)值,0為否、1是狀態(tài)字節(jié)控制字節(jié)當(dāng)前值(雙字)預(yù)置值(雙字)HSC0SM36SM37SMD38SMD42HSC1SM46SM47SMD48SMD52HSC2SM56SM57SMD58SMD62HSC3SM136SM137SMD138SMD142HSC4SM146SM147SMD148SMD152HSC5SM156SM157SMD158SMD1622.控制字節(jié):SM××7,具體見表7-18。適用的計(jì)數(shù)器SM××7.0復(fù)位有效電平控制:0高電平有效;1低電平有效0、1、2、4SM××7.1計(jì)數(shù)器啟動(dòng)有效電平控制:0高電平有效;1低電平有效1、2SM××7.2計(jì)數(shù)速率選擇器:0=4x(4倍速);1=1x0、1、2、4SM××7.3計(jì)數(shù)方向控制:0=減計(jì)數(shù);1=增計(jì)數(shù)SM××7.4允許更新計(jì)數(shù)方向:0=無更新;1=更新方向SM××7.5允許更新預(yù)置值:0=無更新;1=更新預(yù)置值SM××7.6允許更新當(dāng)前值:0=無更新;1=更新當(dāng)前值SM××7.7HSC指令啟用:0=禁止;1=啟用注意前三位的設(shè)置時(shí)刻(只能在定義計(jì)數(shù)器時(shí)設(shè)置)(1)選擇高速計(jì)數(shù)器使用高速計(jì)數(shù)器及工作模式步驟(2)設(shè)置控制字節(jié)(3)定義高速計(jì)數(shù)器(4)給定預(yù)置值(5)設(shè)置中斷事件并全局開放中斷(6)啟動(dòng)高速計(jì)數(shù)器欲存取高速計(jì)數(shù)器的計(jì)數(shù)值,需要利用內(nèi)存類型(HC)和計(jì)數(shù)器號碼(例如HC0)指定高速計(jì)數(shù)器的地址。如下所示,高速計(jì)數(shù)器的當(dāng)前值是只讀數(shù)值,只能作為雙字(32位)編址。格式:HC[高速計(jì)數(shù)器號碼],以HC2為例。(1)選擇高速計(jì)數(shù)器HSC0,并確定工作方式0(2)設(shè)置控制字節(jié)SM37=16#F8(3)定義高速計(jì)數(shù)器(4)給定時(shí)間中斷預(yù)置值SM34=200(5)設(shè)置中斷事件并全局開放中斷(中斷程序0,事件為10)(6)啟動(dòng)高速計(jì)數(shù)器0例7-30采用測量頻率的方法測量電機(jī)的轉(zhuǎn)速。高速脈沖輸出功能是指在PLC的某些輸出端產(chǎn)生高速脈沖,用來驅(qū)動(dòng)負(fù)載,實(shí)現(xiàn)高速輸出和精確控制。脈沖輸出指令脈沖輸出(PLS)指令被用于控制在高速輸出(Q0.0和Q0.1)中提供的“脈沖串輸出”(PTO)和“脈寬調(diào)制”(PWM)功能。PTO提供方波(50%占空比)輸出,配備周期和脈沖數(shù)用戶控制功能。PWM提供連續(xù)性變量占空比輸出,配備周期和脈寬用戶控制功能。四、高速脈沖輸出指令PTO/PWM發(fā)生器和輸出共用Q0.0和Q0.1。PTO或PWM功能在Q0.0或Q0.1位置使用時(shí),PTO/PWM發(fā)生器控制輸出,并禁止輸出點(diǎn)的正常使用。輸出信號波形不受輸出刷新、輸出強(qiáng)迫、執(zhí)行立即輸出指令的影響。當(dāng)未執(zhí)行PLS指令時(shí),可以用普通的位操作指令設(shè)置Q0.0和Q0.1,以控制高速脈沖的開始和結(jié)束。在啟用PTO或PWM操作之前,將用于Q0.0和Q0.1的過程映像寄存器設(shè)為0。所有的控制位、周期、脈寬和脈沖計(jì)數(shù)值的默認(rèn)值均為0。每個(gè)高速脈沖輸出都對應(yīng)如下特殊內(nèi)存(SM)見表7-19。狀態(tài)字節(jié)(SMB66、SMB76)SMB66 PTO0狀態(tài)SM66.4 PTO0包絡(luò)終止:0=無錯(cuò);1=由于增量計(jì)算錯(cuò)誤終止SM66.5 PTO0包絡(luò)終止:0=未被用戶命令終止;1=被用戶命令終止SM66.6 PTO0管道溢出(使用外部包絡(luò)時(shí),由系統(tǒng)清除,否則必須由用戶復(fù)位):0=無溢出;1=管道溢出SM66.7 PTO0空閑:0=PTO正在執(zhí)行;1=PTO空閑SMB67 監(jiān)控與控制Q0.0上的PTO0(脈沖串輸出)和PWM0(脈沖寬度調(diào)制)SM67.0 PTO0/PWM0更新周期值:1=寫入新周期SM67.1 PTO0/PWM0更新脈沖寬度值:1=寫入新脈沖寬度SM67.2 PTO0更新脈沖計(jì)數(shù)值:1=寫入新脈沖計(jì)數(shù)SM67.3 PTO0/PWM0時(shí)間基準(zhǔn):0=us單位基時(shí),1=單位基時(shí)SM67.4 同步更新PWM0:0=異步更新;1=同步更新SM67.5 PTO0:0=單段操作;1=多段操作SM67.6 PTO0/PWM0模式選擇:0=PTO;1=PWM.SM67.7 PTO0/PWM0啟用:1=啟用控制字節(jié)(SMB67、SMB77)

不帶符號的16位值。PTO、PWM的周期的范圍從10微秒至65,535微秒,或從2毫秒至65,535毫秒。周期值(SMW68、SMW78)脈寬值(SMW70、SMW80)

不帶符號的16位值。PWM方式用。脈寬時(shí)間范圍從0微秒至65,535微秒或從0毫秒至65,535毫秒。脈沖數(shù)(SMD72、SMD82)

不帶符號的16位值。脈沖計(jì)數(shù)范圍從1至4,294,967,295。PTO方式用。單段管線、多段管線。PTO的種類單段管線在單段管線作業(yè)中,初始PTO段一旦開始,必須按照對第二個(gè)信號波形的要求立即修改SM位置,并再次執(zhí)行PLS指令。第二個(gè)脈沖串特征被保留在管線中,直至第一個(gè)脈沖串完成。管線中每次只能存儲一個(gè)條目。第一個(gè)脈沖串一旦完成,第二個(gè)信號波形輸出即開始,管線可用于新的脈沖串規(guī)格。多段管線在多段管線作業(yè)中,從V內(nèi)存中的包絡(luò)(輪廓)表自動(dòng)讀取每個(gè)脈沖串段的特征。該模式中的SM位置是輪廓表的控制字節(jié)、狀態(tài)字節(jié)和起始V內(nèi)存偏移量(SMW168或SMW178)??梢詾槲⒚牖蚝撩?,但該選項(xiàng)適用于輪廓表中的所有周期值,但在輪廓運(yùn)行時(shí)不得變更。然后可由執(zhí)行PLS指令開始多段操作。包絡(luò)(輪廓)表表的每段輸入的長度均為8個(gè)字節(jié),由一個(gè)16位周期值、一個(gè)16位周期增量和32位脈沖計(jì)值組成。多段PTO操作的輪廓表格式0 段數(shù)(1至255);數(shù)值0生成非嚴(yán)重錯(cuò)誤,生成無PTO輸出1 #1初始周期(2至65535個(gè)單位)3 每次脈沖的周期增量,取值范圍(-32768到+32768個(gè)單位)5 脈沖計(jì)數(shù)(1至4294967295)9 #2初始周期(2至65535個(gè)單位時(shí)間基準(zhǔn))11每個(gè)脈沖的周期增量,取值范圍(-32768到+32768個(gè)單位)

13脈沖計(jì)數(shù)(1至4294967295)17#3五、PID指令PID指令在浮點(diǎn)數(shù)計(jì)算指令樹中。PID回路(PID)指

溫馨提示

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

最新文檔

評論

0/150

提交評論