




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第九章 S7-200系列可編程控制器功能指令及應(yīng)用學(xué)習(xí)目標(biāo):學(xué)習(xí)目標(biāo):v熟練掌握梯形圖的編程方法,掌握功能指熟練掌握梯形圖的編程方法,掌握功能指令中的常用指令,了解和會(huì)用其他指令。令中的常用指令,了解和會(huì)用其他指令。通過對本章的學(xué)習(xí),做到可以根據(jù)需要編通過對本章的學(xué)習(xí),做到可以根據(jù)需要編制出結(jié)構(gòu)較復(fù)雜的控制程序。制出結(jié)構(gòu)較復(fù)雜的控制程序。 第一節(jié) 功能指令的分類及用途v 功能指令(功能指令(Function Instruction)又稱為)又稱為應(yīng)用指令,它是指令系統(tǒng)中應(yīng)用于復(fù)雜控制應(yīng)用指令,它是指令系統(tǒng)中應(yīng)用于復(fù)雜控制的指令。功能指令依據(jù)其功能可分為:數(shù)據(jù)的指令。功能指令依據(jù)其功能可分為:數(shù)
2、據(jù)處理類、程序控制類、特種功能類及外部設(shè)處理類、程序控制類、特種功能類及外部設(shè)備類等類型。這些功能指令實(shí)際上是廠商為備類等類型。這些功能指令實(shí)際上是廠商為滿足各種客戶的特殊需要而開發(fā)的通用子程滿足各種客戶的特殊需要而開發(fā)的通用子程序。序。v第二節(jié)第二節(jié) 功能指令的表達(dá)形式及使用要素功能指令的表達(dá)形式及使用要素v1、功能框及指令的標(biāo)題、功能框及指令的標(biāo)題l2、語句表達(dá)形式、語句表達(dá)形式v3、操作數(shù)類型及長度、操作數(shù)類型及長度v4、指令的執(zhí)行條件及執(zhí)行形式、指令的執(zhí)行條件及執(zhí)行形式v執(zhí)行形式分為連續(xù)執(zhí)行和脈沖執(zhí)行。執(zhí)行形式分為連續(xù)執(zhí)行和脈沖執(zhí)行。v5、指令功能及、指令功能及ENO狀態(tài)狀態(tài)v6、指令
3、執(zhí)行結(jié)果對特殊標(biāo)志位的影響、指令執(zhí)行結(jié)果對特殊標(biāo)志位的影響v7、指令的機(jī)型適用范圍、指令的機(jī)型適用范圍v第三節(jié)第三節(jié) 傳送比較類指令及應(yīng)用傳送比較類指令及應(yīng)用v一、傳送類指令一、傳送類指令v1.字節(jié)、字、雙字、實(shí)數(shù)傳送指令字節(jié)、字、雙字、實(shí)數(shù)傳送指令使能輸入有效時(shí),把一個(gè)單字節(jié)無符號數(shù)使能輸入有效時(shí),把一個(gè)單字節(jié)無符號數(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é)立即寫
4、(節(jié)立即寫(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ǔ)單元,不刷新過程映像寄所指的字節(jié)存儲(chǔ)單元,不刷新過程映像寄存器。存器。 指令格式:指令格式:BIR IN, OUT BIR IN, OUT (2)字節(jié)立即寫指令:)字節(jié)立即寫指令:BIW使能輸入有效時(shí),從存儲(chǔ)器使能輸入有效時(shí),從存儲(chǔ)器IN讀取數(shù)據(jù),寫入物讀取數(shù)據(jù),寫入物理輸出,同時(shí)刷新相應(yīng)的過程映像區(qū)理
5、輸出,同時(shí)刷新相應(yīng)的過程映像區(qū)。 指令格式:指令格式:BIW IN, OUT BIW IN, OUT v3.塊傳送指令塊傳送指令l(1)字節(jié)塊傳送指令:)字節(jié)塊傳送指令:BMB l(2)字塊傳送指令:)字塊傳送指令:BMW使能輸入有效時(shí),把從輸入字節(jié)使能輸入有效時(shí),把從輸入字節(jié)IN開始的開始的N個(gè)字節(jié)型數(shù)據(jù)傳送到從個(gè)字節(jié)型數(shù)據(jù)傳送到從OUT開始的開始的N個(gè)字個(gè)字節(jié)存儲(chǔ)單元。節(jié)存儲(chǔ)單元。 指令格式:指令格式:BMB IN, OUT, N 使能輸入有效時(shí),把從輸入字使能輸入有效時(shí),把從輸入字IN開始的開始的N個(gè)字型數(shù)據(jù)傳送到從個(gè)字型數(shù)據(jù)傳送到從OUT開始的開始的N個(gè)字存儲(chǔ)個(gè)字存儲(chǔ)單元。單元。 指令
6、格式:指令格式:BMW IN, OUT, N v3)雙字塊傳送指令:)雙字塊傳送指令:BMD使能輸入有效時(shí),把從輸入雙字使能輸入有效時(shí),把從輸入雙字IN開始的開始的N個(gè)雙字型數(shù)據(jù)傳送到從個(gè)雙字型數(shù)據(jù)傳送到從OUT開始的開始的N個(gè)雙字存儲(chǔ)單元。個(gè)雙字存儲(chǔ)單元。 指令格式:指令格式:BMD IN, OUT, N 3預(yù)選時(shí)間的選擇控制預(yù)選時(shí)間的選擇控制某工廠生產(chǎn)的某工廠生產(chǎn)的2種型號工件所需加熱的時(shí)間為種型號工件所需加熱的時(shí)間為40 s、60 s。使用。使用2個(gè)開關(guān)來控制定時(shí)器的設(shè)定值,每一開關(guān)對應(yīng)個(gè)開關(guān)來控制定時(shí)器的設(shè)定值,每一開關(guān)對應(yīng)于一設(shè)定值;用起動(dòng)按鈕和接觸器控制加熱爐的通斷。于一設(shè)定值;用
7、起動(dòng)按鈕和接觸器控制加熱爐的通斷。PLC I/O地址分配如表如下圖所示。地址分配如表如下圖所示。v二、比較指令二、比較指令v比較指令是一種比較判斷,用于比較兩個(gè)符號數(shù)或無比較指令是一種比較判斷,用于比較兩個(gè)符號數(shù)或無符號數(shù)。符號數(shù)。v 在梯形圖中以帶參數(shù)和運(yùn)算符號的觸點(diǎn)的形式編程,在梯形圖中以帶參數(shù)和運(yùn)算符號的觸點(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 在語句表中使用在語句表中使用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 比較指令的類型有:字節(jié)比較、整數(shù)比較、雙字整數(shù)比較指令的類型有:字節(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é)比較是無符號的。比較式可以是字節(jié)比較是無符號的。比
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è)一字長整數(shù)值整數(shù)比較用于比較兩個(gè)一字長整數(shù)值IN1和和IN2的大小,的大小,整數(shù)比較是有符號的(整數(shù)范圍為整數(shù)比較是有符號的(整數(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è)雙字長整數(shù)值雙字整數(shù)比較用于比較兩個(gè)雙字長整數(shù)值IN1和和IN2的大的大小 , 雙 字 整 數(shù) 比 較 是 有 符 號 的 ( 雙 字 整 數(shù) 范 圍 為小 , 雙 字 整
11、 數(shù) 比 較 是 有 符 號 的 ( 雙 字 整 數(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è)雙字長實(shí)數(shù)值實(shí)數(shù)比較用于比較兩個(gè)
12、雙字長實(shí)數(shù)值IN1和和IN2的大小,的大小,實(shí)數(shù)比較是有符號的(負(fù)實(shí)數(shù)范圍為實(shí)數(shù)比較是有符號的(負(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,開始工作后,開始工作后,Q0.0先亮,以后每隔先亮,以后每隔2s依次點(diǎn)亮依次點(diǎn)亮1盞燈,直到盞燈,直到6盞燈全亮盞燈全亮2s后,每隔后,每隔2s熄滅熄滅1盞燈,直到盞燈,直到6盞盞燈全
14、熄,燈全熄,2s后再開始循環(huán)。后再開始循環(huán)。第四節(jié)第四節(jié) 數(shù)學(xué)運(yùn)算類指令及應(yīng)用數(shù)學(xué)運(yùn)算類指令及應(yīng)用 數(shù)學(xué)運(yùn)算類指令含有四則運(yùn)算指令、數(shù)學(xué)功數(shù)學(xué)運(yùn)算類指令含有四則運(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加法指令是對有符號數(shù)進(jìn)行相加操作。加法指令是對有符號數(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斷開的出錯(cuò)條件:斷開的出錯(cuò)條件:0006(間接尋址);(間接尋址);SM1.1(溢出(溢出);SM4.3(運(yùn)行時(shí)間)。(運(yùn)行時(shí)間)。v(1)整數(shù)加法指令:)整數(shù)加法指令:+I使能輸入有效時(shí),將兩個(gè)使能輸入有效時(shí),將兩個(gè)單字長(單字長(16位)的符號整數(shù)位)的符號整數(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字長(字長(32位)的符號整數(shù)位)的符號整數(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è)雙字長(長(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減法指令是對有符號數(shù)進(jìn)行相減操作。包括:整數(shù)減法、減法指令是對有符號數(shù)進(jìn)行相減操作。包括:整數(shù)減法、雙整數(shù)減法和實(shí)數(shù)減法。這三種減法指令與所對應(yīng)的加法雙整數(shù)減法和實(shí)數(shù)減法。這三種減法指令與所對應(yīng)的加法指令除運(yùn)算法則不同之外,其他方面基本相同。指令除運(yùn)算法則不同之外,其他方面基本相同。v減法指令影響的特殊存儲(chǔ)器位:減法指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);S
18、M1.1(溢出);(溢出);SM1.2(負(fù))。(負(fù))。v使能流輸出使能流輸出ENO斷開的出錯(cuò)條件:斷開的出錯(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ù) 地址單元 單元長度(字節(jié)) 運(yùn)算前的值運(yùn)算后的值IN1VW0260005000IN2VW2210001000OUTVW0260005000l3. 乘法運(yùn)算指令乘法運(yùn)算指令 l乘法運(yùn)算指令是對有符號數(shù)進(jìn)行相乘運(yùn)算。包括:乘法運(yùn)算指令是對有符號數(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斷開的出
20、錯(cuò)條件:斷開的出錯(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è)單字長(長(16位)的符號整數(shù)位)的符號整數(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è)單字長(長(16位)的符號整數(shù)位)的符號整數(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è)雙字長(長(32位)的符號整數(shù)位)的符號整數(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è)雙字長(將兩個(gè)雙字長(32位)符號整數(shù)位)符號整數(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)算指令是對有符號數(shù)進(jìn)行相除操作。包括:整數(shù)除除法運(yùn)算指令是對有符號數(shù)進(jìn)行相除操作。包括:整數(shù)除法、完全整數(shù)除法、雙整數(shù)除法和實(shí)數(shù)除法。這四種除法指法、完全整數(shù)除法、雙整數(shù)除法和實(shí)數(shù)除法。這四種除法指令與所對應(yīng)的乘法指令除運(yùn)算法則不同之外,其他方面基本令與
23、所對應(yīng)的乘法指令除運(yùn)算法則不同之外,其他方面基本相同。相同。v 除法指令影響的特殊存儲(chǔ)器位:除法指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負(fù));(負(fù));SM1.3(除數(shù)為(除數(shù)為0)。)。 v使能流輸出ENO斷開的出錯(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ù)除法也同樣過程,只是位數(shù)變?yōu)榱粲鄶?shù)。雙整數(shù)除法也同樣過程,只是位數(shù)變?yōu)?2位。位。在整數(shù)完全除法中,兩個(gè)在整數(shù)完全除法中,兩個(gè)16位的符號整數(shù)相除,產(chǎn)生一個(gè)位的符號整數(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é)功能指令包括平方根、自然對數(shù)、指數(shù)、三數(shù)學(xué)功能指令包括平方根、自然對數(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è)雙字長(把一個(gè)雙字長(32位)的實(shí)位)的實(shí)數(shù)數(shù)IN開方,得到開方,得到32位的實(shí)數(shù)結(jié)位的實(shí)數(shù)結(jié)果果OUT。指令格式:指令格式:SQRT IN, OUT v(2)自然對數(shù)指令:)自然對數(shù)指令:LN v(3)指數(shù)指令:)指數(shù)指令:EXP 把一個(gè)雙字長(把一個(gè)雙字長(32位)的實(shí)位)的實(shí)數(shù)數(shù)IN取自然對數(shù),得到取自然對數(shù),得到32位的位的實(shí)數(shù)結(jié)果實(shí)數(shù)結(jié)果OUT。指令格式:指令格式:LN IN, OUT 把一個(gè)雙字長(把一個(gè)雙字長(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è)雙字長(即正弦、余弦、正切指令。將把一個(gè)雙字長(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é)果為TANTAN(6565)=2.1445=2.1445AC1AC1/(AC1AC1)2.14452.1445 求三角函數(shù)例求三角函數(shù)例 v三、遞增和遞減指令三、遞增和遞減指令 v遞增和遞減指令遞增和遞減指令 ,又稱自增和自減,是對無符號,又稱自增和自減,是對無符號或有符號整數(shù)進(jìn)行自動(dòng)增加或減少一個(gè)單位的操或有符號整數(shù)進(jìn)行自動(dòng)增加或減少一個(gè)單位的操作,數(shù)據(jù)長度可以是字節(jié)、字或雙字。作,數(shù)據(jù)長度可以是字節(jié)、字或雙字。 v使能流輸出使能流輸出ENO
29、斷開的出錯(cuò)條件:斷開的出錯(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é)長的無符號輸入數(shù)使能輸入有效時(shí),把一字節(jié)長的無符號輸入數(shù)IN加加1或減或減1,得到一個(gè)字節(jié)的無符號輸出結(jié)果,得到一個(gè)字節(jié)的無符號輸出結(jié)果OUT。v指令格式:指令格式:INCB
30、OUT; DECB OUT v(2)字增和字減指令:)字增和字減指令:INCW,DECW v使能輸入有效時(shí),把一字長的有符號輸入數(shù)使能輸入有效時(shí),把一字長的有符號輸入數(shù)IN加加1或減或減1,得到一個(gè)字長的有符號輸出結(jié)果得到一個(gè)字長的有符號輸出結(jié)果OUT。v指令格式:指令格式:INCW OUT; DECW OUTv(3)雙字增和雙字減指令:)雙字增和雙字減指令:INCD,DECD v使能輸入有效時(shí),把一雙字長的有符號輸入數(shù)使能輸入有效時(shí),把一雙字長的有符號輸入數(shù)IN加加1或減或減1,得到一個(gè)雙字長的有符號輸出結(jié)果,得到一個(gè)雙字長的有符號輸出結(jié)果OUT。 v指令格式:指令格式:INCD OUT;
31、DECD OUT 四、邏輯操作指令四、邏輯操作指令v邏輯運(yùn)算是對無符號數(shù)進(jìn)行的邏輯處理,主要邏輯運(yùn)算是對無符號數(shù)進(jìn)行的邏輯處理,主要包括邏輯與、邏輯或、邏輯異或和取反等運(yùn)算包括邏輯與、邏輯或、邏輯異或和取反等運(yùn)算指令。按操作數(shù)長度可分為字節(jié)、字和雙字邏指令。按操作數(shù)長度可分為字節(jié)、字和雙字邏輯運(yùn)算。輯運(yùn)算。vIN1、IN2、OUT操作數(shù)的數(shù)據(jù)類型分別為:操作數(shù)的數(shù)據(jù)類型分別為: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é)長的邏輯輸出結(jié)果的邏輯數(shù)按位求與,得到一個(gè)字節(jié)長的邏輯輸出結(jié)果OUT。ANDW,字邏輯與指令。使能輸入有效時(shí),把兩個(gè)字的邏,字邏輯與指令。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù)按位求與,得到一個(gè)字長的邏輯輸出結(jié)果輯數(shù)按位求與,得到一個(gè)字長的邏輯輸出結(jié)果OUT。ANDD,雙字邏輯與指令。使能輸入有效時(shí),把兩個(gè)雙字,雙字邏輯與指令。使能輸入有效時(shí),把兩個(gè)雙字的邏輯數(shù)按位求與,得到一個(gè)雙字長的邏輯輸出結(jié)果的邏輯數(shù)按位求與,得到一個(gè)雙字長的邏輯輸出
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é)長的邏輯輸出結(jié)果輯數(shù)按位求或,得到一個(gè)字節(jié)長的邏輯輸出結(jié)果OUTOUT。ORWORW,字邏輯或指令。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù),字邏輯或指令。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù)按位求或,得到一個(gè)字長的邏輯輸出結(jié)果按位求或,得到一個(gè)字長的邏輯輸出結(jié)果OUTOUT。ORDORD,雙字邏輯或指令。使能輸入有效時(shí),
34、把兩個(gè)雙字的邏,雙字邏輯或指令。使能輸入有效時(shí),把兩個(gè)雙字的邏輯數(shù)按位求或,得到一個(gè)雙字長的邏輯輸出結(jié)果輯數(shù)按位求或,得到一個(gè)雙字長的邏輯輸出結(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é)長的邏輯輸出結(jié)果邏輯數(shù)按位求異或,得到一個(gè)字節(jié)長的邏輯輸出結(jié)果OUTOUT。XORWXORW,字邏輯異或指令。使能輸入有效時(shí),把兩個(gè)字的邏輯,字邏輯異或指令
35、。使能輸入有效時(shí),把兩個(gè)字的邏輯數(shù)按位求異或,得到一個(gè)字長的邏輯輸出結(jié)果數(shù)按位求異或,得到一個(gè)字長的邏輯輸出結(jié)果OUTOUT。XORDXORD,雙字邏輯異或指令。使能輸入有效時(shí),把兩個(gè)雙字的,雙字邏輯異或指令。使能輸入有效時(shí),把兩個(gè)雙字的邏輯數(shù)按位求異或,得到一個(gè)雙字長的邏輯輸出結(jié)果邏輯數(shù)按位求異或,得到一個(gè)雙字長的邏輯輸出結(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é)長的邏輯輸出結(jié)果的邏輯數(shù)按位求反,得到一個(gè)字節(jié)長的邏輯輸出結(jié)果OUT。INVW,字邏輯取反指令。使能輸入有效時(shí),把一個(gè)字的邏,字邏輯取反指令。使能輸入有效時(shí),把一個(gè)字的邏輯數(shù)按位求反,得到一個(gè)字長的邏輯輸出結(jié)果輯數(shù)按位求反,得到一個(gè)字長的邏輯輸出結(jié)果OUT。INVD,雙字邏輯取反指令。使能輸入有效時(shí),把一個(gè)雙字,雙字邏輯取反指令。使能輸入有效時(shí),把一個(gè)雙字的邏輯數(shù)按位求反,得到一個(gè)雙字長的邏輯輸出結(jié)果的邏輯數(shù)按位求反,得到一個(gè)雙字長的邏輯輸出結(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ù)處理類指令及應(yīng)用v轉(zhuǎn)換指令是指對操作數(shù)的類型進(jìn)行轉(zhuǎn)換,包括數(shù)據(jù)轉(zhuǎn)換指令是指對操作數(shù)的類型進(jìn)行轉(zhuǎn)換,包括數(shù)據(jù)的類型轉(zhuǎn)換、碼的類型轉(zhuǎn)換以及數(shù)據(jù)和碼之間的類的類型轉(zhuǎn)換、碼的類型轉(zhuǎn)換以及數(shù)據(jù)和碼之間的類型轉(zhuǎn)換。型轉(zhuǎn)換。v 數(shù)據(jù)類型主要包括字節(jié)、整數(shù)、雙整數(shù)、實(shí)數(shù),數(shù)據(jù)類型主要包括字節(jié)、整數(shù)、雙整數(shù)、實(shí)數(shù),不同性質(zhì)的指令對操作數(shù)的類型要求不同,類型轉(zhuǎn)不同性質(zhì)的指令對操作數(shù)的類型要求不同,類型轉(zhuǎn)換指令可將固定的一個(gè)數(shù)值用到不同類型要求的指換指令可將固定的一個(gè)數(shù)值用到不同類型要求的
39、指令,而不必對數(shù)據(jù)進(jìn)行針對類型的重新裝載。令,而不必對數(shù)據(jù)進(jìn)行針對類型的重新裝載。 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ù)類型,并將結(jié)果送到換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸出。字節(jié)型是無符號的,所以沒有符號擴(kuò)展。
41、字節(jié)型是無符號的,所以沒有符號擴(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ù)類型,并將結(jié)果送到轉(zhuǎn)換成整數(shù)類型,并將結(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é)類型,并將結(jié)果送到換成字節(jié)類型
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ù)類型,并將結(jié)果送到換成雙整數(shù)類型,并將結(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ù)類型(符號進(jìn)行擴(kuò)展),并將結(jié)換成雙整數(shù)類型(符號進(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開始開始的長度為的長度為LEN的的ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到OUT開始開始的字節(jié)進(jìn)行輸出。的字節(jié)進(jìn)行輸出。ASCII字符串的最大長度為字符串
45、的最大長度為255字符。字符。 HTA,十六進(jìn)制數(shù)到,十六進(jìn)制數(shù)到ASCII碼指令。使能輸入有效時(shí),將從輸入字碼指令。使能輸入有效時(shí),將從輸入字節(jié)節(jié)IN開始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從開始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從OUT開始的開始的ASCII字符。欲轉(zhuǎn)換字符。欲轉(zhuǎn)換的十六進(jìn)制數(shù)字位數(shù)由長度(的十六進(jìn)制數(shù)字位數(shù)由長度(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 LD I0.0 /使能輸入
46、端ATH VB100, VB200, 4 /使能輸入有/效時(shí),把VB100開始的4個(gè)ASCII碼轉(zhuǎn)/換成從VB200開始的十六進(jìn)制數(shù) v7. ASCII碼與十六進(jìn)制數(shù)之間的轉(zhuǎn)換指令 ATH,ASCII碼到十六進(jìn)制數(shù)指令。使能輸入有效時(shí),將從碼到十六進(jìn)制數(shù)指令。使能輸入有效時(shí),將從IN開始開始的長度為的長度為LEN的的ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到碼轉(zhuǎn)換為十六進(jìn)制數(shù),并將結(jié)果送到OUT開開始的字節(jié)進(jìn)行輸出。始的字節(jié)進(jìn)行輸出。ASCII字符串的最大長度為字符串的最大長度為255字符。字符。 HTA,十六進(jìn)制數(shù)到,十六進(jìn)制數(shù)到ASCII碼指令。使能輸入有效時(shí),將從輸入碼指令。使能輸入有效
47、時(shí),將從輸入字節(jié)字節(jié)IN開始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從開始的十六進(jìn)制數(shù)字轉(zhuǎn)換成從OUT開始的開始的ASCII字符。欲轉(zhuǎn)字符。欲轉(zhuǎn)換的十六進(jìn)制數(shù)字位數(shù)由長度(換的十六進(jìn)制數(shù)字位數(shù)由長度(LEN)指定。可轉(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)的有符號整數(shù)轉(zhuǎn)換成)的有符號整數(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)顯示為逗號或點(diǎn)號。號或點(diǎn)號。FMT占用一個(gè)字節(jié),高占用一個(gè)字節(jié),高4位必須為位必須為0,低,低4位用位用cnnn表示,表示,C位指定整數(shù)和小數(shù)之間的分隔符:位指定整數(shù)和小數(shù)之
49、間的分隔符:C1,用逗號分隔,用逗號分隔,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ù)值無小會(huì)使顯示的數(shù)值無小數(shù)點(diǎn)。對于大于數(shù)點(diǎn)。對于大于5的的nnn數(shù)值為非法格式,此時(shí)無輸出,用數(shù)值為非法格式,此時(shí)無輸出,用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é)無效。個(gè)字節(jié)無效。并規(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)的有符號雙)的有符號雙整數(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指定移位寄指定移位寄存器的長度。每次使能輸入有效存器的長度。每次使能輸入有效時(shí),整個(gè)移位寄存器移動(dòng)時(shí),整個(gè)移位寄存器移動(dòng)1位。位。 移位特點(diǎn):移位特點(diǎn):移位寄存器長度在指令中指定,沒有字節(jié)型、字型、雙字移位寄存器長度在指令中指定,沒有字節(jié)型、字型、雙字型之分??芍付ǖ?/p>
53、最大長度為型之分。可指定的最大長度為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í)長度正向移位時(shí)長度N為正值,移位是從最低字節(jié)的最低位為正值,移位是從最低字節(jié)的最低位S BIT移入,從最高字節(jié)的最高位移入,從最高字節(jié)的最高位MSB.b移出;反向移位時(shí),移出;反向移位時(shí),長度長度N為負(fù)值,移位
54、是從最高字節(jié)的最高位移入,從最低字為負(fù)值,移位是從最高字節(jié)的最高位移入,從最低字節(jié)的最低位節(jié)的最低位S BIT移出。移出。l最高位的計(jì)算方法:(最高位的計(jì)算方法:(N的絕對值的絕對值1+(S BIT的位號)的位號)/8,相除結(jié)果中,余數(shù)即是最高位的位號,商與相除結(jié)果中,余數(shù)即是最高位的位號,商與S BIT的字節(jié)號的字節(jié)號之和即是最高位的字節(jié)號。之和即是最高位的字節(jié)號。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說 明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í),將輸入字的最低有效位的位號寫入輸出字節(jié)的低四有效位的位號寫入輸出字節(jié)的低四位。位。指令格式:指令格式:ENCO IN, OUT v(2)譯碼指令:DECO 使能輸入有效時(shí),根據(jù)輸入字使能輸入有效時(shí),根據(jù)輸入字節(jié)的低四位所
57、表示的位號置輸節(jié)的低四位所表示的位號置輸出字的相應(yīng)位為出字的相應(yīng)位為1 1,其他清零。,其他清零。指令格式:指令格式:DECO IN, OUT v應(yīng)用實(shí)例應(yīng)用實(shí)例1v控制要求:食品加工廠對飲料生產(chǎn)線上的盒裝飲料進(jìn)行控制要求:食品加工廠對飲料生產(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ù)類型轉(zhuǎn)換。將模擬量
58、輸入端采樣值模擬量控制程序中的數(shù)據(jù)類型轉(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á)最右端后,再從左到右依次點(diǎn)亮。到達(dá)最右端后,再從左到右依次點(diǎn)亮。v實(shí)例實(shí)例4 臺車控制臺車控制v實(shí)例實(shí)例5 單按鈕控制五臺電機(jī)啟停單按鈕控制五臺電機(jī)啟停第六節(jié)第六節(jié) 程序控制類指令及應(yīng)用程序控制類指令及應(yīng)用v程序控制類指令用于程序執(zhí)行流程的控制。程序控制類指令用于程序執(zhí)行流程的控制。對程序的掃描執(zhí)行過程而言,跳轉(zhuǎn)指令可以對程序的掃描執(zhí)行過程而言,跳轉(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í)行指定的程序段;中斷指令則用于中斷信號引起的子程序調(diào)用。程序控制類指令可以號引起的子程序調(diào)用。程序控制類指令可以影響程序執(zhí)行的流向及內(nèi)容,對合理安排程影響程序執(zhí)行的流向及內(nèi)容,對合理安排程序的結(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)號指令跳轉(zhuǎn)及標(biāo)號指令v跳轉(zhuǎn)指令使程序流程跳轉(zhuǎn)到指定標(biāo)號跳轉(zhuǎn)指令使程序流程跳轉(zhuǎn)到指定標(biāo)號N處的處的程序分支執(zhí)行。標(biāo)號指令標(biāo)記跳轉(zhuǎn)目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技公司產(chǎn)品發(fā)布會(huì)流程
- 隧道超挖對環(huán)境的影響及應(yīng)對措施
- 在線教育教師的角色轉(zhuǎn)型與使命擔(dān)當(dāng)范文
- 心理咨詢師與焦慮癥案例研究
- 環(huán)境保護(hù)與法治教育心得體會(huì)
- 餐飲業(yè)食品安全管理流程
- 2025年職校秋季實(shí)習(xí)安排計(jì)劃
- 建筑行業(yè)高空作業(yè)安全管理措施
- 高一上學(xué)期英語教學(xué)計(jì)劃與評估策略
- 機(jī)電一體化專業(yè)實(shí)習(xí)挑戰(zhàn)與收獲
- 2024-2025學(xué)年佛山市南海區(qū)六上數(shù)學(xué)期末達(dá)標(biāo)檢測試題含解析
- 山西省2024年中考地理試卷(附解析)
- 《文化學(xué)概論》第三章-文化的起源及其發(fā)展-38
- (必會(huì))物業(yè)管理師(三級)考前沖刺知識點(diǎn)精練300題(含答案)
- JBT 14714-2024 鋰離子電池X射線檢測設(shè)備(正式版)
- 2024年江蘇省無錫九年級中考數(shù)學(xué)選填壓軸預(yù)測強(qiáng)化訓(xùn)練
- 王薔《英語教學(xué)法》總復(fù)習(xí)練習(xí)(附答案)
- 廣東省深圳市2024年七年級下冊地理期中試卷附答案
- 艾滋病保密制度
- 兩位數(shù)乘一位數(shù)計(jì)算質(zhì)量作業(yè)口算題
- 認(rèn)知行為療法講解
評論
0/150
提交評論