Стандарт AUTOSAR задает важные сервисы как часть Basic Software (BSW), который запускается в Среде выполнения AUTOSAR (RTE). Примеры включают менеджера NVRAM (NvM) и Диагностический менеджер событий (DEM). В AUTOSAR RTE, компоненты программного обеспечения AUTOSAR обычно доступ сервисы BSW, использующие клиент-сервер или коммуникация получателя отправителя.
Чтобы поддержать моделирование уровня системы компонентов AUTOSAR и услуги, AUTOSAR Blockset обеспечивает библиотеку блоков AUTOSAR Basic Software. Библиотека содержит предварительно сконфигурированные блоки для моделирования вызовов компонента услуг AUTOSAR BSW и ссылочных реализаций сервисов BSW. Для получения информации об использовании блоков к клиентским вызовам модели сервисных интерфейсов AUTOSAR BSW см. Модель Вызовы Программного сервиса AUTOSAR Basic.
Для примера live скрипта симуляции сервисов AUTOSAR BSW смотрите, что пример Симулирует Основные Программные сервисы AUTOSAR и Среду выполнения.
Вот пример конфигурирования клиентских вызовов сервисных интерфейсов DEM в вашем компоненте программного обеспечения AUTOSAR.
Откройте модель, которая сконфигурирована для генерации кода AUTOSAR. Используя Браузер Библиотеки или путем ввода имен блока в окне модели, добавьте блоки DEM в модель. Этот пример добавляет блоки DiagnosticInfoCaller и DiagnosticMonitorCaller к перезаписываемой копии модели autosar_swc
в качестве примера.
Когда вы вставляете каждый блок, вам предлагают имя клиентского порта, которое является именем клиентского порта AUTOSAR, используемого этим компонентом, чтобы вызвать интерфейс BSW. В целях этого примера примите имена по умолчанию, DiagnosticInfo
и DiagnosticMonitor
.
Откройте каждый блок и исследуйте параметры, особенно Operation. Если вы выбираете различную операцию и нажимаете Apply, обновления программного обеспечения вводы и выводы блока, чтобы совпадать с аргументами выбранной операции.
Этот пример изменяет Operation для блока DiagnosticInfoCaller из GetEventStatus
к GetEventFailed
. (Для примера использования GetEventFailed
в реализации монитора положения дросселя смотрите, что пример Симулирует Основные Программные сервисы AUTOSAR и Среду выполнения.)
Для некоторых операций Dem, таких как GetDTCOfEvent
и SetEventStatus
, диалоговое окно параметров блоков отображается параметр типа данных. Параметр задает перечислимый тип данных для входного параметра функции, который представляет тип формата DEM или состояние события. Типы данных по умолчанию обеспечиваются, такие как Dem_DTCFormatType
или Dem_EventStatusType
. Для получения дополнительной информации о типе формата или значениях состояния события, смотрите стандартную Спецификацию AUTOSAR Диагностического менеджера событий.
Откройте редактор Отображений Кода. Чтобы обновить 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
.
Опционально, создайте свою модель компонента и исследуйте сгенерированный 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>
Чтобы симулировать модель компонента, создайте содержание состава, системы или модели тестовой обвязки. В том содержащем модель, вставьте ссылочные реализации DEM GetEventFailed
и GetEventStatus
сервисные операции.
Библиотека блоков AUTOSAR Basic Software обеспечивает блок Diagnostic Service Component, который обеспечивает ссылочные реализации сервисных операций DEM. Можно вручную вставить блок в содержание состава, системы или модели тестовой обвязки, или автоматически вставить блок путем создания модели тестовой обвязки Simulink Test™.
Например, на вкладке Apps, нажмите Simulink Test. Затем на вкладке Tests нажмите Simulink Test Manager. Нажмите Add Test Harness. В диалоговом окне Create Test Harness нажмите OK. Программное обеспечение компилирует модель, добавляет блок Diagnostic Service Component и создает порты и другие элементы, требуемые для симуляции.
Для получения дополнительной информации смотрите, Конфигурируют Основные Реализации Программного сервиса AUTOSAR для Симуляции и Симулируют Основные Программные сервисы AUTOSAR и Среду выполнения.
Diagnostic Service Component | DiagnosticInfoCaller | DiagnosticMonitorCaller