looptuneSetup

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

Синтаксис

[st0,SoftReqs,HardReqs,sysopt] = looptuneSetup(looptuneInputs)

Описание

пример

[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 = 102

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

Исследуйте настраивающиеся требования, возвращенные 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