S7-200系列可編程控制器基本功能指令及應(yīng)用_第1頁(yè)
S7-200系列可編程控制器基本功能指令及應(yīng)用_第2頁(yè)
S7-200系列可編程控制器基本功能指令及應(yīng)用_第3頁(yè)
S7-200系列可編程控制器基本功能指令及應(yīng)用_第4頁(yè)
S7-200系列可編程控制器基本功能指令及應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第九章 S7-200系列可編程控制器功能指令及應(yīng)用學(xué)習(xí)目標(biāo):學(xué)習(xí)目標(biāo):v熟練掌握梯形圖的編程方法,掌握功能指熟練掌握梯形圖的編程方法,掌握功能指令中的常用指令,了解和會(huì)用其他指令。令中的常用指令,了解和會(huì)用其他指令。通過(guò)對(duì)本章的學(xué)習(xí),做到可以根據(jù)需要編通過(guò)對(duì)本章的學(xué)習(xí),做到可以根據(jù)需要編制出結(jié)構(gòu)較復(fù)雜的控制程序。制出結(jié)構(gòu)較復(fù)雜的控制程序。 第一節(jié) 功能指令的分類(lèi)及用途v 功能指令(功能指令(Function Instruction)又稱為)又稱為應(yīng)用指令,它是指令系統(tǒng)中應(yīng)用于復(fù)雜控制應(yīng)用指令,它是指令系統(tǒng)中應(yīng)用于復(fù)雜控制的指令。功能指令依據(jù)其功能可分為:數(shù)據(jù)的指令。功能指令依據(jù)其功能可分為:數(shù)

2、據(jù)處理類(lèi)、程序控制類(lèi)、特種功能類(lèi)及外部設(shè)處理類(lèi)、程序控制類(lèi)、特種功能類(lèi)及外部設(shè)備類(lèi)等類(lèi)型。這些功能指令實(shí)際上是廠商為備類(lèi)等類(lèi)型。這些功能指令實(shí)際上是廠商為滿足各種客戶的特殊需要而開(kāi)發(fā)的通用子程滿足各種客戶的特殊需要而開(kāi)發(fā)的通用子程序。序。v第二節(jié)第二節(jié) 功能指令的表達(dá)形式及使用要素功能指令的表達(dá)形式及使用要素v1、功能框及指令的標(biāo)題、功能框及指令的標(biāo)題l2、語(yǔ)句表達(dá)形式、語(yǔ)句表達(dá)形式v3、操作數(shù)類(lèi)型及長(zhǎng)度、操作數(shù)類(lèi)型及長(zhǎng)度v4、指令的執(zhí)行條件及執(zhí)行形式、指令的執(zhí)行條件及執(zhí)行形式v執(zhí)行形式分為連續(xù)執(zhí)行和脈沖執(zhí)行。執(zhí)行形式分為連續(xù)執(zhí)行和脈沖執(zhí)行。v5、指令功能及、指令功能及ENO狀態(tài)狀態(tài)v6、指令

3、執(zhí)行結(jié)果對(duì)特殊標(biāo)志位的影響、指令執(zhí)行結(jié)果對(duì)特殊標(biāo)志位的影響v7、指令的機(jī)型適用范圍、指令的機(jī)型適用范圍v第三節(jié)第三節(jié) 傳送比較類(lèi)指令及應(yīng)用傳送比較類(lèi)指令及應(yīng)用v一、傳送類(lèi)指令一、傳送類(lèi)指令v1.字節(jié)、字、雙字、實(shí)數(shù)傳送指令字節(jié)、字、雙字、實(shí)數(shù)傳送指令使能輸入有效時(shí),把一個(gè)單字節(jié)無(wú)符號(hào)數(shù)使能輸入有效時(shí),把一個(gè)單字節(jié)無(wú)符號(hào)數(shù)據(jù)由據(jù)由IN傳送到傳送到OUT所指的字節(jié)存儲(chǔ)單元。所指的字節(jié)存儲(chǔ)單元。 指令格式:指令格式:MOVB IN, OUT MOVB IN, OUT v2.字節(jié)立即傳送指令字節(jié)立即傳送指令v字節(jié)立即傳送指令含字節(jié)立即讀指令(字節(jié)立即傳送指令含字節(jié)立即讀指令(BIR)及字)及字節(jié)立即寫(xiě)

4、(節(jié)立即寫(xiě)(BIW)指令,允許在物理)指令,允許在物理I/O和存儲(chǔ)器之和存儲(chǔ)器之間立即傳送一個(gè)字節(jié)數(shù)據(jù)。間立即傳送一個(gè)字節(jié)數(shù)據(jù)。v(1)字節(jié)立即讀指令)字節(jié)立即讀指令使能輸入有效時(shí),立即讀取單字節(jié)物理輸入使能輸入有效時(shí),立即讀取單字節(jié)物理輸入ININ,并,并傳送到傳送到OUTOUT所指的字節(jié)存儲(chǔ)單元,不刷新過(guò)程映像寄所指的字節(jié)存儲(chǔ)單元,不刷新過(guò)程映像寄存器。存器。 指令格式:指令格式:BIR IN, OUT BIR IN, OUT (2)字節(jié)立即寫(xiě)指令:)字節(jié)立即寫(xiě)指令:BIW使能輸入有效時(shí),從存儲(chǔ)器使能輸入有效時(shí),從存儲(chǔ)器IN讀取數(shù)據(jù),寫(xiě)入物讀取數(shù)據(jù),寫(xiě)入物理輸出,同時(shí)刷新相應(yīng)的過(guò)程映像區(qū)理

5、輸出,同時(shí)刷新相應(yīng)的過(guò)程映像區(qū)。 指令格式:指令格式:BIW IN, OUT BIW IN, OUT v3.塊傳送指令塊傳送指令l(1)字節(jié)塊傳送指令:)字節(jié)塊傳送指令:BMB l(2)字塊傳送指令:)字塊傳送指令:BMW使能輸入有效時(shí),把從輸入字節(jié)使能輸入有效時(shí),把從輸入字節(jié)IN開(kāi)始的開(kāi)始的N個(gè)字節(jié)型數(shù)據(jù)傳送到從個(gè)字節(jié)型數(shù)據(jù)傳送到從OUT開(kāi)始的開(kāi)始的N個(gè)字個(gè)字節(jié)存儲(chǔ)單元。節(jié)存儲(chǔ)單元。 指令格式:指令格式:BMB IN, OUT, N 使能輸入有效時(shí),把從輸入字使能輸入有效時(shí),把從輸入字IN開(kāi)始的開(kāi)始的N個(gè)字型數(shù)據(jù)傳送到從個(gè)字型數(shù)據(jù)傳送到從OUT開(kāi)始的開(kāi)始的N個(gè)字存儲(chǔ)個(gè)字存儲(chǔ)單元。單元。 指令

6、格式:指令格式:BMW IN, OUT, N v3)雙字塊傳送指令:)雙字塊傳送指令:BMD使能輸入有效時(shí),把從輸入雙字使能輸入有效時(shí),把從輸入雙字IN開(kāi)始的開(kāi)始的N個(gè)雙字型數(shù)據(jù)傳送到從個(gè)雙字型數(shù)據(jù)傳送到從OUT開(kāi)始的開(kāi)始的N個(gè)雙字存儲(chǔ)單元。個(gè)雙字存儲(chǔ)單元。 指令格式:指令格式:BMD IN, OUT, N 3預(yù)選時(shí)間的選擇控制預(yù)選時(shí)間的選擇控制某工廠生產(chǎn)的某工廠生產(chǎn)的2種型號(hào)工件所需加熱的時(shí)間為種型號(hào)工件所需加熱的時(shí)間為40 s、60 s。使用。使用2個(gè)開(kāi)關(guān)來(lái)控制定時(shí)器的設(shè)定值,每一開(kāi)關(guān)對(duì)應(yīng)個(gè)開(kāi)關(guān)來(lái)控制定時(shí)器的設(shè)定值,每一開(kāi)關(guān)對(duì)應(yīng)于一設(shè)定值;用起動(dòng)按鈕和接觸器控制加熱爐的通斷。于一設(shè)定值;用

7、起動(dòng)按鈕和接觸器控制加熱爐的通斷。PLC I/O地址分配如表如下圖所示。地址分配如表如下圖所示。v二、比較指令二、比較指令v比較指令是一種比較判斷,用于比較兩個(gè)符號(hào)數(shù)或無(wú)比較指令是一種比較判斷,用于比較兩個(gè)符號(hào)數(shù)或無(wú)符號(hào)數(shù)。符號(hào)數(shù)。v 在梯形圖中以帶參數(shù)和運(yùn)算符號(hào)的觸點(diǎn)的形式編程,在梯形圖中以帶參數(shù)和運(yùn)算符號(hào)的觸點(diǎn)的形式編程,當(dāng)這兩數(shù)比較式的結(jié)果為真時(shí),該觸點(diǎn)閉合。當(dāng)這兩數(shù)比較式的結(jié)果為真時(shí),該觸點(diǎn)閉合。v 在功能框圖中以指令盒的形式編程,當(dāng)比較式結(jié)果為在功能框圖中以指令盒的形式編程,當(dāng)比較式結(jié)果為真時(shí),輸出接通。真時(shí),輸出接通。v 在語(yǔ)句表中使用在語(yǔ)句表中使用LD指令進(jìn)行編程時(shí),當(dāng)比較式為真

8、指令進(jìn)行編程時(shí),當(dāng)比較式為真時(shí),主機(jī)將棧頂置時(shí),主機(jī)將棧頂置1。使用。使用A/O指令進(jìn)行編程時(shí),當(dāng)比指令進(jìn)行編程時(shí),當(dāng)比較式為真時(shí),則在棧頂執(zhí)行較式為真時(shí),則在棧頂執(zhí)行A/O操作,并將結(jié)果放入操作,并將結(jié)果放入棧頂。棧頂。v 比較指令的類(lèi)型有:字節(jié)比較、整數(shù)比較、雙字整數(shù)比較指令的類(lèi)型有:字節(jié)比較、整數(shù)比較、雙字整數(shù)比較和實(shí)數(shù)比較。比較和實(shí)數(shù)比較。v 比較運(yùn)算符有:比較運(yùn)算符有:=、=、和和(表示不等表示不等于)。于)。 1. 字節(jié)比較字節(jié)比較 字節(jié)比較用于比較兩個(gè)字節(jié)型整數(shù)值字節(jié)比較用于比較兩個(gè)字節(jié)型整數(shù)值IN1和和IN2的大小,的大小,字節(jié)比較是無(wú)符號(hào)的。比較式可以是字節(jié)比較是無(wú)符號(hào)的。比

9、較式可以是LDB、AB或或OB后直后直接加比較運(yùn)算符構(gòu)成。接加比較運(yùn)算符構(gòu)成。如:如:LDB=、AB、OB= 等。等。整數(shù)整數(shù)IN1和和IN2的尋址范圍:的尋址范圍:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常數(shù)。和常數(shù)。指令格式例:指令格式例:LDB= VB10, VB12 AB MB0, MB1 OB= AC1, 116 2. 整數(shù)比較整數(shù)比較 整數(shù)比較用于比較兩個(gè)一字長(zhǎng)整數(shù)值整數(shù)比較用于比較兩個(gè)一字長(zhǎng)整數(shù)值IN1和和IN2的大小,的大小,整數(shù)比較是有符號(hào)的(整數(shù)范圍為整數(shù)比較是有符號(hào)的(整數(shù)范圍為16#8000和和16#7FFF之之間)。比較式可以是間)。比較式

10、可以是LDW、AW或或OW后直接加比較運(yùn)算后直接加比較運(yùn)算符構(gòu)成。符構(gòu)成。如:如:LDW=、AW、OW= 等。等。整數(shù)整數(shù)IN1和和IN2的尋址范圍:的尋址范圍:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常和常數(shù)。數(shù)。指令格式例:指令格式例:LDW= VW10, VW12 AW MW0, MW4 OW= AC2, 1160 3. 雙字整數(shù)比較雙字整數(shù)比較雙字整數(shù)比較用于比較兩個(gè)雙字長(zhǎng)整數(shù)值雙字整數(shù)比較用于比較兩個(gè)雙字長(zhǎng)整數(shù)值IN1和和IN2的大的大小 , 雙 字 整 數(shù) 比 較 是 有 符 號(hào) 的 ( 雙 字 整 數(shù) 范 圍 為小 , 雙 字 整

11、 數(shù) 比 較 是 有 符 號(hào) 的 ( 雙 字 整 數(shù) 范 圍 為16#80000000和和16#7FFFFFFF之間)。比較式可以是之間)。比較式可以是LDD、AD或或OD后直接加比較運(yùn)算符構(gòu)成。后直接加比較運(yùn)算符構(gòu)成。如:如:LDD=、AD、OD= 等。等。雙字整數(shù)雙字整數(shù)IN1和和IN2的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常數(shù)。和常數(shù)。指令格式例:指令格式例:LDD= VD10, VD14 AD MD0, MD8 OD= AC0, 1160000 4. 實(shí)數(shù)比較實(shí)數(shù)比較 實(shí)數(shù)比較用于比較兩個(gè)雙字長(zhǎng)實(shí)數(shù)值實(shí)數(shù)比較用于比較兩個(gè)

12、雙字長(zhǎng)實(shí)數(shù)值IN1和和IN2的大小,的大小,實(shí)數(shù)比較是有符號(hào)的(負(fù)實(shí)數(shù)范圍為實(shí)數(shù)比較是有符號(hào)的(負(fù)實(shí)數(shù)范圍為-1.175495E-38和和-3.402823E+38,正實(shí)數(shù)范圍為,正實(shí)數(shù)范圍為+1.175495E-38和和+3.402823E+38)。比較式可以是)。比較式可以是LDR、AR或或OR后直接加后直接加比較運(yùn)算符構(gòu)成。比較運(yùn)算符構(gòu)成。如:如:LDR=、AR、OR= 等。等。整數(shù)整數(shù)IN1和和IN2的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常數(shù)。和常數(shù)。指令格式例:指令格式例:LDR= VD10, VD18 AR MD0, MD

13、12 OR= C30,VW20 /比較計(jì)數(shù)器,當(dāng)前值是否大于比較計(jì)數(shù)器,當(dāng)前值是否大于等等 /于于VW20VW20中的值中的值 Q0.0 /輸出觸點(diǎn)輸出觸點(diǎn) LDW= C30,VW30 /比較計(jì)數(shù)器,當(dāng)前值是否大于比較計(jì)數(shù)器,當(dāng)前值是否大于等等 /于于VW30VW30中的值中的值 Q0.1 /輸出觸點(diǎn)輸出觸點(diǎn)v三、傳送比較指令應(yīng)用實(shí)例三、傳送比較指令應(yīng)用實(shí)例v1、彩燈六只分接于、彩燈六只分接于Q0.0-Q0.5,開(kāi)始工作后,開(kāi)始工作后,Q0.0先亮,以后每隔先亮,以后每隔2s依次點(diǎn)亮依次點(diǎn)亮1盞燈,直到盞燈,直到6盞燈全亮盞燈全亮2s后,每隔后,每隔2s熄滅熄滅1盞燈,直到盞燈,直到6盞盞燈全

14、熄,燈全熄,2s后再開(kāi)始循環(huán)。后再開(kāi)始循環(huán)。第四節(jié)第四節(jié) 數(shù)學(xué)運(yùn)算類(lèi)指令及應(yīng)用數(shù)學(xué)運(yùn)算類(lèi)指令及應(yīng)用 數(shù)學(xué)運(yùn)算類(lèi)指令含有四則運(yùn)算指令、數(shù)學(xué)功數(shù)學(xué)運(yùn)算類(lèi)指令含有四則運(yùn)算指令、數(shù)學(xué)功能指令和遞增、遞減指令及邏輯運(yùn)算等指令,能指令和遞增、遞減指令及邏輯運(yùn)算等指令,是實(shí)現(xiàn)運(yùn)算功能的主體指令。是實(shí)現(xiàn)運(yùn)算功能的主體指令。v四則運(yùn)算指令四則運(yùn)算指令v1. 加法運(yùn)算指令加法運(yùn)算指令 v加法指令是對(duì)有符號(hào)數(shù)進(jìn)行相加操作。加法指令是對(duì)有符號(hào)數(shù)進(jìn)行相加操作。包括:整數(shù)加法、雙整數(shù)加法和實(shí)數(shù)加包括:整數(shù)加法、雙整數(shù)加法和實(shí)數(shù)加法。法。v加法指令影響的特殊存儲(chǔ)器位:加法指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);S

15、M1.1(溢出);(溢出);SM1.2(負(fù))。(負(fù))。v使能流輸出使能流輸出ENO斷開(kāi)的出錯(cuò)條件:斷開(kāi)的出錯(cuò)條件:0006(間接尋址);(間接尋址);SM1.1(溢出(溢出);SM4.3(運(yùn)行時(shí)間)。(運(yùn)行時(shí)間)。v(1)整數(shù)加法指令:)整數(shù)加法指令:+I使能輸入有效時(shí),將兩個(gè)使能輸入有效時(shí),將兩個(gè)單字長(zhǎng)(單字長(zhǎng)(16位)的符號(hào)整數(shù)位)的符號(hào)整數(shù)IN1和和IN2相加,產(chǎn)生一個(gè)相加,產(chǎn)生一個(gè)16位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。 在在LAD和和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1+IN2OUT。在在STL中,通常將中,通常將IN2與與OUT公用一個(gè)地址單元,執(zhí)行

16、結(jié)公用一個(gè)地址單元,執(zhí)行結(jié)果:果:IN1+OUTOUT。指令格式:指令格式:+I IN1, OUT v程序?qū)嵗?LD I0.1 /使能輸入端使能輸入端+I VW0, VW2 /VW0+VW2VW2VW2IN2和和OUT可用同一可用同一單元。單元。 整數(shù)加法例整數(shù)加法例b b v(2)雙整數(shù)加法指令:)雙整數(shù)加法指令:+Dv使能輸入有效時(shí),將兩個(gè)雙使能輸入有效時(shí),將兩個(gè)雙v字長(zhǎng)(字長(zhǎng)(32位)的符號(hào)整數(shù)位)的符號(hào)整數(shù)IN1v和和IN2相加,產(chǎn)生一個(gè)相加,產(chǎn)生一個(gè)32位整位整v數(shù)結(jié)果數(shù)結(jié)果OUT。v指令格式:指令格式:+D IN1, OUTv(3)實(shí)數(shù)加法指令:)實(shí)數(shù)加法指令:+R 使能輸入有效

17、時(shí),將兩個(gè)雙字使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(長(zhǎng)(32位)的實(shí)數(shù)位)的實(shí)數(shù)IN1和和IN2相加,相加,產(chǎn)生一個(gè)產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果位實(shí)數(shù)結(jié)果OUT。 指令格式:指令格式:+R IN1, OUT v2. 減法運(yùn)算指令減法運(yùn)算指令 v減法指令是對(duì)有符號(hào)數(shù)進(jìn)行相減操作。包括:整數(shù)減法、減法指令是對(duì)有符號(hào)數(shù)進(jìn)行相減操作。包括:整數(shù)減法、雙整數(shù)減法和實(shí)數(shù)減法。這三種減法指令與所對(duì)應(yīng)的加法雙整數(shù)減法和實(shí)數(shù)減法。這三種減法指令與所對(duì)應(yīng)的加法指令除運(yùn)算法則不同之外,其他方面基本相同。指令除運(yùn)算法則不同之外,其他方面基本相同。v減法指令影響的特殊存儲(chǔ)器位:減法指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);S

18、M1.1(溢出);(溢出);SM1.2(負(fù))。(負(fù))。v使能流輸出使能流輸出ENO斷開(kāi)的出錯(cuò)條件:斷開(kāi)的出錯(cuò)條件:0006(間接尋址);(間接尋址);SM1.1(溢出);(溢出);SM4.3(運(yùn)行時(shí)間(運(yùn)行時(shí)間)。 整數(shù)減法整數(shù)減法 雙整數(shù)減法雙整數(shù)減法 實(shí)數(shù)減法實(shí)數(shù)減法 v程序?qū)嵗?指令格式:指令格式:-I IN2(IN1), OUT /整數(shù)減法,整數(shù)減法, OUT-IN2(IN1)OUT -D IN2 (IN1), OUT /雙整數(shù)減法雙整數(shù)減法 -R IN2 (IN1), OUT /實(shí)數(shù)減法實(shí)數(shù)減法 LD I0.0 /使能輸入端使能輸入端-I VW2, VW0 /整數(shù)減法整數(shù)減法 /V

19、W0-VW2VW0VW0 操作數(shù) 地址單元 單元長(zhǎng)度(字節(jié)) 運(yùn)算前的值運(yùn)算后的值IN1VW0260005000IN2VW2210001000OUTVW0260005000l3. 乘法運(yùn)算指令乘法運(yùn)算指令 l乘法運(yùn)算指令是對(duì)有符號(hào)數(shù)進(jìn)行相乘運(yùn)算。包括:乘法運(yùn)算指令是對(duì)有符號(hào)數(shù)進(jìn)行相乘運(yùn)算。包括:整數(shù)乘法、完全整數(shù)乘法、雙整數(shù)乘法和實(shí)數(shù)乘整數(shù)乘法、完全整數(shù)乘法、雙整數(shù)乘法和實(shí)數(shù)乘法。法。l乘法指令影響的特殊存儲(chǔ)器位:乘法指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負(fù));(負(fù));SM1.3(除數(shù)(除數(shù)為為0)。)。l使能流輸出使能流輸出ENO斷開(kāi)的出

20、錯(cuò)條件:斷開(kāi)的出錯(cuò)條件:0006(間接(間接尋址);尋址);SM1.1(溢出);(溢出);SM1.3(除數(shù)為(除數(shù)為0););SM4.3(運(yùn)行時(shí)間)。(運(yùn)行時(shí)間)。v(1)整數(shù)乘法指令:)整數(shù)乘法指令:*I使能輸入有效時(shí),將兩個(gè)單字使能輸入有效時(shí),將兩個(gè)單字長(zhǎng)(長(zhǎng)(16位)的符號(hào)整數(shù)位)的符號(hào)整數(shù)IN1和和IN2相乘,產(chǎn)生一個(gè)相乘,產(chǎn)生一個(gè)16位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。 指令格式:指令格式:*I IN1, OUT v程序?qū)嵗撼绦驅(qū)嵗海?)完全整數(shù)乘法指令:)完全整數(shù)乘法指令:MUL LD I0.0 /使能輸入端使能輸入端*I VW0, VW2 /整數(shù)乘法整數(shù)乘法 /VW0*VW2VW2V

21、W2 使能輸入有效時(shí),將兩個(gè)單字使能輸入有效時(shí),將兩個(gè)單字長(zhǎng)(長(zhǎng)(16位)的符號(hào)整數(shù)位)的符號(hào)整數(shù)IN1和和IN2相乘,產(chǎn)生一個(gè)相乘,產(chǎn)生一個(gè)32位雙整數(shù)結(jié)果位雙整數(shù)結(jié)果OUT。 指令格式:指令格式:*I IN1, OUT v(3)雙整數(shù)乘法指令:*D v程序?qū)嵗海↖N2與OUT不是公用一個(gè)地址單元時(shí)) 使能輸入有效時(shí),將兩個(gè)雙字使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(長(zhǎng)(32位)的符號(hào)整數(shù)位)的符號(hào)整數(shù)IN1和和IN2相乘,產(chǎn)生一個(gè)相乘,產(chǎn)生一個(gè)32位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。 指令格式:指令格式:*D IN1, OUT LD I0.0 /使能輸入端MOVD VD0, VD6 /VD0VD6*D V

22、D2, VD6 /雙整數(shù)乘法 雙整數(shù)乘法例 v(4)實(shí)數(shù)乘法指令:)實(shí)數(shù)乘法指令:*R v使能輸入有效時(shí),使能輸入有效時(shí),v將兩個(gè)雙字長(zhǎng)(將兩個(gè)雙字長(zhǎng)(32位)符號(hào)整數(shù)位)符號(hào)整數(shù)vIN1和和IN2相乘,產(chǎn)生一個(gè)相乘,產(chǎn)生一個(gè)32位整位整v數(shù)結(jié)果數(shù)結(jié)果OUT。v指令格式:指令格式:*R IN1,OUTv4. 除法運(yùn)算指令除法運(yùn)算指令 v 除法運(yùn)算指令是對(duì)有符號(hào)數(shù)進(jìn)行相除操作。包括:整數(shù)除除法運(yùn)算指令是對(duì)有符號(hào)數(shù)進(jìn)行相除操作。包括:整數(shù)除法、完全整數(shù)除法、雙整數(shù)除法和實(shí)數(shù)除法。這四種除法指法、完全整數(shù)除法、雙整數(shù)除法和實(shí)數(shù)除法。這四種除法指令與所對(duì)應(yīng)的乘法指令除運(yùn)算法則不同之外,其他方面基本令與

23、所對(duì)應(yīng)的乘法指令除運(yùn)算法則不同之外,其他方面基本相同。相同。v 除法指令影響的特殊存儲(chǔ)器位:除法指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負(fù));(負(fù));SM1.3(除數(shù)為(除數(shù)為0)。)。 v使能流輸出ENO斷開(kāi)的出錯(cuò)條件:0006(間接尋址);SM1.1(溢出);SM1.3(除數(shù)為0);SM4.3(運(yùn)行時(shí)間)。 指令格式:指令格式:/I IN2,OUT /I IN2,OUT /整數(shù)除法整數(shù)除法, OUT/IN2, OUT/IN2OUTOUT。 DIV IN2, OUT /DIV IN2, OUT /整數(shù)完全除法整數(shù)完全除法 /D IN2, O

24、UT /D IN2, OUT /雙整數(shù)除法雙整數(shù)除法 /R IN2, OUT /R IN2, OUT /實(shí)數(shù)除法實(shí)數(shù)除法v程序?qū)嵗?在整數(shù)除法中,兩個(gè)在整數(shù)除法中,兩個(gè)16位的整數(shù)相除,產(chǎn)生一個(gè)位的整數(shù)相除,產(chǎn)生一個(gè)16位的整數(shù)商,不保位的整數(shù)商,不保留余數(shù)。雙整數(shù)除法也同樣過(guò)程,只是位數(shù)變?yōu)榱粲鄶?shù)。雙整數(shù)除法也同樣過(guò)程,只是位數(shù)變?yōu)?2位。位。在整數(shù)完全除法中,兩個(gè)在整數(shù)完全除法中,兩個(gè)16位的符號(hào)整數(shù)相除,產(chǎn)生一個(gè)位的符號(hào)整數(shù)相除,產(chǎn)生一個(gè)32位結(jié)果,位結(jié)果,其中,低其中,低16位為商,高位為商,高16位為余數(shù)。位為余數(shù)。32位結(jié)果的低位結(jié)果的低16位運(yùn)算前期被兼位運(yùn)算前期被兼用存放被除

25、數(shù)。用存放被除數(shù)。 LD I0.0 /使能輸入端使能輸入端MOVW +12345, VW12 /12345VW12VW12 MOVW +100, VW20 /100VW20VW20 LD I0.1 /使能輸入端使能輸入端DIV VW20, VD10 /VW12/VW20VD10VD10 整整數(shù)數(shù)完完全全除除法法例例 v二、二、 數(shù)學(xué)功能指令數(shù)學(xué)功能指令 v數(shù)學(xué)功能指令包括平方根、自然對(duì)數(shù)、指數(shù)、三數(shù)學(xué)功能指令包括平方根、自然對(duì)數(shù)、指數(shù)、三角函數(shù)等幾個(gè)常用的函數(shù)指令。角函數(shù)等幾個(gè)常用的函數(shù)指令。v運(yùn)算輸入輸出數(shù)據(jù)都為實(shí)數(shù)。結(jié)果如果大于運(yùn)算輸入輸出數(shù)據(jù)都為實(shí)數(shù)。結(jié)果如果大于32位位二進(jìn)制表示的范圍

26、,則產(chǎn)生溢出。二進(jìn)制表示的范圍,則產(chǎn)生溢出。v(1)平方根指令:)平方根指令:SQRT 把一個(gè)雙字長(zhǎng)(把一個(gè)雙字長(zhǎng)(32位)的實(shí)位)的實(shí)數(shù)數(shù)IN開(kāi)方,得到開(kāi)方,得到32位的實(shí)數(shù)結(jié)位的實(shí)數(shù)結(jié)果果OUT。指令格式:指令格式:SQRT IN, OUT v(2)自然對(duì)數(shù)指令:)自然對(duì)數(shù)指令:LN v(3)指數(shù)指令:)指數(shù)指令:EXP 把一個(gè)雙字長(zhǎng)(把一個(gè)雙字長(zhǎng)(32位)的實(shí)位)的實(shí)數(shù)數(shù)IN取自然對(duì)數(shù),得到取自然對(duì)數(shù),得到32位的位的實(shí)數(shù)結(jié)果實(shí)數(shù)結(jié)果OUT。指令格式:指令格式:LN IN, OUT 把一個(gè)雙字長(zhǎng)(把一個(gè)雙字長(zhǎng)(32位)的實(shí)位)的實(shí)數(shù)數(shù)IN取以取以e為底的指數(shù),得到為底的指數(shù),得到32位的

27、實(shí)數(shù)結(jié)果位的實(shí)數(shù)結(jié)果OUT。指令格式:指令格式:EXP IN, OUT v(4)三角函數(shù)指令:SIN、COS、TAN v程序?qū)嵗海ㄇ?5的正切值) 即正弦、余弦、正切指令。將把一個(gè)雙字長(zhǎng)(即正弦、余弦、正切指令。將把一個(gè)雙字長(zhǎng)(32位)的實(shí)位)的實(shí)數(shù)數(shù)弧度值弧度值IN分別取正弦、余弦、正切,各得到分別取正弦、余弦、正切,各得到32位的實(shí)數(shù)位的實(shí)數(shù)結(jié)果結(jié)果OUT。 指令格式:指令格式:SIN IN, OUT; COS IN, OUT; TAN IN, OUTLD I0.0 /使能輸入端使能輸入端MOVR 3.14159, AC0 /3.14159AC0AC0/R 180.0, AC0 /180

28、.0AC0AC0*R 65.0, AC0 /65.0*AC0AC0AC0TAN AC0, AC1 /TAN(AC0AC0)AC1AC1/計(jì)算結(jié)果為計(jì)算結(jié)果為T(mén)ANTAN(6565)=2.1445=2.1445AC1AC1/(AC1AC1)2.14452.1445 求三角函數(shù)例求三角函數(shù)例 v三、遞增和遞減指令三、遞增和遞減指令 v遞增和遞減指令遞增和遞減指令 ,又稱自增和自減,是對(duì)無(wú)符號(hào),又稱自增和自減,是對(duì)無(wú)符號(hào)或有符號(hào)整數(shù)進(jìn)行自動(dòng)增加或減少一個(gè)單位的操或有符號(hào)整數(shù)進(jìn)行自動(dòng)增加或減少一個(gè)單位的操作,數(shù)據(jù)長(zhǎng)度可以是字節(jié)、字或雙字。作,數(shù)據(jù)長(zhǎng)度可以是字節(jié)、字或雙字。 v使能流輸出使能流輸出ENO

29、斷開(kāi)的出錯(cuò)條件:斷開(kāi)的出錯(cuò)條件:0006(間接尋(間接尋址);址);SM1.1(溢出);(溢出);SM4.3(運(yùn)行時(shí)間)。(運(yùn)行時(shí)間)。v在在LAD和和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1OUT和和IN1OUT。v在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:OUT1OUT和和OUT1OUT。 v(1)字節(jié)增和字節(jié)減指令:)字節(jié)增和字節(jié)減指令:INCB,DECB v使能輸入有效時(shí),把一字節(jié)長(zhǎng)的無(wú)符號(hào)輸入數(shù)使能輸入有效時(shí),把一字節(jié)長(zhǎng)的無(wú)符號(hào)輸入數(shù)IN加加1或減或減1,得到一個(gè)字節(jié)的無(wú)符號(hào)輸出結(jié)果,得到一個(gè)字節(jié)的無(wú)符號(hào)輸出結(jié)果OUT。v指令格式:指令格式:INCB

30、OUT; DECB OUT v(2)字增和字減指令:)字增和字減指令:INCW,DECW v使能輸入有效時(shí),把一字長(zhǎng)的有符號(hào)輸入數(shù)使能輸入有效時(shí),把一字長(zhǎng)的有符號(hào)輸入數(shù)IN加加1或減或減1,得到一個(gè)字長(zhǎng)的有符號(hào)輸出結(jié)果得到一個(gè)字長(zhǎng)的有符號(hào)輸出結(jié)果OUT。v指令格式:指令格式:INCW OUT; DECW OUTv(3)雙字增和雙字減指令:)雙字增和雙字減指令:INCD,DECD v使能輸入有效時(shí),把一雙字長(zhǎng)的有符號(hào)輸入數(shù)使能輸入有效時(shí),把一雙字長(zhǎng)的有符號(hào)輸入數(shù)IN加加1或減或減1,得到一個(gè)雙字長(zhǎng)的有符號(hào)輸出結(jié)果,得到一個(gè)雙字長(zhǎng)的有符號(hào)輸出結(jié)果OUT。 v指令格式:指令格式:INCD OUT;

31、DECD OUT 四、邏輯操作指令四、邏輯操作指令v邏輯運(yùn)算是對(duì)無(wú)符號(hào)數(shù)進(jìn)行的邏輯處理,主要邏輯運(yùn)算是對(duì)無(wú)符號(hào)數(shù)進(jìn)行的邏輯處理,主要包括邏輯與、邏輯或、邏輯異或和取反等運(yùn)算包括邏輯與、邏輯或、邏輯異或和取反等運(yùn)算指令。按操作數(shù)長(zhǎng)度可分為字節(jié)、字和雙字邏指令。按操作數(shù)長(zhǎng)度可分為字節(jié)、字和雙字邏輯運(yùn)算。輯運(yùn)算。vIN1、IN2、OUT操作數(shù)的數(shù)據(jù)類(lèi)型分別為:操作數(shù)的數(shù)據(jù)類(lèi)型分別為:B、W、DW。v邏輯運(yùn)算指令影響的特殊存儲(chǔ)器位:邏輯運(yùn)算指令影響的特殊存儲(chǔ)器位:SM1.0SM1.0(結(jié)果為零)。(結(jié)果為零)。v使使ENO=0ENO=0的錯(cuò)誤條件是:的錯(cuò)誤條件是:006006(間接尋址)(間接尋址)(

32、1)邏輯與運(yùn)算指令)邏輯與運(yùn)算指令 ANDB,字節(jié)邏輯與指令。使能輸入有效時(shí),把兩個(gè)字節(jié),字節(jié)邏輯與指令。使能輸入有效時(shí),把兩個(gè)字節(jié)的邏輯數(shù)按位求與,得到一個(gè)字節(jié)長(zhǎng)的邏輯輸出結(jié)果的邏輯數(shù)按位求與,得到一個(gè)字節(jié)長(zhǎng)的邏輯輸出結(jié)果OUT。ANDW,字邏輯與指令。使能輸入有效時(shí),把兩個(gè)字的邏,字邏輯與指令。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù)按位求與,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果輯數(shù)按位求與,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果OUT。ANDD,雙字邏輯與指令。使能輸入有效時(shí),把兩個(gè)雙字,雙字邏輯與指令。使能輸入有效時(shí),把兩個(gè)雙字的邏輯數(shù)按位求與,得到一個(gè)雙字長(zhǎng)的邏輯輸出結(jié)果的邏輯數(shù)按位求與,得到一個(gè)雙字長(zhǎng)的邏輯輸出

33、結(jié)果OUT。指令格式:指令格式:ANDB IN1, OUT;ANDW IN1, OUT;ANDD IN1, OUT (2) 邏輯或運(yùn)算指令邏輯或運(yùn)算指令 ORBORB,字節(jié)邏輯或指令。使能輸入有效時(shí),把兩個(gè)字節(jié)的邏,字節(jié)邏輯或指令。使能輸入有效時(shí),把兩個(gè)字節(jié)的邏輯數(shù)按位求或,得到一個(gè)字節(jié)長(zhǎng)的邏輯輸出結(jié)果輯數(shù)按位求或,得到一個(gè)字節(jié)長(zhǎng)的邏輯輸出結(jié)果OUTOUT。ORWORW,字邏輯或指令。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù),字邏輯或指令。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù)按位求或,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果按位求或,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果OUTOUT。ORDORD,雙字邏輯或指令。使能輸入有效時(shí),

34、把兩個(gè)雙字的邏,雙字邏輯或指令。使能輸入有效時(shí),把兩個(gè)雙字的邏輯數(shù)按位求或,得到一個(gè)雙字長(zhǎng)的邏輯輸出結(jié)果輯數(shù)按位求或,得到一個(gè)雙字長(zhǎng)的邏輯輸出結(jié)果OUTOUT。 指令格式:指令格式:ORB IN1, OUT;ORW IN1, OUT;ORD IN1, OUT (3)邏輯異或運(yùn)算指令)邏輯異或運(yùn)算指令 XORBXORB,字節(jié)邏輯異或指令。使能輸入有效時(shí),把兩個(gè)字節(jié)的,字節(jié)邏輯異或指令。使能輸入有效時(shí),把兩個(gè)字節(jié)的邏輯數(shù)按位求異或,得到一個(gè)字節(jié)長(zhǎng)的邏輯輸出結(jié)果邏輯數(shù)按位求異或,得到一個(gè)字節(jié)長(zhǎng)的邏輯輸出結(jié)果OUTOUT。XORWXORW,字邏輯異或指令。使能輸入有效時(shí),把兩個(gè)字的邏輯,字邏輯異或指令

35、。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù)按位求異或,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果數(shù)按位求異或,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果OUTOUT。XORDXORD,雙字邏輯異或指令。使能輸入有效時(shí),把兩個(gè)雙字的,雙字邏輯異或指令。使能輸入有效時(shí),把兩個(gè)雙字的邏輯數(shù)按位求異或,得到一個(gè)雙字長(zhǎng)的邏輯輸出結(jié)果邏輯數(shù)按位求異或,得到一個(gè)雙字長(zhǎng)的邏輯輸出結(jié)果OUTOUT。 指令格式:指令格式:XORB IN1, OUT;XORW IN1, OUT;XORD IN1, OUT(4)取反指令)取反指令 INVB,字節(jié)邏輯取反指令。使能輸入有效時(shí),把一個(gè)字節(jié),字節(jié)邏輯取反指令。使能輸入有效時(shí),把一個(gè)字節(jié)的邏輯數(shù)按位求反,得到一個(gè)

36、字節(jié)長(zhǎng)的邏輯輸出結(jié)果的邏輯數(shù)按位求反,得到一個(gè)字節(jié)長(zhǎng)的邏輯輸出結(jié)果OUT。INVW,字邏輯取反指令。使能輸入有效時(shí),把一個(gè)字的邏,字邏輯取反指令。使能輸入有效時(shí),把一個(gè)字的邏輯數(shù)按位求反,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果輯數(shù)按位求反,得到一個(gè)字長(zhǎng)的邏輯輸出結(jié)果OUT。INVD,雙字邏輯取反指令。使能輸入有效時(shí),把一個(gè)雙字,雙字邏輯取反指令。使能輸入有效時(shí),把一個(gè)雙字的邏輯數(shù)按位求反,得到一個(gè)雙字長(zhǎng)的邏輯輸出結(jié)果的邏輯數(shù)按位求反,得到一個(gè)雙字長(zhǎng)的邏輯輸出結(jié)果OUT。 指令格式:指令格式:INVB OUT; INVW OUT; INVD OUT v程序?qū)嵗?LD I0.0 /使能輸入端使能輸入端MOV

37、B AC0, AC1 /AC0AC1AC1ANDB 255, AC1 /AC1的值和的值和255255作相與作相與/運(yùn)算,即實(shí)現(xiàn)了運(yùn)算,即實(shí)現(xiàn)了AC0AC0和和255255相與的運(yùn)算,相與的運(yùn)算,結(jié)結(jié)/果放到果放到AC1AC1中。中。LD I0.1 /使能輸入端使能輸入端MOVW LW10, LW30 /LW10LW30LW30ORW LW20, LW30 /進(jìn)行或運(yùn)算進(jìn)行或運(yùn)算 LD I0.2 /使能輸入端使能輸入端MOVD VD100, VD120 /LD100LD120LD120XORD VD110, VD120 /進(jìn)行異或運(yùn)算進(jìn)行異或運(yùn)算 LD I0.3 /使能輸入端使能輸入端MOVW

38、 VW10, VW20 / VW10VW20VW20INVW VW20 /進(jìn)行取反運(yùn)算進(jìn)行取反運(yùn)算 邏輯運(yùn)算指令例 第五節(jié) 數(shù)據(jù)處理類(lèi)指令及應(yīng)用v轉(zhuǎn)換指令是指對(duì)操作數(shù)的類(lèi)型進(jìn)行轉(zhuǎn)換,包括數(shù)據(jù)轉(zhuǎn)換指令是指對(duì)操作數(shù)的類(lèi)型進(jìn)行轉(zhuǎn)換,包括數(shù)據(jù)的類(lèi)型轉(zhuǎn)換、碼的類(lèi)型轉(zhuǎn)換以及數(shù)據(jù)和碼之間的類(lèi)的類(lèi)型轉(zhuǎn)換、碼的類(lèi)型轉(zhuǎn)換以及數(shù)據(jù)和碼之間的類(lèi)型轉(zhuǎn)換。型轉(zhuǎn)換。v 數(shù)據(jù)類(lèi)型主要包括字節(jié)、整數(shù)、雙整數(shù)、實(shí)數(shù),數(shù)據(jù)類(lèi)型主要包括字節(jié)、整數(shù)、雙整數(shù)、實(shí)數(shù),不同性質(zhì)的指令對(duì)操作數(shù)的類(lèi)型要求不同,類(lèi)型轉(zhuǎn)不同性質(zhì)的指令對(duì)操作數(shù)的類(lèi)型要求不同,類(lèi)型轉(zhuǎn)換指令可將固定的一個(gè)數(shù)值用到不同類(lèi)型要求的指換指令可將固定的一個(gè)數(shù)值用到不同類(lèi)型要求的

39、指令,而不必對(duì)數(shù)據(jù)進(jìn)行針對(duì)類(lèi)型的重新裝載。令,而不必對(duì)數(shù)據(jù)進(jìn)行針對(duì)類(lèi)型的重新裝載。 v 1. BCD碼與整數(shù)之間的轉(zhuǎn)換指令碼與整數(shù)之間的轉(zhuǎn)換指令 v(1)BCD碼到整數(shù):碼到整數(shù):BCDIv使能輸入有效時(shí),將二進(jìn)使能輸入有效時(shí),將二進(jìn)v制編碼的十進(jìn)制數(shù)制編碼的十進(jìn)制數(shù)IN轉(zhuǎn)換轉(zhuǎn)換v為整數(shù),并將結(jié)果送到為整數(shù),并將結(jié)果送到OUTv輸出。輸出。vIN的有效范圍是的有效范圍是0到到9999.v指令格式:指令格式:BCDI OUTv程序?qū)嵗撼绦驅(qū)嵗?已知(已知(AC0AC0)=1234=1234,程序,程序運(yùn)行后:(運(yùn)行后:(AC0AC0)=04D2=04D2。 LD I1.0 /使能輸入端BCD

40、I AC0 /AC0中的BCD碼轉(zhuǎn)換為整數(shù) BCD碼轉(zhuǎn)換為整數(shù)例v(2)整數(shù)到)整數(shù)到BCD碼:碼:IBCD v v v 2. 字節(jié)與字整數(shù)之間的轉(zhuǎn)換指令字節(jié)與字整數(shù)之間的轉(zhuǎn)換指令 v(1)字節(jié)到整數(shù):)字節(jié)到整數(shù):BTI 使能輸入有效時(shí),將輸入整數(shù)值使能輸入有效時(shí),將輸入整數(shù)值IN轉(zhuǎn)換成轉(zhuǎn)換成二進(jìn)制編碼的十進(jìn)制數(shù),并將結(jié)果送到二進(jìn)制編碼的十進(jìn)制數(shù),并將結(jié)果送到OUT輸出。輸出。 指令格式:指令格式:IBCD OUT 使能輸入有效時(shí),將字節(jié)型輸入數(shù)據(jù)使能輸入有效時(shí),將字節(jié)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成整數(shù)類(lèi)型,并將結(jié)果送到換成整數(shù)類(lèi)型,并將結(jié)果送到OUT輸出。輸出。字節(jié)型是無(wú)符號(hào)的,所以沒(méi)有符號(hào)擴(kuò)展。

41、字節(jié)型是無(wú)符號(hào)的,所以沒(méi)有符號(hào)擴(kuò)展。 指令格式:指令格式:BCDI OUT v(2)整數(shù)到字節(jié):)整數(shù)到字節(jié):ITB v v 3. 字型整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換指令字型整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換指令v(1)雙整數(shù)到整數(shù):)雙整數(shù)到整數(shù):DTI 使能輸入有效時(shí),將雙整數(shù)型輸入數(shù)據(jù)使能輸入有效時(shí),將雙整數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類(lèi)型,并將結(jié)果送到轉(zhuǎn)換成整數(shù)類(lèi)型,并將結(jié)果送到OUT輸出。輸出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。 指令格式:指令格式:DTI OUT 使能輸入有效時(shí),將整數(shù)型輸入數(shù)據(jù)使能輸入有效時(shí),將整數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成字節(jié)類(lèi)型,并將結(jié)果送到換成字節(jié)類(lèi)型

42、,并將結(jié)果送到OUT輸出。輸出。輸入數(shù)據(jù)超出字節(jié)范圍(輸入數(shù)據(jù)超出字節(jié)范圍(0255)則產(chǎn)生溢)則產(chǎn)生溢出出 。指令格式:指令格式:IBCD OUT v(2)整數(shù)到雙整數(shù):)整數(shù)到雙整數(shù):ITD v 4. 雙字整數(shù)與實(shí)數(shù)之間的轉(zhuǎn)換指令雙字整數(shù)與實(shí)數(shù)之間的轉(zhuǎn)換指令v(1)實(shí)數(shù)到雙整數(shù):)實(shí)數(shù)到雙整數(shù):ROUND,TRUNC 使能輸入有效時(shí),將實(shí)數(shù)型輸入數(shù)據(jù)使能輸入有效時(shí),將實(shí)數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成雙整數(shù)類(lèi)型,并將結(jié)果送到換成雙整數(shù)類(lèi)型,并將結(jié)果送到OUT輸出。輸出。兩條指令的區(qū)別是:前者小數(shù)部分四舍五入,兩條指令的區(qū)別是:前者小數(shù)部分四舍五入,而后者小數(shù)部分直接舍去。輸入數(shù)據(jù)超出實(shí)而后者小數(shù)部

43、分直接舍去。輸入數(shù)據(jù)超出實(shí)數(shù)范圍則產(chǎn)生溢出。數(shù)范圍則產(chǎn)生溢出。 指令格式:指令格式:ROUND IN, OUTTRUNC IN, OUT 使能輸入有效時(shí),將整數(shù)型輸入數(shù)據(jù)使能輸入有效時(shí),將整數(shù)型輸入數(shù)據(jù)IN轉(zhuǎn)轉(zhuǎn)換成雙整數(shù)類(lèi)型(符號(hào)進(jìn)行擴(kuò)展),并將結(jié)換成雙整數(shù)類(lèi)型(符號(hào)進(jìn)行擴(kuò)展),并將結(jié)果送到果送到OUT輸出。輸出。 指令格式:指令格式:ITD OUT v(2)雙整數(shù)到實(shí)數(shù):)雙整數(shù)到實(shí)數(shù):DTR 使能輸入有效時(shí),將雙整數(shù)型使能輸入有效時(shí),將雙整數(shù)型輸入數(shù)據(jù)輸入數(shù)據(jù)IN轉(zhuǎn)換成實(shí)數(shù)型,并轉(zhuǎn)換成實(shí)數(shù)型,并將結(jié)果送到將結(jié)果送到OUT輸出。輸出。 指令格式:指令格式:DTR IN, OUT 6. 段碼(

44、SEG)指令 SEG,七段碼指令。使能輸入有效,七段碼指令。使能輸入有效時(shí),將字節(jié)型輸入數(shù)據(jù)時(shí),將字節(jié)型輸入數(shù)據(jù)IN的低的低4位有位有效數(shù)字(效數(shù)字(160F)轉(zhuǎn)換成七段顯)轉(zhuǎn)換成七段顯示碼,并將其輸出到示碼,并將其輸出到OUT所指定的所指定的字節(jié)單元。字節(jié)單元。 指令格式:指令格式:SEG IN, OUT ATH,ASCII碼到十六進(jìn)制數(shù)指令。使能輸入有效時(shí),將從碼到十六進(jìn)制數(shù)指令。使能輸入有效時(shí),將從IN開(kāi)始開(kāi)始的長(zhǎng)度為的長(zhǎng)度為L(zhǎng)EN的的ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到OUT開(kāi)始開(kāi)始的字節(jié)進(jìn)行輸出。的字節(jié)進(jìn)行輸出。ASCII字符串的最大長(zhǎng)度為字符串

45、的最大長(zhǎng)度為255字符。字符。 HTA,十六進(jìn)制數(shù)到,十六進(jìn)制數(shù)到ASCII碼指令。使能輸入有效時(shí),將從輸入字碼指令。使能輸入有效時(shí),將從輸入字節(jié)節(jié)IN開(kāi)始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從開(kāi)始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從OUT開(kāi)始的開(kāi)始的ASCII字符。欲轉(zhuǎn)換字符。欲轉(zhuǎn)換的十六進(jìn)制數(shù)字位數(shù)由長(zhǎng)度(的十六進(jìn)制數(shù)字位數(shù)由長(zhǎng)度(LEN)指定。可轉(zhuǎn)換的最大十六進(jìn)制)指定。可轉(zhuǎn)換的最大十六進(jìn)制數(shù)字位數(shù)為數(shù)字位數(shù)為255。有效。有效ASCII字符是十六進(jìn)制數(shù)值字符是十六進(jìn)制數(shù)值30至至39和和41至至46。指令格式:指令格式:ATH IN, OUT, LEN; HTA IN, OUT, LEN LD I0.0 /使能輸入

46、端ATH VB100, VB200, 4 /使能輸入有/效時(shí),把VB100開(kāi)始的4個(gè)ASCII碼轉(zhuǎn)/換成從VB200開(kāi)始的十六進(jìn)制數(shù) v7. ASCII碼與十六進(jìn)制數(shù)之間的轉(zhuǎn)換指令 ATH,ASCII碼到十六進(jìn)制數(shù)指令。使能輸入有效時(shí),將從碼到十六進(jìn)制數(shù)指令。使能輸入有效時(shí),將從IN開(kāi)始開(kāi)始的長(zhǎng)度為的長(zhǎng)度為L(zhǎng)EN的的ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到OUT開(kāi)開(kāi)始的字節(jié)進(jìn)行輸出。始的字節(jié)進(jìn)行輸出。ASCII字符串的最大長(zhǎng)度為字符串的最大長(zhǎng)度為255字符。字符。 HTA,十六進(jìn)制數(shù)到,十六進(jìn)制數(shù)到ASCII碼指令。使能輸入有效時(shí),將從輸入碼指令。使能輸入有效

47、時(shí),將從輸入字節(jié)字節(jié)IN開(kāi)始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從開(kāi)始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從OUT開(kāi)始的開(kāi)始的ASCII字符。欲轉(zhuǎn)字符。欲轉(zhuǎn)換的十六進(jìn)制數(shù)字位數(shù)由長(zhǎng)度(換的十六進(jìn)制數(shù)字位數(shù)由長(zhǎng)度(LEN)指定??赊D(zhuǎn)換的最大十六進(jìn))指定??赊D(zhuǎn)換的最大十六進(jìn)制數(shù)字位數(shù)為制數(shù)字位數(shù)為255。有效。有效ASCII字符是十六進(jìn)制數(shù)值字符是十六進(jìn)制數(shù)值30至至39和和41至至46 指令格式:指令格式:ATH IN, OUT, LEN HTA IN, OUT, LEN v 8. 整數(shù)、雙字整數(shù)、實(shí)數(shù)轉(zhuǎn)換為整數(shù)、雙字整數(shù)、實(shí)數(shù)轉(zhuǎn)換為ASCII碼指令碼指令v(1)整數(shù)到)整數(shù)到ASCII碼:碼:ITA 使能輸入有效時(shí),將輸入端

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

49、間的分隔符:C1,用逗號(hào)分隔,用逗號(hào)分隔,C0,用,用小數(shù)點(diǎn)分隔。輸出緩沖器中小數(shù)點(diǎn)右側(cè)的位數(shù)由小數(shù)點(diǎn)分隔。輸出緩沖器中小數(shù)點(diǎn)右側(cè)的位數(shù)由nnn域指定,域指定,nnn域域的有效范圍是的有效范圍是05。指定小數(shù)點(diǎn)右側(cè)的數(shù)字為。指定小數(shù)點(diǎn)右側(cè)的數(shù)字為0會(huì)使顯示的數(shù)值無(wú)小會(huì)使顯示的數(shù)值無(wú)小數(shù)點(diǎn)。對(duì)于大于數(shù)點(diǎn)。對(duì)于大于5的的nnn數(shù)值為非法格式,此時(shí)無(wú)輸出,用數(shù)值為非法格式,此時(shí)無(wú)輸出,用ASCII空空格填充輸出緩沖器。格填充輸出緩沖器。 指令格式:指令格式:ITA IN, OUT, FMT v(2)雙整數(shù)到ASCII碼:DTA v(3)實(shí)數(shù)到ASCII碼:RTA 使能輸入有效時(shí),將輸入端(使能輸入有

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

51、UT, FMT 使能輸入有效時(shí),將輸入端(使能輸入有效時(shí),將輸入端(IN)的有符號(hào)雙)的有符號(hào)雙整數(shù)轉(zhuǎn)換成整數(shù)轉(zhuǎn)換成ASCII字符串,轉(zhuǎn)換結(jié)果存入以字符串,轉(zhuǎn)換結(jié)果存入以O(shè)UT為起始字節(jié)地址的為起始字節(jié)地址的12個(gè)連續(xù)字節(jié)的輸出緩沖區(qū)中。個(gè)連續(xù)字節(jié)的輸出緩沖區(qū)中。指令格式操作數(shù)指令格式操作數(shù)FMT與與ITA指令的指令的FMT定義相同。定義相同。 指令格式:指令格式:DTA IN, OUT, FMT v五、移位和循環(huán)移位指令五、移位和循環(huán)移位指令v1.字節(jié)、字、雙字右移位和左移位指令字節(jié)、字、雙字右移位和左移位指令 v 2.字節(jié)、字、雙宇循環(huán)右移位和循環(huán)左字節(jié)、字、雙宇循環(huán)右移位和循環(huán)左移位指令

52、移位指令 v 3.移位寄存器指令。移位寄存器指令。3. 寄存器移位寄存器移位 SHRB,寄存器移位指令。該指,寄存器移位指令。該指令在梯形圖中有令在梯形圖中有3個(gè)數(shù)據(jù)輸入端:個(gè)數(shù)據(jù)輸入端:DATA為數(shù)值輸入,將該位的值為數(shù)值輸入,將該位的值移入移位寄存器;移入移位寄存器;S BIT為移位寄為移位寄存器的最低位端;存器的最低位端;N指定移位寄指定移位寄存器的長(zhǎng)度。每次使能輸入有效存器的長(zhǎng)度。每次使能輸入有效時(shí),整個(gè)移位寄存器移動(dòng)時(shí),整個(gè)移位寄存器移動(dòng)1位。位。 移位特點(diǎn):移位特點(diǎn):移位寄存器長(zhǎng)度在指令中指定,沒(méi)有字節(jié)型、字型、雙字移位寄存器長(zhǎng)度在指令中指定,沒(méi)有字節(jié)型、字型、雙字型之分??芍付ǖ?/p>

53、最大長(zhǎng)度為型之分??芍付ǖ淖畲箝L(zhǎng)度為64位,可正也可負(fù)。位,可正也可負(fù)。移位數(shù)據(jù)存儲(chǔ)單元的移出端與移位數(shù)據(jù)存儲(chǔ)單元的移出端與SM1.1SM1.1(溢出)相連,所以(溢出)相連,所以最后被移出的位被放到最后被移出的位被放到SM1.1SM1.1位存儲(chǔ)單元。位存儲(chǔ)單元。 l移位時(shí),移出位進(jìn)入移位時(shí),移出位進(jìn)入SM1.1,另一端自動(dòng)補(bǔ)以,另一端自動(dòng)補(bǔ)以DATA移入位移入位的值。的值。l正向移位時(shí)長(zhǎng)度正向移位時(shí)長(zhǎng)度N為正值,移位是從最低字節(jié)的最低位為正值,移位是從最低字節(jié)的最低位S BIT移入,從最高字節(jié)的最高位移入,從最高字節(jié)的最高位MSB.b移出;反向移位時(shí),移出;反向移位時(shí),長(zhǎng)度長(zhǎng)度N為負(fù)值,移位

54、是從最高字節(jié)的最高位移入,從最低字為負(fù)值,移位是從最高字節(jié)的最高位移入,從最低字節(jié)的最低位節(jié)的最低位S BIT移出。移出。l最高位的計(jì)算方法:(最高位的計(jì)算方法:(N的絕對(duì)值的絕對(duì)值1+(S BIT的位號(hào))的位號(hào))/8,相除結(jié)果中,余數(shù)即是最高位的位號(hào),商與相除結(jié)果中,余數(shù)即是最高位的位號(hào),商與S BIT的字節(jié)號(hào)的字節(jié)號(hào)之和即是最高位的字節(jié)號(hào)。之和即是最高位的字節(jié)號(hào)。l例如,如果例如,如果S BIT是是V22.5,N是是8,那么,那么MSB.b是是V23.4。具。具體計(jì)算如下:體計(jì)算如下:lMSB.bV22+(8-1+5)8V22+128V22+1(余數(shù)為(余數(shù)為4)V23.4指令格式:指令格

55、式: SHRB DATA, S BIT, N例:例: SHRB I0.5, V20.0, 5以本條指令為例,指令執(zhí)行情況如下表所示。以本條指令為例,指令執(zhí)行情況如下表所示。 指令SHRB執(zhí)行結(jié)果 脈沖數(shù)I0.5值 VB20內(nèi)容 位SM1.1說(shuō) 明01101 10101X移位前。移位時(shí),從V20.0移入,從V20.4移出 11101 0101111移入SM1.1,I0.5的脈沖前值進(jìn)入右端 21101 1011110移入SM1.1,I0.5的脈沖前值進(jìn)入右端 30101 0111001移入SM1.1,I0.5的脈沖前值進(jìn)入右端 l3. 字節(jié)交換指令字節(jié)交換指令 SWAP,字節(jié)交換指令。當(dāng)使能輸入

56、有效,字節(jié)交換指令。當(dāng)使能輸入有效時(shí),將字型輸入數(shù)據(jù)時(shí),將字型輸入數(shù)據(jù)IN高位字節(jié)與低位字節(jié)高位字節(jié)與低位字節(jié)進(jìn)行交換,交換的結(jié)果輸出到進(jìn)行交換,交換的結(jié)果輸出到IN存儲(chǔ)器單元存儲(chǔ)器單元中。因此又可稱為半字交換指令。中。因此又可稱為半字交換指令。 指令格式:指令格式:SWAP INv 5. 編碼、譯碼指令v(1)編碼指令:ENCO 使能輸入有效時(shí),將輸入字的最低使能輸入有效時(shí),將輸入字的最低有效位的位號(hào)寫(xiě)入輸出字節(jié)的低四有效位的位號(hào)寫(xiě)入輸出字節(jié)的低四位。位。指令格式:指令格式:ENCO IN, OUT v(2)譯碼指令:DECO 使能輸入有效時(shí),根據(jù)輸入字使能輸入有效時(shí),根據(jù)輸入字節(jié)的低四位所

57、表示的位號(hào)置輸節(jié)的低四位所表示的位號(hào)置輸出字的相應(yīng)位為出字的相應(yīng)位為1 1,其他清零。,其他清零。指令格式:指令格式:DECO IN, OUT v應(yīng)用實(shí)例應(yīng)用實(shí)例1v控制要求:食品加工廠對(duì)飲料生產(chǎn)線上的盒裝飲料進(jìn)行控制要求:食品加工廠對(duì)飲料生產(chǎn)線上的盒裝飲料進(jìn)行計(jì)數(shù),每計(jì)數(shù),每24盒為一箱,要求能記錄生產(chǎn)的箱數(shù)。盒為一箱,要求能記錄生產(chǎn)的箱數(shù)。LDI0.0/增脈沖輸入端LDC30/復(fù)位輸入端/循環(huán)計(jì)數(shù)CTUC30, +24/增計(jì)數(shù)指令/設(shè)定脈沖數(shù)為24LDC30/裝入計(jì)數(shù)器觸點(diǎn)/作為雙字增的/脈沖輸入INCDVD100/雙字增指令/ 應(yīng)用實(shí)例應(yīng)用實(shí)例2 模擬量控制程序中的數(shù)據(jù)類(lèi)型轉(zhuǎn)換。將模擬量

58、輸入端采樣值模擬量控制程序中的數(shù)據(jù)類(lèi)型轉(zhuǎn)換。將模擬量輸入端采樣值由整數(shù)轉(zhuǎn)換為雙整數(shù),然后由雙整數(shù)轉(zhuǎn)換為實(shí)數(shù),再除以一由整數(shù)轉(zhuǎn)換為雙整數(shù),然后由雙整數(shù)轉(zhuǎn)換為實(shí)數(shù),再除以一個(gè)比例因子得到個(gè)比例因子得到PLC可以處理的范圍內(nèi)的值??梢蕴幚淼姆秶鷥?nèi)的值。 LD SM0.0 /使能輸入 ITD AIW2, AC0 / / 整數(shù)轉(zhuǎn)換為雙整數(shù) / DTR AC0, AC0 / / 雙整數(shù)轉(zhuǎn)換為實(shí)數(shù) / /R 32768.0, AC0 / / 實(shí)數(shù)除法指令 / AC0/32768=VD100 MOVR AC0, VD200 / / 實(shí)數(shù)傳送指令 v應(yīng)用實(shí)例應(yīng)用實(shí)例3v用用I0.0控制接在控制接在Q0.0-Q0

59、.7上的上的8個(gè)彩燈循環(huán)移位,從左到右個(gè)彩燈循環(huán)移位,從左到右以以0.5s的速度依次點(diǎn)亮,保持任意時(shí)刻只有一個(gè)指示燈亮,的速度依次點(diǎn)亮,保持任意時(shí)刻只有一個(gè)指示燈亮,到達(dá)最右端后,再?gòu)淖蟮接乙来吸c(diǎn)亮。到達(dá)最右端后,再?gòu)淖蟮接乙来吸c(diǎn)亮。v實(shí)例實(shí)例4 臺(tái)車(chē)控制臺(tái)車(chē)控制v實(shí)例實(shí)例5 單按鈕控制五臺(tái)電機(jī)啟停單按鈕控制五臺(tái)電機(jī)啟停第六節(jié)第六節(jié) 程序控制類(lèi)指令及應(yīng)用程序控制類(lèi)指令及應(yīng)用v程序控制類(lèi)指令用于程序執(zhí)行流程的控制。程序控制類(lèi)指令用于程序執(zhí)行流程的控制。對(duì)程序的掃描執(zhí)行過(guò)程而言,跳轉(zhuǎn)指令可以對(duì)程序的掃描執(zhí)行過(guò)程而言,跳轉(zhuǎn)指令可以使程序出現(xiàn)跨越或跳躍以實(shí)現(xiàn)程序段的選擇。使程序出現(xiàn)跨越或跳躍以實(shí)現(xiàn)程序

60、段的選擇。子程序可調(diào)用子程序;循環(huán)指令可多次重復(fù)子程序可調(diào)用子程序;循環(huán)指令可多次重復(fù)執(zhí)行指定的程序段;中斷指令則用于中斷信執(zhí)行指定的程序段;中斷指令則用于中斷信號(hào)引起的子程序調(diào)用。程序控制類(lèi)指令可以號(hào)引起的子程序調(diào)用。程序控制類(lèi)指令可以影響程序執(zhí)行的流向及內(nèi)容,對(duì)合理安排程影響程序執(zhí)行的流向及內(nèi)容,對(duì)合理安排程序的結(jié)構(gòu),提高程序功能以及實(shí)現(xiàn)某些技巧序的結(jié)構(gòu),提高程序功能以及實(shí)現(xiàn)某些技巧性運(yùn)算具有重要的意義。性運(yùn)算具有重要的意義。一、跳轉(zhuǎn)指令一、跳轉(zhuǎn)指令v1.跳轉(zhuǎn)及標(biāo)號(hào)指令跳轉(zhuǎn)及標(biāo)號(hào)指令v跳轉(zhuǎn)指令使程序流程跳轉(zhuǎn)到指定標(biāo)號(hào)跳轉(zhuǎn)指令使程序流程跳轉(zhuǎn)到指定標(biāo)號(hào)N處的處的程序分支執(zhí)行。標(biāo)號(hào)指令標(biāo)記跳轉(zhuǎn)目

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論