Создайте slTuner интерфейс к модели Simulink и укажите блоки, которые будут настроены. Сконфигурируйте интерфейс для настройки с looptune путем добавления точек анализа, которые определяют разделение между объектом и контроллером. Также добавьте точки анализа, необходимые для навязывания требований настройки.
Эта система теперь готова к настройке с looptune, используя заданные цели настройки. Для примера задайте целевую область значений полосы пропускания. Создайте требование настройки, которое накладывает отслеживание уставки в обоих каналах системы и подавление помех требование.
Final: Peak gain = 1.03, Iterations = 68
looptune успешно настраивает систему в соответствии с этими требованиями. Однако можно хотеть переключиться на systune чтобы воспользоваться дополнительной гибкостью при конфигурировании вашей проблемы. Для примера вместо настройки обоих каналов на цикл полосу пропускания внутри wcМожно хотеть задать различные частоты среза для каждого цикла. Или можно захотеть применить требования к настройке, req1 и req2, как жесткие ограничения, и добавить другие требования как мягкие требования.
Преобразуйте looptune Входные параметры к набору входных параметров для systune.
Эта команда возвращает набор аргументов, которые можно передавать systune для эквивалентных результатов настройки с помощью looptune. Другими словами, следующая команда эквивалентна looptune команда.
Final: Peak gain = 1.03, Iterations = 68
Исследуйте требования к настройке, возвращенные looptuneSetup. При настройке этой системы управления с looptune, все требования рассматриваются как мягкие требования. Поэтому HardReqs пуст. SoftReqs является массивом TuningGoal требования. Эти требования вместе обеспечивают соблюдение пропускной способности и полей looptune команда, плюс заданные дополнительные требования.
SoftReqs =
5x1 heterogeneous SystemLevel (LoopShape, Tracking, Gain, ...) array with properties:
Models
Openings
Name
Например, исследуйте первую запись в SoftReqs.
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. Исследуйте форму цикла.
Целевой кроссовер выражается как профиль усиления интегратора с перекрестием между 0,1 и 0,5 рад/с, как задано wc. Если необходимо задать другую форму цикла, можно изменить эту TuningGoal.LoopShape требование перед предоставлением его systune.
looptune также настраивает на запасы устойчивости по умолчанию, которые можно изменить с помощью looptuneOptions. Для systune, запасы устойчивости заданы с помощью TuningGoal.Margins требования. Здесь, looptuneSetup выразил запасы устойчивости по умолчанию как мягкие TuningGoal.Margins требования. Например, исследуйте четвертую запись в SoftReqs.
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.