Коммуникация AUTOSAR модели

В Simulink®, для Классической Платформы, можно смоделировать получатель отправителя AUTOSAR (S-R), клиент-сервер (C-S), переключатель режима (M-S), энергонезависимые данные (NV), параметр, и инициировать коммуникацию.

О коммуникации AUTOSAR

Компоненты программного обеспечения AUTOSAR обеспечивают, четко определенные точки контакта вызвали порты. Существует три типа портов AUTOSAR:

  • Require \in

  • Provide

  • Объединенный Provide-Require (InOut — введенный в версии 4.1 схемы AUTOSAR)

Порты AUTOSAR могут сослаться на следующие виды интерфейсов:

  • Получатель отправителя

  • Клиент-сервер

  • Переключатель режима

  • Энергонезависимые данные

  • Параметр

  • Триггер

Следующий рисунок показывает компонент программного обеспечения AUTOSAR с четырьмя портами, представляющими порт и интерфейсные комбинации для Получателя Отправителя и интерфейсов Клиент-сервер.

Require порт, который ссылается на интерфейс Mode-Switch, называется mode-receiver port.

Интерфейс получателя отправителя

Интерфейс Получателя Отправителя состоит из одного или нескольких элементов данных. Несмотря на то, что Require, Provide, или Provide-Require порт может сослаться на Интерфейс Получателя Отправителя, компонент программного обеспечения AUTOSAR не обязательно получает доступ ко всем элементам данных. Например, рассмотрите следующую фигуру.

Компонент программного обеспечения AUTOSAR имеет Require и Provide порт, который ссылается на тот же Интерфейс Получателя Отправителя, Interface1. Несмотря на то, что этот интерфейс содержит элементы данных DE1, DE2, DE3, DE4, и DE5, компонент не использует все элементы данных.

Следующая фигура является примером того, как вы моделируете в Simulink, компонент программного обеспечения AUTOSAR, это получает доступ к элементам данных.

ASWC элементы данных доступов DE1 и DE2. Вы доступ к элементу данных модели можно следующим образом:

  • Для Require порты, используйте импорт Simulink. Например, RPort1_DE1 и RPort1_DE2.

  • Для Provide порты, используйте выходные порты Simulink. Например, PPort1_DE1 и PPort1_DE2.

  • Для Provide-Require порты (схема 4.1 или выше), используйте импорт Simulink и пару выходного порта с соответствием с типом данных, размерностью и типом сигнала. Для получения дополнительной информации смотрите, Конфигурируют AUTOSAR, Обеспечивают - Требуют Порта.

ErrorStatus является значением, которое Среда выполнения AUTOSAR (RTE) возвращает, чтобы указать на ошибки, которые система связи обнаруживает для каждого элемента данных. Можно использовать импорт Simulink в ошибочное состояние модели, например, RPort1_DE1 (ErrorStatus).

Используйте Словарь AUTOSAR и редактор Отображений Кода, чтобы задать настройки AUTOSAR для каждого импорта и выходного порта. Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Sender-Receiver.

Интерфейс клиент-сервер

AUTOSAR позволяет связь клиент-сервер между:

  • Компоненты прикладного программного обеспечения

  • Компонент прикладного программного обеспечения и Basic Software

Интерфейс Клиент-сервер AUTOSAR задает взаимодействие между компонентом программного обеспечения, который обеспечивает интерфейс и компонент программного обеспечения, который требует интерфейса. Компонент, который обеспечивает интерфейс, является сервером. Компонент, который требует интерфейса, является клиентом.

К клиент-серверам модели AUTOSAR в Simulink, для симуляции и генерации кода:

  • К серверам модели AUTOSAR используйте блоки Simulink Function на корневом уровне модели.

  • К клиентским вызовам модели AUTOSAR используйте блоки Function Caller.

  • Используйте основанный на вызове функции стиль моделирования, чтобы создать соединенные функции Simulink, вызовы функции, и корневой импорт модели и выходные порты в верхнем уровне модели.

Эта схема иллюстрирует среду вызова функции, в которой Simulink Function блокирует сервер модели AUTOSAR runnables, клиентские вызовы модели AUTOSAR блоков Function Caller и модель AUTOSAR линий передачи данных Simulink межвыполнимые переменные (IRVs).

Высокоуровневый рабочий процесс для разработки клиент-серверов AUTOSAR в Simulink:

  1. Функции сервера модели и вызывающая сторона блокируются в Simulink. Например, создайте блоки Simulink Function на корневом уровне модели с соответствующими блоками Function Caller, которые вызывают функции. Используйте комплект инструментальных средств Simulink, чтобы симулировать и разработать блоки.

  2. В контексте модели, сконфигурированной для AUTOSAR, сопоставьте и сконфигурируйте функции Simulink к серверу AUTOSAR runnables. Подтвердите настройку, симулируйте и сгенерируйте C и arxml код из модели.

  3. В контексте другой модели, сконфигурированной для AUTOSAR, сопоставьте и сконфигурируйте функциональные блоки вызывающей стороны к клиентским портам AUTOSAR и операциям AUTOSAR. Подтвердите настройку, симулируйте и сгенерируйте C и arxml код из модели.

  4. Интегрируйте сгенерированный код C в среду тестирования для тестирования, например, с SIL симуляцией. (В конечном счете, сгенерированный C и arxml код интегрирован в Среду выполнения AUTOSAR (RTE).)

Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию Клиент-сервер AUTOSAR.

Интерфейс переключателя режима

Переключатель режима AUTOSAR (M-S) коммуникация использует менеджера по режиму и соединенных пользователей режима. Менеджер по режиму является авторитетным источником для компонентов программного обеспечения, чтобы запросить текущий режим и получить уведомление, когда режим изменяется. Менеджеру по режиму может предоставить AUTOSAR Basic Software (BSW) или реализовать как компонент программного обеспечения AUTOSAR. Менеджер по режиму реализовал, как компонент программного обеспечения называется менеджером по режиму приложения. Компонент программного обеспечения, который запрашивает менеджера по режиму и получает уведомления об изменениях режима, является пользователем режима.

Пользователь режима

Смоделировать пользовательский компонент программного обеспечения режима AUTOSAR в Simulink:

  • Создайте интерфейс переключателя режима AUTOSAR.

  • Создайте порт получателя режима AUTOSAR и сопоставьте его с импортом Simulink.

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

Чтобы смоделировать порт получателя режима компонента программного обеспечения AUTOSAR, общие шаги могут включать:

  1. Объявите группу объявления режима — группу значений режима — использование перечисления Simulink. Например, вы могли создать перечислимый тип mdgModes, с перечисляемыми значениями MANUAL_ADJUST и AUTO_ADJUST. Задайте тип хранения как беззнаковое целое.

    Simulink.defineIntEnumType('mdgModes', ...
      {'MANUAL_ADJUST', 'AUTO_ADJUST'}, ...
      [18 28], ...
      'Description', 'Type definition of mdgModes.', ...
      'HeaderFile', 'Rte_Type.h', ...
      'DefaultValue', 'MANUAL_ADJUST', ...
      'AddClassNameToEnumNames', false,...
      'StorageType', 'uint16'...
    );

  2. Примените тип данных перечисления к импорту Simulink, который представляет порт получателя режима AUTOSAR. В этом диалоговом окне блока Inport, перечислимый тип mdgModes задан как тип данных импорта.

  3. Чтобы задать отображение Simulink импортируют к порту получателя режима AUTOSAR, используют редактор Отображений Кода (или эквивалентные функции карты AUTOSAR).

    В следующем примере, во вкладке Inports редактора Отображений Кода, импорт Simulink mode_receiver сопоставлен с портом current_mode получателя режима AUTOSAR и элемент AUTOSAR mgMirrorAdjust.

Задавать событие переключателя режима, чтобы инициировать инициализирование выполнимого или экспортировало выполнимые, общие шаги, может включать:

  1. Чтобы отредактировать, добавьте, или удалите интерфейсы переключателя режима AUTOSAR и порты получателя режима, используйте Словарь AUTOSAR (или эквивалентные функции свойства AUTOSAR).

  2. В вашей модели выберите или добавьте выполнимое, которое вы хотите, чтобы событие переключателя режима активировало.

  3. В представлении Runnables Словаря AUTOSAR выберите выполнимое, которое вы хотите, чтобы событие переключателя режима активировало. Сконфигурируйте событие. В следующем примере событие переключателя режима добавляется для Runnable_Auto, и сконфигурированный, чтобы активироваться на записи (по сравнению с на выходе или на переходе). Это сопоставлено с ранее сконфигурированным портом получателя режима и значением объявления режима, которое допустимо для выбранного порта.

Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.

Менеджер по режиму приложения

Чтобы смоделировать менеджера по режиму приложения компонент программного обеспечения в Simulink, используйте порт отправителя режима AUTOSAR (как задано в Релизе 4 AUTOSAR). Порты отправителя режима выводят переключатель режима к связанным пользовательским компонентам режима. Например, вот менеджер по режиму приложения, смоделированный в Simulink, который использует порт отправителя режима, чтобы вывести текущее значение EngineMode.

Вы моделируете порт отправителя режима как корневой выходной порт модели, который сопоставлен с портом отправителя режима AUTOSAR и интерфейсом (M-S) переключателя режима. Тип данных выходного порта является классом перечисления с типом хранения беззнаковых целых чисел, представляя группу объявления режима AUTOSAR.

В Simulink вы можете:

  • Импортируйте коммуникационные элементы переключателя режима AUTOSAR из arxml код.

    • Программное обеспечение импортирует ModeSwitchPoints, ModeSwitchInterfaces и ModeDeclarationGroups.

    • Для каждого порта провайдера AUTOSAR, который ссылается на интерфейс M-S, средство импорта создает корневой выходной порт с ModeSend доступ к данным и с классом перечисления группы объявления режима AUTOSAR.

    • Средство импорта сопоставляет выходной порт модели с портом отправителя режима AUTOSAR с интерфейсом M-S.

  • Создайте коммуникационные элементы переключателя режима AUTOSAR.

    • Создайте корневой выходной порт модели и установите тип данных выходного порта на класс перечисления, который представляет группу объявления режима AUTOSAR.

    • Создайте порт отправителя режима AUTOSAR со связанным интерфейсом M-S.

    • В редакторе Отображений Кода, набор режим доступа к данным выходного порта к ModeSend, и сопоставьте выходной порт с портом отправителя режима AUTOSAR.

  • Сгенерируйте arxml и код С для портов отправителя режима AUTOSAR и связанного AUTOSAR M-S коммуникационные элементы.

    • arxml код включает, сослался на ModeSwitchPoints, ModeSwitchInterfaces и ModeDeclarationGroups.

    • Код С включает Rte_Switch Вызовы API, чтобы передать переключатели режима к другим компонентам программного обеспечения.

Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.

Энергонезависимый интерфейс данных

Релиз 4.0 AUTOSAR ввел основанную на порте энергонезависимую передачу данных (NV), в которой компонент программного обеспечения AUTOSAR читает и записывает данные к энергонезависимым компонентам AUTOSAR. Чтобы реализовать передачу данных NV, компоненты программного обеспечения AUTOSAR задают, обеспечивают и требуют портов, которые отправляют и получают данные NV.

В Simulink вы можете:

  • Импортируйте интерфейсы данных AUTOSAR NV и порты от arxml код.

  • Создайте интерфейсы AUTOSAR NV и порты, и сопоставьте импорт Simulink и выходные порты к портам AUTOSAR NV.

    Вы порты модели AUTOSAR NV с импортом Simulink и выходными портами, таким же образом описанными в Интерфейсе Получателя Отправителя.

  • Сгенерируйте C и arxml код для интерфейсов данных AUTOSAR NV и портов.

Для получения дополнительной информации смотрите, Конфигурируют Энергонезависимую Передачу данных AUTOSAR.

Интерфейс параметра

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

В Simulink можно смоделировать фрагмент получателя основанной на порте коммуникации параметра AUTOSAR. В атомарном компоненте программного обеспечения AUTOSAR вы создаете интерфейс параметра с элементами данных и портом получателя параметра.

Для получения дополнительной информации смотрите, Конфигурируют Получатель для Коммуникации Параметра AUTOSAR.

Триггерный интерфейс

Релиз 4.0 AUTOSAR ввел внешнюю триггерную коммуникацию события, в которой компонент программного обеспечения AUTOSAR или сервис сигнализируют, что внешний триггер произошел событие (ExternalTriggerOccurredEvent) к другому компоненту. Компонент получения активирует выполнимое в ответ на событие.

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

Для получения дополнительной информации смотрите, Конфигурируют Получатель для Внешней Триггерной Коммуникации События AUTOSAR.

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

Больше о