exponenta event banner

Настройка Runnables и событий AUTOSAR

Внутреннее поведение программного компонента AUTOSAR реализуется набором исполняемых объектов (runnables). Выполняемый - это последовательность операций, предоставляемых компонентом, которые могут быть запущены средой времени выполнения (RTE). Компонент конфигурирует событие для активации каждого выполняемого события - например, события синхронизации, полученные данные, запрос клиента, изменение режима, запуск или завершение работы компонента или триггер.

В Simulink ® можно настроить эти типы событий AUTOSAR.

Тип событияТехнологический процессПример
DataReceivedEventСвязь между отправителем и получателем (S-R)Настройка событий для выполняемой активации
DataReceiveErrorEventСвязь между отправителем и получателем (S-R)Настройка порта приемника AUTOSAR для события DataReceiveErrorEvent
ExternalTriggerOccurredEventСвязь событий внешнего триггераНастройка получателя для связи событий внешнего триггера AUTOSAR
InitEventАктивация запуска инициализацииНастройка запуска инициализации AUTOSAR (R4.1)
ModeSwitchEventСвязь между переключателями режимов (M-S)Конфигурирование связи между переключателями в режиме AUTOSAR
OperationInvokedEventСвязь между клиентом и сервером (C-S)Настройка связи между клиентом и сервером AUTOSAR
TimingEventПериодическая активация выполняемогоНастройка AUTOSAR TimingEvent для периодического выполнения

Для настройки функции AUTOSAR, выполняемой в Simulink:

  1. Откройте модель, настроенную для генерации кода AUTOSAR. В этом примере используется доступная для записи копия модели autosar_swc.

  2. В модели создайте или определите подсистему или функцию Simulink корневого уровня, которая реализует последовательность операций. Подсистема или функция должна генерировать функцию точки входа в коде C. В autosar_swc, подсистема SS1 генерирует пошаговую функцию модели на основе скорости Runnable_1s.

  3. Создайте или определите выполняемую функцию AUTOSAR, с помощью которой можно сопоставить функцию точки входа Simulink. Откройте словарь AUTOSAR. Разверните узел AtomicComponents, разверните компонент и выберите вид Runnables. При необходимости создания новой выполняемой функции AUTOSAR щелкните на знаке «плюс». Модель autosar_swc содержит периодическую возможность выполнения Runnable_1s.

  4. Выберите строку, содержащую возможность выполнения, и настройте ее свойства, включая имя и символ. Указанное имя исполняемого символа AUTOSAR экспортируется в описания ARXML и код C. Для сервера AUTOSAR, который можно запустить, задайте свойство runnable canBeInvokedConcurrently определяет необходимость применения ограничений параллелизма. Для не выполняющихся серверов оставьте canBeInvokedConcurrently установить в значение false. Дополнительные сведения см. в разделе Ограничения параллелизма для запускаемых серверов AUTOSAR.

  5. Настройте событие для активации выполняемого. Перейдите на панель События (Events) для выбранной выполняемой среды. Если необходимо создать событие, щелкните Добавить событие. Введите имя события и задайте тип события.

    Действия по настройке события зависят от типа события. Если событие зависит от коммуникационного интерфейса, например, полученных данных (отправитель-получатель) или клиентского запроса (клиент-сервер), необходимо сначала сконфигурировать коммуникационный интерфейс перед конфигурированием события.

    В модели autosar_swc, периодическое выполнение Runnable_1s активируется TimingEvent названный Event_1s.

  6. Сопоставьте функцию точки входа Simulink с возможностью выполнения AUTOSAR. Откройте редактор Сопоставления кодов и перейдите на вкладку Функции. Для модели autosar_swc, выберите периодическую функцию с 1s временем выборки и сопоставьте ее с AUTOSAR runnable Runnable_1s.

Для просмотра результатов выполнения AUTOSAR и конфигурации событий в описаниях ARXML и коде C создайте модель.

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

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

Подробнее