コード インターフェイスのパッケージ化 (サブコンポーネント)
モデル サブコンポーネントに対して生成されたコードのインターフェイスを再利用可能な関数または再利用できない関数または C++ クラスとしてパッケージ化する
R2025a 以降
モデル コンフィギュレーション ペイン: [コード生成] / [インターフェイス]
説明
[コード インターフェイスのパッケージ化 (サブコンポーネント)] パラメーターは、サブコンポーネント (モデル参照) に対して生成された C または C++ インターフェイス コードをコード ジェネレーターでパッケージ化する方法を指定します。
設定
再利用可能な関数 (既定値) | 再利用できない関数 | C++ class再利用可能な関数再呼び出し可能で再利用可能なサブコンポーネントのマルチインスタンス コードを生成します。[言語] が
[C]に設定されている場合は、この設定が既定の設定です。この値を有効にするには、[最上位モデルごとに可能なインスタンスの総数] パラメーターを
[複数]に設定します。[最上位モデルごとに可能なインスタンスの総数] が[複数]に設定されている場合、この値が自動的に選択されます。以下に該当するサブシステムがサブコンポーネントに含まれている場合、
[再利用可能な関数]を選択できません。Subsystem ブロック パラメーター [関数のパッケージ化] が
[再利用できない関数]に設定されている。出力信号にグローバルなストレージ クラスが割り当てられている。
再利用できない関数サブコンポーネントの再利用できないコードを生成します。コード ジェネレーターは、モデル データ構造体を静的に割り当てます。生成されたエントリポイント関数はデータ構造体に直接アクセスします。
この値を有効にするには、[最上位モデルごとに可能なインスタンスの総数] パラメーターを
[0]または[1]に設定します。[最上位モデルごとに可能なインスタンスの総数] が[0]または[1]に設定されている場合、この値が自動的に選択されます。ルートモデルの [コード インターフェイスのパッケージ化 (コンポーネント)] パラメーターが
[再利用可能な関数]に設定されている場合、サブコンポーネントに対して[再利用できない関数]を選択することはできません。[システム ターゲット ファイル] パラメーターが ERT ベースのシステム ターゲット ファイルに設定されている場合は、以下のようになります。
[再利用できない関数]を選択すると、[ルートレベル I/O を次として実装] パラメーターが有効になります。[ルートレベル I/O を次として実装] を使用して、ルートレベルの入力引数と出力引数をサブコンポーネント モデルのエントリポイント関数に渡す方法を制御します。たとえば、引数を個別に渡すことも、グローバル変数として渡すこともできます。
C++ classサブコンポーネントの C++ クラス インターフェイスを生成します。生成されたインターフェイスは必要なモデル データを C++ クラスの属性にカプセル化し、モデル エントリポイント関数を C++ クラスのメソッドにカプセル化します。
[言語] が
[C++]に設定されている場合は、この設定が既定の設定です。[コード インターフェイスのパッケージ化 (コンポーネント)] パラメーターが
[C++ クラス]に設定されている場合、この値は自動的に構成され、他の値は許可されません。サービス コード インターフェイスで構成されたモデルに対しては、このパラメーター設定は意味をもたないためサポートされません。
推奨設定
| アプリケーション | 設定 |
|---|---|
| デバッグ | 影響なし |
| トレーサビリティ | 影響なし |
| 効率性 | [再利用可能な関数] または [C++ class] |
| 安全対策 | 影響なし |
プログラムでの使用
パラメーター: SubcomponentCodeInterfacePackaging
|
| 型: 文字ベクトル |
値:'C++ class' | 'Nonreusable function' | 'Reusable function' |
既定の設定: TargetLang が 'C' に設定された場合は 'Reusable function'、TargetLang が 'C++' に設定された場合は 'C++ class' |
バージョン履歴
R2025a で導入