Невиртуальные шины в интерфейсах модели

Контур модели - ссылки является контуром между моделью, которая содержит блок Model и модель, на которую ссылаются. Если данные о шине передают блоку Model, то те данные пересекают контур к модели, на которую ссылаются. Ввод данных шины для блока Model должен быть сопоставим с данными о шине, которых, требует модель, на которую ссылаются.

Для данных о шине, которые пересекают контуры модели - ссылки, решите, использовать ли виртуальную или невиртуальную шину. Используя виртуальную шину может быть более простым, чем использование невиртуальной шины. Однако использование невиртуальной шины обеспечивает четко определенный интерфейс данных для генерации кода. Чтобы изучить различия между виртуальными и невиртуальными шинами, смотрите Типы Составных Сигналов.

Совет

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

Для невиртуальных шин в интерфейсах используйте блоки Outport и Inport.

Требования модели - ссылки для невиртуальных шин

Если вы используете шину в качестве входа к или выхода из модели, на которую ссылаются:

  • Только невиртуальная шина может содержать элементы сигнала переменного размера.

  • Для генерации кода можно только сконфигурировать I/O arguments step method стиль класса C++ взаимодействует через интерфейс для модели, на которую ссылаются, при использовании невиртуальной шины или при использовании Default стиль интерфейса класса C++.

  • Для генерации кода можно только сконфигурировать управление прототипом функции для модели, на которую ссылаются, при использовании невиртуальной шины.

Невиртуальные шины с Корневым Уровнем блоки Inport

Передать шину от блока Inport корневого уровня в модель, на которую ссылаются, в диалоговом окне Block Parameters блока Inport:

  • Установите параметр Data type на Bus: <object name>

  • Замените <object name> с именем Bus объект, который задает шину блок Inport, производит.

Чтобы вывести невиртуальную шину от блока Inport корневого уровня, выберите Output as nonvirtual bus в диалоговом окне Block Parameters блока Inport.

Все сигналы в невиртуальной шине должны иметь тот же шаг расчета. Для получения дополнительной информации смотрите, Изменяют Шаги расчета для Невиртуальных Шин.

Для получения информации об импортировании данных к корневому уровню блоки Inport смотрите Данные о Шине Загрузки к Корневому Уровню Input port.

Невиртуальные шины с Корневым Уровнем блоки Outport

Передать шину через блок Outport корневого уровня модели, на которую ссылаются, в диалоговом окне Block Parameters блока Outport:

  • Установите Data type на Bus: <object name>.

  • Замените <object name> с именем Bus объект, который задает шину блок Outport, производит.

Чтобы вывести невиртуальную шину от порта, который соответствует блоку Outport корневого уровня, выберите Output as nonvirtual bus in parent model в диалоговом окне Block Parameters блока Outport.

Все сигналы в невиртуальной шине должны иметь тот же шаг расчета. Для получения дополнительной информации смотрите, Изменяют Шаги расчета для Невиртуальных Шин.

Переходы уровня для невиртуальных шин

Чтобы передать многоскоростную шину как невиртуальную шину в модель, на которую ссылаются, используйте блок Inport. Добавьте блоки в родительской и модели, на которую ссылаются, можно следующим образом:

  1. В родительской модели преобразуйте многоскоростную шину в односкоростную шину путем вставки блока Rate Transition. блоки Inport могут только передать односкоростные невиртуальные шины в модели, на которые ссылаются. Блок Rate Transition должен задать уровень в своем поле Block Parameters> Output port sample time, если одно из следующего не верно:

    • Configuration Parameters> панель Solver задает уровень с этими настройками:

      • Параметр Periodic sample time constraint устанавливается на Specified.

      • Параметр Sample time properties содержит заданный уровень.

    • Блок Inport, который принимает невиртуальную шину в модели, на которую ссылаются, задает уровень в своем поле Block Properties> Signal Attributes> Sample time.

  2. В модели, на которую ссылаются используйте блок Bus Selector, чтобы выбрать сигналы интереса и использовать блоки Rate Transition, чтобы преобразовать сигналы в желаемые уровни.

Смотрите также

Блоки

Похожие темы