Одна небольшая вентиляция

в 10:07, , рубрики: node.js, малая автоматизация, Промышленное программирование, прототипирование, удаленное управление

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

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

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

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

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

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

Считать чужие деньги нехорошо, но интересно

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


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

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

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

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

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

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

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

Одна небольшая вентиляция - 3

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

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

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

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

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

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

Автор: hahenty

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js