exponenta event banner

Simulink. Параметр

Хранение, совместное использование и настройка значений параметров

Описание

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

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

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

  • Представление инженерной константы или настраиваемого параметра калибровки.

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

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

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

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

Создание

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

Описание

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

paramObj = Simulink.Parameter(paramValue) возвращает Simulink.Parameter и инициализирует Value свойство для paramValue.

Свойства

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

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

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

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

Например, StorageClass имущества Simulink.CoderInfo объект определяет, как панели инструментов создания кода Simulink ® распределяют память для объекта параметра в сгенерированном коде. Дополнительные сведения см. в разделах Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder) и Выбор класса хранения для управления представлением данных в сгенерированном коде (Embedded Coder).

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

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

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

При указании 'auto'по умолчанию объект-параметр использует тот же тип данных, что и параметры блока, которые используют объект. См. раздел Сокращение объема работ по техническому обслуживанию с наследованием типов данных.

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

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

  • 'double'

  • 'single'

  • 'half'

  • '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 (встроенный кодер).

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

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

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

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

Если объект конфигурируется как аргумент модели и предполагается предоставить значение для объекта в другом месте иерархии ссылок родительской модели, можно оставить Value свойство пустое (установлено в '[]') и установите Dimensions и Data Type явно. См. раздел Параметризация экземпляров повторно используемой ссылочной модели. Для восстановления Dimensions свойство как значение, полученное из Value свойство, установка Dimensions кому[]'.

Для использования символьных размеров укажите символьный вектор. См. раздел Реализация вариантов измерения для размеров массива в сгенерированном коде (встроенном кодере).

Пример: [1 3]

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

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

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

Значение по умолчанию пустое, что означает, что значение параметра не имеет максимального значения.

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

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

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

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

Пример: 5.32

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

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

Значение по умолчанию пустое, что означает, что значение параметра не имеет минимума.

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

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

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

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

Пример: -0.92

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

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

Пример: 'degC'

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

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

Если используется Simulink.Parameter для установки значения параметра блока в повторно используемой ссылочной модели можно скомпилировать и смоделировать модель как ссылочную модель со значением для объекта, оставшимся пустым (Value значение «»[]') до тех пор, пока вы предоставляете явное значение где-то в иерархии ссылок родительской модели. В этом случае моделирование модели непосредственно невозможно. Если значение пустое, необходимо указать Data Type и Dimensions для объекта. Хотя указано пустое значение, Simulink по-прежнему синтезирует Value с помощью одного из следующих способов:

  • Max.

  • Min, если вы не указали Max.

  • 1, если вы не указали Min или Max.

См. раздел Параметризация экземпляров повторно используемой ссылочной модели.

Для задания значения можно также использовать синтаксис 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

Пример: 1.2 + 3.2i

Пример: true

Пример: myEnumType.myEnumValue

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

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

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

Примеры

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

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

    myParam = Simulink.Parameter;
    

  2. Назначение числового значения Value собственность.

    myParam.Value = 15.23;

  3. Укажите минимальное и максимальное значения, которые может принимать параметр Min и Max свойства.

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

  4. Откройте новую модель Simulink. Добавление блока усиления и установка его параметра усиления равным myParam. Во время моделирования параметр Gain использует значение 15.23.

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

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

    myParam = Simulink.Parameter(2.52);

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

    myParam.Value = 1.13;

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

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

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

  1. В командной строке MATLAB создайте 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')

    При моделировании или создании кода выражение вычисляется как 15.

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