En

Яндекс.Карты для диспетчеризации ЖКХ

В современной системе ЖКХ важное место занимает учет коммунальных ресурсов. Существует целый класс приборов, называемых теплосчетчиками, используемых для расчета потребленного тепла и ГВС в отдельно взятом многоквартирном жилом доме (МЖД) или подъезде, о них и пойдет речь.

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

По долгу службы автор эксплуатирует систему диспетчерской связи по узлам учета тепловой энергии отдельно взятого района города N с миллионным населением. Данная система состоит из 4 ключевых элементов:

  • первичные регистраторы (теплосчётчики, тепловычислители);
  • передающие конверторы;
  • каналы связи (Ethernet, GSM, GPRS);
  • программное обеспечение.

В качестве программного обеспечения для коммерческого учета используются продукты, разработанные производителями приборов учета. Система технологического учета отсутствовала на эксплуатирующем жилищный фонд предприятии.

Проведя опросы аварийных и диспетчерских служб, стало ясно – необходима информационная система, в которой содержалась бы оперативная информация об инженерных коммуникациях МЖД. После недолгих споров выбрали Rapid SCADA версии 3, недавно перешли на версию 4.

Используя существующие каналы связи, через сервера OPC текущие параметры приборов учета попадают в SCADA-Коммуникатор, затем в SCADA-Сервер. Представим схему связи приборов учета и сервера данных на рис. 1.

Rapid SCADA - Network
Рис. 1. Структурная схема системы

Rapid SCADA - SCADA-Web
Рис. 2. Отображение информации через веб-интерфейс Rapid SCADA

На рис. 2 показан пример информации о температуре ГВС нескольких МЖД. Представьте, что мы добавим в таблицу ещё и расходы по трубопроводам, показания электросчётчиков, данные лифтового хозяйства. Таблица станет перегруженной и нечитаемой для оперативного персонала, можно сделать несколько таблиц, но и это не облегчит работу операторов.

Появилась задача: сделать визуализацию данных Rapid SCADA максимально упрощённой и, главное, наглядной для руководства компании. Отталкиваясь от классификации объектов (а это жилые дома), напрашивается решение – интерактивная карта.

Компания Яндекс предоставляет отличный API-интерфейс для работы с картами городов России. Особенности отображения информации Rapid SCADA на карте, которые были реализованы:

  • обновление показаний без перезагрузки карты;
  • цвет метки отражает состояние: синий – низкое значение, зелёный – норма, красный – высокое;
  • в одном доме может быть несколько приборов учёта, поэтому предусмотрена группировка – отображение значений каналов со всех установленных в доме приборов в одной метке.

Рассмотрим, как связать Rapid SCADA с Яндекс.Картой (рис. 3). Доступ к серверу SCADA имеет смысл ограничить в целях безопасности, потому воспользуемся всеми преимуществами API Rapid SCADA для децентрализации размещения данных SCADA и страницы с картой. Разработанный автором Windows-сервис по протоколу TCP получает значения входных каналов и складывает их в базу MySQL, которая используется в качестве источника информации для карты. Далее PHP-приложение, получив данные из базы MySQL, формирует веб-страницы, содержащие JavaScript-код, отображающий информацию на Яндекс.Картах.

Rapid SCADA - Software
Рис. 3. Взаимодействие ПО

1. Таблица в базе MySQL – источник информации для карты

Структура таблицы:

Колонка Тип Комментарий
idChannel mediumint(9) ID входного канала
idUKUT int(8) ID узла учёта
channel char(30) Номер канала в Rapid SCADA
channelName char(30) Имя канала в Rapid SCADA
value char(30) Значение канала
last_update datetime Последнее обновление
color char(30) Цвет

Такая структура обусловлена исторически – на предприятии используется самостоятельно разработанная база данных для учета оборудования, установленного на МЖД, поэтому достаточно просто добавить новую таблицу, связав её с данными по узлам учёта с помощью ключа idUKUT. Координаты конкретного жилого дома хранятся в уже существующей таблице базы данных в виде параметров lon, lat:
Колонка Тип Комментарий
lon varchar(50) Долгота
lat varchar(50) Широта

Написать запрос на получение этих данных из базы для человека знакомого с SQL не составит труда.

2. Заполнение базы данных

Используя API Rapid SCADA, осуществим подключение к приложению SCADA-Сервер, по номерам каналов получим их значения. Для удобства рекомендуется использовать текстовый файл с номерами используемых на карте каналов.

На языке C# был разработан Windows-сервис, отвечающий за получение значений каналов и обновляющий эти данные в базе данных MySQL.

В качестве примера приведена реализация двух ключевых функций Windows-сервиса:

3. Вывод информации на карту

JSON (англ. JavaScript Object Notation) – текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.

Для наших целей используем упорядоченный набор значений, это обусловлено простотой и небольшим объемом информации. Формируется JSON последовательность скриптом, написанным на языке PHP.

Первая структура – это пример массива описаний объектов, размещаемых на карте, вторая – пример массива каналов и их значений. Далее, обратившись к документации по использованию API Яндекс.Карт, можно легко вывести информацию на карту.

Рассмотрим код для создания карты:

Таким образом, мы получили на карте метку с указанием значения канала. После внимательного прочтения документации API Яндекс.Карт читателю не составим труда вывести значения нескольких каналов в одну метку. Используйте событие isOpen().

Вот что у нас получилось в итоге (кликните рисунок для увеличения):

Rapid SCADA - Map
Рис. 4. Отображение данных на карте

Такая структура представления информации технологического учета очень наглядна, максимально проста и радует глаз. Если у вас остались вопросы, или Вы хотите внедрить подобную систему у себя на предприятии, обращайтесь к автору статьи.

Автор: Пастухов Алексей Владимирович
Начальник отдела ИТ ООО «ЭкспертСервис»
alex.vl.pas@gmail.com

Теги: , ,