В классических и адаптивных программных компонентах 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
Моделирование интерфейсов AUTOSAR путем ввода портов шины с объектами шины
Для настройки портов шины Simulink в модели AUTOSAR:
Создайте или откройте модель компонента программного обеспечения AUTOSAR. Примеры в этом разделе используют пригодную для записи копию модели autosar_swc.
Для справки, пример модели показывает конечный результат этих процедур.matlabroot/help/toolbox/autosar/examples/mAutosarSwcBusPorts.slx
Добавьте в модель два блока элементов шины и подключите их как корневые входные порты. Настройте порты шины для совместного использования одного и того же порта AUTOSAR, но с различными элементами. Блоки портов шины автоматически сопоставляются с портами и элементами AUTOSAR.
Удалите существующие блоки Inport в модели.
Создайте блок In Bus Element. Откройте диалоговое окно параметров блока. Задать для имени порта значение ReceivePort и имя сигнала для In1.
Подключите блок к первому входному сигналу. Сделайте копию блока и подключите его ко второму входному сигналу. В холсте модели (а не в диалоговом окне параметров блока) щелкните имя второго блока и измените его In1 кому In2.

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

Отредактируйте каждый сигнал и установите для параметра Sample time значения 1 и 2 соответственно.
Добавьте два блока Out Bus Element в модель и подключите их как корневые выходные порты. Настройте порты шины для совместного использования одного и того же порта AUTOSAR, но с различными элементами. Блоки портов шины автоматически сопоставляются с портами и элементами AUTOSAR.
Удалите существующие блоки Outport в модели.
Создайте блок Out Bus Element. Откройте диалоговое окно параметров блока. Задать для имени порта значение SenderPort и имя сигнала для Out1.
Подключите блок к первому выходному сигналу. Сделайте копию блока и подключите его ко второму входному сигналу. В этом случае для имени сигнала автоматически устанавливается значение Out2.

Теперь в диалоговом окне параметров блока Out Bus Element отображаются оба сигнала.
На вкладке Приложения откройте приложение Конструктор компонентов AUTOSAR.
Используйте редактор сопоставлений кодов, чтобы убедиться, что основанные на скорости функции правильно сопоставлены с исполняемыми таблицами AUTOSAR.
Убедитесь, что порты шины правильно сопоставлены с портами AUTOSAR.
Проверьте режим доступа к данным AUTOSAR, выбранный для каждого порта. Ссылочная модель mAutosarSwcBusPorts указывает неявный доступ к данным для получения и отправки в соответствии с исходными настройками для autosar_swc.
При необходимости откройте словарь AUTOSAR и просмотрите порты компонента AUTOSAR, выполняемые объекты, интерфейсы S-R и элементы данных.
При создании кода для модели:
Созданный файл ARXML autosar_swc_component.arxml описывает периодические выполняемые таблицы для каждой частоты выборки с именем Runnable_1s и Runnable_2s.
Созданный файл кода autosar_swc.c определяет функции на основе скорости Runnable_1s и Runnable_2s.
Для определения интерфейса AUTOSAR введите порт шины с объектом шины. В этом примере используется та же модель программного компонента AUTOSAR, которая была изменена в предыдущем примере. Пример замены интерфейса отправителя Output_If в autosar_swc с новым интерфейсом с именем SenderInterface.
С измененным autosar_swc откройте редактор шины. На вкладке «Моделирование» выберите «Проект» > «Редактор шины».
В диалоговом окне «Редактор шины» добавьте шину и присвойте ей имя SenderInterface. Добавьте два элемента шины и присвойте им имя Out1 и Out2.

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

Поскольку новый интерфейс заменяет существующий сопоставленный интерфейс, необходимо явно удалить существующий порт отправителя и интерфейс отправителя. Откройте приложение AUTOSAR Component Designer и словарь AUTOSAR. Выбор и удаление порта отправителя SenderPort и интерфейс S-R Output_If.
Для создания и отображения нового интерфейса отправителя выполните одну из функций вызова. autosar.api.create для обновления сопоставления модели или нажмите Ctrl + B для создания кода модели (требуется Embedded Coder ®). Вот autosar.api.create вызов функции.
autosar.api.create('autosar_swc');При необходимости откройте словарь AUTOSAR и просмотрите новые определения портов отправителя и интерфейсов S-R.

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