looptuneSetup

Преобразуйте настраивающуюся настройку для looptune к настраивающейся настройке для systune

Синтаксис

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

Описание

пример

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

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

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

Можно также использовать эту команду, чтобы зондировать в настраивающиеся требования, используемые looptune.

Примечание

При настройке моделей Simulink® через интерфейс slTuner используйте looptuneSetup для slTuner (требует Simulink Control Design™).

Примеры

свернуть все

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

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

[T0,SoftReqs,HardReqs,sysopt] = looptuneSetup(C0,G0,wc);

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

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

[T0,SoftReqs,HardReqs,sysopt] = looptuneSetup(C0,G0,wc,Req1,Req2,loopopt);

Получившиеся аргументы позволяют вам создавать эквивалентную настраивающую проблему для systune. В частности, [~,C] = looptune(C0,G0,wc,Req1,Req2,loopopt) приводит к тому же результату как следующие команды.

T = systune(T0,SoftReqs,HardReqs,sysopt);
C = setBlockValue(C0,T);

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

В данном примере объект 2 на 2 G представлен:

G(s)=175s+1[87.8-86.4108.2-109.6].

Контроллер фиксированной структуры, C, включает три компонента: разъединяющийся матричный D 2 на 2 и два контроллера PI PI_L и PI_V. Сигналы r, y и e являются сигналами с векторным знаком размерности 2.

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

s = tf('s');
G = 1/(75*s+1)*[87.8 -86.4; 108.2 -109.6];
G.InputName = {'qL','qV'};
G.OutputName = {'y'};

D = tunableGain('Decoupler',eye(2));
D.InputName = 'e';
D.OutputName = {'pL','pV'};
PI_L = tunablePID('PI_L','pi');
PI_L.InputName = 'pL';
PI_L.OutputName = 'qL';
PI_V = tunablePID('PI_V','pi'); 
PI_V.InputName = 'pV';
PI_V.OutputName = 'qV'; 
sum1 = sumblk('e = r - y',2);
C0 = connect(PI_L,PI_V,D,sum1,{'r','y'},{'qL','qV'});

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

wc = [0.1,0.5];
TR = TuningGoal.Tracking('r','y',15,0.001,1);
DR = TuningGoal.Rejection({'qL','qV'},1/s);
DR.Focus = [0 0.1];

[G,C,gam,info] = looptune(G,C0,wc,TR,DR);
Final: Peak gain = 1, Iterations = 42
Achieved target gain value TargetGain=1.

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

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

[T0,SoftReqs,HardReqs,sysopt] = looptuneSetup(G,C0,wc,TR,DR);

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

[T,fsoft,ghard,info] = systune(T0,SoftReqs,HardReqs,sysopt);
Final: Peak gain = 1, Iterations = 42
Achieved target gain value TargetGain=1.

Исследуйте аргументы, возвращенные looptuneSetup.

T0
T0 =

  Generalized continuous-time state-space model with 0 outputs, 2 inputs, 4 states, and the following blocks:
    APU_: Analysis point, 2 channels, 1 occurrences.
    APY_: Analysis point, 2 channels, 1 occurrences.
    Decoupler: Parametric 2x2 gain, 1 occurrences.
    PI_L: Parametric PID controller, 1 occurrences.
    PI_V: Parametric PID controller, 1 occurrences.

Type "ss(T0)" to see the current value, "get(T0)" to see all properties, and "T0.Blocks" to interact with the blocks.

Программное обеспечение создает систему управления с обратной связью для systune путем соединения объекта и контроллера в их сигналах управления и измерения, и вставки двухканального блока AnalysisPoint в каждом из местоположений связи, как проиллюстрировано в следующей схеме.

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

SoftReqs
SoftReqs = 
  5x1 heterogeneous SystemLevel (LoopShape, Tracking, Rejection, ...) 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: {2x1 cell}
         Models: NaN
       Openings: {0x1 cell}
           Name: 'Open loop CG'

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

viewGoal(SoftReqs(1))

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

looptune также настраивается на запасы устойчивости по умолчанию, что можно изменить использование looptuneOptions. Для systune запасы устойчивости заданы с помощью требований TuningGoal.Margins. Здесь, looptuneSetup выразил запасы устойчивости по умолчанию looptune как мягкие требования 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.

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

свернуть все

Модель системы управления с обратной связью для настройки с systune, возвращенным как обобщенная модель genss пространства состояний. Чтобы вычислить T0, объект, G0, и контроллер, C0, объединен в настройке обратной связи следующего рисунка.

Связи между C0 и G0 определяются путем соответствия с сигналами с помощью свойств InputName и OutputName этих двух моделей. В целом сигнальные линии в схеме могут представлять сигналы с векторным знаком. блоки AnalysisPoint, обозначенные X в схеме, вставляются между контроллером и объектом. Это позволяет определение разомкнутого цикла и требований с обратной связью к сигналам, введенным или измеренным при вводах или выводах объекта. Например, пропускная способность, wc преобразован в требование TuningGoal.LoopShape, которое налагает желаемое перекрестное соединение на сигнал разомкнутого цикла, измеренный во входе объекта.

Для получения дополнительной информации о структуре моделей системы управления с обратной связью для настройки с systune смотрите страницу с описанием systune.

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

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

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

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

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

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

Альтернативы

Когда настройка Simulink с помощью slTuner, интерфейса, преобразовывает проблему looptune в systune с помощью looptuneSetup для slTuner.

Введенный в R2013b