技術(shù)文章
西門子S7-1500 PLC的跳轉(zhuǎn)類型指令
閱讀:10643 發(fā)布時(shí)間:2017-10-16西門子S7-1500 PLC的跳轉(zhuǎn)類型指令
跳轉(zhuǎn)類型指令的梯形圖形式如圖5-142~圖5-147所示,主要包括跳轉(zhuǎn)標(biāo)簽指令(LABEL)、若RLO=“1”則跳轉(zhuǎn)指令(JMP)、若RLO=“1”則跳轉(zhuǎn)指令(JMPN)、定義跳轉(zhuǎn)列表指令( JMP_LIST)、跳轉(zhuǎn)分配器指令(SWITCH)和返回指令(RET)。
圖5-142 LABEL指令
圖5-143 JMP指令
圖5-144 JMPN指令
圖5-145 RET指令
圖5-146 JMP_LIST指令
圖5-147 SWITCH指令
跳轉(zhuǎn)標(biāo)簽指令( LABEL)是配合跳轉(zhuǎn)指令實(shí)現(xiàn)程序跳轉(zhuǎn),該指令用來標(biāo)識(shí)一個(gè)目標(biāo)程序段,執(zhí)行程序跳轉(zhuǎn)時(shí),程序跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽下方的程序段開始執(zhí)行。
“若RLO=”1”則跳轉(zhuǎn)”指令(JMP)在滿足該指令輸入的條件(RLO =1)時(shí)可中斷當(dāng)前程序的順序執(zhí)行,而跳轉(zhuǎn)到由跳轉(zhuǎn)標(biāo)簽( LABEL)進(jìn)行標(biāo)識(shí)的程序段開始執(zhí)行;如果不滿足該指令輸入的條件( RLO =0),則程序?qū)⒗^續(xù)執(zhí)行下一程序段。
“若RLO=”0”則跳轉(zhuǎn)”指令(JMPN)與JMP指令的跳轉(zhuǎn)條件正好相反,即當(dāng)RLO =0時(shí)程序跳轉(zhuǎn)到由跳轉(zhuǎn)標(biāo)簽( LABEL)進(jìn)行標(biāo)識(shí)的程序段開始執(zhí)行,否則順序執(zhí)行。
“返回”指令( RET)可停止當(dāng)前程序塊的執(zhí)行。如果“返回”指令輸入端的邏輯運(yùn)算結(jié)果( RLO)為“1”,則將終止當(dāng)前調(diào)用塊中的程序執(zhí)行,并在調(diào)用塊(例如,在調(diào)用OB中)中調(diào)用函數(shù)之后,繼續(xù)執(zhí)行。
對(duì)于LABEL、JMP、JMPN和RET指令,的跳轉(zhuǎn)標(biāo)簽與執(zhí)行的跳轉(zhuǎn)指令必須位于同一程序塊中,的跳轉(zhuǎn)標(biāo)簽名稱在程序塊中只能出現(xiàn)一次,一個(gè)程度段中只能使用一條跳轉(zhuǎn)指令(JMP、JMPN和RET)。CPU S7 -1200zui多可以聲明32個(gè)跳轉(zhuǎn)標(biāo)簽,而CPU S7 -1500zui多可以聲明256個(gè)跳轉(zhuǎn)標(biāo)簽。
“定義跳轉(zhuǎn)列表”指令( JMP_LIST)與LABEL指令配合使用,根據(jù)K值實(shí)現(xiàn)跳轉(zhuǎn)。在指令的輸出中只能跳轉(zhuǎn)標(biāo)簽,而不能指令或操作數(shù)。當(dāng)EN使能輸入的信號(hào)狀態(tài)為“1”時(shí),執(zhí)行JMP_LIST指令,程序?qū)⑻D(zhuǎn)到由K參數(shù)的值的輸出編號(hào)所對(duì)應(yīng)的目標(biāo)程序段開始執(zhí)行。如果K參數(shù)值大于可用的輸出編號(hào),則順序執(zhí)行程序??稍谥噶羁蛑型ㄟ^鼠標(biāo)單擊“*”來擴(kuò)展輸出的數(shù)量(CPU S7 -1200zui多可以聲明32個(gè)輸出,而CPU S7 -1500zui多可以聲明99個(gè)輸出),輸出編號(hào)從“0”開始,每增加一個(gè)新輸出,都會(huì)按升序連續(xù)遞增。
“跳轉(zhuǎn)分支指令”指令( SWITCH)也與LABEL指令配合使用,根據(jù)比較結(jié)果,定義要執(zhí)行的程序跳轉(zhuǎn)。在指令框中為每個(gè)輸入選擇比較類型(==、<>、>=、<=、>、<,各比較指令的可用性取決于指令的數(shù)據(jù)類型),在指令的輸出中跳轉(zhuǎn)標(biāo)簽( LABEL),在參數(shù)K中要比較的值,將該值依次與各個(gè)輸入(編號(hào)按照從小到大的順序)提供的值按照選擇的比較類型進(jìn)行比較,直至滿足比較條件為止,選擇滿足條件的輸入編號(hào)所對(duì)應(yīng)的輸出的跳轉(zhuǎn)標(biāo)簽進(jìn)行程序跳轉(zhuǎn)。如果滿足比較條件,則將不考慮后續(xù)比較條件;如果不滿足任何的比較條件,則將執(zhí)行輸出ELSE處的跳轉(zhuǎn);如果輸出ELSE中未定義程序跳轉(zhuǎn),則程序順序執(zhí)行??稍谥噶羁蛑型ㄟ^鼠標(biāo)單擊“*”增加輸出的數(shù)量,輸出編號(hào)從“0”開始,每增加一個(gè)新輸出,都會(huì)按升序連續(xù)遞增,同時(shí)會(huì)自動(dòng)插入一個(gè)輸入。
基本指令下的“原有”指令集如圖5-148所示,包括執(zhí)行順控程序指令、離散控制定時(shí)器報(bào)警指令、電動(dòng)機(jī)控制定時(shí)器報(bào)警指令、比較輸入位與掩碼位指令、比較掃描矩陣指令、提前和滯后算法指令、創(chuàng)建7段顯示的位模式指令、求十進(jìn)制補(bǔ)碼指令和統(tǒng)計(jì)設(shè)置位數(shù)量指令。
圖5-148 “原有”指令集
在TIA Portal STEP 7指令系統(tǒng)中,除了基本指令集,還有擴(kuò)展指令集、工藝指令集、通信指令集和選件包指令集。
擴(kuò)展指令集中主要包括日期和時(shí)間、分布式I/O、中斷、報(bào)警、診斷、數(shù)據(jù)塊控制和尋址等方面的指令。工藝指令集中主要包括計(jì)數(shù)和測量、PID控制、運(yùn)動(dòng)控制和時(shí)基I/O等與工藝功能有關(guān)的指令。通信指令集中主要包括S7通信、開放式用戶通信、WEB服務(wù)器以及,通信處理器等與通信有關(guān)的指令。選件包指令中為部分插件功能指令。使用時(shí)請(qǐng)查閱Portal STEP 7軟件的幫助信息系統(tǒng)或相關(guān)的系統(tǒng)手冊(cè)。