電氣控制與PLC應用技術(shù)(S7-1200)課件 4任務3 使用移位指令編程_第1頁
電氣控制與PLC應用技術(shù)(S7-1200)課件 4任務3 使用移位指令編程_第2頁
電氣控制與PLC應用技術(shù)(S7-1200)課件 4任務3 使用移位指令編程_第3頁
電氣控制與PLC應用技術(shù)(S7-1200)課件 4任務3 使用移位指令編程_第4頁
電氣控制與PLC應用技術(shù)(S7-1200)課件 4任務3 使用移位指令編程_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任務3使用移位指令編程任務引入

我們在編寫燈光控制程序的時候,往往會涉及到燈的依次點亮或輪流點亮,這些都涉及到數(shù)據(jù)的移動問題,移位指令正好為我們解決這些問題提供了捷徑。任務目標要完成該任務,必須具備以下知識:1.掌握程序控制指令的使用方法。2.掌握各種移位指令的使用方法。3.學會使用移位指令編寫程序。相關(guān)知識1.程序控制指令

程序控制指令用于編寫結(jié)構(gòu)化程序、優(yōu)化控制程序結(jié)構(gòu),以便減少程序執(zhí)行時間,程序控制指令如表4-6所示。表4-6程序控制指令指令名稱說明-(JMP)若RLO=1則跳轉(zhuǎn)當能流為“1”時,程序立即跳轉(zhuǎn)到指定標簽的網(wǎng)絡(luò)段執(zhí)行。-(JMPN)若RLO=0則跳轉(zhuǎn)當能流為“0”時,程序立即跳轉(zhuǎn)到指定標簽的網(wǎng)絡(luò)段執(zhí)行。LABEL跳轉(zhuǎn)標簽用于定義跳轉(zhuǎn)指令指向的網(wǎng)絡(luò)段。JMP-LIST定義跳轉(zhuǎn)列表根據(jù)輸入變量的值,決定跳轉(zhuǎn)到的標簽。SWITCH跳轉(zhuǎn)分支指令根據(jù)輸入變量的值,及比較條件,決定跳轉(zhuǎn)到的標簽。-(RET)返回當能流為“1”時,結(jié)束當前執(zhí)行的OB、FC、FB程序,并且可以設(shè)置該塊的ENO。相關(guān)知識1)JMP/JMPN指令

跳轉(zhuǎn)標簽LABEL用于標志某一個目標程序段,當跳轉(zhuǎn)條件滿足時,程序?qū)⒅袛嗾5膱?zhí)行順序,跳轉(zhuǎn)到指定標簽標志的程序段繼續(xù)執(zhí)行。注意跳轉(zhuǎn)標簽與指定跳轉(zhuǎn)標簽的指令必須位于同一數(shù)據(jù)塊中,跳轉(zhuǎn)標簽的名稱在塊中只能分配一次。

跳轉(zhuǎn)指令JMP是當該指令輸入的邏輯運算結(jié)果為1,即RLO=1時,立即中斷程序的執(zhí)行順序,程序跳轉(zhuǎn)到指定標簽后的第一條指令繼續(xù)執(zhí)行,目標程序段必須由跳轉(zhuǎn)標簽(LABEL)進行標志,在指令上方的占位符指定該跳轉(zhuǎn)標簽的名稱。

跳轉(zhuǎn)指令JMPN=0,即RLO=0時,立即中斷程序的執(zhí)行順序,程序跳轉(zhuǎn)到指定標簽后的第一條指令繼續(xù)執(zhí)行,與JMP相同,目標程序段必須由跳轉(zhuǎn)標簽(LABEL)進行標志,在指令上方的占位符指定該跳轉(zhuǎn)標簽的名稱。相關(guān)知識

(2)JMP/JMPN指令應用

JMP指令應用如圖4-30所示,當I0.0=0時,跳轉(zhuǎn)指令不執(zhí)行,程序按正常順序執(zhí)行,此時,當I0.1=1時,Q0.0得電亮;同時,Q0.1間隔0.5S閃爍。當I0.0=1時,跳轉(zhuǎn)指令執(zhí)行,程序直接從程序段1跳轉(zhuǎn)到標號為a1的程序段3,執(zhí)行程序段3的邏輯指令,即循環(huán)掃描周期不再掃描程序段2,這時即使I0.1=1,程序段2也不執(zhí)行,輸出Q0.0保持跳轉(zhuǎn)前的狀態(tài),如果在線監(jiān)控程序,可觀察到程序段2雖然為跳轉(zhuǎn)前的導通狀態(tài),但沒有呈現(xiàn)高亮的綠色狀態(tài)。相關(guān)知識圖4-30

JMP指令應用相關(guān)知識

JMPN指令應用如圖4-31所示,當I0.0=0時,跳轉(zhuǎn)指令執(zhí)行,程序直接從程序段1跳轉(zhuǎn)到標號為a1的程序段3,執(zhí)行程序段3的邏輯指令,Q0.1間隔0.5S閃爍。這時如果I0.1=1,程序段2也不執(zhí)行,輸出Q0.0保持跳轉(zhuǎn)前的狀態(tài),如果在線監(jiān)控程序,可觀察到程序段2雖然為跳轉(zhuǎn)前的導通狀態(tài),但沒有呈現(xiàn)高亮的綠色狀態(tài)。

程序執(zhí)行過程如下:當I0.0=1時,跳轉(zhuǎn)指令不執(zhí)行,程序按正常順序執(zhí)行,此時,當I0.1=1時,Q0.0得電亮,Q0.1間隔0.5S閃爍。此時如果I0.0=0、I0.1=0,則Q0.0繼續(xù)得電亮,Q0.1間隔0.5S閃爍;但當I0.0再等于1時,I0.1繼續(xù)等于0,則Q0.0滅,Q0.1間隔0.5S閃爍。相關(guān)知識圖4-31JMPN指令應用相關(guān)知識3)JMP-LIST指令JMP-LIST指令為定義跳轉(zhuǎn)列表指令,JMP-LIST指令格式如圖4-32所示,該指令可定義多個有條件跳轉(zhuǎn),其跳轉(zhuǎn)的位置由參數(shù)K的值決定,K從0開始;可在指令框中增加輸出的數(shù)量,S7-1200中最多可以聲明32個輸出。

在圖4-32中,K為指定輸出的編號及要執(zhí)行的跳轉(zhuǎn),輸出編號從0開始,每增加一個新輸出,都會按升序連續(xù)遞增,當K=0時程序跳轉(zhuǎn)到由跳轉(zhuǎn)標簽a1標志的程序段,K=1時程序跳轉(zhuǎn)到由跳轉(zhuǎn)標簽a2標志的程序段,K=2時程序跳轉(zhuǎn)到由跳轉(zhuǎn)標簽a3標志的程序段,以此類推。相關(guān)知識圖4-32

JMP-LIST指令的應用相關(guān)知識4)SWITCH指令

跳轉(zhuǎn)分支指令SWITCH根據(jù)一個或多個比較指令的結(jié)果,定義要執(zhí)行的多個程序跳轉(zhuǎn),SWITCH指令格式如圖4-33所示,根據(jù)K輸入的值與分配給各指定輸入的值進行對應比較,然后跳轉(zhuǎn)到與第一個結(jié)果為“真”的比較測試相對應的程序標簽。如果比較結(jié)果都不是“TRUE”,則跳轉(zhuǎn)到分配給ELSE的標簽。SWITCH指令中,參數(shù)K指定要比較的值,將該值與各個輸入提供的值進行比較??梢詾槊總€輸入選擇比較方法,如圖4-33中的“≦”“﹥”“=”等比較,可在指令框中增加輸入和比較的數(shù)量,最多可選跳轉(zhuǎn)標簽99個。如果輸入端有n個比較,則有n+1個輸出,既有n+1個跳轉(zhuǎn)分支,n為比較結(jié)果的程序跳轉(zhuǎn),另外一個分支為ELSE的輸出,即不滿足任何比較條件時執(zhí)行程序跳轉(zhuǎn)。相關(guān)知識

在圖4-33中,如果K=MW10﹥MW12時,則程序跳轉(zhuǎn)到第一條輸出分支a1,如果K=MW10≦MW14時,則程序跳轉(zhuǎn)到第二條輸出分支a2,如果K=MW10不滿足上述兩個判斷條件,則程序跳轉(zhuǎn)到第三條輸出分支a3。由于K=MW10=3≦MW14=6,故程序跳轉(zhuǎn)到第二條輸出分支a2;如果在線監(jiān)控,從SWITCH指令的輸出端可以看出,a2引腳為綠色實線,有別于其他兩個引腳。相關(guān)知識圖4-33

SWITCH指令的應用相關(guān)知識5)RET指令

返回指令RET用于終止當前塊的執(zhí)行,RET指令格式如圖4-34的程序段4所示,當RET指令線圈通電時,不再執(zhí)行該指令后面的指令,返回調(diào)用它的“塊”后,執(zhí)行調(diào)用之后的指令;如果RET指令線圈斷電,則繼續(xù)執(zhí)行下面的指令。一般地,“塊”指令結(jié)束時可以不用RET指令,RET指令用來有條件地結(jié)束“塊”,一個“塊”可以多次使用RET指令。相關(guān)知識

圖4-34中由于K=MW10=3﹤MW14=6,程序跳轉(zhuǎn)到第二條輸出分支a2執(zhí)行;從程序段3開始執(zhí)行,執(zhí)行到程序段4時,由于I0.2=1,RET指令線圈通電,因此程序返回到程序段1,程序段5不再掃描,即無論I0.3的狀態(tài)為“1”還是為“0”,Q0.2都保持I0.2改變?yōu)椤?”之前的狀態(tài);如果I0.2=0,程序則執(zhí)行程序段5。

另外,RET線圈上面的參數(shù)(如圖3-31中的變量M4.0)是“塊”的返回值,數(shù)據(jù)類型為BOOL,如果當前的“塊”是OB塊(如本例),返回值被忽略;如果當前的“塊”是FC塊或FB塊,則返回值作為FC或FB的ENO的值傳送給調(diào)用它的“塊”。相關(guān)知識圖4-34

RET指令的應用相關(guān)知識

2.移位和循環(huán)移位指令

移位和循環(huán)移位指令主要用于實現(xiàn)位序列的左右移動或者循環(huán)移動等功能,程序控制指令如表4-7所示。表4-7移位和循環(huán)移位指令指令名稱說明SHR右移將位序列、整數(shù)數(shù)據(jù)類型的變量或常數(shù)向右移、左移指定位數(shù),移除的位丟失。對于空出的位:位序列數(shù)據(jù)類型變量補0,整數(shù)數(shù)據(jù)類型變量補符號位SHL左移ROR循環(huán)右移將位序列數(shù)據(jù)類型的變量或常數(shù)向右移、左移指定位數(shù)ROL循環(huán)左移相關(guān)知識

移位指令包括右移(SHR)指令和左移(SHL)指令,移位指令格式如圖4-35所示,循環(huán)移位指令格式如圖4-36所示。圖4-35移位指令格式圖4-36循環(huán)移位指令格式相關(guān)知識1)右移指令SHR

右移指令SHR用于將輸入IN中操作數(shù)的內(nèi)容按位向右移動,并在輸出OUT中查詢移位結(jié)果;參數(shù)N用于指定IN值向右移動的位數(shù),使用SHR指令需要遵循以下原則。

①如果參數(shù)N的值等于0時,輸入IN的值將復制到輸出OUT中;如果參數(shù)N的值大于可用位數(shù),則輸入IN中的操作數(shù)將向右移動可用位數(shù)的個數(shù)。SHR指令應用如圖4-37所示。

②如果輸入IN為無符號數(shù),移位操作時操作數(shù)左邊區(qū)域中空出的位將用0填充,如果輸入IN為有符號數(shù),則用符號位的信號狀態(tài)(即正數(shù)為0,負數(shù)為1)填充空出的位。相關(guān)知識圖4-38

SHR右移指令的移位過程圖4-37

SHR指令應用相關(guān)知識2)左移指令SHL

左移指令SHL用于將輸入IN中操作數(shù)的內(nèi)容按位向左移位,并在輸出OUT中查詢移位結(jié)果;參數(shù)N用于指定IN值向左移動的位數(shù),使用SHL指令需要遵循以下原則。

①如果參數(shù)N的值等于0時,輸入IN的值將復制到輸出OUT中;如果參數(shù)N的值大于可用位數(shù),則輸入IN中的操作數(shù)將向左移動可用位數(shù)的個數(shù)。

②用0填充操作數(shù)移動后右側(cè)空出的位,SHL指令應用示例如圖4-39所示。相關(guān)知識圖4-40SHL左移指令的移位過程圖4-39

SHL指令應用相關(guān)知識3)循環(huán)右移指令ROR

循環(huán)右移指令ROR將輸入IN中操作數(shù)的內(nèi)容按位向右循環(huán)移位,并在輸出OUT中查詢結(jié)果;參數(shù)N用于指定循環(huán)移位中待移動的位數(shù),當參數(shù)N的值為0時,輸入IN的值將復制到輸出OUT中的操作數(shù)中。ROR指令應用示例如圖4-41所示。相關(guān)知識圖4-42ROR循環(huán)右移指令的移位過程圖4-41

ROR指令應用相關(guān)知識4)循環(huán)左移指令ROL

循環(huán)左移指令ROL將輸入IN中操作數(shù)的內(nèi)容按位向左循環(huán)移位,并在輸出OUT中查詢結(jié)果;參數(shù)N用于指定循環(huán)移位中待移動的位數(shù),當參數(shù)N的值為0時,輸入IN的值將復制到輸出OUT中的操作數(shù)中。ROL指令應用示例如圖4-43所示。相關(guān)知識圖4-44ROL循環(huán)左移指令的移位過程圖4-43ROL指令應用任務實施1.用PLC程序控制指令和循環(huán)移位指令實現(xiàn)8盞燈的控制1)控制要求

用Q0.0~Q0.7控制8盞燈L1~L8。

當按鈕SB1斷開時,按下SB2按鈕,8盞燈Q0.0~Q0.7的奇數(shù)燈和偶數(shù)燈間隔1S交替閃爍,按SB3按鈕停止閃爍。

當按鈕SB1閉環(huán)時,按下SB4按鈕,8盞燈Q0.0~Q0.7從Q0.7開始,間隔1S一盞一盞點亮,當8盞燈都點亮后,亮5秒,程序再開始循環(huán)上述過程,當按下停止按鈕SB5時,程序停止。任務實施2)訓練要達到的目的

(1)學會在編程中使用程序控制指令。

(2)掌握循環(huán)移位指令的應用。

(3)在編程中能靈活應用所學指令編寫程序。

3)控制要求分析

分析控制要求,編寫的程序?qū)嶋H上是2部分,我們可以使用JMP-LIST指令來將程序分成2部分,當JMP-LIST指令中的K=0時,執(zhí)行程序的第一個控制要求;當JMP-LIST指令中的K=1時,執(zhí)行程序的第二個控制要求。

在第一個控制要求中,我們可以使用循環(huán)移位指令將數(shù)據(jù)01010101間隔1S循環(huán)移位即可;在第二個控制要求中,我們可以使用右移指令SHR對一個負數(shù)進行移位,間隔1S移位1次即可實現(xiàn)間隔1S點亮一盞燈。任務實施4)實訓設(shè)備CPU1214CAC/DC/RLY一臺

燈板

一塊5)程序設(shè)計(1)可編程控制器的外部接線圖如圖4-45所示。圖4-45PLC控制8盞燈的接線圖任務實施

(2)建立項目“8盞燈的控制”。

(3)添加新設(shè)備“CPU1214CAC/DC/RLY”,版本號4.4。

(4)選中“PLC_1”項目下的“PLC變量”,打開“默認變量表”,在默認變量表中分配程序中要使用的變量,分配PLC變量表如表4-8所示。表4-88盞燈控制的PLC變量表任務實施(5)梯形圖設(shè)計。程序設(shè)計如下圖4-46所示。任務實施任務實施圖4-46PLC控制8盞燈的梯形圖任務實施6)程序講解

程序分為2部分,使用JMP_LIST指令控制2部分程序運行,當MB2=0時,程序跳轉(zhuǎn)到a1部分運行,當MB2=1時,程序跳轉(zhuǎn)到a2部分運行。a1部分程序,當SB2閉合,程序運行,同時將16#55=2#0101010

溫馨提示

  • 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

提交評論