setBlockValue

Установите значение настроенной параметризации блока в slTuner интерфейс

Описание

setBlockValue позволяет вам инициализировать или изменить текущее значение параметризации настроенного блока в slTuner интерфейс.

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

пример

setBlockValue(st,blk,value) устанавливает текущее значение параметризации блока в slTuner интерфейс, st.

пример

setBlockValue(st,blkValues) обновляет значения параметризации нескольких блоков с помощью структуры, blkValues.

Примеры

свернуть все

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

Создайте slTuner интерфейс.

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

Оба C1 и C2 ПИ-контроллеры. Исследуйте параметризацию по умолчанию C1.

getBlockParam(st,'C1')
ans = 

  Tunable continuous-time PID controller "C1" with formula:

             1 
  Kp + Ki * ---
             s 

  and tunable parameters Kp, Ki.

Type "pid(ans)" to see the current value and "get(ans)" to see all properties.

Параметризация по умолчанию является ПИ-контроллером с двумя настраиваемыми параметрами, Kp и Ki.

Установите значение параметризации C1.

C = pid(4.2);
setBlockValue(st,'C1',C);

Исследуйте значение параметризации C1.

getBlockValue(st,'C1')
ans =
 
  Kp = 4.2
 
Name: C1
P-only controller.

Исследуйте параметризацию C1.

getBlockParam(st,'C1')
ans = 

  Tunable continuous-time PID controller "C1" with formula:

             1 
  Kp + Ki * ---
             s 

  and tunable parameters Kp, Ki.

Type "pid(ans)" to see the current value and "get(ans)" to see all properties.

Заметьте, что несмотря на то, что текущее значение блока является контроллером P-only, параметризация блока продолжает быть ПИ-контроллером.

Создайте slTuner интерфейс.

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

Создайте структуру значения блока с именами полей, которые соответствуют настраиваемым блокам в st.

blockValues = getBlockValue(st);
blockValues.C1 = pid(0.2,0.1);
blockValues.C2 = pid(2.3);

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

setBlockValue(st,blockValues);

Входные параметры

свернуть все

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

Блокируйтесь в списке настроенных блоков для stВ виде вектора символов или строки. Можно задать полный блок path или любой фрагмент пути, который однозначно определяет блок среди других настроенных блоков st.

Пример: blk = 'scdcascade/C1', blk = "C1"

Примечание

setBlockValue позволяет вам изменять только общую стоимость параметризации blk. Изменить значения элементов в рамках параметризации пользовательского блока, такой как обобщенные модели в пространстве состояний, использование setTunedValue.

Значение параметризации блока в виде числовой модели LTI или Блока Системы управления, такого tunableGain или tunablePID. Значение value должно быть совместимо с параметризацией blk. Например, если blk параметрируется как ПИД-регулятор, затем value должен быть tunablePID блокируйтесь, числовое pid модель или числовое tf модель, которая представляет ПИД-регулятор.

setBlockValue обновляет значение параметров настроенного блока на основе параметров value. Используя setBlockValue не изменяет структуру параметризации настроенного блока. Изменить параметризацию blkИспользование setBlockParam. Например, можно использовать setBlockParam изменить параметризацию блока от tunablePID к трехполюсному tunableTF модель.

Значения нескольких параметризации блока в виде структуры с полями, заданными как числовые модели LTI или Блоки Системы управления. Имена полей являются именами блоков в st. Только блокируется характерный для st и blkValues обновляются, в то время как все другие блоки в st останьтесь неизменными.

Задавать blkValues, можно получить и изменить структуру значения параметризации блока от st.

blkValues = getblockValue(st);
blkValues.C1 = pid(0.1,0.2);

Примечание

Для блоков Simulink, имена которых не являются допустимыми именами полей, задайте имя соответствующего поля в blkValues когда это появляется в параметризации блока.

blockParam = getBlockParam(st,'B-1');
fieldName = blockParam.Name;
blockValues = struct(fieldName,newB1);

Больше о

свернуть все

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

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 интерфейс, tuned variables является любыми Блоками Системы управления, вовлеченными в параметризацию настроенного блока Simulink, или непосредственно или через обобщенную параметрическую модель. Настроенные переменные являются параметрами, которыми управляют путем настройки команд такой как systune.

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

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

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

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

Представленный в R2011b