甘肅西門子S7-200SMARTPLC模塊代理經(jīng)銷商
西門子S7-200 PLC的結(jié)束指令(END和MEND)

結(jié)束指令分為條件結(jié)束指令和無條件結(jié)束指令。兩條指令在梯形圖中以線圈形式編程。指令不含操作數(shù)。執(zhí)行完結(jié)束指令后,系統(tǒng)結(jié)束主程序,返回主程序起點。
END:條件結(jié)束指令,執(zhí)行條件成立(左側(cè)邏輯值為1)時結(jié)束主程序,返回主程序起點。
MEND:無條件結(jié)束指令,結(jié)束主程序,返回主程序起點。
表7.10所示為結(jié)束指令形式。
表7.10 結(jié)束指令形式

操作數(shù):無。
用戶程序必須以無條件結(jié)束指令結(jié)束主程序。
條件結(jié)束指令用在無條件結(jié)束指令前結(jié)束主程序。
MEND為無條件結(jié)束指令,在編程結(jié)束時一定要寫上該指令,否則會出錯。在調(diào)試程序時,在程序的適當(dāng)位置插入MEND指令可以實現(xiàn)程序的分段調(diào)試。
必須指出的是,STEP7-Micro/Win32沒有無條件結(jié)束指令,但它會自動加一無條件結(jié)束指令到每一個主程序的結(jié)尾。
跳轉(zhuǎn)指令可以使PLC編程的靈活性大大提高,使主機可根據(jù)不同條件的判斷,選擇不同的程序段執(zhí)行程序。
JMP (Jump to Lable):跳轉(zhuǎn)指令,當(dāng)輸入端有效時,使程序的執(zhí)行跳轉(zhuǎn)到的標(biāo)號。執(zhí)行跳轉(zhuǎn)后,邏輯堆棧頂總為1。
LBL(Lable):跳轉(zhuǎn)的目標(biāo)標(biāo)號。操作數(shù)n:0~255。
跳轉(zhuǎn)指令及標(biāo)號形式如表7.9所示。
圖7.15所示為跳轉(zhuǎn)指令及標(biāo)號的例子。
表7.9 跳轉(zhuǎn)指令及標(biāo)號形式


圖7.15 跳轉(zhuǎn)指令及標(biāo)號的例子
必須強調(diào)的是,跳轉(zhuǎn)指令及標(biāo)號必須同在主程序內(nèi),或在同一子程序、同一中斷服務(wù)程序內(nèi),不可由主程序跳轉(zhuǎn)到中斷服務(wù)程序或子程序中,也不可由中斷服務(wù)程序或子程序跳轉(zhuǎn)到主程序中。
S7-200系列PLC為用戶提供了三種類型的計數(shù)器:增計數(shù)器CTU (Count Up)、減計數(shù)器CTD (Count Down)和增/減計數(shù)器CTUD (Count Up] Down)。
計數(shù)器的當(dāng)前值、設(shè)定值均用16bit有符號整數(shù)來表示,大計數(shù)值為32767。
1.計數(shù)器編號
計數(shù)器編號用計數(shù)器的名稱和常數(shù)(0~255)編號,即C***,如C20。
2.計數(shù)器指令使用說明
計數(shù)器指令的格式如表7.6所示。
表7.6 計數(shù)器指令格式

(1)增計數(shù)器
增計數(shù)器指令(CTU)在每一個CU輸入的上升沿(從OFF到ON),從當(dāng)前計數(shù)值開始遞增計數(shù)。當(dāng)復(fù)位輸入(R)置位或者執(zhí)行復(fù)位指令時,計數(shù)器復(fù)位。計數(shù)器在達(dá)到大計數(shù)值(32767)時,停止計數(shù)。

(2)減計數(shù)器
減計數(shù)器指令(CTD)輸入端有上升沿時,減計數(shù)器每次從計數(shù)器的當(dāng)前值減計數(shù)。當(dāng)裝載輸入端接通時,計數(shù)器復(fù)位并把預(yù)設(shè)值裝入當(dāng)前值。當(dāng)計數(shù)器達(dá)到0時,計數(shù)器位接通。
(3)增/減計數(shù)器
增/減計數(shù)器指令( CTUD)在每個CU輸入的上升沿,從當(dāng)前計數(shù)值開始遞增計數(shù)。在每個CD輸入的上升沿遞減計數(shù)。當(dāng)復(fù)位輸入(R)置位或執(zhí)行復(fù)位指令時,計數(shù)器復(fù)位。在達(dá)到計數(shù)器大值32767后,下一個CU輸入上升沿將使計數(shù)值變?yōu)樾≈担?/span>-32768)。同樣在達(dá)到小計數(shù)值(-32768)后,下一個CD輸入上升沿將使計數(shù)值變?yōu)榇笾?/span>(32767)。
增計數(shù)器和增/減計數(shù)器的當(dāng)前值記錄當(dāng)前的計數(shù)值。該種計數(shù)器的預(yù)置值在計數(shù)器指令執(zhí)行期間用來與當(dāng)前值作比較,當(dāng)前值大于等于預(yù)置值時,該計數(shù)器位被置位(ON),否則,計數(shù)器位被復(fù)位(OFF)。
當(dāng)用復(fù)位指令復(fù)位計數(shù)器時,計數(shù)器位被復(fù)位,并且當(dāng)前值清零。參照計數(shù)器的當(dāng)前值和計數(shù)器位使用計數(shù)器號。
值得注意的是,由于每個計數(shù)器只有一個當(dāng)前值,請不要把一個計數(shù)器號分配給幾個類型的計數(shù)器(增計數(shù)器、減計數(shù)器和增/減計數(shù)器都使用同一個當(dāng)前值)。
CTU/CTUD指令使用要點:
1)在STL形式中,CU、CD和R的順序不能錯。
2) CU、CD和R信號可為復(fù)雜邏輯關(guān)系。
圖7.13所示為減計數(shù)器應(yīng)用舉例。

圖7.13 減計數(shù)器應(yīng)用舉例

甘肅西門子S7-200SMARTPLC模塊代理經(jīng)銷商