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, заданный в виде вектора символов или строки. Настраиваемая переменная - это любой блок Система Управления, такой realp, tunableSS, или tunableGain, участвующий в параметризации настроенного блока Simulink, либо непосредственно, либо через обобщенную параметрическую модель. Чтобы получить список всех настроенных переменных в st, использовать getTunedValue(st).

var может ссылаться на следующее:

  • Для блока, параметризованного блоком Система Управления, имя блока. Например, если параметризация блока

    C = tunableSS('C')

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

  • Для блока, параметризованного a 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);

Подробнее о

свернуть все

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

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

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

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

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

Список настроенных блоков можно изменить используя addBlock и removeBlock.

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

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

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

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

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

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

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

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

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

Для блоков Simulink, параметризованных Блоком Системой управления, сам блок является настроенной переменной. Чтобы изменить значение блока, можно использовать или setBlockValue или setTunedValue. Точно так же можно получить значение блока, используя либо getBlockValue или getTunedValue.

Введенный в R2015b