exponenta event banner

Сохранение структуры файла AUTOSAR XML и информации об элементах в обоих направлениях

Для поддержки двухстороннего перехода элементов AUTOSAR между средством разработки AUTOSAR (AAT) и Simulink ® при импорте ARXML сохраняется импортированная структура файлов AUTOSAR XML и содержимое для экспорта ARXML. При импорте файлов ARXML для компонента AUTOSAR в Simulink программа импорта сохраняет следующее:

  • Структура XML-файла AUTOSAR. Можно сравнить файлы ARXML, которые импортируются, с соответствующими файлами ARXML, которые экспортируются.

  • Сведения об элементе AUTOSAR, включая свойства, ссылки и пакеты. Импортер сохраняет отношения между элементами.

  • Универсальные уникальные идентификаторы (UUID) AUTOSAR для идентифицируемых элементов. Если импортированный элемент не имеет UUID, он не создается.

После импорта элементы и свойства компонентов программного обеспечения AUTOSAR можно просмотреть и настроить в словаре AUTOSAR. Для настройки элементов AUTOSAR используется словарь AUTOSAR. Изменяемые свойства отражаются в экспортированных описаниях ARXML и, возможно, в сгенерированном коде C или C++, совместимом с AUTOSAR. Дополнительные сведения см. в разделах Настройка элементов и свойств AUTOSAR или Настройка адаптивных элементов и свойств AUTOSAR.

Элементы AUTOSAR, созданные в Simulink, экспортируются в один или несколько modelname*.arxml , которые отделены от импортированных XML-файлов. Управление упаковкой файлов новых элементов осуществляется путем настройки параметров XML в словаре AUTOSAR. Например, можно задать для параметра XML Экспортированная упаковка XML-файлов значение Single file или Modular. Дополнительные сведения см. в разделах Настройка параметров AUTOSAR XML или Настройка параметров AUTOSAR Adaptive XML.

При экспорте файлов ARXML из модели Simulink генератор кода сохраняет импортированную структуру XML-файлов, информацию об элементах и UUID при применении изменений. Экспортируемые файлы включают:

  • Обновленные версии тех же файлов ARXML, которые были импортированы.

  • Один или несколько modelname*.arxml файлы, в зависимости от того, задано ли для параметра Экспортированная упаковка XML-файлов значение Single file или Modular. modelname*.arxml файлы включают в себя:

    • Описания реализации.

    • При добавлении интерфейса AUTOSAR или связанных с данными элементов в Simulink описание интерфейса и данных.

  • Для адаптивной платформы манифесты для исполняемых файлов AUTOSAR и экземпляров службы.

Предположим, что в рабочей папке создается модель Simulink с именем Controller.slx из примера файла ARXML matlabroot/help/toolbox/autosar/examples/ThrottlePositionController.arxml.

% Create Controller model from AUTOSAR component
addpath(fullfile(matlabroot,'help','toolbox','autosar','examples'));
ar = arxml.importer('ThrottlePositionController.arxml');
createComponentAsModel(ar,'/Company/Components/Controller',...
  'ModelPeriodicRunnablesAs','AtomicSubsystem');

В созданной модели добавьте метод адреса программного обеспечения AUTOSAR (SwAddrMethod) с именем CODE и обратитесь к нему из выполняемой функции AUTOSAR.

% In AUTOSAR model, add SwAddrMethod CODE to SwAddrMethods package
arProps = autosar.api.getAUTOSARProperties('Controller');
addPackageableElement(arProps,'SwAddrMethod',...
    '/AUTOSAR_Platform/SwAddrMethods','CODE','SectionType','Code')
% Map step runnable function to SwAddrMethod CODE 
slMap = autosar.api.getSimulinkMapping('Controller');
mapFunction(slMap,'StepFunction','Runnable_Step','SwAddrMethod','CODE')
% Display SwAddrMethod CODE path and step function mapping information
swAddrMethodPath = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',...
    'SectionType','Code')
[arRunnableName,arRunnableSwAddrMethod] = getFunction(slMap,'StepFunction')
swAddrMethodPath =
    {'/AUTOSAR_Platform/SwAddrMethods/CODE'}

arRunnableName =
    'Runnable_Step'

arRunnableSwAddrMethod =
    'CODE'

Изменения можно просмотреть в словаре AUTOSAR, представлении SwAddrMethods и редакторе сопоставления кодов на вкладке «Функции».

Создайте модель, например, с помощью команды slbuild('Controller'). Если в модели для пакета экспортированных XML-файлов установлено значение Modular, сборка экспортирует следующие ARXML-файлы:

  • ThrottlePositionController.arxml - обновленная версия файла ARXML, из которого была создана модель. Для отслеживания изменений можно сравнить более ранние версии файла ARXML с последней экспортированной версией.

  • Controller_implementation.arxml - Информация о реализации компонента (всегда генерируется).

  • Controller_datatype.arxml - информация о данных, отражающая изменения SwAddrMethod в модели компонента. В файле пакет AUTOSAR /AUTOSAR_Platform/SwAddrMethods содержит код SwAddrMethod.

Связанные примеры

Подробнее