Интерфейс модели - ссылки

Блок Model ввел, вывел, и порты управления, которые соответствуют входу корневого уровня, выводят, и порты управления модели, на которую это ссылается. Модель, на которую ссылаются, может включать Inport, Выходной порт, В Элементе Шины, Элементе Шины, Триггере, и Позволить блокам быть введенными от родительской модели и предоставлять вывод родительской модели. Входные сигналы для блока Model должны быть допустимыми для соответствующих входных блоков модели, на которую ссылаются. Выходные сигналы для блока Model являются образцовым корневым уровнем, на который ссылаются, выходные блоки-сигналы.

В sldemo_mdlref_basic каждый блок Model имеет три входных параметров: два блока Константа и блок Pulse Generator. Каждому блоку Model регистрировали один выходной сигнал к осциллографу. Поскольку входной сигнал от каждого блока Pulse Generator использует различный шаг расчета, выходной сигнал каждого блока Model отличается для каждого образцового экземпляра.

Чтобы соединиться с родительской моделью, модель sldemo_mdlref_counter, на которую ссылаются, включает три блока Inport (upper, lower и input) и один блок Outport (output). Если вы изменяете порты в модели, на которую ссылаются, обновляете блок Model, чтобы отразить эти изменения.

Чтобы сравнить выходные сигналы каждого блока Model, можно использовать Инспектора Данных моделирования. В модели, на которую ссылаются можно регистрировать любой сигнал, отмеченный для журналирования сигнала.

Чтобы настроить журналирование сигнала, смотрите, что Данные сигнала Экспорта Используют Журналирование Сигнала. Чтобы регистрировать подмножество сигналов, отмеченных для входа в систему иерархии модели, смотрите Сигнал Переопределения Регистрировать Настройки. Для примера, который использует Инспектора Данных моделирования с моделями, на которые ссылаются, смотрите Сигналы Просмотра в Экземплярах Модели - ссылки.

Обновите блоки Model

Обновление блока Model обновляет свое внутреннее представление, чтобы отразить изменения в интерфейсе модели, на которую ссылаются. Например, когда модель, на которую ссылаются, получает или теряет порт, обновите блок Model, чтобы обновить его порты.

Чтобы обнаружить изменения в интерфейсах модели, на которые ссылаются, которые могли потребовать обновления связанных блоков Model, используйте диагностику Simulink®. Эта диагностика включает:

Если изменения в интерфейсе модели, на который ссылаются, не влияют, как интерфейсы модели, на которые ссылаются, к его родительскому элементу, вы не должны обновлять блок Model.

Чтобы обновить определенный блок Model, из контекстного меню блока Model, выбирают Subsystem & Model Reference> Refresh Selected Model Block.

Чтобы обновить все блоки Model в модели (включая соединенные блоки в библиотеке или модели), в Редакторе Simulink, выбирают Diagram> Refresh Blocks. Симуляция или генерация кода для модели также обновляют все блоки Model в модели.

Распространение сигнала

Атрибуты сигнала в модели, на которую ссылаются, независимы от контекста блока Model. Например, размерности сигнала и типы данных не распространяют через контур блока Model. Чтобы задать атрибуты сигнала в модели, на которую ссылаются, задайте параметры блоков для корневого уровня Inport и В блоках Элемента Шины.

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

Для виртуальных шин, которые пересекают контуры модели - ссылки, используйте В Элементе Шины и блоках Элемента Шины.

Для невиртуальных шин, которые пересекают контуры модели - ссылки, используйте блоки Inport и Outport, которые задают тот же объект шины как связанные шины в родительской модели. Смотрите, что Данные о Шине Пересекают Контуры Модели - ссылки.

Для примера иерархии модели, которая использует шины, смотрите sldemo_mdlref_bus.

Модель, на которую ссылаются, может только обеспечить вход или выводиться для пользовательских типов данных, которые являются фиксированной точкой или который задают Simulink.DataType или объекты Simulink.Bus.

Требования шага расчета

Первый невиртуальный блок, который соединяется с образцовым блоком ввода или вывода корневого уровня, на который ссылаются, должен иметь тот же шаг расчета как связанный порт. Если шаги расчета отличаются, используйте блоки Перехода Уровня, чтобы совпадать с шагами расчета ввода и вывода, как показано в этой схеме.

Осуществляйте обмен данными среди образцовых экземпляров, на которые ссылаются,

По умолчанию каждый экземпляр блока Model читает из и пишет в отдельную копию сигналов и состояний блока в модели. Поэтому экземпляры не взаимодействуют друг с другом через разделяемые данные состояния или сигнала.

Совместно использовать часть данных между всеми экземплярами (например, аккумулятор или индикатор отказа), моделируют данные как хранилище данных.

  • Чтобы ограничить доступ к данным так, чтобы только блоки в модели, на которую ссылаются, могли читать из и записать в него, используйте Блок памяти Хранилища данных в модели и выберите параметр Share across model instances. Для примера смотрите, Осуществляют обмен данными Хранилище Между Экземплярами Допускающего повторное использование Алгоритма.

  • Чтобы предоставить доступ к данным вне модели, на которую ссылаются, используйте хранилище глобальных данных, которое является объектом Simulink.Signal в базовом рабочем пространстве или словаре данных. Данные вне модели, на которую ссылаются, могут быть в родительской модели или в других моделях, на которые ссылаются.

Для получения дополнительной информации о хранилищах данных, смотрите Образцовые Глобальные данные путем Создания Хранилищ данных.

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

Блоки

Связанные примеры

Больше о