setBlockParam

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

Описание

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

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

пример

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

пример

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

пример

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

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

Примеры

свернуть все

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

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.

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

  Tunable 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 назад к ПИ-контроллеру по умолчанию и исследуют результат.

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

  Tunable 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 путем определения эквивалентной настраиваемой линейной модели.

Используйте настраивающиеся команды такой как 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