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

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

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

  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')

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте