Стандарт AUTOSAR задает основанную на порте энергонезависимую передачу данных (NV), в которой компонент программного обеспечения AUTOSAR читает и записывает данные к энергонезависимым компонентам AUTOSAR. Чтобы реализовать передачу данных NV, компоненты программного обеспечения AUTOSAR задают, обеспечивают и требуют портов, которые отправляют и получают данные NV.
В Simulink® можно создать интерфейсы AUTOSAR NV и порты, и сопоставить импорт Simulink и выходные порты к портам AUTOSAR NV. Вы порты модели AUTOSAR NV с импортом Simulink и выходными портами, таким же образом описанными в Интерфейсе Приемника Отправителя.
Создать интерфейс данных NV и порты в Simulink:
Добавьте интерфейс AUTOSAR NV в модель. Откройте Словарь AUTOSAR и выберите NV Interfaces. Нажмите кнопку Add. В диалоговом окне Add Interfaces задайте интерфейсное имя и количество связанных элементов данных NV.
Выберите и расширьте новый интерфейс NV. Выберите DataElements и измените атрибуты элемента данных.
Добавьте порты AUTOSAR NV в модель. Расширьте AtomicComponents и расширьте компонент. Выберите и используйте NvReceiverPorts, NvSenderPorts и представления NvSenderReceiverPorts, чтобы добавить порты NV, которых вы требуете. Для каждого порта NV выберите интерфейс NV, который вы создали.
Сопоставьте импорт 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');