最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

西門子S7-200程序控制指令

2022-11-20 11:00 作者:張框子zZ  | 我要投稿

? ? ? ?程序控制指令用于對程序流轉(zhuǎn)的控制,可以控制程序的結(jié)束、分支、循環(huán)、子程序或中斷程序調(diào)用等。通過程序控制指令的合理應(yīng)用,可以使程序結(jié)構(gòu)靈活、層次分明,增強程序功能。

1)結(jié)束指令END/MEND

END指令用于在執(zhí)行條件成立時結(jié)束主程序,返回程序起點。MEND指令則是編程軟件STEP7-Micro/WIN32自動在主程序結(jié)束時加上的,用于標(biāo)志主程序的結(jié)束。

指令說明

(1)兩條指令均為無操作數(shù)指令。

(2)結(jié)束指令只能用于主程序中,不能在子程序和中斷程序中使用。

2)暫停指令 ?STOP

在執(zhí)行條件成立時,能夠使PLC的運行方式從運行狀態(tài)(RUN)轉(zhuǎn)為停止?fàn)顟B(tài)(STOP),同時立即終止程序的執(zhí)行。

I0.0閉合時,STOP指令運行,PLC工作方式立即從運行轉(zhuǎn)變?yōu)橥V狗绞?。I0.0為斷開,則程序正常運行。

STOP指令在程序中常用于處理突發(fā)緊急事件;STOP指令無操作數(shù)。

3)監(jiān)視定時器復(fù)位指令WDR

為保證CPU系統(tǒng)可靠運行,PLC內(nèi)部設(shè)置了系統(tǒng)監(jiān)視定時器WDT(watch dog timer),用于監(jiān)視掃描周期是否超時。系統(tǒng)正常工作時掃描周期會小于WDT的定時設(shè)置值(默認為300ms),在每個掃描周期內(nèi)掃描到WDT時,系統(tǒng)都會對WDT復(fù)位一次,從而保證WDT不會報警。但當(dāng)系統(tǒng)出現(xiàn)故障時,掃描周期有可能超過WDT的定時設(shè)置值,這時WDT 不能在設(shè)置值范圍內(nèi)被復(fù)位,則報警并停止CPU運行,同時復(fù)位輸入輸出。

? ? ? ? 但有時在程序正常運行情況下,由于程序過長或使用中斷指令、循環(huán)指令會使掃描周期超過WDT定時器的設(shè)置值,為避免使監(jiān)視定時器動作,就需要在程序中使用WDR指令人為復(fù)位WDT定時器。

I0.0閉合時,WDR指令運行,復(fù)位系統(tǒng)監(jiān)視定時器WDT。

4)跳轉(zhuǎn)與標(biāo)號指令 JMP、LBL

(其中N為0~255的常數(shù))

JMP 跳轉(zhuǎn)指令,在預(yù)置觸發(fā)信號接通時,使程序跳轉(zhuǎn)到N 所指定的相應(yīng)標(biāo)號處。

LBL標(biāo)號指令,標(biāo)記跳轉(zhuǎn)的目的地的位置。由N來標(biāo)記與哪個JMP指令對應(yīng)。

圖為JMP、LBL指令應(yīng)用:

在I0.0閉合期間,程序會從Network1跳轉(zhuǎn)到Network8的標(biāo)號1處繼續(xù)運行。在跳轉(zhuǎn)發(fā)生過程中,被跳過的程序段Network2到Network7停止執(zhí)行。

指令說明

(1)JMP和LBL指令必須成對使用于主程序、子程序或中斷程序中。主程序、子程序或中斷程序之間不允許相互跳轉(zhuǎn)。

(2)多條跳轉(zhuǎn)指令可對應(yīng)同一標(biāo)號,但不允許一個跳轉(zhuǎn)指令對應(yīng)多個相同標(biāo)號。

(3)執(zhí)行跳轉(zhuǎn)指令時,跳過的程序段中各元件的狀態(tài)如下① 各輸出線圈保持跳轉(zhuǎn)前的狀態(tài)。

②計數(shù)器停止計數(shù),當(dāng)前值保持跳轉(zhuǎn)之前的計數(shù)值。

③ 1ms、10ms定時器保持跳轉(zhuǎn)之前的工作狀態(tài),原來工作的繼續(xù)工作,到設(shè)置值后可以正常動作,當(dāng)前值要累計到32767才停止。100ms定時器在跳轉(zhuǎn)時停止工作,但不會復(fù)位,當(dāng)前值保持不變,跳轉(zhuǎn)結(jié)束后若條件允許可繼續(xù)計時,但已不能準(zhǔn)確計時了。

(4)標(biāo)號指令LBL一般放置在JMP指令之后,以減少程序執(zhí)行時間。若要放置在JMP指令之前,則必須嚴(yán)格控制跳轉(zhuǎn)指令的運行時間,否則會引起運行瓶頸,導(dǎo)致掃描周期過長。

例:某生產(chǎn)線對產(chǎn)品進行加工處理,同時利用增減計數(shù)器對成品進行累計,每當(dāng)檢測到100個成品時,就要跳過某些控制程序,直接進入到小包裝控制程序。每當(dāng)檢測到900個成品(9個小包裝),直接進入到大包裝程序。相關(guān)控制程序如圖:

5).循環(huán)指令FOR和NEXT

INDX記錄循環(huán)次數(shù),每執(zhí)行1次循環(huán)體,自動加1,并與終值比較,大于時,停止;

INIT:循環(huán)次數(shù)的初值;FINAL:循環(huán)次數(shù)的終值

◆FOR 標(biāo)記循環(huán)程序的開始。

◆NEXT 標(biāo)記循環(huán)程序的結(jié)束無操作數(shù)。

◆FOR與NEXT共同構(gòu)成循環(huán)指令,用于重復(fù)執(zhí)行指定次數(shù)的FOR與NEXT之間的循環(huán)體指令段。


指令說明

(1)FOR、NEXT指令必須成對使用。

(2)初值大于終值時,循環(huán)指令不被執(zhí)行。

(3)每次EN端口執(zhí)行條件重新有效時,自動復(fù)位各參數(shù),同時將INIT指定初值放入當(dāng)前循環(huán)計數(shù)器中,使循環(huán)指令可以重新執(zhí)行。

INDX記錄循環(huán)次數(shù),從1開始計數(shù),每執(zhí)行1次循環(huán)體,自動加1,并與終值比較,大于時,停止;

INIT指定循環(huán)次數(shù)的初值;FINAL指定循環(huán)次數(shù)的終值

指令應(yīng)用舉例

圖為FOR、NEXT指令應(yīng)用。當(dāng)l0.0接通時,將INIT指定初值放入W100中,開始執(zhí)行循環(huán)體,W100中的值從1增加到8,循環(huán)體執(zhí)行8次,WW100中的值變?yōu)?(9>8)時,循環(huán)結(jié)束。

FOR、NEXT指令應(yīng)用

6).子程序

(1)建立子程序

可以選擇編程軟件“編輯”--“插入”--“子程序”。默認的子程序名為SBR_N,編號N的范圍為0~63,從0開始按順序遞增;

也可以通過重命名命令為子程序改名。

(2)子程序調(diào)用與返回指令CALL、CRET指令

CALL 子程序調(diào)用指令,當(dāng)EN端口執(zhí)行條件存在時,將主程序轉(zhuǎn)到子程序入口開始執(zhí)行子程序。SBR_N是子程序名,標(biāo)志子程序人口地址。

CRET 有條件子程序返回指令,在其邏輯條件成立時,結(jié)束子程序執(zhí)行,返回主程序中的子程序調(diào)用處繼續(xù)向下執(zhí)行。

子程序調(diào)用應(yīng)用舉例1

a)I0.0閉合,調(diào)用子程序SBR_0,子程序所有指令執(zhí)行完畢,返回主程序調(diào)用處,繼續(xù)執(zhí)行主程序。每個掃描周期子程序運行一次,直到I0.0斷開。在子程序調(diào)用期間,若I0.1閉合,則線圈Q0.0接通。

b)在M0.0閉合期間,調(diào)用子程序DIANJI,在子程序執(zhí)行期間,若I0.3閉合,則線圈Q0.1接通;I0.4斷開且I0.5閉合,則MOV_B指令執(zhí)行;若I0.4閉合,則執(zhí)行有條件子程序返回指令CRET,程序返回主程序繼續(xù)執(zhí)行,MOV_B指令不運行。

例2:2重循環(huán)程序

7).與ENO指令

某些指令的指令盒右側(cè)設(shè)有"ENO"使能輸出,若EN端有"能流"且指令被正常執(zhí)行,則ENO端會將"能流"輸出,傳送到下一個程序單元。如果指令運行出錯,ENO端狀態(tài)為0。


西門子S7-200程序控制指令的評論 (共 條)

分享到微博請遵守國家法律
伊吾县| 兴国县| 德保县| 板桥市| 墨竹工卡县| 库尔勒市| 理塘县| 惠安县| 余庆县| 日喀则市| 达尔| 寿宁县| 安塞县| 平和县| 旬邑县| 舒兰市| 河池市| 仪征市| 巍山| 邯郸县| 定远县| 鹤山市| 邵阳市| 红原县| 兰州市| 当阳市| 万年县| 麻阳| 长沙市| 青海省| 长阳| 左云县| 大兴区| 神木县| 石家庄市| 安康市| 通海县| 泰兴市| 德钦县| 景德镇市| 水富县|