Simulink. Параметр

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

Описание

Создайте объект Simulink.Parameter установить значение одного или нескольких блочных параметров в модели, таких как параметр Усиления блока 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. Когда вы моделируете модель или генерируете код, Симулинк бросает значение к заданному типу данных.

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

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

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

  • 'double'

  • единственный

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • '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'

Пример: 'Перечисление: myEnumType'

Пример: 'Шина: myBusObject'

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

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

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

Пример: 'Этот параметр представляет максимальную скорость вращения механизма'.

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

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

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

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

Пример: [1 3]

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

Типы данных: удвойтесь | char

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

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

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

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

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

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

Пример 5. 32

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

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

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

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

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

Если значение параметров является меньше, чем минимальное значение или если минимальное значение вне области значений типа данных Object, 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

Пример: единственный ([3.15 1.23])

Пример 1. 2 + 3.2i

Пример: tRUE

Пример: myEnumType.myEnumValue

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | struct | fi
Поддержка комплексного числа: Да

Примеры

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

  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, задайте Усиление как myParam.

    Во время моделирования параметр Усиления использует значение 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

Была ли эта тема полезной?