setBlockParam

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

setBlockParam позволяет вам заменить параметризацию по умолчанию для настроенного блока в интерфейсе slTuner. Можно также задать параметризацию для неатомарных компонентов, таких как Подсистема или Блоки s-function.

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

Синтаксис

setBlockParam(st,blk,tunable_mdl)
setBlockParam(st,blk1,tunable_mdl1,blk2,tunable_mdl2,...,blkN,tunable_mdlN)
setBlockParam(st,blk)
setBlockParam(st)

Описание

пример

setBlockParam(st,blk,tunable_mdl) присваивает настраиваемую модель как параметризацию заданного блока интерфейса slTuner.

пример

setBlockParam(st,blk1,tunable_mdl1,blk2,tunable_mdl2,...,blkN,tunable_mdlN) параметризация присвоений к нескольким блокам целиком.

пример

setBlockParam(st,blk) возвращается к параметризации по умолчанию для блока, на который ссылается blk, и инициализирует блок с текущим значением блока в Simulink.

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

Примеры

свернуть все

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

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 (tunablePID).

Повторно параметризуйте C1 как пропорциональный контроллер. Инициализируйте пропорциональное усиление к 4,2 и присвойте параметризацию блоку.

G = tunableGain('C1',4.2);
setBlockParam(st,'C1',G);

Настраивание команд, таких как systune, теперь использует эту пропорциональную параметризацию контроллера блока C1 st. Пользовательская параметризация совместима с параметризацией по умолчанию блока Simulink®. Поэтому можно использовать writeBlockValue, чтобы записать настроенные значения обратно к блоку.

Можно также использовать setBlockParam, чтобы установить несколько параметризации блока целиком, не требуя нескольких перекомпиляций модели. Например, повторно параметризуйте и C1 и C2 как ПИД-регуляторы.

C1PID = tunablePID('C1PID','PID');
C2PID = tunablePID('C2PID','PID');
setBlockParam(st,'C1',C1PID,'C2',C2PID);

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

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

Измените параметризацию C2, чтобы быть настраиваемым усилением и исследовать результат.

G = tunableGain('C2',5);
setBlockParam(st,'C2',G);
getBlockParam(st,'C2')
ans = 

  Parametric gain "C2" with 1 outputs, 1 inputs, and 1 tunable parameters.

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

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

setBlockParam(st,'C2');
getBlockParam(st,'C2')
ans = 

  Parametric continuous-time PID controller "C2" 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.

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

свернуть все

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

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

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

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

Пример: {'C1','C2'}

Блокируйте параметризацию, заданную как одно из следующего:

Больше о

свернуть все

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

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