Разработка компонентов 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. Чтобы можно было планировать задачи, выполняемые на основе скорости, на той же основе, что и экспортируемые функции, модели компонентов используют опцию «Schedule rates» блока модели. Эта опция отображает периодические порты событий модели для моделей на основе скорости.

Цель модели состава autosar_composition предназначен для управления автомобильным дросселем на основе входного сигнала от педали акселератора и обратной связи от дросселя. Внутри композиции компонент контроллера принимает входные значения от датчика положения педали акселератора (APP) и двух датчиков положения дросселя (TPS). Затем контроллер преобразует значения в входные значения для привода дросселя. Привод дросселя генерирует аппаратную команду, которая регулирует положение дросселя.
Модель композиции имеет корневой вход для датчика педали акселератора и два датчика дросселя, и корневой выход для команды на дроссельное оборудование. Состав требует, чтобы входные значения датчиков поступали уже нормализованным в диапазон аналого-цифрового преобразователя (АЦП). Составными компонентами являются три датчика, один монитор, один контроллер и один исполнительный механизм.
Модель компонента датчика autosar_swc_pedal_sensor принимает значение HWIO датчика APP из ввода композиции и преобразует его в процентное значение датчика APP.
Первичный и вторичный экземпляры модели компонентов датчика autosar_swc_throttle_sensor взять значения HWIO TPS из входных данных композиции и преобразовать их в процентные значения 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, обеспечиваемое монитором датчика положения дроссельной заслонки. На основе этих значений контроллер вычисляет ошибку, которая является разницей между тем, где водитель автомобиля хочет получить дроссель, на основе датчика педали, и текущим положением дросселя. Блок дискретного ПИД-контроллера использует значение ошибки для вычисления процентного значения команды дросселя для обеспечения привода дросселя. В области отображается значение ошибки и выходное значение блока дискретного ПИД-контроллера с течением времени.

Модели компонентов сенсора и привода в 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 и алгоритмический код C для тестирования в Simulink или интеграции в среду выполнения AUTOSAR.
Например, для построения реализованного autosar_swc_controller модель компонента, откройте модель. Нажмите клавиши CTRL + B или введите команду MATLABslbuild('autosar_swc_controller').
Сборка модели экспортирует описания ARXML, генерирует код C, совместимый с AUTOSAR, и открывает отчет о создании кода HTML, описывающий созданные файлы. В отчете можно просмотреть созданные файлы и щелкнуть гиперссылки для перехода между сгенерированным кодом и исходными блоками в модели компонента.
После разработки компонентов и композиций AUTOSAR можно тестировать группы компонентов, которые принадлежат друг другу в моделировании на уровне системы. Вы можете:
Объединение компонентов в композицию для моделирования.
Создайте тестовый жгут с компонентами, планировщиком, моделью завода и потенциально компонентами службы Basic Software и вызывающими абонентами. Используйте тестовый электрический жгут для моделирования системы с разомкнутым или замкнутым контуром.
Пример моделирования с разомкнутым контуром с использованием Simulink Test см. в разделе Тестирование композиций AUTOSAR (Simulink Test). В примере выполняется обратное тестирование для модели композиции AUTOSAR.
Для примера моделирования с замкнутым контуром откройте пример модели autosar_system. Эта модель обеспечивает тестовый жгут системного уровня для модели композиции AUTOSAR autosar_composition.
open_system('autosar_system');
Цель модели системного уровня autosar_system выполняют моделирование на уровне системы части установки и контроллера системы управления положением дроссельной заслонки автомобиля. Модель системного уровня объединяет модель композиции. autosar_composition с блочными представлениями педали физического акселератора и дроссельных устройств в замкнутой системе. Модель берет выходные значения из блоков педали и дроссельного устройства, преобразует эти значения в диапазон аналого-цифрового преобразователя (АЦП) и выдает их в качестве входных данных в состав. Системная модель также принимает значение HWIO команды дросселя, генерируемое композицией, и преобразует его в приемлемое входное значение для блока устройства дросселя. В области положения дросселя системного уровня отображается входное значение датчика педали акселератора относительно входного значения датчика положения дросселя с течением времени.
При моделировании модели на уровне системы объем положения дроссельной заслонки показывает, насколько хорошо алгоритмы управления положением дроссельной заслонки в модели состава дроссельной заслонки отслеживают ввод педали акселератора. Можно изменить систему, чтобы улучшить поведение композиции. Например, можно изменить алгоритмы компонентов, чтобы сблизить значения положения педали акселератора и дросселя или изменить источник датчика.
simOutSystem = sim('autosar_system');