В Simulink®можно импортировать описание программного компонента AUTOSAR из файлов ARXML и создать модель, представляющую программный компонент AUTOSAR. Вы используете импортер AUTOSAR ARXML, который реализован как arxml.importer
объект. Для получения дополнительной информации см. раздел AUTOSAR ARXML Importer.
Использование arxml.importer
функционирует в следующем порядке:
Вызовите arxml.importer
функция для создания объекта импортера, который представляет информацию о программном компоненте в указанном XML-файле или файлах. Для примера этот вызов задает основной файл программного компонента AUTOSAR, mr_component.arxml
и связанные зависимые файлы, содержащие тип данных, реализацию и информацию о интерфейсе, которая завершает описание программного компонента.
ar = arxml.importer({'mr_component.arxml','mr_datatype.arxml',... 'mr_implementation.arxml','mr_interface.arxml'})
Этот вызов задает файл ARXML, ThrottlePositionControlComposition.arxml
, который описывает состав программного обеспечения AUTOSAR и его агрегированные компоненты AUTOSAR. Файл ARXML расположен по адресу
, который находится на MATLAB по умолчанию® путь поиска файлов.matlabroot
/ examples/autosarblockset/data
ar = arxml.importer('ThrottlePositionControlComposition.arxml')
Если вы вводите arxml.importer
вызов функции без оконечной точки с запятой (;), импортер перечисляет содержимое AUTOSAR указанного XML-файла или файлов. Информация включает пути к компонентам программного обеспечения в структуре пакета AUTOSAR, которые используются на следующем шаге.
В этом примере путь к составу программного обеспечения ThrottlePositionControlComposition
является /Company/Components/ThrottlePositionControlComposition
. Путь к программному компоненту Controller
является /Company/Components/Controller
.
ar =
The file "path/ThrottlePositionControlComposition.arxml" contains:
1 Composition-Software-Component-Type:
'/Company/Components/ThrottlePositionControlComposition'
2 Application-Software-Component-Type:
'/Company/Components/Controller'
'/Company/Components/ThrottlePositionMonitor'
3 Sensor-Actuator-Software-Component-Type:
'/Company/Components/AccelerationPedalPositionSensor'
'/Company/Components/ThrottlePositionActuator'
'/Company/Components/ThrottlePositionSensor'
Чтобы импортировать анализируемый атомарный программный компонент или композицию в модель Simulink, вызовите функцию createComponentAsModel
, createCompositionAsModel
, или updateModel
. Если вы не указали все зависимости для компонентов, вы увидите ошибки.
createComponentAsModel
- Создайте представление Simulink элементарного программного компонента AUTOSAR ARXML.
Для примера:
createComponentAsModel(ar,'/Company/Components/Controller',... 'ModelPeriodicRunnablesAs','AtomicSubsystem')
The ModelPeriodicRunnablesAs
свойство контролирует, моделирует ли импортер периодические runnables AUTOSAR как атомарные подсистемы с периодическими скоростями (по умолчанию) или подсистемы вызова функций с периодическими скоростями. Задайте AtomicSubsystem
если ваш проект не требует использования подсистем вызова функций. Дополнительные сведения см. в разделе Импорт программного компонента AUTOSAR с несколькими выполняемыми объектами.
Чтобы импортировать объекты данных Simulink для данных AUTOSAR в словарь данных Simulink, можно задать DataDictionary
свойство создания модели. Если указанный словарь еще не существует, импортер создает его.
Чтобы явным образом назначить AUTOSAR, выполняемый в качестве инициализируемого в компоненте, используйте InitializationRunnable
свойство создания модели.
Для получения дополнительной информации смотрите createComponentAsModel
страница с описанием и пример Импорт компонента AUTOSAR в Simulink.
createCompositionAsModel
- Создайте представление Simulink композиции программного обеспечения AUTOSAR ARXML.
Для примера:
createCompositionAsModel(ar,'/Company/Components/ThrottlePositionControlComposition')
Чтобы включить существующее атомарное программное обеспечение Simulink, моделей компонента в модель состава, используйте ComponentModels
свойство создания модели состава.
Для получения дополнительной информации смотрите createCompositionAsModel
страница с описанием и пример Импорт композиции AUTOSAR в Simulink.
updateModel
- Обновление модели AUTOSAR с изменениями ARXML.
Для примера:
open_system('Controller') ar2 = arxml.importer('ThrottlePositionControlComposition_updated.arxml'); updateModel(ar2,'Controller');
Для получения дополнительной информации смотрите updateModel
страница с описанием, Импорт обновлений программного компонента AUTOSAR и пример Импорт компонента AUTOSAR в Simulink.
После импорта программного компонента или композиции в Simulink можно разработать поведение и строение модели компонента или композиции. Для уточнения строения компонента см. раздел «Строение компонента AUTOSAR».
Для настройки генерации кода AUTOSAR опций и XML экспорта опций см. раздел «Настройка генерации кода AUTOSAR».
Чтобы помочь поддержать перемещение элементов AUTOSAR между инструментом разработки AUTOSAR (AAT) и окружение модельно-ориентированного проектирования Simulink, импорт ARXML сохраняет импортированную авто-РСА XML-структуру файла, элементы и универсальные уникальные идентификаторы элементов (UUID) для экспорта ARXML. Для получения дополнительной информации см. раздел «Сохранение файлов AUTOSAR XML и информация об элементах».