exponenta event banner

setBlockValue

Изменение значения блока конструкции элемента управления в обобщенной модели

Синтаксис

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

Описание

M = setBlockValue(M0,blockname,val) изменяет текущее или номинальное значение блока «Control Design» blockname в обобщенной модели M0 к значению, указанному val.

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

M = setBlockValue(M0,Mref) принимает значения замены из блоков Control Design в обобщенной модели 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) модель, которая представляет контроллер PID.

blockvalues

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

Mref

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

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

M

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

Примеры

свернуть все

Распространение значений настроенных параметров на другие управляющие блоки проектирования.

Можно использовать такие команды настройки, как systune, looptuneили команда «Надежное управление 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 - Настраиваемый PID-контроллер

  • 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 = 
  Tunable 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 контроллер. Текущий прирост PID в C установлены в значения контроллера в T.

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

 CVal = getValue(C,T);

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

См. также

| | | | | | (инструментарий надежного управления)

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