exponenta event banner

Автоматизация PID в реальном времени

Чтобы использовать алгоритм автотюнинга PID в автономном приложении для настройки в реальном времени для физического предприятия, необходимо развернуть блок автотюнера PID в собственной системе. Для этого необходимо создать модель Simulink ® для развертывания. Эту модель можно настроить с помощью параметров эксперимента и настройки. Кроме того, его можно настроить для предоставления таких параметров извне из других источников системы. После развертывания в собственной системе модель автотюнера вводит сигналы в установку и получает ответ установки без использования Simulink для управления процессом настройки. Для развертывания алгоритма автоматического запуска PID требуется продукт генерации кода, например Simulink Coder™.

В качестве альтернативы, вы можете настраиваться в реальном времени против вашего физического растения, используя Simulink для управления экспериментом. Дополнительные сведения см. в разделе Управление автоматическим запуском PID в режиме реального времени в Simulink.

Технологический процесс

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

  1. Создайте модель Simulink для развертывания блока автотюнера PID в системе.

  2. Сконфигурируйте сигнал запуска/останова, который управляет началом и завершением эксперимента настройки. После развертывания этот сигнал можно использовать для запуска процесса автоматического запуска PID в любое время.

  3. Укажите параметры контроллера, например тип контроллера и целевую полосу пропускания для настройки.

  4. Сконфигурируйте параметры эксперимента, такие как амплитуды возмущений, вводимых во время эксперимента с частотной характеристикой.

  5. Развертывание модели в системе и инициирование процесса автоматического запуска для физического предприятия. Производительность замкнутого цикла можно проверить в режиме реального времени.

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

Шаг 1. Создание развертываемой модели Simulink с блоком автотюнера PID

Использование блока автозапуска PID для настройки в реальном времени требует создания модели Simulink для развертывания. Для этого существует несколько способов.

Развертываемый модуль только с Autotuner

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

Здесь блоки, подключенные к входам и выходам блока автотюнера PID, представляют собой аппаратные интерфейсы, которые считывают или записывают данные в реальном времени для вашей системы. Например, Read PID controller output блок может быть интерфейсом для приема последовательных данных, блоком приема UDP для приема пакетов UDP или интерфейсом для приема других сигналов через беспроводную сеть. Аналогично блоки для записи данных, такие как Write plant input, могут быть интерфейсами для последовательного, UDP или другими интерфейсами для записи данных на аппаратные средства.

Порты по умолчанию блока autotuner:

  • u - Принимает управляющий сигнал.

  • y - Получение выходных данных установки.

  • start/stop - Принимает сигнал, который начинает и завершает процесс настройки.

  • u+Δu - Выдает сигнал на вход установки. Когда эксперимент не выполняется, u+Δu выдает управляющий сигнал на вход при u. Когда эксперимент запускает блок и вводит тестовые сигналы на u+Δu. Только для настройки с разомкнутым контуром блок разрывает цикл между u и u+Δu на время эксперимента. Когда эксперимент завершается, блок восстанавливает соединение между u и u+Δu.

  • % conv - Выводит числовой индикатор хода эксперимента по оценке частотно-отклика.

  • pid gains - Выводит настроенный прирост PID при остановке процесса настройки.

В этой конфигурации сам контроллер PID существует в другом модуле системы. После завершения настройки используется собственная логика для записи настроенных значений PID из pid gains порт блока автоматического запуска к контроллеру PID.

Развертываемый модуль с контроллером

Кроме того, можно развернуть модуль, включающий в себя как контроллер PID, так и алгоритм автоматического запуска PID, как показано на следующем рисунке. Преимущество этого подхода заключается в том, что он облегчает повторное использование определенного контроллера в отдельной системе.

На этой иллюстрации контроллер PID реализован как блок контроллера Simulink PID. Поскольку коэффициенты усиления PID этого блока являются настраиваемыми, можно настроить систему на запись настроенных коэффициентов усиления в развернутый контроллер. Кроме того, в развертываемой модели можно использовать собственную пользовательскую подсистему контроллера PID.

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

Примечание

При использовании блока Autotuner PID с замкнутым контуром подача pid gains выходы непосредственно на входы усиления контроллера PID могут вводить алгебраический цикл, который предотвращает генерацию кода. Чтобы избежать этой проблемы, можно ввести состояние в логику обновления PID, которое разрывает алгебраический цикл. Например, можно попробовать один из следующих подходов:

  • Использовать Unit Delay блок для поддержания выхода контроллера на один шаг впереди входов контроллера.

  • Используйте блок памяти хранилища данных, как показано в документе Tune PID Controller in Real Time Using Closed-Loop PID Autotuner Block.

Безударный перенос для настройки с разомкнутым контуром

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

Если ваш контроллер PID является блоком контроллера Simulink PID, вы можете использовать параметр Enable tracking mode (включить режим отслеживания) блока контроллера, чтобы избежать этого всплеска. На следующей схеме показан модуль, содержащий блок автоматического запуска PID с разомкнутым контуром и блок контроллера PID с настроенным режимом отслеживания. Вход установки поступает на вход отслеживания блока контроллера.

Шаг 2. Конфигурирование сигнала запуска/останова

Чтобы запустить и остановить процесс автоматического запуска, используйте сигнал на start/stop порт. Когда эксперимент не выполняется, блок передает сигналы без изменений от u кому u+Δu. В этом состоянии блок не влияет на поведение установки или контроллера.

Эксперимент по оценке частотной характеристики начинается и заканчивается повышением или падением сигнала на start/stop порт, соответственно. Таким образом, после развертывания, чтобы начать процесс автоматического запуска, используйте повышающий сигнал на start/stop порт. По истечении соответствующего времени или после % conv сигнал оседает около 100, используйте падающий сигнал, чтобы закончить эксперимент. Когда эксперимент заканчивается, алгоритм генерирует настроенные коэффициенты усиления PID и возвращает их в pid gains порт. Консервативная оценка для времени эксперимента составляет 200/λ c для настройки по замкнутому контуру или 100/startc для настройки по разомкнутому контуру, где startc - целевая полоса пропускания. Для получения дополнительной информации о конфигурировании сигнала запуска-останова см. справочные страницы блока автоотюнера PID с замкнутым контуром или автоотюнера PID с разомкнутым контуром.

Шаг 3. Установка параметров настройки PID

Чтобы указать конфигурацию контроллера PID в системе, используйте следующие параметры блока автотюнера:

  • Напечатать

  • Форма

  • Временная область

  • Время выборки контроллера (с)

  • Метод интегратора

  • Метод фильтрации

Для автоотюнера PID с замкнутым контуром можно также указать время выборки для настройки, отличное от времени выборки контроллера (сек). Алгоритм настройки усиления PID является интенсивным в вычислительном отношении, и когда требуется развернуть блок на аппаратные средства и настроить контроллер с быстрым временем выборки, некоторые аппаратные средства могут не завершить вычисление усиления PID за один шаг времени. Чтобы снизить требования к пропускной способности аппаратного обеспечения, включите настройку с другим параметром времени выборки, а затем укажите время выборки настройки медленнее, чем время выборки контроллера, используя параметр Время выборки настройки (сек).

Затем укажите целевую пропускную способность и запас по фазе для настройки с параметрами Целевая пропускная способность (рад/сек) и Целевой запас по фазе (градусы) соответственно.

Целевая полоса пропускания, указанная в градусах/сек, является целевым значением для частоты пересечения 0-dB усиления настроенного отклика CP с разомкнутым контуром, где P - ответ установки, а C - ответ контроллера. Эта частота пересечения приблизительно задает полосу пропускания управления. Для разовые повышением τ секунды, хорошее предположение для целевой пропускной способности - 2/τ радиус/секунда.

Целевой запас по фазе задает надежность настроенной системы. Обычно выбирают значение в диапазоне около 45 ° - 60 °. В целом, более высокий запас по фазе улучшает превышение, но может ограничить скорость отклика. Значение по умолчанию, 60 °, стремится сбалансировать производительность и надежность, давая около 5-10% превышения, в зависимости от характеристик вашего завода.

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

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

Шаг 4. Задать параметры эксперимента

В эксперименте по оценке частотно-ответной характеристики вводят синусоидальные сигналы на частотах, окружающих целевую ширину полосы λ c:

  • [1/3, 1, 3, 10]

  • [1/10,1/3, 1, 3, 10] startc для блока автоматического запуска PID с замкнутым контуром

Используйте параметр Sine Amplitues блоков для задания амплитуд этих сигналов.

Если установка асимптотически стабильна, блок автоотюнера PID с разомкнутым контуром может оценить коэффициент усиления постоянного тока установки с помощью ступенчатого возмущения. Задайте амплитуду этого возмущения с помощью параметра Step Amplitude. Если ваша установка имеет один интегратор, очистите параметр Estimate DC vain with step signal.

Внимание

  • Не используйте автоматическую установку PID с замкнутым или разомкнутым контуром с нестабильной установкой.

  • Не используйте автоматическую установку PID с разомкнутым контуром с установкой, имеющей более одного интегратора. Можно использовать автоматическую установку PID с замкнутым контуром на установке с несколькими интеграторами.

Все амплитуды возмущений должны быть:

  • Достаточно большой, чтобы возмущение преодолело любую зону нечувствительности в приводе установки и генерировало отклик выше уровня шума.

  • Достаточно мало, чтобы поддерживать работу установки в пределах приблизительно линейной области вблизи номинальной рабочей точки, и чтобы избежать насыщения ввода или вывода установки.

Для получения дополнительной информации об установке параметров эксперимента см. справочные страницы блоков Autotuner PID с замкнутым контуром и Autotuner PID с открытым контуром.

Шаг 5. Настройка и проверка

После развертывания модуля autotuner в системе используйте повышающий start/stop сигнал, чтобы начать процесс автоматического запуска. Развернутый модуль вводит тестовые сигналы в физическое устройство в режиме реального времени. По истечении соответствующего времени или когда % conv сигнал стабилизируется около 100%, используйте падающий start/stop сигнал для завершения эксперимента. Консервативная оценка для времени эксперимента составляет 200/λ c для настройки по замкнутому контуру или 100/startc для настройки по разомкнутому контуру, где startcc - целевая полоса пропускания. Когда эксперимент прекращается, модуль вычисляет новое увеличение PID на основе расчетной частотной характеристики в системе и заданных целей настройки. Вы можете проверить настроенный прирост PID с помощью pid gains сигнал.

При изучении этих коэффициентов усиления и передаче их на собственный контроллер следует иметь в виду значение этих коэффициентов усиления в блоках автотюнера PID. За дискретное время блоки принимают следующую функцию передачи контроллера PID:

C = P + IFi (z) + D [N1 + NFd (z)],

в параллельной форме или в идеальной форме,

C = P [1 + IFi (z) + D (N1 + NFd (z))].

Fi (z) и Fd (z) зависят от значений, заданных для формул метода интегратора и метода фильтра соответственно. Дополнительные сведения см. на страницах ссылок на блоки автозапуска PID с замкнутым контуром или автозапуска PID с открытым контуром.

После передачи настроенных коэффициентов усиления на контроллер PID можно наблюдать и проверять постоянную производительность системы с новыми коэффициентами усиления.

Доступ к параметрам автоматического запуска после развертывания

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

Настраиваемые параметры

Следующие параметры блоков автозапуска PID настраиваются после развертывания. Для получения дополнительной информации обо всех этих параметрах см. справочные страницы блока Autotuner PID с замкнутым контуром или Autotuner PID с открытым контуром.

ПараметрОписание
Целевая полоса пропускания (рад/сек)Целевая частота перехода откликов разомкнутого контура
Целевой запас по фазе (градусы)Целевой минимальный фазовый запас отклика с разомкнутым контуром
Синусоидальные амплитудыАмплитуда синусоидальных возмущений
Оценка коэффициента усиления постоянного тока по ступенчатому сигналуВвести сигнал шага в установку
Амплитуда шагаАмплитуда шагового возмущения
НапечататьТип контроллера PID (например, PI, PD или PID)
ФормаФорма контроллера МТС
Метод интегратораФормула дискретного интегрирования для термина интегратора
Метод фильтрацииФормула дискретного интегрирования для термина производного фильтра

Неперестраиваемые параметры

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

ПараметрОписание
Временная областьВременная область контроллера PID
Время выборки контроллера (с)Время выборки контроллера PID (см. раздел Изменение времени выборки после развертывания)
Уменьшите объем памяти и избегайте переполнения задач (только во внешнем режиме)Развернуть только алгоритм настройки
Тип данныхТочность с плавающей запятой

Изменение времени образца после развертывания

Параметр времени выборки контроллера (сек) не может быть настроен. Следовательно, при развертывании блока доступ к нему непосредственно в сгенерированном коде невозможен. Чтобы изменить время выборки контроллера в развернутом блоке во время выполнения:

  1. Установите для параметра Время выборки контроллера (сек) значение -1.

  2. Поместите блок автотюнера в триггерную подсистему.

  3. Запустите подсистему в требуемое время выборки.

См. также

|

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