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

Моделируйте вызовы компонента AUTOSAR памяти Basic Software и диагностических сервисов с помощью ссылочных реализаций

Сконфигурируйте вызовы основных программных сервисов AUTOSAR

Стандарт AUTOSAR задает Basic Software (BSW) сервисы, которые запускаются в среде выполнения AUTOSAR. Сервисы включают менеджера NVRAM (NvM) и Диагностический менеджер событий (DEM) сервисы. В среде выполнения AUTOSAR, компоненты программного обеспечения AUTOSAR обычно доступ сервисы BSW, использующие клиент-сервер или коммуникация получателя отправителя.

В вашей модели компонента программного обеспечения AUTOSAR, чтобы реализовать клиентские вызовы сервисных интерфейсов NvM и DEM, вы перетаскиваете мышью, предварительно сконфигурировал блоки вызывающей стороны NvM и DEM. Каждый блок предварительно заполнил параметры, такие как имя Клиентского порта и Операция. Вы конфигурируете параметры блоков, например, чтобы выбрать NvM или сервисную операцию Dem, чтобы вызвать. Чтобы сконфигурировать добавленные блоки вызывающей стороны в компоненте программного обеспечения AUTOSAR, вы синхронизируете модель. Программное обеспечение создает интерфейсы клиентской службы AUTOSAR, операции и порты, и сопоставляет каждый вызов функции Simulink с клиентским портом AUTOSAR и операцию. Для получения дополнительной информации смотрите, Конфигурируют Вызовы менеджера AUTOSAR NVRAM Сервис и Конфигурируют Вызовы Диагностического Сервиса менеджера по корпоративным мероприятиям AUTOSAR.

Вот модель интегрирования положения дросселя, которая интегрирует два компонента датчика положений дросселя, и положение дросселя контролируют компонент. Компоненты датчика принимают необработанное значение датчика положений дросселя (TPS) и преобразовывают его в процентное значение TPS. Компонент монитора берет процентные значения TPS, обеспеченные первичными и вторичными компонентами датчика, и решает, о каком TPS сигнализируют, чтобы пройти. Компоненты датчика вызывают BSW NvM и сервисы DEM, и компонент монитора вызывает сервисы DEM BSW.

open_system('autosar_bsw_presim');

autosar_bsw_sensor1 компонентов датчика и autosar_bsw_sensor2, каждый содержит Инициализировать Функциональный блок, который вызывает сервисный интерфейс NvMService NvM. Вызовы реализованы с помощью блока NvMServiceCaller Библиотеки стандартных программ. Каждый блок сконфигурирован, чтобы вызвать операцию NvMService ReadBlock. Вызовы ReadBlock используют клиентские порты S1LowSetPoint и S2LowSetPoint. Вот Инициализировать Функциональный блок для autosar_bsw_sensor1.

Вот диалоговое окно блока NvMServiceCaller для ReadBlock, призывают Инициализировать Функциональный блок. Для получения дополнительной информации смотрите NvMServiceCaller.

Компоненты датчика autosar_bsw_sensor1 и autosar_bsw_sensor2 каждый содержит два вызова сервисного интерфейса DiagnosticMonitor DEM. Оба вызова реализованы с помощью блока DiagnosticMonitorCaller Библиотеки стандартных программ. Каждый блок сконфигурирован, чтобы вызвать операцию DiagnosticMonitor SetEventStatus. Вызовы SetEventStatus используют клиентские порты S1StuckLow, S1StuckHigh, S2StuckLow и S2StuckHigh.

Вот диалоговое окно блока DiagnosticMonitorCaller для вызова StuckLow в первом компоненте датчика. Для получения дополнительной информации смотрите DiagnosticMonitorCaller.

Контролируйте autosar_bsw_monitor компонента содержит вызов сервисного интерфейса DiagnosticMonitor DEM и четыре вызова сервисного интерфейса DiagnosticInfo DEM.

  • Как в компоненте датчика, блок DiagnosticMonitorCaller реализует вызов DiagnosticMonitor, и это сконфигурировано, чтобы вызвать операцию SetEventStatus. Именем клиентского порта является TPS.

  • Четыре вызова DiagnosticInfo реализованы с помощью блока DiagnosticInfoCaller Библиотеки стандартных программ. Каждый блок сконфигурирован, чтобы вызвать операцию DiagnosticInfo GetEventFailed. Вызовы GetEventFailed используют клиентские порты TPS1StuckLow, TPS1StuckHigh, TPS2StuckLow и TPS2StuckHigh.

Вот диалоговое окно блока DiagnosticinfoCaller для вызова TPS1StuckLow. Для получения дополнительной информации смотрите DiagnosticInfoCaller.

Если вам лицензируют для Simulink Coder и Embedded Coder, можно сгенерировать код С и экспортировать описания arxml для сервисных вызовов NvM и DEM. Откройте и создайте каждую модель компонента. Например, чтобы создать модель autosar_bsw_monitor, откройте модель. Нажмите Ctrl+B или введите команду MATLAB rtwbuild('autosar_bsw_monitor').

Чтобы видеть результаты сборки модели, исследуйте отчет генерации кода.

Сконфигурируйте ссылочные реализации основных программных сервисов AUTOSAR для симуляции

Чтобы моделировать модель компонента AUTOSAR, которая вызывает сервисы BSW, создайте содержание состава, системы или модели тестовой обвязки. В том содержащем модель, обеспечьте ссылочные реализации сервисных операций NvM и DEM, вызванных компонентом.

Библиотека блоков AUTOSAR Basic Software включает блок NVRAM Service Component и блок Diagnostic Service Component. Блоки обеспечивают ссылочные реализации сервисных операций NvM и DEM. Чтобы поддержать симуляцию вызовов компонента сервисов NvM и DEM, включайте блоки в содержание модели. Можно вставить блоки любым из двух способов:

  • Автоматически вставьте блоки путем создания модели тестовой обвязки Simulink Test

  • Вручную вставьте блоки в содержание состава, системы или модели тестовой обвязки

Чтобы вставить Сервисные блоки Компонента автоматически для модели, которая вызывает BSW NvM и сервисы DEM, откройте модель (или содержание модели) и создайте обвязку Simulink Test. Выберите Analysis> Test Harness> Create for Model. В диалоговом окне Create Test Harness нажать ОК. Программное обеспечение компилирует модель, добавляет NVRAM и Диагностические Сервисные блоки Компонента, и создает порты и другие элементы, требуемые для симуляции. Например, вот тестовая обвязка, созданная для модели интегрирования положения дросселя.

Чтобы вставить Сервисные блоки Компонента вручную для сервисных вызовов NvM и DEM в этом примере, откройте модель интегрирования. Используя Браузер Библиотеки или команды add_block, или путем ввода имен блока в окне модели, добавляют NVRAM и Диагностические Сервисные блоки Компонента к модели.

open_system('autosar_bsw_presim');
add_block('autosarlibnvm/NVRAM Service Component','autosar_bsw_presim/NVRAM Service Component');
add_block('autosarlibdem/Diagnostic Service Component','autosar_bsw_presim/Diagnostic Service Component');
set_param('autosar_bsw_presim','SimulationCommand','update');

Блок NVRAM Service Component предварительно заполнил параметры, включая параметры среды выполнения (RTE) и параметры NVRAM Properties. Исследуйте установки параметров и рассмотрите, требует ли кто-либо изменения, на основе того, как вы используете сервисные операции NvM. Для получения дополнительной информации смотрите Сервисный Компонент NVRAM.

Таблица вкладки RTE приводит клиентские порты компонента и их отображение с сервисным блоком IDs NvM. Каждая строка в таблице представляет вызов на службы NvM от блока вызывающей стороны Basic Software. Вызовы, которые действуют на тот же блок NvM обычно, используют тот же блок ID. Этот пример сопоставляет клиентские порты NvM ReadBlock с различным блоком IDs.

Блок Diagnostic Service Component предварительно заполнил параметры, включая параметры RTE и Противооснованные параметры Debouncing. Исследуйте установки параметров и рассмотрите, требует ли кто-либо изменения, на основе того, как вы используете сервисные операции DEM.

Противооснованные параметры Debouncing управляют противооснованным debounce алгоритмом, предоставленным сервисными реализациями ссылки DEM. Во время нескольких выполнений симуляции можно настроить размер шага события и пороговые параметры и наблюдать эффекты. Для получения дополнительной информации смотрите Диагностический Сервисный Компонент.

Таблица вкладки RTE приводит клиентские порты компонента и их отображение с сервисными идентификаторами события DEM. Каждая строка в таблице представляет вызов на службы DEM от блока вызывающей стороны Basic Software. Вызовы, которые действуют на то же событие обычно, используют тот же идентификатор события. Этот пример сопоставляет DEM клиентские порты SetEventStatus с различными идентификаторами события, и затем сопоставляет DEM клиентские порты GetEventFailed с идентификаторами события, которые совместно используются с портами SetEventStatus. Например, порт S1StuckHigh и GetFailedEvent порта SetEventStatus идентификатор события доли TPS1StuckHigh 1; S1Stucklow и TPS1StuckLow совместно используют идентификатор события 2; и так далее.

Моделируйте вызовы сервисов DEM и AUTOSAR NvM

После ручного добавления NVRAM и Диагностических Сервисных блоков Компонента к модели интегрирования, моделируйте модель. Симуляция осуществляет AUTOSAR NvM и сервисные вызовы DEM в датчике положениях дросселя и моделях компонента монитора.

open_system('autosar_bsw_simulation');
simOutIntegration = sim('autosar_bsw_simulation');

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