При построении модели можно экспериментировать с параметрами блока, такими как коэффициенты блока Transfer Fcn, чтобы определить, какие блоки использовать. Можно моделировать модель с различными значениями параметров, а также фиксировать и наблюдать результаты моделирования.
Во время моделирования можно изменить значения большинства числовых параметров блока. Для наблюдения за эффектами можно визуализировать результаты моделирования в реальном времени. Этот метод позволяет быстро тестировать значения параметров при разработке алгоритма. Визуально можно:
Настройка и оптимизация параметров управления.
Калибровка параметров модели.
Проверка надежности контроля в различных условиях.
При начале моделирования Simulink ® сначала обновляет схему модели. Эта операция может занять время для более крупных моделей. Чтобы проверить значения параметров без повторного обновления диаграммы модели, можно настроить значения параметров во время одного прогона моделирования.
Кроме того, чтобы избежать обновления схемы модели, используйте функцию быстрого перезапуска. Дополнительные сведения о быстрой перезагрузке см. в разделе Начало работы с быстрой перезагрузкой.
Если визуальный анализ выходных данных моделирования невозможен в режиме реального времени или необходимо выполнить несколько моделирований, рассмотрите возможность использования программного подхода для сдвига значений параметров. Можно захватить выходные данные моделирования и выполнить анализ позже. Дополнительные сведения см. в разделах «Оптимизация», «Оценка» и «Значения параметров блока сдвига».
Основные сведения о доступе и настройке значений параметров блока см. в разделе Установка значений параметров блока.
В этом примере показано, как прообразировать модель путем изменения значений параметров блока между прогонами моделирования. Можно экспериментировать со значениями параметров и наблюдать за результатами моделирования, чтобы определить, какие блоки использовать и как создавать модель.
Пример модели sldemo_fuelsys представляет собой систему заправки бензинового двигателя. Подсистема в модели, feedforward_fuel_rate, вычисляет потребность двигателя в топливе, используя постоянное число 14.6, который представляет идеальное (стехиометрическое) отношение воздуха к топливу, которое потребляет двигатель. Два блока в подсистеме используют число для установки значений параметров.
Предположим, что требуется изменить расчетное значение идеального соотношения «воздух-топливо» с 14.6 кому 17.5 для наблюдения за влиянием на потребность в топливе. Чтобы сохранить проектное значение в модели, можно изменить его в диалоговых окнах блоков. Можно также сохранить значение в переменной со значимым именем, что позволяет повторно использовать значение в двух блоках.
Для наблюдения за изменением выходных данных моделирования путем изменения значения в диалоговых окнах блока:
Откройте пример модели.
sldemo_fuelsys
Установка времени моделирования модели с 2000 кому 50 для более быстрого моделирования.
В модели откройте диалоговое окно Блок области (Scope block).

Моделирование модели. Измените размер окна в диалоговом окне Область (Scope), чтобы увидеть все результаты моделирования.
Отображение области показывает, что на протяжении всего моделирования fuel сигнал колеблется приблизительно между 0.9 и 1.6. air_fuel_ratio сигнал быстро поднимается до 15 без перестрелки.
В модели откройте Редактор данных модели (Model Data Editor). На вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor). В Редакторе данных модели (Model Data Editor) проверьте вкладку Параметры (Parameters).
В модели или в командной строке перейдите к целевой подсистеме.
open_system(... 'sldemo_fuelsys/fuel_rate_control/fuel_calc/feedforward_fuel_rate')
В редакторе данных модели используйте столбец «Значение» для изменения значения константы (Value) параметра блока «Константа» с меткой rich от 1/(14.6*0.8) кому 1/(17.5*0.8).
Аналогично, измените параметр «Постоянное значение» для блока с меткой normal от 1/14.6 кому 1/17.5.
Моделирование модели.
Отображение объема показывает, что сигналы теперь реагируют по-разному.
Чтобы заменить литеральные значения в диалоговых окнах блока числовой переменной:
Используйте Редактор данных модели (Model Data Editor), чтобы задать значение normal
Постоянный блок в 1/mixture.
Установка значения rich блок в 1/(mixture*0.8).
При редактировании rich значение, рядом с 1/(mixture*0.8)нажмите кнопку действия
и выберите Создать.
В диалоговом окне «Создание новых данных» задайте для параметра «Значение» значение 17.5 и нажмите кнопку «Создать».
Числовая переменная mixture появляется в базовой рабочей области со значением 17.5. Между прогонами моделирования можно изменить значение mixture в базовом рабочем пространстве вместо изменения значений параметров в диалоговых окнах блоков.
В этом примере показано, как наблюдать эффект изменения значения параметра блока во время моделирования. Этот метод позволяет избежать обновления диаграммы модели между запусками моделирования и интерактивно протестировать и отладить модель.
Пример модели sldemo_fuelsys содержит блок константы, Throttle Command, что представляет собой команду дросселя. Для наблюдения за эффектом увеличения величины команды во время моделирования:
Откройте пример модели.
sldemo_fuelsys
В модели откройте диалоговое окно Блок области (Scope block).

Начните моделирование.
Модель настроена на имитацию 2000 секунд. Во время моделирования значения fuel и air_fuel_ratio сигналы появляются на графике области действия в реальном времени.
В модели, когда строка состояния указывает приблизительно 1000 (1000 секунд), нажмите кнопку «Пауза
» для приостановки моделирования.
В отображении объема топливный график отображает выходные данные моделирования до времени паузы.
В модели на вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor).
В Редакторе данных модели (Model Data Editor) выберите вкладку Параметры (Parameters).
В модели выберите Throttle Command блок.
В редакторе данных модели выберите rep_seq_y строка. Убедитесь, что вы не выбрали rep_seq_t также ряд.
Для rep_seq_y измените значение в столбце «Значение» с [10 20 10] кому [10 30 10].
Нажмите кнопку Step Forward (шаг вперед
) для пошагового продвижения моделирования. Нажмите кнопку около 15 раз или до тех пор, пока не увидите изменения в графике топлива на экране области.
График сигнала fuel указывает на резкое увеличение потребности в топливе, что соответствует увеличенной команде дроссельной заслонки.
В модели возобновите моделирование, нажав кнопку Продолжить (Continue).![]()
Отображение объема показывает значительное периодическое увеличение потребности в топливе и периодическое снижение соотношения воздуха и топлива на протяжении всей остальной части моделирования.
Во время моделирования необходимо обновить схему модели после изменения значения переменной рабочей области. Дополнительные сведения об обновлении схемы модели см. в разделах Обновить схему и Выполнить моделирование.
Переменные рабочей области используются для задания значений параметров блока.
Чтобы получить доступ к значению параметра блока, например к параметру Константа (Constant value) блока Константа (Constant), необходимо перейти к блоку в модели и открыть диалоговое окно блока, выполнить поиск блока с помощью Обозревателя моделей (Model Explorer) или использовать функцию set_param в командной строке.
Кроме того, если значение параметра блока задается путем создания переменной рабочего пространства, можно изменить значение переменной с помощью командной строки, браузера рабочего пространства MATLAB ® или обозревателя модели. Можно также создать переменную, чтобы задать одно и то же значение для нескольких параметров блока. При изменении значения переменной все параметры целевого блока используют новое значение. Дополнительные сведения о доступе и настройке значений параметров блока см. в разделе Задание значений параметров блока.
Визуализация выходных данных моделирования.
Для наблюдения за результатами моделирования в реальном времени при настройке значений параметров блока можно использовать блоки в модели, например блок «Область». Можно также записать выходные данные моделирования в конце прогона моделирования и просмотреть данные в инспекторе данных моделирования. Дополнительные сведения см. в разделе Решение о том, как визуализировать данные моделирования.
Укажите диапазоны значений параметров блока, которые предполагается настроить во время моделирования.
Если предполагается, что другой пользователь будет использовать модель и настраивать параметр, можно управлять разрешенными значениями настройки, указав диапазон. Кроме того, рекомендуется задавать диапазоны значений для всех параметров блока с фиксированной точкой, которые требуется настроить. Чтобы задать диапазоны значений параметров блока, см. раздел Задание минимальных и максимальных значений параметров блока.
Управление продолжительностью и темпом моделирования.
Прогон моделирования может выполняться так быстро, что невозможно настроить значения параметров блока. Кроме того, если требуется изменить значение параметра в определенное время моделирования, необходимо научиться управлять темпами моделирования. Можно настроить моделирование так, чтобы оно выполнялось в течение определенного периода времени или выполнялось вечно, а также приостановить и продвинуть моделирование при необходимости. Дополнительные сведения см. в разделах Интерактивное моделирование модели и Программное выполнение моделирования.
Значения параметров блока можно настроить, добавив в модель блоки из библиотеки инструментальной панели. Блоки приборной панели позволяют регулировать значения параметров других блоков и наблюдать вывод моделирования в реальном времени, взаимодействуя с ручками, переключателями и считываниями, имитирующими внешний вид промышленных элементов управления. Можно взаимодействовать с блоками панели управления, не располагая параметры целевого блока в модели. Дополнительные сведения см. в разделе Настройка и визуализация модели с помощью блоков панели мониторинга.
Неперестраиваемые параметры блока - это параметры, значения которых невозможно изменить во время моделирования. Например, невозможно настроить параметр Sample time block. Если параметр не настраивается, его значение нельзя изменить во время моделирования путем изменения значения в диалоговом окне блока или путем изменения значения переменной рабочей области.
К неперестраиваемым параметрам блока относятся:
Время выборки.
Параметры, управляющие внешним видом или структурой блока, например, количество входов блока Sum.
Приоритет, позволяющий управлять порядком выполнения блокировки.
Параметры, управляющие алгоритмом блока, такие как параметр метода Integrator блока дискретно-временного интегратора.
Чтобы определить, можно ли настроить параметр блока во время моделирования, используйте один из следующих методов.
Начните моделирование и откройте диалоговое окно блока. Если параметр целевого блока имеет серый цвет во время моделирования, настройка параметра невозможна.
В командной строке определите, будут ли флаги read-write и read-only-if-compiled опишите параметр.
Выберите блок в модели.
В командной строке используйте функцию get_param для возврата информации о параметрах диалогового окна блока. Функция возвращает структуру, имеющую поле для каждого параметра в диалоговом окне блока.
paramInfo = get_param(gcb,'DialogParameters');Вместо определения местоположения и выбора блока в модели можно заменить gcb с контуром блока, например 'myModel/mySubsystem/myBlock'.
Просмотрите информацию о параметре целевого блока. Например, чтобы просмотреть информацию о параметре Sample time блока, просмотрите значение поля SampleTime, которая также является структурой.
paramInfo.SampleTime
ans =
Prompt: 'Sample time:'
Type: 'string'
Enum: {}
Attributes: {'read-write' 'read-only-if-compiled' 'dont-eval'}Осмотреть конструкцию Attributes поле, значение которого является массивом ячеек символьных векторов. Если флаг read-write появляется в массиве ячеек, можно изменить значение параметра. Однако, если флаг read-only-if-compiled также появляется в массиве ячеек, изменить значение параметра во время моделирования невозможно.
При использовании масок для создания пользовательских интерфейсов для блоков и подсистем можно управлять настраиваемостью отдельных параметров маски. При использовании аргументов модели для параметризации ссылочных моделей можно настроить значение каждого аргумента модели в каждом блоке модели.
Если выходные данные моделирования не изменяются после изменения значения параметра, используйте следующие методы устранения неполадок:
Найдите определение переменной рабочей области.
Если для задания значений параметров блока используется переменная рабочего пространства, определите, где находится определение переменной. Например, при определении переменной myVar в рабочем пространстве модели и использовать его для задания значения параметра блока в модели, нельзя изменить значение параметра, изменив значение переменной с именем myVar в базовом рабочем пространстве. Необходимо получить доступ к определению переменной в рабочей области модели.
Чтобы найти определение переменной, при редактировании значения параметра блока, использующего переменную, нажмите расположенную рядом кнопку действия
и выберите «Исследовать». Откроется диалоговое окно, например Обозреватель моделей (Model Explorer), в котором будет отображено определение переменной в соответствующей рабочей области. Дополнительные сведения об использовании переменных моделями см. в разделе Разрешение символов.
Укажите диапазоны значений для параметров с фиксированной точкой, которые необходимо настроить во время моделирования.
Если параметр блока, который требуется настроить, использует тип данных с фиксированной точкой с масштабированием с наилучшей точностью, укажите минимальное и максимальное значения для параметра, чтобы Simulink мог рассчитать и применить соответствующее масштабирование. Если диапазон значений не задан, Simulink может применить масштабирование, исключающее значения настройки, которые необходимо использовать. Чтобы задать диапазоны значений, см. раздел Задание минимальных и максимальных значений для параметров блока.
Обновите схему модели во время прогона моделирования. Если переменная рабочей области используется для задания значения одного или нескольких параметров блока, после изменения значения переменной во время моделирования необходимо обновить схему модели.
Сведения об обновлении схемы модели см. в разделах Обновление схемы и Выполнение моделирования.
При использовании блоков модели применяются следующие ограничения настройки параметров:
При установке режима моделирования блока модели в ускоренный режим или при моделировании родительской модели в ускоренном режиме невозможно настроить параметры блока в ссылочной модели во время моделирования. Однако если ссылочная модель использует переменные в базовой рабочей области или словаре данных для задания значений параметров, можно настроить значения переменных.
Предположим, используется переменная MATLAB или Simulink.Parameter в рабочей области модели для задания значения параметра блока в модели. При использовании блока модели для ссылки на эту модель:
При установке режима моделирования блока модели в ускоренный режим или при моделировании родительской модели в ускоренном режиме изменить значение переменной или объекта во время моделирования невозможно.
При моделировании родительской модели в ускоренном режиме изменение значения переменной или объекта между запусками моделирования приводит к регенерации кода Simulink.
Дополнительные блоки модели используются для многократного обращения к модели в родительской модели. Для каждого блока модели можно выбрать другой режим моделирования. Если хотя бы один блок использует обычный режим моделирования, а любой другой блок использует другой режим моделирования, изменение значения переменной или объекта во время моделирования невозможно. Кроме того, при моделировании родительской модели с включенным быстрым перезапуском нельзя изменить значение переменной или объекта между запусками моделирования быстрого перезапуска.
В качестве обходного решения переместите переменную или объект в базовую рабочую область или словарь данных.
Эти ограничения настройки применимы к моделированию акселератора, быстрого акселератора, SIL и PIL:
Предположим, используется переменная MATLAB или Simulink.Parameter в рабочей области модели для задания значения параметра блока в модели. Если вы используете sim для моделирования модели в режиме быстрого ускорения и установки RapidAcceleratorUpToDateCheck аргумент пары к 'off', вы не можете использовать RapidAcceleratorParameterSets пара аргументов для указания различных значений переменной или объекта. Структура, возвращенная Simulink.BlockDiagram.buildRapidAcceleratorTarget не содержит сведений о переменной или объекте.
Если значение параметра блока ссылается на переменные рабочего пространства, невозможно изменить значение параметра блока во время быстрого моделирования ускорителя, например, с помощью функции set_param. Вместо этого можно настроить значения ссылочных переменных.
Кроме того, используйте наборы параметров для настройки параметров среды выполнения между быстрыми моделированиями ускорителей. Дополнительные сведения см. в разделе Настройка параметров среды выполнения.
Дополнительные сведения о настройке параметров во время ускоренного моделирования см. в разделе Настройка параметров среды выполнения и SIM в разделе для режима ускоренного ускорения. Дополнительные сведения о настройке параметров во время моделирования SIL и PIL см. в разделах Настраиваемые параметры и SIL/PIL (встроенный кодер).
Дополнительные сведения о настройке параметров при использовании функции быстрого перезапуска см. в разделе Начало работы с функцией быстрого перезапуска.
Параметры, которые можно настроить во время моделирования, могут отображаться в генерируемом коде как не настраиваемые встроенные параметры. При моделировании внешней программы с использованием моделирования SIL, PIL или внешнего режима настраиваемость параметров во время моделирования и между запусками моделирования может зависеть от настроек генерации кода.
Чтобы управлять настраиваемостью параметров в сгенерированном коде, можно настроить настройки генерации кода для модели с помощью параметра конфигурации По умолчанию (Default parameter). Можно также настроить параметры настройки для отдельных переменных MATLAB. Simulink.Parameter объекты и другие объекты параметров. Дополнительные сведения см. в разделе Сохранение переменных в сгенерированном коде (Simulink Coder).
Сведения об отладке диаграммы Stateflow путем изменения данных во время моделирования см. в разделе Отладка диаграмм Stateflow (Stateflow).