Интересные места для линейного анализа
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 для всех каналов |
|
'SampleTime' . Для блоков Значение по умолчанию: |
|
Модули для переменной времени, шаг расчета
Изменение этого свойства не имеет никакого эффекта на другие свойства, и поэтому изменяет полное поведение системы. Используйте Значение по умолчанию: |
|
Введите названия канала, заданные как одно из следующего:
Также используйте автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если 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®. Значение по умолчанию: |