getBlockValue

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

Синтаксис

val = getBlockValue(M,blockname)
[val1,val2,...] = getBlockValue(M,blockname1,blockname2,...)
S = getBlockValue(M)

Описание

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

[val1,val2,...] = getBlockValue(M,blockname1,blockname2,...) возвращает значения заданных Блоков Системы управления.

S = getBlockValue(M) возвращает значения всех Блоков Системы управления обобщенной модели в структуре. Этот синтаксис позволяет вам передать значения блока от одной обобщенной модели до другой модели, которая использует те же Блоки Системы управления, можно следующим образом:

S = getBlockValue(M1);
setBlockValue(M2,S);

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

M

Обобщенный LTI (genss) модель или обобщенная матрица (genmat).

blockname

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

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

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

val

Числовая модель LTI или численное значение, равняйтесь текущему значению Блока Системы управления blockname.

S

Текущие значения всех Блоков Системы управления в M, возвращенный как структура. Имена полей в S имена блоков в M. Значения полей являются числовыми моделями LTI или численными значениями, равными текущим значениям соответствующих Блоков Системы управления.

Примеры

Получите текущие значения одного блоков

Создайте настраиваемое genss модель, и оценивает текущее значение Блоков Системы управления модели.

Как правило, вы используете getBlockValue получать настроенные значения блоков системы управления после настройки genss модель с помощью настраивающейся команды такой как systune. В данном примере создайте модель и получите начальные значения блока.

G = zpk([],[-1,-1],1);
C = tunablePID('C','PID');
a = realp('a',10);  
F = tf(a,[1 a]);
T = feedback(G*C,1)*F;

Cval = getBlockValue(T,'C')
Continuous-time I-only controller:
 
      1 
Ki * ---
      s 
 
With Ki = 0.001

Cval числовое pid объект контроллера.

aval = getBlockValue(T,'a')
aval =

    10

aval числовой скаляр, потому что a действительный скалярный параметр.

Получите все текущие значения как структуру

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

G = zpk([],[-1,-1],1);
C = tunablePID('C','PID');
a = realp('a',10);  
F = tf(a,[1 a]);
T = feedback(G*C,1)*F;

S = getBlockValue(T)
S = 

    C: [1x1 pid]
    a: 10
Представленный в R2011b