exponenta event banner

Задать значения параметров блока

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

Для задания значений параметров блока можно использовать числа, переменные и выражения. Выберите метод, основанный на целях моделирования. Например, можно:

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

  • Управление характеристиками параметров, такими как тип данных и размеры, путем создания объектов параметров.

  • Моделирование алгоритма в виде кода с помощью математических выражений.

Задайте параметры блока с помощью вкладки «Параметры» в Редакторе данных модели (на вкладке «Моделирование» выберите «Редактор данных модели»), Инспектора свойств (на вкладке «Моделирование» в группе «Проект» выберите «Инспектор свойств») или диалогового окна блока. Дополнительные сведения см. в разделе Добавление блоков и задание параметров. Сведения о задании времени образца блока см. в разделе Указание времени образца.

Совет

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

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

Для программного доступа к значениям параметров блока используйте get_param и set_param функции. Этот метод можно использовать для:

  • Создание модели программным путем.

  • Корректировка значений параметров во время прогона моделирования при программном моделировании модели.

Для сдвига значений параметров между запусками моделирования с помощью сценария используйте Simulink.SimulationInput объекты вместо get_param и set_param. См. раздел Оптимизация, оценка и значения параметров блока сдвига.

Предположим, что создается модель с именем myModel содержит блок Constant с именем My Constant. Затем с помощью диалогового окна блока задайте для параметра «Постоянное значение» значение 15. Для программного возврата значения параметра используйте функцию get_param. Указывается путь к блоку и имя эквивалентного программного параметра. Value.

paramValue = get_param('myModel/My Constant','Value')
paramValue =

15

Для программного изменения значения, например: 25, используйте функцию set_param. Использовать символьный вектор '25' в качестве входных данных функции.

set_param('myModel/My Constant','Value','25')

Список программных имен параметров блоков см. в разделе Параметры блоков.

Дополнительные сведения о программном моделировании см. в разделе Программное моделирование.

Чтобы избежать использования get_param и set_param используйте имя переменной MATLAB ® илиSimulink.Parameter объект в качестве значения параметра и измените значение переменной или объекта в командной строке. См. раздел Совместное использование и повторное использование значений параметров блока путем создания переменных.

Задать значения параметров

ЦельЗначение параметра блокаОписание

Сохраните значение параметра в файле модели.

2.3

[1.2 2.3 4.5; 7.9 8.7 6.5]

2 + 3i

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

  • Доступ к значению параметра без необходимости поиска или идентификации блока в модели.

  • Измените значение параметра без необходимости изменения файла модели.

  • Совместное использование значения параметра блоками или моделями.

  • Идентифицируйте параметр по определенному имени при подметке или настройке значения.

myVar

Переменная MATLAB, существующая в рабочей области.

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

  • Избегайте конфликтов имен между переменными рабочей области.

  • Организация значений параметров с использованием иерархий и значимых имен.

  • Уменьшите число переменных рабочей области, используемых моделью.

myParam.a.SpeedVect

Поле структуры параметров.

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

Используйте часть матрицы или переменной массива. Например, задайте параметры блока n-D Lookup Table.

myMatrixParam(:,2)

Операция индексирования.

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

  • Определите системную константу с пользовательской документацией.

  • Создайте настраиваемый параметр в созданном коде.

  • Задайте для переменной математическое выражение, включающее константы и другие переменные.

myParam

Объект параметра.

Дополнительные сведения см. в разделе Использование объектов параметров.

  • Выражение значения параметра как математического отношения между известными физическими константами вместо неидентифицируемого литерального числа.

  • Уменьшение заполнения блоков в модели.

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

  • Для выполнения вычислений используются операторы и функции MATLAB.

  • Создайте пользовательскую функцию MATLAB, которая вычисляет значения параметров.

5^3.2 - 1/3

myParam * myOtherparam + sin(0.78*pi)

myFun(15.23)

Выражение или пользовательская функция.

Дополнительные сведения см. в разделах Использование математических выражений, Функции MATLAB и Пользовательские функции.

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

15.23

single(15.23)

myParam

Типизированное или нетипизированное выражение, числовая переменная MATLAB или объект параметра.

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

Использовать объекты параметров

Объекты параметров: Simulink.Parameter объектов и объектов создаваемых подклассов. Объект параметра существует в рабочей области, такой как базовая рабочая область или словарь данных.

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

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

Сведения о создании и использовании объектов параметров в моделях см. в разделе Объекты данных. Сведения об использовании переменных для задания значений параметров блока см. в разделе Совместное использование и повторное использование значений параметров блока путем создания переменных.

Использование математических выражений, функций MATLAB и пользовательских функций

Можно задать значение параметра блока для выражения, которое вызывает функции и операторы MATLAB, такие как sin и max. Также можно вызвать собственные пользовательские функции, записываемые по пути MATLAB.

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

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

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

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

Блок контроллера PID можно параметризовать с помощью функции установки значений параметров.

Чтобы наилучшим образом использовать выражения, рассмотрим следующие советы:

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

Рекомендации по другим целям моделирования

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

ЦельФункции или продуктыПередовой опыт
Быстрое выполнение нескольких симуляций.Simulink.SimulationInput объекты и sim функцияДля задания значений параметров блока используются переменные или объекты параметров. Этот метод помогает назначить значимые имена параметрам и избежать необходимости идентифицировать или находить блоки в модели. См. раздел Оптимизация, оценка и значения параметров блока сдвига.
Значения параметров сдвига во время тестирования.Simulink ® Test™Для задания значений параметров блока используются переменные или объекты параметров. Используйте итерации и переопределения параметров для выполнения нескольких тестов. См. разделы Переопределения параметров (Simulink Test) и Итерации испытаний (Simulink Test).
Оценка и оптимизация значений параметров.Optimization™ проектирования Simulink

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

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

Для получения информации об оценке параметров см. раздел Оценка параметров (Simulink Design Optimization). Сведения об оптимизации отклика см. в разделе Оптимизация отклика модели (Simulink Design Optimization).

Создание кода из модели. Моделирование внешней программы с помощью моделирования SIL/PIL или внешнего режима.Симулинк Coder™

Используйте объекты параметров для задания значений параметров блока. Этот метод позволяет объявить и идентифицировать настраиваемые параметры в сгенерированном коде, а также управлять типами данных параметров. См. раздел Создание настраиваемого калибровочного параметра в сгенерированном коде (Simulink Coder).

При использовании выражений для задания значений параметров блока избегайте использования операторов и функций, которые приводят к потере настраиваемости в создаваемом коде. См. раздел Настраиваемые ограничения выражения (Simulink Coder).

См. также

Связанные темы