Введение
Практически всё население мира, проживающее в домах или квартирах с коммунальными услугами, обязано ежемесячно подавать в организации коммунальной службы показания приборов учёта потребляемых ресурсов, таких как холодная и горячая вода, электроэнергия и газ. Для подготовки к передаче показаний счётчиков приходится совершать обход мест установки этих счётчиков, вскрывать при необходимости люки, за которыми спрятаны данные счётчики, подсвечивать цифры фонариком и записывать показания на бумагу или запоминать их.
Эта регулярная и неудобная функция в современном веке может быть облегчена простой автоматической системой, которая позволит дистанционно считывать показания счётчиков непосредственно в компьютер, а затем передавать их по назначению. Кроме того, подобная система позволит выполнять эту операцию, находясь далеко от своего жилья, например, в командировке или в отпуске.
Предлагается к рассмотрению один из вариантов автоматизации описанной процедуры на основе программируемого логического контроллера (ПЛК) и доступных компонентов автоматики.
Проект автоматики
Идея проекта состоит в том, чтобы ПЛК автоматически считал импульсы подключённых к нему датчиков расхода ресурсов и выдавал накопленные данные по запросу от компьютера. В качестве датчиков расхода воды можно применить промышленный покупной счётчик воды с импульсным электрическим выводом, показанный на рис. 1.
Данный счётчик формирует одно короткое замыкание сухого контакта после протекания через него каждых 10 литров воды. Такой счётчик можно использовать в качестве основного счётчика воды или применить его в качестве дополнительного, нерегистрируемого счётчика, не требующего регулярной поверки.
В проекте задействовано подключение одного счётчика горячей и одного счётчика холодной воды. При необходимости в проект легко добавить подключение дополнительных счётчиков воды методом копирования части кода программы.
Аналогично в проект можно добавить счётчики электроэнергии и газа, применив при этом подходящие счётчики с импульсным выходом.
Кроме того, проект поддерживает функциональность защиты помещений от затопления по причине аварийной протечки водопровода или гибких подводящих шлангов. Для этого к измерительному аналоговому входу контроллера подключается датчик проводимости, представляющий собой две разобщённые металлические пластины в корпусе. Внешний вид такого датчика показан на рис. 2.
Этот датчик размещается на полу под водопроводными трубами. В сухом состоянии проводимость между пластинами датчика отсутствует. В случае возникновения протечки вода соприкасается с пластинами датчика, и сопротивление между ними снижается до нескольких сотен Ом. Контроллер обнаруживает проводимость датчика и включает выходной релейный порт, через контакты которого запускаются электроприводы, закрывающие водопроводные шаровые краны, которые прерывают подачу воды в помещение. Пример такого электропривода с водопроводным шаровым краном показан на рис. 3.
Этот электропривод питается безопасным низким напряжением постоянного тока и может быть подключён к источнику питания самого ПЛК.
Количество датчиков проводимости и электроприводов с водопроводным шаровым краном определяется количеством помещений (ванная комната, туалет, кухня и т.п.), в которых возможна аварийная протечка воды. При этом все датчики подключаются к одному входу контроллера, а все электроприводы – к одному релейному выходу контроллера параллельно.
В основе проекта применён недорогой ПЛК Pixel отечественной компании Segnetics [1]. Обзор данного ПЛК и среды разработки программ для него был приведён в моей статье [2] и свободно доступен на сайте редакции журнала.
Благодаря тому, что данный ПЛК имеет графический дисплей, органы управления и индикации, а также цифровые и аналоговые порты ввода-вывода, он является самодостаточным для создания большинства систем автоматического управления.
Пример схемы размещения оборудования автоматики приведён на рис. 4.
Программа ПЛК
Программа для ПЛК создана в бесплатной среде разработки SMLogix на языке программирования FBD.
Интерфейс оператора разработан с помощью встроенного в среду разработки программного инструмента SMArt и представлен на рис. 5.
Интерфейс состоит из одного главного экрана, на котором отображаются текущие значения счётчиков горячего водоснабжения (ГВС) и холодного водоснабжения (ХВС). Показания счётчиков имеют привычное для обычных механических счётчиков отображение в кубометрах с отделением дробных значений десятичной точкой.
При обнаружении протечки воды на экране ПЛК активируется сообщение «Утечка!» и включается красный индикатор ALARM на ПЛК.
При разработке программы были использованы только библиотечные элементы среды разработки: логика, преобразователи сигналов, счётчики, сумматоры, компараторы, триггеры и порты ввода-вывода.
Окончательный вариант программы в отладочном режиме среды разработки SMLogix представлен на рис. 6.
Особенностью применения счётчиков в проекте является подключение перед их счётным входом «+» формирователя короткого импульса фронта Raise. Это позволяет увеличивать значение счётчика на единицу для каждого входного импульса независимо от его длительности. Без использования такого формирователя счётчик увеличивает своё значение в течение всей длительности импульса с тактовой частотой ПЛК.
В среде разработки SMLogix десятичные числа отображаются на экране со знаком, в дополнительном коде в диапазоне от 0 до 32 767 и далее до минус 32 768. Но счётчик не использует старший разряд как знаковый, поэтому он считает от 0 до 65 535, как для чисел без знака.
Сумматоры после элементов счётчиков позволяют выполнить корректировку показаний и привести показания счётчиков на экране ПЛК к текущим, начальным показаниям счётчиков воды до начала измерений.
В блоке контроля утечки воды вход ain5 позволяет измерять напряжение от 0 до 10 В. Сопротивление подключённого датчика проводимости в сухом состоянии составляет сотни МОм, а вода снижает сопротивление между пластинами датчика до нескольких кОм. Один вывод датчика подключается к выводу 10V ПЛК, а второй – к входу ain5 ПЛК. Таким образом, при появлении воды её проводимость обеспечит коммутацию напряжения 10 В на вход ain5. Код аналого-цифрового преобразователя ПЛК для 10 В составит 30 690 единиц. Этот код сравнивается с кодом порога компаратора с заданным в программе значением 25 000 единиц. При превышении этого порога компаратор формирует выходной сигнал, который установит RS-триггер в единичное состояние. Триггер необходим для фиксации аварийного состояния и исключения самопроизвольного возврата в исходное состояние. В результате переключения триггера зелёный светодиод led0 отключится, включится красный светодиод led1 и замкнётся выходная цепь релейного порта dou0.
Сбросить аварийное состояние можно после проверки и устранения утечки водопроводов в ручном режиме с помощью кнопки ESC на ПЛК.
Дистанционный сбор показаний счётчиков из ПЛК можно производить через встроенный интерфейс RS-485 или через установленный в ПЛК сетевой модуль интерфейса Ethernet.
Карта памяти регистров для описанной программы ПЛК приведена на рис. 7.
Интерфейс RS-485 настраивается с помощью встроенного системного меню контроллера, вход в которое производится одновременным нажатием кнопок «Вверх» и «Вниз» ПЛК Pixel. Для повышения устойчивости связи рекомендуется задать скорость передачи данных по интерфейсу RS-485 равной 9600. В этом же меню настроек задаётся адрес ПЛК и формат данных.
Со стороны персонального компьютера можно использовать готовую программу Modbus Pull или аналогичную ей. Окно программы Modbus Pull с параметрами настройки приведено на рис. 8.
С помощью этой программы можно в любое время считать показания всех счётчиков и значение датчика проводимости непосредственно с персонального компьютера, подключённого к ПЛК по сети Ethernet или через преобразователь USB/RS-485.
Для удалённого доступа к ПЛК из любой точки мира через Интернет с помощью компьютера или смартфона можно использовать программу удалённого управления, например, AnyDesk или подобную ей. Данная программа обеспечит связь между двумя разнесёнными в пространстве компьютерными устройствами и позволит выполнять необходимые операции на удалённом домашнем компьютере, в том числе чтение показаний счётчиков воды через ПЛК.
Заключение
Готовый файл проекта размещён на сайте журнала [3] и может быть использован для дальнейшего развития.
При желании данный проект можно дооснастить датчиком температуры, типа PT1000, для измерения температуры в помещении. Такой датчик подключается к свободному входу ПЛК, например, к ain0.
Таким образом, приведённый здесь проект можно развивать и использовать в автоматике «Умный дом».
Литература
- URL: https://segnetics.com/ru/pixel.
- Вальпа О. Программирование логических контроллеров // СТА. 2025. № 1. С. 18.
- URL: https://www.cta.ru.
© СТА-ПРЕСС, 2025
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!