Симулируйте основные программные сервисы 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 (требует Simulink Test). На вкладке Apps нажмите Simulink Test. Затем на вкладке Tests нажмите Simulink Test Manager. Нажмите Add Test Harness. В диалоговом окне 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 порты. Например, SetEventStatus порт S1StuckHigh и GetFailedEvent порт TPS1StuckHigh совместно используйте идентификатор события 1; S1Stucklow и TPS1StuckLow совместно используйте идентификатор события 2; и так далее.

Симулируйте вызовы сервисов DEM и AUTOSAR NvM

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

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

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