Необходимо выполнить некоторые специальные шаги настройки, чтобы иметь модель:
Произведите сигнал шины как вывод блока Inport корневого уровня
Примите виртуальную шину как входной параметр к блоку Outport корневого уровня
Примите шину как входной параметр к невиртуальному блоку Inport в атомарной подсистеме
Чтобы произвести шину сигнализируют как вывод блока Inport корневого уровня, в диалоговом окне Block Parameters блока Inport:
Установите параметр Типа данных на Bus: <object name>
Замените <object name>
на имя имени объекта шины, которое задает шину, которую производит Inport.
Корневой уровень блоки Inport преобразовывает виртуальные шины в невиртуальные шины. Все сигналы в невиртуальной шине должны иметь ту же частоту дискретизации. Для получения дополнительной информации смотрите, Задают Частоты дискретизации Сигнала Шины.
Для получения информации об импортировании данных к корневому уровню блоки Inport смотрите Данные Шины Загрузки к Входным портам Корневого Уровня.
Корневой блок Outport уровня модели может принять виртуальную шину, только если все элементы шины имеют совпадающий тип данных. Блок Outport автоматически преобразовывает шину в вектор, имеющий то же число элементов как шина и выходные параметры тот вектор.
Чтобы использовать сигнал шины, который содержит смешанные типы данных как входной параметр к блоку Outport корневого уровня в диалоговом окне Block Parameters блока Outport:
Установите Тип данных на Bus: <object name>
.
Замените <object name>
на имя имени объекта шины, которое задает шину, которую производит Выходной порт.
Блоки Выходного порта корневого уровня преобразовывают виртуальные шины в невиртуальные шины. Все сигналы в невиртуальной шине должны иметь ту же частоту дискретизации. Для получения дополнительной информации смотрите, Задают Частоты дискретизации Сигнала Шины.
В иерархии модели - ссылки, если сигнал шины в модели верхнего уровня является виртуальным, сигнал преобразован в невиртуальный (см. Преобразование Шины). Для получения информации об использовании шин, когда входные параметры к, или выходные параметры от, модель, на которую ссылаются, видят, что Данные Шины Пересекают Контуры Модели - ссылки.
По умолчанию блок Inport является виртуальным блоком и принимает шину как входной параметр. Однако блок Inport является невиртуальным, если оба из этих условий существуют:
Блок Inport находится в атомарной подсистеме.
Сигнал или любой из его элементов (если сигнал является шиной) непосредственно соединяются с выводом подсистемы.
Блок Inport может принять шину, когда любое из этих условий верно:
Все элементы шины могут быть преобразованы в вектор (все элементы должны иметь совпадающий тип данных).
Шина является невиртуальной шиной.
Если первое условие нарушено (то есть, элементы шины имеют различные типы данных), пытание моделировать модель останавливает моделирование и производит сообщение об ошибке. Чтобы избежать этой проблемы, не изменяя семантику вашей модели, вставьте блок Signal Conversion между блоком Inport и блоком Outport, с которым это было первоначально соединено.
Например, следующая модель, которая включает атомарную подсистему, не моделирует.
Запуск моделирования генерирует следующие сообщения об ошибке:
В подсистеме блок Inport маркировал nonvirtual
, является невиртуальным, потому что это находится в атомарной подсистеме, и один из ее элементов шины (маркировал a
), непосредственно соединяется с одной из подсистемы выходные параметры. Далее, шина (bus1
), соединенный с входными параметрами подсистемы, имеет элементы отличающихся типов данных. В результате вы не можете моделировать эту модель.
Чтобы повредить прямую связь с подсистемой вывод, после невиртуального блока Inport, вставляют блок Signal Conversion. Установите Выходной параметр блока Signal Conversion на Signal copy
. Вставка блока Signal Conversion позволяет вам моделировать модель.