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 модель, выберите выходной сигнал Подсистемы контроллера и нажмите 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, затем функция автоматически не устраняет проблемы преобразования.

Типы данных: логический

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

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

Типы данных: логический

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

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

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

Типы данных: логический

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

Прежде, чем выполнить преобразование:

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

  • Установите CheckSimulationResults к true.

  • Установите AbsoluteTolerance.

  • Установите RelativeTolerance.

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

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

Типы данных: логический

Абсолютный допуск сигнала к сравнению в виде разделенной запятой пары, состоящей из '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.

Типы данных: логический

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

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

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

Типы данных: логический

Режим Simulation для 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.

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

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

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

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

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

    Примечание

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

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

развернуть все

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

Введен в R2006a