Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

getInternalDataPackaging

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

R2021a 以降

説明

pkgSetting = getInternalDataPackaging(slMap) は、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 で宣言)。CTypedPerInstanceMemory の設定は、マルチインスタンスのレートベース モデルでサポートされています。

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

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

すべて折りたたむ

AUTOSAR コンポーネント モデルに生成されたコードで、内部変数に使用されるデータ パッケージ化の既定の設定を返し、変更します。

hModel = 'autosar_swc';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(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 スカラーです。

例: slMap

出力引数

すべて折りたたむ

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

例: pkgSetting

バージョン履歴

R2021a で導入