Моделируете ли вы свою систему управления в MATLAB® или Simulink®, используйте analysis points, чтобы отметить интересные места в модели. Аналитические точки позволяют вам получать доступ к внутренним сигналам, выполнять анализ разомкнутого цикла или задавать требования для контроллера, настраивающегося. В представлении блок-схемы аналитическая точка может считаться портом доступа к сигналу, текущему из одного блока другому. В Simulink аналитические точки присоединены к выходным портам блоков Simulink. Например, в следующей модели, ссылочном сигнале, r
, и управляющий сигнал, u
, аналитические точки, которые происходят из выходных параметров setpoint и блоков C соответственно.
Каждая аналитическая точка может служить одному или нескольким следующих целей:
Введите — программное обеспечение вводит аддитивный входной сигнал в аналитической точке, например, чтобы смоделировать воздействие во входе объекта.
Вывод Программное обеспечение измеряет значение сигналов в точке, например, чтобы изучить удар воздействия на объекте выход.
Открытие цикла — программное обеспечение вставляет перерыв в потоке сигналов в точке, например, чтобы изучить ответ разомкнутого цикла во входе объекта.
Можно применить эти цели одновременно. Например, чтобы вычислить ответ разомкнутого цикла из u
к y
, можно обработать u
и как открытие цикла и как вход. Когда вы используете аналитическую точку больше чем в одной цели, программное обеспечение применяет цели в этой последовательности: выведите измерение, затем открытие цикла, затем введите.
Используя аналитические точки, можно извлечь разомкнутый цикл и ответы с обратной связью из модели системы управления. Например, предположите T
представляет систему с обратной связью в модели выше, и u
и y
отмечены как аналитические точки. T
может быть или обобщенная модель в пространстве состояний или slLinearizer
или slTuner
взаимодействуйте через интерфейс к модели Simulink. Можно построить ответ с обратной связью на воздействие шага во входе объекта со следующими командами:
Tuy = getIOTransfer(T,'u','y'); stepplot(Tuy)
Аналитические точки также полезны, чтобы задать конструктивные требования при настройке систем управления с systune
команда. Например, можно создать требование, которое ослабляет воздействия на объекте, введенном фактором 10 (20 дБ) или больше.
Req = TuningGoal.Rejection('u',10);
Рассмотрите модель LTI следующей блок-схемы.
G = tf(10,[1 3 10]); C = pid(0.2,1.5); T = feedback(G*C,1);
С этой моделью можно получить ответ с обратной связью из r
к y
. Однако вы не можете анализировать ответ разомкнутого цикла во входе объекта или симулировать отклонение воздействия шага во входе объекта. Чтобы включить такой анализ, отметьте u
сигнала как аналитическая точка путем вставки
AnalysisPoint
блокируйтесь между объектом и контроллером.
AP = AnalysisPoint('u'); T = feedback(G*AP*C,1); T.OutputName = 'y';
Вход объекта, u
, теперь доступно для анализа.
В создании модели T
, вы вручную создали аналитический блок AP
точки и явным образом включенный это в обратную связь. Когда вы комбинируете модели с помощью
connect
команда, можно дать программному обеспечению команду вставлять аналитические точки автоматически в местоположениях, которые вы задаете. Для получения дополнительной информации смотрите connect
.
В Simulink можно отметить аналитические точки или явным образом в блок-схеме или программно использовании addPoint
команда для slLinearizer
или slTuner
интерфейсы.
Чтобы задать аналитические точки непосредственно в вашей модели Simulink, откройте сначала вкладку Linearization. Для этого в галерее Apps, нажмите Linearization Manager.
Задавать аналитическую точку:
В модели кликните по сигналу, который вы хотите задать как аналитическая точка.
На вкладке Linearization, в галерее Insert Analysis Points, выбирают тип аналитической точки, которую что вы хотите задать.
Когда вы задаете аналитические точки, программное обеспечение добавляет аннотации в вашу модель, указывающую на линейный аналитический тип точки.
Повторите шаги 1 и 2 для всех сигналов, которые вы хотите задать, когда анализ указывает.
Можно выбрать любой из следующих аналитических типов точки с обратной связью, которые эквивалентны в slLinearizer
или slTuner
интерфейс; то есть, они обработаны тот же путь аналитическими функциями, такими как getIOTransfer
, и настройка целей, таких как TuningGoal.StepTracking
.
Input Perturbation
Output Measurement
Sensitivity
Complementary Sensitivity
Если вы хотите ввести постоянный цикл, открывающийся в сигнале также, выберите один из следующих аналитических типов точки разомкнутого цикла:
Open-Loop Input
Open-Loop Output
Loop Transfer
Loop Break
Когда вы задаете сигнал как точку разомкнутого цикла, анализ функционирует, такие как getIOTransfer
всегда осуществляйте пропуск цикла в том сигнале во время линеаризации. Все аналитические типы точки разомкнутого цикла эквивалентны в slLinearizer
или slTuner
интерфейс. Для получения дополнительной информации о том, как программное обеспечение обрабатывает открытия цикла во время линеаризации, смотрите Как Открытия Цикла Обработок программного обеспечения.
Когда вы создаете slLinearizer
или slTuner
интерфейс для модели, любые аналитические точки, заданные в модели, автоматически добавляется к интерфейсу. Если вы задали аналитическое использование точки:
Тип с обратной связью, сигнал добавляется как аналитическая точка только.
Тип разомкнутого цикла, сигнал добавляется и как аналитическая точка и как постоянное открытие.
Чтобы отметить аналитические точки программно, используйте addPoint
команда. Например, рассмотрите scdcascade
модель.
open_system('scdcascade')
Чтобы отметить аналитические точки, сначала создайте slTuner
интерфейс.
ST = slTuner('scdcascade');
Чтобы добавить сигнал как аналитическую точку, используйте addPoint
команда, задавая исходный блок и номер порта для сигнала.
addPoint(ST,'scdcascade/C1',1);
Если исходный блок имеет один выходной порт, можно не использовать номер порта.
addPoint(ST,'scdcascade/G2');
Для удобства можно также отметить аналитические точки с помощью:
Имя сигнала.
addPoint(ST,'y2');
Объединенный путь к исходному блоку и номер порта.
addPoint(ST,'scdcascade/C1/1')
Конец всего пути к исходному блоку, когда однозначный.
addPoint(ST,'G1/1')
Можно также добавить постоянные открытия в slLinearizer
или slTuner
интерфейс с помощью addOpening
команда и задающие сигналы таким же образом что касается addPoint
. Для получения дополнительной информации о том, как программное обеспечение обрабатывает открытия цикла во время линеаризации, смотрите Как Открытия Цикла Обработок программного обеспечения.
addOpening(ST,'y1m');
Можно также задать аналитические точки путем создания объектов ввода-вывода линеаризации с помощью linio
команда.
io(1) = linio('scdcascade/C1',1,'input'); io(2) = linio('scdcascade/G1',1,'output'); addPoint(ST,io);
Как тогда, когда вы задаете аналитические точки непосредственно в вашей модели, если вы задаете объект I/O линеаризации с:
Тип с обратной связью, сигнал добавляется как аналитическая точка только.
Тип разомкнутого цикла, сигнал добавляется и как аналитическая точка и как постоянное открытие.
Когда вы задаете ответ I/Os в инструменте, таком как Model Linearizer или Control System Tuner, программное обеспечение создает аналитические точки по мере необходимости.
Если вы отметили аналитические точки, можно анализировать ответ в любой из этих точек с помощью следующих аналитических функций:
getIOTransfer
— Передаточная функция для заданных вводов и выводов
getLoopTransfer
— Передаточная функция разомкнутого цикла от аддитивного входа в заданной точке к измерению в той же точке
getSensitivity
— Функция чувствительности в заданной точке
getCompSensitivity
— Дополнительная функция чувствительности в заданной точке
Можно также создать настраивающиеся цели, которые ограничивают отклик системы в этих точках. Инструменты, чтобы выполнить эти операции действуют подобным образом для моделей, созданных в командной строке и моделях, созданных в Simulink.
Чтобы просмотреть доступные аналитические точки, используйте getPoints
функция. Можно просмотреть анализ для созданных моделей:
В командной строке:
В Simulink:
Для моделей с обратной связью, созданных в командной строке, можно также использовать имена входа и выхода модели когда:
Вычисление ответа с обратной связью.
ioSys = getIOTransfer(T,'u','y'); stepplot(ioSys)
Вычисление ответа разомкнутого цикла.
loopSys = getLoopTransfer(T,'u',-1);
bodeplot(loopSys)
Создание настраивающихся целей для systune
.
R = TuningGoal.Margins('u',10,60);
Используйте тот же метод, чтобы относиться к аналитическим точкам для моделей, созданных в Simulink. В моделях Simulink, для удобства, можно использовать любое однозначное сокращение аналитических имен точки, возвращенных getPoints
.
ioSys = getIOTransfer(ST,'u1','y1'); sensG2 = getSensitivity(ST,'G2'); R = TuningGoal.Margins('u1',10,60);
Наконец, если некоторые аналитические точки являются сигналами с векторным знаком или многоканальными местоположениями, можно использовать индексы, чтобы выбрать конкретные записи или каналы. Например, предположите u
вектор 2D записи в модели MIMO с обратной связью.
G = ss([-1 0.2;0 -2],[1 0;0.3 1],eye(2),0); C = pid(0.2,0.5); AP = AnalysisPoint('u',2); T = feedback(G*AP*C,eye(2)); T.OutputName = 'y';
Можно вычислить ответ разомкнутого цикла второго канала и измерить удар воздействия на первом канале.
L = getLoopTransfer(T,'u(2)',-1); stepplot(getIOTransfer(T,'u(1)','y'))
Когда вы создаете настраивающиеся цели в Control System Tuner, программное обеспечение создает аналитические точки по мере необходимости.