Спроектируйте оптимизацию, чтобы удовлетворить пользовательские требования сигнала (графический интерфейс пользователя)

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

  1. Загрузите сохраненный сеанс 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.

  2. Задайте сигнал регистрировать. Вы применяете пользовательское требование к этому регистрируемому сигналу.

    1. Выберите New> Signal.

      Окно открывается, где вы выбираете сигнал регистрировать.

    2. В окне модели Simulink кликните по выходу Controller блок.

      Окно обновляется, чтобы отобразить выбранный сигнал.

    3. Выберите сигнал и нажатие кнопки, чтобы добавить его в набор сигнала.

    4. В Signal set введите PlantActuator.

      Нажмите OK. Новая переменная PlantActuator появляется в области Data.

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

    Пользовательское требование вызывает целевую функцию sldo_model1_minimize_energy который возвращает энергию в PlantActuator сигнал. Энергия сигнала минимизирована. Эта функция принимает:

    • Входной параметр data который является структурой с полями для переменных проекта в области Data. Сигналы регистрируются для номинальных и неопределенных значений параметров, если существует кто-либо.

    • Возвращает объективное значение, которое будет минимизировано.

    Совет

    Чтобы видеть содержимое этой функции, введите edit sldo_model1_minimize_energy .

    1. Выберите New> Custom Requirement.

      Окно открывается, где вы задаете пользовательское требование.

    2. Задайте MinimizeEnergy как Name.

    3. Задайте @sldo_model1_minimize_energy как Function.

    4. Выберите Minimize the function output как Type.

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

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

  5. Нажмите Optimize.

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

  6. Закройте модель.

    setOption(sdotool('sldo_model1'),'NoPromptClose',true)
    bdclose('sldo_model1')

Похожие темы