Этот пример показывает, как оптимизировать проект, чтобы удовлетворить пользовательское требование сигнала. Вы оптимизируете параметры контроллера, чтобы минимизировать энергию сигнала приведения в действие объекта при удовлетворении требований переходного процесса.
Загрузите сохраненный сеанс инструмента Response Optimization.
load sldo_model1_custom_signal_session sdotool(SDOSessionData);
Следующая модель Simulink® открывается.

Инструмент Response Optimization, сконфигурированный со следующими настройками, также открывается:
Характеристики переходного процесса, заданные на выводе блока Plant, что образцовый вывод должен удовлетворить:
Максимальное перерегулирование 5%
Максимальное время нарастания 10 секунд
Максимальное время установления 30 секунд
Разработайте переменный набор с параметрами контроллера Kp, Ki и Kd. Эти параметры имеют минимальное значение 0.
Переменные для требований шага (PlantResponse), регистрируемый сигнал (PlantOutput) и переменные проекта (DesignVars), которые появляются в области Data.

Задайте сигнал регистрировать. Вы применяете пользовательское требование к этому регистрируемому сигналу.
Выберите New> Signal.
Окно открывается, где вы выбираете сигнал регистрировать.
В окне модели Simulink кликните по выводу блока Controller.
Окно обновляет, чтобы отобразить выбранный сигнал.
Выберите сигнал и нажатие кнопки
, чтобы добавить его в набор сигнала.
В Signal set введите PlantActuator.
Нажмите OK. Новая переменная PlantActuator появляется в области Data.
Задайте пользовательское требование, чтобы примениться к сигналу.
Пользовательское требование вызывает целевую функцию sldo_model1_minimize_energy, который возвращает энергию в сигнале PlantActuator. Энергия сигнала минимизирована. Эта функция принимает:
data входного параметра, который является структурой с полями для переменных проекта в области Data. Сигналы регистрируются для номинальных и неопределенных значений параметров, если существует кто-либо.
Возвращает объективное значение, которое будет минимизировано.
Чтобы видеть содержимое этой функции, введите edit sldo_model1_minimize_energy.
Выберите New> Custom Requirement.
Окно открывается, где вы задаете пользовательское требование.
Задайте MinimizeEnergy как Name.
Задайте @sldo_model1_minimize_energy как Function.
Выберите Minimize the function output как Type.

В области Select Signals and Systems to Bound установите флажок PlantActuator, чтобы сопоставить пользовательское требование с тем сигналом.

Нажмите OK. Новая переменная появляется в области Data инструмента. Окно также обновляет, чтобы графически отобразить пользовательское требование сигнала.
Нажмите Optimize.

После нескольких итераций оптимизация сходится, чтобы удовлетворить и пользовательские требования и переходного процесса сигнала.

Закройте модель.
setOption(sdotool('sldo_model1'),'NoPromptClose',true)
bdclose('sldo_model1')