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

Релиз 4.0 AUTOSAR ввел основанную на порте энергонезависимую передачу данных (NV), в которой компонент программного обеспечения AUTOSAR читает и записывает данные к энергонезависимым компонентам AUTOSAR. Чтобы реализовать передачу данных NV, компоненты программного обеспечения AUTOSAR задают, обеспечивают и требуют портов, которые отправляют и получают данные NV.

В Simulink® можно создать интерфейсы AUTOSAR NV и порты, и сопоставить импорт Simulink и выходные порты к портам AUTOSAR NV. Вы порты модели AUTOSAR NV с импортом Simulink и выходными портами, таким же образом описанными в Интерфейсе Получателя Отправителя.

Создать интерфейс данных NV и порты в Simulink:

  1. Добавьте интерфейс AUTOSAR NV в модель. Откройте Словарь AUTOSAR и выберите NV Interfaces. Нажмите кнопку Add. В диалоговом окне Add Interfaces задайте интерфейсное имя и количество связанных элементов данных NV.

  2. Выберите и расширьте новый интерфейс NV. Выберите DataElements и измените атрибуты элемента данных.

  3. Добавьте порты AUTOSAR NV в модель. Расширьте AtomicComponents и расширьте компонент. Выберите и используйте NvReceiverPorts, NvSenderPorts и представления NvSenderReceiverPorts, чтобы добавить порты NV, которых вы требуете. Для каждого порта NV выберите интерфейс NV, который вы создали.

  4. Сопоставьте импорт Simulink и выходные порты к портам AUTOSAR NV, которые вы создали. Откройте редактор Отображений Кода. Выберите и используйте Inports, и Outports переходит, чтобы сопоставить порты. Для каждого импорта или выходного порта, выберите порт AUTOSAR, элемент данных и режим доступа к данным.

Чтобы программно сконфигурировать элементы передачи данных AUTOSAR NV, используйте свойство AUTOSAR и сопоставляющие функции. Например, следующий код MATLAB® добавляет интерфейс данных AUTOSAR NV и порт получателя NV к открытой модели. Это затем сопоставляет импорт Simulink в порт получателя AUTOSAR NV.

% Add AUTOSAR NV data interface myNvInterface with NV data element DE3
arProps = autosar.api.getAUTOSARProperties(hModel);
addPackageableElement(arProps,'NvDataInterface','/pkg/if','myNvInterface');
add(arProps,'myNvInterface','DataElements','DE3');

% Add AUTOSAR NV receiver port NvRPort, associated with myNvInterface
add(arProps,'ASWC','NvReceiverPorts','NvRPort','Interface','myNvInterface');

% Map Simulink inport NvRPort_DE3 to AUTOSAR port/element pair NvRPort and DE3
slMap = autosar.api.getSimulinkMapping(hModel);
mapInport(slMap,'NvRPort_DE3','NvRPort','DE3','ImplicitReceive');

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

Больше о