Можно включать одну модель в другую при помощи блока Model. Каждым экземпляром блока Model является model reference. Для симуляции и генерации кода, блоки в referenced model выполняются вместе как модуль. Моделью, которая содержит модель, на которую ссылаются, является parent model. Набор родительских и моделей, на которые ссылаются, составляет model hierarchy.
Модель может функционировать и как автономную модель и как модель, на которую ссылаются, не изменяя модель или любые сущности, выведенные из него. Чтобы использовать модель, на которую ссылаются, в качестве автономной модели, модель, на которую ссылаются, не может зависеть от данных, которые доступны только из высокоуровневой модели.
Как и подсистемы, модели-ссылки позволяют вам организовывать большие модели иерархически. Как и библиотеки, модели-ссылки позволяют вам задавать набор блоков один раз и неоднократно использовать его. Модели-ссылки обеспечивают несколько преимуществ, которые недоступны с подсистемами и библиотеками. Несколько из этих преимуществ следуют из моделей, на которые ссылаются, компилирующих независимый от контекста блока Model, включая:
Модульная разработка
Можно разработать модель, на которую ссылаются, независимо из моделей, которые используют ее.
Защита модели
С Simulink® Coder™license можно затенить содержимое модели, на которую ссылаются, позволив вам распределить модель, не показывая ее интеллектуальную собственность.
С лицензией Simulink можно сослаться на защищенную модель, предоставленную третьим лицом. В зависимости от данных разрешений защищенной модели можно просмотреть, симулировать и сгенерировать код для защищенной модели.
Включение ссылкой
Можно сослаться на модель многократно, не сокращая копии, и многоуровневые модели могут сослаться на ту же модель.
Инкрементная загрузка
Программное обеспечение Simulink загружает модель, на которую ссылаются, когда оно необходимо, который ускоряет загрузку модели.
Ускоренная симуляция
Программное обеспечение Simulink может преобразовать модель, на которую ссылаются, чтобы закодировать и симулировать модель путем выполнения кода, который быстрее, чем интерактивная симуляция.
Инкрементная генерация кода
Ускоренная симуляция генерирует код, только если модель изменилась, поскольку код был ранее сгенерирован.
Независимые конфигурации модели
Конфигурация модели, используемая моделью, на которую ссылаются, может отличаться от конфигурации модели своего родительского элемента или других моделей, на которые ссылаются.
Для видео, обобщающего преимущества модели - ссылки, смотрите, что Модульное проектирование Использует Ссылку Модели.
Чтобы сравнить модели - ссылки, подсистемы и библиотеки, видят, Выбирают Among Types of Model Components. Можно использовать несколько методов компонентизации в той же модели.
Модели, на которые ссылаются, могут содержать блоки Model та ссылка модели низшего уровня. top model является топ-моделью в иерархии моделей, на которые ссылаются. Где только один уровень модели - ссылки существует, родительская модель и топ-модель являются тем же самым. Чтобы предотвратить циклическое наследование, блок Model не может обратиться прямо или косвенно к модели, которая превосходит его в иерархии модели. Этот рисунок показывает циклическое наследование.
Родительская модель может содержать несколько блоков Model, которые ссылаются на ту же модель, на которую ссылаются, пока модель, на которую ссылаются, не задает глобальные данные. Например, sldemo_mdlref_basic
модель включает блоки Model что ссылка три экземпляра той же модели, на которую ссылаются, sldemo_mdlref_counter
.
Модель, на которую ссылаются, может также появиться в других родительских моделях на любом уровне.
Блок Model отображает вход, выход и порты управления, которые соответствуют входу корневого уровня, выводят, и порты управления модели, на которую это ссылается. Чтобы соединить модель, на которую ссылаются, с другими элементами родительской модели, используйте эти порты блока 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. Чтобы задать атрибуты сигнала в модели, на которую ссылаются, задайте параметры блоков для корневого уровня блоки In Bus Element и Inport.
Для получения дополнительной информации смотрите Интерфейс Модели - ссылки и Контур.
Каждая модель имеет свою собственную рабочую область для хранения значений переменных. В иерархии модели каждое рабочее пространство модели действует как уникальное пространство имен. Поэтому можно использовать то же имя переменной в рабочих областях многоуровневой модели. Чтобы осуществлять обмен данными среди моделей, можно использовать словарь данных.
Дублирующиеся определения данных могут существовать в иерархии модели - ссылки при этих условиях:
Каждая модель в иерархии видит только одно определение.
Определениями должно быть то же самое через модели в иерархии.
Для получения дополнительной информации о том, где можно сохранить переменные и объекты, видеть, Определяют, Где Сохранить Переменные и Объекты для Моделей Simulink.
Чтобы использовать внешний сигнал управлять, выполняется ли блок Model в процессе моделирования, смотрите, Изменяют Модели, на которые Ссылаются, для Условного Выполнения.
Блоки Variant Subsystem могут содержать блоки Model как вариантные системы. Для получения информации о вариантных системах смотрите то, Что Является Вариантами и Когда Использовать Их.
По умолчанию параметры блоков имеют то же значение в каждом экземпляре блока Model допускающей повторное использование модели, на которую ссылаются. Чтобы задать различное значение параметров блоков для каждого экземпляра допускающей повторное использование модели, на которую ссылаются, создайте аргументы модели. Например, если вы добавляете блок Gain в модель sldemo_mdlref_counter
, аргументы модели позволяют каждому из трех экземпляров этой модели использовать различные значения усиления. Смотрите Параметризовали Экземпляры Допускающей повторное использование Модели, на которую Ссылаются.
С маской модели можно управлять внешним видом блоков Model и настроить путь аргументы модели дисплея блоков. Для требований маски модели смотрите Маски Модели.
Можно симулировать модель-ссылку или путем интерпретации (в режиме normal mode) или путем компиляции модели-ссылки в код и выполнения кода (в режиме Accelerator). Для получения дополнительной информации смотрите, Выбирают Simulation Modes for Model Hierarchies.
Файлы кэша Simulink содержат артефакты сборки, которые могут ускорить симуляцию и генерацию кода. Для получения дополнительной информации и рабочий процесс в качестве примера, смотрите Артефакты Сборки Доли для Более быстрой Симуляции и Генерации кода.
Чтобы узнать о факторах для генерации кода для модели, на которую ссылаются, смотрите Генерацию кода Моделей, на которые Ссылаются (Simulink Coder).