В статье рассматривается проблема отсутствия в существующих проектных решениях алгоритмов управления электроприводом в классических автоматизированных системах управления канализационными насосными станциями и их программных реализаций. Также описывается основной недостаток существующих проектов по автоматизации типовой канализационной насосной станции: отсутствие функции ротации по схеме рабочий-резервный для технологических групп насосных агрегатов. Данные недостатки предлагается решить с помощью разработанного алгоритма и его программного кода для программируемых логических контроллеров, и применения этого алгоритмического и программного решения при проектировании и разработке систем автоматизации насосных станций.
Ключевые слова: автоматизация, асу тп, преобразователь частоты, ПЛК, устройство плавного пуска, канализационная насосная станция, гидростатический зонд уровня, Codesys.
Автоматизация насосных станций является типовой задачей автоматизации технологических процессов. Однако каждая конкретная станция может быть выполнена с применением различных контроллеров, схем подключения и управления электроприводом, различными технологическими группами насосов и с применением разных преобразователей (УПП или ПЧ). Как правило насосные станции с выделенной системой управления (шкаф автоматизации) включат в себя от 2 до 5 насосов. В таких системах минимум один насос является резервным и минимум один насос является рабочим. Возможны и другие комбинации при увеличении общего числа насосов, например может использоваться система 2*2 (то есть 2 рабочих и 2 резервных) или 3*2. Обычно насосные станции проектируют с одним типом преобразователей, например, с использованием устройств плавного пуска или преобразователями частоты. При использовании устройств плавного пуска также устанавливаются в цепи питания насосов силовые контакторы подключающие насос в сеть питания после его разгона и выхода на номинальный режим в обход преобразователя. Применение преобразователей частоты позволяет в некоторых технологических процессах выполнять пропорциональное управление частотой вращения насоса в зависимости, например, от сигнала гидростатического зонда уровня. Насосные станции могут быть выполнены с одной технологической группой насосов или с несколькими. Также насосные группы могут быть объединены в одну общую централизованную систему или могут быть выполнены в виде отдельных насосных станций, работающих как в автономном режиме с индивидуальными контроллерами, так и в сетевом режиме. Такие системы применяются в случае, когда необходимо автоматизировать работу более 5 насосных агрегатов, в таких случаях рационально создавать отдельные насосные станции, взаимодействующие между собой по сети. Во всех случаях система управления предполагает два режима функционирования станции: автоматический (основной рабочий режим) и ручной (сервисный), также в каждом режиме предполагается возможность работы насоса от преобразователя или в режиме прямого пуска. Один из примеров классической системы управления канализационной насосной станции представляет собой шкаф автоматизации для 4-х насосных агрегатов, которые объединены в две технологические группы, и работают совместно по одному алгоритму от центрального контроллера. Первая технологическая группа является рабочей, а вторая резервной. В каждой группе насосных агрегатов один насос является ведущим, а второй ведомым, то есть при достижении рабочего уровня перекачиваемой жидкости запускается ведущий насос, в случае если производительности одного насоса недостаточно, то при достижении следующего уровня включается ведомый насос рабочей группы. Насосы резервной группы включаются в случае аварийных событий насосов рабочей группы или при достижении аварийных уровней перекачиваемой жидкости в резервуаре по сигналу гидрозонда или поплавкового выключателя. В случае выхода из строя агрегатов КНС-10 или ее недостаточной производительности дополнительно запускаются насосы (1-рабочий, 1-резервный) вспомогательной насосной станции КНС-170, выполненной отдельным шкафом автоматизации и работающей с местным контроллером. В процессе проектирования все перечисленные выше параметры и характеристики, а также схемы прорабатываются и указываются в проектной документации. Также в проекте иногда частично указываются общие требования к системе управления, например отключение насоса при возникновении аварийной ситуации, включение насосов по уровням поплавковых выключателей или гидростатического зонда. Но непосредственно алгоритм работы насосной станции и системы управления электроприводом и особенно его программная реализация в проектной документации отсутствует и фактически является «свободным творчеством» инженера-программиста АСУ ТП.
При этом инженер АСУ ТП реализует следующие задачи:
- Разработка прикладного программного обеспечения (ПО) в соответствии с основным алгоритмом работы шкафа управления насосами на базе гидростатического зонда глубины и поплавковых выключателей, а также 4-х преобразователей частоты (ПЧ). Обработка аварийных режимов насосных агрегатов.
- Настройка параметров центрального процессорного блока контроллера, конфигурация модулей расширения и аналоговых/цифровых портов ввода/вывода, задание переменных и уставок. Загрузка программного кода в контроллер (ПЛК).
- Тестирование загруженного кода. Отладка программного кода в соответствии с текущей конфигурацией УПП и ПЧ. Корректировка уровней зонда.
Первая проблема существующих проектов по автоматизации заключается именно в полном отсутствии алгоритмических решений по управлению электроприводом, а также в отсутствии их программной реализации, то есть программных кодов контроллеров. Это может приводить к разногласиям между заказчиком и поставщиком или усложнению процесса обслуживания уже сданного в эксплуатацию оборудования. Тогда как в действительности программный код для ПЛК должен быть разработан на стадии проектирования объекта и представлен в проектной документации как типовой код также как и электрические схемы. Вторым недостатком для существующей проектной документации является отсутствие таких закономерных требований к системе автоматизации насосных станции как реализация функций ротации по схеме рабочий-резервный. В связи с перечисленными выше особенностями проектирования канализационных насосных станций актуальной становится задача разработки универсального алгоритма и его программной реализации в виде кода применимого на ПЛК с выполнением всех необходимых функций управления в системах автоматизации насосных станций. Таким образом, требуется разработка программы, которая станет стандартом при решении данной задачи автоматизации технологического процесса, что в результате обеспечит возможность ссылаться на авторитетный источник.
Основой алгоритма ротации и поиска доступных насосов является счетчик (рисунок 1). Алгоритм со счетчиком или цикл с параметром является частным случаем цикла с предусловием, при этом в цикле со счетчиком задаются границы диапазона, по которым определяется количество повторений тела цикла. Для данного алгоритма границами диапазона является количество насосов. Условием включения насоса является срабатывание аналогового или дискретного датчика при достижении рабочего уровня, что также является основным условием ротации насосов, таким образом, происходит приращение переменной счетчика (count) для перехода к следующему циклу программы и следующему насосу в качестве основного рабочего. Далее определяется текущий рабочий циклы программы, то есть какой насос является в настоящее время основным (рабочим). После этого выполняется проверка готовности привода: отсутствие аварийного состояния и включение автоматического режима для данного привода (рисунок 1).
Рис. 1. Алгоритм ротации и поиска доступных насосов
Если привод текущего цикла готов, то происходит его запуск в работу. Если данный привод не доступен в связи с определением аварийного режима или же он выведен из автоматического режима работы, то происходит приращение переменной счетчика и переход к следующему рабочему циклу программы и следующему насосу в качестве ведущего. Таким образом, одновременно выполняется итерационный поиск доступных в системе насосов и их ротация в автоматическом режиме.
Несмотря на то что современные пакеты прикладных программ для разработки промышленного кода имеют развитую библиотеку готовых наборов программных элементов таких как: счетчики, триггеры, таймеры и прочее. Тем не менее рационально использовать при построении универсального кода только базовые компоненты: математические операторы и логические функции (что облегчает интеграцию с любыми аппаратно-программными комплексами промышленной автоматизации). Так как закупка оборудования производилась в 2018 году и являлась продукцией компании Schneider Electric, то разработка кода выполнялась с использованием фирменного программного обеспечения являющимся оболочкой для CODESYS на определяемом стандартом IEC 61131–3 (МЭК 61131–3) языке программирования FBD (Function Block Diagram). Однако в связи с тем, что в настоящее время лицензионная версия данного программного обеспечения не доступна и аналогов данного программного обеспечения нет, целесообразно выполнить код с применением базовых математических операторов и логических функций для обеспечения возможности портирования кода в другие IDE для программирования логических контроллеров с использованием различных языков программирования.
Код реализующий описанный выше алгоритм состоит из 8 сетей (Network) в графической структуре программы. В первой сети выполняется присваивание переменных количества насосов (number_of_pumps) и уровней аналогового датчика (start_levelx) с помощью оператора MOVE. Далее во второй сети структуры программы выполняется основная часть (ядро кода) алгоритма, а именно, счетчик рабочих циклов, определяющих основной рабочий насос для выполнения ротации (рисунок 2).
Рис. 2. Фрагмент программного кода определения рабочего цикла насосной станции
В 3 сети с помощью логической функции OR проверяется наличие условия (condition) для приращения переменной счетчика (count). Для приращения переменной счетчика проверяется первое основное условие: срабатывание поплавкового датчика или гидростатического зонда по рабочему уровню (q1level1). Второе условие для приращения переменной счетчика (cycleHx): наличие аварийных состояний привода или вывод привода из автоматического режима работы. Определение доступности привода выполняется только во время выполнения его цикла, для этого в 4 сети программы определяется текущий рабочий цикл алгоритма с помощью оператора EQUAL.
Рис. 3. Фрагмент программного кода для определения условий перехода между рабочими циклами (ротация)
На рисунке 3 представлен фрагмент программного кода для определения условий перехода между рабочими циклами (ротация). В 5 сети структуры кода с помощью операторов сравнения GT и LT определяются уровни по гидростатическому зонду (Analog_input_level). Команда, фиксирующая наличие уровня (setx), формируется совместно с сигналами поплавковых выключателей (Discrete_input_levelx) через оператор OR. Установка (setx) и сброс (reset0) уровней (qxlevelx) производится посредством RS-триггера, построенного на двух логических элементах ИЛИ-НЕ в 7 сети. В 8 сети программного кода выполняется проверка готовности привода (HxRDY), с помощью логической функции AND контролируются состояния входных операндов: автоматический режим (autoHx) и аварийные состояния (alarmxHx). Проверка доступности насоса производится только для соответствующего ему рабочего цикла алгоритма через логическую функцию AND и входной операнд текущего цикла (countax).
Таким образом, разработано прикладное программное обеспечение, реализующее алгоритм поиска и ротации доступных насосов для двух технологических групп, который может использоваться также для систем автоматизации повышающих насосных станций, систем отопления и вентиляции. Предложенный алгоритм и его программная реализация может быть использован как типовой рекомендуемый (эталонный) код при проектирование новых автоматизированных систем управления технологическими процессами и в образовательном процессе. Работоспособность кода проверяется на стадии отладки в режиме симуляции.
Литература:
- Килиди, А. И. Принцип использования типологии насосных станций в мелиоративном строительстве / А. И. Килиди, С. Д. Хилькова, Е. Е. Пяткина // Новая наука: Опыт, традиции, инновации. — 2017. — Т. 2. — № 4. — С. 178–181.
- Галеев, С. Р. Информационно-измерительная система технологического контроля параметров Центрального теплового пункта / С. Р. Галеев, Р. С. Зарипова // Энергетика, электромеханика и энергоэффективные технологии глазами молодёжи: материалы IV российской молодёжной научной школы-конференции: в 2 томах, Томск, 01–03 ноября 2016 года / Томский политехнический университет. — Томск: ООО «ЦРУ», 2016. — С. 328–329.
- Зарипова, Р. С. Разработка информационной системы для контроля технологических параметров в среде Master SCADA / Р. С. Зарипова, Р. Р. Галямов // Аллея науки. — 2017. — Т. 3. — № 15. — С. 346–349.
- Школьная, В. М. К вопросу автоматизации водораспределения на участке канала с применением SCADA-систем / В. М. Школьная, В. Э. Завалюев // Пути повышения эффективности орошаемого земледелия. — 2016. — № 2 (62). — С. 43–48.
- Шиляев, Д. В. Проектирование автоматизированной системы управления вентиляцией и кондиционированием на базе программируемого логического контроллера и релейной логики / Д. В. Шиляев, О. А. Билоус // Научно-технический вестник Поволжья. — 2017. — № 4. — С. 240–243.
- Билоус, О. А. Описание конфигурирования верхнего уровня автоматизированной системы управления вентиляцией и кондиционированием на базе программируемого логического контроллера и SCADA системы / О. А. Билоус, Д. В. Шиляев // Научно-технический вестник Поволжья. — 2018. — № 4. — С. 82–84.