Сконфигурируйте типы данных релиза 4.x AUTOSAR

Релиз 4.0 AUTOSAR ввел новый подход к типам данных AUTOSAR, в которых базовые типы данных сопоставлены с типами данных реализации и типами данных приложения. Приложение и типы данных реализации разделяют уровень приложения физические атрибуты, такие как реальная область значений значений, структуры данных и физической семантики, от атрибутов уровня реализации, таких как минимум сохраненного целого числа и максимум и спецификация типа примитива (целое число, булевская переменная, действительная, и так далее). Для получения информации о моделировании типов данных R4.x смотрите Типы данных Релиза 4.x.

Программное обеспечение поддерживает типы данных AUTOSAR R4.x в Simulink® порожденные и рабочие процессы туда и обратно:

  • Для компонентов AUTOSAR, порожденных в Simulink, программное обеспечение генерирует приложение AUTOSAR, реализацию и базовые типы, чтобы сохранить информацию, содержавшую в типах данных Simulink.

  • Для рабочих процессов туда и обратно, включающих компоненты AUTOSAR, порожденные вне MATLAB®, arxml средство импорта и информация о типе данных заповедника средства экспорта и сопоставляющий для каждого импортировали тип данных AUTOSAR.

Для типов данных AUTOSAR R4.x, порожденных в Simulink, можно управлять некоторыми аспектами экспорта типа данных. Например, можно управлять, когда типы данных приложения сгенерированы или задают пакет AUTOSAR и краткое название, экспортируемое для наборов отображения типа данных AUTOSAR.

Генерация типа данных приложения управления

Для типов данных AUTOSAR, созданных в Simulink, по умолчанию, программное обеспечение генерирует типы базы приложения только для типов данных с фиксированной точкой и перечисленных типов даты с типами хранения. Если вы хотите заменить поведение по умолчанию для генерации типов приложения, можно сконфигурировать arxml средство экспорта, чтобы сгенерировать тип приложения, наряду с типом реализации и базовым типом, для каждого экспортировало тип данных AUTOSAR. Используйте параметр опций XML ImplementationDataType Reference (XMLOptions свойство ImplementationDataTypeReference), для которого можно задать следующие значения:

  • Allowed (значение по умолчанию) — Позволяет прямую ссылку типов реализации в сгенерированном arxml код. Если тип данных приложения строго не требуется, чтобы описывать тип данных AUTOSAR, используйте ссылку типа данных реализации.

  • NotAllowed — Не позволяйте прямую ссылку типов данных реализации в сгенерированном arxml код. Сгенерируйте тип данных приложения для каждого типа данных AUTOSAR.

Установить ImplementationDataTypeReference свойство в Окне Команды MATLAB, используйте свойство AUTOSAR set вызов функции, похожий на следующее:

hModel = 'autosar_swc_expfcns';
open_system(hModel);
arProps=autosar.api.getAUTOSARProperties(hModel);
set(arProps,'XmlOptions','ImplementationTypeReference','NotAllowed');
get(arProps,'XmlOptions','ImplementationTypeReference')

Установить ImplementationDataTypeReference свойство в Словаре AUTOSAR, выберите XML Options. Выберите значение для параметра ImplementationDataType Reference. Нажмите Apply.

Сконфигурируйте пакет DataTypeMappingSet и имя

Для компонентов программного обеспечения AUTOSAR, созданных в Simulink, можно управлять пакетом AUTOSAR и кратким названием, экспортируемым для наборов отображения типа данных AUTOSAR. Чтобы сконфигурировать тип данных, сопоставляющий пакет набора для экспорта, установите XMLOptions свойство DataTypeMappingPackage использование Словаря AUTOSAR или свойства AUTOSAR set функция.

hModel = 'autosar_swc_expfcns';
open_system(hModel);
arProps=autosar.api.getAUTOSARProperties(hModel);
set(arProps,'XmlOptions','DataTypeMappingPackage','/pkg/dt/DataTypeMappings');
get(arProps,'XmlOptions','DataTypeMappingPackage')

Экспортируемый arxml код использует заданный пакет. Значением по умолчанию, сопоставляющим краткое название набора, является имя компонента ASWC снабженный префиксом к DataTypeMappingsSet.

<DATA-TYPE-MAPPING-REFS>
    <DATA-TYPE-MAPPING-REF DEST="DATA-TYPE-MAPPING-SET">
      /pkg/dt/DataTypeMappings/ASWCDataTypeMappingsSet</DATA-TYPE-MAPPING-REF>
</DATA-TYPE-MAPPING-REFS>
...
<AR-PACKAGE UUID="...">
    <SHORT-NAME>DataTypeMappings</SHORT-NAME>
    <ELEMENTS>
        <DATA-TYPE-MAPPING-SET UUID="...">
            <SHORT-NAME>ASWCDataTypeMappingsSet</SHORT-NAME>
...
        </DATA-TYPE-MAPPING-SET>
    </ELEMENTS>
</AR-PACKAGE>

Можно задать краткое название для типа данных, сопоставляющего набор с помощью функции свойства AUTOSAR addPackageableElement. Следующий пример задает пользовательский тип данных, сопоставляющий пакет набора и имя с помощью команд MATLAB.

% Add a new data type mapping set
modelName = 'autosar_swc_expfcns';
open_system(modelName);
propObj = autosar.api.getAUTOSARProperties(modelName);
newMappingSetPath = '/myPkg/mySubpkg/MyMappingSets';
newMappingSetName = 'MappingSetName';
newMappingSet = [newMappingSetPath '/' newMappingSetName];
addPackageableElement(propObj,'DataTypeMappingSet',newMappingSetPath,newMappingSetName);

% Configure the component behavior to use the new data type mapping set
swc = get(propObj,'XmlOptions','ComponentQualifiedName');
ib = get(propObj,swc,'Behavior','PathType','FullyQualified');
set(propObj,ib,'DataTypeMapping',newMappingSet);

% Force generation of application data types
set(propObj,'XmlOptions','ImplementationTypeReference','NotAllowed');

% Build
rtwbuild(modelName);

Экспортируемый arxml код использует заданный пакет и имя, как показано ниже.

<INTERNAL-BEHAVIORS>
    <SWC-INTERNAL-BEHAVIOR UUID="...">
        <SHORT-NAME>IB</SHORT-NAME>
        <DATA-TYPE-MAPPING-REFS>
            <DATA-TYPE-MAPPING-REF DEST="DATA-TYPE-MAPPING-SET">
              /myPkg/mySubpkg/MyMappingSets/MappingSetName</DATA-TYPE-MAPPING-REF>
        </DATA-TYPE-MAPPING-REFS>
...
    </SWC-INTERNAL-BEHAVIOR>
</INTERNAL-BEHAVIORS>

Инициализируйте данные с ApplicationValueSpecification

Чтобы инициализировать объекты данных AUTOSAR, введенные типом данных приложения, R4.1 требует спецификаций значения приложения AUTOSAR (ApplicationValueSpecifications). Embedded Coder® оказывает следующую поддержку:

  • arxml средство импорта использует ApplicationValueSpecifications найденный в импортированном arxml файлы, чтобы инициализировать соответствующие объекты данных в модели Simulink.

  • Если вы выбираете схему 4.0 AUTOSAR или позже для модели, которая содержит параметры AUTOSAR, введенные типом данных приложения, генерация кода экспортирует arxml код, который использует ApplicationValueSpecifications, чтобы задать начальные значения для данных AUTOSAR.

Для параметров AUTOSAR, введенных типом данных реализации, генерация кода экспортирует arxml код, который использует NumericalValueSpecifications и (для перечислимых типов) TextValueSpecifications, чтобы задать начальные значения. Если начальные значения для параметров задают несколько значений, сгенерированный код использует ArrayValueSpecifications.