В данной статье представлена разработка прототипа функционального блока ПИД-регулятора контроллера ACE3600 Motorolla и его тестирование посредством вспомогательных приложений C#. Проводится анализ переходных процессов, а также оценка качественного поведения функционального блока.
Ключевые слова: ПИД-регулятор, функциональный блок, ACE3600 Motorolla, переходный процесс, язык программирования Си, газораспределительная станция.
Современные процессы на производстве невозможно представить без управления технологическими параметрами. Регулирование и поддержание параметров процесса в необходимых диапазонах может производиться как в ручном, так и в автоматическом режимах. Автоматическое регулирование проводится с помощью специальных устройств или программных компонентов, включенных в технологический процесс. Наиболее распространенным типом регулятора является ПИД-регулятор. Чаще всего при разработке систем автоматического управления возникает необходимость в разработке собственного регулятора в программной среде контроллера. Это обусловлено как техническими аспектами применяемого оборудования, когда встроенные модули не в полной мере отвечают требованиям системы, так и необходимостью в удешевлении системы (отказ от покупки дополнительного оборудования). Основными критериями функционального блока ПИД-регулятора являются качественное управление технологическими параметрами, гибкость и простота настройки, возможность проведения автономных испытаний без непосредственного объекта.
В качестве технологического процесса было выбрано регулирование расхода и давления на выходном коллекторе газораспределительной станции.
Рис. 1. Структурная схема технологического процесса
Сложность регулирования данного процесса является следствием наложений ограничений на попутный параметр расхода — давление. Согласно нормам технологического процесса рассматриваемой установки, давление газа на выходном коллекторе должно находиться в диапазоне 0,3–0,5 МПа. Рабочее значение расхода 20000–27000 м3/ч.
Работа контура регулирования выполняется следующим образом. С датчиков считываются данные о текущих значениях расхода и давления на выходном коллекторе, вычисляется ошибка между текущим значением расхода и желаемым значением. Желаемое значение поступает в систему через интегральное звено, во избежание резких изменений в системе. Разностная величина передается на первый ПИД-регулятор, управляющее воздействие проходит ПДП-звено, для формирования упреждающего воздействия.
Сформированное управляющее воздействие от первого ПИД-регулятора является уставочным значением для формирования ошибки регулирования по давлению и находится в диапазоне 0,3–0,5 МПа. Данное значение сравнивается с текущими показаниями давления и формируется ошибка регулирования по давлению. Управляющее значение от ПИД-регулятора по давлению также имеет ограничение по проценту открытия (закрытия) исполнительного механизма (0–100 %). Процент открытия (закрытия) влияет на объект управления — текущие значения давления и расхода изменяются.
Реализации управления данным контуром предусматривала использование типовых звеньев, а именно: звено ПИД-регулятора, инерционное звено 1-го порядка, реальное дифференцирующее звено. Схема контура управления представлена на рисунке 2 [1].
Рис. 2. Контур управления
В качестве контроллерного оборудования рассматривается ПЛК ACE3600 компании Motorolla. Данный контроллер предназначен для построения систем диспетчерского контроля и управления с сосредоточенной и распределенной структурой [2].
Контроллер ACE3600, в общем случае, представляет собой удаленное терминальное устройство (RTU), которое предназначено для контроля и управления локальным оборудованием пользователя. Контроллер ACE3600, является функционально законченным микропроцессорным устройством, может работать как в автономном режиме, так и в качестве составной части (узла) распределённой системы [2]. Для реализации функциональных блоков данного контроллера используется язык программирования Си [3]. Файлы функциональных блоков компилируются через среду разработки ПО контроллера и загружаются в него.
Функциональный блок предназначен для создания ПИД регуляторов. ФБ поддерживает использование инерционного звена для сглаживания задания, при его изменении. Данный блок состоит из функций, которые вызываются каждый раз при обращении к данному ФБ. К ним относятся считывание констант из таблиц данных контроллера, инициализация блока и основная функция пересчета значений.
При использовании инерционного звена перед ПИД-регулятором вызывается функция расчета данного звена:
Основная работа блока происходит в функции PIDRun. Здесь происходит считывание коэффициентов ПИД-регулятора из таблиц данных:
Далее выполняется проверка наличия столбца таблицы данных p_EMax. При отсутствии данных в него заводятся определенные значения.
Затем производятся непосредственное вычисление параметров после каждой составляющей звена ПИД-регулятора для возможности последующего анализа:
После чего происходит расчет результирующего управляющего воздействия, при необходимости пересчета (необходимость высчитывается по таймерам основной программы контроллера) — команда p_DO больше нуля.
На рисунке 3 приведена схема тестирования функционального блока.
Рис. 3. Схема тестирования функционального блока
Для мониторинга параметров, задания настроечных параметров и управления использовалась разработанная программа PLC Monitor. Приложение устанавливает связь с контроллером по средствам протокола Modbus TCP. Наиболее значимый практический интерес в данной работе представляет выбор регуляторов и настройка их параметров.
Рис. 4. Тестовые настройки коэффициентов регуляторов
Также для тестирования регуляторов существует необходимость в эмуляторе полевых значений. Общий вид данного приложения показан на рисунке 4.
Рис. 5. Общий вид приложения эмулятора полевых значений
В данном окне отображены уставочные и текущие значения по давлению и расходу рассматриваемого контура, текущий и желаемый процент открытия регулирующего клапана. Данное приложение формирует ответную реакцию на считываемые с контроллера уставочные значения и передает эмулируемые текущие значения параметров в контроллер. Данные могут быть записаны в файл формата.csv для дальнейшего анализа, построения графиков и вычисления показателей качества переходного процесса.
Сохраним тестовые настройки регуляторов и текущие показания эмулятора. Изменим уставку расхода на 23000 и проследим изменения. Для этого была организована запись значений параметров в файл.csv и построение графиков переходных процессов по полученным данным (рисунки 6–7, таблица 1).
Таблица 1
Фрагмент таблицы базы данных значений параметров
|
Уставка расхода |
Текущее значение расхода |
Уставка давления |
Текущее значение давления |
Задание положения задвижки |
Текущее положение задвижки |
14.03.2019 3:58 |
26000 |
25986,98 |
3,819866 |
3,898047 |
38,97852 |
38,98047 |
14.03.2019 3:59 |
26000 |
25986,98 |
3,820129 |
3,898047 |
38,97852 |
38,98047 |
14.03.2019 3:59 |
26000 |
25986,98 |
3,820392 |
3,898047 |
38,97852 |
38,98047 |
14.03.2019 3:59 |
23000 |
25986,98 |
3,820651 |
3,898047 |
38,97852 |
38,98047 |
14.03.2019 3:59 |
23000 |
25986,98 |
3,750258 |
3,898047 |
38,86827 |
38,98047 |
14.03.2019 3:59 |
23000 |
25984,98 |
3,65352 |
3,895703 |
38,63079 |
38,85938 |
14.03.2019 3:59 |
23000 |
25960,57 |
3,566599 |
3,885156 |
38,52902 |
38,6875 |
Рису. 6. График переходного процесса расхода
Рис. 7. График переходного процесса давления
По данным графикам видно, что происходит регулирование по обоим величинам (давление, расход). Время переходного процесса по расходу — 5 минут. Значение давления появилось в 5 % диапазоне от уставочного значения примерно через 4 минуты, но далее сохраняться ошибка регулирования по давлению около 4,5 %.
Выводы
Реализован функциональный блок ПИД-регулятора в среде разработки программного обеспечения контроллера ACE3600. Приведена рабочая схема тестирования функционального блока посредством вспомогательных приложений, а также выполнено первоначальное тестирование блока с первоначальными коэффициентами ПИД-регулятора. В ходе тестирования и обработки результатов были получены приемлемые значения показателей качества переходных процессов, однако требующих улучшения.
Литература:
- Теория автоматического управления: учебное пособие/ В. Ф. Дядик, С. А. Байдали, Н. С. Криницын; Национальный исследовательский Томский политехнический университет. − Томск: Изд-во Томского политехнического университета, 2011. — 196 с.
- Автоматизация технологического процесса на базе контроллеров «Motorola»: учебное пособие / Х. Н. Музипов, О. Н. Кузяков, С. А. Хохрин и др. — Тюмень: ТюмГНГУ, 2014. — 156 с.
- Основы программирования на языке Си: учеб. пособие/ Солдатенко И. С. — Тверь: Тверской государственный университет, 2017. — 159 с.