Объединение и моделирование программных компонентов AUTOSAR

Когда вы разрабатываете несколько программные модели компонента AUTOSAR, которые взаимосвязаны и работают вместе, можно объединить их в модели композиции AUTOSAR для симуляции. Композиция является программным компонентом AUTOSAR, который агрегирует связанные группы программных компонентов.

Создание Simulink® представление композиции AUTOSAR, выполните одно из следующих действий:

  • Импортируйте авто-РСА описание композиции (классическая платформа) в формате XML (ARXML).

  • Создайте модель и используйте блоки Model для привязки и соединения моделей компонента AUTOSAR.

Кроме того, если у вас есть программное обеспечение System Composer™, можно создать модель архитектуры AUTOSAR и использовать блоки Software Composition для моделирования композиций AUTOSAR. Для получения дополнительной информации см. «Моделирование программной архитектуры».

При моделировании модели состава моделируется комбинированное поведение агрегированных компонентов AUTOSAR.

После разработки компонентов и композиций AUTOSAR можно протестировать группы компонентов, которые принадлежат вместе в симуляции уровня системы. Например, можно создать системную модель, содержащую композиции, компоненты, планировщик, модель объекта управления и потенциально компоненты услуги Basic Software и вызывающие абоненты. Можно сконфигурировать модели системного уровня для выполнения моделирования замкнутой или разомкнутой систем.

Импорт композиции AUTOSAR как модели (классическая платформа)

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

Если вы разрабатываете программные компоненты для AUTOSAR Classic Platform, можно создать модель композиции AUTOSAR, импортировав описание композиции из файлов ARXML. Используйте функцию импортера AUTOSAR createCompositionAsModel. Этот вызов функции создает модель композиции ThrottlePositionControlComposition из примера файла ARXML ThrottlePositionControlComposition.arxml. Файл ARXML расположен по адресу matlabroot/ examples/autosarblockset/data, который находится на MATLAB по умолчанию® путь поиска файлов.

ar = arxml.importer('ThrottlePositionControlComposition.arxml');
createCompositionAsModel(ar,'/Company/Components/ThrottlePositionControlComposition');

Чтобы симулировать комбинированное поведение агрегированных компонентов AUTOSAR, моделируйте модель композиции. Нажмите кнопку Run в окне модели или введите эту команду MATLAB.

simOutComposition = sim('ThrottlePositionControlComposition');

Для получения дополнительной информации смотрите Импорт композиции AUTOSAR в Simulink.

Создайте модель состава для симуляции компонентов AUTOSAR

Чтобы объединить связанные компоненты программного обеспечения AUTOSAR в модели состава для симуляции, создайте модель Simulink и используйте блоки Model для ссылки и соединения моделей компонента AUTOSAR.

Этот пример создает модель композиции AUTOSAR. Созданная модель является упрощенной версией модели AUTOSAR примера autosar_composition. Чтобы ускорить строение и решить проблемы, можно сравнить новую модель с примером модели autosar_composition. При необходимости можно скопировать элементы, такие как входные и выходные порты между моделями. Для схемы модели готового состава смотрите шаг 4.

  1. Переместите программное обеспечение AUTOSAR моделей компонента, которое вы хотите симулировать вместе, в рабочую папку и cd в эту папку. Этот пример использует модели компонента, скопированные из matlabroot/ examples/autosarblockset/main (cd в папку).

    • autosar_swc_actuator

    • autosar_swc_controller

    • autosar_swc_pedal_sensor

    • autosar_swc_throttle_sensor

  2. Создайте модель Simulink. Сохраните модель в рабочую папку с именем composition.

  3. Для каждой модели компонента AUTOSAR:

    1. Откройте модель компонента отдельно и проверьте, что она моделирует.

    2. В composition моделировать, добавить блок Model и сконфигурировать блок для ссылки на компонент. В Model параметров блоков выберите опцию Schedule rates. Эта опция позволяет планировать выполняемые задачи на основе скорости на том же базисный, что и экспортированные функции.

    3. Добавьте порты, которые требуются компоненту.

    4. Модели компонента autosar_swc_throttle_sensor требует специальной корректировки, потому что родительская модель composition (в отличие от модели примера autosar_composition) ссылается на компонент только один раз. Откройте Model Explorer, выберите рабочее пространство модели для autosar_swc_throttle_sensor, выберите объект данных TPSPercent_LkupTbl, и очистить Argument опцию.

  4. Когда вы создали Model блоков для каждого компонента AUTOSAR, соедините компоненты как показано здесь.

Чтобы симулировать комбинированное поведение агрегированных компонентов AUTOSAR, моделируйте модель композиции. Нажмите кнопку Run в окне модели или введите эту команду MATLAB.

simOutComposition = sim('composition');

Для получения дополнительной информации смотрите Проект и Моделирование компонентов AUTOSAR и Генерация кода.

Альтернативы для симуляции уровня системы 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 и Окружение.

См. также

Похожие примеры

Подробнее о