setBlockValue

Измените значение Блока Системы управления в Обобщенной Модели

Синтаксис

M = setBlockValue(M0,blockname,val)
M = setBlockValue(M0,blockvalues)
M = setBlockValue(M0,Mref)

Описание

M = setBlockValue(M0,blockname,val) изменяет текущее значение или номинальную стоимость Блока Системы управления blockname в обобщенной модели M0 к значению, заданному val.

M = setBlockValue(M0,blockvalues) изменяет значение нескольких Блоков Системы управления целиком. Структура blockvalues задает блоки и заменяющие значения. Блоки M0 не перечисленный в blockvalues неизменны.

M = setBlockValue(M0,Mref) берет заменяющие значения из блоков Системы управления в Обобщенной Модели Mref. Этот синтаксис изменяет Блоки Системы управления в M0 совпадать с текущими значениями всех соответствующих блоков в Mref.

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

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

M0

Обобщенная Модель, содержащая блоки, текущее значение которых или номинальная стоимость изменяются к val. Для синтаксиса M = setBlockValue(M0,Mref) M0 может быть один Блок Системы управления, значение которого изменяется, чтобы совпадать со значением соответствующего блока в Mref.

blockname

Имя Блока Системы управления в модели M0 чье текущее значение или номинальная стоимость изменяются.

Получить список Блоков Системы управления в M0, введите M0.Blocks.

val

Заменяющее значение для текущего значения или номинальной стоимости Блока Системы управления, blockname. Значение val может быть любое значение, которое совместимо с blockname не изменяя размер, введите, или шаг расчета blockname.

Например, можно установить значение настраиваемого блока PID (tunablePID) к pid модели контроллеров, или к передаточной функции (tf) модель, которая представляет ПИД-регулятор.

blockvalues

Структура, задающая Блоки Системы управления M0 изменить, и соответствующие заменяющие значения. Поля структуры являются именами блоков, чтобы изменить. Значение каждого поля задает заменяющее текущее значение или номинальную стоимость для соответствующего блока.

Mref

Обобщенная Модель, которая совместно использует некоторые Блоки Системы управления с M0. Значения этих блоков в Mref используются, чтобы обновить их дубликаты в M0.

Выходные аргументы

M

Обобщенная Модель получена из M0 путем обновления значений заданных блоков.

Примеры

свернуть все

Распространите значения настроенных параметров с другими Блоками Системы управления.

Можно использовать настраивающиеся команды, такие как systune, looptune, или команда Robust Control Toolbox™ hinfstruct настроить блоки в модели с обратной связью системы управления. Если вы делаете так, настроенные параметры контроллера встраиваются в обобщенную модель. Можно использовать setBlockValue распространить те параметры к моделям контроллеров.

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

s = tf('s');
num = 33000*(s^2 - 200*s + 90000);
den = (s + 12.5)*(s^2 + 25*s + 63000);
G = num/den;

C0 = tunablePID('C0','pi');
a = realp('a',1);
F0 = tf(a,[1 a]);
T0 = feedback(G*C0,F0);
T0.InputName = 'r';
T0.OutputName = 'y';

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

  • C0 - Настраиваемый ПИД-регулятор

  • a - Действительный настраиваемый параметр

Создайте настраивающееся требование для выхода y отслеживать вход r, и настройте систему, чтобы удовлетворить то требование.

Req = TuningGoal.Tracking('r','y',0.05);
[T,fSoft,~] = systune(T0,Req);
Final: Soft = 1.43, Hard = -Inf, Iterations = 59

Обобщенная модель T содержит настроенные значения C0 и a.

Распространите настроенные значения контроллера в T к моделям контроллеров C0.

C = setBlockValue(C0,T)
C = 
  Parametric continuous-time PID controller "C0" with formula:

             1 
  Kp + Ki * ---
             s 

  and tunable parameters Kp, Ki.

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

C все еще tunablePID контроллер. Текущие коэффициенты ПИД в C установлены в значения контроллера в T.

Получите числовую модель LTI настроенного контроллера, использующего getValue.

 CVal = getValue(C,T);

Эта команда возвращает числовую модель в пространстве состояний настроенного контроллера.

Смотрите также

| | | | | |

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