Simulink. SubSystem.convertToModelReference

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

Синтаксис

Simulink.SubSystem.convertToModelReference(gcb,'UseConversionAdvisor',true)
[success,mdlRefBlkHs] = Simulink.SubSystem.convertToModelReference(subsys,mdlRefs)
[success,mdlRefBlkHs] = Simulink.SubSystem.convertToModelReference(subsys,mdlRefs,Name,Value)

Описание

пример

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) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: Simulink. SubSystem.convertToModelReference... (engineSubsys, engineModelRef, 'ReplaceSubsystem', верный)

Если вы устанавливаете 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.

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

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

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

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

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

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

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

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

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

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

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

Модель - ссылка предназначается, чтобы сгенерировать.

  • \sim Цель моделирования модели - ссылки

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

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

свернуть все

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

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

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

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

Советы

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

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

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

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

    • Задавая их 'Autofix', 'ReplaceSubsystem', имя 'CheckSimulationResults' и пары значения, набор к true.

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

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

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

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

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

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

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

    Примечание

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

    Для параметров маски замените параметры маски на образцовые аргументы (см., Параметризовали Экземпляры Допускающей повторное использование Модели, на которую Ссылаются):

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

    2. В Образцовом Проводнике выберите узел Model Workspace. В панели Содержимого установите флажок Argument, чтобы идентифицировать переменные в качестве образцовых аргументов.

    3. В новом Блоке модели, на вкладке Arguments, в таблице аргументов Model, задают значения для образцовых аргументов.

    Для обратных вызовов маскированных, значков, портов и документации:

    1. В резервной копии откройте Редактор Маски на подсистеме маскированной и скопируйте содержимое, которое вы хотите в Блок модели маскированный.

    2. В Редакторе Маски для нового Блока модели вставьте содержимое подсистемы маскированное.

Представленный в R2006a

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