exponenta event banner

getTunedValue

Получить текущее значение настроенной переменной в slTuner интерфейс

Описание

getTunedValue позволяет получить доступ к текущему значению настроенной переменной в пределах slTuner интерфейс.

Один slTuner интерфейс параметризует каждый настроенный блок как блок конструкции элемента управления или обобщенную параметрическую модель типа genmat или genss. Эта параметризация определяет настроенные переменные для таких команд, как systune.

пример

value = getTunedValue(st,var) возвращает текущее значение настроенной переменной, var, в slTuner интерфейс, st.

пример

[value1,value2,...] = getTunedValue(st,var1,var2,...) возвращает текущие значения нескольких настроенных переменных.

пример

S = getTunedValue(st) возвращает структуру, содержащую текущие значения всех настроенных переменных в st.

Примеры

свернуть все

Создание slTuner интерфейс для scdcascade модель.

open_system('scdcascade');
st = slTuner('scdcascade',{'C1','C2'});

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

C1CustParam = realp('Kp',1) + tf(1,[1 0]) * realp('Ki',1);
setBlockParam(st,'C1',C1CustParam);

Эти команды задают параметризацию C1 блок контроллера в обобщенное состояние-пространство (genss) модель, содержащая два перестраиваемых параметра, Ki и Kp.

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

После настройки используйте getTunedValue для запроса настроенного значения Ki.

KiTuned = getTunedValue(st,'Ki')
KiTuned =

     1

Запрос значения настроенного блока в целом C1, использовать getBlockValue.

Создание slTuner интерфейс для scdcascade модель.

open_system('scdcascade');
st = slTuner('scdcascade',{'C1','C2'});

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

C1CustParam = realp('Kp',1) + tf(1,[1 0]) * realp('Ki',1);
setBlockParam(st,'C1',C1CustParam);

Эти команды задают параметризацию C1 блок контроллера в обобщенное состояние-пространство (genss) модель, содержащая настраиваемые параметры Kp и Ki.

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

После настройки используйте getTunedValue для запроса настроенных значений обоих Kp и Ki.

[KiTuned,KpTuned] = getTunedValue(st,'Ki','Kp')
KiTuned =

     1


KpTuned =

     1

Создание slTuner интерфейс для scdcascade модель.

open_system('scdcascade');
st = slTuner('scdcascade',{'C1','C2'});

Настройка пользовательской параметризации для настроенного блока C1.

C1CustParam = realp('Kp',1) + tf(1,[1 0]) * realp('Ki',1);
setBlockParam(st,'C1',C1CustParam);

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

После настройки используйте getTunedValue запрос настроенных значений параметризаций всех настроенных блоков в st.

S = getTunedValue(st)
S = 

  struct with fields:

    C2: [1x1 pid]
    Ki: 1
    Kp: 1

Настроенные значения возвращаются в структуре, которая содержит поля для:

  • Настроенный блок, C2, который параметризуется как управляющий блок проектирования.

  • Перестраиваемые элементы, Kp и Ki, в пределах блока C2, который параметризован как пользовательский genss модель.

Входные аргументы

свернуть все

Интерфейс для настройки систем управления, смоделированных в Simulink, указанный как slTuner интерфейс.

Настроенная переменная в пределах st, указанный как символьный вектор или строка. Настраиваемая переменная - это любой блок Control Design, такой как realp, tunableSS, или tunableGain, участвующий в параметризации настроенного блока Simulink, либо непосредственно, либо через обобщенную параметрическую модель. Чтобы получить список всех настроенных переменных в st, использовать getTunedValue(st).

var может означать:

  • Для блока, параметризованного блоком «Control Design», имя блока. Например, если параметризация блока

    C = tunableSS('C')

    затем установить var = 'C'.

  • Для блока, параметризованного genmat/genss модель, M, имя любого блока проектирования элементов управления, указанного в M.Blocks. Например, если параметризация блока

    a = realp('a',1);
    C = tf(a,[1 a]);

    затем установить var = 'a'.

Выходные аргументы

свернуть все

Текущее значение настроенной переменной в st, возвращается в виде числового скаляра или массива или модели пространства состояний. Если результаты настройки не были применены к модели Simulink с помощью writeBlockValue, значение, возвращенное getTunedValue может отличаться от значения блока Simulink.

Примечание

Использовать writeBlockValue для выравнивания значений параметризации блока с фактическими значениями блока в модели Simulink.

Текущие значения всех настроенных переменных в st, возвращено как структура. Имена полей в S являются именами настроенных переменных в stи значения полей являются соответствующими числовыми скалярами или массивами.

Эту структуру можно использовать для переноса настроенных значений переменных из одного slTuner интерфейс с другим slTuner интерфейс с теми же настроенными переменными следующим образом:

S = getTunedValue(st1);
setTunedValue(st2,S);

Подробнее

свернуть все

Настроенные блоки

Настроенные блоки, используемые slTuner определите блоки в модели Simulink, параметры которых должны быть настроены в соответствии с целями настройки. Можно настроить большинство блоков Simulink, которые представляют линейные элементы, такие как коэффициенты усиления, передаточные функции или модели пространства состояний. (Полный список блоков, поддерживающих настройку, см. в разделе Как параметризованы настроенные блоки Simulink). Можно также настроить более сложные блоки, такие как блоки субсистемы или S-функции, указав эквивалентную настраиваемую линейную модель.

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

Необходимо указать настроенные блоки (например, C1 и C2) при создании slTuner интерфейс.

st = slTuner('scdcascade',{'C1','C2'})

Изменить список настроенных блоков можно с помощью addBlock и removeBlock.

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

  • getBlockParam, getBlockValue, и getTunedValue для доступа к настроенным параметризациям блока и их текущим значениям.

  • setBlockParam, setBlockValue, и setTunedValue для изменения параметров настроенного блока и их значений.

  • writeBlockValue обновление блоков в модели Simulink текущими значениями параметризаций настроенного блока.

Настроенные переменные

В пределах slTuner настраиваемые переменные интерфейса - это любые управляющие блоки проектирования, участвующие в параметризации настроенного блока Simulink либо непосредственно, либо через обобщенную параметрическую модель. Настроенные переменные - это параметры, которыми манипулируют команды настройки, такие как systune.

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

  • getBlockValue обеспечивает доступ к общему значению параметризации блока. Для доступа к значениям настроенных переменных в параметризации блока используйте getTunedValue.

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

Для блоков Simulink, параметризованных блоком Control Design, сам блок является настраиваемой переменной. Для изменения значения блока можно использовать либо setBlockValue или setTunedValue. Аналогично, можно извлечь значение блока с помощью одного из следующих способов: getBlockValue или getTunedValue.

Представлен в R2015b