Simulink. Параметр

Сохраните, совместно используйте и сконфигурируйте значения параметров блоков

Описание

Создайте объект Simulink.Parameter установить значение одних или нескольких параметров блоков в модели, таких как параметр Gain блока Gain. Вы создаете объект в рабочей области или в словаре данных. Установите значение параметров в объекте, не в блоке.

Используйте объект Simulink.Parameter для:

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

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

  • Разделите значение параметров от его типа данных.

  • Сконфигурируйте данные о параметре для генерации кода.

Свойство Value объектно-ориентированной памяти значение параметров. Чтобы использовать объект в модели, установите значение параметров блоков к выражению, которое включает имя объекта. Не используйте свойство Value от выражения. Для получения дополнительной информации смотрите Объекты параметра Использования.

Для получения дополнительной информации о параметрах блоков, смотрите Установленные Значения Параметров блоков и Как Хранилища Сгенерированного кода Внутренний Сигнал, состояние и Данные о Параметре (Simulink Coder).

Создание

Создайте объект Simulink.Parameter:

Синтаксис

paramObj = Simulink.Parameter
paramObj = Simulink.Parameter(paramValue)

Описание

paramObj = Simulink.Parameter возвращает объект Simulink.Parameter со значениями свойств по умолчанию.

paramObj = Simulink.Parameter(paramValue) возвращает объект Simulink.Parameter и инициализирует значение свойства Value при помощи paramValue.

Свойства

развернуть все

Для получения информации о свойствах в диалоговом окне свойства объекта Simulink.Parameter смотрите Simulink. Диалоговое окно Свойства параметра.

Спецификации для генерации кода для объекта параметра, возвращенного как объект Simulink.CoderInfo.

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

Например, свойство StorageClass объекта Simulink.CoderInfo определяет, как тулбоксы генерации кода Simulink® выделяют память для объекта параметра в сгенерированном коде. Для получения дополнительной информации смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder) и Выбирают Storage Class for Controlling Data Representation in Generated Code (Embedded Coder).

Числовая сложность значения параметров, возвращенного как 'real' (если значение действительно) или 'complex' (если значение является комплексным). Simulink определяет сложность от значения параметров, которое вы задаете в свойстве Value. Это свойство доступно только для чтения.

Типы данных: char

Тип данных значения параметров, которое вы задаете в свойстве Value. Когда вы моделируете модель или генерируете код, Simulink бросает значение к заданному типу данных.

Если вы задаете 'auto', настройку по умолчанию, объект параметра использует совпадающий тип данных в качестве параметров блоков, которые используют объект. Смотрите Уменьшают Усилие по Обслуживанию с Наследованием Типа данных.

Когда вы устанавливаете свойство Value при помощи чего-то другого, чем номер double, объект обычно устанавливает свойство DataType на основе значения свойства Value. Например, когда вы устанавливаете свойство Value на int8(5), объект устанавливает значение свойства DataType к 'int8'.

Чтобы явным образом задать встроенный тип данных (см. Типы данных, Поддержанные Simulink), задайте одну из этих опций:

  • 'double'

  • 'single'

  • 'int8'

  • 'uint8'

  • 'int16'

  • 'uint16'

  • 'int32'

  • 'uint32'

  • 'int64'

  • 'uint64'

  • 'boolean'

Чтобы задать тип данных с фиксированной точкой, используйте функцию fixdt. Например, задайте 'fixdt(1,16,5)'.

Если вы используете объект Simulink.AliasType или Simulink.NumericType создать и совместно использовать пользовательские типы данных в вашей модели, задайте имя объекта.

Чтобы задать перечислимый тип данных, используйте имя типа, которому предшествует Enum:. Например, задайте 'Enum: myEnumType'.

Когда вы храните структуру или массив структур в свойстве Value объекта, объект устанавливает свойство DataType на 'struct'. Чтобы задать объект Simulink.Bus как тип данных, используйте имя объекта шины, которому предшествует Bus:. Например, задайте 'Bus: myBusObject'.

Пример: 'auto'

Пример: 'int8'

Пример: 'fixdt(1,16,5)'

Пример: 'myAliasTypeObject'

Пример: 'Enum: myEnumType'

Пример: 'Bus: myBusObject'

Типы данных: char

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

Если у вас есть Embedded Coder®, можно сконфигурировать это описание, чтобы появиться в сгенерированном коде как комментарий. См. описания Объекта данных Simulink (Simulink Coder).

Пример: 'This parameter represents the maximum rotation speed of the engine.'

Типы данных: char

Размерности значения сохранены в свойстве Value, возвращенном как вектор - строка или заданном как вектор символов.

Когда вы устанавливаете свойство Value объекта, объект устанавливает значение свойства Dimensions к вектору - строке double. Вектор является тем же вектором, который возвращает функция size.

Чтобы использовать символьные размерности, задайте вектор символов. Смотрите Варианты Размерности Реализации для Размеров Массивов в Сгенерированном коде (Embedded Coder).

Пример: [1 3]

Пример: '[1 myDimParam]'

Типы данных: double | char

Максимальное значение, которое свойство Value объекта может сохранить, заданный как действительный скаляр double.

Значением по умолчанию является (пустой) [], что означает, что значение параметров не имеет максимума.

Если вы храните комплексное число в свойстве Value, свойство Max применяется отдельно к действительным и мнимым частям.

Если вы храните структуру в свойстве Value, объект игнорирует свойство Max. Вместо этого используйте объект Simulink.Bus в качестве типа данных объекта параметра и задайте максимальное значение для каждого поля при помощи элементов объекта шины. Смотрите Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра.

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

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

Пример: 5.32

Типы данных: double

Минимальное значение, которое свойство Value объекта может сохранить, заданный как действительный скаляр double.

Значением по умолчанию является (пустой) [], что означает, что значение параметров не имеет минимума.

Если вы храните комплексное число в свойстве Value, свойство Min применяется отдельно к действительным и мнимым частям.

Если вы храните структуру в свойстве Value, объект игнорирует свойство Min. Вместо этого используйте объект Simulink.Bus в качестве типа данных объекта параметра и задайте минимальное значение для каждого поля при помощи элементов объекта шины. Смотрите Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра.

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

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

Пример: -0.92

Типы данных: double

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

Пример: 'degC'

Типы данных: char

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

Можно использовать синтаксис MATLAB®, чтобы задать значение.

Выражение в качестве примераОписание
15.23

Задает скалярное значение

[3 4; 9 8]

Задает матрицу

3+2i

Задает комплексное число

struct('A',20,'B',5)

Задает структуру с двумя полями, A и B, со значениями с двойной точностью 20 и 5.

Организуйте параметры блоков в структуры (см., Организуют Связанные Определения Параметров блоков в Структурах), или инициализируйте элементы сигнала в шине (см., Задают Начальные условия для Сигналов Шины).

slexpr('myVar + myOtherVar')Задает выражение myVar + myOtherVar, где myVar и myOtherVar являются другие переменные MATLAB или объекты параметра. Simulink сохраняет это математическое отношение между объектом и переменными.

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

Если вы устанавливаете свойство Value при помощи введенного выражения, такого как single(32.5), свойство DataType изменяется, чтобы отразить новый тип. Лучшая практика использует выражение, которое не вводится. Можно постараться не накапливать числовую ошибку посредством повторной квантизации или насыщения типа данных, специально для типов данных с фиксированной точкой.

Пример: 3.15

Пример: single([3.15 1.23])

Пример: 1.2 + 3.2i

Пример: true

Пример: myEnumType.myEnumValue

Пример: struct('field1',15,'field2',7.32)

Пример: slexpr('myVar + myOtherVar')

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | struct | fi
Поддержка комплексного числа: Да

Примеры

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

  1. В командной строке создайте объект Simulink.Parameter.

    myParam = Simulink.Parameter;
    

  2. Присвойте числовое значение свойству Value.

    myParam.Value = 15.23;

  3. Задайте другие характеристики для параметров блоков путем корректировки свойств объектов. Например, чтобы задать минимальные и максимальные значения параметр может взять, использовать свойства Min и Max.

    myParam.Min = 10.11;
    myParam.Max = 25.27;

  4. В диалоговом окне блока задайте значение параметра как myParam. Например, в диалоговом окне блока Gain, задайте Gain как myParam.

    Во время симуляции параметр Gain использует значение 15.23.

Измените значение, сохраненное объектом параметра

  1. В командной строке создайте объект Simulink.Parameter, который хранит значение 2.52.

    myParam = Simulink.Parameter(2.52);

  2. Измените значение путем доступа к свойству Value объекта. Этот метод сохраняет значения других свойств объекта.

    myParam.Value = 1.13;

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

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

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

  1. В командной строке создайте объект Simulink.Parameter, который хранит значение 18.25.

    myParam = Simulink.Parameter(18.25);

    Выражение 18.25 возвращает номер 18.25 с типом данных с плавающей точкой, с двойной точностью double. Свойство Value хранит номер 18.25 двойной точностью.

  2. Используйте свойство DataType задать тип данных с одинарной точностью single.

    myParam.DataType = 'single';

    Когда вы моделируете или генерируете код, объект параметра бросает значение свойства Value, 18.25, к типу данных, заданному свойством DataType, single.

Установите значение параметров на математическое выражение

Этот пример показывает, как установить значение объекта параметра, myParam, к сумме двух других переменных, myVar и myOtherVar. С этим методом, когда вы изменяете значения независимых переменных, Simulink сразу вычисляет новое значение объекта параметра.

  1. Создайте эти две независимых переменные.

    myVar = 5.2;
    myOtherVar = 9.8;

  2. Создайте объект параметра.

    myParam = Simulink.Parameter;

  3. Установите значение объекта параметра к выражению myVar + myOtherVar.

    myParam.Value = slexpr('myVar + myOtherVar')

Представлено до R2006a