メインコンテンツ

コード インターフェイスのパッケージ化 (サブコンポーネント)

モデル サブコンポーネントに対して生成されたコードのインターフェイスを再利用可能な関数または再利用できない関数または 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 で導入