Создайте интерфейс slTuner
к модели Simulink и задайте блоки, которые будут настроены. Сконфигурируйте интерфейс для настройки с looptune
путем добавления аналитических точек, которые задают разделение между объектом и контроллером. Также добавьте аналитические точки, необходимые для наложения настраивающихся требований.
Эта система теперь готова к настройке с looptune
, с помощью настраивающихся целей, которые вы задаете. Например, задайте целевую область значений пропускной способности. Создайте настраивающееся требование, которое налагает отслеживание уставки в обоих каналах системы и требование подавления помех.
Final: Peak gain = 1.03, Iterations = 102
looptune
успешно настраивает систему на эти требования. Однако вы можете хотеть переключиться на systune
, чтобы использовать в своих интересах дополнительную гибкость в конфигурировании вашей проблемы. Например, вместо того, чтобы настроить оба канала на пропускную способность цикла в wc
, вы можете хотеть задать различные перекрестные частоты для каждого цикла. Или, вы можете хотеть осуществить настраивающиеся требования, req1
и req2
, так же трудные ограничения, и добавить другие требования как мягкие требования.
Преобразуйте входные параметры looptune
в набор входных параметров для systune
.
Эта команда возвращает набор аргументов, которые можно накормить systune
для эквивалентных результатов к настройке с looptune
. Другими словами, следующая команда эквивалентна команде looptune
.
Final: Peak gain = 1.03, Iterations = 102
Исследуйте настраивающиеся требования, возвращенные 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
.