Моделирование шаблонов для AUTOSAR Runnables

Используйте модели Simulink®, подсистемы и функции к модели AUTOSAR атомарные компоненты программного обеспечения и их выполнимые сущности (runnables).

Несколько периодических Runnables, сконфигурированные для многозадачности

Откройте модель autosar_swc.slx в качестве примера.

open_system('autosar_swc')

Модель показывает реализацию атомарного компонента программного обеспечения AUTOSAR (ASWC). Два периодических runnables, Runnable_1s и Runnable_2s, моделируются с несколькими частотами дискретизации: 1 секунда (In1_1s) и 2 секунды (In2_2s). Чтобы максимизировать КПД выполнения, модель сконфигурирована для многозадачности.

Модель включает Инициализировать Функциональный блок, который инициализирует интегратор в Runnable_2s к значению 1.

Чтобы отобразить частоты дискретизации, на которые наносят цветную маркировку, с аннотациями и легендой, на вкладке Debug, выбирают Diagnostics> Information Overlays> Colors.

Соответствующие настройки параметра конфигурации модели

  • Решатель> набор Типа к Fixed-step.

  • Решатель> набор Решателя к discrete (no continuous states).

  • Решатель> размер Фиксированного шага (основной шаг расчета) набор к auto.

  • Решатель> Обработка каждый дискретный уровень как отдельная задача выбран.

Планирование

В окне модели включите цветовое кодирование шага расчета путем выбора вкладки Debug и выбора Diagnostics> Information Overlays> Colors. Легенда шага расчета показывает неявную группировку уровня. Красный представляет самый быстрый дискретный уровень. Зеленый представляет второй самый быстрый дискретный уровень. Желтый представляет смесь этих двух уровней.

Поскольку модель имеет несколько уровней и Обработку параметра Решателя каждый дискретный уровень, когда отдельная задача выбрана, модель симулирует в многозадачном режиме. Модель обрабатывает переход уровня для In2_2s явным образом с блоком Rate Transition.

Параметры блоков Перехода Уровня Гарантируют, что детерминированная передача данных очищена, чтобы упростить интегрирование в среду выполнения AUTOSAR.

Сгенерированный код для модели планирует подуровни в модели. В этом примере, уровне для блока Inport In2_2s, зеленый уровень, подуровень. Сгенерированный код правильно передает данные между задачами, которые запускаются на различных уровнях.

Сгенерируйте код и отчет (Embedded Coder)

Если вы имеете программное обеспечение Simulink Coder и Embedded Coder, генерируете код и отчет генерации кода. Модель в качестве примера генерирует отчет.

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

Рассмотрите сгенерированный код

В отчете генерации кода рассмотрите сгенерированный код.

  • autosar_swc.c содержит точки входа для кода, который реализует алгоритм модели. Этот файл включает код планирования уровня.

  • autosar_swc.h объявляет структуры данных модели и открытый интерфейс к точкам входа модели и структурам данных.

  • autosar_swc_private.h содержит локальный define константы и локальные данные требуются моделью и подсистемами.

  • autosar_swc_types.h предоставляет предописания для структуры данных модели реального времени и структуры данных параметров.

  • rtwtypes.h задает типы данных, структуры и макросы, которых требует сгенерированный код.

  • autosar_swc_component.arxml, autosar_swc_datatype.arxml, autosar_swc_implementation.arxml, и autosar_swc_interface.arxml содержите элементы и объекты, которые представляют компоненты программного обеспечения AUTOSAR, порты, интерфейсы, типы данных и пакеты. Вы интегрируете файлы ARXML в среду выполнения AUTOSAR. Можно импортировать файлы ARXML в окружение Simulink при помощи инструмента средства импорта AUTOSAR ARXML.

  • Compiler.h, Platform_Types.h, Rte_ASWC.h, Rte_Type.h, и Std_Types.h содержите тупиковые реализации функций среды выполнения AUTOSAR. Используйте эти файлы, чтобы протестировать сгенерированный код в Simulink, например, в программном обеспечении в цикле (SIL) или процессоре в цикле (PIL) симуляции компонента под тестом.

Интерфейс кода

Откройте и рассмотрите Отчет Интерфейса Кода. Эта информация получена в файлах ARXML. Генератор среды выполнения использует описания ARXML, чтобы соединить интерфейсом с кодом в среду выполнения AUTOSAR.

Input port:

  • Потребуйте порта, интерфейса: приемник отправителя типа real-T из 1 размерности

  • Потребуйте порта, интерфейса: приемник отправителя типа real-T из 1 размерности

Функции точки входа:

  • Функция точки входа инициализации, void Runnable_Initialize(void). При запуске вызовите эту функцию однажды.

  • Выведите и обновите функцию точки входа, void Runnable_1s(void). Вызывайте эту функцию периодически на самом быстром уровне в модели. Для этой модели вызывайте функцию каждую секунду. Чтобы достигнуть выполнения в реальном времени, присоедините эту функцию к таймеру.

  • Выведите и обновите функцию точки входа, void Runnable_2s(void). Вызывайте эту функцию периодически на втором самом быстром уровне в модели. Для этой модели вызывайте функцию каждые 2 секунды. Чтобы достигнуть выполнения в реальном времени, присоедините эту функцию к таймеру.

Выходные порты:

  • Обеспечьте порт, интерфейс: приемник отправителя типа real-T из 1 размерности

  • Обеспечьте порт, интерфейс: приемник отправителя типа real-T из 1 размерности

Несколько Runnables, сконфигурированные как Периодический Уровень выполнимый и асинхронный выполнимый вызов функции

Откройте модель autosar_swc_fcncalls.slx в качестве примера.

open_system('autosar_swc_fcncalls')

Модель показывает реализацию атомарного компонента программного обеспечения AUTOSAR (ASWC). Модель использует асинхронный выполнимый вызов функции, Runnable_Trigger, который инициирован внешним событием. Модель также включает периодическое основанное на уровне выполнимое, Runnable_1s. Блоки Перехода Уровня представляют межвыполнимые переменные (IRVs).

Используйте этот подход, чтобы смоделировать бета архитектуру типа модели управления комплекса JMAAB. В бета моделировании типа JMAAB, в верхнем уровне модели управления, вы помещаете функциональные слои выше планирования слоев.

Модель включает Инициализировать Функциональный блок, который инициализирует единичную задержку в Runnable_1s к значению 0.

Чтобы отобразить частоты дискретизации, на которые наносят цветную маркировку, с аннотациями и легендой, на вкладке Debug, выбирают Diagnostics> Information Overlays> Colors.

Соответствующие настройки параметра конфигурации модели

  • Решатель> набор Типа к Fixed-step.

  • Решатель> набор Решателя к discrete (no continuous states).

  • Решатель> размер Фиксированного шага (основной шаг расчета) набор к 1.

  • Решатель> Обработка каждый дискретный уровень как отдельная очищенная задача.

Планирование

В окне модели включите цветовое кодирование шага расчета путем выбора вкладки Debug и выбора Diagnostics> Information Overlays> Colors. Легенда шага расчета показывает неявную группировку уровня. Красный представляет дискретный уровень. Пурпурный представляет асинхронный функциональный триггер. Желтый представляет смесь двух уровней.

Выполнимые запуски асинхронного триггера на асинхронных уровнях (параметр типа Шага расчета блока Trigger подсистемы вызова функций устанавливается на |triggered]), в то время как периодический уровень выполнимые запуски на заданном дискретном уровне. Сгенерированный код управляет уровнями при помощи однозадачных предположений. Для моделей с одним дискретным уровнем генератор кода не производит код планирования, потому что существует только один уровень, чтобы выполниться. Используйте этот метод для односкоростного приложения, когда у вас будет одно периодическое выполнимое.

Модель обрабатывает переходы между асинхронными и дискретными уровнями связанного runnables с двумя блоками Перехода Уровня. Параметры блоков Перехода Уровня Гарантируют, что детерминированная передача данных очищена, чтобы упростить интегрирование в среду выполнения AUTOSAR.

Сгенерируйте код и отчет (Embedded Coder)

Если вы имеете программное обеспечение Simulink Coder и Embedded Coder, генерируете код и отчет генерации кода. Модель в качестве примера генерирует отчет.

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

Рассмотрите сгенерированный код

В отчете генерации кода рассмотрите сгенерированный код.

  • autosar_swc_fcncalls.c содержит точки входа для кода, который реализует алгоритм модели. Этот файл включает код планирования уровня.

  • autosar_swc_fcncalls.h объявляет структуры данных модели и открытый интерфейс к точкам входа модели и структурам данных.

  • autosar_swc_fcncalls_private.h содержит локальный define константы и локальные данные требуются моделью и подсистемами.

  • autosar_swc_fcncalls_types.h предоставляет предописания для структуры данных модели реального времени и структуры данных параметров.

  • rtwtypes.h задает типы данных, структуры и макросы, которых требует сгенерированный код.

  • autosar_swc_fcncalls_component.arxml, autosar_swc_fcncalls_datatype.arxml, autosar_swc_fcncalls_implementation.arxml, и autosar_swc_fcncalls_interface.arxml содержите элементы и объекты, которые представляют компоненты программного обеспечения AUTOSAR, порты, интерфейсы, типы данных и пакеты. Вы интегрируете файлы ARXML в среду выполнения AUTOSAR. Можно импортировать файлы ARXML в окружение Simulink при помощи инструмента средства импорта AUTOSAR ARXML.

  • Compiler.h, Platform_Types.h, Rte_ASWC.h, Rte_Type.h, и Std_Types.h содержите тупиковые реализации функций среды выполнения AUTOSAR. Используйте эти файлы, чтобы протестировать сгенерированный код в Simulink, например, в программном обеспечении в цикле (SIL) или процессоре в цикле (PIL) симуляции компонента под тестом.

Интерфейс кода

Откройте и рассмотрите Отчет Интерфейса Кода. Эта информация получена в файлах ARXML. Генератор среды выполнения использует описания ARXML, чтобы соединить интерфейсом с кодом в среду выполнения AUTOSAR.

Input port:

  • Потребуйте порта, интерфейса: приемник отправителя типа real-T из 1 размерности

Функции точки входа:

  • Функция точки входа инициализации, void Runnable_Initialize(void). При запуске вызовите эту функцию однажды.

  • Функция Simulink, void Runnable_1s(void). Вызывайте эту функцию периодически на самом быстром уровне в модели. Для этой модели вызывайте функцию каждую секунду. Чтобы достигнуть выполнения в реальном времени, присоедините эту функцию к таймеру.

  • Экспортируемая функция, void Runnable_Trigger(void). Вызовите эту функцию в любое время от внешнего триггера.

Выходной порт:

  • Обеспечьте порт, интерфейс: приемник отправителя типа real-T из 1 размерности

Несколько Runnables, сконфигурированные как подсистема вызова функций и функция Simulink

Откройте модель autosar_swc_slfcns.slx в качестве примера.

open_system('autosar_swc_slfcns')

Модель показывает реализацию атомарного компонента программного обеспечения AUTOSAR (ASWC). Модель включает один периодический выполнимый уровень, Runnable_1s, это использует подсистему вызова функций, SS1. Модель также включает функцию Simulink, readData, вводить значение (CurVal) клиентам, которые запрашивают его.

Модель включает Инициализировать Функциональный блок, который инициализирует единичную задержку в подсистеме RollingCounter к значению 0.

Чтобы отобразить частоты дискретизации, на которые наносят цветную маркировку, с аннотациями и легендой, на вкладке Debug, выбирают Diagnostics> Information Overlays> Colors.

Подсистемы вызова функций использования:

  • Когда это затрудняет или не возможно задать системные события в модели Simulink.

  • Достигнуть комплексного многоскоростного планирования runnables. Модель каждый уровень как отдельная подсистема вызова функций.

Соответствующие настройки параметра конфигурации модели

  • Решатель> набор Типа к Fixed-step.

  • Решатель> набор Решателя к discrete (no continuous states).

  • Решатель> размер Фиксированного шага (основной шаг расчета) набор к 1.

  • Решатель> Обработка каждый дискретный уровень как отдельная задача выбран.

Планирование

В окне модели включите цветовое кодирование шага расчета путем выбора вкладки Debug и выбора Diagnostics> Information Overlays> Colors. Легенда шага расчета показывает неявную группировку уровня. Красный идентифицирует дискретный уровень. Пурпурный идентифицирует уровни, наследованные от экспортируемых функций, указывая, что их выполнение находится вне контекста планирования Simulink.

Ваша среда выполнения должна запланировать сгенерированный функциональный код и передачи данных указателя между функциями.

Сгенерируйте код и отчет (Embedded Coder)

Если вы имеете программное обеспечение Simulink Coder и Embedded Coder, генерируете код и отчет генерации кода. Модель в качестве примера генерирует отчет.

Генератор кода:

  • Производит выполнимое AUTOSAR для подсистемы вызова функций на корневом уровне модели.

  • Реализации сигнализируют о связях между runnables как AUTOSAR межвыполнимые переменные (IRVs).

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

Рассмотрите сгенерированный код

В отчете генерации кода рассмотрите сгенерированный код.

  • autosar_swc_slfcns.c содержит точки входа для кода, который реализует алгоритм модели. Этот файл включает код планирования уровня.

  • autosar_swc_slfcns.h объявляет структуры данных модели и открытый интерфейс к точкам входа модели и структурам данных.

  • autosar_swc_slfcns_private.h содержит локальный define константы и локальные данные требуются моделью и подсистемами.

  • autosar_swc_slfcns_types.h предоставляет предописания для структуры данных модели реального времени и структуры данных параметров.

  • readData_private.h содержит локальный define константы и локальные данные требуются функцией Simulink.

  • rtwtypes.h задает типы данных, структуры и макросы, которых требует сгенерированный код.

  • autosar_swc_slfcns_component.arxml, autosar_swc_slfcns_datatype.arxml, autosar_swc_slfcns_implementation.arxml, и autosar_swc_slfcns_interface.arxml содержите элементы и объекты, которые представляют компоненты программного обеспечения AUTOSAR, порты, интерфейсы, типы данных и пакеты. Вы интегрируете файлы ARXML в среду выполнения AUTOSAR. Можно импортировать файлы ARXML в окружение Simulink при помощи инструмента средства импорта AUTOSAR ARXML.

  • Compiler.h, Platform_Types.h, Rte_ASWC.h, Rte_Type.h, и Std_Types.h содержите тупиковые реализации функций среды выполнения AUTOSAR. Используйте эти файлы, чтобы протестировать сгенерированный код в Simulink, например, в программном обеспечении в цикле (SIL) или процессоре в цикле (PIL) симуляции компонента под тестом.

Интерфейс кода

Откройте и рассмотрите Отчет Интерфейса Кода. Эта информация получена в файлах ARXML. Генератор среды выполнения использует описания ARXML, чтобы соединить интерфейсом с кодом в среду выполнения AUTOSAR.

Input port:

  • Потребуйте порта, интерфейса: приемник отправителя типа uint16-T из 1 размерности

  • Потребуйте порта, интерфейса: приемник отправителя типа real-T из 1 размерности

Функции точки входа:

  • Функция точки входа инициализации, void Runnable_Init(void). При запуске вызовите эту функцию однажды.

  • Экспортируемая функция, void Runnable_1s(void). Вызывайте эту функцию периодически каждую секунду.

  • Функция Simulink, Std_ReturnType readData(real_T Data[2]). Вызовите эту функцию в любое время.

Выходные порты:

  • Обеспечьте порт, интерфейс: приемник отправителя типа uint16-T из 1 размерности

Ссылки по теме