exponenta event banner

setInternalDataPackaging

Установка внутренней упаковки данных по умолчанию для модели компонента AUTOSAR

Описание

пример

setInternalDataPackaging(slMap,pkgSetting) задает пакет данных по умолчанию, используемый для внутренних хранилищ данных, сигналов и состояний в сгенерированном коде для модели компонента AUTOSAR. Допустимые значения параметров:

  • Default - Примите внутреннюю упаковку данных по умолчанию, предоставленную программным обеспечением. Использовать Default для многоэкземплярных моделей и подмоделей, на которые ссылаются модели компонентов AUTOSAR.

  • PrivateGlobal - Пакет внутренних переменных данных без struct и сделать его частным (видимым только для model.c).

  • PrivateStructure - Упаковка внутренних переменных данных в struct и сделать его частным (видимым только для model.c).

  • PublicGlobal - Пакет внутренних переменных данных без struct и предать его гласности (extern объявление в model.h).

  • PublicStructure - Упаковка внутренних переменных данных в struct и предать его гласности (extern объявление в model.h).

Если для упаковки данных установлено значение PrivateGlobal или PrivateStructure, построение модели создает файл заголовка model_private.h, даже если параметру конфигурации модели File packaging format (Embedded Coder) присвоено значение Compact.

Если для модели AUTOSAR задана опция конфигурации модели Генерировать отдельные внутренние данные для каждой функции точки входа (Embedded Coder), группировка внутренних данных на основе задач переопределяет настройку упаковки внутренних данных AUTOSAR. Однако параметр AUTOSAR определяет общедоступную или частную видимость созданных внутренних групп данных на основе задач.

Примеры

свернуть все

Верните и измените настройки упаковки данных по умолчанию, используемые для внутренних переменных в сгенерированном коде для модели компонента AUTOSAR. Укажите, чтобы упаковать данные внутренней переменной в struct и сделать его частным.

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'

Входные аргументы

свернуть все

Сведения о сопоставлении Simulink с AUTOSAR для модели, ранее возвращенные slMap = autosar.api.getSimulinkMapping(model). model - дескриптор, символьный вектор или строковый скаляр, представляющий имя модели.

Пример: slMap

Значение, определяющее упаковку данных по умолчанию для внутренних переменных в сгенерированном коде для модели компонента AUTOSAR. Допустимые значения параметров: Default, PrivateGlobal, PrivateStructure, PublicGlobal, и PublicStructure.

Пример: 'PrivateStructure'

Представлен в R2021a