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

Модель - ссылка предлагает преимущества для моделирования больших, сложных систем и для основанной на команде разработки. Много больших моделей используют комбинацию подсистем и моделей, на которые ссылаются. Чтобы решить, преобразовать ли подсистему в модель, на которую ссылаются, смотрите Возможности Компонентов модели и Инструкций для Размера Компонента и Функциональности.

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

  • Вы не можете преобразовать блок Subsystem с компонентами Simscape™ Multibody™ к блоку Model.

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

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

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

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

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

  1. Установите параметр Signal resolution на Explicit only или None.

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

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

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

    Goto или От блоков

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

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

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

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

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

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

    Блоки памяти Хранилища данных, к которым получает доступ Запись Чтения или Хранилища данных Хранилища данных, блокируются от за пределами подсистемы

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

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

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

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

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

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

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

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

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

    Настройка подсистемыЧто искатьОбразцовая модификация

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

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

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

    Примечание

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

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

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

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

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

    Шаги расчета

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

    Вставьте блоки Перехода Уровня, где это необходимо.

    Блоки Inport

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

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

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

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

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

    Шины

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

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

    Чтобы найти имена сигнала, которые не совпадают с именами элементов шины, используйте диагностику несоответствия метки 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.

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

Блоки

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

Больше о