版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基本指令基本指令 知識(shí)知識(shí)4.1位操作類指令位操作類指令 4.2運(yùn)算指令運(yùn)算指令 4.3其他數(shù)據(jù)處理指令其他數(shù)據(jù)處理指令 4.4表功能指令表功能指令 4.5轉(zhuǎn)換指令轉(zhuǎn)換指令本章學(xué)習(xí)目的本章學(xué)習(xí)目的l l 位操作類指令,主要是位操作及運(yùn)算指令,位操作類指令,主要是位操作及運(yùn)算指令,與時(shí)也包含與位操作密切相關(guān)的定時(shí)器和計(jì)數(shù)與時(shí)也包含與位操作密切相關(guān)的定時(shí)器和計(jì)數(shù)器指令等。器指令等。l l 運(yùn)算指令,包括常用的算術(shù)運(yùn)算和邏輯運(yùn)算運(yùn)算指令,包括常用的算術(shù)運(yùn)算和邏輯運(yùn)算指令。指令。l l 其他數(shù)據(jù)處理類,包括數(shù)據(jù)的傳送、移位、其他數(shù)據(jù)處理類,包括數(shù)據(jù)的傳送、移位、填充和交換等指令。填充和交換等指令。l
2、l 表功能指令,包括對(duì)表的存取和查找指令。表功能指令,包括對(duì)表的存取和查找指令。l l 轉(zhuǎn)換指令,包括數(shù)據(jù)類型轉(zhuǎn)換、碼轉(zhuǎn)換和字轉(zhuǎn)換指令,包括數(shù)據(jù)類型轉(zhuǎn)換、碼轉(zhuǎn)換和字符轉(zhuǎn)換指令。符轉(zhuǎn)換指令。返回本章首頁(yè)返回本章首頁(yè)4.1位操作類指令位操作類指令 4.1.1指令使用概述指令使用概述 4.1.2基本邏輯指令基本邏輯指令 4.1.3復(fù)雜邏輯指令復(fù)雜邏輯指令 4.1.4定時(shí)器指令定時(shí)器指令 4.1.5計(jì)數(shù)器指令計(jì)數(shù)器指令 4.1.6比較比較 返回本章首頁(yè)返回本章首頁(yè)4.1.1指令使用概述指令使用概述 1. 主機(jī)的有效主機(jī)的有效編程范圍編程范圍存儲(chǔ)器的存儲(chǔ)存儲(chǔ)器的存儲(chǔ)容量及各編程容量及各編程元件的有效編元
3、件的有效編程范圍如右表程范圍如右表4.1所示。所示。許多指令中含有操作數(shù),操作數(shù)的有許多指令中含有操作數(shù),操作數(shù)的有效編址范圍如表效編址范圍如表4.2所示。所示。(1)指令例)指令例整數(shù)加法整數(shù)加法+I,整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)單字長(zhǎng)(,整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)單字長(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+IN2=OUT在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:IN1+OUT=OU
4、TIN1和和IN2的尋址范圍:的尋址范圍:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常數(shù)。和常數(shù)。OUT的尋址范圍:的尋址范圍:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*AC和和*LD。本指令影響的特殊存儲(chǔ)本指令影響的特殊存儲(chǔ)器位:器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負(fù))(負(fù))使能流輸出使能流輸出ENO斷開斷開的出錯(cuò)條件:的出錯(cuò)條件:SM1.1(溢出);(溢出);SM4.3(運(yùn)(運(yùn)行時(shí)間);行時(shí)間);0006(間接(間接尋址)尋址)指令格式:指令格式:+IIN1, OUT例:例: +
5、IVW0, VW4本指令在梯形圖和語句表中的編程如圖本指令在梯形圖和語句表中的編程如圖4.1所示。所示。圖圖4.1整數(shù)加法整數(shù)加法LDI0.0/使能輸入端+IVW0, VW4/整數(shù)加法/VW0+VW4=VW43. 梯形圖的基本繪制規(guī)則梯形圖的基本繪制規(guī)則 (1)Network (2)能流)能流/使能使能 (3)編程順序)編程順序 (4)編號(hào)分配)編號(hào)分配 (5)內(nèi)、外觸點(diǎn)的配合)內(nèi)、外觸點(diǎn)的配合 (6)觸點(diǎn)的使用次數(shù))觸點(diǎn)的使用次數(shù) (7)線圈的使用次數(shù))線圈的使用次數(shù) (8)線圈的連接)線圈的連接 返回本節(jié)返回本節(jié)4.1.2基本邏輯指令基本邏輯指令 基本邏輯指令在語句表語言中是指對(duì)位存儲(chǔ)單元
6、基本邏輯指令在語句表語言中是指對(duì)位存儲(chǔ)單元的簡(jiǎn)單邏輯運(yùn)算,在梯形圖中是指對(duì)觸點(diǎn)的簡(jiǎn)單的簡(jiǎn)單邏輯運(yùn)算,在梯形圖中是指對(duì)觸點(diǎn)的簡(jiǎn)單連接和對(duì)標(biāo)準(zhǔn)線圈的輸出。連接和對(duì)標(biāo)準(zhǔn)線圈的輸出。一般來說,語句表語言更適合于熟悉可編程序控一般來說,語句表語言更適合于熟悉可編程序控制器和邏輯編程方面有經(jīng)驗(yàn)的編程人員。用這種制器和邏輯編程方面有經(jīng)驗(yàn)的編程人員。用這種語言可以編寫出用梯形圖或功能框圖無法實(shí)現(xiàn)的語言可以編寫出用梯形圖或功能框圖無法實(shí)現(xiàn)的程序。選擇語句表時(shí)進(jìn)行位運(yùn)算要考慮主機(jī)的內(nèi)程序。選擇語句表時(shí)進(jìn)行位運(yùn)算要考慮主機(jī)的內(nèi)部存儲(chǔ)結(jié)構(gòu)。部存儲(chǔ)結(jié)構(gòu)??删幊绦蚩刂破髦械目删幊绦蚩刂破髦械亩褩Ec計(jì)算機(jī)中的堆堆棧與計(jì)算機(jī)
7、中的堆棧結(jié)構(gòu)相同,堆棧是棧結(jié)構(gòu)相同,堆棧是一組能夠存儲(chǔ)和取出一組能夠存儲(chǔ)和取出數(shù)據(jù)的暫時(shí)存儲(chǔ)單元。數(shù)據(jù)的暫時(shí)存儲(chǔ)單元。堆 棧 的 存 取 特 點(diǎn) 是堆 棧 的 存 取 特 點(diǎn) 是“后進(jìn)先出后進(jìn)先出”,S7-200可編程序控制器的可編程序控制器的主機(jī)邏輯堆棧結(jié)構(gòu)如主機(jī)邏輯堆棧結(jié)構(gòu)如表表4.3所示。所示。1. 標(biāo)準(zhǔn)觸點(diǎn)指令標(biāo)準(zhǔn)觸點(diǎn)指令(1)LD:裝入常開觸點(diǎn)(:裝入常開觸點(diǎn)(LoaD)(2)LDN:裝入常閉觸點(diǎn)(:裝入常閉觸點(diǎn)(LoaD Not) (3)A:與常開觸點(diǎn)(:與常開觸點(diǎn)(And) (4)AN:與常閉觸點(diǎn)(:與常閉觸點(diǎn)(And Not)。)。 (5)O:或常閉觸點(diǎn)(:或常閉觸點(diǎn)(Or)
8、(6)ON:或常閉觸點(diǎn)(:或常閉觸點(diǎn)(Or Not) (7)NOT:觸點(diǎn)取非(輸出反相):觸點(diǎn)取非(輸出反相) (8)= :輸出指令:輸出指令 在語句表中,在語句表中,LD、LDN、A、AN、O、ON、NOT這幾這幾條指令的執(zhí)行對(duì)邏輯堆棧的影響分別如表?xiàng)l指令的執(zhí)行對(duì)邏輯堆棧的影響分別如表4.4、表、表4.5其后其后的說明。的說明。表表4.5指令指令A(yù)I0.2的執(zhí)行的執(zhí)行程序?qū)嵗撼绦驅(qū)嵗罕境绦蚨斡靡员境绦蚨斡靡越榻B標(biāo)準(zhǔn)觸點(diǎn)介紹標(biāo)準(zhǔn)觸點(diǎn)指令在梯形圖、指令在梯形圖、語句表和功能語句表和功能塊圖塊圖3種語言編種語言編程中的應(yīng)用,程中的應(yīng)用,仔細(xì)比較不同仔細(xì)比較不同編程工具的區(qū)編程工具的區(qū)別與聯(lián)系。
9、別與聯(lián)系。其梯形圖和語其梯形圖和語句表程序結(jié)構(gòu)句表程序結(jié)構(gòu)如圖如圖4.2所示。所示。 LD I0.0 /裝入常開觸點(diǎn) O I0.1 /或常開觸點(diǎn) A I0.2 /與常開觸點(diǎn) = Q0.0 /輸出觸點(diǎn) /如果本梯級(jí)中將 I0.1 的觸點(diǎn)改 /為 Q0.0 的常開觸點(diǎn),則成為電 /機(jī)起動(dòng)停止控制環(huán)節(jié)的梯形圖。 LDN I0.0 /裝入常閉觸點(diǎn) ON I0.1 /或常閉觸點(diǎn) AN I0.2 /與常閉觸點(diǎn) = Q0.1 / LD I0.0 / O I0.1 / A I0.2 / NOT /取非,即輸出反相 = Q0.3 / 圖圖4.2標(biāo)準(zhǔn)觸點(diǎn)標(biāo)準(zhǔn)觸點(diǎn)LAD和和STL例例本程序?qū)?yīng)的本程序?qū)?yīng)的功能框圖
10、如圖功能框圖如圖4.3所示。在功所示。在功能框圖中,常能框圖中,常閉觸點(diǎn)的裝入閉觸點(diǎn)的裝入和串并聯(lián)用指和串并聯(lián)用指令盒的對(duì)應(yīng)輸令盒的對(duì)應(yīng)輸入信號(hào)端加圓入信號(hào)端加圓圈來表示。圈來表示。程序執(zhí)行的時(shí)程序執(zhí)行的時(shí)序圖如圖序圖如圖4.4所所示。示。 LD I0.0 / O I0.1 / A I0.2 / = Q0.0 / / / LDN I0.0 / ON I0.1 / AN I0.2 / = Q0.1 / / / LD I0.0 / O I0.1 / A I0.2 / NOT / = Q0.3 / 圖圖4.3標(biāo)準(zhǔn)觸點(diǎn)標(biāo)準(zhǔn)觸點(diǎn)FBD例例2. 正負(fù)跳變指令正負(fù)跳變指令 圖圖4. 4時(shí)序圖時(shí)序圖I0.0Q
11、0.2Q0.0I0.2I0.1負(fù)跳變觸點(diǎn)檢測(cè)到脈沖的每一次負(fù)跳變后,負(fù)跳變觸點(diǎn)檢測(cè)到脈沖的每一次負(fù)跳變后,產(chǎn)生一個(gè)微分脈沖。產(chǎn)生一個(gè)微分脈沖。指令格式:指令格式:ED (無操作數(shù))(無操作數(shù))應(yīng)用舉例:圖應(yīng)用舉例:圖4.5是跳變指令的程序片斷。是跳變指令的程序片斷。圖圖4.6是圖是圖4.5指令執(zhí)行的時(shí)序。指令執(zhí)行的時(shí)序。 LD I0.0 /輸入常開觸點(diǎn) EU /脈沖正跳變 = Q0.0 /輸出觸點(diǎn) LD I0.0 / ED /脈沖負(fù)跳變 = Q0.1 / 圖圖4.5跳變應(yīng)用跳變應(yīng)用圖圖4.6時(shí)序時(shí)序I0.0Q0.1Q0.0(1)S,置位指令,置位指令 (2)R,復(fù)位指令,復(fù)位指令 置位即置置位
12、即置1,復(fù)位即置,復(fù)位即置0。置位和復(fù)位指令可以將位存儲(chǔ)區(qū)。置位和復(fù)位指令可以將位存儲(chǔ)區(qū)的某一位開始的一個(gè)或多個(gè)(最多可達(dá)的某一位開始的一個(gè)或多個(gè)(最多可達(dá)255個(gè))同類存儲(chǔ)器個(gè))同類存儲(chǔ)器位置位置1或置或置0。這兩條指令在使用時(shí)需指明三點(diǎn):操作性質(zhì)、。這兩條指令在使用時(shí)需指明三點(diǎn):操作性質(zhì)、開始位和位的數(shù)量。各操作數(shù)類型及范圍如表開始位和位的數(shù)量。各操作數(shù)類型及范圍如表4.6所示。所示。3. 置位和復(fù)位指令置位和復(fù)位指令(1)S,置位指令,置位指令 將位存儲(chǔ)區(qū)的指定位(位將位存儲(chǔ)區(qū)的指定位(位bit)開始的)開始的N個(gè)同類存?zhèn)€同類存儲(chǔ)器位置位。儲(chǔ)器位置位。用法:用法:Sbit,N例:例: S
13、Q0.0, 1(2)R,復(fù)位指令,復(fù)位指令 將位存儲(chǔ)區(qū)的指定位(位將位存儲(chǔ)區(qū)的指定位(位bit)開始的)開始的N個(gè)同類存?zhèn)€同類存儲(chǔ)器位復(fù)位。當(dāng)用復(fù)位指令時(shí),如果是對(duì)定時(shí)器儲(chǔ)器位復(fù)位。當(dāng)用復(fù)位指令時(shí),如果是對(duì)定時(shí)器T位或計(jì)數(shù)器位或計(jì)數(shù)器C位進(jìn)行復(fù)位,則定時(shí)器位或計(jì)數(shù)位進(jìn)行復(fù)位,則定時(shí)器位或計(jì)數(shù)器位被復(fù)位,同時(shí),定時(shí)器或計(jì)數(shù)器的當(dāng)前值被器位被復(fù)位,同時(shí),定時(shí)器或計(jì)數(shù)器的當(dāng)前值被清零。清零。用法:用法:Rbit,N例:例: RQ0.2, 3應(yīng)用舉例:圖應(yīng)用舉例:圖4.7為置位和復(fù)位指令應(yīng)用程序片斷。為置位和復(fù)位指令應(yīng)用程序片斷。 LD I0.0 /裝入常開觸點(diǎn) A I0.1 /與常開觸點(diǎn) = Q1.
14、0 /輸出觸點(diǎn) LD I0.0 / A I0.1 / S Q0.0, 1 /將 Q0.0開始的/1個(gè)觸點(diǎn)置 1 R Q0.2, 3 /將 Q0.2開始的/3個(gè)觸點(diǎn)置 0 圖圖4.7置位復(fù)位置位復(fù)位本程序?qū)?yīng)的時(shí)序圖如圖本程序?qū)?yīng)的時(shí)序圖如圖4.8所示。所示。圖圖4.8時(shí)序圖時(shí)序圖I0.0Q0.2-Q0.4Q0.0Q1.0I0.14. 立即指令立即指令 (1)立即觸點(diǎn)指令)立即觸點(diǎn)指令 (2)=I,立即輸出指令,立即輸出指令 (3)SI,立即置位指令,立即置位指令 (4)RI,立即復(fù)位指令,立即復(fù)位指令 (1)立即觸點(diǎn)指令)立即觸點(diǎn)指令在每個(gè)標(biāo)準(zhǔn)觸點(diǎn)指令的后面加在每個(gè)標(biāo)準(zhǔn)觸點(diǎn)指令的后面加“I”。
15、指令執(zhí)行時(shí),。指令執(zhí)行時(shí),立即讀取物理輸入點(diǎn)的值,但是不刷新對(duì)應(yīng)映像立即讀取物理輸入點(diǎn)的值,但是不刷新對(duì)應(yīng)映像寄存器的值。寄存器的值。這類指令包括:這類指令包括:LDI、LDNI、AI、ANI、OI和和ONI。下面以。下面以LDI指令為例。指令為例。用法:用法:LDI bit例:例: LDI I0.2注意:注意:bit只能是只能是I類型。類型。(2)=I,立即輸出指令,立即輸出指令用立即指令訪問輸出點(diǎn)時(shí),把棧頂值立即復(fù)制到用立即指令訪問輸出點(diǎn)時(shí),把棧頂值立即復(fù)制到指令所指出的物理輸出點(diǎn),同時(shí),相應(yīng)的輸出映指令所指出的物理輸出點(diǎn),同時(shí),相應(yīng)的輸出映像寄存器的內(nèi)容也被刷新。像寄存器的內(nèi)容也被刷新。
16、用法:用法:=Ibit例:例: =IQ0.2注意:注意:bit只能是只能是Q類型。類型。(3)SI,立即置位指令,立即置位指令用立即置位指令訪問輸出點(diǎn)時(shí),從指令所指出的位(用立即置位指令訪問輸出點(diǎn)時(shí),從指令所指出的位(bit)開始的開始的N個(gè)(最多為個(gè)(最多為128個(gè))物理輸出點(diǎn)被立即置位,同個(gè))物理輸出點(diǎn)被立即置位,同時(shí),相應(yīng)的輸出映像寄存器的內(nèi)容也被刷新。時(shí),相應(yīng)的輸出映像寄存器的內(nèi)容也被刷新。用法:用法:SIbit,N例:例:SIQ0.0, 2注意:注意:bit只能是只能是Q類型。類型。SI和和RI指令的操作數(shù)類型及范指令的操作數(shù)類型及范圍如表圍如表4.7所示。所示。(4)RI,立即復(fù)位
17、指令,立即復(fù)位指令用立即復(fù)位指令訪問輸出點(diǎn)時(shí),從指令所指出的用立即復(fù)位指令訪問輸出點(diǎn)時(shí),從指令所指出的位(位(bit)開始的)開始的N個(gè)(最多為個(gè)(最多為128個(gè))物理輸出點(diǎn)個(gè))物理輸出點(diǎn)被立即復(fù)位,同時(shí),相應(yīng)的輸出映像寄存器的內(nèi)被立即復(fù)位,同時(shí),相應(yīng)的輸出映像寄存器的內(nèi)容也被刷新。容也被刷新。用法:用法:RIbit,N例:例: RIQ0.0, 1應(yīng)用舉例:應(yīng)用舉例:圖圖4.9為立即指令應(yīng)用中的一段程序,圖為立即指令應(yīng)用中的一段程序,圖4.10是程是程序?qū)?yīng)的時(shí)序圖。序?qū)?yīng)的時(shí)序圖。 LD I0.0 /裝 入 常 開 觸 點(diǎn) = Q 0.0 /輸 出 觸 點(diǎn) , 非 立 即 =I Q 0.1
18、/立 即 輸 出 觸 點(diǎn) SI Q 0.2, 1 /從 Q 0.2 開 始 的 1 個(gè) /觸 點(diǎn) 被 立 即 置 1 LD I I0.0 /立 即 輸 入 觸 點(diǎn) 指 令 = Q 0.3 / 圖圖4.9立即指令程序立即指令程序圖圖4.10時(shí)序圖時(shí)序圖返回本節(jié)返回本節(jié)掃描周期 n掃描周期 n+1掃描周期 n+3掃描周期 n+2輸出刷新輸出刷新輸出刷新輸出刷新輸出刷新輸入掃描輸入掃描輸入掃描輸入掃描輸入掃描Q0.1I0.0Q0.0Q0.3Q0.24.1.3復(fù)雜邏輯指令復(fù)雜邏輯指令 1. 棧裝載與指令棧裝載與指令 2. 棧裝載或指令棧裝載或指令 3. 邏輯推入棧指令邏輯推入棧指令 4. 邏輯彈出棧指
19、令邏輯彈出棧指令 5. 邏輯讀棧指令邏輯讀棧指令 6. 裝入堆棧指令裝入堆棧指令 1. 棧裝載與指令棧裝載與指令 ALD,棧裝載與指令(與塊)。在梯形圖中用于將并聯(lián),棧裝載與指令(與塊)。在梯形圖中用于將并聯(lián)電路塊進(jìn)行串聯(lián)連接。電路塊進(jìn)行串聯(lián)連接。在語句表中指令在語句表中指令A(yù)LD執(zhí)行情況如表執(zhí)行情況如表4.8所示。所示。OLD,棧裝載或指令(或塊)。在梯形圖中用于,棧裝載或指令(或塊)。在梯形圖中用于將串聯(lián)電路塊進(jìn)行并聯(lián)連接。將串聯(lián)電路塊進(jìn)行并聯(lián)連接。在語句表中指令在語句表中指令OLD執(zhí)行情況如表執(zhí)行情況如表4.9所示。所示。2. 棧裝載或指令棧裝載或指令 LPS,邏輯推入棧指令(分支或主控
20、指令)。在梯形圖中,邏輯推入棧指令(分支或主控指令)。在梯形圖中的分支結(jié)構(gòu)中,用于生成一條新的母線,左側(cè)為主控邏的分支結(jié)構(gòu)中,用于生成一條新的母線,左側(cè)為主控邏輯塊時(shí),第一個(gè)完整的從邏輯行從此處開始。輯塊時(shí),第一個(gè)完整的從邏輯行從此處開始。注意:注意:使用使用LPS指令時(shí),本指令為分支的開始,以后必須指令時(shí),本指令為分支的開始,以后必須有分支結(jié)束指令有分支結(jié)束指令LPP。即。即LPS與與LPP指令必須成對(duì)出現(xiàn)。指令必須成對(duì)出現(xiàn)。在語句表中指令在語句表中指令LPS執(zhí)行情況如下表執(zhí)行情況如下表4.10所示。所示。3. 邏輯推入棧指令邏輯推入棧指令 4. 邏輯彈出棧指令邏輯彈出棧指令 LPP,邏輯彈
21、出棧指令(分支結(jié)束或主控復(fù)位指令)。在梯形圖中的,邏輯彈出棧指令(分支結(jié)束或主控復(fù)位指令)。在梯形圖中的分支結(jié)構(gòu)中,用于將分支結(jié)構(gòu)中,用于將LPS指令生成一條新的母線進(jìn)行恢復(fù)。指令生成一條新的母線進(jìn)行恢復(fù)。注意:注意:使用使用LPP指令時(shí),必須出現(xiàn)在指令時(shí),必須出現(xiàn)在LPS的后面,與的后面,與LPS成對(duì)出現(xiàn)。成對(duì)出現(xiàn)。在語句表中指令在語句表中指令LPP執(zhí)行情況如下表執(zhí)行情況如下表4.11所示。所示。5. 邏輯讀棧指令邏輯讀棧指令 LRD,邏輯讀棧指令。在梯形圖中的分支結(jié)構(gòu)中,當(dāng)左,邏輯讀棧指令。在梯形圖中的分支結(jié)構(gòu)中,當(dāng)左側(cè)為主控邏輯塊時(shí),開始第二個(gè)和后邊更多的從邏輯塊。側(cè)為主控邏輯塊時(shí),開始
22、第二個(gè)和后邊更多的從邏輯塊。在語句表中指令在語句表中指令LRD 執(zhí)行情況如表執(zhí)行情況如表4.12所示。所示。6. 裝入堆棧指令裝入堆棧指令 LDS,裝入堆棧指令。本指令編程時(shí)較少使用。,裝入堆棧指令。本指令編程時(shí)較少使用。指令格式:指令格式:LDSn (n為為08的整數(shù))的整數(shù))例:例:LDS4指令指令LDS4 在語句表中執(zhí)行情況如下表在語句表中執(zhí)行情況如下表4.13所示。所示。應(yīng)用舉例:應(yīng)用舉例:圖圖4.11是復(fù)雜邏輯指令在實(shí)際應(yīng)用中的一段程序的梯形圖。是復(fù)雜邏輯指令在實(shí)際應(yīng)用中的一段程序的梯形圖。 LD I0.0 /裝入常開觸點(diǎn) O I2.2 /或常開觸點(diǎn) LD I0.1 /被串的塊開始
23、LD I2.0 /被并路開始 A I2.1 / OLD /棧裝載或,并路結(jié)束 ALD /棧裝載與,串路結(jié)束 LD I0.0 / LPS /邏輯推入棧,主控 A I0.5 / = Q7.0 / LRD /邏輯讀棧,新母線 LD I2.1 / O I1.3 / ALD /棧裝載與 = Q6.0 / LPP /邏輯彈出棧,母線復(fù)原 LD I3.1 / O I2.0 / ALD / = Q1.3 / 圖圖4.11復(fù)雜邏輯復(fù)雜邏輯指令的應(yīng)用指令的應(yīng)用返回本節(jié)返回本節(jié)4.1.4定時(shí)器指令定時(shí)器指令 系統(tǒng)提供系統(tǒng)提供3種定時(shí)指令:種定時(shí)指令:TON、TONR和和TOF。精度等級(jí):精度等級(jí):S7-200定時(shí)器
24、的精度(時(shí)間增量定時(shí)器的精度(時(shí)間增量/時(shí)間單位時(shí)間單位/分辨率)有分辨率)有3 個(gè)等級(jí):個(gè)等級(jí):1ms、10ms和和100ms,精度等級(jí)和定時(shí)器號(hào)關(guān)系,精度等級(jí)和定時(shí)器號(hào)關(guān)系如表如表4.14所示。所示。指令操作數(shù)指令操作數(shù) 1)編號(hào):)編號(hào): 2)預(yù)設(shè)值)預(yù)設(shè)值PT: 3)使能輸入(只對(duì))使能輸入(只對(duì)LAD和和FBD):): 1. 接通延時(shí)定時(shí)器接通延時(shí)定時(shí)器 TON,接通延時(shí)定時(shí)器指令。用于單一,接通延時(shí)定時(shí)器指令。用于單一間隔的定時(shí)。上電周期或首次掃描,定間隔的定時(shí)。上電周期或首次掃描,定時(shí)器位時(shí)器位OFF,當(dāng)前值為,當(dāng)前值為0。使能輸入接。使能輸入接通時(shí),定時(shí)器位為通時(shí),定時(shí)器位為O
25、FF,當(dāng)前值從,當(dāng)前值從0開開始計(jì)數(shù)時(shí)間,當(dāng)前值達(dá)到預(yù)設(shè)值時(shí),定始計(jì)數(shù)時(shí)間,當(dāng)前值達(dá)到預(yù)設(shè)值時(shí),定時(shí)器位時(shí)器位ON,當(dāng)前值連續(xù)計(jì)數(shù)到,當(dāng)前值連續(xù)計(jì)數(shù)到32767。使能輸入斷開,定時(shí)器自動(dòng)復(fù)位,即定使能輸入斷開,定時(shí)器自動(dòng)復(fù)位,即定時(shí)器位時(shí)器位OFF,當(dāng)前值為,當(dāng)前值為0。指令格式:指令格式:TONTxxx,PT例:例:TONT120,82. 有記憶接通延時(shí)定時(shí)器有記憶接通延時(shí)定時(shí)器 TONR,有記憶接通延時(shí)定時(shí)器指令。用于,有記憶接通延時(shí)定時(shí)器指令。用于對(duì)許多間隔的累計(jì)定時(shí)。上電周期或首次掃對(duì)許多間隔的累計(jì)定時(shí)。上電周期或首次掃描,定時(shí)器位描,定時(shí)器位OFF,當(dāng)前值保持。使能輸入,當(dāng)前值保持。
26、使能輸入接通時(shí),定時(shí)器位為接通時(shí),定時(shí)器位為OFF,當(dāng)前值從,當(dāng)前值從0開始開始計(jì)數(shù)時(shí)間。使能輸入斷開,定時(shí)器位和當(dāng)前計(jì)數(shù)時(shí)間。使能輸入斷開,定時(shí)器位和當(dāng)前值保持最后狀態(tài)。使能輸入再次接通時(shí),當(dāng)值保持最后狀態(tài)。使能輸入再次接通時(shí),當(dāng)前值從上次的保持值繼續(xù)計(jì)數(shù),當(dāng)累計(jì)當(dāng)前前值從上次的保持值繼續(xù)計(jì)數(shù),當(dāng)累計(jì)當(dāng)前值達(dá)到預(yù)設(shè)值時(shí),定時(shí)器位值達(dá)到預(yù)設(shè)值時(shí),定時(shí)器位ON,當(dāng)前值連,當(dāng)前值連續(xù)計(jì)數(shù)到續(xù)計(jì)數(shù)到32767。TONR定時(shí)器只能用復(fù)位指令進(jìn)行復(fù)位操作。定時(shí)器只能用復(fù)位指令進(jìn)行復(fù)位操作。指令格式:指令格式:TONRTxxx,PT例:例: TONRT20,633. 斷開延時(shí)定時(shí)器斷開延時(shí)定時(shí)器TOF,斷
27、開延時(shí)定時(shí)器指令。用于斷開,斷開延時(shí)定時(shí)器指令。用于斷開后的單一間隔定時(shí)。上電周期或首次掃后的單一間隔定時(shí)。上電周期或首次掃描,定時(shí)器位描,定時(shí)器位OFF,當(dāng)前值為,當(dāng)前值為0。使能輸。使能輸入接通時(shí),定時(shí)器位為入接通時(shí),定時(shí)器位為ON,當(dāng)前值為,當(dāng)前值為0。當(dāng)使能輸入由接通到斷開時(shí),定時(shí)器開當(dāng)使能輸入由接通到斷開時(shí),定時(shí)器開始計(jì)數(shù),當(dāng)前值達(dá)到預(yù)設(shè)值時(shí),定時(shí)器始計(jì)數(shù),當(dāng)前值達(dá)到預(yù)設(shè)值時(shí),定時(shí)器位位OFF,當(dāng)前值等于預(yù)設(shè)值,停止計(jì)數(shù)。,當(dāng)前值等于預(yù)設(shè)值,停止計(jì)數(shù)。TOF復(fù)位后,如果使能輸入再有從復(fù)位后,如果使能輸入再有從ON到到OFF的負(fù)跳變,則可實(shí)現(xiàn)再次啟動(dòng)。的負(fù)跳變,則可實(shí)現(xiàn)再次啟動(dòng)。指令格
28、式:指令格式:TOFTxxx,PT例:例: TOFT35,64. 應(yīng)用舉例應(yīng)用舉例例例1:圖:圖4.12是介紹是介紹3種定時(shí)器的工作特性的種定時(shí)器的工作特性的程序片斷,其中程序片斷,其中T35為通電延時(shí)定時(shí)器,為通電延時(shí)定時(shí)器,T2為有記憶通電延時(shí)定時(shí)器,為有記憶通電延時(shí)定時(shí)器,T36為斷電延時(shí)為斷電延時(shí)定時(shí)器。定時(shí)器。 LD I0.0 /使能輸入 TON T35, +4 /通電延時(shí)定時(shí) /延時(shí)時(shí)間為 /40ms LD I0.0 / TONR T2, +10 /有記憶通電 /延時(shí)時(shí)間累計(jì) /為 1000ms LD I0.0 / TOF T36, +3 /斷電延時(shí)定時(shí) /延時(shí)時(shí)間為 /30ms
29、圖圖4.12定時(shí)器特性定時(shí)器特性本梯形圖程序中輸入輸出執(zhí)行時(shí)序關(guān)系如圖本梯形圖程序中輸入輸出執(zhí)行時(shí)序關(guān)系如圖4.13所示。所示。圖圖4.13定時(shí)器時(shí)序定時(shí)器時(shí)序T36位4103I0.0T33當(dāng)前值T2當(dāng)前值T33位3T2位T36當(dāng)前值最大值最大值4例例2:用:用TON構(gòu)造各種類型的時(shí)間繼電器觸點(diǎn)。構(gòu)造各種類型的時(shí)間繼電器觸點(diǎn)。有的廠商的有的廠商的PLC只有只有TON定時(shí)器,因此,在這種情況下定時(shí)器,因此,在這種情況下可以利用可以利用TON來構(gòu)造斷電延時(shí)型的各種觸點(diǎn)。來構(gòu)造斷電延時(shí)型的各種觸點(diǎn)。圖圖4.14是用是用TON構(gòu)造構(gòu)造TOF作用的觸點(diǎn)。其時(shí)序圖與作用的觸點(diǎn)。其時(shí)序圖與TOF的的時(shí)序完全
30、相同。時(shí)序完全相同。圖圖4.15用通電延時(shí)定時(shí)器與輸出繼電器組成帶瞬動(dòng)觸點(diǎn)的用通電延時(shí)定時(shí)器與輸出繼電器組成帶瞬動(dòng)觸點(diǎn)的定時(shí)器。定時(shí)器。圖圖4.16是利用常開觸點(diǎn)實(shí)現(xiàn)通電和斷電都延時(shí)的觸點(diǎn)作用。是利用常開觸點(diǎn)實(shí)現(xiàn)通電和斷電都延時(shí)的觸點(diǎn)作用。本程序?qū)崿F(xiàn)的功能是:用輸入端本程序?qū)崿F(xiàn)的功能是:用輸入端I0.0控制輸出端控制輸出端Q0.0,當(dāng),當(dāng)I0.0接通后,過接通后,過3個(gè)時(shí)間單位個(gè)時(shí)間單位Q0.0端輸出接通,當(dāng)端輸出接通,當(dāng)I0.0斷開斷開后,過后,過6個(gè)時(shí)間單位個(gè)時(shí)間單位Q0.0斷開。斷開。LDI0.0/啟動(dòng) M0.0OM0.0/自保ANT33/斷開 M0.0=M0.0/瞬時(shí)閉合/延時(shí) 50m
31、s 斷開ANI0.0/連續(xù)輸出TON T33, +5/圖圖4.14定時(shí)器應(yīng)用定時(shí)器應(yīng)用LDI0.0/=Q0.0/定時(shí)器的瞬動(dòng)觸點(diǎn)TON T33, +50/通電延時(shí)定時(shí)器/時(shí)間為 500msLDT33/=Q0.1/延時(shí)動(dòng)作觸點(diǎn)圖圖4.14定時(shí)器應(yīng)用定時(shí)器應(yīng)用LDI0.0/=Q0.0/定時(shí)器的瞬動(dòng)觸點(diǎn)TON T33, +50/通電延時(shí)定時(shí)器/時(shí)間為 500msLDT33/=Q0.1/延時(shí)動(dòng)作觸點(diǎn)圖圖4.15定時(shí)器應(yīng)用定時(shí)器應(yīng)用LDI0.0/TON T33, +3/常開通電延時(shí)/用作通電延時(shí)定時(shí)LDQ0.0/斷電延時(shí)的基礎(chǔ)ANI0.0/斷電延時(shí)開始TON T34, +6/通電延時(shí)定時(shí)器/用作斷電延時(shí)
32、計(jì)時(shí)LDT33/OQ0.0/ANT34/=Q0.0/用作通、斷電延時(shí)圖圖4.16定時(shí)器應(yīng)用定時(shí)器應(yīng)用返回本節(jié)返回本節(jié)4.1.5計(jì)數(shù)器指令計(jì)數(shù)器指令 1. 概概 述述 2. 增計(jì)數(shù)器增計(jì)數(shù)器 3. 增減計(jì)數(shù)器增減計(jì)數(shù)器 4. 減計(jì)數(shù)器減計(jì)數(shù)器 5. 應(yīng)用舉例應(yīng)用舉例 1. 概述概述 計(jì)數(shù)器用來累計(jì)輸入脈沖的次數(shù)。計(jì)數(shù)器也是由計(jì)數(shù)器用來累計(jì)輸入脈沖的次數(shù)。計(jì)數(shù)器也是由集成電路構(gòu)成,是應(yīng)用非常廣泛的編程元件,經(jīng)集成電路構(gòu)成,是應(yīng)用非常廣泛的編程元件,經(jīng)常用來對(duì)產(chǎn)品進(jìn)行計(jì)數(shù)。常用來對(duì)產(chǎn)品進(jìn)行計(jì)數(shù)。 計(jì)數(shù)器指令有計(jì)數(shù)器指令有3種:增計(jì)數(shù)種:增計(jì)數(shù)CTU、增減計(jì)數(shù)、增減計(jì)數(shù)CTUD和減計(jì)數(shù)和減計(jì)數(shù)CTD。
33、指令操作數(shù)有指令操作數(shù)有4方面:編號(hào)、預(yù)設(shè)值、脈沖輸入方面:編號(hào)、預(yù)設(shè)值、脈沖輸入和復(fù)位輸入。和復(fù)位輸入。LDM0.0/起動(dòng)信號(hào)=Q0.1/起動(dòng)電機(jī) M1TON T40, +200/延時(shí) 2000ms/后起動(dòng)電機(jī) M2LDT40/=Q0.2/起動(dòng)電機(jī) M2TON T41, +300/延時(shí) 3000ms/后起動(dòng)電機(jī) M3LDT41/=Q0.3/起動(dòng)電機(jī) M3圖圖4.18電機(jī)順序起動(dòng)電機(jī)順序起動(dòng)2. 增計(jì)數(shù)器增計(jì)數(shù)器 CTU,增計(jì)數(shù)器指令。首次掃描,定時(shí)器位,增計(jì)數(shù)器指令。首次掃描,定時(shí)器位OFF,當(dāng)前值為當(dāng)前值為0。脈沖輸入的每個(gè)上升沿,計(jì)數(shù)器計(jì)。脈沖輸入的每個(gè)上升沿,計(jì)數(shù)器計(jì)數(shù)數(shù)1次,當(dāng)前值增
34、加次,當(dāng)前值增加1個(gè)單位,當(dāng)前值達(dá)到預(yù)設(shè)值個(gè)單位,當(dāng)前值達(dá)到預(yù)設(shè)值時(shí),計(jì)數(shù)器位時(shí),計(jì)數(shù)器位ON,當(dāng)前值繼續(xù)計(jì)數(shù)到,當(dāng)前值繼續(xù)計(jì)數(shù)到32767停止停止計(jì)數(shù)。復(fù)位輸入有效或執(zhí)行復(fù)位指令,計(jì)數(shù)器自計(jì)數(shù)。復(fù)位輸入有效或執(zhí)行復(fù)位指令,計(jì)數(shù)器自動(dòng)復(fù)位,即計(jì)數(shù)器位動(dòng)復(fù)位,即計(jì)數(shù)器位OFF,當(dāng)前值為,當(dāng)前值為0。指令格式:指令格式:CTUCxxx,PV例:例: CTUC20,3程序?qū)嵗撼绦驅(qū)嵗簣D圖4.19為增計(jì)數(shù)器的程序片斷和時(shí)序圖。為增計(jì)數(shù)器的程序片斷和時(shí)序圖。LDI0.0/計(jì)數(shù)脈沖信號(hào)輸入端LDI0.1/復(fù)位信號(hào)輸入端CTU C20, +3/增計(jì)數(shù),計(jì)數(shù)設(shè)定值/為 3 個(gè)脈沖LDC20/計(jì)數(shù)值達(dá)到 3
35、,則=Q0.0/將輸入位置 1I0.0I0.1C20 當(dāng)前值C20 位圖圖4.19增計(jì)數(shù)程序及時(shí)序增計(jì)數(shù)程序及時(shí)序3. 增減計(jì)數(shù)器增減計(jì)數(shù)器 CTUD,增減計(jì)數(shù)器指令。有兩個(gè)脈沖輸入端:,增減計(jì)數(shù)器指令。有兩個(gè)脈沖輸入端:CU輸入端用于遞增輸入端用于遞增計(jì)數(shù),計(jì)數(shù),CD輸入端用于遞減計(jì)數(shù)。輸入端用于遞減計(jì)數(shù)。 指令格式:指令格式:CTUDCxxx,PV例:例: CTUDC30,5程序?qū)嵗喝鐖D程序?qū)嵗喝鐖D4.20所示為增減計(jì)數(shù)器的程序片斷和時(shí)序圖。所示為增減計(jì)數(shù)器的程序片斷和時(shí)序圖。 LD I0.0 /增計(jì)數(shù)輸入端 LD I0.1 /減計(jì)數(shù)輸入端 LD I0.2 /復(fù)位輸入端 CTUD C3
36、0, +5 /增減計(jì)數(shù),設(shè)定 /脈沖數(shù)為 5。 LD C30 /計(jì)數(shù)器觸點(diǎn) = Q0.0 /輸出觸點(diǎn) 圖圖4.20增減計(jì)數(shù)程序及時(shí)序增減計(jì)數(shù)程序及時(shí)序1234543434567I0.0I0.1I0.2C30 當(dāng)前值C30 位4. 減計(jì)數(shù)器減計(jì)數(shù)器 CTD,增減計(jì)數(shù)器指令。脈沖輸入端,增減計(jì)數(shù)器指令。脈沖輸入端CD用于遞減計(jì)數(shù)。用于遞減計(jì)數(shù)。首次掃描,定時(shí)器位首次掃描,定時(shí)器位OFF,當(dāng)前值為等于預(yù)設(shè)值,當(dāng)前值為等于預(yù)設(shè)值PV。計(jì)。計(jì)數(shù)器檢測(cè)到數(shù)器檢測(cè)到CD輸入的每個(gè)上升沿時(shí),計(jì)數(shù)器當(dāng)前值減小輸入的每個(gè)上升沿時(shí),計(jì)數(shù)器當(dāng)前值減小1個(gè)單位,當(dāng)前值減到個(gè)單位,當(dāng)前值減到0時(shí),計(jì)數(shù)器位時(shí),計(jì)數(shù)器位ON
37、。復(fù)位輸入有效或執(zhí)行復(fù)位指令,計(jì)數(shù)器自動(dòng)復(fù)位,即計(jì)復(fù)位輸入有效或執(zhí)行復(fù)位指令,計(jì)數(shù)器自動(dòng)復(fù)位,即計(jì)數(shù)器位數(shù)器位OFF,當(dāng)前值復(fù)位為預(yù)設(shè)值,而不是,當(dāng)前值復(fù)位為預(yù)設(shè)值,而不是0。指令格式:指令格式:CTDCxxx,PV例:例: CTDC40,4程序?qū)嵗簣D程序?qū)嵗簣D4.21為減計(jì)數(shù)器的程序片斷和時(shí)序圖。為減計(jì)數(shù)器的程序片斷和時(shí)序圖。LDI0.0/減計(jì)數(shù)脈沖輸入端LDI0.1/復(fù)位輸入端CTD C40, +4/減計(jì)數(shù)器,設(shè)定計(jì)數(shù)/脈沖數(shù)為 4。LDC40/裝入計(jì)數(shù)器觸點(diǎn)=Q0.0/輸出觸點(diǎn)圖圖4.21減計(jì)數(shù)程序及時(shí)序減計(jì)數(shù)程序及時(shí)序I0.0I0.1C40 當(dāng)前值C40 位5. 應(yīng)用舉例應(yīng)用舉例
38、1)循環(huán)計(jì)數(shù)。)循環(huán)計(jì)數(shù)。以上三種類型的計(jì)數(shù)器如果在使用時(shí),將計(jì)數(shù)器以上三種類型的計(jì)數(shù)器如果在使用時(shí),將計(jì)數(shù)器位的常開觸點(diǎn)作為復(fù)位輸入信號(hào),則可以實(shí)現(xiàn)循位的常開觸點(diǎn)作為復(fù)位輸入信號(hào),則可以實(shí)現(xiàn)循環(huán)計(jì)數(shù)。環(huán)計(jì)數(shù)。2)用計(jì)數(shù)器和定時(shí)器配合增加延時(shí)時(shí)間,如圖)用計(jì)數(shù)器和定時(shí)器配合增加延時(shí)時(shí)間,如圖4.22所示。試分析以下程序中實(shí)際延時(shí)為多長(zhǎng)時(shí)所示。試分析以下程序中實(shí)際延時(shí)為多長(zhǎng)時(shí)間。間。LDI0.0/啟動(dòng)通電延時(shí)ANM0.0/重新啟動(dòng)延時(shí)TON T50, +30000/通電延時(shí)定時(shí)器/時(shí)間設(shè)定為 3000sLDT50/延時(shí)時(shí)間到=M0.0/關(guān)定時(shí)器,產(chǎn)生一個(gè)/脈沖。LDM0.0/每隔 3000s 輸
39、入一個(gè)/脈沖LDN I0.0/復(fù)位輸入CTU C20, +10/增計(jì)數(shù)器,累計(jì)脈沖/的總數(shù)。圖圖4.22計(jì)數(shù)器應(yīng)用例計(jì)數(shù)器應(yīng)用例返回本節(jié)返回本節(jié)123111054I 0.0T50 位C20 位4.1.6比較比較 1. 字節(jié)比較字節(jié)比較 2. 整數(shù)比較整數(shù)比較 3. 雙字整數(shù)比較雙字整數(shù)比較 4. 實(shí)數(shù)比較實(shí)數(shù)比較 5. 應(yīng)用舉例應(yīng)用舉例 1. 字節(jié)比較字節(jié)比較 字節(jié)比較用于比較兩個(gè)字節(jié)型整數(shù)值字節(jié)比較用于比較兩個(gè)字節(jié)型整數(shù)值IN1和和IN2的的大小,字節(jié)比較是無符號(hào)的。比較式可以是大小,字節(jié)比較是無符號(hào)的。比較式可以是LDB、AB或或OB后直接加比較運(yùn)算符構(gòu)成。后直接加比較運(yùn)算符構(gòu)成。如:如:
40、LDB=、AB、OB= 等。等。整數(shù)整數(shù)IN1和和IN2的尋址范圍:的尋址范圍:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常數(shù)。和常數(shù)。指令格式例:指令格式例:LDB=VB10,VB12ABMB0, MB1OB=AC1, 1162. 整數(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之之間)。比較式可以是間)。比較式可以是LDW、AW或或OW后直接加比較運(yùn)算后直接加比較運(yùn)算符構(gòu)成。符構(gòu)成。如:如:LDW=、AW、O
41、W= 等。等。整數(shù)整數(shù)IN1和和IN2的尋址范圍:的尋址范圍:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常和常數(shù)。數(shù)。指令格式例:指令格式例:LDW=VW10,VW12AW MW0, MW4OW=AC2,11603. 雙字整數(shù)比較雙字整數(shù)比較 雙字整數(shù)比較用于比較兩個(gè)雙字長(zhǎng)整數(shù)值雙字整數(shù)比較用于比較兩個(gè)雙字長(zhǎng)整數(shù)值IN1和和IN2的大小,雙字整數(shù)比較是有符號(hào)的(雙字整的大小,雙字整數(shù)比較是有符號(hào)的(雙字整數(shù)范圍為數(shù)范圍為16#80000000和和16#7FFFFFFF之間)。之間)。 指令格式例:指令格式例:LDD=VD10,VD14ADMD0,
42、MD8OD=HC0, *AC04. 實(shí)數(shù)比較實(shí)數(shù)比較 實(shí)數(shù)比較用于比較兩個(gè)雙字長(zhǎng)實(shí)數(shù)值實(shí)數(shù)比較用于比較兩個(gè)雙字長(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=VD10,VD18ARMD0,MD12OR *AC1,VD1005. 應(yīng)用舉例應(yīng)用舉例 控制要求:控制要求:一自動(dòng)
43、倉(cāng)庫(kù)存放某種貨物,最多一自動(dòng)倉(cāng)庫(kù)存放某種貨物,最多6000箱,需對(duì)所箱,需對(duì)所存的貨物進(jìn)出計(jì)數(shù)。貨物多于存的貨物進(jìn)出計(jì)數(shù)。貨物多于1000箱,燈箱,燈L1亮;亮;貨物多于貨物多于5000箱,燈箱,燈L2亮。亮。其中,其中,L1和和L2分別受分別受Q0.0和和Q0.1控制,數(shù)值控制,數(shù)值1000和和5000分別存儲(chǔ)在分別存儲(chǔ)在VW20和和VW30字存儲(chǔ)單元中。字存儲(chǔ)單元中。本控制系統(tǒng)的程序如圖本控制系統(tǒng)的程序如圖4.23所示。程序執(zhí)行時(shí)序所示。程序執(zhí)行時(shí)序如圖如圖4.24所示。所示。圖圖4.23程序舉例程序舉例LDI0.0/增計(jì)數(shù)輸入端LDI0.1/減計(jì)數(shù)輸入端LDI0.2/復(fù)位輸入端CTUDC
44、30, +10000/增減計(jì)數(shù),/設(shè)定脈沖數(shù)/為 10000。LDW=C30, VW20/比較計(jì)數(shù)器/當(dāng)前值是否大于/VW20 中的值=Q0.0/輸出觸點(diǎn)LDW=C30, VW30/比較計(jì)數(shù)器/當(dāng)前值是否大于/VW30 中的值=Q0.1/輸出觸點(diǎn)圖圖4.24時(shí)序圖時(shí)序圖1000100050005000C30 當(dāng)前值Q 0.0Q 0.1返回本節(jié)返回本節(jié)4.2運(yùn)算指令運(yùn)算指令 4.2.1 加法加法 4.2.2減法減法 4.2.3乘法乘法 4.2.4除法除法 4.2.5 數(shù)學(xué)函數(shù)指令數(shù)學(xué)函數(shù)指令 4.2.6增減增減 4.2.7 邏輯運(yùn)算邏輯運(yùn)算 返回本章首頁(yè)返回本章首頁(yè)4.2.1 加法加法 1. 整
45、數(shù)加法整數(shù)加法+I,整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)單,整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)單字長(zhǎng)(字長(zhǎng)(16位)的符號(hào)整數(shù)位)的符號(hào)整數(shù)IN1和和IN2相加,產(chǎn)生一相加,產(chǎn)生一個(gè)個(gè)16位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。LDI0.0/使能輸入端+IVW0, VW4/整數(shù)加法/VW0+VW4=VW4圖圖4.25整數(shù)加法例整數(shù)加法例2. 雙整數(shù)加法雙整數(shù)加法+D,雙整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(,雙整數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(32位)的位)的符號(hào)雙整數(shù)符號(hào)雙整數(shù)IN1和和IN2相加,產(chǎn)生一個(gè)相加,產(chǎn)生一個(gè)32位雙整數(shù)結(jié)果位雙整數(shù)結(jié)果OUT。在在LAD和和FBD中,以指令
46、盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1+IN2=OUT。在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:IN1+OUT=OUT。 OUT的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。指令格式:指令格式:+DIN1, OUT例:例:+DVD0,VD4+R,實(shí)數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(,實(shí)數(shù)加法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(32位)的實(shí)位)的實(shí)數(shù)數(shù)IN1和和IN2相加,產(chǎn)生一個(gè)相加,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果位實(shí)數(shù)結(jié)果OUT。在在LAD和和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1+
47、IN2=OUT。OUT的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲(chǔ)器位:本指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負(fù))。(負(fù))。返回本節(jié)返回本節(jié)4.2.2減法減法 減法指令是對(duì)有符號(hào)數(shù)進(jìn)行相減操作。包括:整減法指令是對(duì)有符號(hào)數(shù)進(jìn)行相減操作。包括:整數(shù)減法、雙整數(shù)減法和實(shí)數(shù)減法。這三種減法指數(shù)減法、雙整數(shù)減法和實(shí)數(shù)減法。這三種減法指令與所對(duì)應(yīng)的加法指令除運(yùn)算法則不同之外,其令與所對(duì)應(yīng)的加法指令除運(yùn)算法則不同之外,其他方面基本相同。他方面基本相同。在在LAD和和FBD中,以
48、指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1-IN2=OUT。在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果: OUT- IN2=OUT。指令格式:指令格式:-IIN2,OUT(整數(shù)減法)(整數(shù)減法)-DIN2,OUT(雙整數(shù)減法)(雙整數(shù)減法)-RIN2,OUT(實(shí)數(shù)減法)(實(shí)數(shù)減法)例:例:-IAC0,VW4返回本節(jié)返回本節(jié)4.2.3乘法乘法 *I,整數(shù)乘法指令。使能輸入有,整數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)單字長(zhǎng)(效時(shí),將兩個(gè)單字長(zhǎng)(16位)的位)的符號(hào)整數(shù)符號(hào)整數(shù)IN1和和IN2相乘,產(chǎn)生一相乘,產(chǎn)生一個(gè)個(gè)16位整數(shù)結(jié)果位整數(shù)結(jié)果OUT。指令格式:指令格式:*IIN1,OU
49、T例:例:*IVW0,AC01. 整數(shù)乘法整數(shù)乘法 2. 完全整數(shù)乘法完全整數(shù)乘法 MUL,完全整數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)單,完全整數(shù)乘法指令。使能輸入有效時(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。 在在LAD和和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1*IN2=OUT。 OUT的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲(chǔ)器位:本指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM
50、1.1(溢(溢出);出);SM1.2(負(fù));(負(fù));SM1.3(被(被0除)。除)。指令格式:指令格式:MUL IN1,OUT例:例:MUL AC0,VD10 3. 雙整數(shù)乘法雙整數(shù)乘法 *D,雙整數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng),雙整數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(32位)的符號(hào)整數(shù)位)的符號(hào)整數(shù)IN1和和IN2相乘,產(chǎn)生一個(gè)相乘,產(chǎn)生一個(gè)32位雙整位雙整數(shù)結(jié)果數(shù)結(jié)果OUT。 在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:IN1*OUT=OUT。IN1和和IN2的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常數(shù)。和常數(shù)。OU
51、T的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲(chǔ)器位:本指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM1.1(溢(溢出);出);SM1.2(負(fù));(負(fù));SM1.3(被(被0除)。除)。指令格式:指令格式:*DIN1,OUT例:例:*DVD0,AC04. 實(shí)數(shù)乘法實(shí)數(shù)乘法*R,實(shí)數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(,實(shí)數(shù)乘法指令。使能輸入有效時(shí),將兩個(gè)雙字長(zhǎng)(32位)位)的實(shí)數(shù)的實(shí)數(shù)IN1和和IN2相乘,產(chǎn)生一個(gè)相乘,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果位實(shí)數(shù)結(jié)果OUT。在在 L A D 和和 F B D 中 , 以 指
52、令 盒 形 式 編 程 , 執(zhí) 行 結(jié) 果 :中 , 以 指 令 盒 形 式 編 程 , 執(zhí) 行 結(jié) 果 :IN1*IN2=OUT。在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:IN1*OUT=OUT。IN1和和IN2的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常數(shù)。和常數(shù)。OUT的尋址范圍:的尋址范圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影響的特殊存儲(chǔ)器位:本指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM1.1(溢出);(溢出);SM1.2(負(fù));(負(fù));SM1.3(被(被0除)。除)。指令格式
53、:指令格式:*RIN1,OUT例:例:*RVD0,AC0返回本節(jié)返回本節(jié)4.2.4除法除法 在在LAD和和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:IN1/IN2=OUT。在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果: OUT/ IN2=OUT。指令格式:指令格式:/IIN2,OUT(整數(shù)除法)(整數(shù)除法)DIVIN2,OUT(整數(shù)完全除法)(整數(shù)完全除法)/DIN2,OUT(雙整數(shù)除法)(雙整數(shù)除法)/RIN2,OUT(實(shí)數(shù)除法)(實(shí)數(shù)除法)例:例:DIVVW10, VD100/IVW20, VW200兩條指令的編程及執(zhí)行情況比較如圖兩條指令的編程及執(zhí)行情況比較如圖4.2
54、6所示。所示。LDI0.0/使能輸入端DIVVW10, VD100/完全除法/VW102/VW10=VD100LDI0.1/使能輸入端/IVW20, VW200 /整數(shù)除法/VW200/VW20=VW200圖圖4.26除法指令應(yīng)用除法指令應(yīng)用對(duì)于除法指令:對(duì)于除法指令: 對(duì)于完全除法指令:對(duì)于完全除法指令: 返回本節(jié)返回本節(jié)4.2.5 數(shù)學(xué)函數(shù)指令數(shù)學(xué)函數(shù)指令 1.平方根平方根 2. 自然對(duì)數(shù)自然對(duì)數(shù) 3. 指數(shù)指數(shù) 4. 正弦、余弦、正切正弦、余弦、正切 1.平方根平方根 SQRT,平方根指令。把一個(gè)雙字長(zhǎng)(,平方根指令。把一個(gè)雙字長(zhǎng)(32位)的實(shí)數(shù)位)的實(shí)數(shù)IN開平方,得到開平方,得到32
55、位的實(shí)數(shù)結(jié)果。位的實(shí)數(shù)結(jié)果。在在LAD和和FBD中,以指令盒形式編程,執(zhí)行結(jié)果:中,以指令盒形式編程,執(zhí)行結(jié)果:SQRT(IN)=OUT。在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:SQRT(IN)=OUT。本指令影響的特殊存儲(chǔ)器位:本指令影響的特殊存儲(chǔ)器位:SM1.0(零);(零);SM1.1(溢出和非法值);(溢出和非法值);SM1.2(負(fù))。(負(fù))。使能流輸出使能流輸出ENO斷開的出錯(cuò)條件:斷開的出錯(cuò)條件:SM1.1(溢出);(溢出);SM4.3(運(yùn)行時(shí)間);(運(yùn)行時(shí)間);0006(間接尋址)。(間接尋址)。指令格式:指令格式:SQRTIN,OUT例:例:SQRTVD0,AC02. 自然對(duì)數(shù)自
56、然對(duì)數(shù) LN,自然對(duì)數(shù)指,自然對(duì)數(shù)指令。將一個(gè)雙字令。將一個(gè)雙字長(zhǎng)(長(zhǎng)(32位)的實(shí)位)的實(shí)數(shù)數(shù)IN取自然對(duì)數(shù),取自然對(duì)數(shù),得到得到32位的實(shí)數(shù)位的實(shí)數(shù)結(jié)果。結(jié)果。應(yīng)用實(shí)例:應(yīng)用實(shí)例:求以求以10為底的為底的50(存于(存于VD0)的常)的常用對(duì)數(shù),結(jié)果放用對(duì)數(shù),結(jié)果放到到AC0。本運(yùn)算程序如圖本運(yùn)算程序如圖4.27所示。所示。 LD I0.0 /使能輸入 LN VD0, AC0 / /自然對(duì)數(shù) / Ln(VD0)=AC0 LN 10.0, VD100 / /自然對(duì)數(shù) / Ln(10)=VD100 /R VD100, AC0 / /實(shí)數(shù)除法指令 / AC0/VD100=VD100 圖圖4.27
57、自然對(duì)數(shù)的應(yīng)用自然對(duì)數(shù)的應(yīng)用3. 指數(shù)指數(shù) EXP,指數(shù)指令。將一個(gè)雙字長(zhǎng),指數(shù)指令。將一個(gè)雙字長(zhǎng)(32位)的實(shí)數(shù)位)的實(shí)數(shù)IN取以取以e為底的指為底的指數(shù),得到數(shù),得到32位的實(shí)數(shù)結(jié)果位的實(shí)數(shù)結(jié)果OUT。在在LAD和和FBD中,以指令盒形式編中,以指令盒形式編程,執(zhí)行結(jié)果:程,執(zhí)行結(jié)果:EXP(IN)=OUT。在在STL中,執(zhí)行結(jié)果:中,執(zhí)行結(jié)果:EXP(IN)=OUT。指令格式:指令格式:EXP IN, OUT例:例: EXP VD0, AC0 4. 正弦、余弦、正切正弦、余弦、正切 SIN、COS、TAN,即正弦、余弦、正切指令。將一個(gè)雙,即正弦、余弦、正切指令。將一個(gè)雙字長(zhǎng)(字長(zhǎng)(32
58、位)的實(shí)數(shù)弧度值位)的實(shí)數(shù)弧度值IN分別取正弦、余弦、正切,分別取正弦、余弦、正切,各得到各得到32位的實(shí)數(shù)結(jié)果。位的實(shí)數(shù)結(jié)果。如果已知輸入值為角度,要先將角度值轉(zhuǎn)化為弧度值,如果已知輸入值為角度,要先將角度值轉(zhuǎn)化為弧度值,方法:使用(方法:使用(*R)MUL_R指令用角度值乘以指令用角度值乘以/180即即可???。例:例: TAN VD0, AC0應(yīng)用實(shí)例:求應(yīng)用實(shí)例:求COS160o的值。如圖的值。如圖4.28所示。所示。 LD I0.0 /使能輸入 MOVR 3.14159, AC0 / /裝入 AC0 /R 180.0, AC0 / / 得/180 弧度 / *R 160.0, AC0
59、/ /角度轉(zhuǎn)化為弧度 / COS AC0, AC1 / /求余弦指令 /結(jié)果存放到 AC1 圖圖4.28三角函數(shù)應(yīng)用例三角函數(shù)應(yīng)用例返回本節(jié)返回本節(jié)4.2.6增減增減 1. 字節(jié)增和字節(jié)減字節(jié)增和字節(jié)減 2. 字增和字減字增和字減 3. 雙字增和雙字減雙字增和雙字減 4. 應(yīng)用實(shí)例應(yīng)用實(shí)例 1. 字節(jié)增和字節(jié)減字節(jié)增和字節(jié)減 INCB,字節(jié)增指令。使能輸入有效時(shí),把一字節(jié)長(zhǎng)的無,字節(jié)增指令。使能輸入有效時(shí),把一字節(jié)長(zhǎng)的無符號(hào)輸入數(shù)(符號(hào)輸入數(shù)(IN)加)加1,得到一,得到一字節(jié)的無符號(hào)輸出結(jié)果字節(jié)的無符號(hào)輸出結(jié)果OUT。DECB,字節(jié)減指令。使能輸入有效時(shí),把一字節(jié)長(zhǎng)的無,字節(jié)減指令。使能輸入
60、有效時(shí),把一字節(jié)長(zhǎng)的無符號(hào)輸入數(shù)(符號(hào)輸入數(shù)(IN)減)減1,得到一字節(jié)的無符號(hào)輸出結(jié)果,得到一字節(jié)的無符號(hào)輸出結(jié)果OUT。2. 字增和字減字增和字減 3. 雙字增和雙字減雙字增和雙字減 INCD,雙字增指令。使能輸入有效時(shí),把雙字長(zhǎng)(,雙字增指令。使能輸入有效時(shí),把雙字長(zhǎng)(32位)位)的有符號(hào)輸入數(shù)(的有符號(hào)輸入數(shù)(IN)加)加1,得到雙字長(zhǎng)的有符號(hào)輸出結(jié),得到雙字長(zhǎng)的有符號(hào)輸出結(jié)果果OUT。DECD,雙字減指令。使能輸入有效時(shí),把雙字長(zhǎng)的有符,雙字減指令。使能輸入有效時(shí),把雙字長(zhǎng)的有符號(hào)輸入數(shù)(號(hào)輸入數(shù)(IN)減)減1,得到雙字長(zhǎng)的有符號(hào)輸出結(jié)果,得到雙字長(zhǎng)的有符號(hào)輸出結(jié)果OUT。4. 應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《醫(yī)用物理學(xué)》超長(zhǎng)詳細(xì)筆記
- 2024年自然科學(xué)研究與試驗(yàn)發(fā)展服務(wù)項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2024年眼用抗感染藥項(xiàng)目資金申請(qǐng)報(bào)告
- 2024年甲醇制烯烴項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 起重機(jī)械鋼結(jié)構(gòu)冷噴烯鋅防護(hù)涂裝技術(shù)指南-意見征求稿
- Python程序設(shè)計(jì)實(shí)踐- 習(xí)題及答案 ch19 實(shí)驗(yàn)15 數(shù)據(jù)可視化
- 護(hù)理措施及護(hù)理問題
- 模范人物敬業(yè)奉獻(xiàn)事跡材料范文5篇
- 高中生暑假學(xué)習(xí)計(jì)劃
- 矛盾糾紛排查調(diào)處工作分析報(bào)告
- 2024年巴黎奧運(yùn)會(huì)
- 人教版(2024)七年級(jí)全一冊(cè)體育與健康第6課《識(shí)別界限 拒絕性騷擾》教學(xué)設(shè)計(jì)
- NB-T+10488-2021水電工程砂石加工系統(tǒng)設(shè)計(jì)規(guī)范
- 青年你為什么要入團(tuán)-團(tuán)員教育主題班會(huì)-熱點(diǎn)主題班會(huì)課件
- MOOC 創(chuàng)業(yè)基礎(chǔ)-暨南大學(xué) 中國(guó)大學(xué)慕課答案
- 2024年畜禽屠宰企業(yè)獸醫(yī)衛(wèi)生檢驗(yàn)人員考試試題
- 工程監(jiān)理質(zhì)量管理體系
- 寧波建筑企業(yè)信用評(píng)價(jià)標(biāo)準(zhǔn)
- 農(nóng)光互補(bǔ)光伏發(fā)電設(shè)備項(xiàng)目規(guī)劃設(shè)計(jì)方案
- 注塑模具畢業(yè)論文注塑模具.docx
- 光圈與快門的選擇PPT課件
評(píng)論
0/150
提交評(píng)論