Интересные места для линейного анализа
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®. Значение по умолчанию: |