版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、5.1 傳送、移位和填充指令5.2 運算和數(shù)學(xué)指令5.3 表功能指令5.4 轉(zhuǎn)換指令5.5 字符串指令5.6 子程序5.7 時鐘指令5.8 中斷5.9 高速計數(shù)器指令5.10 高速脈沖輸出指令5.11 PID回路指令,S7-200系列PLC的功能指令,功能指令的作用 完成更為復(fù)雜的控制程序的設(shè)計
2、; 完成特殊工業(yè)控制環(huán)節(jié)的任務(wù); 使程序設(shè)計更加優(yōu)化和方便.2、在指令功能介紹中,主要包括以下幾個方面: 1、 指令格式:指令的梯形圖和語句表(LAD和STL) 2 、功能描述;指令的功能和注意事項 3 、數(shù)據(jù)類型:操作數(shù)的形式。 (1)字節(jié)型:VB,IB,QB,SB,SMB,LB,AC。和常數(shù)。 (2)字型及INT型:VW,IW,QW,MW,SW,SMW,LWT,C 和常數(shù)
3、。 (3)雙字型及雙INT型:VD,ID,QD,MD,SD,SMD,LD,AC 和常數(shù) 。 (4)操作數(shù)分為輸入操作數(shù)(IN)和輸出操作數(shù)(OUT,S7-200系列PLC的功能指令,5.1 傳送、移位和填充指令,傳送指令,5.1 傳送、移位和填充指令,一、傳送類指令: 用來完成各存貯單元進行一個或多個數(shù)據(jù)的傳送.1、單一數(shù)據(jù)的傳送(1)、字節(jié)傳送指令( MOV_ B) 功能: 使能輸入有效時,把一個單字節(jié)的數(shù)據(jù)由
4、IN傳送到OUT所指的字節(jié)存儲單元. MOVB IN,OUT 數(shù)據(jù)類型: 輸入輸出都是字節(jié).,,5.1 傳送、移位和填充指令,(2). 字傳送指令(MOV_W)功能: 使能輸入有效時,把一個單字長的數(shù)據(jù)由IN傳送到OUT所指的字存儲單元. MOVW IN,OUT數(shù)據(jù)類型: 輸入輸出都是字或INT,,5.1 傳送、移位和填充指令,(3) . 雙
5、字傳送指令(MOV_D)功能: 使能輸入有效時,把一個雙字長的數(shù)據(jù)由IN傳送到OUT所指的雙字存儲單元. MOVD IN,OUT 數(shù)據(jù)類型: 輸入輸出都是雙字或雙INT,,D,5.1 傳送、移位和填充指令,(4) . 實數(shù)傳送指令(MOV_R)功能: 使能輸入有效時,把一個32位的實數(shù)由IN傳送到OUT所指的雙字存儲單元. MOVR I
6、N,OUT數(shù)據(jù)類型: 輸入輸出都是REAL,,5.1 傳送、移位和填充指令,塊傳送: 該類指令可用來進行一次多個(最多255個)數(shù)據(jù)的傳送(1). 字節(jié)塊的傳送 ( BLKMOV_B) 功能: 使能有效時,把從輸入字節(jié)時 IN 開始的 N 個字節(jié)型數(shù)據(jù)傳送到從OUT 開始的 N 個字節(jié)的存儲單元 BMB IN,OUT,N 數(shù)據(jù)類型: 輸入輸出均
7、為字節(jié) ,N為字節(jié).,,5.1 傳送、移位和填充指令,(2). 字塊的傳送 ( BLKMOV_W)功能: 使能有效時,把從輸入字時 IN 開始的 N 個字型數(shù)據(jù)傳送到從OUT 開始的 N 個字的存儲單元. BMW IN,OUT,N數(shù)據(jù)類型:輸入輸出均為字節(jié),N為字節(jié).,,5.1 傳送、移位和填充指令,(3) 雙字塊的傳送 ( BLKMOV_D)功能
8、: 使能有效時,把從輸入雙字時 IN 開始的 N 個雙字型數(shù)據(jù)傳送到從OUT 開始的 N 個雙字的存儲單元. BMD IN,OUT,N 數(shù)據(jù)類型:輸入輸出均為雙字 ,N為字節(jié),,5.1 傳送、移位和填充指令,舉例: LD I0.0
9、 MOVB 30,VB20 MOVB 31,VB21 BMB VB20,VB100,2,,字節(jié)交換/填充指令,1、字節(jié)交換指令(SWAP IN)使能輸入(EN)有效時,將輸入字(IN)的高、低字節(jié)交換的結(jié)果輸出到(IN)存儲器單元。2、字
10、填充(FILL IN,OUT,N)使能輸入(EN)有效時,字型輸入數(shù)據(jù)(IN)填充從輸出(OUT)指定單元開始的N個字存儲單元。 N(BYTE)的數(shù)據(jù)范圍0~255。,5.1 傳送、移位和填充指令,5.1 傳送、移位和填充指令,字節(jié)交換指令(SWAP)指令格式: LAD及STL格式如圖:,,,5.1 傳送、移位和填充指令,功能描述: 使能輸入有效時,將字型輸入數(shù)據(jù)IN的高字節(jié)和低字節(jié)進行交換。數(shù)據(jù)類型:輸入為字。,5.
11、1 傳送、移位和填充指令,1:填充指令FILL 指令格式: LAD及STL格式如圖: 功能描述: 使能輸入有效時,將字型輸入數(shù)據(jù)IN填充到從輸出OUT所指的單元開始的N個字存貯單元。 數(shù)據(jù)類型:輸入為字。,,,[例]將從VW100開始的256個字節(jié)(128個字)存儲單元清零。,NETWORK1 LD I0.0 //使能輸入
12、 FILL +0, VW100, 128 //128個字填充0 本條指令執(zhí)行結(jié)果:從VW100開始的256個字節(jié)(VW100~VW354)的存儲單元清零。,5.1 傳送、移位和填充指令,5.1 傳送、移位和填充指令,1 . 移位指令: 該指令有左移和右移兩種.根據(jù)所移位數(shù)據(jù)的長度分字節(jié),字,雙字型。 移位數(shù)據(jù)存儲單元的移出端與SM1.1(溢出)相連,所以最后被
13、移出的位被放到SM1.1位存儲單元 .另一端自動補 0。,5.1 傳送、移位和填充指令,(1) 字節(jié)右移 (SHR_B) 功能 : 使能輸入端有效時,把字節(jié)型數(shù)據(jù)IN 右移 N 位后,再將結(jié)果輸出到OUT所指的字節(jié)存儲單元.最大實際可移次數(shù)為 8.,MOVB IN,OUT SRB OUT,N,5.1 傳送、移位和填充指令,(1) 字右移 (SHR_W) 功能 : 使能輸入端有效時,把字型
14、數(shù)據(jù)IN 右移 N 位后,再將結(jié)果輸出到OUT所指的字存儲單元.最大實際可移次數(shù)為16。,MOVW IN,OUT SRW OUT,N,5.1 傳送、移位和填充指令,(1) 雙字右移 (SHR_DW) 功能 : 使能輸入端有效時,把雙字型數(shù)據(jù)IN右移 N 位后,再將結(jié)果輸出到OUT所指的雙字存儲單元.最大實際可移次數(shù)為32。,MOVD IN,OUT SRD OUT,N,5.1 傳送、移位和填充指令,
15、(1) 字節(jié)左移 (SHL_B) 功能 : 使能輸入端有效時,把字節(jié)型數(shù)據(jù)IN左移N 位后,再將結(jié)果輸出到OUT所指的字節(jié)存儲單元.最大實際可移次數(shù)為 8.,5.1 傳送、移位和填充指令,(1) 字左移 (SHL_W) 功能 : 使能輸入端有效時,把字型數(shù)據(jù)IN左移N 位后,再將結(jié)果輸出到OUT所指的字存儲單元.最大實際可移次數(shù)為16。,5.1 傳送、移位和填充指令,(1) 雙字左移 (SHL_DW)
16、 功能 : 使能輸入端有效時,把雙字型數(shù)據(jù)IN左移N 位后,再將結(jié)果輸出到OUT所指的雙字存儲單元.最大實際可移次數(shù)為32。,5.1 傳送、移位和填充指令,1、移位與循環(huán)指令 該指令有循環(huán)左移和循右移兩種.循環(huán)移位數(shù)據(jù)的長度分字節(jié),字,雙字型. 循環(huán)移位數(shù)據(jù)存儲單元的移出端與另一端相連,同時與SM1.1(溢出)相連,所以最后被移出的位被移位到另一端的同時,也被移到SM1.1位存儲單元 .
17、,5.1 傳送、移位和填充指令,(1) 字節(jié)循環(huán)左移 (ROL_B) 功能 : 使能輸入端有效時,把字節(jié)型數(shù)據(jù)IN 循環(huán)左移 N 位后,再將結(jié)果輸出到OUT所指的字節(jié)存儲單元.實際移位次數(shù)為系統(tǒng)設(shè)定值取以8為底的模所得的結(jié)果。,MOVB IN,OUT,5.1 傳送、移位和填充指令,(2) 字循環(huán)左移 (ROL_W) 功能 : 使能輸入端有效時,把字型數(shù)據(jù)IN循環(huán)左移 N 位后,再將結(jié)果輸出到OUT 所指的字存儲單
18、元.實際移位次數(shù)為系統(tǒng)設(shè)定值取以16為底的模所得的結(jié)果。,5.1 傳送、移位和填充指令,(3) 雙字循環(huán)左移 (ROL_DW) 功能 : 使能輸入端有效時,把雙字型數(shù)據(jù)IN循環(huán)左移 N 位后,再將結(jié)果輸出到OUT所指的雙字存儲單元.實際移位次數(shù)為系統(tǒng)設(shè)定值取以32為底的模所得的結(jié)果,5.1 傳送、移位和填充指令,(1) 字節(jié)循環(huán)右移 (ROR_B) 功能 : 使能輸入端有效時,把字節(jié)型數(shù)據(jù)IN循環(huán)右移N 位后,再將結(jié)果
19、輸出到OUT所指的字節(jié)存儲單元.實際移位次數(shù)為系統(tǒng)設(shè)定值取以8為底的模所得的結(jié)果。,MOVB IN,OUT,5.1 傳送、移位和填充指令,(2) 字循環(huán)右移 (ROR_W) 功能 : 使能輸入端有效時,把字型數(shù)據(jù)IN循環(huán)右移 N 位后,再將結(jié)果輸出到OUT 所指的字存儲單元.實際移位次數(shù)為系統(tǒng)設(shè)定值取以16為底的模所得的結(jié)果。,5.1 傳送、移位和填充指令,(3) 雙字循環(huán)右移 (ROR_DW) 功能 : 使能輸入
20、端有效時,把雙字型數(shù)據(jù)IN循環(huán)右移 N 位后,再將結(jié)果輸出到OUT所指的雙字存儲單元.實際移位次數(shù)為系統(tǒng)設(shè)定值取以32為底的模所得的結(jié)果,5.1 傳送、移位和填充指令,寄存器移位移 SHRB(Shift Rigster Bit) 功能:該指令在梯形圖中有3個數(shù)據(jù)輸入端DATA為數(shù)值輸入,將該位的值移入移位寄存器;S-BIT為移位寄器的最低位端;N指定移位寄存的長度(1—64)。每次使能輸入有效時。在每個掃描周期內(nèi),整個移位寄存器移動一
21、位,所以要用邊沿跳變指令來控制使能端。,,5.1 傳送、移位和填充指令,移位寄存器的長度最大長度位64位,可正也可負。移位寄存器存儲單元的移出端與SM1.1(溢出)相連,移位時,移出位進入SM1.1,另一端自動補上DATA移入位的值. 當長度N為正值時,移位是從低位到高位,DATA值從S-BIT移入,移出位進入SM1.1; 當長度N為負值時, 移們從高位到低位, S-BIT移出到SM1.1, 另一端補入DATA移入位
22、的值。,5.1 傳送、移位和填充指令,最高位的計算方法: [N的絕對值—1+(S-BIT的位號)]/ 8 。 余數(shù)即是最高位的位號; 商與S-BIT的字節(jié)之和即是最高位的字節(jié)號。 例如:S-BIT是V 33.4 ,N是14, 則[14 – 1+4]/8= 2 余 1. 所以,最高字節(jié)號是33+2=35, 位號為1,即移位
23、最高位是V 35.1.,5.1 傳送、移位和填充指令,1、小車運料程序:小車在SQ1處裝料,在SQ2、SQ3處卸料。動作過程為車在原位按起動按鈕小車右行,碰到SQ2停下卸料,完成返回SQ1處裝料,小車右行至SQ3處卸料返回到原位點 設(shè)置I/O端子: 輸入端子: 輸出端子: SB1起動按鈕:I0.0 裝料:Q0.0 SB2復(fù)位按鈕:I1.3 右行:Q0.1 SQ1原位行程
24、: I0.1 卸料:Q0.2 SQ2甲位行程: I0.2 左行: Q0.3 SQ3乙位行程: I0.3 SB3連續(xù)運行:I1.0 SB4單周運行:I1.1 SB5單步運行:I1.2,5.1 傳送、移位和填充指令,程序:,5.1 傳送、移位和填充指令,2,5.1 傳送、移位和填充指令,3、,,5.2 運算和數(shù)學(xué)指令,運算指令,7.2 算術(shù)、邏輯運算指令,IN1+IN2=OUT
25、 IN1—IN2=OUT 加減指令盒由指令類型,使能端EN,操作數(shù) (IN1、IN2)輸入端,運算結(jié)果輸出OUT, 邏輯結(jié)果輸出端ENO等組成。,5.2 運算和數(shù)學(xué)指令,1.加法指令的定義: 加法指令是對兩
26、個有符號的數(shù)進行相加操作2.加法指令的種類: 整數(shù)相加、雙整數(shù)相加、實數(shù)相加。(1)整數(shù)相加ADD-I(ADDInteger)指令格式:LAD及STL格式如下圖: 功能描述:使能輸入有效時,將兩個單字長(16位)的符號整數(shù)IN1和IN2相加,產(chǎn)生一個16位整數(shù)結(jié)果OUT。數(shù)據(jù)類型:輸入、輸出均為整數(shù)。,,,5.2 運算和數(shù)學(xué)指令,例題:,,,加法運算應(yīng)用舉例,NETWORK 1 LD
27、 I0.0 //裝入常開觸點 MOVW VW100,VW200 //VW100 → VW200 +I +100, VW200 //VW200+100=VW200,5.2 運算和數(shù)學(xué)指令,6.2 運算和數(shù)學(xué)指令,(2)雙整數(shù)加法ADD-DI(ADD Double Integer):指令格式:LAD及STL格式如下圖: 功能描述:使能輸入有效時,將兩個雙字長
28、(32位)的符號雙整數(shù)IN和IN2相加,產(chǎn)生一個32位雙整數(shù)結(jié)果OUT。數(shù)據(jù)類型:輸入、輸出均為雙整數(shù)(DINT)。,,,5.2 運算和數(shù)學(xué)指令,例題:,,,5.2 運算和數(shù)學(xué)指令,(3)實數(shù)加法ADD-R(ADD Real): 指令格式:LAD及STL格式如下圖: 功能描述:使能輸入有效時,將兩個雙字長(32位)的符號實數(shù)IN1和IN2相加,產(chǎn)生一個32位實數(shù)結(jié)果OUT。 數(shù)據(jù)
29、類型:輸入、輸出均為實數(shù)(REAL)。,,,5.2 運算和數(shù)學(xué)指令,例題: 注意:如果IN1或IN2 = OUT時,加法指令變?yōu)? +I IN2,OUT; +D IN2,OUT; +R IN2,OUT 加法指令節(jié)省一條數(shù)據(jù)傳送指令,本規(guī)律適用所有算術(shù)運算,,,5.2 運算和數(shù)學(xué)指令,2.減法指令的種類: 整數(shù)相減、雙整數(shù)相減、實數(shù)相減。(1)整數(shù)減法SUB-I:指令
30、格式: LAD及STL格式如下圖: 功能描述:使能輸入有效時,將兩個單字長(16位)的符號整數(shù)IN1和IN2相減,產(chǎn)生一個16位整數(shù)結(jié)果OUT。數(shù)據(jù)類型:輸入、輸出均為整數(shù)(INT),,,5.2 運算和數(shù)學(xué)指令,(2)雙整數(shù)減法SUB-DI:指令格式:LAD及STL格式如下圖:功能描述:使能輸入有效時,將兩個雙字長(32位)的符號雙整數(shù)IN1和IN2相減,產(chǎn)生一個32位雙整數(shù)結(jié)果OU
31、T數(shù)據(jù)類型:輸入、輸出均為雙整數(shù)(DINT)。,,,5.2 運算和數(shù)學(xué)指令,(3)實數(shù)減法SUB-R:指令格式:LAD及STL格式如下圖:功能描述:使能輸入有效時,將兩個雙字長(32位)的符號實數(shù)IN1和IN2相減,產(chǎn)生一個32位實數(shù)結(jié)果OUT。數(shù)據(jù)類型:輸入、輸出均為實數(shù)(REAL)。,,2. 乘/除運算,乘法運算
32、 除法運算MUL I/DIV I為整數(shù)乘/除運算,MUL DI/DIV DI雙整數(shù)乘/除運算,MUL/DIV整數(shù)乘/除的結(jié)果雙整數(shù)輸出,MUL R/DVI R實數(shù)乘/除運算 指令執(zhí)行的結(jié)果:乘法 IN1*IN2=OUT除法 IN1/IN2=OUT,5.2 運算和數(shù)學(xué)指令,5.2
33、 運算和數(shù)學(xué)指令,1.乘法指令的定義: 乘法指令是對兩個有符號的數(shù)進行相乘運算。2.乘法指令的種類:整數(shù)乘法、完全整數(shù)乘法、雙整數(shù)乘法、實數(shù)乘法。整數(shù)乘法MUL-I:指令格式:LAD及STL格式如下圖: 功能描述:使能輸入有效時,將兩個單字長(16位)的符號整數(shù)IN1和IN2相乘,產(chǎn)生一個16位整數(shù)結(jié)果OUT。運算結(jié)果在大于16位二進制數(shù)表示的范圍時產(chǎn)生溢出。數(shù)據(jù)類型:輸入、輸出均為整數(shù)。,,,5.2
34、 運算和數(shù)學(xué)指令,例題:,,,,5.2 運算和數(shù)學(xué)指令,(2)完全整數(shù)乘法MUL:指令格式:LAD及STL格式如下圖: 功能描述:使能輸入有效時,將兩個單字長(16位)的符號整數(shù)IN1和IN2相乘,產(chǎn)生一個32位雙整數(shù)結(jié)果OUT。32位運算結(jié)果存儲單元的低16位運算前用于存放被乘數(shù)。數(shù)據(jù)類型:輸入為整數(shù)INT、輸出為雙整數(shù)(DINT)。,,,5.2 運算和數(shù)學(xué)指令,例題:,,,,5.2
35、 運算和數(shù)學(xué)指令,(3)雙整數(shù)乘法MUL-DI:指令格式:LAD及STL格式如下圖:功能描述:使能輸入有效時,將兩個雙字長(32位)的符號整數(shù)IN1和IN2相乘,產(chǎn)生一個32位雙整數(shù)結(jié)果OUT。運算結(jié)果大于32位二進制表示范圍,則產(chǎn)生溢出,,,5.2 運算和數(shù)學(xué)指令,(4)實數(shù)乘法MUL-R:指令格式:LAD及STL格式如下圖 功能描述:使能輸入有效時,將兩個雙字長(32位)的實
36、數(shù)IN1和IN2相乘,產(chǎn)生一個32位實數(shù)結(jié)果OUT。運算結(jié)果大于32位二進制表示范圍,則產(chǎn)生溢出。,,,5.2 運算和數(shù)學(xué)指令,除法指令1.除法指令的定義: 除法指令是對兩個有符號的數(shù)進行相除運算。2.除法指令的種類: 整數(shù)除法、完全整數(shù)除法、雙整數(shù)除法、實數(shù)除法。功能描述: 使能輸入有效時,將兩個單字長(16位)的符號整數(shù)IN1和IN2相除,產(chǎn)生一個16位整數(shù)商OUT,不保留余數(shù)。雙整數(shù)除法和
37、實數(shù)除法也同樣過程,只是位數(shù)變?yōu)?2位。,,,5.2 運算和數(shù)學(xué)指令,除法指令 在整數(shù)完全除法中,兩個16位的符號整數(shù)相除,產(chǎn)生一個32位的結(jié)果,其中低16位為商,高16位為余數(shù)。在指令中,32位結(jié)果存儲單元的低16位運算前被兼用存放被除數(shù)。,,,5.2 運算和數(shù)學(xué)指令,指令格式:LAD及STL格式如下圖 /I INT, OUT DIV
38、INT, OUT /D IN1, OUT /R IN1, OUT,,,,,,,5.2 運算和數(shù)學(xué)指令,完全除法與整數(shù)除法的比較實例:4003/40= ?(1)完全除法:,,,,,5.2 運算和數(shù)學(xué)指令,完全除法與整數(shù)除法的比較實例:4003/40= ?(2)整數(shù)除法:,,,,,,,乘/除法指令的應(yīng)用,NETWORK 1LDN I0.0 //裝入
39、常閉觸點*R AC1, VD100 //實數(shù)乘法/R VD10, VD200 //實數(shù)除法,運行結(jié)果:,5.2 數(shù)學(xué)函數(shù)變換指令,1. 平方根/自然對數(shù)/指數(shù)指令 SQRT IN,OUT //求平方根指令 SQRT(IN)=OUT LN IN,OUT //求(IN)的自然對數(shù)指令 LN(IN)=OUT EXP IN,OUT //求(IN)的指
40、數(shù)指令EXP(IN)=OUT 平方根(自然對數(shù)、指數(shù))指令是把一個雙字長(32位)的 數(shù)(IN)開方(取自然對數(shù)、取以e為底的指數(shù)),得到32 位的實數(shù)運算結(jié)果,通過(OUT)指定的存儲器單元輸出。,[例] 求以10為底,150的常用對數(shù),150存于VD100,結(jié)果放到AC1(應(yīng)用對數(shù)的換底公式求解)。 當求解以10為底的常用對數(shù)時,用實數(shù)除法指令將自然對數(shù)除以2.302585即可。(LN10≈2.302585
41、),LD I0.1 //使能輸入LN VD100, AC1 //自然對數(shù) Ln(VD100)=AC1LN 10.0, VD200 //自然對數(shù) Ln(10)=VD200/R VD200, AC1 //實數(shù)除法指令//AC1/VD200=VD200,1. 平方根/自然對數(shù)/指數(shù)指令,利用指數(shù)函數(shù)求解任意函數(shù)的x次方(yx=exlny)。例如: 7的4次
42、方=EXP(4*LN(7))=2401 8的3次方根=8 ^ (1/3)=EXP (LN (8) *1/3 )=2 三角函數(shù) SIN IN,OUT //SIN(IN)=OUT
43、 COS IN,OUT // COS(IN)=OUT TAN IN,OUT //TAN(IN)=OUT,[例] 求65o的正切值,LDN I0.0 //使能輸入MOVR 3.14159, AC0 //π裝入AC0/R 180.0, AC0 //得π/1800弧度*R 65.0
44、, AC0 //將角度轉(zhuǎn)化為弧度 TAN AC0, AC1 //求正切指令結(jié)果存放到AC1,數(shù)學(xué)函數(shù)變換指令對標志位的影響及操作數(shù)的尋址范圍 (1)平方根/自然對數(shù)/指數(shù)/三角函數(shù)運算指令執(zhí)行的結(jié)果影響特殊存儲器位:SM1.0(零),SM1.1(溢出),SM1.2(負),SM1.3(被0除)。 (2)使能流輸出ENO=0的錯誤條件是:SM1.1(溢出),S
45、M4.3(運行時間),0006(間接尋址)。 (3)IN、OUT操作數(shù)的數(shù)據(jù)類型為REAL,尋址范圍見附表1。,5.2 數(shù)學(xué)函數(shù)變換指令,5.2 增1/減1計數(shù),增1/減1計數(shù)器用于自增、自減操作,以實現(xiàn)累加計數(shù)和循環(huán)控制等程序的編制。 字節(jié)、字、雙字增1 OUT+1=OUT 字節(jié)、字、雙字減1 OUT-1=OUT,5.2 邏輯運算指令,1、邏輯運算是對無符
46、號數(shù)進行的邏輯處理,主要包括邏輯與、邏輯或、邏輯異或和取反等運算指令。 (1)與(或、異或)指令功能:使能輸入有效時,把兩個字節(jié)(字、雙字)長的輸入邏輯數(shù)按位相與(或、異或) ,得到的一個字節(jié)(字、雙字)邏輯運算結(jié)果,送到OUT指定的存儲器單元輸出。,5.2 邏輯運算指令,1、邏輯運算是對無符號數(shù)進行的邏輯處理,主要包括邏輯與、邏輯或、邏輯異或和取反等運算指令。
47、 (2)取反指令功能:使能輸入有效時,將一個字節(jié)(字、雙字)長的邏輯數(shù)按位取反,得到的一個字節(jié)(字、雙字)邏輯運算結(jié)果,送到OUT指定的存儲器單元輸出。,字或/雙字異或/字求反/字節(jié)與操作編程舉例。,NETWORK 1 LD I0.0MOVW LW10, LW30 //LW 10=LW30ORW LW20, LW30 //字或操作
48、;NETWORK 2LD I0.1MOVD VD100, VD120XORD VD200, VD120 //雙字異或操作 NETWORK 3LD I0.2MOVW AC0, AC1INVW AC1 //字取反操作 NETWORK 4LD I0.3MOVB AC0, AC1ANDB 255, AC1 //
49、字節(jié)與操作,5.2 運算和數(shù)學(xué)指令,邏輯運算指令作用指令,5.3 表功能指令,數(shù)據(jù)表格式表功能指令作用數(shù)據(jù)表格式,5.3 表功能指令,指令,5.3 表功能指令,表功能指令定義: 指令用來建立和存取字類型的數(shù)據(jù)表。數(shù)據(jù)表由三部分組成:表地址,由表的首地址指明;表定義,由表地址和第二個字地址所對應(yīng)的單元分別存放的兩個表參數(shù),來定義最大填表數(shù)(TL)和實際填表數(shù)(EC);存儲數(shù)據(jù),從第三個字地址開始存放數(shù)據(jù)。一個表最多能
50、存儲100個數(shù)據(jù)。,5.3 表功能指令,1、表存數(shù)指令A(yù)D_T_TBL(Add to table)又稱為填表指令 填表指令用于把指定的字型數(shù)據(jù)添加到表格中 指令格式:LAD STL功能描述:當使端輸入有效時,將DATA指定的數(shù)據(jù)添加到表格TBL中最后一個數(shù)據(jù)的后面。該指令在梯形圖中有2個數(shù)據(jù)輸入端:DATA為數(shù)據(jù)輸入端,指出將被存儲的字型數(shù)據(jù);TBL為表格的首地址
51、,用以指明被訪問的表格。表存取時,新存的數(shù)據(jù)添加在表中最后一個數(shù)據(jù)的后面。每項表中存?zhèn)€數(shù)據(jù),實際填表數(shù)EC會自動加1,5.3 表功能指令,例題分析:將數(shù)據(jù)(VW100)=1234填入表中,表的首地址為VW200創(chuàng)建一個包含20條數(shù)據(jù)的表。存儲區(qū)的第一個數(shù)據(jù)為表的長度,存儲區(qū)的第二個數(shù)據(jù)為表中數(shù)據(jù)的實際個數(shù)。,5.3 表功能指令,2.表取數(shù)指令: 從表中取一個字型數(shù)據(jù)可有兩種方式:先進先出式和后進先出式一個數(shù)據(jù)從表中取出后表的實際填
52、表數(shù)EC值減少1。(1)先進先出指令FIFO(First In And First Out) 指令格式:LAD梯形圖 STL語句表 FIFO TBL,DATA使用功能: 當功能端輸入有效時,從TBL指明的表中移出第一個字型數(shù)據(jù),并將該數(shù)據(jù)輸出到DATA,剩余數(shù)據(jù)依次上移一位。,5.3 表功能指令,(2)后進先出指令LIFO(Last In first out)指
53、令格式:LAD梯形圖 STL語句表 LIFO TBL,DATA使用功能:當功能端輸入有效時,從TBL指明的表中移走最后一個字型數(shù)據(jù),并將該數(shù)據(jù)輸出到DATA,剩余數(shù)據(jù)位置保持不變。,5.3 表功能指令,1、表存數(shù)指令A(yù)D_T_TBL(Add to table)又稱為填表指令 填表指令用于把
54、指定的字型數(shù)據(jù)添加到表格中 指令格式:LAD STL功能描述:當使端輸入有效時,將DATA指定的數(shù)據(jù)添加到表格TBL中最后一個數(shù)據(jù)的后面。該指令在梯形圖中有2個數(shù)據(jù)輸入端:DATA為數(shù)據(jù)輸入端,指出將被存儲的字型數(shù)據(jù);TBL為表格的首地址,用以指明被訪問的表格。表存取時,新存的數(shù)據(jù)添加在表中最后一個數(shù)據(jù)的后面。每項表中存?zhèn)€數(shù)據(jù),實際填表數(shù)EC會自動加1,5.4 轉(zhuǎn)換指令
55、,轉(zhuǎn)換指令是對操作數(shù)的類型進行轉(zhuǎn)換,包括數(shù)據(jù)類型轉(zhuǎn)換、碼的類型轉(zhuǎn)換以及數(shù)據(jù)和碼之間的轉(zhuǎn)換一.數(shù)據(jù)類型轉(zhuǎn)換 可編程控制器中的主要數(shù)據(jù)類型包括字節(jié)、整數(shù)、雙字和實數(shù)。主要的編碼制有BCD碼、十進制碼和ASCII碼字符串等。不同性質(zhì)的指令對操作數(shù)的類型要求不同,因此在指令使用之前需要將操作數(shù)轉(zhuǎn)化成相應(yīng)的類型,轉(zhuǎn)換指令可以完成這樣的任務(wù)。,5.4 轉(zhuǎn)換指令,1.字節(jié)與整數(shù)(1)字節(jié)到整數(shù) B_I(Byte to Integer)
56、功能描述:當使端輸入有效時,將字節(jié)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。字節(jié)是無符號數(shù),所以沒有符號擴展。(2)整數(shù)到字節(jié) I_B(Integer to Byte)功能描述:當使端輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成字節(jié)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出字節(jié)范圍(0--255)則產(chǎn)生溢出。 BTI IN,OUT ITB IN,OUT,5.4 轉(zhuǎn)換指令,2.整數(shù)與雙整數(shù)
57、(1)整數(shù)到雙整數(shù) I_DI(Integer to Double Integer)功能描述:當使端輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成雙整數(shù)類型(符號進行擴展),并將結(jié)果送到OUT輸出。(2)整數(shù)到字節(jié) DI_I(Double Integer to Integer)功能描述:當使端輸入有效時,將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。
58、 ITD IN,OUT DTI IN,OUT,5.4 轉(zhuǎn)換指令,3.雙整數(shù)與實數(shù)(1)實數(shù)到雙整數(shù)實數(shù)轉(zhuǎn)換為雙整數(shù)其指令有兩條:ROUND和TRUNC。功能描述:當使端輸入有效時,將實數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成雙整數(shù)類型,并將結(jié)果送到OUT輸出。兩條指令的區(qū)別是:前者小數(shù)點4舍5入,而后者小數(shù)部分直接舍去。(2)雙整數(shù)到實數(shù) DI_R(Double Integer to Real)功能描述:當使端輸入有效時,將雙整數(shù)輸入
59、數(shù)據(jù)IN轉(zhuǎn)換成實數(shù)類型,并將結(jié)果送到OUT輸出。 ROUND IN,OUT TRUNC IN,OUT DTR IN,OUT,7.4 轉(zhuǎn)換指令,4.整數(shù)與BCD碼(1)BCD碼到整數(shù)BCD_I(BCD TO INTEGER)功能描述:使能輸入有效時,將BCD碼輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)IN 的范圍為0—999
60、9。(2)整數(shù)到BCD I_BCD(Integer to BCD)功能描述:使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成BCD碼類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)IN 的范圍為0—9999。數(shù)據(jù)類型:輸入、輸出均為字 BCDI IN,OUT IBCD IN,OUT,5.4 轉(zhuǎn)換指令,數(shù)據(jù)類型轉(zhuǎn)換指
61、令作用指令,5.4 轉(zhuǎn)換指令,轉(zhuǎn)化指令使用舉例:將英寸長度轉(zhuǎn)化成CM長度。其中C10中存放英寸長度,VD4存放轉(zhuǎn)化系數(shù)2.54。,5.4 轉(zhuǎn)換指令,轉(zhuǎn)化指令使用舉例:將英寸長度轉(zhuǎn)化成CM長度。其中C10中存放英寸長度,VD4存放轉(zhuǎn)化系數(shù)2.54。,5.4 轉(zhuǎn)換指令,編碼和譯碼指令編碼和譯碼(1).編碼ENCO(ENCODE)功能描述:使能輸入有效時,將字型輸入數(shù)據(jù)IN的最低有效位(值為1的位)的位號輸出到OUT所指定的字節(jié)單元
62、的低4位,即半字節(jié)來對一個字型數(shù)據(jù)16位中的1位有效位進行編碼。數(shù)據(jù)類型:輸入為字,輸出為字節(jié)。 ENCO IN,OUT,5.4 轉(zhuǎn)換指令,編碼和譯碼指令編碼和譯碼(2).譯碼DECO(DECODE)功能描述:使能輸入有效時,將字節(jié)輸入數(shù)據(jù)IN的低四位所表示的位號對OUT所指定的字單元的對應(yīng)位置1,其它位置0,即對半個字節(jié)的編碼進行譯碼,以選擇一個字型數(shù)據(jù)16位中的1位。數(shù)
63、據(jù)類型:輸入為字節(jié),輸出為字。。 ENCO IN,OUT,5.4 轉(zhuǎn)換指令,編碼和譯碼指令 例:ENCO AC0,VB0,5.4 轉(zhuǎn)換指令,(3).七段顯示譯碼指令SEG功能描述:使能輸入有效時,將字節(jié)型輸入數(shù)據(jù)IN的低4位有效數(shù)字產(chǎn)生相應(yīng)的七段碼,并將其輸出到OUT所指定的字節(jié)單元。該指令在數(shù)碼顯示時直接應(yīng)用,非常方便。指令
64、格式:梯形圖和語句表 SEG IN,OUT,5.4 轉(zhuǎn)換指令,七段碼編碼表,5.4 轉(zhuǎn)換指令,例:SEG VB10,QB0若設(shè)VB10=05,執(zhí)行上述指令后,在Q0.0—Q0.7上可以輸出01101101,5.4 轉(zhuǎn)換指令,ASCII轉(zhuǎn)換指令三.字符串轉(zhuǎn)換字符串轉(zhuǎn)換是
65、將標準字符ASCII編碼字符串與16進制值、整數(shù)、雙整數(shù)及實數(shù)之間進行轉(zhuǎn)換??蛇M行轉(zhuǎn)換的ASCII碼為0-9及A-F。1.指令種類(1)ATH ASCII碼轉(zhuǎn)換為16進制。(2)HTA 16進制轉(zhuǎn)換為ASCII碼(3)ITA 整數(shù)轉(zhuǎn)換為ASCII碼(4)DTA 雙整數(shù)轉(zhuǎn)換為ASCII碼(5)RTA 實數(shù)轉(zhuǎn)換為ASCII碼,5.4 轉(zhuǎn)換指令,ASCII轉(zhuǎn)換指令1.指令種類,5.4 轉(zhuǎn)換指令,字符串轉(zhuǎn)換
66、指令作用指令,5.5 字符串指令,作用指令,子程序調(diào)用指令,1.建立子程序2.子程序調(diào)用 3.帶參數(shù)的子程序調(diào)用,5.6 程序控制類指令,1. 建立子程序,(1)從“編輯”菜單,選擇插入→子程序;(2)從“指令樹”,用鼠標右鍵單擊“程序塊”圖標,并從彈出菜單選擇插入→子程序;(3)從“程序編輯器”窗口,用鼠標右鍵單擊,并從彈出菜單選擇插入→ 子程序。,5.6 程序控制類指令,2. 子程序調(diào)用,(1)子程序調(diào)用和返回指令
67、 子程序調(diào)用 SBR_n 子程序條件返回 CRET參數(shù)n:為字型常數(shù)。對CPU221、222和224,N為0—63,即這些CPU最多可以有64個子程序;CPU224XP和CPU226,N為0—127,即這些CPU最多可以有128個子程序,5.6 程序控制類指令,2. 子程序調(diào)用使用說明,(1)CRET多用于子程序的內(nèi)部,由判斷條件決定是否結(jié)束子程序調(diào)用,RET用于子程序的結(jié)束。(2)如果在子程序內(nèi)部又
68、對另一個子程序執(zhí)行調(diào)用指令,則這種調(diào)用稱為子程序的嵌套。子程序的嵌套深度最多8級。(3)當一個子程序被調(diào)用時,系統(tǒng)自動保存當前的堆棧數(shù)據(jù),并把棧頂置1,堆棧中的其它值為0,子程序占有控制權(quán)。子程序執(zhí)行結(jié)束,通過返回指令自動恢復(fù)原來的邏輯堆棧值,調(diào)用程序又重新取得控制權(quán);(4)累加器可在調(diào)用程序和被調(diào)用子程序之間自由傳遞,所以累加器的值在子程序調(diào)用時既不保存也不恢復(fù)。(5)當子程序在一個掃描周期內(nèi)被多次調(diào)用時,在子程序中不能使用上升
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題四功能指令的應(yīng)用
- 觸摸屏宏功能指令的應(yīng)用
- 三菱plc功能指令及應(yīng)用舉例
- 肺功能指標
- 基于s7-200的工業(yè)洗衣機plc課程設(shè)計(順序功能指令)
- 常用肺功能指標
- 左心室舒張功能指標
- 左心室舒張功能指標
- 肝功能指標解讀.
- 肝功能指標異常及危害
- 肝功能指標解讀ppt課件
- 常用肝功能指標都有哪些
- 1500運動控制常見功能所用編程指令
- 1500運動控制常見功能所用編程指令
- 基于DIAG指令的PC套件功能擴展.pdf
- 377例孕婦不同孕期甲狀腺功能指標分析.pdf
- 基本指令及no指令
- 電弧故障檢測裝置功能指標測試系統(tǒng)研究.pdf
- 左心房功能指數(shù)在評價房顫患者左房功能中的應(yīng)用.pdf
- ??铺厣】敌獭δ苤笇?dǎo)與健康教育相結(jié)合
評論
0/150
提交評論