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 set, loopopt, затем это требование появляется как жесткое TuningGoal.Poles ограничение.

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

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

Введенный в R2014a