Main Content

For Iterator

For Iterator Subsystem の制御ブロック

  • For Iterator block

説明

Subsystem ブロックに配置された For Iterator ブロックは、反復変数が指定された反復制限を超えるまで、現在のタイム ステップの間サブシステムの実行を繰り返します。このブロックを使用して、プログラミング言語の for ループに相当するブロック線図を実装できます。

For Iterator Subsystem ブロックの出力を関数呼び出し信号にすることはできません。モデルの更新時に Simulink® がエラー メッセージを表示します。

端子

入力

すべて展開する

  • 入力端子は、数値データ型の混在を許可します。

  • 入力端子の値が非整数の場合は、はじめに整数に切り詰められます。

  • 内部で、入力値は反復変数出力端子に対して指定されたタイプの整数に変換されます。

  • 出力端子が指定されなかった場合、入力端子の値はタイプ int32 に変換されます。

  • 入力端子の値が出力端子タイプの最大値を超えた場合、オーバーフローは飽和します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

出力

すべて展開する

[反復変数の表示] パラメーターのチェック ボックスをオンにすると、出力端子がこのブロックに追加されます。

データ型: double | int8 | int16 | int32 | uint8 | uint16 | uint32

パラメーター

すべて展開する

タイム ステップ間でのブロックの状態の処理方法を選択します。

保持

タイム ステップ間でブロックの状態を保持します。ブロックの状態値はタイム ステップ間にわたって持続します。

リセット

各タイム ステップの最初および最初の反復ループが実行される前にブロックの状態を初期値にリセットします。

プログラムでの使用

ブロック パラメーター: ResetStates
: 文字ベクトル
: 'held' | 'reset'
既定の設定: 'held'

反復回数のソースを選択します。

内部

[反復制限] パラメーターの値によって反復回数が決まります。

外部

N 端子の信号の値によって反復回数が決まります。信号ソースは For Iterator Subsystem ブロックの外部になければなりません。

依存関係

[内部] を選択すると、[反復制限] パラメーターが表示され、有効になります。[外部] を選択すると N というラベル付きの入力端子が追加されます。

プログラムでの使用

ブロック パラメーター: IterationSource
: 文字ベクトル
: 'internal' | 'external'
既定の設定: 'internal'

反復回数を指定します。このパラメーターは、ストレージ クラスをサポートします。モデル エクスプローラーのベース ワークスペースで名前付き定数を組み込みのストレージ クラス Define (custom) タイプの Simulink.Parameter オブジェクトとして定義できます。

5

For Iterator Subsystem ブロック内のブロックを 5 回反復します。

整数

整数または名前付きの定数変数を指定します。

依存関係

このパラメーターを有効にするには、[反復制限元] ドロップダウン リストから [内部] を選択します。

プログラムでの使用

ブロック パラメーター: IterationLimit
: 文字ベクトル
: '5' | '<integer>'
既定の設定: '5'

入力端子の表示を制御します。

オフ

入力端子を削除します。

オン

外部の反復変数ソースに接続するための Next_i というラベルの付いた入力端子を追加します。現在の反復での入力の値が、次回の反復での反復変数の値として使用されます。

依存関係

このパラメーターを有効にするには、1:N というラベルの付いた出力端子も表示する [反復変数の表示] パラメーターを選択します。

プログラムでの使用

ブロック パラメーター: ExternalIncrement
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

ループの現在の反復子の値を使用して、出力端子の表示を制御します。

オン

1:N というラベル付きの出力端子を For Iterator ブロックに追加します。

オフ

出力端子を削除します。

依存関係

このパラメーターを選択すると、[次の i (反復変数) を外部で設定] パラメーターが有効になります。

プログラムでの使用

ブロック パラメーター: ShowIterationPort
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'on'

最初の反復番号 (0 または 1) を選択します。

[1 ベース]

反復番号は 1 から始まります。

0 ベース

反復番号は 0 から始まります。

プログラムでの使用

ブロック パラメーター: IndexMode
: 文字ベクトル
: 'One-based' | 'Zero-based'
既定の設定: 'One-based'

反復回数の端子から出力される反復値のデータ型を設定します。反復変数の最大許容値は [インデックス モード] パラメーターおよび [反復変数のデータ型] パラメーターによって決まります。たとえば、[インデックス モード][1 ベース][反復変数のデータ型][int8] に設定した場合、反復変数の最大許容値は 27-1 です。しかし、[反復変数のデータ型][uint32] または [double] に設定した場合、反復変数の最大許容値は符号付き 32 ビット整数 (int32) の正の最大値に制限されます。各種整数クラスの値の範囲の詳細については、整数を参照してください。

int32

データ型を int32 に設定します。

uint32

データ型を uint32 に設定します。

int16

データ型を int16 に設定します。

uint16

データ型を uint16 に設定します。

int8

データ型を int8 に設定します。

uint8

データ型を uint8 に設定します。

double

データ型を double に設定します。

プログラムでの使用

ブロック パラメーター: IterationVariableDataType
: 文字ベクトル
: 'int32' | 'uint32' | 'int16' | 'uint16' | 'int8' | 'uint8' | 'double'
既定の設定: 'int32'

バージョン履歴

R2006a より前に導入