exponenta event banner

looptuneSetup

Создать настройку настройки для looptune настройки настройки для systune использование slTuner интерфейс

Описание

пример

[st0,SoftReqs,HardReqs,sysopt] = looptuneSetup(looptuneInputs) преобразует настройку настройки для looptune в эквивалентную настройку настройки для systune. Аргумент looptuneInputs является последовательностью входных аргументов для looptune указывает настройку настройки. Например,

[st0,SoftReqs,HardReqs,sysopt] = looptuneSetup(st0,wc,Req1,Req2,loopopt)
генерирует набор аргументов, который looptune(st0,wc,Req1,Req2,loopopt) и systune(st0,SoftReqs,HardReqs,sysopt) получить те же результаты.

Используйте эту команду, чтобы воспользоваться дополнительной гибкостью, которая systune предложения относительно looptune. Например, looptune требует настройки всех каналов цикла обратной связи MIMO на одну и ту же целевую полосу пропускания. Преобразование в systune позволяет задать различные частоты пересечения и формы контура для каждого контура в системе управления. Также, looptune рассматривает все требования к настройке как мягкие требования, оптимизируя их, но не требуя, чтобы какое-либо ограничение было точно выполнено. Преобразование в systune позволяет применять некоторые требования настройки к жестким ограничениям, в то время как другие - к мягким.

Эту команду также можно использовать для проверки требований настройки, применяемых looptune.

Примеры

свернуть все

Преобразование набора looptune входные данные для настройки модели Simulink ® на эквивалентный набор входных данных дляsystune.

Предположим, что вы создали и настроили slTuner интерфейс, st0, для настройки с looptune. Предположим также, что вы использовали looptune для настройки цикла обратной связи, определенного в st0 в пределах полосы пропускания wc = [wmin,wmax]. Преобразование этих переменных в форму, позволяющую использовать systune для дальнейшей настройки.

[st0,SoftReqs,HardReqs,sysopt] = looptuneSetup(st0,wc,controls,measurements);

Команда возвращает требования к системе с замкнутым контуром и настройке для эквивалента systune команда, systune(st0,SoftReqs,HardReqs,sysopt). Множества SoftReqs и HardReqs содержат требования настройки, неявно налагаемые looptune. Эти требования обеспечивают целевую полосу пропускания и пределы стабильности по умолчанию looptune.

Если при настройке системы использовались дополнительные требования к настройке looptune, добавить их во входной список looptuneSetup. Например, предположим, что вы использовали TuningGoal.Tracking требование, Req1и TuningGoal.Rejection требование, Req2. Предположим также, что вы устанавливаете параметры алгоритма для looptune использование looptuneOptions. Включить эти требования и варианты в эквивалент systune команда.

[st0,SoftReqs,HardReqs,sysopt] = looptuneSetup(st0,wc,Req1,Req2,loopopt);

Результирующие аргументы позволяют создать проблему эквивалентной настройки для systune.

Настройка системы управления моделью Simulink ®rct_distillation для настройки с помощью looptune. Затем преобразуйте настройку в systune и изучите полученные аргументы. Результаты отражают требования к настройке, неявно применяемые при настройке с помощью looptune.

Создание slTuner интерфейс с моделью Simulink и укажите блоки для настройки. Настройка интерфейса для настройки с помощью looptune путем добавления точек анализа, определяющих разделение между заводом и контроллером. Также добавьте точки анализа, необходимые для установления требований настройки.

open_system('rct_distillation')

tuned_blocks = {'PI_L','PI_V','DM'};
st0 = slTuner('rct_distillation',tuned_blocks);

addPoint(st0,{'L','V','y','r','dL','dV'});

Теперь эта система готова к настройке на looptune, используя заданные цели настройки. Например, укажите целевой диапазон полосы пропускания. Создайте требование настройки, которое устанавливает отслеживание ссылок в обоих каналах системы, и требование отклонения возмущений.

wc = [0.1,0.5];
req1 = TuningGoal.Tracking('r','y',15,0.001,1);
max_disturbance_gain = frd([0.05 5 5],[0.001 0.1 10],'TimeUnit','min');
req2 = TuningGoal.Gain({'dL','dV'},'y',max_disturbance_gain);

controls = {'L','V'};
measurement = 'y';

[st,gam,info] = looptune(st0,controls,measurement,wc,req1,req2);
Final: Peak gain = 1.03, Iterations = 68

looptune успешно настраивает систему на эти требования. Однако может потребоваться переключение на systune чтобы воспользоваться дополнительной гибкостью при настройке проблемы. Например, вместо настройки обоих каналов на петлевую полосу пропускания внутри wc, для каждого цикла может потребоваться указать разные частоты пересечения. Или, возможно, вы захотите применить требования настройки, req1 и req2, в качестве жестких ограничений и добавить другие требования в качестве мягких требований.

Преобразовать looptune входные аргументы в набор входных аргументов для systune.

[st0,SoftReqs,HardReqs,sysopt] = looptuneSetup(st0,controls,measurement,wc,req1,req2);

Эта команда возвращает набор аргументов, которые можно включить в systune для эквивалентных результатов для настройки с looptune. Другими словами, следующая команда эквивалентна looptune команда.

[st,fsoft,ghard,info] = systune(st0,SoftReqs,HardReqs,sysopt);
Final: Peak gain = 1.03, Iterations = 68

Проверьте требования к настройке, возвращенные looptuneSetup. При настройке этой системы управления на looptune, все требования рассматриваются как мягкие требования. Поэтому HardReqs пуст. SoftReqs является массивом TuningGoal требования. Эти требования вместе обеспечивают пропускную способность и маржу looptune плюс указанные дополнительные требования.

SoftReqs
SoftReqs = 

  5x1 heterogeneous SystemLevel (LoopShape, Tracking, Gain, ...) array with properties:

    Models
    Openings
    Name

Например, проверьте первую запись в SoftReqs.

SoftReqs(1)
ans = 

  LoopShape with properties:

       LoopGain: [1x1 zpk]
       CrossTol: 0.3495
          Focus: [0 Inf]
      Stabilize: 1
    LoopScaling: 'on'
       Location: {'y'}
         Models: NaN
       Openings: {0x1 cell}
           Name: 'Open loop GC'

looptuneSetup выражает целевой диапазон частот пересечения wc в качестве TuningGoal.LoopShape требование. Это требование ограничивает профиль усиления с разомкнутым контуром формой контура, сохраненной в LoopGain свойство, с частотой пересечения и допуском пересечения (CrossTol) определяется wc. Проверьте форму этого контура.

bodemag(SoftReqs(1).LoopGain,logspace(-2,0)),grid

Целевой переход выражается в виде профиля усиления интегратора с переходом между 0,1 и 0,5 рад/с, как указано wc. Если вы хотите указать другую форму контура, вы можете изменить это TuningGoal.LoopShape требование, прежде чем предоставить его systune.

looptune также настраивается на поля стабильности по умолчанию, которые можно изменить с помощью looptuneOptions. Для systune, пределы устойчивости задаются с помощью TuningGoal.Margins требования. Здесь, looptuneSetup выразил поля стабильности по умолчанию как мягкие TuningGoal.Margins требования. Например, проверьте четвертую запись в SoftReqs.

SoftReqs(4)
ans = 

  Margins with properties:

      GainMargin: 7.6000
     PhaseMargin: 45
    ScalingOrder: 0
           Focus: [0 Inf]
        Location: {2x1 cell}
          Models: NaN
        Openings: {0x1 cell}
            Name: 'Margins at plant inputs'

Последняя запись в SoftReqs является похожим TuningGoal.Margins требование, ограничивающее маржи на заводских выходах. looptune применяет эти маржи в качестве мягких требований. Если требуется преобразовать их в жесткие зависимости, передайте их в systune во входном векторе HardReqs вместо входного вектора SoftReqs.

Входные аргументы

свернуть все

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

Выходные аргументы

свернуть все

Интерфейс для настройки систем управления, смоделированный в Simulink, возвращенный как slTuner интерфейс. st0 идентичен slTuner интерфейс, используемый в качестве входных данных для looptuneSetup.

Требования к программной настройке для настройки с помощью systune, возвращенный как вектор TuningGoal объекты требований.

looptune выражает большинство своих требований к неявной настройке как требования к мягкой настройке. Например, заданная целевая полоса пропускания цикла выражается как TuningGoal.LoopShape требование с интегральным профилем усиления и пересечением на целевой частоте. Дополнительно, looptune обрабатывает все указанные явные требования (Req1,...ReqN) как мягкие требования. SoftReqs содержит все эти требования к настройке.

Требования к жесткой настройке (ограничения) для настройки с помощью systune, возвращенный как вектор TuningGoal объекты требований.

Поскольку looptune рассматривает большинство требований к настройке как мягкие требования, HardReqs обычно пуст. Однако при изменении значения по умолчанию MaxFrequency вариант looptuneOptions набор, loopopt, то это требование выглядит как жесткое TuningGoal.Poles ограничение.

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

Некоторые из опций в looptuneOptions набор, loopopt, преобразуются в жесткие или мягкие требования, которые возвращаются в HardReqs и SoftReqs. Другие опции соответствуют опциям в systuneOptions набор.

Представлен в R2014a