Этот пример показывает, как оптимизировать проект, чтобы удовлетворить пользовательское требование к сигналу. Вы оптимизируете параметры контроллера, чтобы минимизировать энергию сигнала приведения в действие объекта с учетом переходной характеристики требований.
Загрузка сохраненного сеанса Response Optimizer.
load sldo_model1_custom_signal_session sdotool(SDOSessionData);
Следующий Simulink® откроется модель.
Откроется Response Optimizer, настроенный со следующими настройками:
Переходные характеристики характеристики, заданные на выходе Plant
блокируйте, что выход модели должен удовлетворять:
Максимальное перерегулирование 5%
Максимальное время нарастания 10 секунд
Максимальное время урегулирования 30 секунд
Набор конструктивных переменных с параметрами контроллера Kp
, Ki
и Kd
. Эти параметры имеют минимальное значение 0.
Переменные для требований к шагам (PlantResponse
), регистрируемый сигнал (PlantOutput
) и конструктивные переменные (DesignVars
) которые появляются в области Data.
Задайте сигнал для регистрации. Вы применяете пользовательское требование к этому записанному сигналу.
Выберите New > Signal.
Откроется окно, в котором вы выбираете сигнал для регистрации.
В окне модели щелкните выход 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')