STステートメント:FOR
The FOR
ループは、特定の繰り返し回数でステートメントを実行するために使用されます。
構文:
FOR <counter> := <start value> TO <end value> {BY <increment> } DO <instructions> END_FOR;
中括弧{}内のセクションはオプションです。
CODESYS を実行します <instructions>
限り <counter>
が大きくない–または負の場合 increment
ステップ未満– <end value>
。これは、実行前にチェックされます <instructions>
。
毎回 <instructions>
ステートメントが実行されました、カウンター <counter>
増分によって自動的に増加します <increment>
。増分 <increment>
任意の整数値を持つことができます。増分を指定しない場合、標準の増分は次のようになります。 1
。
例 71. 例
FOR iCounter := 1 TO 5 BY 1 DO iVar1 := iVar1*2; END_FOR; Erg := iVar1;
事前設定している場合 iVar1
と 1
、 iVar1
値があります 32
FORループの後。
注意
終了値<終了値>は、カウンターのデータ型の上限と同じ値を取得してはなりません。
カウンターの終了値がカウンターのデータ型の上限と等しい場合、無限ループが発生します。たとえば、次の場合、無限ループは上記の例になります。 iCounter
データ型です SINT
そしてその <end value>
等しい 127
、データ型から SINT
上限があります 127
。
IEC 61131-3規格の拡張として、次のものを使用できます。 継続する
内のステートメント FOR
ループ。