Управление автонастройкой ПИД-регулятора в реальном времени в Simulink

Развертывание блоков PID autotuner позволяет настраивать систему в режиме реального времени без Simulink® в цикле. Однако может быть полезно запустить алгоритм автотунирования на оборудовании, управляя экспериментом от Simulink.

Один из способов сделать это - использовать модель, которая содержит ПИД-регулятор и ПИД блок autotuner, и запустить эту модель в режиме внешней симуляции. Режим external mode позволяет обмениваться данными между Диаграммой Simulink и автономной программой, созданной из сгенерированного кода. В этом режиме Simulink служит интерфейсом мониторинга в реальном времени, в котором можно взаимодействовать с алгоритмом настройки, работающим на оборудовании. Например, можно начать и остановить эксперимент или изменить цели настройки из интерфейса Simulink во время работы модели.

При настройке во режиме external mode можно развернуть только алгоритм эксперимента, так что часть настройки ПИД вычисления выполняется в Simulink. Это может сохранить память на целевом компьютере. Выполнение алгоритма автонастройки ПИД-регулятора во режиме external mode требует продукта генерации кода, такой как Simulink Coder™.

Simulink Модели для настройки Режима external mode

Модель Simulink для автонастройки ПИД-регулятора во режиме external mode напоминает следующий рисунок.

Здесь блоки отмечены Read plant output from hardware и Write plant input to hardware представляют аппаратные интерфейсы, которые считывают данные из или записывают данные на физический объект. Когда вы готовы к настройке, вы запускаете эту модель в режиме внешней симуляции.

Бесшумная передача для разомкнутого контура

Когда вы используете Open-Loop PID Autotuner, если ваш контроллер включает действие интегратора, рассмотрите реализацию отслеживания сигнала, чтобы избежать насыщения интегратора во время эксперимента настройки. Отслеживание сигнала позволяет ПИД-регулятору продолжать отслеживать реальный вход объекта во время его выхода из цикла. Без него ваша система может испытать отбойник, когда цикл управления закроется в конце процесса настройки.

Если ваш ПИД-регулятор является блоком Simulink PID Controller, можно использовать параметр Enable tracking mode блока контроллера, чтобы избежать этой выдавливания. Следующая схема иллюстрирует модуль, содержащий блок Open-Loop PID Autotuner и блок PID Controller с сконфигурированным режимом отслеживания. Вход объекта подается на вход отслеживания блока контроллера.

Для настройки режима external mode вы конфигурируете start-stop сигнал, как описано в Автонастройка ПИД-регулятора для объекта, смоделированного в Simulink. Иллюстрируемые здесь модели используют простой переключатель с двоичным сигналом, чтобы начать и остановить эксперимент вручную.

Вы также конфигурируете параметры контроллера, цели настройки и параметры эксперимента, как описано в Автонастройка ПИД-регулятора для объекта, смоделированного в Simulink.

Запуск модели и настройка коэффициентов усиления контроллера

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

Simulink компилирует модель и развертывает ее на вашем подключенном оборудовании.

  • Если вы сконфигурировали start/stop сигнал начать и завершить процесс настройки в определенные моменты времени, позволяют симуляции пройти через конец эксперимента.

  • Если вы сконфигурировали ручное start/stop сигнал, начните эксперимент, когда ваш объект достигнет устойчивого состояния. Наблюдайте сигнал в % conv выдать, и остановить эксперимент, когда сигнал стабилизируется около 100%.

Когда настройка будет завершена, исследуйте и проверьте настроенные усиления, как описано в разделе Автонастройка ПИД-регулятора для объекта, смоделированного в Simulink.

Для более подробного примера, который иллюстрирует использование внешнего режима для управления процессом автотунирования через Simulink, смотрите Настройте ПИД-контроллер в реальном времени, Используя ПИД-блок без обратной связи.

Уменьшите объем памяти при использовании режима external mode

Блоки autotuner содержат два модуля, один, который выполняет оценку частотной характеристики в реальном времени, и один, который использует полученную предполагаемую характеристику, чтобы настроить коэффициенты ПИД. Когда вы запускаете модель Simulink, содержащую блок в режиме внешней симуляции, по умолчанию оба модуля развертываются. Можно сохранить память на целевом компьютере, развернув только модуль оценки. В этом случае алгоритм настройки запусков на хост-компьютер Simulink вместо целевого компьютера. Для этого используйте опцию Reduce memory and avoid task overrun в блоке autotuner. Когда эта опция выбрана, развернутый алгоритм использует примерно на треть столько памяти, сколько когда опция очищена.

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

Кроме того, когда вы включаете эту опцию, может быть задержка на несколько периодов дискретизации между тем, когда эксперимент настройки заканчивается, и тем, когда новые коэффициенты ПИД поступают к pid gains выходному порту. Перед нажатием коэффициента усиления на контроллер сначала подтвердите изменение в pid gains выхода порте, а не используйте start/stop сигнал в качестве триггера для обновления.

Внимание

Когда вы используете эту опцию, модель должна быть сконфигурирована таким образом, чтобы параметры числовых блоков были настраиваемыми в сгенерированном коде, а не встроенными. Чтобы задать настраиваемые параметры:

  • В редакторе моделей: В Configuration Parameters, в Code Generation > Optimization, установите поведение параметра Default равным Tunable.

  • В командной строке: Используйте set_param(mdl,'DefaultParameterBehavior','Tunable').

См. также

|

Похожие темы