Идентификацию образца службы можно настроить для необходимых и предоставленных портов в адаптивном компоненте AUTOSAR. Когда вы создаете адаптивную модель компонента:
Экспортированные файлы ARXML включают файл манифеста образца службы, который описывает отображение образцов портов и служб.
Сгенерированный код С++ использует сконфигурированную информацию об образце службы в ara::com
вызовы функций.
Чтобы сконфигурировать идентификацию образца службы:
Откройте словарь AUTOSAR и выберите XML Options. Установите XML- опцию Identify Service Instance Using, чтобы указать форму, в которой можно сгенерировать информацию о образце обслуживания. Выберите InstanceIdentifier
или InstanceSpecifier
. Выбранная форма используется для идентификации образцов службы в сгенерированных прокси и Skeleton.
Перейдите к необходимым портам и предоставленным представлениям портов в словаре. Выберите каждый порт для отображения его Manifest attributes. Для каждого порта, основываясь на форме образца службы, выбранной в опциях XML, исследуйте значение для Instance Specifier или Instance Identifier .Вы можете ввести значение или принять существующее значение.
Создание модели генерирует файл манифеста образца службы
. Файл манифеста описывает развертывание интерфейса службы, образец службы в отображение портов и интерфейсы службы для адаптивного компонента.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")); ...