ライブラリ モデル内のカスタム コードの構成
C または C++ で記述されたカスタム コードを、Simulink® モデルの Stateflow® チャートと統合できます。カスタム コードと Stateflow チャートの間でデータと関数を共有することにより、Stateflow の機能を拡張し、既存のコードを活用できます。詳細については、Stateflow チャートでのカスタム コードの再利用を参照してください。
カスタム コード設定のシミュレーション用構成
シミュレーション中にライブラリ モデルがカスタム コードにアクセスするように構成するには、[コンフィギュレーション パラメーター] ダイアログ ボックスの [シミュレーションのカスタム コード] ペインを使用します。
[モデル化] タブの [設計] で、[シミュレーションのカスタム コード] を選択します。
ライブラリ モデルは、メイン モデルからのカスタム コード設定を継承するか、シミュレーションにローカルなカスタム コード設定を使用できます。
メイン モデルからカスタム コード設定を継承するには、[ローカルなカスタム コード設定を使用 (メイン モデルから継承しません)] をオフにします。
シミュレーションにローカルなカスタム コード設定を使用するには、[ローカルなカスタム コード設定を使用 (メイン モデルから継承しません)] をオンにします。
詳細については、Use local custom code settings (do not inherit from main model) (Simulink)を参照してください。
シミュレーション用にライブラリ モデルに固有のカスタム コード設定を追加するには、[コード情報] タブで次のパラメーターを指定します。
インクルード ヘッダー — 生成される
ヘッダー ファイルの冒頭にインクルードするコード (生成コード内のカスタム関数やデータを宣言する) を入力します。このコード行は生成されるすべてのソース コード ファイルの冒頭に配置され、すべての生成コードから認識されます。たとえば、このパラメーターを使用して、model
.h#include
ステートメントと#define
ステートメントを入力できます。カスタム ヘッダー ファイルをインクルードする場合は、ファイル名を二重引用符で囲む必要があります。詳細については、ヘッダーを含める (Simulink)を参照してください。メモ
このパラメーターで指定するコードには、
extern int x
やextern void myfun(void)
など、変数や関数のextern
宣言をインクルードすることが可能です。ただし、int x
やvoid myfun(void)
などのグローバル変数や関数定義は、その定義が生成コードのソース ファイルに複数回出現するため、リンク エラーを引き起こします。
インクルード ディレクトリ — コンフィギュレーション パラメーターに直接的に、またはコンパイルされるターゲットに間接的にインクルードするカスタム ヘッダー、ソース、およびライブラリの各ファイルを含むフォルダー パスのリストを入力します。エントリを区切るには、改行、スペース、またはセミコロンを使用できます。詳細については、インクルード ディレクトリ (Simulink)を参照してください。
ソース ファイル — コンパイルしてターゲットにリンクするソース ファイルのリストを、改行、スペース、またはセミコロンで区切って入力します。詳細については、ソース ファイル (Simulink)を参照してください。
ライブラリ — ターゲットにリンクするカスタム オブジェクト コードを含むスタティック ライブラリのリストを、改行、スペース、またはセミコロンで区切って入力します。詳細については、ライブラリ (Simulink)を参照してください。
定義 — 生成コードに追加するプリプロセッサ マクロ定義のリストをスペースで区切って入力します。詳細については、定義 (Simulink)を参照してください。
コンパイラ フラグ — カスタム コードのコンパイル時にコンパイラのコマンド ラインに追加する追加のコンパイラ フラグを入力します。詳細については、コンパイラ フラグ (Simulink)を参照してください。
リンカー フラグ — カスタム コードのリンク時にリンカーのコマンド ラインに追加する追加のリンカー フラグを入力します。詳細については、リンカー フラグ (Simulink)を参照してください。
これらの設定は、[ローカルなカスタム コード設定を使用 (メイン モデルから継承しません)] がオンの場合にのみ適用されます。
メモ
ライブラリ モデル内の Stateflow ブロックのみを対象としたシミュレーションはできません。メイン モデル内のライブラリ ブロックへのリンクを作成してから、メイン モデルをシミュレートしなければなりません。
コード生成用のカスタム コード設定の構成
コード生成中にライブラリ モデルがカスタム コードにアクセスするように構成するには、[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成のカスタム コード] ペインを使用します。
[モデル化] タブの [設計] で、[シミュレーションのカスタム コード] を選択します。
[コード生成のカスタム コード] ペインを開きます。
コード生成時に、ライブラリ モデルは、シミュレーションに使用したものと同じカスタム コード設定、または固有のカスタム コード設定を使用できます。
シミュレーションに使用したものと同じカスタム コード設定を使用するには、[シミュレーション ターゲットと同じカスタム コードの設定を使用] をオンにします。カスタム コード設定のシミュレーション用構成の説明に従って、[シミュレーションのカスタム コード] でカスタム コード設定を指定します。
固有のカスタム コード設定を使用するには、[シミュレーション ターゲットと同じカスタム コードの設定を使用] をオフにします。[コード情報] タブで、コード生成用のカスタム コード設定を指定します。このタブのパラメーターの説明については、カスタム コード設定のシミュレーション用構成を参照してください。
詳細については、シミュレーション ターゲットと同じカスタム コードの設定を使用 (Simulink Coder)およびモデル コンフィギュレーション パラメーターを使用した外部コードの統合 (Simulink Coder)を参照してください。