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

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

Чтобы поддержать моделирование уровня системы компонентов AUTOSAR и услуги, AUTOSAR Blockset обеспечивает библиотеку блоков AUTOSAR Basic Software. Библиотека содержит предварительно сконфигурированные блоки для моделирования вызовов компонента услуг AUTOSAR BSW и ссылочных реализаций сервисов BSW. Для получения информации об использовании блоков к клиентским вызовам модели сервисных интерфейсов AUTOSAR BSW см. Модель Вызовы Программного сервиса AUTOSAR Basic.

Для примера live скрипта симуляции сервисов AUTOSAR BSW смотрите, что пример Симулирует Основные Программные сервисы AUTOSAR и Среду выполнения.

Вот пример конфигурирования клиентских вызовов сервисных интерфейсов DEM в вашем компоненте программного обеспечения AUTOSAR.

  1. Откройте модель, которая сконфигурирована для генерации кода AUTOSAR. Используя Браузер Библиотеки или путем ввода имен блока в окне модели, добавьте блоки DEM в модель. Этот пример добавляет блоки DiagnosticInfoCaller и DiagnosticMonitorCaller к перезаписываемой копии модели autosar_swc в качестве примера.

  2. Откройте каждый блок и исследуйте параметры, особенно Operation. Если вы выбираете различную операцию и нажимаете Apply, обновления программного обеспечения вводы и выводы блока, чтобы совпадать с аргументами выбранной операции.

    Этот пример изменяет Operation для блока DiagnosticInfoCaller из GetEventStatus к GetEventFailed. (Для примера использования GetEventFailed в реализации монитора положения дросселя смотрите, что пример Симулирует Основные Программные сервисы AUTOSAR и Среду выполнения.)

    Для некоторых операций Dem, таких как GetDTCOfEvent и SetEventStatus, диалоговое окно параметров блоков отображается параметр типа данных. Параметр задает перечислимый тип данных для входного параметра функции, который представляет тип формата DEM или состояние события. Типы данных по умолчанию обеспечиваются, такие как Dem_DTCFormatType или Dem_EventStatusType. Для получения дополнительной информации о типе формата или значениях состояния события, см. стандартную Спецификацию AUTOSAR Диагностического менеджера событий.

  3. Откройте редактор Отображений Кода. Чтобы обновить Simulink® к отображению AUTOSAR модели с изменениями в вызывающих сторонах функции Simulink, нажмите кнопку Update. Программное обеспечение создает интерфейсы клиентской службы AUTOSAR, операции и порты, и сопоставляет каждую вызывающую сторону функции Simulink с клиентским портом AUTOSAR и операцией.

    Например, для блока DiagnosticMonitorCaller в этом примере, для который SetEventStatus операция выбрана:

    • Программное обеспечение создает интерфейс C-S DiagnosticMonitor, и под DiagnosticMonitor, его поддерживаемые операции. Для каждой операции аргументам предоставляют свойства только для чтения. Вот аргументы для DiagnosticMonitor операция SetEventStatus отображенный в Словаре AUTOSAR.

    • Программное обеспечение создает клиентский порт с именем по умолчанию DiagnosticMonitor. В отличие от C-S-interface, операции и имен аргумента, может быть настроено имя клиентского порта. Клиентский порт сопоставлен с DiagnosticMonitor интерфейс.

    • Редактор Отображений Кода сопоставляет DiagnosticMonitor функционируйте блок вызывающей стороны к клиентскому порту AUTOSAR DiagnosticMonitor и операция AUTOSAR SetEventStatus.

  4. Опционально, создайте свою модель компонента и исследуйте сгенерированный C и код ARXML. Код С включает клиентские вызовы сервисов BSW, например:

    /* FunctionCaller: '<Root>/DiagnosticInfoCaller' */
    Rte_Call_DiagnosticInfo_GetEventFailed(&rtb_DiagnosticInfoCaller_o1);
    
    /* FunctionCaller: '<Root>/DiagnosticMonitorCaller' */
    Rte_Call_DiagnosticMonitor_SetEventStatus(DEM_EVENT_STATUS_PASSED);

    Сгенерированные RTE включают файлы, задают извещатели работы сервера, такие как Rte_Call_DiagnosticMonitor_SetEventStatus, и типы данных аргумента, такие как перечисляемый тип Dem_EventStatusType.

    Код ARXML задает сервисные операции BSW, вызванные компонентом как извещатели сервера, например:

    <SERVER-CALL-POINTS>
    ...
        <SYNCHRONOUS-SERVER-CALL-POINT UUID="...">
            <SHORT-NAME>SC_DiagnosticMo_334e61e63627b44b</SHORT-NAME>
            <OPERATION-IREF>
                <CONTEXT-R-PORT-REF DEST="R-PORT-PROTOTYPE">
                  /Company/Powertrain/Components/ASWC/DiagnosticMonitor
                </CONTEXT-R-PORT-REF>
                <TARGET-REQUIRED-OPERATION-REF DEST="CLIENT-SERVER-OPERATION">
                  /AUTOSAR/Services/Dem/DiagnosticMonitor/SetEventStatus
                </TARGET-REQUIRED-OPERATION-REF>
            </OPERATION-IREF>
            <TIMEOUT>1.0E-06</TIMEOUT>
        </SYNCHRONOUS-SERVER-CALL-POINT>
    </SERVER-CALL-POINTS>
  5. Чтобы симулировать модель компонента, создайте содержание состава, системы или модели тестовой обвязки. В том содержащем модель, вставьте ссылочные реализации DEM GetEventFailed и GetEventStatus сервисные операции.

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

    Для получения дополнительной информации смотрите, Конфигурируют Основные Реализации Программного сервиса AUTOSAR для Симуляции и Симулируют Основные Программные сервисы AUTOSAR и Среду выполнения.

Смотрите также

| | | |

Связанные примеры

Больше о