Моделируете ли вы свою систему управления в 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
интерфейс. Для получения дополнительной информации о том, как программное обеспечение обрабатывает открытия цикла во время линеаризации, смотрите Как Открытия Цикла Обработок программного обеспечения (Simulink Control Design).
Когда вы создаете 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
. Для получения дополнительной информации о том, как программное обеспечение обрабатывает открытия цикла во время линеаризации, смотрите Как Открытия Цикла Обработок программного обеспечения (Simulink Control Design).
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 в инструменте, таком как Linear Analysis Tool или 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, программное обеспечение создает аналитические точки по мере необходимости.
AnalysisPoint
| getIOTransfer
| getPoints