Текущее значение блока конструкции элемента управления в обобщенной модели
val = getBlockValue(M,blockname)
[val1,val2,...] = getBlockValue(M,blockname1,blockname2,...)
S = getBlockValue(M)
возвращает текущее значение блока «Control Design»
val = getBlockValue(M,blockname)blockname в обобщенной модели
M. (Для неопределенных блоков «текущее значение» является номинальным значением блока.)
[ возвращает значения указанных блоков проектирования элементов управления.val1,val2,...] = getBlockValue(M,blockname1,blockname2,...)
возвращает значения всех управляющих блоков проектирования обобщенной модели в структуре. Этот синтаксис позволяет переносить значения блоков из одной обобщенной модели в другую модель, использующую те же управляющие блоки проектирования, следующим образом: S = getBlockValue(M)
S = getBlockValue(M1); setBlockValue(M2,S);
|
Обобщенный LTI ( |
|
Имя управляющего конструкторского блока в модели Получение списка управляющих блоков проектирования в |
|
Числовая модель 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.001Cval является числовым pid объект контроллера.
aval = getBlockValue(T,'a')aval =
10aval является числовым скаляром, поскольку 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