Simulink.SubSystem.convertToModelReference

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

Описание

пример

Simulink.SubSystem.convertToModelReference(gcb,'UseConversionAdvisor',true) открывает Model Reference Conversion Advisor для выбранного блока Subsystem.

[tf,h] = Simulink.SubSystem.convertToModelReference(subsys,model) преобразует указанные подсистемы в модели-ссылки.

Для каждой подсистемы, которую преобразует функция, это:

  • Создает модель.

  • Копирует содержимое подсистемы в новую модель.

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

  • Копирует содержимое рабочего пространства модели исходной модели в новую модель.

Прежде чем вы используете эту функцию, загрузите модель, содержащую подсистему.

пример

[tf,h] = Simulink.SubSystem.convertToModelReference(subsys,model,Name,Value) задает опции, используя один или несколько аргументы пары "имя-значение".

Примеры

свернуть все

Откройте f14 модель.

open_system('f14');

В f14 Моделью выберите подсистему Controller выхода сигнала и нажатия кнопки Log Signals.

В Simulink® Редактор, выберите подсистему контроллер. Откройте Model Reference Conversion Advisor из командного окна.

Simulink.SubSystem.convertToModelReference(gcb,'UseConversionAdvisor',true);

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

Преобразуйте Bus Counter подсистема к ссылочной модели с именем bus_counter_ref_model.

open_system('sldemo_mdlref_conversion');
Simulink.SubSystem.convertToModelReference(...
   'sldemo_mdlref_conversion/Bus Counter', ...
   'bus_counter_ref_model', ...
   'AutoFix',true,...
   'ReplaceSubsystem',true,...
   'CheckSimulationResults',true);
### Successfully converted Subsystem block to Model block.

Преобразуйте две подсистемы с помощью одной команды.

open_system('f14');
set_param(gcs,'SaveOutput','on','SaveFormat','Dataset');
set_param(gcs,'SignalResolutionControl','UseLocalSettings');
Simulink.SubSystem.convertToModelReference(...
{'f14/Controller','f14/Aircraft Dynamics Model'},...
{'controller_ref_model','aircraft_dynamics_ref_model'},...
'ReplaceSubsystem',true,...
'AutoFix',true,...
'CheckSimulationResults',true)

Входные параметры

свернуть все

Имена подсистемы или указатели на нее, заданные как числовой массив, вектор символов, массив ячеек из векторов символов или строковые массивы.

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

Типы данных: double | char | string

Имена модели, заданные как вектор символов, массив ячеек векторов символов или строковых массивов. Каждое имя модели должно быть не более 59 символов.

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

Типы данных: char | string

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: Simulink.SubSystem.convertToModelReference...(engineSubsys,engineModelRef,'ReplaceSubsystem',true)

Опция для устранения всех проблем преобразования, которые могут быть исправлены автоматически, заданная как разделенная разделенными запятой парами, состоящая из 'AutoFix' и true или false.

Если вы задаете AutoFix на true, функция исправляет все проблемы преобразования, которые она может исправить. Для проблем, которые функция не может исправить, процесс преобразования генерирует сообщения об ошибке, которые вы адресуете, изменяя модель.

Примечание

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

Типы данных: logical

Опция для завершения преобразования даже с ошибками, заданная как разделенная разделенными запятой парами, состоящая из 'Force' и true или false.

Если trueфункция возвращает ошибки преобразования как предупреждения и продолжает преобразование, не исправляя ошибок, даже если вы задаете AutoFix на true. The Force опция позволяет вам использовать функцию для выполнения начальных шагов преобразования и затем завершить процесс преобразования самостоятельно.

Типы данных: logical

Опция для копирования отображений кода из родительской модели в новую, преобразованную модель, заданную как разделенная разделенными запятой парами, состоящая из 'CopyCodeMappings' и true или false.

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

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

Типы данных: logical

Опция для проверки результатов симуляции до и после преобразования, заданная как разделенная разделенными запятой парами, состоящая из 'CheckSimulationResults' и true или false.

Перед выполнением преобразования:

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

  • Задайте CheckSimulationResults на true.

  • Задайте AbsoluteTolerance.

  • Задайте RelativeTolerance.

  • Задайте SimulationModes в режим симуляции, используемый исходной моделью.

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

Типы данных: logical

Абсолютный допуск сигнала для сравнения, заданный как разделенная разделенными запятой парами, состоящая из 'AbsoluteTolerance' и числовой скаляр.

Используйте эту опцию только, если вы задаете CheckSimulationResults на true.

Типы данных: double

Относительный допуск сигнала для сравнения, заданный как разделенная разделенными запятой парами, состоящая из 'RelativeTolerance' и числовой скаляр.

Используйте эту опцию только, если вы задаете CheckSimulationResults на true.

Типы данных: double

Имя файла для хранения данных преобразования, заданное как разделенная разделенными запятой парами, состоящая из 'DataFileName' и вектор символов. Можно задать абсолютный или относительный путь.

Можно сохранить данные преобразования в MAT-файле (по умолчанию) или MATLAB® файл. Если вы используете .m расширение файла, функция сериализует все переменные в файл MATLAB.

По умолчанию функция использует имя файла, состоящее из имени модели плюс _conversion_data.mat.

Типы данных: char

Опция замены Subsystem блоков Model блоками, заданная как разделенная разделенными запятой парами, состоящая из 'ReplaceSubsystem' и true или false.

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

Если вы задаете ReplaceSubsystem на trueдействие преобразования зависит от того, используете ли вы опции автоматического исправления.

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

  • Если вы не используете автоматические исправления, то преобразование заменяет Subsystem блок на Model блок.

Типы данных: logical

Опция вставки подсистемы оболочки для сохранения макета модели, заданная как разделенная разделенными запятой парами, состоящая из 'CreateWrapperSubsystem' и true или false.

При преобразовании подсистемы в модель-ссылку процесс преобразования может вставить подсистему-оболочку, чтобы сохранить размещение модели. Оболочка подсистемы содержит блок Model от преобразования.

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

Типы данных: logical

Режим симуляции для блоков Model, заданный как разделенная разделенными запятой парами, состоящая из 'SimulationModes' и 'Normal' или 'Accelerator'. Установка режима симуляции применяется к блокам Model, которые ссылаются на модели, которые создает преобразование.

Типы данных: char

Цели модели-ссылки для генерации, заданная как разделенная запятой пара, состоящая из 'BuildTarget' и 'Sim' или 'Coder'.

  • 'Sim' - Моделируйте эталонную цель симуляции

  • 'Coder' - Цель генерации кода

Типы данных: char

Выходные аргументы

свернуть все

Истинный или ложный результат, возвращенный как 1 или 0 типа данных logical.

Значение 1 указывает на успешное преобразование.

Если вы задаете Force на true, функция возвращает значение 1 если преобразование завершится. Однако результаты симуляции могут отличаться от результатов симуляции для модели перед преобразованием.

Указатели на созданные блоки Model, возвращенные как числовой массив.

Типы данных: double

Совет

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

  • Установка нескольких подсистем для преобразования одной командой может сэкономить время по сравнению с преобразованием каждой подсистемы отдельно. Процесс преобразования нескольких подсистем компилирует модель один раз.

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

  • Если вы задаете несколько подсистем, примите во внимание:

    • Во входных параметрах установка 'Autofix', 'ReplaceSubsystem', и 'CheckSimulationResults' на true.

    • В модели задайте короткое время симуляции.

  • Словарь данных сохраняет объекты шины, которые он создает как часть процесса преобразования, когда оба из этих условий существуют:

    • В верхней модели используется словарь данных.

    • Все изменения в верхней модели сохраняются.

  • Чтобы сохранить поведение маскированной подсистемы, выполните следующие дополнительные задачи:

    • Для маскированных коллбэков, значков, портов и документации создайте резервную копию маскированной подсистемы перед преобразованием ее в ссылочную модель. После преобразования скопируйте содержимое из Редактор резервной маскированной подсистемы в Mask Editor нового блока Model.

    • Замените параметры маски аргументами модели (см. «Параметризация образцов переиспользуемой модели-ссылки»).

    Примечание

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

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2019a

Введенный в R2006a