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

Можно использовать инструмент Model Transformer, чтобы улучшить образцовую компонентизацию, заменяя квалифицирующий моделирование шаблонов с Различным Источником и Различной Подсистемой, Различными блоками Model. Образцовый Преобразователь сообщает о шаблонах моделирования квалификации. Вы выбираете, который моделирование копирует замены инструмента Различным Исходным блоком или Различным блоком Subsystem.

Образцовый Преобразователь может выполнить эти преобразования:

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

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

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

  • Если блок Switch Case соединяется с Подсистемой Действия Случая Переключателя, которая не имеет выходного порта или имеет два или больше выходных порта, замените этот шаблон моделирования на Различный блок Subsystem.

  • Замените блок switch на Различный Исходный блок.

  • Замените Многопортовый блок switch, который имеет два или больше порта данных с Различным Исходным блоком.

Для инструмента Model Transformer, чтобы выполнить преобразование, вход управления к Многопортовому Переключателю или блокам switch и входные параметры к тому, Если или Случай Переключателя блоки должны иметь любой следующее:

  • Блок Constant, в котором параметр Constant value является объектом Simulink.Parameter скалярного типа.

  • Постоянные блоки, в которых параметры Constant value являются объектами Simulink.Parameter скалярного типа и некоторой другой комбинацией блоков, которые формируют поддерживаемое выражение MATLAB. Выражения MATLAB в Операторах и Операнды в Различных Выражениях условия (Simulink) поддерживаются за исключением битовых операций.

Модель в качестве примера

Этот пример показывает, как использовать Образцовый Преобразователь, чтобы преобразовать модель в вариантную систему. Пример использует модель rtwdemo_controlflow_opt. Эта модель имеет три блока switch. Входом управления к этим блокам switch является cond Simulink.Parameter. Диалоговое окно Model Transformer и этот пример называют cond постоянной системой.

  1. Откройте модель. В Командном окне введите rtwdemo_controlflow_opt.

  2. Откройте диалоговое окно Switch1 Block Parameters. Измените параметр Threshold на 0. Параметр Threshold должен быть целым числом, потому что после различного преобразования это - часть выражения условия в Различном Исходном блоке.

  3. Повторите шаг 2 для блоков switch Switch1, Switch2 и Switch3.

  4. Сохраните модель в свою рабочую папку.

Выполните вариант, преобразовывают на модели в качестве примера

  1. От Редактора моделей откройте Образцовый Преобразователь путем выбора Analysis> Refactor Model> Model Transformer. Или в Командном окне введите:
    mdltransformer('rtwdemo_controlflow_opt')

  2. Выберите Преобразование проверки модель к вариантной системе.

  3. В поле Specify system constant cell array можно задать массив ячеек из символьных векторов, состоящий из Simulink.Parameters. Базовое рабочее пространство должно содержать их определения.

  4. В поле Prefix of transformed model name задайте префикс для имени модели. Если вы не задаете префикс, значением по умолчанию является gen0.

  5. Выберите Run This Check. Образцовый Преобразователь перечисляет системные константы и блоки, которые квалифицируют, чтобы быть частью выражений условия в Различном Источнике или Различных блоках Subsystem. Для Образцового Преобразователя, чтобы перечислить постоянную систему, это должен быть объект Simulink.Parameter скалярного типа. В данном примере Cond квалифицирует к части выражения условия.

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

  7. Выберите Refactor Model. Образцовый Преобразователь обеспечивает гиперссылку на преобразованную модель и гиперссылки на соответствующие блоки в исходной модели и преобразованной модели.

    Преобразованная модель или модели находятся в папке, которая имеет префиксный m2m плюс исходное имя модели. В данном примере именем папки является m2m_rtwdemo_controlflow_opt.

  8. В исходной модели rtwdemo_controlflow_opt щелкните правой кнопкой по одному из блоков switch. В меню выберите Model Transformer> Traceability to Transformed Block. В преобразованной модели gen0_rtwdemo_controlflow_opt подсвечен соответствующий Различный Исходный блок.

  9. В преобразованной модели gen0_rtwdemo_controlflow_opt щелкните правой кнопкой по одному из блоков switch. В меню выберите Model Transformer> Traceability to Original Block. В исходной модели rtwdemo_controlflow_opt подсвечен соответствующий блок switch.

Ограничения преобразования моделей

Инструмент Model Transformer имеет эти ограничения:

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

  • Если, Если блок Subsystem Действия управляет блоком Merge, и блок Merge имеет другой импорт, который или не связан или управляется другой условной подсистемой, Образцовый Преобразователь не добавляет Различный Исходный блок. Этот шаблон моделирования производит предупреждение и исключенное сообщение кандидата.

  • Образцовый Преобразователь не может выполнить различное преобразование для каждого шаблона моделирования. Этот список содержит некоторые исключения:

    • Модель содержит защищенный блок модели - ссылки.

    • Модель содержит Различный Исходный блок с набором параметра Analyze all choices during update diagram and generate preprocessor conditionals к off.

  • После того, как вы запускаете одну или несколько задач, вы не можете повторно выполнить задачи, потому что кнопки Run this Task и Run All деактивированы. Если вы хотите повторно выполнить задачу, сбросьте Образцовый Преобразователь путем щелчка правой кнопкой по Model Transformer и выбора Reset.

  • Не изменяйте модель посреди преобразования. Если вы хотите изменить модель, закрыть Model Transformer, изменить модель, и затем вновь открыть Model Transformer.

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

Похожие темы

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