Main Content

MATLAB Function ブロック、Chart ブロック、および Truth Table ブロックでの代数ループ エラーの回避

特定の設定を適用する場合、モデル内のフィードバック ループで MATLAB Function ブロック、Chart ブロック、および Truth Table ブロックを使用できます。これらのブロックは State Control ブロックで有効にされた同期サブシステムでも使用できます。代数ループまたは同期セマンティック エラーを回避するには、次の制限を適用します。

ブロック制限
Chart (Stateflow)

Moore チャートを使用して代数ループを回避します。プロパティ インスペクターで、[ステート マシン タイプ]Moore に設定します。Moore チャートでは、出力が確実に現在の状態にのみ依存することで代数ループを回避します。

MATLAB Function

非直達のセマンティクスでは、出力が確実に現在の状態にのみ依存することで代数ループ エラーを回避します。非直達を有効にするには、[直達を許可] プロパティをオフにします。

[直達を許可] が選択されている場合、以下は行わないでください。

  • インポートした関数を呼び出す。

  • 出力関数呼び出しイベントを定義する。

  • 永続変数を定義または使用する。

これらのガイドラインに従う場合は、Simulink® ソルバーによる結果の代数ループの解決を許可します。

Truth Table (Stateflow)

実行不可:

  • インポートした関数を呼び出す。

  • ローカルまたは出力の関数呼び出しイベントを定義する。

  • ローカルまたはデータ ストア メモリ データを定義する。

  • 永続変数を定義または使用する。

これらのガイドラインに従う場合は、Simulink ソルバーによる結果の代数ループの解決を許可します。

関連するトピック