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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Примечание

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

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

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

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

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

    Частоты дискретизации

    Частота дискретизации блока Inport, которая не совпадает с частотой дискретизации блока, управляющего блоком Inport

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

    Блоки Inport

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

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

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

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

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

    Шины

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Советник может оставить блок Subsystem на месте и создать отдельную модель из содержимого блока Subsystem. Ясная Замена содержимое подсистемы с Блоком модели.

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

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

      • Выберите результаты симуляции Check после преобразования и Замены содержимое подсистемы с Блоком модели

      • Установите Время остановки, Абсолютный допуск и Относительный допуск

      • Установите опцию режима моделирования Блока модели в советнике того же режима моделирования как исходная модель

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Советник по вопросам Преобразования Модели - ссылки может сравнить результаты симуляции до и после преобразования. После того, как вы успешно осуществите Полную проверку преобразования, выберите Click here, чтобы просмотреть результаты сравнения. Результаты отображают в Моделировании Data Inspector. Зеленая галочка указывает, что результаты симуляции в допуске между базовой моделью и моделью с новой моделью, на которую ссылаются.

Для получения дополнительной информации о Моделировании Data Inspector, смотрите Представление и Анализируйте Результаты симуляции.

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

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

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

  • После того, как вы успешно осуществите Полную проверку преобразования, выберите Click here, чтобы восстановить исходную модель.

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

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

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

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

Блоки

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

Больше о

Была ли эта тема полезной?