Одну модель можно включить в другую с помощью блока «Модель». Каждый экземпляр блока модели является ссылкой на модель. Для моделирования и создания кода блоки в ссылочной модели выполняются вместе как единица измерения. Модель, содержащая ссылочную модель, является родительской моделью. Коллекция родительских и ссылочных моделей составляет иерархию моделей.
Модель может функционировать как автономная модель, так и ссылочная модель без изменения модели или любых производных от нее объектов. Для использования ссылочной модели в качестве автономной модели ссылочная модель не может зависеть от данных, доступных только из модели более высокого уровня.
Как и подсистемы, ссылки на модели позволяют организовать большие модели иерархически. Как и библиотеки, привязки модели позволяют определить набор блоков один раз и использовать его повторно. Ссылки на модели предоставляют несколько преимуществ, недоступных для подсистем и библиотек. Несколько из этих преимуществ являются результатом компиляции ссылочных моделей независимо от контекста блока модели, в том числе:
Модульная разработка
Ссылочную модель можно разработать независимо от моделей, которые ее используют.
Защита модели
Лицензия Simulink ® Coder™ позволяет скрывать содержимое ссылочной модели, позволяя распространять модель без раскрытия ее интеллектуальной собственности.
С помощью лицензии Simulink можно ссылаться на защищенную модель, предоставляемую третьей стороной. В зависимости от предоставленных разрешений защищенной модели можно просматривать, моделировать и генерировать код для защищенной модели.
Включение по ссылке
Можно ссылаться на модель несколько раз без создания избыточных копий, а несколько моделей могут ссылаться на одну и ту же модель.
Инкрементная загрузка
Программное обеспечение Simulink загружает ссылочную модель при необходимости, что ускоряет загрузку модели.
Ускоренное моделирование
Программное обеспечение Simulink может преобразовывать ссылочную модель в код и моделировать модель, выполняя код быстрее, чем интерактивное моделирование.
Создание инкрементного кода
Ускоренное моделирование генерирует код только в том случае, если модель изменилась с момента создания кода.
Независимые наборы конфигурации
Набор конфигурации, используемый ссылочной моделью, может отличаться от набора конфигурации родительской или других ссылочных моделей.
Видеоролик, обобщающий преимущества модели, см. в разделе Модульная конструкция с использованием ссылок на модель.
Сведения о сравнении привязок модели, подсистем и библиотек см. в разделе Выбор типов компонентов модели. В одной модели можно использовать несколько методов компонентации.
Ссылочные модели могут содержать блоки модели, ссылающиеся на модели нижнего уровня. Верхняя модель - это верхняя модель в иерархии ссылочных моделей. Если существует только один уровень привязки модели, родительская модель и верхняя модель совпадают. Чтобы предотвратить циклическое наследование, блок модели не может прямо или косвенно ссылаться на модель, которая превосходит его в иерархии модели. На этом рисунке показано циклическое наследование.

Родительская модель может содержать несколько блоков модели, которые ссылаются на одну и ту же модель, если ссылочная модель не определяет глобальные данные. Например, sldemo_mdlref_basic содержит три блока модели, которые ссылаются на sldemo_mdlref_counter модель.

Ссылочная модель также может отображаться в других родительских моделях на любом уровне.
Блок модели отображает порты ввода, вывода и управления, которые соответствуют портам ввода, вывода и управления на корневом уровне модели, на которую он ссылается. Чтобы соединить ссылочную модель с другими элементами родительской модели, используйте эти порты блока модели. При подключении сигнала к порту блока модели сигнал подключается к соответствующему порту в ссылочной модели.
В модели sldemo_mdlref_basicкаждый блок модели имеет три входа: два блока констант и блок генератора импульсов. Каждый блок модели имеет один выходной сигнал, зарегистрированный в области. Поскольку входной сигнал от каждого блока генератора импульсов использует разное время выборки, выходной сигнал от каждого блока модели отличается для каждого экземпляра модели.
Для соединения с родительской моделью используется ссылочная модель sldemo_mdlref_counter включает в себя три блока Inport (верхний, нижний и входной) и один блок Outport (выходной).

Атрибуты сигнала в ссылочной модели не зависят от контекста блока модели. Например, размеры сигнала и типы данных не распространяются по границе блока модели. Чтобы определить атрибуты сигнала в ссылочной модели, определите параметры блока для блоков корневого уровня Inport и In Bus Element.
Дополнительные сведения см. в разделе Ссылочный интерфейс модели и граница.
Каждая модель имеет собственную рабочую область для хранения переменных значений. В иерархии модели каждая рабочая область модели действует как уникальное пространство имен. Поэтому можно использовать одно и то же имя переменной в нескольких рабочих пространствах модели. Для совместного использования данных моделями можно использовать словарь данных.
Повторяющиеся определения данных могут существовать в ссылочной иерархии модели при следующих условиях:
Каждая модель в иерархии может видеть только одно определение.
Определения должны быть одинаковыми для моделей в иерархии.
Дополнительные сведения о том, где можно хранить переменные и объекты, см. в разделе Определение места хранения переменных и объектов для моделей Simulink.
Чтобы использовать внешний сигнал для управления выполнением блока модели во время моделирования, см. раздел Изменение ссылочных моделей для условного выполнения.
Блоки подсистемы исполнения могут содержать блоки модели как системы исполнения. Сведения о системах исполнений см. в разделах Что такое исполнения и когда их использовать.
По умолчанию параметр блока имеет одинаковое значение в каждом экземпляре блока модели повторно используемой ссылочной модели. Чтобы задать другое значение параметра блока для каждого экземпляра повторно используемой ссылочной модели, создайте аргументы модели. Например, при добавлении блока усиления в модель sldemo_mdlref_counter, аргументы модели позволяют каждому из трех экземпляров этой модели использовать различные значения усиления. См. раздел Параметризация экземпляров повторно используемой ссылочной модели.
С помощью маски модели можно управлять внешним видом блоков модели и настраивать способ отображения аргументов модели блоками. Требования к маске модели см. в разделе Маски модели.
Модель, на которую имеется ссылка, можно моделировать либо интерпретативно (в обычном режиме), либо путем компиляции ссылочной модели в код и выполнения кода (в режиме ускорителя). Дополнительные сведения см. в разделе Выбор режимов моделирования для иерархий модели.
Файлы кэша Simulink содержат артефакты построения, которые могут ускорить моделирование и создание кода. Дополнительные сведения и пример рабочего процесса см. в разделе Совместное использование файлов кэша Simulink для более быстрого моделирования.
Сведения о создании кода для ссылочной иерархии модели см. в разделе Создание кода для ссылочной иерархии модели (Simulink Coder).