Simulink.SubSystem.convertToModelReference

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

Описание

пример

Simulink.SubSystem.convertToModelReference(gcb,'UseConversionAdvisor',true) открывает Советника по вопросам Преобразования Модели - ссылки по в настоящее время выбранному блоку подсистемы.

[success,mdlRefBlkHs] = Simulink.SubSystem.convertToModelReference(subsys,mdlRefs) преобразует заданные подсистемы в модели, на которые ссылаются, с помощью mdlRefs значение.

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

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

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

  • Обновления любой корневой уровень Inport, Выходной порт, Триггер, и Позволяют блокам и параметрам конфигурации модели совпадать со скомпилированными атрибутами исходной подсистемы

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

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

пример

[success,mdlRefBlkHs] = Simulink.SubSystem.convertToModelReference(subsys,mdlRefs,Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

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

open_system('f14');

В f14 модель, выберите выходной сигнал Подсистемы контроллера, кликните по стреле кнопки Simulation Data Inspector и выберите Log Selected Signals.

В Редакторе Simulink® выберите Controller подсистема. Затем откройте Советника по вопросам Преобразования Модели - ссылки из командной строки.

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 to Model reference 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

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

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

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

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

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

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

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

Примечание

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

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

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

Если вы устанавливаете Force к true, затем функция не устраняет проблемы преобразования, даже если вы устанавливаете 'AutoFix' к true. Однако success выходным аргументом является true, независимо от того, произошли ли какие-либо ошибки преобразования.

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

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

Для Simulink.SubSystem.convertToModelReference команда, набор:

  • 'CheckSimulationResults' к true

  • 'AbsoluteTolerance'

  • 'RelativeTolerance'

  • 'SimulationModes' к тому же самому как режим симуляции как в исходной модели

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

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

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

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

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

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

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

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

Замените блоки подсистемы на блоки Model, заданные как true или false. Блок Model ссылается на модель, на которую ссылаются.

По умолчанию функция отображает модели, на которые ссылаются, в отдельных окнах Simulink Editor.

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

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

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

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

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

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

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

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

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

Цели модели-ссылки, чтобы сгенерировать.

  • 'Sim' — Цель симуляции модели - ссылки

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

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

свернуть все

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

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

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

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

Советы

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

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

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

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

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

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

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

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

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

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

    Примечание

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

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

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

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

Введен в R2006a

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