最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

MATLAB 関数と Stateflow ブロックでの代数ループ エラーの回避

モデル内のフィードバック ループで Stateflow チャート、MATLAB Function ブロックおよび Stateflow® 真理値表を使用できます。これらのブロックは State Control ブロックで有効にされた同期サブシステムで使用することもできます。代数ループまたは同期セマンティック エラーを回避するには、次の制限を適用します。

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

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

ブロックで直達を使用する場合は、次を行わないでください。

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

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

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

これらの制限を適用する場合は、Simulink® ソルバーによる代数ループの解決を許可します。

Truth Table

実行不可:

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

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

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

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

  • マシンを親とするデータまたはイベントを使用する。

これらの制限を適用する場合は、Simulink ソルバーによる代数ループの解決を許可します。

参考

|

関連するトピック