exponenta event banner

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

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

Независимо от того, моделируется ли система управления в MATLAB ® или Simulink ®, используйте точки анализа, чтобы отметить интересующие точки в модели. Точки анализа позволяют получать доступ к внутренним сигналам, выполнять анализ с разомкнутым контуром или задавать требования к настройке контроллера. В представлении блок-схемы точка анализа может рассматриваться как порт доступа к сигналу, протекающему от одного блока к другому. В 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 команда для slLinearizer или slTuner интерфейсы.

Чтобы указать точки анализа непосредственно в модели Simulink, сначала откройте вкладку Линеаризация (Linearization). Для этого в галерее «Приложения» щелкните Диспетчер линеаризации.

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

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

  2. На вкладке Линеаризация (Linearization) в галерее Вставить точки анализа (Insert Analysis Points) выберите тип точки анализа, которую требуется определить.

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

  3. Повторите шаги 1 и 2 для всех сигналов, которые необходимо определить как точки анализа.

Можно выбрать любой из следующих типов точек анализа с замкнутым контуром, которые эквивалентны в пределах slLinearizer или slTuner интерфейс; то есть они обрабатываются одинаково с помощью функций анализа, таких как getIOTransferи цели настройки, такие как TuningGoal.StepTracking.

  • Входное возмущение

  • Выходное измерение

  • Чувствительность

  • Дополнительная чувствительность

Если необходимо ввести также постоянное размыкание контура в сигнале, выберите один из следующих типов точек анализа с разомкнутым контуром:

  • Вход с разомкнутым контуром

  • Выход с разомкнутым контуром

  • Передача шлейфа

  • Разрыв цикла

При определении сигнала как точки разомкнутого контура функции анализа, такие как 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);

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

  • В замкнутом контуре сигнал добавляется только в качестве точки анализа.

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

При указании операций ввода-вывода в таком инструменте, как «Линеаризатор модели» или «Тюнер системы управления», программа создает точки анализа по мере необходимости.

См. раздел Точки анализа для анализа и настройки

После того как вы отметили точки анализа, вы можете проанализировать ответ в любой из этих точек, используя следующие функции анализа:

  • 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'))

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

См. также

| | |