Когда вы разрабатываете несколько программные модели компонента AUTOSAR, которые взаимосвязаны и работают вместе, можно объединить их в модели композиции AUTOSAR для симуляции. Композиция является программным компонентом AUTOSAR, который агрегирует связанные группы программных компонентов.
Создание Simulink® представление композиции AUTOSAR, выполните одно из следующих действий:
Импортируйте авто-РСА описание композиции (классическая платформа) в формате XML (ARXML).
Создайте модель и используйте блоки Model для привязки и соединения моделей компонента AUTOSAR.
Кроме того, если у вас есть программное обеспечение System Composer™, можно создать модель архитектуры AUTOSAR и использовать блоки Software Composition для моделирования композиций AUTOSAR. Для получения дополнительной информации см. «Моделирование программной архитектуры».
При моделировании модели состава моделируется комбинированное поведение агрегированных компонентов AUTOSAR.
После разработки компонентов и композиций AUTOSAR можно протестировать группы компонентов, которые принадлежат вместе в симуляции уровня системы. Например, можно создать системную модель, содержащую композиции, компоненты, планировщик, модель объекта управления и потенциально компоненты услуги Basic Software и вызывающие абоненты. Можно сконфигурировать модели системного уровня для выполнения моделирования замкнутой или разомкнутой систем.
Композиция является программным компонентом AUTOSAR, который агрегирует связанные группы программных компонентов. Композиции поддерживают масштабирование компонентов и помогают управлять сложностью в проекте.
Если вы разрабатываете программные компоненты для AUTOSAR Classic Platform, можно создать модель композиции AUTOSAR, импортировав описание композиции из файлов ARXML. Используйте функцию импортера AUTOSAR createCompositionAsModel
. Этот вызов функции создает модель композиции ThrottlePositionControlComposition
из примера файла ARXML ThrottlePositionControlComposition.arxml
. Файл ARXML расположен по адресу
, который находится на MATLAB по умолчанию® путь поиска файлов.matlabroot
/ examples/autosarblockset/data
ar = arxml.importer('ThrottlePositionControlComposition.arxml'); createCompositionAsModel(ar,'/Company/Components/ThrottlePositionControlComposition');
Чтобы симулировать комбинированное поведение агрегированных компонентов AUTOSAR, моделируйте модель композиции. Нажмите кнопку Run в окне модели или введите эту команду MATLAB.
simOutComposition = sim('ThrottlePositionControlComposition');
Для получения дополнительной информации смотрите Импорт композиции AUTOSAR в Simulink.
Чтобы объединить связанные компоненты программного обеспечения AUTOSAR в модели состава для симуляции, создайте модель Simulink и используйте блоки Model для ссылки и соединения моделей компонента AUTOSAR.
Этот пример создает модель композиции AUTOSAR. Созданная модель является упрощенной версией модели AUTOSAR примера autosar_composition
. Чтобы ускорить строение и решить проблемы, можно сравнить новую модель с примером модели autosar_composition
. При необходимости можно скопировать элементы, такие как входные и выходные порты между моделями. Для схемы модели готового состава смотрите шаг 4.
Переместите программное обеспечение AUTOSAR моделей компонента, которое вы хотите симулировать вместе, в рабочую папку и cd
в эту папку. Этот пример использует модели компонента, скопированные из
(matlabroot
/ examples/autosarblockset/maincd
в папку).
autosar_swc_actuator
autosar_swc_controller
autosar_swc_pedal_sensor
autosar_swc_throttle_sensor
Создайте модель Simulink. Сохраните модель в рабочую папку с именем composition
.
Для каждой модели компонента AUTOSAR:
Откройте модель компонента отдельно и проверьте, что она моделирует.
В composition
моделировать, добавить блок Model и сконфигурировать блок для ссылки на компонент. В Model параметров блоков выберите опцию Schedule rates. Эта опция позволяет планировать выполняемые задачи на основе скорости на том же базисный, что и экспортированные функции.
Добавьте порты, которые требуются компоненту.
Модели компонента autosar_swc_throttle_sensor
требует специальной корректировки, потому что родительская модель composition
(в отличие от модели примера autosar_composition
) ссылается на компонент только один раз. Откройте Model Explorer, выберите рабочее пространство модели для autosar_swc_throttle_sensor
, выберите объект данных TPSPercent_LkupTbl
, и очистить Argument опцию.
Когда вы создали Model блоков для каждого компонента AUTOSAR, соедините компоненты как показано здесь.
Чтобы симулировать комбинированное поведение агрегированных компонентов AUTOSAR, моделируйте модель композиции. Нажмите кнопку Run в окне модели или введите эту команду MATLAB.
simOutComposition = sim('composition');
Для получения дополнительной информации смотрите Проект и Моделирование компонентов AUTOSAR и Генерация кода.
После разработки компонентов и композиций AUTOSAR можно протестировать группы компонентов, которые принадлежат вместе в симуляции уровня системы. Для примера можно создать системную модель, содержащую композиции, компоненты, модель объекта управления и потенциальные компоненты службы Basic Software и вызывающие абоненты. Можно сконфигурировать модели системного уровня для выполнения моделирования замкнутой или разомкнутой систем. Для системной модели используйте модель Simulink или модель Simulink Test™ тестовой обвязки.
Для примера симуляции замкнутой системы откройте пример модели autosar_system
. Эта модель предоставляет тестовую обвязку уровня системы для модели состава AUTOSAR autosar_composition
.
addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); addpath(fullfile(matlabroot,'/examples/autosarblockset/data')); open_system('autosar_system');
Положение дросселя возможностей открывается моделью. Если вы моделируете системную модель autosar_system
область возможностей показывает, насколько хорошо алгоритмы управления положением дросселя в модели состава autosar_composition
отслеживают вход педали. Чтобы улучшить поведение, можно изменить алгоритмы компонента в композиции или изменить источник датчика.
simOutSystem = sim('autosar_system');
Для получения дополнительной информации смотрите Проект и Моделирование компонентов AUTOSAR и Генерация кода.
Для примера симуляции без разомкнутого контура с использованием Simulink Test, смотрите Проверку композиций AUTOSAR (Simulink Test). Этот пример выполняет обратную проверку для модели состава AUTOSAR.
Пример симуляции служб AUTOSAR Basic Software см. в Simulate AUTOSAR Basic Software Services и Окружение.