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 = 60

Обобщенная модель 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