FOR語句在控制變量處于指定的值范圍內(nèi)時用來重復(fù)語句序列??刂谱兞勘仨毷荌NT或DINT類型的本地變量的標(biāo)識符。FOR循環(huán)的定義包括一個初始值和一個終止值的說明。兩個值必須與控制變量是同類型。
FOR語句如下執(zhí)行:
在循環(huán)的開始。控制變量設(shè)置為初始值(初始化賦值),每次循環(huán)重復(fù),其增加(正增量)或減少(負增量)一個增量,直到達到終止值。
接著循環(huán)的每次運行,檢查條件(終止值達到)證實是否滿足。如果條件滿足,語句序列被執(zhí)行,否則跳過循環(huán)及其語句序列。
規(guī)則(Rules)
FOR語句的規(guī)則:
控制變量只能是INT或DINT數(shù)據(jù)類型。
能夠省去語句BY [增量]。如果不指定增量,則自動指定為+1。
初始賦值(Initial Assignment)
控制變量的初始值有下列語法。在賦值左邊的簡單變量必須是數(shù)據(jù)類型INT或DINT。
有效的初始賦值的例子:
FOR I := 1 TO 20
FOR I := 1 TO (START + J)
終止值和增量(Final Value and Increment)
能夠為終止值和所要求的增量寫一個基本表達式。此基本表達式有下列語法:
能夠省去語句BY [increment]。如果沒指定增量,則自動指定為+1。
初始值、終止值和增量是表達式(見"表達式、運算符和地址")。當(dāng)FOR語句執(zhí)行時,起先對他們進行求值。
循環(huán)執(zhí)行后,不允許對終止值和增量值進行更改。
例子(Example)
FUNCTION_BLOCK FOR_EXA
VAR
INDEX : INT ;
IDWORD : ARRAY [1..50] OF STRING;
END_VAR
BEGIN
FOR INDEX := 1 TO 50 BY 2 DO
IF IDWORD [INDEX] = 'KEY' THEN
EXIT;
END_IF;
END_FOR;
實例: VASS標(biāo)準(zhǔn)中用確認(rèn)類型合格的語句:
iTypAnz := WORD_TO_INT(pDB_STyp.Anz) / 12; 108/12=9
iRBSAnz := WORD_TO_INT(pDB_RBS.Anz) / 1666;6664/1666=4
IF (HAND OR Auto) AND NOT xUebern AND NOT FM_Reset AND xRBS_PZ_IO THEN
---如果在手動或者自動模式時沒有完成信號復(fù)位,有傳遞車型號正確時--
FOR iLauf := 1 TO iTypAnz BY 1 DO ---開始循環(huán)查9次找已有類型-
FOR i := 1 TO iRBSAnz BY 1 DO循環(huán)檢查給入數(shù)4位
IF tempDB_STyp.Typ[iLauf].arrText[i] = arrRBS[i]
OR tempDB_STyp.Typ[iLauf].arrText[i] = 'X' AND NOT cfg.X2
OR tempDB_STyp.Typ[iLauf].arrText[i] = '~' AND cfg.X2
THEN
如果在比較時有相等的,或者在比較位中有'X'或'~'時可以不比較,但是必須在cfg.X2上進行設(shè)置.那么車型號碼位合格被激活.
arrSTyp_IO[i] := True;有一位車型號碼合格
ELSE 如果沒有相同的,或是滿足條件的就退出循環(huán)
EXIT; 退出循環(huán)
END_IF; 結(jié)束IF
END_FOR;
IF arrSTyp_IO[iRBSAnz] THEN如果有一位車型號碼合格,就轉(zhuǎn)存
_wData := tempDB_STyp.Typ[iLauf].Data;
EXIT;退出循環(huán)
END_IF;
END_FOR;結(jié)束循環(huán)
xSTyp_IO := arrSTyp_IO[iRBSAnz]; 發(fā)出車型號碼合格
xSTyp_NIO := NOT xSTyp_IO;發(fā)出車型號碼不合格
END_IF;
編輯:jq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7073瀏覽量
89136 -
for
+關(guān)注
關(guān)注
0文章
44瀏覽量
15826 -
dint
+關(guān)注
關(guān)注
0文章
3瀏覽量
1579
原文標(biāo)題:西門子SCL語言for 循環(huán)事例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論