電氣控制與PLC_第1頁
電氣控制與PLC_第2頁
電氣控制與PLC_第3頁
電氣控制與PLC_第4頁
電氣控制與PLC_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、教學內(nèi)容:教學內(nèi)容: 7.1 數(shù)據(jù)處理指令數(shù)據(jù)處理指令 7.2 數(shù)據(jù)運算指令數(shù)據(jù)運算指令 7.3 中斷程序與中斷指令 7.4 高速計數(shù)器與高速脈沖輸出指令 7.5 PID回路指令u PLC PLC實際上就是工業(yè)控制計算機。它具有計算機控制實際上就是工業(yè)控制計算機。它具有計算機控制系統(tǒng)的功能,例如算術(shù)邏輯運算、程序流控制、通信系統(tǒng)的功能,例如算術(shù)邏輯運算、程序流控制、通信等等極為強大的功能。這些功能通常是通過功能指令等等極為強大的功能。這些功能通常是通過功能指令的形式來實現(xiàn)的。的形式來實現(xiàn)的。 u 功能指令(功能指令(Function Instruction)又稱為應用指令,)又稱為應用指令,它

2、是指令系統(tǒng)中應用于復雜控制的指令。功能指令包它是指令系統(tǒng)中應用于復雜控制的指令。功能指令包括:數(shù)據(jù)處理指令、算術(shù)邏輯運算指令、表功能指令、括:數(shù)據(jù)處理指令、算術(shù)邏輯運算指令、表功能指令、轉(zhuǎn)換指令、中斷指令、高速處理指令等等。轉(zhuǎn)換指令、中斷指令、高速處理指令等等。這些功能這些功能指令實際上是廠商為滿足各種客戶的特殊需要而開發(fā)指令實際上是廠商為滿足各種客戶的特殊需要而開發(fā)的通用子程序。的通用子程序。 1. 單一傳送指令單一傳送指令 使能輸入有效時,把一個單字節(jié)無符號數(shù)據(jù)由使能輸入有效時,把一個單字節(jié)無符號數(shù)據(jù)由IN傳送到傳送到OUT所指的字節(jié)存儲單元。所指的字節(jié)存儲單元。 指令格式:指令格式:MO

3、VB IN, OUT MOVB IN, OUT 使能輸入有效時,立即讀取單字節(jié)使能輸入有效時,立即讀取單字節(jié)物理輸入?yún)^(qū)物理輸入?yún)^(qū)(IB)(IB)數(shù)據(jù)數(shù)據(jù)ININ,并傳送到,并傳送到OUTOUT所指的字節(jié)存儲單元。所指的字節(jié)存儲單元。 指令格式:指令格式:BIR IN, OUT BIR IN, OUT (2)傳送字節(jié)立即讀指令:)傳送字節(jié)立即讀指令:BIR (1)字節(jié)傳送指令:)字節(jié)傳送指令:MOVB使能輸入有效時,立即將使能輸入有效時,立即將IN單元的字節(jié)數(shù)單元的字節(jié)數(shù)據(jù)寫到據(jù)寫到OUT所指的所指的物理輸出區(qū)物理輸出區(qū)(QB)(QB)。 指令格式:指令格式:BIW IN, OUT BIW IN

4、, OUT (3)傳送字節(jié)立即寫指令:)傳送字節(jié)立即寫指令:BIW(4)字傳送指令:)字傳送指令:MOVW 使能輸入有效時,把一個單字長有符號整使能輸入有效時,把一個單字長有符號整數(shù)由數(shù)由IN傳送到傳送到OUT所指的字存儲單元。所指的字存儲單元。 指令格式:指令格式:MOVW IN, OUT 使能輸入有效時,把一個雙字長有符號整使能輸入有效時,把一個雙字長有符號整數(shù)由數(shù)由IN傳送到傳送到OUT所指的雙字存儲單元。所指的雙字存儲單元。 指令格式:指令格式:MOVD IN, OUT 使能輸入有效時,把一個使能輸入有效時,把一個32位實數(shù)由位實數(shù)由IN傳傳送到送到OUT所指的雙字存儲單元。所指的雙字

5、存儲單元。 指令格式:指令格式:MOVR IN, OUT (6)實數(shù)傳送指令:)實數(shù)傳送指令:MOVR(5)雙字傳送指令:)雙字傳送指令:MOVD 2. 2. 塊傳送指令塊傳送指令 使能輸入有效時,把從輸入字使能輸入有效時,把從輸入字IN開始的開始的N個字型數(shù)據(jù)傳送到從個字型數(shù)據(jù)傳送到從OUT開始的開始的N個字存儲個字存儲單元。單元。 指令格式:指令格式:BMW IN, OUT, N 使能輸入有效時,把從輸入字節(jié)使能輸入有效時,把從輸入字節(jié)IN開始的開始的N個字節(jié)型數(shù)據(jù)傳送到從個字節(jié)型數(shù)據(jù)傳送到從OUT開始的開始的N個字個字節(jié)存儲單元。節(jié)存儲單元。 指令格式:指令格式:BMB IN, OUT,

6、 N (2)字塊傳送指令:)字塊傳送指令:BMW(1)字節(jié)塊傳送指令:)字節(jié)塊傳送指令:BMB使能輸入有效時,把從輸入雙字使能輸入有效時,把從輸入雙字IN開始的開始的N個雙字型數(shù)據(jù)傳送到從個雙字型數(shù)據(jù)傳送到從OUT開始的開始的N個雙個雙字存儲單元。字存儲單元。 指令格式:指令格式:BMD IN, OUT, N (3)雙字塊傳送指令:)雙字塊傳送指令:BMD3. 字節(jié)交換指令字節(jié)交換指令 SWAP,字節(jié)交換指令。當使能輸入有效,字節(jié)交換指令。當使能輸入有效時,時,將字型輸入數(shù)據(jù)將字型輸入數(shù)據(jù)IN高位字節(jié)與低位字節(jié)高位字節(jié)與低位字節(jié)進行交換,交換的結(jié)果輸出到進行交換,交換的結(jié)果輸出到IN存儲器單元

7、存儲器單元中。因此又可稱為中。因此又可稱為半字交換指令半字交換指令。 指令格式:指令格式:SWAP IN4. 4. 存儲器填充指令存儲器填充指令FILL,存儲器填充指令。當使能輸入有效,存儲器填充指令。當使能輸入有效時,將時,將字型輸入值字型輸入值IN填充至從填充至從OUT開始的開始的N個字的存儲單元中。個字的存儲單元中。N為字節(jié)型,可取為字節(jié)型,可取1255的正數(shù)。的正數(shù)。 指令格式:指令格式:FILL IN, OUT, N 例:例: SWAP VW10 /SWAP VW10 /若(若(VW10VW10)為)為11111111 0000000011111111 00000000 則指令執(zhí)行后

8、,則指令執(zhí)行后, (VW10VW10)為?)為? FILL 10, VW1OFILL 10, VW1O, 8 8u 移位指令是對移位指令是對無符號數(shù)無符號數(shù)進行的處理,執(zhí)行時只考慮進行的處理,執(zhí)行時只考慮要移位的存儲單元的每一位數(shù)字狀態(tài),而不管數(shù)據(jù)的要移位的存儲單元的每一位數(shù)字狀態(tài),而不管數(shù)據(jù)的值的大小。值的大小。本類指令在一個數(shù)字量輸出點對應多個相本類指令在一個數(shù)字量輸出點對應多個相對固定狀態(tài)的情況下有廣泛的應用。對固定狀態(tài)的情況下有廣泛的應用。 1. 1. 左移和右移左移和右移 將輸入將輸入IN中的數(shù)的各位向右或向左移動中的數(shù)的各位向右或向左移動N位后,送給輸出位后,送給輸出OUT。左移和

9、右移根據(jù)所移位的數(shù)的長度分別又可分為字節(jié)型、左移和右移根據(jù)所移位的數(shù)的長度分別又可分為字節(jié)型、字型、雙字型。字型、雙字型。移位特點:移位特點:移位數(shù)據(jù)存儲單元的移出端與移位數(shù)據(jù)存儲單元的移出端與SM1.1SM1.1(溢出錯誤標志位)相連,(溢出錯誤標志位)相連,所以最后被移出的位被放到所以最后被移出的位被放到SM1.1SM1.1位存儲單元。位存儲單元。移位時移位時, ,移出位進入移出位進入SM1.1SM1.1,另一端自動補,另一端自動補0 0。SM1.1SM1.1始終存放最后始終存放最后一次被移出的位。一次被移出的位。移位次數(shù)與移位數(shù)據(jù)的長度有關(guān),如果所需移位次數(shù)大于移位數(shù)移位次數(shù)與移位數(shù)據(jù)的

10、長度有關(guān),如果所需移位次數(shù)大于移位數(shù)據(jù)的位數(shù),則超出的次數(shù)無效。據(jù)的位數(shù),則超出的次數(shù)無效。如果移位操作使數(shù)據(jù)變?yōu)槿绻莆徊僮魇箶?shù)據(jù)變?yōu)? 0,則零標志位(,則零標志位(SM1.0SM1.0)自動置位。)自動置位。移位指令影響的特殊存儲器位:移位指令影響的特殊存儲器位:SM1.0SM1.0;SM1.1SM1.1。移位次數(shù)移位次數(shù)N N為字節(jié)型數(shù)據(jù)。為字節(jié)型數(shù)據(jù)。 (1)字節(jié)左移和字節(jié)右移指令:)字節(jié)左移和字節(jié)右移指令:SLB,SRB 使能輸入有效時,把字節(jié)輸入數(shù)據(jù)使能輸入有效時,把字節(jié)輸入數(shù)據(jù)IN左移或右移左移或右移N位后,再將位后,再將結(jié)果輸出到結(jié)果輸出到OUT所指的字節(jié)存儲單元所指的字節(jié)存

11、儲單元(在語句表中,(在語句表中,IN與與OUT使用同一個單元)。最大實際可移位次數(shù)為使用同一個單元)。最大實際可移位次數(shù)為8。指令格式:指令格式: SLB OUTSLB OUT, N N (字節(jié)左移)(字節(jié)左移) SRB OUTSRB OUT, N N (字節(jié)右移)(字節(jié)右移)例:例: SLB MB0SLB MB0, 2 2 SRB LB0 SRB LB0, 3 3以第一條指令為例,指令執(zhí)行情況如下表所示:以第一條指令為例,指令執(zhí)行情況如下表所示: 移位次數(shù)移位次數(shù)地址地址單元內(nèi)容單元內(nèi)容位位SM1.1說說 明明0MB010110101X移位前(移位前(SM1.1不確定)不確定)1MB001

12、1010101數(shù)左移,移出位數(shù)左移,移出位1進入進入SM1.1,右端補,右端補02MB0110101000數(shù)左移,移出位數(shù)左移,移出位0進入進入SM1.1,右端補,右端補0(2 2)字左移和字右移指令:)字左移和字右移指令:SLWSLW,SRW SRW 指令盒與字節(jié)移位比較,只有名稱變?yōu)橹噶詈信c字節(jié)移位比較,只有名稱變?yōu)镾HLSHL W W和和SHRSHR W W。最大實。最大實際可移位次數(shù)為際可移位次數(shù)為1616。指令格式:指令格式: SLW OUTSLW OUT, N N (字左移)(字左移) SRW OUTSRW OUT, N N (字右移)(字右移)例:例: SRW LW0SRW LW

13、0, 3 3 指令執(zhí)行情況如下表所示:指令執(zhí)行情況如下表所示: 移位次數(shù)移位次數(shù)地址地址單元內(nèi)容單元內(nèi)容位位SM1.1說說 明明0LW01011010100110011 X移位前(移位前(SM1.1不確定)不確定) 1LW001011010100110011右移,右移, 1進入進入SM1.1,左端補,左端補0 2LW000101101010011001右移,右移, 1進入進入SM1.1,左端補,左端補03LW000010110101001100右移,右移, 0進入進入SM1.1,左端補,左端補0指令格式:指令格式: SLD OUT, N (雙字左移)(雙字左移) SRD OUT, N (雙字右

14、移)(雙字右移)例:例: SLD MD0, 2 SRD LD0, 3 (3 3)雙字左移和雙字右移指令:)雙字左移和雙字右移指令:SLDSLD,SRD SRD 指令盒與字節(jié)移位比較,只有名稱變?yōu)橹噶詈信c字節(jié)移位比較,只有名稱變?yōu)镾HLSHL DWDW和和SHRSHR DWDW,其他部分完全相同。最大實際可移位次數(shù)為其他部分完全相同。最大實際可移位次數(shù)為3232。 2. 循環(huán)左移、循環(huán)右移循環(huán)左移、循環(huán)右移 循環(huán)移位特點:循環(huán)移位特點: 移位數(shù)據(jù)存儲單元的移出端與另一端相連,同時又與移位數(shù)據(jù)存儲單元的移出端與另一端相連,同時又與SM1.1SM1.1(溢出)(溢出)相連,所以最后被移出的位被移到另

15、一端的同時,也被放到相連,所以最后被移出的位被移到另一端的同時,也被放到SM1.1SM1.1位位存儲單元。存儲單元。移位次數(shù)與移位數(shù)據(jù)的長度有關(guān),如果移位次數(shù)設(shè)定值大于移位數(shù)移位次數(shù)與移位數(shù)據(jù)的長度有關(guān),如果移位次數(shù)設(shè)定值大于移位數(shù)據(jù)的位數(shù),則執(zhí)行循環(huán)移位之前,系統(tǒng)先對設(shè)定值取以數(shù)據(jù)長度為底據(jù)的位數(shù),則執(zhí)行循環(huán)移位之前,系統(tǒng)先對設(shè)定值取以數(shù)據(jù)長度為底的模,用小于數(shù)據(jù)長度的結(jié)果作為實際循環(huán)移位的次數(shù)。如字左移時,的模,用小于數(shù)據(jù)長度的結(jié)果作為實際循環(huán)移位的次數(shù)。如字左移時,若移位次數(shù)設(shè)定為若移位次數(shù)設(shè)定為3636,則先對,則先對3636取以取以1616為底的模,得到小于為底的模,得到小于1616

16、的結(jié)果的結(jié)果4 4,故指令實際循環(huán)移位,故指令實際循環(huán)移位4 4次。次。如果移位操作使數(shù)據(jù)變?yōu)槿绻莆徊僮魇箶?shù)據(jù)變?yōu)? 0,則零存儲器位(,則零存儲器位(SM1.0SM1.0)自動置位。)自動置位。移位指令影響的特殊存儲器位:移位指令影響的特殊存儲器位:SM1.0SM1.0(零);(零);SM1.1SM1.1(溢出)。(溢出)。移位次數(shù)移位次數(shù)N N為字節(jié)型數(shù)據(jù)。為字節(jié)型數(shù)據(jù)。(1)字節(jié)循環(huán)左移和字節(jié)循環(huán)右移指令:)字節(jié)循環(huán)左移和字節(jié)循環(huán)右移指令:RLB,RRB 使能輸入有效時,把字節(jié)輸入數(shù)據(jù)使能輸入有效時,把字節(jié)輸入數(shù)據(jù)IN循環(huán)左移或右移循環(huán)左移或右移N位后,位后,再將結(jié)果輸出到再將結(jié)果輸出

17、到OUT所指的字節(jié)存儲單元(在語句表中,所指的字節(jié)存儲單元(在語句表中,IN與與OUT使用同一個單元)。循環(huán)移位是環(huán)形的,被移出的位將返使用同一個單元)。循環(huán)移位是環(huán)形的,被移出的位將返回到另一端空出的位?;氐搅硪欢丝粘龅奈?。實際移位次數(shù)為設(shè)定值取以實際移位次數(shù)為設(shè)定值取以8為底的模所為底的模所得的結(jié)果。得的結(jié)果。指令格式:指令格式: RLB OUTRLB OUT, N N (字節(jié)循環(huán)左移)(字節(jié)循環(huán)左移) RRB OUTRRB OUT, N N (字節(jié)循環(huán)右移)(字節(jié)循環(huán)右移)例:例: RLB MB0RLB MB0, 2 2 RRB LB0 RRB LB0, 3 3 (2)字循環(huán)左移和字循環(huán)

18、右移指令:)字循環(huán)左移和字循環(huán)右移指令:RLW,RRW 指令盒與字節(jié)循環(huán)移位只有名稱變?yōu)橹噶詈信c字節(jié)循環(huán)移位只有名稱變?yōu)镽OL W和和ROR W,其他部分完全相同。使能輸入有效時,把字型輸入數(shù)據(jù)其他部分完全相同。使能輸入有效時,把字型輸入數(shù)據(jù)IN循環(huán)左移或循環(huán)右移循環(huán)左移或循環(huán)右移N位后,再將結(jié)果輸出到位后,再將結(jié)果輸出到OUT所指的所指的字存儲單元。實際移位次數(shù)為設(shè)定值取以字存儲單元。實際移位次數(shù)為設(shè)定值取以16為底的模所得為底的模所得的結(jié)果。的結(jié)果。指令格式:指令格式: RLW OUTRLW OUT, N N (字循環(huán)左移)(字循環(huán)左移) RRW OUTRRW OUT, N N (字循環(huán)右

19、移)(字循環(huán)右移)例:例: RLW MD0RLW MD0, 2 2 RRW LD0 RRW LD0, 3 3 (3)雙字循環(huán)左移和雙字循環(huán)右移指令:)雙字循環(huán)左移和雙字循環(huán)右移指令:RLD,RRD 指令盒與字節(jié)循環(huán)移位只有名稱變?yōu)橹噶詈信c字節(jié)循環(huán)移位只有名稱變?yōu)镽OL DW和和ROR DW,其,其他部分完全相同。使能輸入有效時,把雙字型輸入數(shù)據(jù)他部分完全相同。使能輸入有效時,把雙字型輸入數(shù)據(jù)IN循環(huán)循環(huán)左移或循環(huán)右移左移或循環(huán)右移N位后,再將結(jié)果輸出到位后,再將結(jié)果輸出到OUT所指的雙字存儲單所指的雙字存儲單元(在語句表中,元(在語句表中,IN與與OUT使用同一個單元)。實際移位次數(shù)使用同一個

20、單元)。實際移位次數(shù)為設(shè)定值取以為設(shè)定值取以32為底的模所得的結(jié)果。為底的模所得的結(jié)果。指令格式:指令格式: RLD OUT, N (雙字循環(huán)左移)(雙字循環(huán)左移) RRD OUT, N (雙字循環(huán)右移)(雙字循環(huán)右移)例:例: RLD MD0, 2 RRD LD0, 3 以指令以指令RRW LW0,19為例,指令執(zhí)行情況如下表所示:為例,指令執(zhí)行情況如下表所示: 移位次數(shù)移位次數(shù)地址地址單元內(nèi)容單元內(nèi)容位位SM1.1說說 明明0LW01011010100110011 X移位前(移位前(SM1.1不確定)不確定) 1LW011011010100110011右端右端1移入移入SM1.1和和LW0

21、LW0左端左端 2LW011101101010011001右端右端1移入移入SM1.1和和LW0LW0左端左端3LW001110110101001100右端右端0移入移入SM1.1和和LW0LW0左端左端u 轉(zhuǎn)換指令是指對操作數(shù)的類型進行轉(zhuǎn)換,轉(zhuǎn)換指令是指對操作數(shù)的類型進行轉(zhuǎn)換,包括數(shù)據(jù)的類型轉(zhuǎn)換、碼的類型轉(zhuǎn)換以及包括數(shù)據(jù)的類型轉(zhuǎn)換、碼的類型轉(zhuǎn)換以及數(shù)據(jù)和碼之間的類型轉(zhuǎn)換。數(shù)據(jù)和碼之間的類型轉(zhuǎn)換。u 數(shù)據(jù)類型主要包括字節(jié)、整數(shù)、雙整數(shù)、數(shù)據(jù)類型主要包括字節(jié)、整數(shù)、雙整數(shù)、實數(shù),不同性質(zhì)的指令對操作數(shù)的類型要實數(shù),不同性質(zhì)的指令對操作數(shù)的類型要求不同,類型轉(zhuǎn)換指令可將固定的一個數(shù)求不同,類型轉(zhuǎn)換

22、指令可將固定的一個數(shù)值用到不同類型要求的指令,而不必對數(shù)值用到不同類型要求的指令,而不必對數(shù)據(jù)進行針對類型的重新裝載。據(jù)進行針對類型的重新裝載。 使能輸入有效時,將二進制編碼的十進制使能輸入有效時,將二進制編碼的十進制數(shù)值數(shù)值IN轉(zhuǎn)換成整數(shù),并將結(jié)果送到轉(zhuǎn)換成整數(shù),并將結(jié)果送到OUT輸輸出。輸入和輸出均為字,輸入出。輸入和輸出均為字,輸入IN的有效范圍的有效范圍是是0至至9999。 指令格式:指令格式:BCDI OUT LD I1.0 /使能輸入端BCDI AC0 /AC0中的BCD碼轉(zhuǎn)換為整數(shù) 1. BCD碼與整數(shù)之間的轉(zhuǎn)換指令碼與整數(shù)之間的轉(zhuǎn)換指令 已知(已知(AC0AC0)=1234=1

23、234,程序,程序運行后:(運行后:(AC0AC0)=04D2=04D2。 程序?qū)嵗撼绦驅(qū)嵗海?)BCD碼到整數(shù):碼到整數(shù):BCDI(2)整數(shù)到)整數(shù)到BCD碼:碼:IBCD 使能輸入有效時,將字節(jié)型輸入數(shù)據(jù)使能輸入有效時,將字節(jié)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸出。字節(jié)型是無符號的,所以沒有符號擴展。字節(jié)型是無符號的,所以沒有符號擴展。 指令格式:指令格式:BTI OUT 使能輸入有效時,將輸入整數(shù)值使能輸入有效時,將輸入整數(shù)值IN轉(zhuǎn)換成轉(zhuǎn)換成二進制編碼的十進制數(shù),并將結(jié)果送到二進制編碼的十進制數(shù),并將結(jié)果送到OUT輸出。輸出。 指令格式

24、:指令格式:IBCD OUT SM1.6(非法非法BCD碼碼)(1)字節(jié)到整數(shù):)字節(jié)到整數(shù):BTI2. 字節(jié)與字整數(shù)之間的轉(zhuǎn)換指令字節(jié)與字整數(shù)之間的轉(zhuǎn)換指令(2)整數(shù)到字節(jié):)整數(shù)到字節(jié):ITB 使能輸入有效時,將雙整數(shù)型輸入數(shù)據(jù)使能輸入有效時,將雙整數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。 指令格式:指令格式:DTI OUT 使能輸入有效時,將整數(shù)型輸入數(shù)據(jù)使能輸入有效時,將整數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成字節(jié)類型,并將結(jié)果送到換成字節(jié)類型,并將結(jié)果送到OUT輸出。輸出。輸入數(shù)據(jù)超出

25、字節(jié)范圍(輸入數(shù)據(jù)超出字節(jié)范圍(0255)則產(chǎn)生溢)則產(chǎn)生溢出出 。指令格式:指令格式:IBCD OUT (1)雙整數(shù)到整數(shù):)雙整數(shù)到整數(shù):DTI 3. 字型整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換指令字型整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換指令(2)整數(shù)到雙整數(shù):)整數(shù)到雙整數(shù):ITD 使能輸入有效時,將整數(shù)型輸入數(shù)據(jù)使能輸入有效時,將整數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成雙整數(shù)類型(符號進行擴展,換成雙整數(shù)類型(符號進行擴展, 符號位符號位擴展到高字),并將結(jié)果送到擴展到高字),并將結(jié)果送到OUT輸出。輸出。 指令格式:指令格式:ITD OUT 4. 雙字整數(shù)與實數(shù)之間轉(zhuǎn)的換指令雙字整數(shù)與實數(shù)之間轉(zhuǎn)的換指令(1)雙整數(shù)到實數(shù):

26、)雙整數(shù)到實數(shù):DTR 使能輸入有效時,將雙整數(shù)型輸入數(shù)據(jù)使能輸入有效時,將雙整數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)換成實數(shù)型,并將結(jié)果送到轉(zhuǎn)換成實數(shù)型,并將結(jié)果送到OUT輸出。輸出。 指令格式:指令格式:DTR IN, OUT 使能輸入有效時,將實數(shù)型輸入數(shù)據(jù)使能輸入有效時,將實數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成雙整數(shù)類型,并將結(jié)果送到換成雙整數(shù)類型,并將結(jié)果送到OUT輸出。輸出。兩條指令的區(qū)別是:前者小數(shù)部分四舍五入,兩條指令的區(qū)別是:前者小數(shù)部分四舍五入,而后者小數(shù)部分直接舍去。輸入數(shù)據(jù)超出實而后者小數(shù)部分直接舍去。輸入數(shù)據(jù)超出實數(shù)范圍則產(chǎn)生溢出。數(shù)范圍則產(chǎn)生溢出。 指令格式:指令格式:ROUND IN, OUT

27、TRUNC IN, OUT (2)實數(shù)到雙整數(shù):)實數(shù)到雙整數(shù):ROUND,TRUNC使能輸入有效時,將字型輸入數(shù)據(jù)使能輸入有效時,將字型輸入數(shù)據(jù)IN中值中值為為1的最低有效位的位號編碼成的最低有效位的位號編碼成4位二進制數(shù),位二進制數(shù),輸出到輸出到OUT所指定的字節(jié)單元的低所指定的字節(jié)單元的低4位。即位。即用半個字節(jié)來對一個字型數(shù)據(jù)用半個字節(jié)來對一個字型數(shù)據(jù)16位中的位中的1位位有效位進行編碼。有效位進行編碼。 指令格式:指令格式:ENCO IN, OUT (1)編碼指令:)編碼指令:ENCO5. 編碼、譯碼指令編碼、譯碼指令 例:例: ENCO AC0, VB0 以本指令為例,指令執(zhí)行情況

28、如表所示以本指令為例,指令執(zhí)行情況如表所示:(2)譯碼指令:)譯碼指令:DECO 使能輸入有效時,根據(jù)字節(jié)型輸入數(shù)據(jù)使能輸入有效時,根據(jù)字節(jié)型輸入數(shù)據(jù)IN的低的低4位所表示的位號將位所表示的位號將OUT所指定的字單所指定的字單元的對應位置元的對應位置1,其他位置,其他位置0。即對半個字節(jié)。即對半個字節(jié)的編碼進行譯碼來選擇一個字型數(shù)據(jù)的編碼進行譯碼來選擇一個字型數(shù)據(jù)16位中位中的的1位。位。指令格式:指令格式:DECO IN, OUT 例:例:DECO VB0, AC0 本指令執(zhí)行情況如表所示本指令執(zhí)行情況如表所示:SEG,七段譯碼指令。使能輸入有效時,七段譯碼指令。使能輸入有效時,將字節(jié)型輸入

29、數(shù)據(jù)將字節(jié)型輸入數(shù)據(jù)IN的低的低4位有效數(shù)字(位有效數(shù)字(160F)轉(zhuǎn)換成七段顯示碼,并將其輸出到)轉(zhuǎn)換成七段顯示碼,并將其輸出到OUT所指定的字節(jié)單元。所指定的字節(jié)單元。 指令格式:指令格式:SEG IN, OUT 6. 段譯碼(段譯碼(SEG)指令)指令1、設(shè)、設(shè) AC1 中的低中的低 16 位存有十六進制數(shù)位存有十六進制數(shù) 16#8200, 現(xiàn)執(zhí)行以下指現(xiàn)執(zhí)行以下指令,令, 則指令的執(zhí)行結(jié)果則指令的執(zhí)行結(jié)果 VB40 中的內(nèi)容是(中的內(nèi)容是( )。)。A、0009H B、09H C、08H D、04H 2、若、若VW10內(nèi)容為內(nèi)容為10110101 00001001,則執(zhí)行,則執(zhí)行 SW

30、AP VW10 指令指令后,后,VW10的內(nèi)容變?yōu)榈膬?nèi)容變?yōu)?。3、若、若VB100內(nèi)容為內(nèi)容為00001001,則執(zhí)行,則執(zhí)行 SRB VB100,10 指令后,指令后,VB100的內(nèi)容變?yōu)椋ǖ膬?nèi)容變?yōu)椋?)A、不變、不變 B、不確定、不確定C、00100001 D、00000000u4、設(shè)、設(shè) VWl0 中存有數(shù)據(jù)中存有數(shù)據(jù) 123.9,現(xiàn)執(zhí)行以下指令,則指令的執(zhí),現(xiàn)執(zhí)行以下指令,則指令的執(zhí)行結(jié)果是(行結(jié)果是( )A、123.5 B、124 C、120 D、123 u5、執(zhí)行、執(zhí)行 FILL 10,VW100,12 指令后,下列描述正確的是(指令后,下列描述正確的是( )A、將數(shù)據(jù)、將數(shù)據(jù)

31、10填充到從填充到從VW100VW122共共12個字存儲單元中個字存儲單元中 B、將數(shù)據(jù)、將數(shù)據(jù)12填充到從填充到從VW100VW120共共10個字存儲單元中個字存儲單元中C、將數(shù)據(jù)、將數(shù)據(jù)10重復填充重復填充12次到次到VW100字存儲單元中字存儲單元中D、將數(shù)據(jù)、將數(shù)據(jù)12重復填充重復填充10次到次到VW100字存儲單元中字存儲單元中u6、若、若VB20=06,則執(zhí)行,則執(zhí)行 SEG VB20,QB0 指令后,在指令后,在Q0.0Q0.7輸出為(輸出為( )A、00000110 B、00000000C、01100000 D、01111101u7、 已知(已知(AC0)=0255,程序運行后

32、:(,程序運行后:(AC0)= ( )7. ASCII碼與十六進制數(shù)之間的轉(zhuǎn)換指令碼與十六進制數(shù)之間的轉(zhuǎn)換指令 ATH,ASCII碼到十六進制數(shù)指令。使能輸碼到十六進制數(shù)指令。使能輸入有效時,將從入有效時,將從IN開始的長度為開始的長度為LEN的的ASCII碼轉(zhuǎn)換為十六進制數(shù),并將結(jié)果送到碼轉(zhuǎn)換為十六進制數(shù),并將結(jié)果送到OUT開始的字節(jié)進行輸出。開始的字節(jié)進行輸出。ASCII字符串的字符串的最大長度為最大長度為255字符。字符。指令格式:指令格式:ATH IN, OUT, LEN例:例:ATH VB100, VB200, 3 本指令執(zhí)行情況如表所示本指令執(zhí)行情況如表所示: HTA,十六進制數(shù)到

33、,十六進制數(shù)到ASCII碼指令。使能輸入碼指令。使能輸入有效時,將從輸入字節(jié)有效時,將從輸入字節(jié)IN開始的十六進制數(shù)字轉(zhuǎn)開始的十六進制數(shù)字轉(zhuǎn)換成從換成從OUT開始的開始的ASCII字符。欲轉(zhuǎn)換的十六進字符。欲轉(zhuǎn)換的十六進制數(shù)字位數(shù)由長度(制數(shù)字位數(shù)由長度(LEN)指定??赊D(zhuǎn)換的最大)指定??赊D(zhuǎn)換的最大十六進制數(shù)字位數(shù)為十六進制數(shù)字位數(shù)為255。指令格式:指令格式:HTA IN, OUT, LEN十六進制(十六進制(0 0F F)對應的合法的)對應的合法的ASCII碼碼字符是:字符是:3039和和4146 8. 整數(shù)、雙字整數(shù)、實數(shù)轉(zhuǎn)換為整數(shù)、雙字整數(shù)、實數(shù)轉(zhuǎn)換為ASCII碼指令碼指令使能輸入有

34、效時,將輸入端(使能輸入有效時,將輸入端(IN)的有符號整數(shù)轉(zhuǎn)換成)的有符號整數(shù)轉(zhuǎn)換成ASCII字符字符串,轉(zhuǎn)換結(jié)果存入以串,轉(zhuǎn)換結(jié)果存入以O(shè)UT為起始字節(jié)地址的為起始字節(jié)地址的8個連續(xù)字節(jié)的輸出緩沖個連續(xù)字節(jié)的輸出緩沖區(qū)中。指令格式操作數(shù)區(qū)中。指令格式操作數(shù)FMT指定指定ASCII碼字符串中分隔符的位置和碼字符串中分隔符的位置和表示方法,即小數(shù)點右側(cè)的轉(zhuǎn)換精度,以及是否將小數(shù)點顯示為逗表示方法,即小數(shù)點右側(cè)的轉(zhuǎn)換精度,以及是否將小數(shù)點顯示為逗號或點號。號或點號。FMT占用一個字節(jié),高占用一個字節(jié),高4位必須為位必須為0,低,低4位用位用cnnn表示,表示,C位指定整數(shù)和小數(shù)之間的分隔符:位指

35、定整數(shù)和小數(shù)之間的分隔符:C1,用逗號分隔,用逗號分隔,C0,用,用小數(shù)點分隔。輸出緩沖器中小數(shù)點右側(cè)的位數(shù)由小數(shù)點分隔。輸出緩沖器中小數(shù)點右側(cè)的位數(shù)由nnn域指定,域指定,nnn域域的有效范圍是的有效范圍是05。指定小數(shù)點右側(cè)的數(shù)字為。指定小數(shù)點右側(cè)的數(shù)字為0會使顯示的數(shù)值無小會使顯示的數(shù)值無小數(shù)點。對于大于數(shù)點。對于大于5的的nnn數(shù)值為非法格式,此時無輸出,用數(shù)值為非法格式,此時無輸出,用ASCII空空格填充輸出緩沖器。格填充輸出緩沖器。 指令格式:指令格式:ITA IN, OUT, FMT (1)整數(shù)到)整數(shù)到ASCII碼:碼:ITA(2)雙整數(shù)到)雙整數(shù)到ASCII碼:碼:DTA 使

36、能輸入有效時,將輸入端(使能輸入有效時,將輸入端(IN)的實數(shù)轉(zhuǎn)換成)的實數(shù)轉(zhuǎn)換成ASCII字符串,轉(zhuǎn)換結(jié)果存入以字符串,轉(zhuǎn)換結(jié)果存入以O(shè)UT為起始字節(jié)地為起始字節(jié)地址的址的315個連續(xù)字節(jié)的輸出緩沖區(qū)中。個連續(xù)字節(jié)的輸出緩沖區(qū)中。FMT占用一占用一個字節(jié),高個字節(jié),高4位用位用ssss表示,表示,ssss區(qū)的值指定輸出緩沖區(qū)的值指定輸出緩沖區(qū)的字節(jié)數(shù)(區(qū)的字節(jié)數(shù)(315個字節(jié)),個字節(jié)),0、1或或2個字節(jié)無效。個字節(jié)無效。并規(guī)定輸出緩沖區(qū)的字節(jié)數(shù)應大于輸入實數(shù)小數(shù)點并規(guī)定輸出緩沖區(qū)的字節(jié)數(shù)應大于輸入實數(shù)小數(shù)點右邊的位數(shù)。低右邊的位數(shù)。低4位的定義與位的定義與ITA指令相同。指令相同。 指令

37、格式:指令格式:RTA IN, OUT, FMT 使能輸入有效時,將輸入端(使能輸入有效時,將輸入端(IN)的有符號雙整)的有符號雙整數(shù)轉(zhuǎn)換成數(shù)轉(zhuǎn)換成ASCII字符串,轉(zhuǎn)換結(jié)果存入以字符串,轉(zhuǎn)換結(jié)果存入以O(shè)UT為起始為起始字節(jié)地址的字節(jié)地址的12個連續(xù)字節(jié)的輸出緩沖區(qū)中。指令格式個連續(xù)字節(jié)的輸出緩沖區(qū)中。指令格式操作數(shù)操作數(shù)FMT與與ITA指令的指令的FMT定義相同。定義相同。 指令格式:指令格式:DTA IN, OUT, FMT (3)實數(shù)到)實數(shù)到ASCII碼:碼:RTA 1. 填表指令填表指令 向表格向表格TBLTBL中增加一個字的數(shù)值中增加一個字的數(shù)值DATADATA。 指令格式:指令

38、格式:ATT DATA, TABLE ATT DATA, TABLE 數(shù)據(jù)在數(shù)據(jù)在S7-200S7-200的表格中的存儲形式見下表:的表格中的存儲形式見下表: 設(shè)設(shè)TABLETABLE為為VW200VW200 單元地址單元內(nèi)容說明VW2000005VW200為表格的首地址,TL=5為表格的最大填表數(shù)VW2020004數(shù)據(jù)EC=4(EC100)為該表中的實際填表數(shù)VW2042345數(shù)據(jù)0VW2065678數(shù)據(jù)1VW2089876數(shù)據(jù)2VW2106543數(shù)據(jù)3VW212*無效數(shù)據(jù)u程序?qū)嵗撼绦驅(qū)嵗?LD I0.0 /使能輸入端使能輸入端ATT VW100, VW200 /向表中存數(shù)向表中存數(shù)A

39、TT執(zhí)行結(jié)果見下表:操作數(shù)單元地址填表前內(nèi)容填表后內(nèi)容注釋DATAVW10012341234待填表數(shù)據(jù) TBLVW20000050005最大填表數(shù)TLVW20200040005最大填表數(shù)ECVW20423452345數(shù)據(jù)0VW20656785678數(shù)據(jù)1VW20898769876數(shù)據(jù)2VW21065436543數(shù)據(jù)3VW212*1234將VW100內(nèi)容填入表中每向表中存一個數(shù)據(jù),實際的填表數(shù)EC就會自動加一,一個表最多可以有100條數(shù)據(jù)2. 2. 表取數(shù)指令表取數(shù)指令 u 從表中移出一個字型數(shù)據(jù)可有兩種方式:先進先出從表中移出一個字型數(shù)據(jù)可有兩種方式:先進先出式和后進先出式。一個數(shù)據(jù)從表中取出

40、之后,表的實際式和后進先出式。一個數(shù)據(jù)從表中取出之后,表的實際填表數(shù)填表數(shù)ECEC值減值減1 1。u 如果指令試圖從空表中取走一個數(shù)值,則特殊標志如果指令試圖從空表中取走一個數(shù)值,則特殊標志寄存器寄存器SM1.5SM1.5置位。置位。u 表取數(shù)指令影響的特殊存儲器位:表取數(shù)指令影響的特殊存儲器位:SM1.5SM1.5(表空)。(表空)。 (1)先進先出指令:)先進先出指令:FIFO 當使能輸入有效時,從當使能輸入有效時,從TBLTBL指明的表中移出最后一指明的表中移出最后一個字型數(shù)據(jù)并將其輸出到個字型數(shù)據(jù)并將其輸出到DATADATA所指定的字單元。所指定的字單元。LIFOLIFO表取數(shù)時,移出

41、的數(shù)據(jù)是最后進入表中的數(shù)表取數(shù)時,移出的數(shù)據(jù)是最后進入表中的數(shù)據(jù)。每次從表中取出一個數(shù)據(jù),剩余數(shù)據(jù)位置保持據(jù)。每次從表中取出一個數(shù)據(jù),剩余數(shù)據(jù)位置保持不變,實際填表數(shù)不變,實際填表數(shù)ECEC會自動減會自動減1 1。指令格式:指令格式:LIFO TABLE, DATA LIFO TABLE, DATA 當使能輸入有效時,從當使能輸入有效時,從TBLTBL指明的表中移出第一個字指明的表中移出第一個字型數(shù)據(jù)并將其輸出到型數(shù)據(jù)并將其輸出到DATADATA所指定的字單元。所指定的字單元。FIFOFIFO表取數(shù)時,移出的數(shù)據(jù)總是最先進入表中的數(shù)表取數(shù)時,移出的數(shù)據(jù)總是最先進入表中的數(shù)據(jù)。每次從表中移出一個

42、數(shù)據(jù),剩余數(shù)據(jù)依次上移一據(jù)。每次從表中移出一個數(shù)據(jù),剩余數(shù)據(jù)依次上移一個字單元位置,同時實際填表數(shù)個字單元位置,同時實際填表數(shù)ECEC會自動減會自動減1 1。指令格式:指令格式:FIFO TABLE, DATA FIFO TABLE, DATA (2)后進先出指令:)后進先出指令:LIFO表查找指令:表查找指令:FND? 通過表查找指令可以從字型數(shù)表中找出符合條件的數(shù)據(jù)所在的表通過表查找指令可以從字型數(shù)表中找出符合條件的數(shù)據(jù)所在的表中數(shù)據(jù)編號,編號范圍是中數(shù)據(jù)編號,編號范圍是0 09999。在梯形圖中有在梯形圖中有4 4個數(shù)據(jù)輸入端:個數(shù)據(jù)輸入端:TBLTBL表格的首表格的首地址,用以指明被訪

43、問的表格;地址,用以指明被訪問的表格;PTNPTN是用來描是用來描述查表條件進行比較的數(shù)據(jù);述查表條件進行比較的數(shù)據(jù);CMDCMD是比較運算是比較運算符符“?”的編碼,它是一個的編碼,它是一個1 14 4的數(shù)值,分別的數(shù)值,分別代表、代表、 運算符;運算符;INDXINDX用來存放表用來存放表中符號查找條件的數(shù)據(jù)編號。中符號查找條件的數(shù)據(jù)編號。由由PTNPTN和和CMDCMD就可以決定對表的查找條件。例就可以決定對表的查找條件。例如,如,PTNPTN為為161625552555,CMDCMD為為3 3,則查找條件為,則查找條件為“25552555(1616進制)進制)”。3. 3. 查表指令查

44、表指令 表查找指令執(zhí)行之前,應先對表查找指令執(zhí)行之前,應先對INDXINDX的內(nèi)容清的內(nèi)容清0 0,當使能輸入有效時,從,當使能輸入有效時,從INDXINDX開始搜索表開始搜索表TBLTBL,尋找符合由,尋找符合由PTNPTN和和CMDCMD所決定的條件的數(shù)據(jù),如果所決定的條件的數(shù)據(jù),如果沒有發(fā)現(xiàn)符合條件的數(shù)據(jù),則沒有發(fā)現(xiàn)符合條件的數(shù)據(jù),則INDXINDX的值等于的值等于ECEC。如果找到一個符合條件。如果找到一個符合條件的數(shù)據(jù),則將該數(shù)據(jù)的表中編號裝入的數(shù)據(jù),則將該數(shù)據(jù)的表中編號裝入INDXINDX中。中。表查找指令執(zhí)行完成,找到一個符合條件的數(shù)據(jù),如果想繼續(xù)向下查表查找指令執(zhí)行完成,找到一

45、個符合條件的數(shù)據(jù),如果想繼續(xù)向下查找,必須先對找,必須先對INDXINDX加加1 1,以重新激活表查找指令。,以重新激活表查找指令。在語句表中運算符直接表示,而不用各自的編碼。在語句表中運算符直接表示,而不用各自的編碼。指令格式:指令格式:FND= TBL, PTN, INDXFND= TBL, PTN, INDX FND TBL, PTN, INDX FND TBL, PTN, INDX FND TBL, PTN, INDX FND TBL, PTN, INDX FND TBL, PTN, INDX如果查找由指令如果查找由指令ATTATT、LIFOLIFO和和FIFOFIFO生成的表時,原表

46、中的最大填表數(shù)生成的表時,原表中的最大填表數(shù)TLTL對該指令無意義,對該指令無意義,F(xiàn)NDFND指令的操作數(shù)指令的操作數(shù)TBLTBL的首地址是指向的首地址是指向ECEC的地址。的地址。1. 1. 加法運算指令加法運算指令 u加法指令是對有符號數(shù)進行相加操作。包括:整數(shù)加法、加法指令是對有符號數(shù)進行相加操作。包括:整數(shù)加法、雙整數(shù)加法和實數(shù)加法。雙整數(shù)加法和實數(shù)加法。u加法指令影響的特殊存儲器位:加法指令影響的特殊存儲器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負)。(負)。使能輸入有效時,將兩個單使能輸入有效時,將兩個單字長(字長(16位)的符號整數(shù)位)的符號整數(shù)

47、IN1和和IN2相加,產(chǎn)生一個相加,產(chǎn)生一個16位整位整數(shù)結(jié)果數(shù)結(jié)果OUT。 (1)整數(shù)加法指令:)整數(shù)加法指令:+I在在STL中,通常將中,通常將IN2與與OUT公用一個地址單元,執(zhí)行結(jié)果:公用一個地址單元,執(zhí)行結(jié)果: IN1+OUTOUT。指令格式:指令格式:+I IN1, OUTu程序?qū)嵗撼绦驅(qū)嵗?LD I0.1 /使能輸入端使能輸入端MOVW VW2, VW4 /VW2VW4VW4+I VW0, VW4 /VW0+VW4VW4VW4STLSTL中中IN2和和OUT可用同可用同一單元。一單元。 (2)雙整數(shù)加法指令:)雙整數(shù)加法指令:+D使能輸入有效時,將兩個雙字使能輸入有效時,將兩

48、個雙字長(長(32位)的符號整數(shù)位)的符號整數(shù)IN1和和IN2相加,產(chǎn)生一個相加,產(chǎn)生一個32位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。指令格式:指令格式:+D IN1, OUT +D IN1, OUT 使能輸入有效時,將兩個雙字使能輸入有效時,將兩個雙字長(長(32位)的實數(shù)位)的實數(shù)IN1和和IN2相加,相加,產(chǎn)生一個產(chǎn)生一個32位實數(shù)結(jié)果位實數(shù)結(jié)果OUT。 指令格式:指令格式:+R IN1, OUT (3)實數(shù)加法指令:)實數(shù)加法指令:+R2. 減法運算指令減法運算指令 u減法指令是對有符號數(shù)進行相減操作。包括:整數(shù)減法、減法指令是對有符號數(shù)進行相減操作。包括:整數(shù)減法、雙整數(shù)減法和實數(shù)減法。這三種減

49、法指令與所對應的加法雙整數(shù)減法和實數(shù)減法。這三種減法指令與所對應的加法指令除運算法則不同之外,其他方面基本相同。指令除運算法則不同之外,其他方面基本相同。u減法指令影響的特殊存儲器位:減法指令影響的特殊存儲器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負)。(負)。整數(shù)減法整數(shù)減法 雙整數(shù)減法雙整數(shù)減法 實數(shù)減法實數(shù)減法 u程序?qū)嵗撼绦驅(qū)嵗?指令格式:指令格式:-I IN2, OUT /整數(shù)減法,整數(shù)減法,OUT-IN2OUT -D IN2, OUT /雙整數(shù)減法雙整數(shù)減法 -R IN2, OUT /實數(shù)減法實數(shù)減法 LD I0.0 /使能輸入端使能輸入端-I

50、VW2, VW0 /整數(shù)減法整數(shù)減法 /VW0-VW2VW0VW0 操作數(shù)執(zhí)行前后的結(jié)果 操作數(shù)操作數(shù)地址單元地址單元單元長度(字節(jié))單元長度(字節(jié))運算前的值運算前的值運算后的值運算后的值IN1VW0260005000IN2VW2210001000OUTVW02600050003. 乘法運算指令乘法運算指令 u乘法運算指令是對有符號數(shù)進行相乘運算。包括:整數(shù)乘乘法運算指令是對有符號數(shù)進行相乘運算。包括:整數(shù)乘法、雙整數(shù)乘法和完全整數(shù)乘法。法、雙整數(shù)乘法和完全整數(shù)乘法。u乘法指令影響的特殊存儲器位:乘法指令影響的特殊存儲器位:SM1.0SM1.0(零);(零);SM1.1SM1.1(溢(溢出)

51、;出);SM1.2SM1.2(負)。(負)。(1)整數(shù)乘法指令:)整數(shù)乘法指令:*I 使能輸入有效時,將兩個單字長使能輸入有效時,將兩個單字長(16位)的符號整數(shù)位)的符號整數(shù)IN1和和IN2相乘,相乘,產(chǎn)生一個產(chǎn)生一個16位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。在。在STLSTL的的* *I I指令中指令中,OUT被用作乘數(shù)被用作乘數(shù)指令格式:指令格式:*I IN1, OUT (2)雙整數(shù)乘法指令:)雙整數(shù)乘法指令:*D 使能輸入有效時,將兩個雙字長使能輸入有效時,將兩個雙字長(32位)的符號整數(shù)位)的符號整數(shù)IN1和和IN2相乘,相乘,產(chǎn)生一個產(chǎn)生一個32位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。 指令格式:指令格

52、式:*D IN1, OUT LD I0.0 /使能輸入端MOVD VD2, VD6 /VD2VD6*D VD0, VD6 /雙整數(shù)乘法 程序?qū)嵗海ㄔ诔绦驅(qū)嵗海ㄔ赟TLSTL的的* *D D指令中指令中,OUT被用作乘數(shù))被用作乘數(shù))使能輸入有效時,將兩個單字長使能輸入有效時,將兩個單字長(16位)的符號整數(shù)位)的符號整數(shù)IN1和和IN2相乘,相乘,產(chǎn)生一個產(chǎn)生一個32位雙整數(shù)結(jié)果位雙整數(shù)結(jié)果OUT。在。在STLSTL的的MULMUL指令中,指令中,3232位位OUTOUT的低的低1616位位被用作乘數(shù)。被用作乘數(shù)。 指令格式:指令格式:MUL IN1, OUT(3)完全整數(shù)乘法指令:)完全

53、整數(shù)乘法指令:MUL使能輸入有效時,將兩個雙字長使能輸入有效時,將兩個雙字長(32位)的符號整數(shù)位)的符號整數(shù)IN1和和IN2相乘,相乘,產(chǎn)生一個產(chǎn)生一個32位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。 指令格式:指令格式:*R IN1, OUT (4)實數(shù)乘法指令:)實數(shù)乘法指令:*R4. 4. 除法運算指令除法運算指令u 除法運算指令是對有符號數(shù)進行相除操作。包括:整數(shù)除法、除法運算指令是對有符號數(shù)進行相除操作。包括:整數(shù)除法、完全整數(shù)除法、雙整數(shù)除法和實數(shù)除法。這四種除法指令與所完全整數(shù)除法、雙整數(shù)除法和實數(shù)除法。這四種除法指令與所對應的乘法指令除運算法則不同之外,其他方面基本相同。對應的乘法指令除運算

54、法則不同之外,其他方面基本相同。u 除法指令影響的特殊存儲器位:除法指令影響的特殊存儲器位:SM1.0(零);(零);SM1.1(溢(溢出);出);SM1.2(負);(負);SM1.3(除數(shù)為(除數(shù)為0)。)。 u在在LAD中,以指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1/IN2=OUT。u在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果: OUT/ IN2=OUT。 指令格式:指令格式:/I IN2, OUT(整數(shù)除法)(整數(shù)除法) DIV IN2,OUT(整數(shù)完全除法)(整數(shù)完全除法) /D IN2, OUT(雙整數(shù)除法)(雙整數(shù)除法) /R IN2, OUT(實數(shù)除法)(實數(shù)除

55、法)在整數(shù)除法中,兩個在整數(shù)除法中,兩個16位的整數(shù)相除,產(chǎn)生一個位的整數(shù)相除,產(chǎn)生一個16位的位的整數(shù)商,不保留余數(shù)。雙整數(shù)除法也同樣過程,只是位數(shù)整數(shù)商,不保留余數(shù)。雙整數(shù)除法也同樣過程,只是位數(shù)變?yōu)樽優(yōu)?2位。位。在整數(shù)完全除法中,兩個在整數(shù)完全除法中,兩個16位的符號整數(shù)相除,產(chǎn)生一位的符號整數(shù)相除,產(chǎn)生一個個32位結(jié)果,其中,低位結(jié)果,其中,低16位為商,高位為商,高16位為余數(shù)。位為余數(shù)。32位結(jié)位結(jié)果的低果的低16位運算前期被兼用存放被除數(shù)。位運算前期被兼用存放被除數(shù)。u程序舉例:程序舉例:LD I0.0 /使能輸入端MOVW +12345, VW12 /12345VW12 MO

56、VW +100, VW20 /100VW20 LD I0.1 /使能輸入端MOVW VW12, AC0MOVD AC0,VD10 /VW12VD10DIV VW20, VD10 /VW12/VW20VD10 5. 5. 增減指令增減指令 u增、減指令,又稱自增和自減,是對無符號或有符號整數(shù)進行自動增、減指令,又稱自增和自減,是對無符號或有符號整數(shù)進行自動增加或減少一個單位的操作,數(shù)據(jù)長度可以是字節(jié)、字或雙字。增加或減少一個單位的操作,數(shù)據(jù)長度可以是字節(jié)、字或雙字。 u在在LADLAD,以指令盒形式編程,執(zhí)行結(jié)果:,以指令盒形式編程,執(zhí)行結(jié)果:ININ1OUT1OUT和和ININ1OUT1OUT

57、。u在在STLSTL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:OUTOUT1OUT1OUT和和OUTOUT1OUT1OUT。 使能輸入有效時,把一字節(jié)長的無符號輸入數(shù)使能輸入有效時,把一字節(jié)長的無符號輸入數(shù)IN加加1或減或減1,得到一個,得到一個字節(jié)的無符號輸出結(jié)果字節(jié)的無符號輸出結(jié)果OUT。指令格式:指令格式:INCB OUT; DECB OUT (1)字節(jié)增和字節(jié)減指令:)字節(jié)增和字節(jié)減指令:INCB,DECB 使能輸入有效時,把一雙字長的有符號輸入數(shù)使能輸入有效時,把一雙字長的有符號輸入數(shù)IN加加1或減或減1,得到一個,得到一個雙字長的有符號輸出結(jié)果雙字長的有符號輸出結(jié)果OUT。 指令格式:指令格式:

58、INCD OUT; DECD OUT 使能輸入有效時,把一字長的有符號輸入數(shù)使能輸入有效時,把一字長的有符號輸入數(shù)IN加加1或減或減1,得到一個字,得到一個字長的有符號輸出結(jié)果長的有符號輸出結(jié)果OUT。指令格式:指令格式:INCW OUT; DECW OUT (2)字增和字減指令:)字增和字減指令:INCW,DECW(3)雙字增和雙字減指令:)雙字增和雙字減指令:INCD,DECD數(shù)學函數(shù)指令數(shù)學函數(shù)指令 u數(shù)學函數(shù)指令包括平方根、自然對數(shù)、指數(shù)、三角函數(shù)等數(shù)學函數(shù)指令包括平方根、自然對數(shù)、指數(shù)、三角函數(shù)等幾個常用的函數(shù)指令。幾個常用的函數(shù)指令。u運算輸入輸出數(shù)據(jù)都為實數(shù)。結(jié)果如果大于運算輸入

59、輸出數(shù)據(jù)都為實數(shù)。結(jié)果如果大于32位二進制表位二進制表示的范圍,則產(chǎn)生溢出。示的范圍,則產(chǎn)生溢出。把一個雙字長(把一個雙字長(32位)的實位)的實數(shù)數(shù)IN開方,得到開方,得到32位的實數(shù)結(jié)位的實數(shù)結(jié)果果OUT。指令格式:指令格式:SQRT IN, OUT 1. 1. 平方根指令:平方根指令:SQRT數(shù)學函數(shù)指令數(shù)學函數(shù)指令2.2.自然對數(shù)指令:自然對數(shù)指令:LN 把一個雙字長(把一個雙字長(32位)的實位)的實數(shù)數(shù)IN取以取以e為底的指數(shù),得到為底的指數(shù),得到32位的實數(shù)結(jié)果位的實數(shù)結(jié)果OUT。指令格式:指令格式:EXP IN, OUT 把一個雙字長(把一個雙字長(32位)的實位)的實數(shù)數(shù)IN

60、取自然對數(shù),得到取自然對數(shù),得到32位的位的實數(shù)結(jié)果實數(shù)結(jié)果OUT。指令格式:指令格式:LN IN, OUT 3.3.指數(shù)指令:指數(shù)指令:EXP數(shù)學函數(shù)指令數(shù)學函數(shù)指令4.4.三角函數(shù)指令:三角函數(shù)指令:SIN、COS、TAN 即正弦、余弦、正切指令。將把一個雙字長(即正弦、余弦、正切指令。將把一個雙字長(32位)的實位)的實數(shù)數(shù)弧度值弧度值IN分別取正弦、余弦、正切,各得到分別取正弦、余弦、正切,各得到32位的實數(shù)位的實數(shù)結(jié)果結(jié)果OUT。 指令格式:指令格式:SIN IN, OUT; COS IN, OUT; TAN IN, OUT;數(shù)學函數(shù)指令數(shù)學函數(shù)指令LD I0.0 /使能輸入端MOV

溫馨提示

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

評論

0/150

提交評論