Приложения AUTOSAR иногда требуют выполнения сложной логики во время инициализации системы, сброса и завершения последовательности. Для моделирования процесса запуска, сброса и завершения работы в программном компоненте AUTOSAR используются блоки Simulink ® Initialize Function и Terminate Function.
Блоки Initialize Function и Terminate Function могут управлять выполнением компонента в ответ на события инициализации, сброса или завершения. Дополнительные сведения см. в разделах Использование функций инициализации, сброса и завершения, Создание кода, отвечающего на события инициализации, сброса и завершения (Simulink Coder), и AUTOSAR раздел Запуск, сброс и завершение работы.
В модели AUTOSAR каждая функция Simulink инициализируется, сбрасывается или завершается точкой входа с возможностью выполнения AUTOSAR. Для каждого выполняемого события настройте событие AUTOSAR, которое активирует выполняемое событие. Как правило, можно выбрать любой тип события AUTOSAR, кроме TimingEvent. Выполняемые объекты работают с любым стилем моделирования компонентов AUTOSAR. (Однако программная имитация запуска, сброса или завершения AUTOSAR работает только с экспортированным моделированием функций.)
В этом примере показано, как настроить программный компонент AUTOSAR для простой обработки запуска и завершения с использованием блоков Initialize Function и Terminate Function.
Откройте модель, настроенную для генерации кода AUTOSAR. В этом примере используется доступная для записи копия модели autosar_swc.
Добавьте в модель блок Initialize Function.

В блоке Initialize Function разработайте логику, необходимую для выполнения во время инициализации компонента, используя методы, описанные в разделе Using Initialize, Reset и Terminate Functions.

Добавьте в модель блок «Завершить функцию».

В блоке Terminate Function разработайте логику, которая требуется для выполнения во время завершения компонента, используя методы, описанные в разделе Using Initialize, Reset и Terminate Functions.

В этом примере блок терминатора является местозаполнителем для сохранения значения состояния.
Добавьте в модель функцию точки входа завершения. В диалоговом окне «Параметры конфигурации» на панели «Создание кода» > «Интерфейс» в разделе «Дополнительные параметры» выберите опцию «Завершить требуемую функцию». Нажмите кнопку «Применить».
Откройте редактор сопоставлений кода. Чтобы обновить сопоставление модели Simulink to AUTOSAR, нажмите кнопку Обновить (Update).
Теперь отображение отражает добавление блоков «Initialize Function» и «Terminate Function» и включение функции точки входа завершения.
Откройте словарь AUTOSAR. Разверните узел AtomicComponents, разверните компонент и выберите вид Runnables.
Список runnables уже содержит запускаемую инициализацию, созданную как часть начального представления Simulink программного компонента AUTOSAR. С помощью кнопки «Добавить
» добавьте к компоненту конец, который можно выполнить. Выберите каждый выполняемый объект и настройте его имя и свойства.
Значение символа runnable, отображаемое в представлении runnables, становится именем выполняемой функции. Значение runnable Name используется в именах методов доступа RTE, созданных для runnable.

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

В представлении «runnables» щелкните имя «terminate runnable», чтобы отобразить и изменить связанные с ним свойства события. Добавление и настройка события.

Откройте редактор Сопоставления кодов и перейдите на вкладку Функции. Выберите функции Simulink initialize и terminate и сопоставьте их с настроенными функциями AUTOSAR initialize и terminate.

Создайте модель и проверьте созданный код.
Экспортированный код ARXML содержит функцию AUTOSAR, выполняемую для каждой подсистемы инициализации, сброса или завершения в модели, с указанными именем и символом, выполняемыми командой AUTOSAR. Выполняемое описание включает в себя каждую точку доступа к данным AUTOSAR и точку вызова сервера, связанную с выполняемым.
Сгенерированный код C содержит методы доступа RTE для параметров, состояний, вызывающих абонентов функций и внешних операций ввода-вывода, связанных с возможностью выполнения.
Прослушиватель событий | Инициализация функции | Считыватель состояния | Государственный писатель | Завершить функцию