Блок Model ввел, вывел, и порты управления, которые соответствуют входу корневого уровня, выводят, и порты управления модели, на которую это ссылается. Модель, на которую ссылаются, может включать Inport, Outport, In Bus Element, Out Bus Element, Trigger и блоки Enable, которые будут введены от родительской модели и предоставят выход родительской модели. Входные сигналы для блока Model должны быть допустимыми для соответствующих входных блоков модели, на которую ссылаются. Выходные сигналы для блока Model являются корневым уровнем модели, на который ссылаются, выходные блоки-сигналы.
В sldemo_mdlref_basic
, каждый блок Model имеет три входных параметров: два блока Constant и блок Pulse Generator. Каждому блоку Model регистрировали один выходной сигнал к осциллографу. Поскольку входной сигнал от каждого блока Pulse Generator использует различный шаг расчета, выходной сигнал каждого блока Model отличается для каждого экземпляра модели.
Соединяться с родительской моделью, моделью sldemo_mdlref_counter
, на которую ссылаются, включает три блока Inport (upper, lower и input) и один блок Outport (output). Если вы изменяете порты в модели, на которую ссылаются, обновляете блок Model, чтобы отразить эти изменения.
Чтобы сравнить выходные сигналы каждого блока Model, можно использовать Инспектора Данных моделирования.
Обновление блока Model обновляет свое внутреннее представление, чтобы отразить изменения в интерфейсе модели, на которую ссылаются. Например, когда модель, на которую ссылаются, получает или теряет порт, обновите блок Model, чтобы обновить его порты.
Обновить определенный блок Model:
Выберите блок Model, затем на вкладке Model Block, нажмите Refresh.
Используйте Simulink.ModelReference.refresh
функция.
Чтобы обновить все блоки Model в иерархии модели, выберите блок Model, затем на вкладке Model Block, кликните по стрелке выпадающего списка рядом с Refresh и нажмите Refresh Blocks.
Чтобы уведомить, когда Simulink® обнаруживает блоки Model, которые не могут совпадать с моделями, на которые ссылаются, когда вы загружаете или обновляете модель, изменяете настройку по умолчанию для этих диагностических параметров конфигурации:
Если эти параметры конфигурации используют настройку по умолчанию (none
) или установлены в warning
, Simulink обновляет блоки Model, когда вы выполняете действия, такие как нажатие на них, симуляция иерархии модели или генерация кода для иерархии модели.
Если эти параметры конфигурации установлены в error
, Simulink не обновляет блоки Model автоматически.
Атрибуты сигнала в модели, на которую ссылаются, независимы от контекста блока Model. Например, размерности сигнала и типы данных не распространяют через контур блока Model. Чтобы задать атрибуты сигнала в модели, на которую ссылаются, задайте параметры блоков для корневого уровня блоки In Bus Element и Inport.
Для сигналов, которые соединяются с блоками Outport, чтобы распространить из модели, на которую ссылаются, к родительской модели, имена сигнала должны явным образом появиться на сигнальных линиях.
Для виртуальных шин, которые пересекают контуры модели - ссылки, используйте блоки Out Bus Element и In Bus Element.
Для невиртуальных шин, которые пересекают контуры модели - ссылки, используйте Inport и блоки Outport, которые задают тот же объект шины как связанные шины в родительской модели. Смотрите Невиртуальные Шины в Интерфейсах модели.
Для примера иерархии модели, которая использует шины, смотрите sldemo_mdlref_bus
.
Модель, на которую ссылаются, может только обеспечить вход или выводиться для пользовательских типов данных, которые являются фиксированной точкой или тем Simulink.DataType
или Simulink.Bus
объекты задают.
В модели, на которую ссылаются можно регистрировать любой сигнал, сконфигурированный для логгирования сигнала. Используйте Селектор Логгирования Сигнала, чтобы выбрать подмножество или все сигналы, сконфигурированные для сигнала, входящего в систему иерархия модели. Для получения дополнительной информации смотрите Сигнал Переопределения Регистрировать Настройки.
Можно использовать Инспектора Данных моделирования, чтобы просмотреть и анализировать зарегистрированные модели сигналов, на которые ссылаются. Можно просмотреть сигналы на нескольких графиках, изменении масштаба, и использовать Data Cursor, чтобы изучить и оценить данные. Кроме того, можно сравнить данные сигнала от нескольких симуляций. Для примера просмотра сигналов с моделями, на которые ссылаются смотрите Сигналы Просмотра в Экземплярах Модели - ссылки.
Первый невиртуальный блок, который соединяется с блоком ввода или вывода корневого уровня модели, на который ссылаются, должен иметь тот же шаг расчета как связанный порт. Если шаги расчета отличаются, используйте блоки Rate Transition, чтобы совпадать с шагами расчета ввода и вывода, как показано в этой схеме.
По умолчанию каждый экземпляр блока Model читает из и пишет в отдельную копию сигналов и состояний блока в модели. Поэтому экземпляры не взаимодействуют друг с другом через разделяемые данные состояния или сигнала.
Совместно использовать часть данных между всеми экземплярами (например, аккумулятор или индикатор отказа), моделируют данные как хранилище данных.
Чтобы ограничить доступ к данным так, чтобы только блоки в модели, на которую ссылаются, могли читать из и записать в него, используйте блок Data Store Memory в модели и выберите параметр Share across model instances. Для примера смотрите, Осуществляют обмен данными Хранилище Между Экземплярами Допускающего повторное использование Алгоритма.
Чтобы предоставить доступ к данным вне модели, на которую ссылаются, используйте хранилище глобальных данных, которое является Simulink.Signal
объект в базовом рабочем пространстве или словаре данных. Данные вне модели, на которую ссылаются, могут быть в родительской модели или в других моделях, на которые ссылаются.
Для получения дополнительной информации о хранилищах данных, смотрите Глобальные данные Модели путем Создания Хранилищ данных.