exponenta event banner

Настройка портов AUTOSAR с помощью портов шины Simulink

В классических и адаптивных программных компонентах AUTOSAR можно моделировать порты AUTOSAR, используя порты шины Simulink ® корневого уровня вместо блоков Inport и Outport. Блоки портов шины In Bus Element и Out Bus Element могут упростить интерфейсы модели. Дополнительные сведения см. в разделе Упрощение интерфейсов подсистемы и модели с шинами.

Блоки портов шины обеспечивают более интуитивный способ моделирования портов связи AUTOSAR, интерфейсов и групп элементов данных. При моделировании портов AUTOSAR с блоками In Bus Element и Out Bus Element и вводе портов шины с использованием объектов шины основные свойства портов, интерфейсов и элементов данных AUTOSAR настраиваются без использования словаря AUTOSAR. Для управления интерфейсами компонентов необходимо настроить объекты шины Simulink.

Порты шины корневого уровня можно использовать с:

  • Программные компоненты AUTOSAR, использующие стили моделирования на основе скорости или экспорта функций.

  • Связь на основе сигнала AUTOSAR.

  • Связь на основе сообщений AUTOSAR, включая классический отправитель-получатель в очереди (S-R) или адаптивный обмен сообщениями на основе событий.

В моделях архитектуры AUTOSAR можно связать модели компонентов Classic Platform с портами шины, а затем использовать редактор расписания для планирования моделирования.

Моделирование портов AUTOSAR путем настройки портов шины Simulink

Для настройки портов шины Simulink в модели AUTOSAR:

  1. Создайте или откройте модель компонента программного обеспечения AUTOSAR. Примеры в этом разделе используют пригодную для записи копию модели autosar_swc.

    Для справки, пример модели matlabroot/help/toolbox/autosar/examples/mAutosarSwcBusPorts.slx показывает конечный результат этих процедур.

  2. Добавьте в модель два блока элементов шины и подключите их как корневые входные порты. Настройте порты шины для совместного использования одного и того же порта AUTOSAR, но с различными элементами. Блоки портов шины автоматически сопоставляются с портами и элементами AUTOSAR.

    1. Удалите существующие блоки Inport в модели.

    2. Создайте блок In Bus Element. Откройте диалоговое окно параметров блока. Задать для имени порта значение ReceivePort и имя сигнала для In1.

    3. Подключите блок к первому входному сигналу. Сделайте копию блока и подключите его ко второму входному сигналу. В холсте модели (а не в диалоговом окне параметров блока) щелкните имя второго блока и измените его In1 кому In2.

    4. Теперь в диалоговом окне «Параметры блока элемента шины» перечислены оба сигнала.

      Отредактируйте каждый сигнал и установите для параметра Sample time значения 1 и 2 соответственно.

  3. Добавьте два блока Out Bus Element в модель и подключите их как корневые выходные порты. Настройте порты шины для совместного использования одного и того же порта AUTOSAR, но с различными элементами. Блоки портов шины автоматически сопоставляются с портами и элементами AUTOSAR.

    1. Удалите существующие блоки Outport в модели.

    2. Создайте блок Out Bus Element. Откройте диалоговое окно параметров блока. Задать для имени порта значение SenderPort и имя сигнала для Out1.

    3. Подключите блок к первому выходному сигналу. Сделайте копию блока и подключите его ко второму входному сигналу. В этом случае для имени сигнала автоматически устанавливается значение Out2.

      Теперь в диалоговом окне параметров блока Out Bus Element отображаются оба сигнала.

  4. На вкладке Приложения откройте приложение Конструктор компонентов AUTOSAR.

    • Используйте редактор сопоставлений кодов, чтобы убедиться, что основанные на скорости функции правильно сопоставлены с исполняемыми таблицами AUTOSAR.

      Убедитесь, что порты шины правильно сопоставлены с портами AUTOSAR.

      Проверьте режим доступа к данным AUTOSAR, выбранный для каждого порта. Ссылочная модель mAutosarSwcBusPorts указывает неявный доступ к данным для получения и отправки в соответствии с исходными настройками для autosar_swc.

    • При необходимости откройте словарь AUTOSAR и просмотрите порты компонента AUTOSAR, выполняемые объекты, интерфейсы S-R и элементы данных.

  5. При создании кода для модели:

    • Созданный файл ARXML autosar_swc_component.arxml описывает периодические выполняемые таблицы для каждой частоты выборки с именем Runnable_1s и Runnable_2s.

    • Созданный файл кода autosar_swc.c определяет функции на основе скорости Runnable_1s и Runnable_2s.

Моделирование интерфейсов AUTOSAR путем ввода портов шины с объектами шины

Для определения интерфейса AUTOSAR введите порт шины с объектом шины. В этом примере используется та же модель программного компонента AUTOSAR, которая была изменена в предыдущем примере. Пример замены интерфейса отправителя Output_If в autosar_swc с новым интерфейсом с именем SenderInterface.

  1. С измененным autosar_swc откройте редактор шины. На вкладке «Моделирование» выберите «Проект» > «Редактор шины».

  2. В диалоговом окне «Редактор шины» добавьте шину и присвойте ей имя SenderInterface. Добавьте два элемента шины и присвойте им имя Out1 и Out2.

    При необходимости при выходе из диалогового окна сохраните SenderInterface объект шины к MAT-файлу для последующего использования. Пример модели mAutosarSwcBusPorts не загружает MAT-файл. Вместо этого он использует PreLoadFcn обратный вызов модели для программного создания SenderInterface объект шины.

  3. Откройте окно SenderPort диалоговое окно блока. Отредактируйте порт SenderPort (не сигналы). В меню Тип данных выберите Bus:SenderInterface.

  4. Поскольку новый интерфейс заменяет существующий сопоставленный интерфейс, необходимо явно удалить существующий порт отправителя и интерфейс отправителя. Откройте приложение AUTOSAR Component Designer и словарь AUTOSAR. Выбор и удаление порта отправителя SenderPort и интерфейс S-R Output_If.

  5. Для создания и отображения нового интерфейса отправителя выполните одну из функций вызова. autosar.api.create для обновления сопоставления модели или нажмите Ctrl + B для создания кода модели (требуется Embedded Coder ®). Вот autosar.api.create вызов функции.

    autosar.api.create('autosar_swc');
  6. При необходимости откройте словарь AUTOSAR и просмотрите новые определения портов отправителя и интерфейсов S-R.

Для справки, пример модели matlabroot/help/toolbox/autosar/examples/mAutosarSwcBusPorts.slx показывает конечный результат этих процедур.

См. также

| |

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

Подробнее