Main Content

Stateflow ソフトウェア機能のサポートの制限事項

Simulink® Design Verifier™ では Stateflow® ソフトウェアの以下の機能はサポートされません。解析するモデルでは、サポートされない機能の使用は避けてください。

ml 名前空間演算子、ml 関数、ml 式

MATLAB® 関数の呼び出しまたは MATLAB ワークスペース変数へのアクセスは Stateflow ソフトウェアでは可能ですが、このソフトウェアではサポートされていません C チャート内の MATLAB 関数およびワークスペース データへのアクセス (Stateflow)を参照してください。

C または C++ の演算子

sizeof 演算子は、Stateflow ソフトウェアで使用できますが、このソフトウェアではサポートされていません。

C の数学関数

以下の C の数学関数の呼び出しがサポートされています。

  • abs

  • ceil

  • fabs

  • floor

  • fmod

  • labs

  • ldexp

  • pow (整数の指数のみ)

その他の C の数学関数は Stateflow ソフトウェアでは呼び出せますが、このソフトウェアではサポートされていません。自動スタブが有効な場合 (既定の設定)、解析時にこれらのサポートされない関数は削除されます。

Stateflow における C の数学関数の詳細については、C チャートでの C ライブラリ関数の呼び出し (Stateflow)を参照してください。

メモ

自動スタブについての詳細は、自動スタブによる非互換性処理を参照してください。

サブチャート外でエクスポートされたグラフィカル関数を呼び出す Atomic サブチャート

エクスポートされたグラフィカル関数を呼び出す Atomic サブチャートは Stateflow ソフトウェアでサポートされていますが、このソフトウェアではサポートされていません。

メモ

エクスポートされた関数の詳細については、再利用のための Stateflow 関数のエクスポート (Stateflow)を参照してください。

Atomic サブチャートの入出力マッピング

Atomic サブチャートの入出力が異なるスコープのチャートレベルのデータにマッピングされている場合、その Atomic サブチャートが含まれるチャートはサポートされません。

Atomic サブチャートの入力にこの非互換性が適用されるのは、入力のマッピング先が、出力、ローカルまたはパラメーター スコープのチャートレベル データの場合です。Atomic サブチャートの出力にこの非互換性が適用されるのは、出力のマッピング先が、ローカル スコープのチャートレベルのデータの場合です。

再帰および循環動作

再帰関数はサポートされません。この関数は、関数が自分自身を直接的、あるいは他の関数呼び出しから間接的に呼び出す際に生起します。Stateflow ソフトウェアでは、グラフィカル関数を使用して再帰の実装が可能です。

また、Stateflow ソフトウェアではイベント ブロードキャストと関数呼び出しの組み合わせを使用して再帰を実装できますが、このソフトウェアではサポートされません。

メモ

Stateflow チャートでの再帰の回避の詳細については、チャートでの望ましくない再帰の回避 (Stateflow)を参照してください。

Stateflow ソフトウェアでは、"循環動作" を生成できます。ここでは、ステップのシーケンスは無限に繰り返されます。循環動作を含むチャートがモデルにある場合、それを解析できません。

メモ

Stateflow チャートでの循環動作の詳細については、循環動作の検出 (Stateflow)を参照してください。

ただし、次の例のように、循環動作を含むチャートを変更して互換性をもたせることができます。

以下のチャートは循環動作を生成します。状態 A は状態 A1 を呼び出します。これにより、Clear イベントが状態 B にブロードキャストされ、状態 B2 を呼び出します。これにより、また Set イベントが状態 A にブロードキャストされることで、循環動作が発生します。

関数 send の呼び出しを変更して Set および Clear イベントがそれぞれ状態 B1 および A1 に直接ブロードキャストされるように直接イベント ブロードキャストを使用する場合、循環動作は消え、モデルを解析できます。

メモ

直接イベント ブロードキャストの利点の詳細については、ローカル イベントをブロードキャストしてパラレル ステートを同期 (Stateflow)を参照してください。

カスタム C/C++ コード

モデルがカスタム C/C++ コードから構成されている場合、Simulink Design Verifier は、次の設定に基づいて解析をサポートします。

  • カスタム コードのインポート オプションとカスタム コード解析オプションを有効にすると、カスタム C/C++ コードが解析でサポートされます。詳細については、カスタム コードのインポートおよびカスタム コード解析を有効にするを参照してください。

  • カスタム コードのインポート オプションとカスタム コード解析オプションの有効化が Off に設定されている場合、モデルは解析に対して互換性がありますが、カスタム コードの呼び出しは解析中にスタブされます。

  • カスタム コードのインポート オプションが Off に設定されている場合、カスタム コードはサポートされず、モデルは解析に対して互換性がありません。

リテラル文字列引数をもつテキスト形式の関数

Stateflow チャート内の、テキスト形式の関数へのリテラル文字列引数はサポートされていません。

端子を含む Stateflow チャート

entry 端子または exit 端子を含む Stateflow チャートについては、エクスポート関数およびサブシステムのビルドはサポートされません。