В классических и адаптивных компонентах программного обеспечения AUTOSAR можно смоделировать порты AUTOSAR при помощи корневого уровня входы шины Simulink® вместо блоков Outport и Inport. Вход шины блокирует In Bus Element, и Out Bus Element может упростить интерфейсы модели. Для получения дополнительной информации смотрите, Упрощают Подсистему и Интерфейсы модели с Шинами.
Блоки входа шины обеспечивают более интуитивный путь к коммуникационным портам модели AUTOSAR, интерфейсам и группам элементов данных. Если вы порты модели AUTOSAR с In Bus Element и блоками Out Bus Element и типом входы шины при помощи объектов шины, основных свойств портов AUTOSAR, интерфейсов и элементов данных сконфигурированы, не используя Словарь AUTOSAR. Чтобы управлять интерфейсами компонента, вы конфигурируете объекты шины Simulink.
Можно использовать входы шины корневого уровня с:
Компоненты программного обеспечения AUTOSAR, которые используют стили моделирования основанного на уровне или экспорта функций.
AUTOSAR основанная на сигнале коммуникация.
AUTOSAR основанная на сообщении коммуникация, включая классику поставила в очередь приемник отправителя (S-R) или адаптивный основанный на событии обмен сообщениями.
В моделях архитектуры AUTOSAR можно соединить Классические модели Компонента платформы, которые имеют входы шины и затем используют Редактор Расписания, чтобы запланировать симуляцию.
Порты AUTOSAR модели путем конфигурирования входов шины Simulink
Интерфейсы AUTOSAR модели путем ввода входов шины с объектами шины
Сконфигурировать входы шины Simulink в модели AUTOSAR:
Создайте или откройте модель компонента программного обеспечения AUTOSAR. Примеры в этой теме используют перезаписываемую копию модели autosar_swc
в качестве примера.
Для ссылки, модели
в качестве примераmatlabroot
показывает конечный результат этих процедур./help/toolbox/autosar/examples/mAutosarSwcBusPorts.slx
Добавьте два блока In Bus Element в модель и соедините их как корневые входные порты. Сконфигурируйте входы шины, чтобы совместно использовать тот же порт AUTOSAR, но иметь различные элементы. Блоки входа шины автоматически сопоставлены с портами AUTOSAR и элементами.
Удалите существующие блоки Inport в модели.
Создайте блок In Bus Element. Откройте диалоговое окно параметров блоков. Установите Port name на ReceivePort
и имя сигнала к In1
.
Соедините блок с первым входным сигналом. Сделайте копию блока и соедините его со вторым входным сигналом. В холсте модели (не диалоговое окно параметров блоков), кликните по имени второго блока и измените In1
к In2
.
Диалоговое окно параметров блоков In Bus Element теперь перечисляет оба сигнала.
Отредактируйте каждый сигнал и установите Sample time на 1 и 2, соответственно.
Добавьте два блока Out Bus Element в модель и соедините их как корневые выходные порты. Сконфигурируйте входы шины, чтобы совместно использовать тот же порт AUTOSAR, но иметь различные элементы. Блоки входа шины автоматически сопоставлены с портами AUTOSAR и элементами.
Удалите существующие блоки Outport в модели.
Создайте блок Out Bus Element. Откройте диалоговое окно параметров блоков. Установите Port name на SenderPort
и имя сигнала к Out1
.
Соедините блок с первым выходным сигналом. Сделайте копию блока и соедините его со вторым входным сигналом. В этом случае имя сигнала автоматически определяется к Out2
.
Диалоговое окно параметров блоков Out Bus Element теперь перечисляет оба сигнала.
От вкладки Apps откройте приложение AUTOSAR Component Designer.
Используйте редактор Отображений Кода, чтобы проверить, что основанные на уровне функции правильно сопоставлены с AUTOSAR runnables.
Проверьте, что входы шины правильно сопоставлены с портами AUTOSAR.
Исследуйте режим доступа к данным AUTOSAR, выбранный на каждый порт. Образец модели mAutosarSwcBusPorts
задает неявный, получают и отправляют доступ к данным, чтобы совпадать с исходными настройками для autosar_swc
.
Опционально, откройте Словарь AUTOSAR и просмотрите порты компонента AUTOSAR, runnables, интерфейсы S-R и элементы данных.
Если вы генерируете код для модели:
Сгенерированный файл ARXML autosar_swc_component.arxml
описывает периодический runnables для каждой частоты дискретизации, названной Runnable_1s
и Runnable_2s
.
Файл сгенерированного кода autosar_swc.c
задает основанные на уровне функции Runnable_1s
и Runnable_2s
.
Чтобы задать интерфейс AUTOSAR, введите вход шины с объектом шины. Этот пример использует ту же модель компонента программного обеспечения AUTOSAR, которая была изменена в предыдущем примере. Пример заменяет интерфейс Output_If
отправителя в
autosar_swc
с новым интерфейсом под названием SenderInterface
.
С модифицированным autosar_swc
открытый, откройте Редактор Шины. На вкладке Modeling выберите Design> Bus Editor.
В диалоговом окне Bus Editor добавьте шину и назовите его SenderInterface
. Добавьте два элемента шины и назовите их Out1
и Out2
.
Опционально, когда вы выходите из диалогового окна, сохраняете SenderInterface
соедините шиной объект к файлу MAT для дальнейшего использования. Модель mAutosarSwcBusPorts
в качестве примера не загружает файл MAT. Вместо этого это использует
PreLoadFcn
коллбэк модели, чтобы программно создать SenderInterface
объект шины.
Откройте SenderPort
диалоговое окно блока. Отредактируйте порт SenderPort (не сигналы). В меню Data type выберите 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
| In Bus Element | Out Bus Element