Разработайте компоненты AUTOSAR, моделируйте и сгенерируйте код

Разработайте компоненты AUTOSAR путем реализации алгоритмов поведения, симуляции компонентов и составов, и генерации кода компонента

Начните с представления Simulink компонентов AUTOSAR

Чтобы разработать компоненты AUTOSAR в Simulink®, вы сначала создаете представление Simulink компонента программного обеспечения AUTOSAR. Создание компонента AUTOSAR может начать с описания компонента arxml или существующего проекта Simulink.

Этот пример использует представление Simulink состава программного обеспечения AUTOSAR под названием autosar_composition, который моделирует систему управления положения дросселя. Состав содержит шесть, соединил компоненты программного обеспечения AUTOSAR - четыре компонента датчика/привода и два компонента приложения.

Откройте модель autosar_composition состава.

open_system('autosar_composition');

Сигнальные линии между моделями компонента представляют коннекторы блока AUTOSAR, и сигнальные линии между моделями компонента и импортом данных и выходными портами представляют коннекторы делегации AUTOSAR.

В модели состава модели компонента могут быть основаны на уровне, вызов функции, базирующийся, или соединение обоих. Этот состав содержит основанные на уровне модели компонента. В каждой модели компонента, модель AUTOSAR атомарных подсистем периодический runnables. Чтобы позволить основанным на уровне выполнимым задачам быть запланированными на той же основе как экспортируемые функции, модели компонента используют опцию блока Model уровни Расписания. Эта опция отображает образцовые периодические порты события для основанных на уровне моделей.

Функциональный обзор состава управления положением дросселя

Цель модели autosar_composition состава состоит в том, чтобы управлять автомобильным дросселем на основе входа от педали акселератора и обратной связи от дросселя. В составе компонент контроллера берет входные значения из датчика положения педали акселератора (APP) и двух датчиков положения дросселя (TPSs) и переводит значения во входные значения для привода дросселя. Привод дросселя генерирует аппаратную команду, которая регулирует положение дросселя.

Модель состава имеет корневой импорт для датчика педали акселератора и двух датчиков дросселя и корневого выходного порта для команды, чтобы отрегулировать оборудование. Состав ожидает, что входные значения датчика уже прибудут нормированные в аналоговый/цифровой конвертер (ADC) область значений. Компоненты состава являются тремя датчиками, одним монитором, одним контроллером и одним приводом.

  • Модель компонента датчика autosar_swc_pedal_sensor берет датчик APP значение HWIO из состава, импортирует, и преобразовывает его в процентное значение датчика APP.

  • Первичные и вторичные экземпляры модели компонента датчика autosar_swc_throttle_sensor берут TPS значения HWIO из импорта состава и преобразовывают их в процентные значения TPS.

  • Модель autosar_swc_monitor компонента приложения решает, о каком TPS сигнализируют, чтобы передать до контроллера.

  • Модель autosar_swc_controller компонента приложения берет процентное значение датчика APP из датчика педали и процентное значение TPS, обеспеченное монитором TPS. На основе этих значений контроллер вычисляет процентное значение команды дросселя, чтобы обеспечить к приводу дросселя.

  • Модель компонента привода autosar_swc_actuator берет процентное значение команды дросселя, обеспеченное контроллером, и преобразовывает его в команду дросселя значение HWIO.

Разработайте алгоритмы компонента AUTOSAR

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

Чтобы разработать алгоритмы компонента AUTOSAR, откройте каждый компонент и обеспечьте содержимое Simulink, которое реализует поведение компонента. Например, рассмотрите модель компонента autosar_swc_controller в модели autosar_composition. Когда сначала импортированный или созданный в Simulink, начальное представление компонента autosar_swc_controller, вероятно, содержало начальную тупиковую реализацию поведения контроллера.

Вот является реализация контроллера положения дросселя поведением, обеспеченным моделью autosar_swc_controller компонента приложения. Компонент берет в качестве входных параметров процентное значение датчика APP от датчика положений педали и процентное значение TPS, обеспеченное монитором датчика положений дросселя. На основе этих значений контроллер вычисляет ошибку, которая является различием между тем, где автомобильный драйвер хочет дроссель, на основе датчика педали и текущего положения дросселя. Блок Discrete PID Controller использует ошибочное значение, чтобы вычислить процентное значение команды дросселя, чтобы обеспечить к приводу дросселя. Осциллограф отображает ошибочное значение и выходное значение блока Discrete PID Controller в зависимости от времени.

Модели компонента датчика и привода в модели autosar_composition используют интерполяционные таблицы, чтобы реализовать их преобразования значения. Например, рассмотрите модель компонента autosar_swc_actuator. Когда сначала импортированный или созданный в Simulink, начальное представление компонента autosar_swc_actuator, вероятно, содержало начальную тупиковую реализацию поведения привода.

Вот является реализация поведения привода положения дросселя, обеспеченного моделью компонента привода autosar_swc_actuator. Компонент берет процентное значение команды дросселя, обеспеченное контроллером, и преобразовывает его в команду дросселя значение HWIO. Аппаратная интерполяционная таблица команды моста генерирует выходное значение.

Модель компонента монитора в модели autosar_composition реализует логику для выбора, о каком TPS сигнализируют, чтобы обеспечить к компоненту контроллера. Когда сначала импортированный или созданный в Simulink, начальное представление компонента autosar_swc_monitor, вероятно, содержало начальную тупиковую реализацию поведения монитора.

Вот реализация поведения монитора положения дросселя, обеспеченного моделью autosar_swc_monitor компонента приложения. Компонент берет процентные значения TPS из первичных и вторичных датчиков положения дросселя и решает, о каком TPS сигнализируют, чтобы передать до контроллера. Блок switch определяет, через какое значение проходят, на основе логики выбора датчика.

Моделируйте компоненты AUTOSAR и состав

Когда вы разрабатываете компоненты AUTOSAR, можно моделировать модели компонента индивидуально или вместе в содержании состава.

Моделируйте реализованную модель компонента Controller.

open_system('autosar_swc_controller');
simOutComponent = sim('autosar_swc_controller');
close_system('autosar_swc_controller');

Моделируйте модель autosar_composition.

simOutComposition = sim('autosar_composition');

Сгенерируйте код компонента AUTOSAR (Embedded Coder)

Когда вы разрабатываете каждый компонент AUTOSAR, если вам лицензируют для Simulink Coder и Embedded Coder, можно сгенерировать файлы описания компонента arxml и алгоритмический код С для тестирования в Simulink или интегрирования в среду выполнения AUTOSAR.

Например, чтобы создать реализованную модель компонента autosar_swc_controller, откройте модель. Нажмите Ctrl+B или введите команду MATLAB rtwbuild('autosar_swc_controller').

Сборка модели экспортирует описания arxml, генерирует AUTOSAR-совместимый код С и открывает отчет генерации кода HTML, описывающий сгенерированные файлы. В отчете можно исследовать сгенерированные файлы и кликнуть по гиперссылкам, чтобы перейти между сгенерированным кодом и исходными блоками в модели компонента.

Альтернативы для симуляции уровня системы AUTOSAR

После того, как вы разрабатываете компоненты AUTOSAR и составы, можно протестировать группы компонентов, которые принадлежат вместе симуляции уровня системы. Альтернативы включают:

  • Объедините компоненты в составе для симуляции.

  • Создайте тестовую обвязку с компонентами, планировщиком, моделью объекта управления, и потенциально Основными компонентами Программного сервиса и вызывающими сторонами. Используйте тестовую обвязку, чтобы выполнить разомкнутый цикл или системную симуляцию с обратной связью.

Для примера симуляции разомкнутого цикла с помощью Simulink Test см. "Тестирование Составы AUTOSAR". Чтобы открыть пример Simulink Test, введите команду MATLAB showdemo('sltestAUTOSARCompositionDemo').

Для примера симуляции с обратной связью откройте модель autosar_system в качестве примера. Эта модель обеспечивает тестовую обвязку уровня системы для модели autosar_composition состава AUTOSAR.

open_system('autosar_system');

Цель системной модели autosar_system состоит в том, чтобы позволить симуляцию уровня системы объекта и фрагменты контроллера автомобильной системы управления положения дросселя. Системная модель комбинирует модель autosar_composition состава со схематическими представлениями физической педали акселератора и устройств дросселя в системе с обратной связью. Модель берет выходные значения из педали и блоков устройства дросселя, преобразовывает значения в аналоговый/цифровой конвертер (ADC) область значений и обеспечивает значения как входные параметры к составу. Системная модель также принимает управление дросселя значение HWIO, сгенерированное составом, и преобразовывает его в приемлемое входное значение для блока устройства дросселя. Осциллограф положения дросселя уровня системы отображает входное значение датчика педали акселератора против входного значения датчика положений дросселя в зависимости от времени.

Если вы моделируете системную модель, осциллограф положения дросселя указывает, как хорошо позиционные дросселем алгоритмы управления в модели состава дросселя отслеживают вход педали акселератора. Можно изменить систему, чтобы улучшить поведение состава. Например, можно изменить алгоритмы компонента, чтобы принести педаль акселератора и значения положения дросселя ближе в выравнивании, или изменить источник датчика.

simOutSystem = sim('autosar_system');

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