Есть небольшая вентсистема, которую нам поручили когда-то запустить, а сегодня я пользуюсь ей как онлайн-термометром. Как так получилось? То был первый шкаф автоматики, принятый сразу же после согласия работать.

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

схема установки

Шкаф собрали из: Овен ПЛК160, сенсорная панель СП270, ПЧВ203, всякое электротехническое барахло. Для измерения температуры взяли овеновские же термометры сопротивления и пару модулей аналогового ввода.

Нагреватели управляются ПД-регулятором (как я его себе представляю) и ШИМ-коммутатором с полутораминутным периодом для переключения пускателей(контакторов) с перебором ступеней. Нагревателю перед рекуператором выставлена фиксированная температура 3°С — это значение подобрано после «экспериментов» с обморожениями вытяжного канала и потопами, так возник дренаж и водосточный обвес. Нагреватель после рекуператора догревает до требуемой температуры.

Вообще, в импортных специализированных контроллерах есть нижний предел уличной температуры, когда вентиляция останавливается. Однако, для нас такая роскошь непозволительна, пусть у нас и –35°.

Считать чужие деньги нехорошо, но интересно
Зимой нагреватели работают примерно на 40 кВт из 120 возможных, два 7,5 кВт вентиляторов усредним к 5 кВт из-за переключения скоростей, рабочий день 15 часов. Прикидочно, 50 * 15 = 750 кВт*ч в день. По 2,75 руб примерно 2000 руб в день, 60 000 рублей в зимний месяц.

Вентиляторам задается частота напряжения: 0, 35 или 50 Гц. Изначально вентиляторы регулировались количеством открытых заслонок на ветках, но через некоторое время приводы перестали «отвечать» – китайские моторчики без кожуха заржавели – смешно сказать, но в переходный период кто-то ходит и вставляет/вытаскивает пластины поперёк/из воздуховода. Потом для вентиляторов можно было ввести любое значение частоты из диапазона, но это оказалось «слишком сложно» – никто не заморачивался, ставили минимальное или максимальное значение. К тому же, мощность нагревателей зависела от скорости вентиляторов, но тут быстро пришло осознание, что регулятор хорошо отрабатывает без корректировок.

Да, есть некто, кто по состоянию воздуха и количеству посетителей переключает скорость «кнопками» на сенсорной панели.

Первая версия интерфейса пользователя на сенсорной панельке (СП270) ужасала меня, но кнопочки и индикаторы в рамочках продолжали складываться на экране, а миниатюры «улиток» вращали своими лопастями. Быстрый осмотр примеров построения мнемосхем показал, графическая имитация реальных объектов — общепризнанная практика. Потом появился профилактический день, и новый интерфейс.

удизайненный интерфейс

Тогда уже плоский дизайн вовсю топтал свою сферу, и картинку на шкафе немножко притянули к тренду.

Прошли годы (3 шт.), из опыта по автоматизации внутри коллектива проистекла мысль о-SCADA-ть вентсистему, но я (как не сильно профессионал, или как сильно не профессионал) сделал по-своему. Нужно отметить, что от владельца здания не поступало каких-либо пожеланий по удалённому управлению — так был оправдан мой самопал.

От какого-то нереализованного проекта (звукооповещалки) остался один Raspberry-Pi. Ну и встал туда node-js, потому что сразу одним скриптом удалось описать обмен с ПЛК и веб-представление. Естественно, выход в интернет был очевидной и неотъемлемой задачей.



Между одноплатником и ПЛК обмен происходит по modbus-tcp. Поднять связь оказалось весьма просто. Первая же библиотека из поисковика github.com/dresende/node-modbus-tcp, и через несколько часов вентиляторы управлялись из браузера.

Одноплатник к сайту подключается как и клиент — веб-сокетом — я сам толком не понял, как так произошло. Сами данные формируются в json-строки и преобразуются прямо на странице. Сначала веб-страница была наполнена элементами стандартных форм, но это сильно напоминало тот ужас на сенсорной панельке, только из другой сферы. Некоторое время я боролся за красоту, но очень быстро устал.

старая веб-морда

Теперь же нужно вращать виртуальные «крутилки» внутри раскрываемых пунктов.

Авторизация клиента для возможности управления сейчас сделана очень просто, совпадением одной строки, и весь обмен между клиентом и ПЛК проходит по цепочке сайт-роутер-роутер-одноплатник. Хотя до этого скриптами на странице было предусмотрено переключение веб-сокета на одноплатник, где серые динамические адреса для двух подсетей определялись процедурой с одноплатника, и авторизация разрешалась только клиентам из внутренней сети.

Есть ещё много деталей для улучшения в этой вентиляционной системе, а в ближайшем будущем предстоит добавить ещё три приточно-вытяжных системы с неопределённым количеством микровытяжек. Предполагаю, что объединять их будем также внутри сети здания по ethernet-у на компьютер с какой-нибудь нормальной scada-программой.

Комментарии (7)


  1. dmsav
    19.04.2018 07:34

    На какой SCADA думаете реализовать верхний уровень?


    1. hahenty Автор
      19.04.2018 08:01

      Раньше я слышал только о мастерскаде, её и начал изучать. С таргет-рекламой какие-то ещё названия появляются, но их потом посмотрю.


      1. dmsav
        19.04.2018 10:30

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


  1. Crazy_Dope
    19.04.2018 07:46

    Сейчас есть сигнетик, при сравнимой цене гораздо функциональные. Некоторые версии (smh2gi например) имеют на борту Линукс.
    Минус у них только один- поддерживается только язык fbd, и более менее сложные программы превращаются в ад...


    1. hahenty Автор
      19.04.2018 07:57

      Релейных выходов не хватает у сегнетиксов, а с их модулями расширения цена подскакивает.
      ФБД нормально программировать, достаточно попрактиковаться.


      1. Crazy_Dope
        19.04.2018 14:23

        Модули для него стоят "3копейки", кроме того для стандартных ПВшек хватает тушки контроллера+модуль МС. Ну а по поводу fbd: написать программу на st для приточки занимает грубо говоря день. А то же на fbd я физически за день не нарисую. Хотя для сигнетика можно использовать конструктор, но он бывает не корректно работает.


        1. hahenty Автор
          19.04.2018 15:39

          Не, ну если каждый раз с нуля писать, то фбд проигрывает.
          Для сегнетикса помню такое, «обрыв ремня вентилятора» не решался обнулением параметра, впервые копался в фбд.

          А вот «3 евроцента» для нашей местности значимы.