Блок модели ввел, вывел, и порты управления, которые соответствуют входному параметру корневого уровня, выводят, и порты управления модели, на которую это ссылается. Модель, на которую ссылаются, может включать Inport, Выходной порт, Триггер, и Позволить блокам быть введенными от родительской модели и предоставлять вывод родительской модели. Входные сигналы для Блока модели должны быть допустимыми для соответствующих входных блоков модели, на которую ссылаются. Выходные сигналы для Блока модели являются образцовыми блоками-сигналами Выходного порта корневого уровня, на которые ссылаются.
В sldemo_mdlref_basic
каждый Блок модели имеет три входных параметра: два блока Константа и блок Pulse Generator. Каждому Блоку модели регистрировали один выходной сигнал к осциллографу. Поскольку входной сигнал от каждого блока Pulse Generator использует различную частоту дискретизации, выходной сигнал каждого Блока модели отличается для каждого образцового экземпляра.
Чтобы соединиться с родительской моделью, образцовый sldemo_mdlref_counter
, на который ссылаются, включает три блока Inport (верхний, ниже, и входной параметр) и один блок Outport (вывод). Если вы изменяете порты в модели, на которую ссылаются, обновляете Блок модели, чтобы отразить эти изменения.
Чтобы сравнить выходные сигналы каждого Блока модели, можно использовать Моделирование Data Inspector. В модели, на которую ссылаются можно регистрировать любой сигнал, отмеченный для журналирования сигнала.
Чтобы настроить журналирование сигнала, смотрите, что Данные сигнала Экспорта Используют Журналирование Сигнала. Чтобы регистрировать подмножество сигналов, отмеченных для входа в систему иерархии модели, смотрите Сигнал Переопределения Регистрировать Настройки. Для примера, который использует Моделирование Data Inspector с моделями, на которые ссылаются, смотрите Сигналы Просмотра в Экземплярах Модели - ссылки.
Обновление Блока модели обновляет свое внутреннее представление, чтобы отразить изменения в интерфейсе модели, на которую ссылаются. Например, когда модель, на которую ссылаются, получает или теряет порт, обновите Блок модели, чтобы обновить его порты.
Чтобы обнаружить изменения в интерфейсах модели, на которые ссылаются, которые могли потребовать обновления связанных Блоков модели, используйте диагностику Simulink®. Эта диагностика включает:
Если изменения в интерфейсе модели, на который ссылаются, не влияют, как интерфейсы модели, на которые ссылаются, к его родительскому элементу, вы не должны обновлять Блок модели.
Чтобы обновить определенный Блок модели, из контекстного меню Блока модели, выбирают Subsystem & Model Reference> Refresh Selected Model Block.
Чтобы обновить все Блоки модели в модели (включая соединенные блоки в библиотеке или модели), в Редакторе Simulink, выбирают Diagram> Refresh Blocks. Моделирование или генерация кода для модели также обновляют все Блоки модели в модели.
Атрибуты сигнала в модели, на которую ссылаются, независимы от контекста Блока модели. Например, размерности сигнала и типы данных не распространяют через контур Блока модели. Задавать атрибуты сигнала в модели, на которую ссылаются, блочных define параметрах для корневого уровня блоки Inport.
Для сигналов, которые соединяются с блоками Выходного порта, чтобы распространить из модели, на которую ссылаются, к родительской модели, имена сигнала должны явным образом появиться на сигнальных линиях.
Поскольку шина сигнализирует, что перекрестные контуры модели - ссылки, используйте тот же объект шины задать свойства шины в родительской и модели, на которую ссылаются. Смотрите, что Данные Шины Пересекают Контуры Модели - ссылки. Для примера иерархии модели, которая использует шины, смотрите sldemo_mdlref_bus
.
Модель, на которую ссылаются, может обеспечить входной параметр или выводиться только для пользовательских типов данных, которые являются фиксированной точкой или который задают Simulink.DataType
или объекты Simulink.Bus
.
Первый невиртуальный блок, который соединяется с образцовым блоком Inport или Outport корневого уровня, на который ссылаются, должен иметь ту же частоту дискретизации как порт, с которым это соединяется. Если частоты дискретизации отличаются, используйте блоки Перехода Уровня, чтобы совпадать с частотами дискретизации ввода и вывода, как показано в этой схеме.
По умолчанию каждый экземпляр Блока модели читает из и пишет в отдельную копию сигналов и блочных состояний в модели. Поэтому экземпляры не взаимодействуют друг с другом через разделяемые данные состояния или сигнала.
Совместно использовать часть данных между всеми экземплярами (например, аккумулятор или индикатор отказа), моделируют данные как хранилище данных.
Чтобы ограничить доступ к данным так, чтобы только блоки в модели, на которую ссылаются, могли читать из и записать в него, используйте Блок памяти Хранилища данных в модели и выберите Share через образцовый параметр экземпляров. Для примера смотрите, Осуществляют обмен данными Хранилище Между Экземплярами Допускающего повторное использование Алгоритма.
Чтобы предоставить доступ к данным вне модели, на которую ссылаются, используйте хранилище глобальных данных, которое является объектом Simulink.Signal
в базовом рабочем пространстве или словаре данных. Данные вне модели, на которую ссылаются, могут быть в родительской модели или в других моделях, на которые ссылаются.
Для получения дополнительной информации о хранилищах данных, смотрите Образцовые Глобальные данные путем Создания Хранилищ данных.