Отметьте представляющие интерес сигналы для анализа и проектирования системы управления

Аналитические точки

Моделируете ли вы свою систему управления в MATLAB® или Simulink®, используйте analysis points, чтобы отметить интересные места в модели. Аналитические точки позволяют вам получать доступ к внутренним сигналам, выполнять анализ разомкнутого цикла или задавать требования для контроллера, настраивающегося. В представлении блок-схемы аналитическая точка может считаться портом доступа к сигналу, вытекающему из одного блока другому. В Simulink аналитические точки присоединены к выходным портам блоков Simulink. Например, в следующей модели, ссылочный сигнал, r, и управляющий сигнал, u, является аналитическими точками, которые происходят из выходных параметров заданного значения и блоков 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);

Задайте аналитические точки для моделей MATLAB

Рассмотрите модель 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

В Simulink можно отметить аналитические точки или явным образом в блок-схеме или программно использовании команды addPoint для интерфейсов slTuner или slLinearizer.

Чтобы отметить аналитическую точку явным образом в модели, щелкните правой кнопкой по сигналу и, под Linear Analysis Points, выберите аналитический тип точки.

Можно выбрать любой из следующих аналитических типов точки с обратной связью, которые эквивалентны в интерфейсе 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 в инструменте, таком как 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, программное обеспечение создает аналитические точки по мере необходимости.

Смотрите также

| | |

Для просмотра документации необходимо авторизоваться на сайте