Можно включать одну модель в другую при помощи блока Model. Каждым экземпляром блока Model является model reference. Для симуляции и генерации кода, блоки в referenced model выполняются вместе как модуль. Моделью, которая содержит модель, на которую ссылаются, является parent model. Набор родительских и моделей, на которые ссылаются, составляет model hierarchy.
Модель может функционировать и как автономную модель и как модель, на которую ссылаются, не изменяя модель или любые сущности, выведенные от него. Чтобы использовать модель, на которую ссылаются, в качестве автономной модели, модель, на которую ссылаются, не может зависеть от данных, которые доступны только из высокоуровневой модели.
Как и подсистемы, модели-ссылки позволяют вам организовывать большие модели иерархически. Как и библиотеки, модели-ссылки позволяют вам задавать набор блоков один раз и неоднократно использовать его. Модели-ссылки обеспечивают несколько преимуществ, которые недоступны с подсистемами и библиотеками. Несколько из этих преимуществ следуют из моделей, на которые ссылаются, компилирующих независимый от контекста блока Model, включая:
Модульная разработка
Можно разработать модель, на которую ссылаются, независимо из моделей, которые используют ее.
Защита модели
С Simulink® Coder™license можно затенить содержимое модели, на которую ссылаются, позволив вам распределить модель, не показывая ее интеллектуальную собственность.
С лицензией Simulink можно сослаться на защищенную модель, предоставленную третьим лицом. В зависимости от данных разрешений защищенной модели можно просмотреть, моделировать и сгенерировать код для защищенной модели.
Включение ссылкой
Можно сослаться на модель многократно, не сокращая копии, и многоуровневые модели могут сослаться на ту же модель.
Инкрементная загрузка
Программное обеспечение Simulink загружает модель, на которую ссылаются, когда оно необходимо, который ускоряет образцовую загрузку.
Ускоренная симуляция
Программное обеспечение Simulink может преобразовать модель, на которую ссылаются, чтобы закодировать и моделировать модель путем выполнения кода, который быстрее, чем интерактивная симуляция.
Инкрементная генерация кода
Ускоренная симуляция генерирует код, только если модель изменилась, поскольку код был ранее сгенерирован.
Независимые конфигурации модели
Конфигурация модели, используемая моделью, на которую ссылаются, может отличаться от конфигурации модели своего родительского элемента или других моделей, на которые ссылаются.
Для видео, обобщающего преимущества модели - ссылки, смотрите, что Модульное проектирование Использует Образцовую Ссылку.
Чтобы сравнить модели - ссылки, подсистемы и библиотеки, видят Возможности Компонентов модели. Можно использовать несколько методов компонентизации в той же модели.
Модели, на которые ссылаются, могут содержать блоки Model та ссылка модели низшего уровня. top model является самой важной моделью в иерархии моделей, на которые ссылаются. Где только один уровень модели - ссылки существует, родительская модель и топ-модель являются тем же самым. Чтобы предотвратить циклическое наследование, блок Model не может обратиться прямо или косвенно к модели, которая превосходит его в иерархии модели. Эти данные показывают циклическое наследование.
Родительская модель может содержать блоки многоуровневой модели, которые ссылаются на ту же модель, на которую ссылаются, пока модель, на которую ссылаются, не задает глобальные данные. Например, модель sldemo_mdlref_basic
включает блоки Model что ссылка три экземпляра той же модели, на которую ссылаются, sldemo_mdlref_counter
.
Модель, на которую ссылаются, может также появиться в других родительских моделях на любом уровне.
Блок Model отображает вход, вывод и порты управления, которые соответствуют входу корневого уровня, выводят, и порты управления модели, на которую это ссылается. Чтобы соединить модель, на которую ссылаются, с другими элементами родительской модели, используйте эти порты блока Model. Соединение сигнала к порту блока Model соединяет сигнал с соответствующим портом в модели, на которую ссылаются.
В модели sldemo_mdlref_basic
каждый блок Model имеет три входных параметров: два блока Константа и блок Pulse Generator. Каждому блоку Model регистрировали один выходной сигнал к осциллографу. Поскольку входной сигнал от каждого блока Pulse Generator использует различный шаг расчета, выходной сигнал каждого блока Model отличается для каждого образцового экземпляра.
Чтобы соединиться с родительской моделью, модель sldemo_mdlref_counter
, на которую ссылаются, включает три блока Inport (upper, lower и input) и один блок Outport (output). Если вы изменяете порты в модели, на которую ссылаются, обновляете блок Model, чтобы отразить эти изменения.
Атрибуты сигнала в модели, на которую ссылаются, независимы от контекста блока Model. Например, размерности сигнала и типы данных не распространяют через контур блока Model. Чтобы задать атрибуты сигнала в модели, на которую ссылаются, задайте параметры блоков для корневого уровня Inport и В блоках Элемента Шины.
Для получения дополнительной информации смотрите Интерфейс Модели - ссылки.
Каждая модель имеет свою собственную рабочую область для хранения значений переменных. В иерархии модели каждое рабочее пространство модели действует как уникальное пространство имен. Поэтому можно использовать то же имя переменной в рабочих областях многоуровневой модели. Чтобы осуществлять обмен данными среди моделей, можно использовать словарь данных.
Дублирующиеся определения данных могут существовать в иерархии модели - ссылки при этих условиях:
Каждая модель в иерархии видит только одно определение.
Определениями должно быть то же самое через модели в иерархии.
Для получения дополнительной информации о том, где можно сохранить переменные и объекты, видеть, Определяют, Где Сохранить Переменные и Объекты для Моделей Simulink.
Чтобы использовать внешний сигнал управлять, выполняется ли блок Model во время симуляции, смотрите, Изменяют Модели, на которые Ссылаются, для Условного Выполнения.
Различные блоки Subsystem могут содержать блоки Model как вариантные системы. Для получения информации о вариантных системах смотрите то, Что Является Вариантами и Когда Использовать Их.
По умолчанию параметры блоков имеют то же значение в каждом экземпляре блока Model допускающей повторное использование модели, на которую ссылаются. Чтобы задать различное значение параметров блоков для каждого экземпляра допускающей повторное использование модели, на которую ссылаются, создайте образцовые аргументы. Например, если вы добавляете блок Gain в модель sldemo_mdlref_counter
, образцовые аргументы позволяют каждому из трех экземпляров этой модели использовать различные значения усиления. Смотрите Параметризовали Экземпляры Допускающей повторное использование Модели, на которую Ссылаются.
С образцовой маской можно управлять внешним видом блоков Model и настроить путь аргументы модели дисплея блоков. Для образцовых требований маски смотрите Образцовые Маски.
Можно симулировать модель-ссылку или путем интерпретации (в режиме normal mode) или путем компиляции модели-ссылки в код и выполнения кода (в режиме Accelerator). Для получения дополнительной информации смотрите Моделирование иерархий модели.
Первый раз, когда вы моделируете или обновляете схему для модели, которая создает симуляцию модели - ссылки (SIM) цель, процесс сборки, создает файл кэша Simulink. Файл кэша хранит артефакты сборки и ускоряет последовательные сборки модели. Для дополнительных выгод и рабочего процесса в качестве примера, смотрите Сборки Симуляции Доли для Более быстрых Симуляций.
Чтобы узнать о факторах при генерации кода для модели, на которую ссылаются, смотрите Генерацию кода Моделей, на которые Ссылаются (Simulink Coder).