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

Точки анализа

Моделируете ли вы свою систему управления в 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);

Задайте точки анализа для моделей 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 команда для slLinearizer или slTuner интерфейсов.

Чтобы задать точки анализа непосредственно в модели Simulink, сначала откройте вкладку Linearization. Для этого в Apps галерее нажмите Linearization Manager.

Чтобы задать точку анализа:

  1. В модели щелкните сигнал, который вы хотите задать как точку анализа.

  2. На вкладке Linearization в коллекции Insert Analysis Points выберите тип точки анализа, которую необходимо задать.

    Когда вы задаете точки анализа, программа добавляет аннотации к модели с указанием типа точки линейного анализа.

  3. Повторите шаги 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);

Как и когда вы задаете точки анализа непосредственно в модели, если вы задаете объект ввода-вывода линеаризации с:

  • Тип с обратной связью, сигнал добавляется только как точка анализа.

  • Разомкнутого типа разомкнутый контур складывается как точка анализа, так и как постоянное открытие.

Когда вы задаете операции ввода-вывода в инструменте, таком как 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 является вектором с двумя входами в модели 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, программа создает точки анализа по мере необходимости.

См. также

| | |