looptuneSetup

Преобразуйте регулируемый параметр для looptune для регулируемого параметра systune

Описание

пример

[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 (Simulink Control Design) для slTuner.

Примеры

свернуть все

Преобразуйте набор из 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, включает три компонента: матрица развязки 2 на 2 D и два ПИ-контроллеров 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 = 41
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 = 41
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: Tunable 2x2 gain, 1 occurrences.
    PI_L: Tunable PID controller, 1 occurrences.
    PI_V: Tunable 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=5×1 object
  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))

Figure contains an axes. The axes contains an object of type line. These objects represent Target loop shape, S bound, T bound.

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

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

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

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

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

См. также

| | | | | (Simulink Control Design) | (Simulink Control Design)

Введенный в R2013b