Уменьшите модели, содержащие различные блоки

Примечание

Вы требуете, чтобы лицензия Simulink® Design Verifier™ уменьшила вашу модель.

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

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

Рассмотрите образцовый Различный Редуктор. Модель содержит Различный Исходный блок, блок Variant Sink и блок Variant Subsystem с этим различным выбором:

  • Различный источник: V==1 и V==2

  • Различный приемник: W==1, W==2 и W==3

  • Различная подсистема: V==1 и V==2

Примите, что модель имеет две предопределенных различных настройки, названные config1 (V==1 && W==2) и config2 (V==2 && W==2). Эти настройки сохранены в различном объекте данных конфигурации, varConfig.

Чтобы уменьшить модель, выполните следующие шаги:

  1. Щелкните правой кнопкой по различному значку и выберите Open in Variant Manager. Различный менеджер открывает отображение предопределенных настроек.

  2. Нажмите модель Reduce. Диалоговое окно Variant Reducer открывается.

  3. В разделе режима Reduction выберите:

    • Текущие различные значения управления: уменьшать основанное на модели на его различных значениях контрольной переменной в глобальной рабочей области.

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

      Примечание

      Во время сокращения значения контрольной переменной от последней выбранной настройки сохранены в глобальной рабочей области.

    • Задайте различные значения управления: уменьшать основанное на модели на различных значениях контрольной переменной. Можно создать несколько переменных групп, соответствующих различным настройкам. Нажмите New variable group, чтобы установить значения для различных контрольных переменных. Можно или задать различное значение управления или выбрать Full-range или Ignored из выпадающего списка. При определении различного значения управления, когда вектор также позволяет вам уменьшать модель для всех комбинаций той переменной. Например, если вы задаете значения V = 1 и W = [1,2], затем модель уменьшается для настроек {V==1, W==1} и {V==1, W==2}. Если вы выбираете Full-range как различное значение управления, Ссылочный Столбец значений активируется, чтобы ввести ссылочное значение, требуемое для успешной образцовой компиляции. Модель уменьшается для всех допустимых значений заданной различной контрольной переменной. Если вы выбираете Ignored как различное значение управления, то та различная контрольная переменная не рассматривается при сокращении модели.

      Примечание

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

  4. Выберите атрибуты сигнала Preserve, чтобы сохранить скомпилированные атрибуты сигнала между исходной и упрощенной моделью. Когда эта опция выбрана, Различный Редуктор пытается сохранить скомпилированные атрибуты сигнала между исходными и упрощенными моделями путем добавления блоков спецификации сигнала в соответствующих блочных портах в упрощенной модели. Скомпилированные атрибуты сигнала включают типы данных сигнала, размерности сигнала, скомпилированные частоты дискретизации, и так далее.

  5. Выберите подробные сводные данные Generate, чтобы сгенерировать Различные сводные данные Редуктора в выходной папке. Различные сводные данные Редуктора содержат сводные данные Различных Опций Редуктора, Различий в Исходной и Упрощенной модели, Зависимых Артефактов, Обратных вызовов и Предупреждений.

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

    Примечание

    Чтобы сгенерировать подробные сводные данные, у вас должна быть лицензия Simulink Report Generator.

  6. Задайте значение как суффикс в Образцовом суффиксном поле. Суффиксное значение модели добавлено к упрощенным моделям и связанным артефактам. По умолчанию _r является суффиксом.

  7. Задайте выходную папку, чтобы сохранить упрощенную модель.

    Примечание

    Выбор Открытого флажка упрощенной модели изменяет текущую рабочую папку на выходную папку.

  8. Нажмите Reduce. Упрощенная модель для необходимых настроек теперь создается. Если модель содержит разрешенные ссылки библиотеки или модели, на которые ссылаются, соответствующий родительский элемент уменьшается для заданной настройки и ссылается в модели. Упрощенная модель, уменьшенная модель, на которую ссылаются и уменьшенная библиотека получают их имена от соответствующей модели, модели, на которую ссылаются или библиотеки с _r (Образцовый суффикс) добавленный к нему.

Рассмотрите Различную модель, которая содержит Функциональный блок Simulink с Различным условием на Функциональном блоке Simulink как V==1 || V==2 || V==3 || V==4. Если модель уменьшается для кого-либо или комбинации доступных Различных условий, Функциональный блок Simulink в упрощенной модели является безусловным. Например, если модель уменьшается для Различного условия, V=1, V=2, and V=3, Функциональный блок Simulink в упрощенной модели является безусловным. Принимая во внимание, что, если модель уменьшается для Различного условия, V=1, V=2, and V=5, Функциональный блок Simulink в упрощенной модели остается условным с V==1 || V==2 как Различное условие.

Уменьшите модель программно

Чтобы уменьшить модель программно, используйте синтаксис:

Simulink.VariantManager.reduceModel(model,<Name>,<Value>)

Например,

  • Уменьшать основанное на модели на его различных значениях контрольной переменной в глобальной рабочей области.

    Simulink.VariantManager.reduceModel('sldemo_variant_subsystems')
  • Уменьшать основанное на модели на его различных значениях контрольной переменной в глобальной рабочей области к заданной папке.

    Simulink.VariantManager.reduceModel('sldemo_variant_subsystems', 'OutputFolder', 'outdir')
  • Уменьшать модель, которая сопоставлена с различным объектом данных конфигурации и настройками, которые будут сохранены в упрощенной модели.

    Simulink.VariantManager.reduceModel('sldemo_variant_subsystems','NamedConfigurations', {'LinInterStd','NonLinExterHighFid'})
  • Уменьшать модель путем определения настроек в форме структуры различных контрольных переменных.

    Simulink.VariantManager.reduceModel('iv_model', 'VariableConfigurations', {'V',1,'W',[1 2]})

    Здесь, две настройки заданы, соответствуя {V=1, W=1} и {V=1, W=2}, соответственно.

  • Чтобы уменьшить модель путем определения варианта управляют значениями, где 'w' является полнофункциональным значением управления вариантом.

    Simulink.VariantManager.reduceModel('slexVariantReducer','VariableConfigurations',{'V',1},'FullRangeVariables',{'W',1});

    Здесь, четыре настройки вычисляются, соответствуя {V==1, W==1}, {V==1, W==2}, {V==1, W==3} and {V==1, W==0} соответственно.

Для получения дополнительной информации о сокращении модели программно, смотрите reduceModel.

Факторы и ограничения

  • Выходная папка, чтобы сохранить упрощенную модель не должна находиться под matlabroot.

  • Если модель имеет зависимости от файлов, которые расположены под matlabroot, эти файлы не изменяются или копируются в выходную папку во время образцового сокращения. Зависимость от файла может включать файлы от Библиотек Simulink, файлы .m, файлы .mat, файлы .sldd.

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

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

  • Дополнительные блоки добавляются автоматически к упрощенной модели, чтобы гарантировать сопоставимую семантику моделирования. Дополнительные блоки могут включать блоки Спецификации Сигнала для сопоставимых атрибутов сигнала (тип данных, размерности, сложность) или Земля и блоки Терминатора для несвязанных сигналов.

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

Связанные примеры

Больше о

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