Блок 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, можно использовать Simulation Data Inspector.
Обновление блока Model обновляет его внутреннее представление, отражая изменения в интерфейсе ссылочной модели. Для примера, когда ссылочная модель увеличивает или теряет порт, обновление блока Model обновляет его порты.
Когда загружается модель-ссылку, блоки Model, которые ссылаются на нее, автоматически обновляются. Когда ссылка на модель не загружена, соответствующие блоки Model обновляются при выполнении таких действий, как:
Открытие родительской модели
Выбор блока Model
Симуляция иерархии модели
Генерация кода для иерархии модели
При выборе блока Model можно обновить все блоки Model в иерархии модели, нажав стрелу кнопки Refresh на вкладке Model Block, а затем щелкнув Refresh Blocks.
Будет уведомлен, когда Simulink® обнаруживает блоки Model, которые могут не совпадать с их ссылочными моделями, измените настройку по умолчанию для этих параметров конфигурации диагностики:
Когда эти параметры конфигурации установлены в error
для модели блоки Model в этой модели не обновляются автоматически. Чтобы обновить блок Model, когда эти параметры конфигурации установлены в error
:
Выберите Model блок. На вкладке Model Block нажмите Refresh.
Используйте Simulink.ModelReference.refresh
функция.
Атрибуты сигнала в ссылочной модели независимы от контекста блока Model. Например, размеры сигнала и типы данных не распространяются через границу Model блока. Чтобы задать атрибуты сигнала в ссылочной модели, задайте параметры блоков для блоков Inport и In Bus Element корневого уровня.
Чтобы сигналы, которые соединяются с блоками Outport для распространения из модели-ссылки в родительскую модель, имена сигналов должны явным образом появиться на сигнальных линиях.
Для виртуальных шин, которые пересекают модель-ссылку контуров, используйте блоки In Bus Element и Out Bus Element.
Для невиртуальных шин, которые пересекают модель-ссылку контуров, используйте Inport и Outport блоки, которые задают тот же объект шины, что и связанные шины в родительской модели. См. Использование шин в интерфейсах модели.
Пример иерархии модели, которая использует шины, см. в разделе Спецификация интерфейса с использованием объектов шины.
Ссылочная модель может предоставить ввод или получить вывод только для определяемых пользователем типов данных, которые являются фиксированной точкой или что Simulink.DataType
или Simulink.Bus
определяют объекты.
В ссылочной модели можно записать любой сигнал, сконфигурированный для логгирования сигнала. Используйте селектор логгирования сигналов, чтобы выбрать подмножество или все сигналы, сконфигурированные для регистрации сигналов в иерархии модели. Для получения дополнительной информации смотрите Переопределение параметров логгирования сигналов.
Можно использовать Данные Моделирования Inspector, чтобы просмотреть и проанализировать сигналы, зарегистрированные в ссылочных моделях. Можно просматривать сигналы на нескольких графиках, масштабировать и использовать курсоры данных, чтобы понять и оценить данные. Кроме того, можно сравнить данные о сигнале из нескольких симуляций. Пример просмотра сигналов со ссылочными моделями см. в разделе «Просмотр сигналов в Модель-ссылку экземплярах».
Первый невиртуальный блок, который соединяется с ссылкой на вход корневого уровня модели или выхода блок, должен иметь тот же шаг расчета, что и связанный порт. Если шаги расчета различаются, используйте блоки Rate Transition, чтобы соответствовать входу и выходным шагам расчета, как показано на этой схеме.
По умолчанию каждый образец Model блока читает и записывает в отдельную копию сигналов и состояний блока в модели. Поэтому образцы не взаимодействуют друг с другом через общий сигнал или данные о состоянии.
Чтобы поделиться порцией данных между всеми образцами (для примера, аккумулятора или индикатора отказа), моделируйте данные как хранилище данных.
Чтобы ограничить доступ к данным, чтобы только блоки в модели-ссылке могли читать и записывать в него, используйте блок Data Store Memory в модели и выберите параметр Share across model instances. Для получения примера см. Раздел «Совместное использование хранилища данных между Образцами переиспользуемого алгоритма».
Чтобы разрешить доступ к данным за пределами модели-ссылки, используйте глобальное хранилище данных, которое является Simulink.Signal
объект в базовом рабочем пространстве или словаре данных. Данные вне модели-ссылки могут быть в родительской модели или в других моделях-ссылках.
Для получения дополнительной информации о хранилищах данных смотрите Модель Глобальные данные путем Создания Хранилищ данных.