Модели-ссылки

Можно включать одну модель в другую при помощи блока Model. Каждый образец блока Model является model reference. Для симуляции и генерации кода блоки в referenced model выполняются вместе как модуль. Модель, которая содержит ссылочную модель, является parent model. Набор родительских и ссылочных моделей составляет model hierarchy.

Модель может функционировать как автономная модель, так и ссылочная модель, не меняя модель или какие-либо сущности, выведенные из нее. Чтобы использовать модель-ссылку в качестве автономной модели, модель-ссылка не может зависеть от данных, которые доступны только из модели более высокого уровня.

Модель-ссылка преимущества

Как и подсистемы, модели-ссылки позволяют вам организовывать большие модели иерархически. Как и библиотеки, модели-ссылки позволяют вам задавать набор блоков один раз и неоднократно использовать его. Модели-ссылки обеспечивают несколько преимуществ, которые недоступны с подсистемами и библиотеками. Несколько из этих преимуществ результата от ссылки моделей компиляции независимо от контекста блока Model, включая:

  • Модульное развитие

    Можно разрабатывать модель-ссылку независимо от моделей, которые ее используют.

  • Защита модели

    С Simulink® Coder™ лицензии можно затушевать содержимое модели-ссылки, позволяя распространять модель, не раскрывая её интеллектуальное свойство.

    С помощью лицензии Simulink можно ссылаться на защищенную модель, предоставленную третьей стороной. В зависимости от предоставленных разрешений защищенной модели, можно просматривать, моделировать и генерировать код для защищенной модели.

  • Включение по ссылке

    Можно ссылаться на модель несколько раз, не создавая избыточных копий, и несколько моделей могут ссылаться на одну и ту же модель.

  • Инкрементальная загрузка

    Программное обеспечение Simulink загружает ссылочную модель, когда это необходимо, что ускоряет загрузку модели.

  • Ускоренная симуляция

    Программное обеспечение Simulink может преобразовать модель-ссылку в код и симулировать модель, запустив код, который быстрее, чем интерактивная симуляция.

  • Инкрементальная генерация кода

    Ускоренная симуляция генерирует код, только если модель изменилась с тех пор, как код был сгенерирован ранее.

  • Независимые конфигурации модели

    Конфигурация модели, используемый ссылочной моделью, может отличаться от конфигурации модели ее родительского элемента или других ссылочных моделей.

Для видео, результирующего модель-ссылку преимуществ, смотрите Модульную конструкцию Использование моделей-ссылок.

Сравнение моделей-ссылок, подсистем и библиотек смотрите в Выбор среди типов компонентов модели. Можно использовать несколько методов компонентизации в одной модели.

Иерархии модели

Модели-ссылки могут содержать 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 блока. Чтобы задать атрибуты сигнала в ссылочных моделях, задайте параметры блоков для блоков Inport и In Bus Element корневого уровня.

Для получения дополнительной информации см. «Модель-ссылка» и «Контур».

Моделируйте рабочие области и словари данных

Каждая модель имеет свои рабочие области для хранения значений переменных. В иерархии модели каждое рабочее пространство модели действует как уникальное пространство имен. Поэтому можно использовать одно и то же имя переменной в нескольких рабочих пространствах модели. Для обмена данными между моделями можно использовать словарь данных.

Повторяющиеся определения данных могут существовать в иерархии модели-ссылки при следующих условиях:

  • Каждая модель в иерархии может видеть только одно определение.

  • Определения должны быть одинаковыми для моделей в иерархии.

Для получения дополнительной информации о том, где можно хранить переменные и объекты, смотрите Определение места хранения переменных и объектов для моделей Simulink.

Выполнение модели-ссылки

Чтобы использовать внешний сигнал для управления тем, выполняется ли блок Model во время симуляции, смотрите Изменение Ссылочных Моделей для Условного Выполнения.

Variant Subsystem блоки могут содержать Model блока как вариантные системы. Для получения информации о вариантных системах смотрите Что такое Варианты и Когда их использовать.

По умолчанию параметры блоков имеют то же значение в каждом Model блоке образца переиспользуемой ссылочной модели. Чтобы задать другие параметры блоков значение для каждого образца переиспользуемой модели-ссылки, создайте аргументы модели. Для примера, если вы добавляете блок Gain к модели sldemo_mdlref_counter, аргументы модели позволяют каждому из трёх образцов этой модели использовать различные значения усиления. См. «Параметризация Образцов переиспользуемой ссылочной Модели».

С помощью маски модели можно управлять внешним видом блоков Model и настраивать способ отображения аргументов модели блоками. Требования к маске модели см. в разделе «Маски модели».

Симуляция модели-ссылки и генерация кода

Можно симулировать модель-ссылку или путем интерпретации (в режиме normal mode) или путем компиляции модели-ссылки в код и выполнения кода (в режиме Accelerator). Для получения дополнительной информации смотрите Выбор режимов симуляции для иерархий модели.

Файлы кэша Simulink содержат программные продукты сборки, которые могут ускорить симуляцию и генерацию кода. Для получения дополнительной информации и примера рабочего процесса см. Раздел «Совместное использование файлов кэша Simulink для более быстрой симуляции».

Чтобы узнать о генерации кода для иерархии модели-ссылки, смотрите Сгенерируйте код для иерархии Модели-ссылки (Simulink Coder).

См. также

Блоки

Похожие примеры

Подробнее о