В AUTOSAR Release 4.1 введено событие инициализации AUTOSAR (InitEvent
). Можно использовать InitEvent
чтобы назначить выполнение AUTOSAR в качестве выполняемого инициализации, а затем сопоставить функцию инициализации с выполняемым. Использование InitEvent
инициализировать программный компонент потенциально проще и эффективнее, чем использовать управление режимом AUTOSAR, в котором вы задаете ModeDeclarationGroup
с режимом настройки и инициализации программного компонента. (Для получения дополнительной информации об управлении режимом см. раздел «Настройка связи между режимами и коммутаторами AUTOSAR».)
Если вы импортируете ARXML код, который описывает runnable с InitEvent
, ARXML импортер конфигурирует runnable в Simulink® как инициализируемый, выполняемый.
Также можно сконфигурировать runnable, чтобы быть initialization runnable в Simulink. Для примера,
Откройте модель, настроенную для AUTOSAR.
Откройте диалоговое окно Параметров конфигурации, перейдите к разделу Code Generation > AUTOSAR Code Generation Options и проверьте, что выбранная версия схемы AUTOSAR 4.1
или выше.
Откройте словарь AUTOSAR. Перейдите к программному компоненту и выберите вид Runnables.
Выберите runnable для настройки в качестве initialization runnable и нажмите Add Event. В раскрывающемся списке Event Type выберите InitEvent
, и задайте Event Name. В этом примере событие инициализации myInitEvent
сконфигурирован для выполняемых Runnable_Init
.
Можно сконфигурировать самое большее одно InitEvent
для runnable.
Откройте редактор Отображения и выберите вкладку Functions.
Чтобы сопоставить функцию инициализации с выполняемой инициализацией, выберите функцию. Из выпадающего списка Runnable выберите runnable, для которого вы сконфигурировали InitEvent
. В этом примере функция точки входа Simulink Initialize
сопоставлен с AUTOSAR, выполняемым Runnable_Init
.
При экспорте кода ARXML из модели, содержащей возможность запуска инициализации, экспортер ARXML генерирует InitEvent
который сопоставлен с инициализацией, выполняемой и функцией. Для примера:
<EVENTS> <INIT-EVENT UUID="..."> <SHORT-NAME>myInitEvent</SHORT-NAME> <START-ON-EVENT-REF DEST="RUNNABLE-ENTITY">/.../Runnable_Init</START-ON-EVENT-REF> </INIT-EVENT> </EVENTS>