Внутреннее поведение программного компонента AUTOSAR реализуется набором выполняемых сущностей (runnables). Runnable - это последовательность операций, предоставляемых компонентом, которая может быть запущена средой во время выполнения (RTE). Компонент конфигурирует событие, чтобы активировать каждый запуск - например, событие синхронизации, полученные данные, запрос клиента, изменение режима, запуск или завершение работы компонента или триггер.
В Simulink®можно настроить эти типы событий AUTOSAR.
Тип события | Рабочий процесс | Пример |
---|---|---|
DataReceivedEvent | Коммуникация отправитель-получатель (S-R) | Сконфигурируйте события для активации с возможностью выполнения |
DataReceiveErrorEvent | Коммуникация отправитель-получатель (S-R) | Сконфигурируйте порт приемника AUTOSAR для DataReceiveErrorEvent |
ExternalTriggerOccurredEvent | Связь с событием внешнего триггера | Сконфигурируйте приемник для передачи событий внешнего триггера AUTOSAR |
InitEvent | Активация инициализации, выполняемой | Сконфигурируйте AUTOSAR Initialization Runnable (R4.1) |
ModeSwitchEvent | Связь переключателя режима (M-S) | Сконфигурируйте коммуникацию режим-коммутатор AUTOSAR |
OperationInvokedEvent | Коммуникация клиент-сервер (C-S) | Сконфигурируйте коммуникацию клиент-сервер AUTOSAR |
TimingEvent | Периодическая активация runnable | Сконфигурируйте AUTOSAR TimingEvent для периодического выполнения |
Чтобы настроить выполнение AUTOSAR в Simulink:
Откройте модель, которая сконфигурирована для генерации кода AUTOSAR. Этот пример использует копию примера модели с возможностью записи autosar_swc
.
В модели создайте или идентифицируйте подсистему или функцию Simulink корневого уровня, которая реализует последовательность операций. Подсистема или функция должны сгенерировать функцию точки входа в коде С В autosar_swc
Подсистема SS1 генерирует пошаговую функцию модели на основе скорости Runnable_1s
.
Создайте или идентифицируйте AUTOSAR, на который будет отображена функция точки входа Simulink. Откройте словарь AUTOSAR. Разверните AtomicComponents, разверните компонент и выберите Runnables вид. Если необходимо создать новую версию AUTOSAR, щелкните на знаке плюс. Модель autosar_swc
содержит периодическую выполняемую Runnable_1s
.
Выберите строку, содержащую возможность выполнения, и сконфигурируйте ее свойства, включая имя и символ. Заданное имя символа выполнения AUTOSAR экспортируется в описаниях ARXML и коде С Для сервера AUTOSAR, выполняемого, задайте свойство runnable canBeInvokedConcurrently
для определения необходимости применения ограничений параллелизма. Для nonserver runnables, оставьте canBeInvokedConcurrently
установлено на false
. Дополнительные сведения см. в разделе Ограничения параллелизма для выполняемых функций AUTOSAR Server.
Сконфигурируйте событие, чтобы активировать runnable. Перейдите на панель Events для выбранного runnable. Если необходимо создать событие, нажмите Add Event. Введите имя события и установите тип события.
Шаги настройки события зависят от типа события. Если событие основывается на коммуникационном интерфейсе, таком как полученные данные (отправитель-получатель) или запрос клиента (клиент-сервер), необходимо сначала сконфигурировать коммуникационный интерфейс перед конфигурированием события.
В модель autosar_swc
, периодическое выполняемое Runnable_1s
активируется посредством TimingEvent
именованные Event_1s
.
Сопоставьте функцию точки входа Simulink с выполняемой функцией AUTOSAR. Откройте редактор Отображения и выберите вкладку Functions. Для autosar_swc модели
, выберите периодическую функцию с шагом расчета 1s и сопоставьте ее с выполняемой AUTOSAR Runnable_1s
.
Чтобы увидеть результаты выполнения AUTOSAR и строения события в описаниях ARXML и коде С, создайте модель.
Если модель программного компонента AUTOSAR содержит несколько исполняемых элементов, можно сконфигурировать порядок выполнения. Для получения дополнительной информации см. раздел «Настройка порядка выполнения запуска AUTOSAR».