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.

Настройте систему управления моделью rct_distillation Simulink® для настройки с 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 = 81

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 = 81

Исследуйте настраивающиеся требования, возвращенные looptuneSetup. При настройке этой системы управления с looptune, все требования обработаны как мягкие требования. Поэтому HardReqs isempty. 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