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

Можно сконфигурировать сервисную идентификацию экземпляра для необходимых и обеспеченных портов в адаптивном компоненте AUTOSAR. Когда вы создаете адаптивную модель компонента программного обеспечения:

  • Экспортируемые файлы ARXML включают сервисный файл манифеста экземпляра, который описывает отображение экземпляра порта к сервису.

  • Сгенерированный Код С++ использует сконфигурированную сервисную информацию об экземпляре в ara::com вызовы функции.

Сконфигурировать сервисную идентификацию экземпляра:

  1. Откройте Словарь AUTOSAR и выберите XML Options. Установите опцию XML Identify Service Instance Using указывать на форму, в которой можно сгенерировать сервисную информацию об экземпляре. Выберите InstanceIdentifier или InstanceSpecifier. Форма, которую вы выбираете, используется, чтобы идентифицировать сервисные экземпляры в сгенерированных функциях Прокси и Скелета.

  2. Перейдите к требуемым портам и обеспеченным представлениям портов в словаре. Выберите каждый перечисленный порт, чтобы отобразить его Manifest attributes. Для каждого порта, на основе сервисного экземпляра формируют вас выбранный в опциях XML, исследуют значение на Instance Specifier, или Instance Identifier.You может ввести значение или принять существующее значение.

Создавание модели генерирует сервисный файл манифеста экземпляра model_ServiceInstanceManifest.arxml. Файл манифеста описывает сервисное развертывание интерфейса, сервисный экземпляр к отображению порта и сервисные интерфейсы для адаптивного компонента.

В сгенерированном Коде С++, ara::com вызовы функции используют сконфигурированную сервисную информацию об экземпляре. Например, если вы выбрали InstanceIdentifier сформируйтесь и установите Instance Identifier на 1 для требуемого порта, сгенерированные вызовы функции используют ту настройку.

// Model initialize function
void autosar_LaneGuidanceModelClass::initialize()
{
  {
    ara::com::ServiceHandleContainer< company::chassis::required::proxy::
      RequiredInterfaceProxy::HandleType > handles;
    handles = company::chassis::required::proxy::RequiredInterfaceProxy::
      FindService(ara::com::InstanceIdentifier("1"));
...

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

Больше о