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