exponenta event banner

Проектирование контроллера МТС в интерактивном редакторе

В этом примере показано, как использовать задачу «Настройка контроллера PID» в интерактивном редакторе для создания кода для проектирования контроллера PID для линейной модели установки. Задача Tune PID Controller (Настройка контроллера PID) позволяет в интерактивном режиме уточнить производительность контроллера для регулировки полосы пропускания контура и запаса по фазе, а также для поддержки отслеживания или нарушения уставки. Задача создает график ответа, который позволяет контролировать производительность контроллера во время настройки параметров настройки.

Откройте этот пример для просмотра предварительно настроенного сценария, содержащего задачу Tune PID Controller. Дополнительные сведения о задачах Live Editor в целом см. в разделе Добавление интерактивных задач в сценарий Live.

В интерактивном редакторе создайте модель LTI для завода.

G = zpk(-5,[-1 -2 -3 -4],6);

Для проектирования PID-контроллера для данного завода откройте задачу «Настройка PID-контроллера в режиме реального времени». На вкладке Live Editor выберите Task > Tune PID Controller. Это действие вставляет задачу в сценарий.

Первоначальный проект контроллера

Для создания начального проекта ПИД-контроллера в меню «Завод» выберите созданный завод. G. Tune PID Controller автоматически генерирует PI-контроллер, который уравновешивает производительность и надежность, предполагая стандартную конфигурацию управления с обратной связью на следующей схеме.

Задача также генерирует график ответа на шаг, показывающий отклик на шаг с замкнутым контуром от r до y, используя начальную конструкцию контроллера.

Уточнение конструкции контроллера

Выберите System response characteristics для отображения числовых значений некоторых характеристик этого ответа во временной области.

Первоначальная конструкция контроллера имеет время нарастания около 1,5 секунд, с перепадом около 8%. Экспериментируйте с ползунками Время отклика (Response Time) и Переходное поведение (Transient Behavior), чтобы изменить цели конструкции и увидеть их влияние на отклик шага.

С помощью PI-контроллера и этой установки трудно уменьшить время отклика без введения нестабильности или иного ухудшения реакции системы. Попробуйте переключиться на контроллер PID, чтобы узнать, можно ли получить лучшее время отклика. В раскрывающемся меню «Тип контроллера» выберите PID.

Теперь можно сократить время отклика контроллера. Снова поэкспериментируйте с ползунками, наблюдая за влиянием на реакцию шага. Пример, более подробно показывающий влияние ползунков «Время отклика» и «Переходное поведение» на производительность контроллера, см. в разделе Настройка PID-контроллера в пользу отслеживания ссылок или отклонения нарушений (PID-тюнер). В этом примере используется приложение PID Tuner вместо задачи Tune PID Controller в интерактивном редакторе, но поведение и эффект ползунков одинаковы в обоих инструментах.

Проверка сгенерированного кода

Задача автоматически генерирует код для настройки PID-контроллера для установки с заданными целями проектирования. Чтобы просмотреть созданный код, щелкните в нижней части задания. Задача расширяется, чтобы показать созданный код.

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

Проверка эффективности отбраковки возмущений

Предположим, что вас интересует реакция системы с замкнутым контуром на нарушение на входе в установку. Чтобы создать график ответа шага от d1 до y, в раскрывающемся меню Вывод графика (Output Plot) выберите Step Plot: Input disturbance rejection. График обновляется для отображения нового ответа. В зависимости от того, как задаются цели производительности при изменении графика отклика, может появиться ответ, который выглядит следующим образом.

Теперь можно снова поэкспериментировать с параметрами контроллера и наблюдать их влияние на отклонение возмущений. Пример, в котором более подробно показано, как можно использовать ползунки и другие параметры конструкции для улучшения характеристик отклонения возмущений, см. в разделе Настройка контроллера PID в пользу отслеживания ссылок или отклонения возмущений (PID Tuner). В этом примере используется приложение PID Tuner вместо задачи Tune PID Controller в интерактивном редакторе, но поведение и эффект параметров конструкции одинаковы в обоих инструментах.

Сравнение двух конструкций контроллеров

Tune PID Controller автоматически записывает настроенный контроллер в рабочее пространство MATLAB ® как pid, pidstd, pid2, или pidstd2 объект модели, в зависимости от того, что соответствует настройкам контроллера. Задача сохраняет контроллер, используя имя переменной, указанное в строке сводки задачи. По умолчанию имя переменной - C. При изменении настроек контроллера, целей производительности или других параметров настройки задача по умолчанию выполняет запись по переменной C.

Можно сохранить конструкцию контроллера, которая будет использоваться в качестве базовой для сравнения, во время дальнейших экспериментов с типами контроллеров, целями производительности и другими настройками. Для этого введите новое имя переменной в строке сводки задачи. Например, измените имя контроллера вывода на Cnew.

Теперь текущая конструкция сохраняется в рабочей области MATLAB как C. Любые дальнейшие изменения в проекте сохраняются как Cnew.

Использовать C в качестве опорной структуры для сравнения в меню контроллера опорной структуры выберите Select from workspace. Затем выберите C в появившемся меню.

Теперь, когда вы экспериментируете с конструкцией контроллера, график отображает отклик системы с контроллером C (пунктирная линия) и с контроллером Cnew (сплошная линия).

Использовать контроллер

Поскольку задача Tune PID Controller сохраняет контроллер в рабочей области MATLAB, можно использовать контроллер так же, как и любой другой объект модели PID для проектирования и анализа элементов управления. Например, изучите производительность контроллера в сравнении с немного другой моделью установки, чтобы получить представление о надежности системы с замкнутым контуром от изменения параметров.

G1 = zpk(-5,[-0.75 -2 -3 -4],8);
CL1 = getPIDLoopResponse(C,G1,'closed-loop');
CL = getPIDLoopResponse(C,G,'closed-loop');
step(CL,CL1)

См. также

Задачи интерактивного редактора

Связанные темы