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

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

Похожие примеры

Подробнее о