湖南西門子S7-1500PLC模塊代理(量大從優(yōu))

西門子S7-200型PLC的程序循環(huán)指令
程序循環(huán)結(jié)構(gòu)可以描述需重復(fù)執(zhí)行一定次數(shù)的程序片斷,即循環(huán)體。循環(huán)程序設(shè)計用的指令有兩條:FOR和NEXT。
(1)循環(huán)開始
FOR為循環(huán)開始指令,見圖6-258。用來標記循環(huán)體的開始,在梯形圖中有3個數(shù)據(jù)輸入端:INDX(當前循環(huán)計數(shù))、INTT(循環(huán)初值)和FINAL(循環(huán)終值)。
圖6-258 循環(huán)指令
(2)循環(huán)結(jié)束
NEXT為循環(huán)結(jié)束指令,用來標記循環(huán)體的結(jié)束,并且將棧頂置1。該指令無操作數(shù)。FOR和NEXT之間的程序部分為循環(huán)體,兩條指令必須成對使用。例如,設(shè)定循環(huán)初值INTT為1,終值FINAL為20,使能輸入有效時,執(zhí)行循環(huán)體,同時INDX從1開始計數(shù),執(zhí)行一次循環(huán)體,INDX當前計數(shù)值加1,直到20次,當前計數(shù)值也增到20,此時系統(tǒng)終止循環(huán)。
在循環(huán)執(zhí)行的過程中,可以修改循環(huán)終值,也可在循環(huán)體內(nèi)部用指令修改終值。使能輸入有效時,循環(huán)一直執(zhí)行,直到循環(huán)結(jié)束。
FOR和NEXT循環(huán)體內(nèi)部可以再含有FOR、NEXT循環(huán)體,稱為循環(huán)嵌套,嵌套層多為8層。每次使能輸入重新有效,指令自動將各參數(shù)復(fù)位。
指令格式:FOR INDX, INTT, FINAL(循環(huán)開始指令),NEXT(循環(huán)結(jié)束指令)。
例:程序循環(huán)舉例,見圖6-259。
圖6-259 程序循環(huán)
子程序在結(jié)構(gòu)化程序設(shè)計中是一種方便有效的工具。與子程序相關(guān)的操作有:建立子程序,子程序調(diào)用與返回等。
(1)建立子程序
可用編程軟件Edit菜單中的Insert選項,選擇Subroutine,以建立或插入一個新的子程序,同時在指令樹窗口可以看到新建的子程序圖標,默認的子程序名是SBR_N,編號N從0開始按遞增順序生成,可以在圖標上直接更改子程序的程序名。在指令樹窗口雙擊子程序圖標就可對它進行編輯。
(2)子程序調(diào)用
主程序可以用子程序調(diào)用指令來調(diào)用一個子程序。子程序執(zhí)行結(jié)束必須返回主程序。
CALL為子程序調(diào)用指令,見圖6-256。使能輸入有效時,主機把程序控制權(quán)交給子程序name。子程序調(diào)用可以帶參數(shù),也可以不帶參數(shù)。在梯形圖中,以指令盒的形式編程,指令盒名為子程序名name。
指令格式:CALL name
例:CALL SBR_0
CRET為子程序條件返回指令,見圖6-257。在使能輸入有效時,結(jié)束子程序的執(zhí)行,返回主程序中,此子程序調(diào)用指令的下一條指令。梯形圖中,以線圈的形式編程,指令不帶參數(shù)。
圖6-256 子程序調(diào)用指令
圖6-257 子程序條件返回指令
指令格式:CRET(條件返回)
例:CRET(條件返回)
跳轉(zhuǎn)能使PLC程序的靈活性和智能性大大提高,可以使主機根據(jù)對不同條件的判斷,選擇不同的程序段執(zhí)行。跳轉(zhuǎn)采用匯編語言宏指令的形式。用跳轉(zhuǎn)指令和標號指令配合實現(xiàn)。與跳轉(zhuǎn)相關(guān)的指令有JMP和LBL。
(1)跳轉(zhuǎn)指令
JMP為跳轉(zhuǎn)指令,見圖6-253。使能輸入有效時,使程序流程跳到同一程序中的標號N處執(zhí)行。執(zhí)行跳轉(zhuǎn)指令時,邏輯堆棧的棧頂值總是1。
(2)標號指令
LBL為標號指令,見圖6-254。標記程序段,作為跳轉(zhuǎn)指令執(zhí)行時的目的位置。操作數(shù)為N~ 255的字型數(shù)據(jù)。JMP和LBL指令只能配合使用在同一程序塊,如主程序、同一子程序和同一中斷程序中。
圖6-253 跳轉(zhuǎn)指令
圖6-254 標號指令
指令格式:JMP N
LBL N
例:見圖6-255。用加減計數(shù)器進行計數(shù),如果當前值小于500,則程序按原順序執(zhí)行,若當前值超過500,則跳轉(zhuǎn)到標號為10的程序執(zhí)行。
圖6-255 程序跳轉(zhuǎn)實例
湖南西門子S7-1500PLC模塊代理(量大從優(yōu))