exponenta event banner

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

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

Подготовка подсистемы к преобразованию

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

Для подготовки подсистемы:

  1. Установите для параметра конфигурации Signal Resolution значение Explicit only или None.

    Совет

    Эту проблему можно устранить автоматически во время преобразования.

  2. Сконфигурируйте блочный интерфейс подсистемы.

    Совет

    Эти проблемы интерфейса можно устранить автоматически во время преобразования.

    Интерфейс подсистемыЧто искатьИзменение модели

    Перейти к или из блоков

    Перейти к или Из блоков, пересекающих границу подсистемы

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

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

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

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

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

    Замените блок памяти хранилища данных глобальным хранилищем данных. Определение глобального хранилища данных с помощью Simulink.Signal объект. Дополнительные сведения см. в разделе Хранилища данных с сигнальными объектами.

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

    Глобальные настраиваемые параметры в диалоговом окне, открытом с помощью кнопки «Параметры конфигурации» > «Создание кода» > «Оптимизация» > «Настройка»

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

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

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

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

    Конфигурация подсистемыЧто искатьИзменение модели
    Порядок выполнения блокировки

    Виртуальная подсистема, не заставляющая блоки выполняться последовательно.

    Выберите блок «Подсистема», а затем на вкладке «Блок подсистемы» выберите «Атомарная подсистема».

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

    Сигналы функционального вызова, пересекающие границы виртуальной подсистемы

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

    Примечание

    При преобразовании подсистемы export-function не требуется перемещать блок Function-Call Generator.

    Выходы вызова функции

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

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

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

    Время выборки

    Время выборки блока Inport, которое не соответствует времени выборки блока, управляющего блоком Inport

    При необходимости вставьте блоки Rate Transition.

    Блоки ввода

    Объединенные блоки ввода

    Настройте модель, чтобы избежать объединения блоков ввода. См. документацию по блоку слияния.

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

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

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

    Автобусы

    Шины, входящие и выходящие из подсистемы

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

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

    Повторяющиеся имена сигналов в шинах

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

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

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

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

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

    Измените любые недопустимые имена сигналов на допустимые идентификаторы MATLAB.

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

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

Чтобы преобразовать подсистему в ссылочную модель, откройте помощник по преобразованию привязок модели, выбрав блок Подсистема (Subsystem) и на вкладке Блок подсистемы (Subsystem Block) выберите команду Преобразовать (Convert) > Блок модели (Model Block). Помощник по преобразованию привязок модели (Model Reference Conversion Advisor) позволяет в интерактивном режиме задавать параметры преобразования и устранять проблемы, обнаруженные консультантом.

Для ускорения процесса преобразования:

  • В окне Помощник по преобразованию привязок модели (Model Reference Conversion Advisor) выберите Исправить ошибки автоматически (Fix errors automatically) ( Этот параметр автоматически устраняет некоторые проблемы преобразования, но вы не управляете исправлениями.

  • Закройте все открытые окна блоков области перед началом преобразования.

Чтобы оставить блок «Подсистема» на месте и создать отдельную модель из содержимого блока «Подсистема», снимите флажок Заменить содержимое подсистемы блоком «Модель».

Для сравнения результатов моделирования модели верхнего уровня до и после преобразования:

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

  • Выберите «Проверить результаты моделирования после преобразования» и «Заменить содержимое подсистемы блоком модели».

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

  • Установите для опции Режим моделирования блока модели (Model block simulation mode) в помощнике тот же режим моделирования, что и для исходной модели.

После установки параметров преобразования нажмите кнопку Преобразовать и устраните все выявленные проблемы.

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

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

После прохождения всех проверок преобразования Simulink:

  • Создание ссылочной модели из подсистемы.

  • Создает Simulink.Bus объекты, Simulink.Signal и настраиваемые параметры, необходимые ссылочной модели.

  • По умолчанию заменяет блок «Подсистема» блоком «Модель», который ссылается на новую модель.

  • Вставляет блок «Модель» в блок «Подсистема», если автоматически фиксирует добавленные порты в интерфейсе блока «Модель».

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

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

Simulink копирует следующие элементы из исходной модели в новую ссылочную модель.

  • Набор конфигурации - если родительская модель использует:

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

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

  • Переменные (Variables) - помощник копирует только переменные рабочей области модели, которые подсистема использовала в исходной модели, в рабочую область модели ссылочной модели. Если модель, содержавшая подсистему, использует словарь данных, то ссылочная модель использует тот же словарь данных.

  • Ссылки требований - консультант копирует ссылки требований, созданные с помощью программного обеспечения Simulink Requirements™, в блок «Модель» из исходного блока «Подсистема».

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

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

Дополнительные сведения см. в разделе Сравнение данных моделирования.

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

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

  • В любой момент преобразования выберите «Файл» > «Загрузить точку восстановления».

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

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

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

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

См. также

Блоки

Связанные темы