exponenta event banner

setBlockParam

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

Описание

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

Один slTuner интерфейс параметризует каждый настроенный блок Simulink ® в качестве блока Control Design Block или обобщенной параметрической модели типа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 являются контроллерами PI. Проверьте параметризацию по умолчанию 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.

Параметризация по умолчанию - настраиваемый PI-контроллер (tunablePID).

Повторно параметризовать C1 в качестве пропорционального регулятора. Инициализируйте пропорциональное усиление до 4.2 и назначьте параметризацию блоку.

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

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

Также можно использовать setBlockParam установка нескольких параметризаций блоков одновременно без необходимости многократной перекомпиляции модели. Например, репараметризировать оба C1 и C2 в качестве контроллеров PID.

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

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, указанный как символьный вектор или строка. Можно указать полный путь блока или любую часть пути блока, которая однозначно идентифицирует блок среди других настроенных блоков st.

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

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

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

Параметризация блока, заданная одним из следующих параметров:

Подробнее

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для блоков Simulink, параметризованных блоком Control Design, сам блок является настраиваемой переменной. Для изменения значения блока можно использовать либо setBlockValue или setTunedValue. Аналогично, можно извлечь значение блока с помощью одного из следующих способов: getBlockValue или getTunedValue.

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