Для поддержки двухстороннего перехода элементов 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, экспортируются в один или несколько , которые отделены от импортированных XML-файлов. Управление упаковкой файлов новых элементов осуществляется путем настройки параметров XML в словаре AUTOSAR. Например, можно задать для параметра XML Экспортированная упаковка XML-файлов значение modelname*.arxmlSingle file или Modular. Дополнительные сведения см. в разделах Настройка параметров AUTOSAR XML или Настройка параметров AUTOSAR Adaptive XML.
При экспорте файлов ARXML из модели Simulink генератор кода сохраняет импортированную структуру XML-файлов, информацию об элементах и UUID при применении изменений. Экспортируемые файлы включают:
Обновленные версии тех же файлов ARXML, которые были импортированы.
Один или несколько файлы, в зависимости от того, задано ли для параметра Экспортированная упаковка XML-файлов значение modelname*.arxmlSingle 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.