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