Настройтесь и экспериментируйте с блочными значениями параметров

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

Можно изменить значения большинства числовых блочных параметров во время моделирования. Чтобы наблюдать эффекты, можно визуализировать моделирование вывод в режиме реального времени. Этот метод позволяет вам быстро тестировать значения параметров, в то время как вы разрабатываете алгоритм. Вы можете визуально:

  • Настройте и оптимизируйте параметры управления.

  • Калибруйте параметры модели.

  • Протестируйте робастность управления при различных условиях.

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

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

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

Для основной информации о доступе и установке блочных значений параметров, смотрите Блочные Значения параметров Набора.

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

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

Модель в качестве примера sldemo_fuelsys представляет систему заправки бензинового двигателя. Подсистема в модели, feedforward_fuel_rate, вычисляет спрос на топливо механизма при помощи постоянного номера 14.6, который представляет идеальное (стехиометрическое) отношение воздуха, чтобы питать это, механизм использует. Два блока в подсистеме используют номер, чтобы установить значения параметров.

Предположим, что вы хотите изменить расчетное значение идеального отношения воздуха к топливу от 14.6 до 17.5, чтобы наблюдать эффект на спрос на топливо. Чтобы сохранить расчетное значение в модели, можно изменить значение в блочных диалоговых окнах. Также можно сохранить значение в переменной с понятным именем, которое позволяет вам снова использовать значение в двух блоках.

Наблюдать изменение в моделировании выходные параметры путем изменения значения в блочных диалоговых окнах:

  1. Откройте модель в качестве примера.

    sldemo_fuelsys

  2. Установите образцовое время симуляции от 2000 до 50 для более быстрого моделирования.

  3. В модели откройте блочное Scope диалоговое окно.

  4. Моделируйте модель. Измените размер окна в диалоговом окне Scope, чтобы видеть все результаты симуляции.

    Отображение осциллографа показывает, что в течение моделирования, сигнал fuel колеблется между приблизительно 0.9 и 1.6. Сигнал air_fuel_ratio быстро поднимается на 15 без проскакивания.

  5. В модели откройте Редактор Данных модели путем выбора View> Model Data Editor. В Редакторе Данных модели осмотрите вкладку Parameters.

  6. В модели или в командной строке, перейдите к целевой подсистеме.

    open_system(...
        'sldemo_fuelsys/fuel_rate_control/fuel_calc/feedforward_fuel_rate')

  7. В Редакторе Данных модели используйте Столбец значений, чтобы изменить Постоянное значение (Value), параметр блока Constant маркировал rich from 1/(14.6*0.8) to 1/(17.5*0.8).

  8. Точно так же изменитесь, параметр Постоянного значения блока маркировал normal from 1/14.6 to 1/17.5.

  9. Моделируйте модель.

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

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

  1. Используйте Редактор Данных модели, чтобы установить значение блока normal Constant к 1/mixture.

  2. Установите значение блока rich к 1/(mixture*0.8).

  3. В то время как редактирование значения rich, следующего за 1/(mixture*0.8), кликает по кнопке действий и выбирает Create.

  4. В диалоговом окне Create New Data, установленном Значении к 17.5 и нажимают Create.

    Числовая переменная mixture появляется в базовом рабочем пространстве со значением 17.5. Между выполнениями моделирования можно изменить значение mixture в базовом рабочем пространстве вместо того, чтобы изменить значения параметров в блочных диалоговых окнах.

Настройте блочное значение параметров во время моделирования

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

sldemo_fuelsys модели в качестве примера содержит блок Constant, Throttle Command, который представляет команду дросселя. Наблюдать эффект увеличения значения команды во время моделирования:

  1. Откройте модель в качестве примера.

    sldemo_fuelsys

  2. В модели откройте блочное Scope диалоговое окно.

  3. Начните моделирование.

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

  4. В модели, когда строка состояния указывает приблизительно на 1000 (1 000 секунд), нажимают кнопку Pause, чтобы приостановить моделирование.

  5. В отображении осциллографа топливный график строит график моделирования вывод до времени паузы.

  6. В модели выберите View> Model Data Editor.

  7. В Редакторе Данных модели выберите вкладку Parameters.

  8. В модели выберите блок Throttle Command.

  9. В Редакторе Данных модели выберите строку rep_seq_y. Убедитесь, что вы не выбираете строку rep_seq_t также.

  10. Для строки rep_seq_y измените значение в Столбце значений от [10 20 10] до [10 30 10].

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

    График fuel сигнала показывает резкое увеличение в спросе на топливо, который соответствует увеличенной команде дросселя.

  12. В модели возобновите моделирование путем нажатия кнопки Continue.

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

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

Подготовьтесь к настройке параметра и экспериментированию

  • Используйте переменные рабочей области, чтобы установить блочные значения параметров.

    Чтобы получить доступ к значению блочного параметра, такого как параметр Постоянного значения блока Constant, необходимо перейти к блоку в модели и открыть блочное диалоговое окно, искать блок при помощи Образцового Проводника или использовать функциональный set_param в командной строке.

    Также, если вы устанавливаете блочное значение параметров путем создания переменной рабочей области, можно изменить значение переменной при помощи командной строки, браузера MATLAB® Workspace или Образцового Проводника. Можно также создать переменную, чтобы установить то же значение для нескольких блочных параметров. Когда вы изменяете значение переменных, все целевые блочные параметры используют новое значение. Для получения дополнительной информации о доступе и установке блочных значений параметров, смотрите Блочные Значения параметров Набора.

  • Визуализируйте моделирование вывод.

    Чтобы наблюдать моделирование вывод в режиме реального времени, в то время как вы настраиваете блочные значения параметров, можно использовать блоки в модели, такие как блок Scope. Можно также получить моделирование вывод в конце моделирования, запущенного, и просмотреть данные в Моделировании Data Inspector. Для получения дополнительной информации смотрите, Решают, Как Визуализировать Данные Моделирования.

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

    Если вы ожидаете, что другой человек будет использовать вашу модель и настраивать параметр, можно управлять позволенными настраивающими значениями путем определения области значений. Кроме того, это - лучшая практика задать диапазоны значений для всех блочных параметров фиксированной точки, которые вы ожидаете настраивать. Чтобы задать блочные области значений значения параметров, смотрите, Задают Минимальные и Максимальные значения для Блочных Параметров.

  • Управляйте длительностью моделирования и темпом.

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

В интерактивном режиме настройтесь Используя блоки инструментальной панели

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

Которые блокируются, параметры являются настраиваемыми во время моделирования?

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

Ненастраиваемые блочные параметры включают:

  • Частоты дискретизации.

  • Параметры, которые управляют внешним видом или структурой блока, такого как количество входных параметров блока Sum.

  • Приоритет, который позволяет вам порядку выполнения блока управления.

  • Параметры, которые управляют блочным алгоритмом, таким как параметр метода Интегратора блока Discrete-Time Integrator.

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

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

  • В командной строке определите, описывают ли флаги read-write и read-only-if-compiled параметр.

    1. Выберите блок в модели.

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

      paramInfo = get_param(gcb,'DialogParameters');

      Также вместо того, чтобы расположиться и выбрать блок в модели, можно заменить gcb на блок path, такой как 'myModel/mySubsystem/myBlock'.

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

      paramInfo.SampleTime
      ans = 
      
              Prompt: 'Sample time:'
                Type: 'string'
                Enum: {}
          Attributes: {'read-write'  'read-only-if-compiled'  'dont-eval'}

    4. Осмотрите поле Attributes структуры, значение которого является массивом ячеек из символьных векторов. Если флаг read-write появляется в массиве ячеек, можно изменить значение параметров. Однако, если флаг read-only-if-compiled также появляется в массиве ячеек, вы не можете изменить значение параметров во время моделирования.

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

Почему сделал моделирование, Вывод остается то же самое?

Если вывод вашего моделирования не изменяется после того, как вы изменяете значение параметров, используйте эти методы поиска и устранения неисправностей:

  • Найдите определение переменной рабочей области.

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

    Чтобы определить местоположение определения переменной, при редактировании значения блочного параметра, который использует переменную, кликают по соседней кнопке действий и выбирают Explore. Диалоговое окно открывается, такие как Образцовый Проводник, который отображает определение переменной в соответствующей рабочей области. Для получения дополнительной информации о том, как модели используют переменные, смотрите Разрешение Символа.

  • Задайте диапазоны значений для параметров фиксированной точки, которые вы хотите настроить во время моделирования.

    Если блочный параметр, который вы хотите настроить, использует тип данных фиксированной точки с масштабированием лучшей точности, задайте минимальное и максимальное значение для параметра так, чтобы Simulink мог вычислить и применить соответствующее масштабирование. Если вы не задаете диапазон значений, Simulink может применить масштабирование, которое исключает настраивающиеся значения, которые вы хотите использовать. Чтобы задать диапазоны значений, смотрите, Задают Минимальные и Максимальные значения для Блочных Параметров.

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

    Чтобы изучить, как обновить образцовую схему, смотрите Моделирование Схемы и Выполнения Обновления.

Факторы приспособляемости и ограничения для других целей моделирования

Модели, на которые ссылаются,

Когда вы используете Блоки модели, эти ограничения приспособляемости параметра применяются:

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

  • Предположим, что вы используете объект переменная MATLAB или Simulink.Parameter в рабочем пространстве модели, чтобы установить значение блочного параметра в модели. При использовании Блок модели, чтобы относиться к этой модели:

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

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

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

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

Акселератор и Моделирования SIL/PIL

Эти ограничения приспособляемости применяются к акселератору, быстрому акселератору, SIL и моделированиям PIL:

  • Предположим, что вы используете объект переменная MATLAB или Simulink.Parameter в рабочем пространстве модели, чтобы установить значение блочного параметра в модели. При использовании функцию sim, чтобы моделировать модель в быстром режиме Accelerator и установить аргумент пары RapidAcceleratorUpToDateCheck на 'off', вы не можете использовать аргумент пары RapidAcceleratorParameterSets, чтобы задать различные значения для переменной или объекта. Структура, возвращенная Simulink.BlockDiagram.buildRapidAcceleratorTarget, не содержит информацию о переменной или объекте.

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

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

Для получения дополнительной информации о приспособляемости параметра во время ускоренных моделирований, смотрите Настраивающиеся Параметры периода выполнения и sim в parfor с Быстрым Режимом Accelerator. Для получения дополнительной информации о приспособляемости параметра во время SIL и моделирований PIL, смотрите Настраиваемые параметры и SIL/PIL (Embedded Coder).

Быстрый перезапуск

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

Генерация кода и моделирование внешних программ

Параметры, которые являются настраиваемыми во время моделирования, могут появиться как ненастраиваемые встроенные параметры в сгенерированном коде. Если вы моделируете внешнюю программу при помощи СИЛА, PIL или моделирования Режима external mode, приспособляемость параметра во время моделирования и между выполнениями моделирования может зависеть от ваших настроек генерации кода.

Чтобы управлять приспособляемостью параметра в сгенерированном коде, можно настроить настройки генерации кода для модели при помощи поведения параметра Значения по умолчанию параметра конфигурации. Можно также настроить настройки для отдельных переменных MATLAB, объектов Simulink.Parameter и других объектов параметра. Для получения дополнительной информации смотрите, Конфигурируют Доступность Данных для Быстрого прототипирования (Simulink Coder).

Диаграммы Stateflow

Чтобы отладить диаграмму Stateflow путем изменения данных во время моделирования, смотрите Значения данных Изменения Во время Моделирования (Stateflow).

Смотрите также

Похожие темы

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