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

Развертывание блоков автотюнера ПИДа позволяет вам настроить свою систему в режиме реального времени без Simulink® в цикле. Однако может быть полезно запустить автоматически настраивающийся алгоритм на оборудовании при управлении экспериментом от Simulink.

Один способ сделать так состоит в том, чтобы использовать модель, которая содержит ПИД-регулятор и блок автотюнера ПИДа, и запустите эту модель во внешнем режиме симуляции. Режим 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 представляйте аппаратные интерфейсы, которые считывают данные из или записывают данные к вашему физическому объекту. Когда вы готовы к настройке, вы запускаете эту модель во внешнем режиме симуляции.

Передача Bumpless для настройки разомкнутого контура

Когда вы используете 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.

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

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

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

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

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

Внимание

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

  • В редакторе моделей: В Configuration Parameters, в Code Generation> Optimization, поведение параметра Значения по умолчанию набора к Tunable.

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

Смотрите также

|

Похожие темы