Стандарт 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 в порт авто-РСА 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');