Разработайте компоненты AUTOSAR путем реализации алгоритмов поведения, симуляции компонентов и составов, и генерации кода компонента.
Чтобы разработать компоненты AUTOSAR в Simulink®, вы сначала создаете представление Simulink компонента программного обеспечения AUTOSAR. Создание компонента AUTOSAR может начать с описания компонента ARXML или существующего проекта Simulink.
Чтобы импортировать описание компонента программного обеспечения AUTOSAR из файлов ARXML и создать начальное представление модели Simulink, смотрите Импорт в качестве примера Компонент AUTOSAR к Simulink или Импорту в качестве примера Состав AUTOSAR к Simulink.
Чтобы создать начальное представление модели компонента программного обеспечения AUTOSAR в Simulink, смотрите, Создают Компонент программного обеспечения AUTOSAR в 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.
После создания начальных представлений 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, можно симулировать модели компонента индивидуально или как группа в содержании состава.
Симулируйте реализованный Controller
модель компонента.
open_system('autosar_swc_controller'); simOutComponent = sim('autosar_swc_controller'); close_system('autosar_swc_controller');
Симулируйте autosar_composition
модель.
simOutComposition = sim('autosar_composition');
Когда вы разрабатываете каждый компонент AUTOSAR, если у вас есть программное обеспечение Simulink Coder и Embedded Coder, можно сгенерировать файлы описания компонента ARXML и алгоритмический код С для тестирования в Simulink или интегрирования в среду выполнения AUTOSAR.
Например, чтобы создать реализованный autosar_swc_controller
модель компонента, откройте модель. Нажмите Ctrl+B или введите команду MATLAB rtwbuild('autosar_swc_controller')
.
Сборка модели экспортирует описания ARXML, генерирует AUTOSAR-совместимый код С и открывает отчет генерации кода HTML, описывающий сгенерированные файлы. В отчете можно исследовать сгенерированные файлы и кликнуть по гиперссылкам, чтобы перейти между сгенерированным кодом и исходными блоками в модели компонента.
После того, как вы разрабатываете компоненты AUTOSAR и составы, можно протестировать группы компонентов, которые принадлежат вместе симуляции уровня системы. Вы можете:
Объедините компоненты в составе для симуляции.
Создайте тестовую обвязку с компонентами, планировщиком, моделью объекта управления, и потенциально Основными компонентами Программного сервиса и вызывающими сторонами. Используйте тестовую обвязку, чтобы выполнить разомкнутый контур или системную симуляцию с обратной связью.
Для примера симуляции разомкнутого контура, которая использует Simulink Test, смотрите Тестирование Составы AUTOSAR (Simulink Test). Пример выполняет спина к спине тестирование на модель состава AUTOSAR.
Для примера симуляции с обратной связью откройте модель autosar_system
в качестве примера. Эта модель обеспечивает тестовую обвязку уровня системы для модели
autosar_composition
состава AUTOSAR.
open_system('autosar_system');
Цель системной модели autosar_system
выполняет симуляцию уровня системы объекта и фрагменты контроллера автомобильной системы управления положения дросселя. Системная модель комбинирует модель autosar_composition
состава со схематическими представлениями физической педали акселератора и устройств дросселя в системе с обратной связью. Модель берет выходные значения из педали и блоков устройства дросселя, преобразует значения в аналоговый/цифровой конвертер (ADC) область значений и вводит значения как входные параметры к составу. Системная модель также принимает управление дросселя значение HWIO, сгенерированное составом, и преобразует его в приемлемое входное значение для блока устройства дросселя. Осциллограф положения дросселя уровня системы отображает входное значение датчика педали акселератора против входного значения датчика положений дросселя в зависимости от времени.
Если вы симулируете системную модель, осциллограф положения дросселя указывает, как хорошо позиционные дросселем алгоритмы управления в модели состава дросселя отслеживают вход педали акселератора. Можно изменить систему, чтобы улучшить поведение состава. Например, можно изменить алгоритмы компонента, чтобы принести педаль акселератора и значения положения дросселя ближе в выравнивании, или можно изменить источник датчика.
simOutSystem = sim('autosar_system');