このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Stateflow ブロックからの C または C++ コードの生成
Stateflow® チャートを含む Simulink® モデルから C または C++ のコードを生成するには、Simulink Coder™ を使用しなければなりません。Simulink Coder に加え、Embedded Coder® を使用して、さらに読みやすくコンパクトで高速に実行できるコードにすることができます。
Simulink Coder を使用したコードの生成
Simulink Coder を使用すると、Stateflow チャートを含むモデルから C および C++ のコードを生成することができます。その後、生成されたコードを次のようなリアルタイムや非リアルタイムのアプリケーションに使用できます。
シミュレーションの高速化
ラピッド プロトタイピング
ハードウェアインザループ (HIL) テスト
Simulink Coder を使用すると、アクセラレータ モードとラピッド アクセラレータ モードにもアクセスできます。アクセラレータ モードは、後で実行に使用されるターゲット コードを生成することによって機能します。これらのモードの詳細については、アクセラレータ モードの動作 (Simulink)を参照してください。
HIL テストでは、コントローラー設計をテストして物理システム モデルが有効かどうかを判定できます。
詳細については、Simulink Coder を使用したコード生成 (Simulink Coder)を参照してください。
Embedded Coder を使用したコードの生成
Embedded Coder を追加すると、さらにコンパクトで読み取りやすく、高速に実行できる C や C++ のコードを生成できます。また、Embedded Coder は、生成された関数、ファイル、データの制御を可能にすることにより、Simulink Coder の機能を拡張します。さらに、Embedded Coder を使用すると、レガシ コードやデータ型、キャリブレーション パラメーターとの統合が簡単になります。Embedded Coder は AUTOSAR、MISRA C、および ASAP 2 のソフトウェア標準に対応しています。
Embedded Coder は、特定のハードウェア向けの高度な最適化とデバイス ドライバーを備えたサポート パッケージも提供します。
詳細については、Embedded Coder を使用したコード生成 (Embedded Coder)を参照してください。
Stateflow に対して生成されたコードの最適化
Stateflow オブジェクトから生成されたコードを最適化するための設計のヒントについては、コード生成に向けて Stateflow オブジェクトを最適化する設計手法 (Embedded Coder)を参照してください。
ラピッド プロトタイピングおよび量産展開用のコードの生成
目的 | Simulink Coder ドキュメンテーション | Embedded Coder ドキュメンテーション |
---|---|---|
C/C++ ソース コードの生成 | ソース コードの生成 (Simulink Coder) | ソース コードの生成 (Embedded Coder) |
C/C++ ソース コードの生成と実行可能ファイルのビルド | 生成されたコードのコンパイル (Simulink Coder) | 生成されたコードのコンパイル (Embedded Coder) |
外部コードの統合 | 外部コードのインポート (Simulink Coder) | 外部コードのインポート (Embedded Coder) |
複数モデルでの使用を目的とした、移植可能な内蔵型ライブラリ内のライブラリ チャートのみを対象とする外部コードのインクルード | Integrate External Code with Library Charts (Simulink Coder) | Integrate External Code with Library Charts (Embedded Coder) |
生成コードの最適化 | コードの効率性 (Simulink Coder) | コードの効率性 (Embedded Coder) |
生成コード内の Stateflow オブジェクトのトレーサビリティ
トレーサビリティ コメントにより次が得られます。
生成されたコードの検証。コードの行に対応する Stateflow オブジェクトの識別に加え、レビューの実施/未実施を問わず、さまざまなオブジェクトのコードの追跡が可能です。
大規模モデル用に生成されたコード内へのコメントのインクルード。生成コード内のオブジェクトの識別に加え、コメントや説明の手動入力の回避が可能です。
トレーサビリティ コメントを有効にするには、Embedded Coder または HDL Coder™ ソフトウェアがなければなりません。詳細については、Trace Stateflow Elements in Generated Code (Embedded Coder)とトレーサビリティを使用した Simulink モデルと HDL コード間の移動 (HDL Coder)を参照してください。
メモ
いずれかのデータがエイリアス型を使用していて可変サイズである場合、Stateflow ブロックではコード生成はサポートされません。この制限は、チャートレベルの入力データ、出力データ、またはローカル データには適用されません。可変サイズ データの定義の詳細については、Stateflow チャートでの可変サイズ データの宣言を参照してください。
参考
トピック
- Atomic サブチャートからのコードの生成
- Simulink Coder を使用したコード生成 (Simulink Coder)
- Embedded Coder を使用したコード生成 (Embedded Coder)