setBlockValue

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

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

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

Синтаксис

setBlockValue(st,blk,value)
setBlockValue(st,blkValues)

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

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

И C1 и C2 являются контроллерами PI. Исследуйте параметризацию по умолчанию C1.

getBlockParam(st,'C1')
ans = 

  Parametric 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.

Параметризация по умолчанию является контроллером PI с двумя настраиваемыми параметрами, 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 = 

  Parametric 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, параметризация блока продолжает быть контроллером PI.

Создайте интерфейс 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 (Control System Toolbox) или Блок Системы управления (Control System Toolbox), такой 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 путем определения эквивалентной настраиваемой линейной модели (Control System Toolbox).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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