Можно смоделировать порты AUTOSAR при помощи входов шины Simulink® вместо портов Сигнала Simulink. Вход шины блокирует In Bus Element, и Out Bus Element может упростить интерфейсы модели. Для получения дополнительной информации смотрите, Упрощают Интерфейсы шины (Simulink).
Блоки входа шины обеспечивают более интуитивный путь к коммуникационным портам модели AUTOSAR, интерфейсам и группам элементов данных. Если вы порты модели AUTOSAR с In Bus Element и блоками Out Bus Element и типом входы шины с объектами шины, основными свойствами портов AUTOSAR, интерфейсов и элементов данных сконфигурированы, не используя Словарь AUTOSAR.
Сконфигурировать входы шины Simulink в модели AUTOSAR:
Создайте или откройте модель компонента программного обеспечения AUTOSAR. Этот пример использует модель autosar_swc
.
Добавьте два блока 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, runnables, интерфейсы S-R и элементы данных.
Если вы генерируете код для модели:
Сгенерированный arxml
файл autosar_swc_component.arxml
описывает периодический runnables для каждой частоты дискретизации, названной Runnable_1s
и Runnable_2s
.
Файл сгенерированного кода autosar_swc.c
задает основанные на уровне функции Runnable_1s
и Runnable_2s
.
Чтобы задать интерфейс AUTOSAR, введите вход шины с объектом шины. Этот пример заменяет интерфейс Output_If
отправителя в
autosar_swc
с новым интерфейсом под названием SenderInterface
.
С модифицированным autosar_swc
открытый, откройте Редактор Шины. На вкладке Modeling выберите Design> Bus Editor.
В диалоговом окне Bus Editor добавьте шину и назовите его SenderInterface
. Добавьте два элемента шины и назовите их Out1
и Out2
. (Вы не должны сохранять объекты шины при выходе из диалогового окна.)
Откройте SenderPort
диалоговое окно блока. Отредактируйте порт SenderPort (не сигналы) и установите the 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.
In Bus Element | Out Bus Element | autosar.api.create