Преобразуйте подсистемы в модели, на которые ссылаются,

Модель - ссылка предлагает преимущества для моделирования больших, сложных систем и для основанной на команде разработки. Много больших моделей используют комбинацию подсистем и моделей, на которые ссылаются. Чтобы решить, преобразовать ли подсистему в модель, на которую ссылаются, смотрите, Выбирают Among Types of Model Components.

Советник по вопросам Преобразования Модели - ссылки не поддерживает преобразование для некоторых типов подсистем.

  • Subsystem блокируется с компонентами Simscape™ Multibody™, которые пересекают контур подсистемы

  • Блоки Subsystem маскированные — Чтобы преобразовать замаскированные блоки Subsystem в блоки Model, используйте Simulink.SubSystem.convertToModelReference функция.

  • Асинхронные подсистемы — Чтобы преобразовать асинхронные подсистемы в модели, на которые ссылаются, которые принимают асинхронные вызовы функции, смотрите Асинхронные Ограничения Поддержки (Simulink Coder).

Обновите содержимое блока Subsystem для преобразования

Советник по вопросам Преобразования Модели - ссылки помогает вам рассмотреть и устранить проблемы. Подготовка содержимого блока Subsystem может устранить или сократить количество проблем, которые идентифицирует советник. Решение этих проблем в среде редактирования моделей может неоднократно быть более эффективным, чем переключение между советником и Редактором Simulink®.

Чтобы преобразовать блок Subsystem, не готовя его содержимое, смотрите, Преобразуют блоки Subsystem в блоки Model. В противном случае сделайте эти шаги, чтобы подготовить содержимое блока Subsystem:

  1. Установите параметр разрешения Сигнала на Explicit only или None.

    Можно использовать Советника по вопросам Преобразования Модели - ссылки опция Fix, чтобы решить эту проблему.

  2. Сконфигурируйте интерфейс блока Subsystem.

    Интерфейс блока SubsystemЧто искатьМодификация модели

    Goto или блоки From

    Goto или блоки From, пересекающие контур подсистемы

    Замените блоки From, которые имеют соответствующий блок Goto, который пересекает контур подсистемы с блоком Inport.

    Замените каждый блок Goto, который имеет соответствующие блоки From, которые пересекают контур подсистемы с блоком Outport.

    Соедините Inport и блоки Outport к соответствующим портам подсистемы.

    Можно использовать Советника по вопросам Преобразования Модели - ссылки опция Fix, чтобы решить эту проблему.

    Хранилища данных

    Блоки Data Store Memory, к которым получает доступ Data Store Read или Data Store Write, блокируются от за пределами подсистемы

    Замените блок Data Store Memory на хранилище глобальных данных. Задайте хранилище глобальных данных с помощью Simulink.Signal объект. Для получения дополнительной информации смотрите Хранилища данных с Объектами Сигнала.

    Можно использовать Советника по вопросам Преобразования Модели - ссылки опция Fix, чтобы решить эту проблему.

    Настраиваемые параметры

    Глобальные настраиваемые параметры в диалоговом окне, открытом с помощью кнопки Configuration Parameters> Code Generation> Optimization> Configure

    Создать Simulink.Parameter объект для каждого настраиваемого параметра, используйте tunablevars2parameterobjects.

    Simulink.Parameter объекты должны иметь класс памяти кроме Auto.

    Для получения дополнительной информации смотрите, Параметризовали Экземпляры Допускающей повторное использование Модели, на которую Ссылаются, и Настраиваемых параметров.

    Можно использовать Советника по вопросам Преобразования Модели - ссылки опция Fix, чтобы решить эту проблему.

  3. Сконфигурируйте содержимое блока Subsystem.

    Настройка подсистемыЧто искатьМодификация модели

    Вызовы функции

    Вызов функции сигнализирует что перекрестные виртуальные контуры подсистемы

    Переместите блок Function-Call Generator в подсистему, которую вы хотите преобразовать.

    Примечание

    Если вы преобразуете подсистему экспорта функций, то вы не должны перемещать блок Function-Call Generator.

    Вызов функции выходные параметры

    Измените вызов функции выходные параметры в триггеры данных.

    Широкие порты вызова функции

    Устраните широкие сигналы для подсистем вызова функций.

    Шаги расчета

    Шаг расчета блока Inport, который не совпадает с шагом расчета блока, управляющего блоком Inport

    Вставьте блоки Rate Transition, где это необходимо.

    Блоки Inport

    Объединенные блоки Inport

    Сконфигурируйте модель, чтобы избежать объединенных блоков Inport. См. документацию блока Merge.

    Постоянные блоки

    Блоки Constant, которые обеспечивают вход для подсистем

    Переместите блоки Constant в подсистему.

    Шины

    Соедините шиной сигналы, которые вводят и выходят из подсистемы

    Совпадайте с именами сигнала и соедините шиной имена элементов для блоков в подсистеме.

    Чтобы найти имена сигнала, которые не совпадают с именами элементов шины, используйте диагностику несоответствия метки Signal.

    Дублирующийся сигнал называет в шинах

    Сделайте имена сигнала элементов шины уникальными.

    Имена сигнала, которые не являются допустимыми идентификаторами MATLAB®. Допустимый идентификатор является вектором символов, который удовлетворяет этим условиям:

    • Имя содержит буквы, цифры или символы нижнего подчеркивания.

    • Первый символ является буквой.

    • Длина имени меньше чем или равна значению, возвращенному namelengthmax функция.

    Поменяйте любые недопустимые имена сигнала, чтобы быть допустимыми идентификаторами MATLAB.

Преобразуйте блоки Subsystem в блоки Model

Чтобы преобразовать блок Subsystem в блок Model, используйте Советника по вопросам Преобразования Модели - ссылки.

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

  2. Для улучшаемой производительности преобразования закройте любые открытые окна блока Scope.

  3. Чтобы открыть Советника по вопросам Преобразования Модели - ссылки, щелкните правой кнопкой по блоку Subsystem и выберите Subsystem & Model Reference> Convert to> Referenced Model.

  4. Рассмотрите настройки по умолчанию под Input Parameters. Измените параметры по мере необходимости, затем нажмите Apply.

    • Советник может устранить некоторые проблемы преобразования автоматически. Выберите Fix errors automatically (if possible). Эта опция может сделать процесс преобразования быстрее, но вы не управляете мерами, которые делает советник.

    • Советник может оставить блок Subsystem на месте и создать отдельную модель из содержимого блока Subsystem. Очистите Replace the content of a subsystem with a Model block.

    • Советник может сравнить результаты симуляции топ-модели до и после преобразования. Сравнить результаты симуляции:

      • Включите логгирование сигнала для выходных сигналов интереса

      • Выберите Check simulation results after conversion и Replace the content of a subsystem with a Model block

      • Установите Stop time, Absolute tolerance и Relative tolerance

      • Установите опцию Model block simulation mode в советнике того же режима симуляции как исходная модель

  5. Нажмите Convert. Для получения информации о проверках щелкните правой кнопкой по проверке (такой как Check conversion input parameters) и выберите What's This?

  6. Решите любые проблемы, о которых сообщает советник. Для некоторых проблем советник обеспечивает кнопку Fix, чтобы решить проблему.

  7. После того, как вы решаете каждую проблему, нажмите Continue, пока советник не сообщает ни о каких остающихся проблемах.

В качестве альтернативы можно использовать Simulink.SubSystem.convertToModelReference функция. Можно преобразовать несколько блоков Subsystem с помощью одного Simulink.SubSystem.convertToModelReference команда. Однако вы не можете преобразовать родительскую подсистему и дочерний элемент той подсистемы одновременно.

Результаты преобразования

После того, как Советник по вопросам Преобразования Модели - ссылки осуществляет все проверки успешно, это:

  • Создает модель, на которую ссылаются, из подсистемы.

  • Создает объекты шины, объекты сигнала и настраиваемые параметры, которых, требует модель, на которую ссылаются.

  • По умолчанию, заменяет блок Subsystem на блок Model, который содержит модель, на которую ссылаются.

  • Вставляет блок Model в блок Subsystem, если автоматические добавленные порты мер с блоком Model взаимодействуют через интерфейс.

  • Создает сводный отчет преобразования HTML в slprj папка. Этот отчет обобщает результаты процесса преобразования, включая результаты мер, которые выполнил советник. Этот отчет также описывает элементы, которые он копирует.

  • Опционально проверяет непротиворечивость результатов симуляции до и после преобразования.

Советник копирует следующие элементы от исходной модели до новой модели, на которую ссылаются.

  • Конфигурация модели — Если родительская модель использует:

    • Конфигурация модели, которая не является конфигурацией модели, на которую ссылаются, советник, копирует целую конфигурацию модели в модель, на которую ссылаются,

    • Конфигурация модели, на которую ссылаются, затем оба родительские и модели, на которые ссылаются, используют ту же конфигурацию модели, на которую ссылаются,

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

  • Ссылки требований — советник копирует ссылки требований, созданные с программным обеспечением Simulink Requirements™ с блоком Model из исходного блока Subsystem.

Сравните результаты симуляции до и после преобразования

Советник по вопросам Преобразования Модели - ссылки может сравнить результаты симуляции до и после преобразования. После того, как вы успешно осуществите проверку Complete conversion, выберите Click here to view the comparison results. Результаты отображаются в Инспекторе Данных моделирования. Зеленая галочка указывает, что результаты симуляции в допуске между базовой моделью и моделью с новой моделью, на которую ссылаются.

Для получения дополнительной информации об Инспекторе Данных моделирования, виде на море и Анализируют Результаты симуляции.

Вернитесь преобразование

Если вы не удовлетворены результатами преобразования, можно восстановить модель к ее начальному состоянию. Используйте один из этих подходов:

  • В любой точке во время преобразования выберите File> Load Restore Point.

  • После того, как вы успешно осуществите проверку Complete conversion, выберите Click here to restore the original model.

Интегрируйте модель, на которую ссылаются, в родительскую модель

После того, как вы завершаете преобразование, обновляете модель по мере необходимости, чтобы удовлетворить ваши требования моделирования. Например, можно вручную заменить блок Subsystem на блок Model, который ссылается на созданную модель, на которую ссылаются.

Если вы хотите симулировать модель с внешними данными, проверяйте, что корневые блоки Inport в новой модели, на которую ссылаются, имеют соответствующую установку параметра Interpolate data. См. документацию для параметра Interpolate data блока Inport.

Смотрите также

Блоки

Связанные примеры

Больше о