AnalysisPoint

Интересные точки для линейного анализа

Синтаксис

AP = AnalysisPoint(name)
AP = AnalysisPoint(name,N)

Описание

AnalysisPoint - блок Control Design для маркировки местоположения в системной модели управления как точки интереса для линейного анализа и настройки контроллера. Можно объединить AnalysisPoint блок с числовыми моделями LTI, настраиваемыми моделями LTI и другими Блоками Control Design для создания настраиваемых моделей систем управления. AnalysisPoint местоположения доступны для анализа с помощью таких команд, как getIOTransfer или getLoopTransfer. Такие местоположения также доступны для определения целей проекта для настройки системы управления.

Для примера рассмотрите следующую систему управления.

Предположим, что вас интересуют эффекты нарушения порядка, вводимого в u в этой системе управления. Вставка AnalysisPoint блок в u местоположения связывает подразумеваемый вход, подразумеваемый выход и опцию открытия цикла в этом местоположении, как на следующей схеме.

Предположим, что T является моделью системы управления, включая AnalysisPoint блок, AP_u. В этом случае команда getIOTransfer(T,'AP_u','y') возвращает модель передаточной функции с обратной связью от u к y. Точно так же команда getLoopTransfer(T,'AP_u',-1) возвращает модель отклика разомкнутого контура с отрицательной обратной связью, CG, измеренную в u местоположения.

AnalysisPoint блоки также полезны при настройке системы управления с помощью команд настройки, таких как systune. Вы можете использовать AnalysisPoint блок, чтобы отметить положение открытия контура для требований настройки разомкнутого контура, таких как TuningGoal.LoopShape или TuningGoal.Margins. Можно также использовать AnalysisPoint блок, чтобы отметить указанный вход или выход для требований настройки, таких как TuningGoal.Gain. Для примера, Req = TuningGoal.Margins('AP_u',5,40) ограничивает коэффициент усиления и запасов по фазе в u местоположения.

Вы можете создать AnalysisPoint блокирует явно используя AnalysisPoint команда и соединить их с другими компонентами блок-схем с помощью команд взаимного соединения модели. Для примера следующий код создает модель системы, проиллюстрированную выше. (Для получения дополнительной информации см. конструкцию и примеры» ниже.)

G = tf(1,[1 2]);
C = tunablePID('C','pi');
AP_u = AnalysisPoint('u');
T = feedback(G*AP_u*C,1);      % closed loop r->y

Можно также создать точки анализа неявно, используя connect команда. Следующий синтаксис создает модель динамической системы с точками анализа, соединяя несколько моделей sys1,sys2,...,sysN:

sys = connect(sys1,sys2,...,sysN,inputs,outputs,APs);

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

Конструкция

AP = AnalysisPoint(name) создает одноканальную точку анализа. Вставка AP в любом месте обобщенной модели вашей системы управления, чтобы отметить точку интереса для линейного анализа или настройки контроллера. name задает имя блока.

AP = AnalysisPoint(name,N) создает многоканальную точку анализа с N каналы. Используйте этот блок для маркировки векторного сигнала как точки интереса или для объединения нескольких точек интереса.

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

name

Имя точки анализа, заданное как вектор символов, такой как 'AP'. Этот входной параметр устанавливает значение Name свойство AnalysisPoint блок. (См. «Свойства».) Когда вы создаете системную модель управления, используя блок, Name свойство - это то, что появляется в Blocks список результатов genss модель.

N

Количество каналов для многоканальной точки анализа, заданное в виде скалярного целого числа.

Свойства

Location

Имена каналов в AnalysisPoint блоки, заданные как вектор символов или массив ячеек из векторов символов.

По умолчанию каналы точки анализа называются в честь name аргумент. Для примера, если у вас есть одноканальная точка анализа, AP, который имеет имя 'AP', затем AP.Location = 'AP' по умолчанию. Если у вас есть многоканальная точка анализа, то AP.Location = {'AP(1)','AP(2)',...} по умолчанию. Задайте AP.Location для другого значения, если необходимо настроить имена каналов.

Open

Состояние открытия цикла, заданное как логическое значение или вектор логических значений. Это свойство отслеживает, открыт ли цикл или закрыт в точке анализа.

Для примера рассмотрим контур обратной связи на следующем рисунке.

Можно смоделировать этот цикл обратной связи следующим образом.

G = tf(1,[1 2]);
C = tunablePID('C','pi');
X = AnalysisPoint('X');
T = feedback(G*C,X);

Можно получить передаточную функцию от r до y с циклом обратной связи, открытым в X следующим образом.

 Try = getIOTransfer(T,'r','y','X');

В получившемся обобщенном пространстве состояний (genss) модель, AnalysisPoint блочное 'X' помечен как открытый. Другими словами, Try.Blocks.X.Open = 1.

Для многоканальной точки анализа, затем Open является логическим вектором с таким количеством записей, как у точки анализа есть каналы.

По умолчанию: 0 для всех каналов

Ts

Шаг расчета. Для AnalysisPoint блоки, значение этого свойства автоматически устанавливается во шаг расчета других блоков и моделей, с которыми вы соединяете его.

По умолчанию: 0 (непрерывное время)

TimeUnit

Модули измерения для временной переменной, шага расчета Ts, и любые задержки в модели, заданные как одно из следующих значений:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Изменение этого свойства не влияет на другие свойства и, следовательно, изменяет общее поведение системы. Использовать chgTimeUnit для преобразования между модулями времени без изменения поведения системы.

По умолчанию: 'seconds'

InputName

Входные имена каналов, заданные как одно из следующих:

  • Вектор символов - Для моделей с одним входом, например, 'controls'.

  • Массив ячеек из символьных векторов - Для мультивходов.

Кроме того, используйте автоматическое расширение вектора, чтобы назначить входные имена для мультивходов. Для примера, если sys является моделью с двумя входами, введите:

sys.InputName = 'controls';

Имена входа автоматически расширяются на {'controls(1)';'controls(2)'}.

Можно использовать сокращённое обозначение u для ссылки на InputName свойство. Для примера, sys.u эквивалентно sys.InputName.

Входные имена каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

По умолчанию: '' для всех входных каналов

InputUnit

Входные модули канала, заданные как один из следующих:

  • Вектор символов - Для моделей с одним входом, например, 'seconds'.

  • Массив ячеек из символьных векторов - Для мультивходов.

Использование InputUnit отслеживать модули входных сигналов. InputUnit не влияет на поведение системы.

По умолчанию: '' для всех входных каналов

InputGroup

Входные группы каналов. The InputGroup свойство позволяет вам назначить входные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте входные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - входными каналами, принадлежащими каждой группе. Для примера:

sys.InputGroup.controls = [1 2];
sys.InputGroup.noise = [3 5];

создает входные группы с именем controls и noise которые включают входные каналы 1, 2 и 3, 5, соответственно. Затем можно извлечь подсистему из controls входы для всех выходов с помощью:

sys(:,'controls')

По умолчанию: Struct без полей

OutputName

Выходы каналов, заданные как одно из следующих:

  • Вектор символов - Для моделей с одним выходом. Для примера, 'measurements'.

  • Массив ячеек из символьных векторов - Для мультивыход моделей.

Кроме того, используйте автоматическое расширение вектора, чтобы назначить имена выходов для мультивыходов. Для примера, если sys является двухвыпускной моделью, введите:

sys.OutputName = 'measurements';

Выходы данных автоматически расширяются на {'measurements(1)';'measurements(2)'}.

Можно использовать сокращённое обозначение y для ссылки на OutputName свойство. Для примера, sys.y эквивалентно sys.OutputName.

Имена выходных каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

По умолчанию: '' для всех выходных каналов

OutputUnit

Выход модулей канала, заданный как один из следующих:

  • Вектор символов - Для моделей с одним выходом. Для примера, 'seconds'.

  • Массив ячеек из символьных векторов - Для мультивыход моделей.

Использование OutputUnit отслеживать выход модулей сигнала. OutputUnit не влияет на поведение системы.

По умолчанию: '' для всех выходных каналов

OutputGroup

Выходы каналов. The OutputGroup свойство позволяет вам назначить выходные каналы систем MIMO в группы и ссылаться на каждую группу по имени. Задайте выходные группы как структуру. В этой структуре имена полей являются именами групп, а значения полей - выходными каналами, принадлежащими каждой группе. Для примера:

sys.OutputGroup.temperature = [1];
sys.InputGroup.measurement = [3 5];

создает выходные группы с именем temperature и measurement которые включают выходные каналы 1, и 3, 5, соответственно. Затем можно извлечь подсистему из всех входов в measurement выходы с использованием:

sys('measurement',:)

По умолчанию: Struct без полей

Name

Имя системы, заданное как вектор символов. Для примера, 'system_1'.

По умолчанию: ''

Notes

Любой текст, который вы хотите связать с системой, сохраненный как строка или массив ячеек из векторов символов. Свойство сохраняет любой тип данных, которые вы предоставляете. Для образца, если sys1 и sys2 являются динамические системы моделями, можно задать их Notes свойства следующим образом:

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 has a character vector.'

По умолчанию: [0×1 string]

UserData

Любой тип данных, которые вы хотите связать с системой, заданный как любой MATLAB® тип данных.

По умолчанию: []

Примеры

свернуть все

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

В данном примере модель объекта управления G=1/(s+2). C является настраиваемым ПИ-контроллером, и X является точкой анализа.

G = tf(1,[1 2]);
C = tunablePID('C','pi');
X = AnalysisPoint('X');
T = feedback(G*C,X); 
T.InputName = 'r';
T.OutputName = 'y';

T является настраиваемым genss модель. T.Blocks содержит блоки Система Управления модели, которые являются контроллером, C, и точка анализа, X.

T.Blocks
ans = struct with fields:
    C: [1x1 tunablePID]
    X: [1x1 AnalysisPoint]

Исследуйте переходную характеристику T.

stepplot(T)

Figure contains an axes. The axes with title From: r To: y contains an object of type line. This object represents T.

Наличие AnalysisPoint блок не изменяет динамику модели.

Можно использовать точку анализа для линейного анализа системы. Для образца извлеките отклик системы в 'y' к нарушению порядка, введенному в точку анализа.

Txy = getIOTransfer(T,'X','y');

The AnalysisPoint блок также позволяет вам временно открыть цикл обратной связи в этой точке. Для примера вычислите разомкнутый контур ответ от 'r' на 'y'.

Try_open = getIOTransfer(T,'r','y','X');

Установка имени точки анализа в качестве последнего аргумента для getIOTransfer извлекает ответ с циклом, открытым в этой точке. Исследуйте переходную характеристику Try_open чтобы убедиться, что это ответ разомкнутого контура.

stepplot(Try_open);

Figure contains an axes. The axes with title From: r To: y contains an object of type line. This object represents Try\_open.

Создайте модель следующего блока от r до y. Вставьте точку анализа во внутреннем местоположении, u.

Создание C и G, и назовите входы и выходы.

C = pid(2,1); 
C.InputName = 'e';  
C.OutputName = 'u';
G = zpk([],[-1,-1],1);
G.InputName = 'u';  
G.OutputName = 'y';

Создайте суммирующее соединение.

Sum = sumblk('e = r - y');

Объедините C, G, и суммирующее соединение для создания совокупной модели с точкой анализа u.

T = connect(G,C,Sum,'r','y','u')
T =

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks:
    AnalysisPoints_: Analysis point, 1 channels, 1 occurrences.

Type "ss(T)" to see the current value, "get(T)" to see all properties, and "T.Blocks" to interact with the blocks.

Результат T является genss модель. The connect команда создает AnalysisPoint блок, AnalysisPoints_, и вставляет его в T. Чтобы увидеть имя канала точки анализа в AnalysisPoints_, использовать getPoints.

getPoints(T)
ans = 1x1 cell array
    {'u'}

Канал точки анализа назван 'u'. Можно использовать эту точку анализа для извлечения откликов системы. Для примера следующие команды извлекают передачу разомкнутого контура в u и реакцию с обратной связью в y на нарушение порядка, введенную в u.

L = getLoopTransfer(T,'u',-1);
Tuy = getIOTransfer(T,'u','y');

T эквивалентно следующему блоку, где AP_u обозначает AnalysisPoint блочное AnalysisPoints_ с именем канала u.

Создайте блок для маркировки двух точек анализа в модели MIMO.

В системе управления, представленной на следующем рисунке, учитывайте каждый сигнал как векторный сигнал размера 2. Другими словами, сигнал r представляет {r(1),r(2)}, y представляет {y(1),y(2)}и так далее.

Поэтому сигнал обратной связи также является векторным сигналом размера 2. Создайте блок для маркировки двух точек анализа в пути обратной связи.

AP = AnalysisPoint('X',2)
AP =

Multi-channel analysis point at locations:
   X(1)
   X(2)

Type "ss(AP)" to see the current value and "get(AP)" to see all properties.

The AnalysisPoint блок хранится как переменная в рабочей области MATLAB ® под названием AP. В сложение, Name свойство блока установлено в X. Когда вы соединяете блок с числовыми моделями LTI или другими Блоками Система Управления, этот блок точки анализа идентифицируется в Blocks свойство получившегося genss модель как X. Имя блока X автоматически расширяется, чтобы сгенерировать имена каналов X(1) и X(2).

Иногда удобно изменять имена каналов, чтобы они совпадали с именами сигналов, которым они соответствуют в блок схеме вашей модели. Например, предположим, что интересующие вас точки, которые вы хотите отметить в своей модели, являются сигналами с именем L и V. Измените Location свойство AP чтобы имена совпадали с этими сигналами.

AP.Location = {'L';'V'}
AP =

Multi-channel analysis point at locations:
   L
   V

Type "ss(AP)" to see the current value and "get(AP)" to see all properties.

Хотя имена каналов изменились, имя блока остается X.

AP.Name
ans = 
'X'

Поэтому Blocks свойство genss модель, которую вы создаете с этим блоком, все еще идентифицирует блок как X. Использование getPoints поиск имен каналов доступных точек анализа в genss модель.

Введенный в R2014b