Интересные места для линейного анализа
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
каналы. Используйте этот блок, чтобы отметить сигнал с векторным знаком как интересное место или связать вместе несколько интересных мест.
|
Аналитическая точка называет в виде вектора символов, такого как |
|
Количество каналов для многоканального анализа указывает в виде скалярного целого числа. |
|
Имена каналов в По умолчанию каналы аналитической точки называют в честь |
|
Открывающее цикл состояние в виде логического значения или вектора из логических значений. Это дорожки свойства, открыт ли цикл или закрывается в аналитической точке. Например, рассмотрите обратную связь следующего рисунка. Можно смоделировать эту обратную связь можно следующим образом. 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'); В получившемся обобщенном пространстве состояний ( Для многоканальной аналитической точки, затем Значение по умолчанию: 0 для всех каналов |
|
Размер шага. Для Значение по умолчанию: |
|
Модули для переменной времени, шаг расчета
Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Использование Значение по умолчанию: |
|
Введите названия канала в виде одного из следующего:
В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если sys.InputName = 'controls'; Входные имена автоматически расширяются до Можно использовать краткое обозначение Входные названия канала имеют несколько использования, включая:
Значение по умолчанию: |
|
Введите модули канала в виде одного из следующего:
Используйте Значение по умолчанию: |
|
Введите группы канала. sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; создает входные группы под названием sys(:,'controls') Значение по умолчанию: Struct без полей |
|
Выведите названия канала в виде одного из следующего:
В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys.OutputName = 'measurements'; Выходные имена автоматически расширяются до Можно использовать краткое обозначение Выходные названия канала имеют несколько использования, включая:
Значение по умолчанию: |
|
Выведите модули канала в виде одного из следующего:
Используйте Значение по умолчанию: |
|
Выведите группы канала. sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5]; создает выходные группы под названием sys('measurement',:) Значение по умолчанию: Struct без полей |
|
Имя системы в виде вектора символов. Например, Значение по умолчанию: |
|
Любой текст, который вы хотите сопоставить с системой, сохраненной как строка или массив ячеек из символьных векторов. Свойство хранит, какой бы ни тип данных вы обеспечиваете. Например, если 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.' Значение по умолчанию: |
|
Любой тип данных вы хотите сопоставить с системой в виде любого MATLAB® тип данных. Значение по умолчанию: |