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