Установите значения параметров блоков

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

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

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

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

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

Установите параметры блоков с помощью вкладки Parameters в Model Data Editor (на вкладке Modeling, нажмите Model Data Editor), Property Inspector (на вкладке Modeling, под Design, нажмите Property Inspector) или диалогового окна блока. Для получения дополнительной информации смотрите Добавить блоки и Задать параметры. Чтобы задать шаги расчета блоков, смотрите «Задать шаг расчета».

Совет

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

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

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

  • Создайте модель программно.

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

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

Предположим, вы создаете модель с именем myModel который содержит блок Constant с именем «Моя константа». Затем вы используете диалоговое окно блока, чтобы задать параметр Constant value равным 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 functions, использовать имя 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.

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

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

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

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

Можно параметризовать блок PID Controller при помощи функции задать значения параметров.

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

  • Если вы используете переменные и объекты параметров, можно явно смоделировать алгебраические отношения между вещественными величинами, которые представляют переменные и объекты. Используйте выражения в объектах параметров, как описано в Set Variable Value by Using a Mathematical Expression.

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

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

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

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

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

Чтобы оценить или оптимизировать параметр, который использует тип данных, отличный от double, используйте объект параметра, чтобы отделить значение от типа данных.

Для оценки параметра смотрите Оценку параметра (Simulink Design Optimization). Для оптимизации отклика смотрите Optimize Model Response (Simulink Design Optimization).

Сгенерируйте код из модели. Симулируйте внешнюю программу через SIL/PIL или симуляции режима external mode.Функции Simulink Coder™

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

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

См. также

Похожие темы