Приложения AUTOSAR иногда требуют, чтобы сложная логика выполнилась во время системной инициализации, сбросила, и последовательности завершения. К запуску модели сброс и обработка завершения работы в компоненте программного обеспечения AUTOSAR, используют блоки Simulink® Initialize Function и Terminate Function.
Initialize Function и блоки Terminate Function могут управлять выполнением компонента в ответ на, инициализируют, сбрасывают, или оконечные события. Для получения дополнительной информации смотрите Используя, Инициализируют, Сброс и Оконечные Функции (Simulink), Генерируют Код, Который Отвечает, чтобы Инициализировать, Сбросить, и Оконечные События (Simulink Coder), и Запуск темы AUTOSAR, Сброс и Завершение работы.
В модели AUTOSAR вы сопоставляете каждый Simulink, инициализируют, сбрасывают или отключают функцию точки входа к выполнимому AUTOSAR. Для каждого выполнимого, сконфигурируйте событие AUTOSAR, которое активирует выполнимое. В общем случае можно выбрать любой тип события AUTOSAR кроме TimingEvent
. runnables работают с любым стилем моделирования компонента AUTOSAR. (Однако программное обеспечение в симуляции цикла AUTOSAR инициализирует, сбросило или завершает работу, runnables работает только с экспортируемым моделированием функций.)
В этом примере показано, как сконфигурировать компонент программного обеспечения AUTOSAR для простой обработки запуска и завершения, с помощью блоков Terminate Function и Initialize Function.
Откройте модель, которая сконфигурирована для генерации кода AUTOSAR. Этот пример использует перезаписываемую копию модели autosar_swc
в качестве примера.
Добавьте блок Initialize Function в модель.
В блоке Initialize Function разработайте логику, которая требуется, чтобы выполняться во время инициализации компонента, использование методов, описанных в Использовании, Инициализирует, Сброс и Оконечные Функции (Simulink).
Добавьте блок Terminate Function в модель.
В блоке Terminate Function разработайте логику, которая требуется, чтобы выполняться во время завершения компонента, использование методов, описанных в Использовании, Инициализирует, Сброс и Оконечные Функции (Simulink).
В этом примере блок Terminator является заполнителем для сохранения значения состояния.
Добавьте оконечную функцию точки входа в модель. В диалоговом окне Configuration Parameters, в Code Generation> панель Interface, под Advanced parameters, выбирают опцию Terminate function required. Нажмите Apply.
Откройте редактор Отображений Кода. Чтобы обновить Simulink к отображению AUTOSAR модели, нажмите кнопку Update. Отображение теперь отражает сложение Initialize Function и блоков Terminate Function и включения оконечной функции точки входа.
Откройте Словарь AUTOSAR. Расширьте AtomicComponents, расширьте компонент и выберите представление Runnables.
Список runnables уже содержит инициализацию, выполнимую, созданную как часть начального представления Simulink компонента программного обеспечения AUTOSAR. Используйте кнопку Add, чтобы добавить оконечное выполнимое в компонент. Выберите каждого выполнимого и сконфигурируйте его имя и свойства.
Выполнимое значение symbol, показанное в представлении runnables, становится выполнимым именем функции. Выполнимое значение Name используется на имена методов доступа RTE, сгенерированных для выполнимого.
Для обоих инициализирование и оконечный runnables, сконфигурируйте событие AUTOSAR, которое активирует выполнимое.
Этот пример задает ModeSwitchEvent
для каждого выполнимого. Используя ModeSwitchEvent
требует создания группы объявления модели, интерфейса (M-S) переключателя режима и порта получателя режима для модели. Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.
В представлении runnables кликните по инициализированию выполнимого имени, чтобы отобразить и изменить его связанные свойства события. Добавьте и сконфигурируйте событие.
В представлении runnables кликните по оконечному выполнимому имени, чтобы отобразить и изменить его связанные свойства события. Добавьте и сконфигурируйте событие.
Откройте редактор Отображений Кода и выберите вкладку Functions. Выберите Simulink, инициализируют и отключают функции и сопоставляют их с AUTOSAR, инициализируют и отключают runnables, который вы сконфигурировали.
Создайте модель и исследуйте сгенерированный код.
Экспортируемый код ARXML содержит выполнимое AUTOSAR для каждого, инициализируют, сбрасывают, или оконечная подсистема в модели, с заданным выполнимым именем AUTOSAR и символом. Выполнимое описание включает каждую точку доступа к данным AUTOSAR и извещатель сервера, сопоставленный с выполнимым.
Сгенерированный код C содержит методы доступа RTE для параметров, состояний, функциональных вызывающих сторон и внешнего ввода-вывода, сопоставленного с выполнимым.
Event Listener | Initialize Function | State Reader | State Writer | Terminate Function