Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

setInternalDataPackaging

AUTOSAR コンポーネント モデルに対する内部データの既定パッケージ化の設定

R2021a 以降

説明

setInternalDataPackaging(slMap,pkgSetting) は、データ パッケージ化の設定 pkgSetting を返します。これは、AUTOSAR コンポーネント モデルに生成されたコードで内部データ ストア、信号、および状態の既定のパッケージ化を指定するものです。

既定のパッケージ化オプションは、コンポーネント モデルが AUTOSAR ソフトウェア コンポーネントを 1 回インスタンス化するか複数回インスタンス化するかによって異なります。マルチインスタンス ソフトウェア コンポーネントは、再呼び出し可能で再利用可能な関数を生成できます。詳細については、マルチインスタンス コンポーネントを参照してください。

内部データ パッケージ化の有効な設定は次のとおりです。

  • 単一インスタンス モデルの場合:

    • Default — ソフトウェアによって提供されている既定の内部データ パッケージ化の受け入れ。AUTOSAR コンポーネント モデルから参照されるサブモデルに Default を使用します。

    • PrivateGlobalstruct オブジェクトを使用しない内部変数データのパッケージ化およびプライベート化 (model.c からのみ参照可能)。

    • PrivateStructurestruct オブジェクトへの内部変数データのパッケージ化およびプライベート化 (model.c からのみ参照可能)。

    • PublicGlobalstruct オブジェクトを使用しない内部変数データのパッケージ化および公開 (model.hextern 宣言)。

    • PublicStructurestruct オブジェクトへの内部変数データのパッケージ化および公開 (model.hextern 宣言)。

  • マルチインスタンス モデルの場合:

    • Default — ソフトウェアによって提供されている既定の内部データ パッケージ化の受け入れ。AUTOSAR コンポーネント モデルから参照されるサブモデルに Default を使用します。

    • CTypedPerInstanceMemory — AUTOSAR ソフトウェア コンポーネントの各インスタンスで C 型のインスタンスごとのメモリを使用するための、struct オブジェクトへの内部変数データのパッケージ化および公開 (model.h で宣言)。

    • ArTypedPerInstanceMemory — AUTOSAR ソフトウェア コンポーネントの各インスタンスで AUTOSAR 型のインスタンスごとのメモリを使用するための、struct オブジェクトへの内部変数データのパッケージ化および公開 (Rte_Type.h で宣言)。モデル参照を含むモデルについては、ArTypedPerInstanceMemory の設定はサポートされていません。

データのパッケージ化設定が ArTypedPerInstanceMemory の場合、コード生成でビットフィールドの最適化はサポートされません。ArTypedPerInstanceMemory を構成する場合は、コンフィギュレーション パラメーター BooleansAsBitfieldsStateBitsetsDataBitsets を無効にする必要があります。

データ パッケージ化の設定が PrivateGlobal または PrivateStructure である場合、モデル コンフィギュレーション パラメーター [ファイル パッケージ化形式] (Embedded Coder)[コンパクト] に設定されていても、モデルをビルドするとヘッダー ファイル model_private.h が生成されます。

モデル コンフィギュレーション オプション [エントリポイント関数ごとに個別の内部データを生成] (Embedded Coder) が AUTOSAR モデルに対して設定されている場合、タスクベースの内部データ グループ化が AUTOSAR の内部データ パッケージ化の設定をオーバーライドします。ただし、AUTOSAR の設定によって、タスクベースの生成された内部データ グループの可視性 (パブリックまたはプライベート) が決まります。

すべて折りたたむ

AUTOSAR コンポーネント モデルに生成されたコードで、内部変数に使用されるデータ パッケージ化の既定の設定を返し、変更します。PrivateStructure 設定は、内部変数データを struct オブジェクトにパッケージ化し、プライベート化します。

hModel = 'autosar_swc';
openExample(hModel);
slMap = autosar.api.getSimulinkMapping(hModel);
pkgSetting1 = getInternalDataPackaging(slMap)
setInternalDataPackaging(slMap,'PrivateStructure')
pkgSetting2 = getInternalDataPackaging(slMap)
pkgSetting1 =
    'Default'

pkgSetting2 =
    'PrivateStructure'

入力引数

すべて折りたたむ

事前に slMap = autosar.api.getSimulinkMapping(model) によって返されたモデルの Simulink から AUTOSAR へのマッピング情報。model は、モデル名を表すハンドル、文字ベクトル、または string スカラーです。

AUTOSAR コンポーネント モデルに生成されたコードで、内部変数に使用されるデータ パッケージ化の既定の設定を指定する値です。単一インスタンス モデルで有効な値は、"Default""PrivateGlobal""PrivateStructure""PublicGlobal" および "PublicStructure" です。マルチインスタンス モデルで有効な値は、"Default""CTypedPerInstanceMemory"、および "ArTypedPerInstanceMemory" です。

例: "PrivateStructure"

バージョン履歴

R2021a で導入

すべて展開する