AnalysisPoint

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

Синтаксис

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

Описание

AnalysisPoint Блок Системы управления для маркировки местоположения в модели системы управления как интересное место для линейного анализа и контроллера, настраивающегося. Можно объединить AnalysisPoint блокируйтесь с числовыми моделями LTI, настраиваемыми моделями LTI и другими Блоками Системы управления, чтобы создать настраиваемые модели систем управления. 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'.

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

В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если sys 2D входная модель, введите:

sys.InputName = 'controls';

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

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

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

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

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

  • Определение точек контакта, когда взаимосвязанные модели

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

InputUnit

Введите модули канала в виде одного из следующего:

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

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

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

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

InputGroup

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

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

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

sys(:,'controls')

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

OutputName

Выведите названия канала в виде одного из следующего:

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

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

В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys 2D выходная модель, введите:

sys.OutputName = 'measurements';

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

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

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

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

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

  • Определение точек контакта, когда взаимосвязанные модели

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

OutputUnit

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

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

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

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

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

OutputGroup

Выведите группы канала. 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)

Присутствие AnalysisPoint блок не изменяет динамику модели.

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

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

AnalysisPoint блок также позволяет вам временно открывать обратную связь в той точке. Например, вычислите ответ разомкнутого контура из 'r' к 'y'.

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

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

stepplot(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');

Объедините CG, и соединение подведения итогов, чтобы создать совокупную модель, с анализом указывают на вас.

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 модель. connect команда создает AnalysisPoint блок, AnalysisPoints_, и вставляет его в T. Видеть, что имя анализа указывает канал в AnalysisPoints_, используйте getPoints.

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

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

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.

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