Системы диспетчерского управления и сбора данных (SCADA) занимают важное место в современных АСУ ТП. Именно через интерфейс SCADA оператор наблюдает за технологическими процессами и управляет ими в реальном времени. Традиционно для размещения SCADA на производстве используется локальный компьютер или выделенный сервер. Но тенденции последних лет затронули и эту достаточно консервативную сферу — все чаще SCADA-системы уходят в облака.
Преимущества размещения SCADA в облаке достаточно очевидны: это доступ к СКАДА из любой точки через интернет и отсутствие необходимости содержать собственный сервер. Особенно актуально это для удаленных автономных объектов, сбор данных с которых осуществляется через GSM-модемы или проводной интернет. Одним из таких облачных сервисов для размещения SCADA является облачная SCADA-система dispsky.ru
Основные функции
DispSky означает «Диспетчерская в облаке». Основные возможности этой виртуальной диспетчерской:
- Располагается в интернете на серверах компании DispSky. Работа и конфигурация SCADA осуществляется через браузер. Дополнительное ПО на компьютере не требуется.
- Отображение мнемосхем технологических процессов, в том числе с использованием анимации.
- Подключение различного оборудования: GSM-модемов, ПЛК, СКУД, СКУЭ, Arduino и др.
- Сигнализация аварий и событий.
- Система информирования с помощью SMS и Email.
- Создание отчетов в Excel.
- Ведение трендов.
- Распределение уровней доступа.
Рис. 1 — Пример мнемосхемы DispSky
Как видим, есть все составляющие современной SCADA. Интерфейс программы простой и понятный. Даже без чтения документации можно быстро зарегистрировать аккаунт на DispSky и сконфигурировать мнемосхемы.
Видео 1 — Начальная регистрация и основные функции
Графических объектов для создания мнемосхемы совсем немного:
- кнопка;
- простые геометрические фигуры: окружность, прямоугольник, многоугольник, линия;
- текст — используется как для статических надписей, так и для ввода/вывода значений тегов;
- изображение;
- таблица.
Рис. 2 — Панель инструментов для создания мнемосхем
Среди инструментов нет аналоговых индикаторов, баров, чекбоксов, комбобоксов. Конечно, все это можно сделать стандартными средствами. Например, в первоначальной мнемосхеме, которая по умолчанию присутствует в созданном аккаунте, есть стрелочные часы. Эти часы сделаны простыми геометрическими фигурами: циферблат — это круг, стрелки — это линии, поворот стрелок осуществляется скриптами.
Нет библиотеки изображений, откуда можно взять изображения моторов, насосов, задвижек и вставить в мнемосхему. Нельзя создавать собственные шаблоны вроде “faceplate” WinCC.
У каждого объекта есть три настраиваемых параметра: анимация, правила и действия. Благодаря им можно менять текст или цвет объекта при изменении значения тега, делать простую анимацию (например, вращение лопастей вентилятора) и тому подобное.
В DispSky есть скрипты, но это далеко не те скрипты, к которым мы привыкли в WinCC и других сложных SCADA. Здесь нельзя, например, создать подпрограмму на Си- или VBA-скриптах и далее эту подпрограмму использовать в работе.
Скрипты в DispSky являются составной частью свойств объекта и применяются для реализации простейших действий: изменение цвета объекта по тегу, поворот, перемещение и так далее. Для создания скрипта в свойствах галочкой выбирается соответствующий пункт и прописывается условие (формула).
Вот так выглядит скрипт, который реализует работу секундной стрелки: угол поворота объекта «линия» равен секундам текущего времени, умноженным на 0,0083 градуса.
Рис. 3 — Скрипт, реализующий секундную стрелку
Есть возможность создавать тренды, но вставить их в основную мнемосхему нельзя. Тренды располагаются на отдельных экранах.
Рис. 4 — Тренды
Аварии и события отображаются под экранами работающих (активных) мнемосхем. Аварии конфигурируются пользователем на соответствующем экране простыми скриптами. В качестве аварии можно назначить любой дискретный сигнал, минимальное или максимальное значение тега.
События, в отличие от аварий, создаются автоматически. Типы событий: «нет связи с узлом», «установлена связь с устройством», «сработала авария» и др.
Рис. 5 — Аварии и события
Есть возможность создавать отчеты и выводить их на экран либо в файл Excel.
Рис. 6 — Отчеты
В целом конфигурирование мнемосхем, аварий, трендов и отчетов не представляет сложности даже для новичка. Все сделано просто и интуитивно понятно.
Поддерживаемые устройства
DispSky позволяет подключать большое количество устройств: ПЛК, электросчетчики, СКУД, Arduino и т. д. При обмене данными DispSky является Мастером, а подключенные устройства — Слейвами.
Подключение устройств к сайту осуществляется тремя различными способами:
- По беспроводной сети GSM через радиомодемы IRZ, Teleofis, HF, ОВЕН ПЛК110+ПМ01.
- По проводной сети TCP/IP без использования промежуточных устройств. Это ряд ПЛК с интерфейсом TCP/IP, OPC-серверы, устройства с ОС OpenWRT, Arduino, ESP8266, Raspberry. Для некоторых вариантов нужен статический IP-адрес.
- По проводной сети TCP/IP через шлюзы связи HF2211, «Лантан» и другие.
Подключение конфигурируется на экране «Устройства» в несколько этапов:
- Создается коммуникационный узел. Задается режим работы оборудования (HF2211, iRZ и др.).
- В коммуникационном узле создается устройство. Устройств в узле может быть несколько. Для каждого устройства задается протокол обмена (Modbus TCP, счетчик «Меркурий» и др.).
- В устройстве создается таблица тегов, с которыми будет работать SCADA.
Рис. 7 — Экран «Устройства»
Важно не путать понятие «коммуникационный узел» и «протокол связи». «Коммуникационный узел» — это способ подключения оборудования к сайту: через радиомодем, TCP/IP и др. Оборудование, работающее по одному и тому же протоколу (например, Modbus TCP), может быть подключено к сайту через разные коммуникационные узлы — с помощью радиомодема, операционной системы OpenWRT и так далее. Коммуникационный узел здесь является чем-то вроде обертки над протоколом.
Экран «Устройства» используется не только для первоначальной конфигурации оборудования, но и для диагностики его работы, а также для просмотра текущих значений тегов. Обмен данными в реальном времени между сайтом и устройством, в том числе отправленные и принятые посылки, можно посмотреть на закладках «Лог» и «Диагностика».
Рис. 8 — Диагностика работы устройства
В справочных материалах на сайте DispSky есть детальные инструкции по подключению каждого из поддерживаемых устройств.
Для подключения устройств, режим работы которых сайт не поддерживает, есть два пути. Можно просто обратиться в техподдержку сайта и далее разбираться с их помощью. А можно, при наличии энтузиазма и творческого порыва, реализовать для своего устройства режим настройки шлюза HF2211. Этот режим используется, в том числе и для подключения Arduino. Поэтому можно взять скетч для Arduino и посмотреть, как там реализована связь с сайтом. В общем, в любой непонятной ситуации используйте режим HF2211.
Кстати, про Arduino. Интересно, что в DispSky уделено большое внимание подключению не только профессионального оборудования (ПЛК), но и любительского — Arduino, ESP8266 и Raspberry. Это позволяет пользоваться всеми преимуществами облачной SCADA даже при самом скромном бюджете.
На примере Arduino мы и рассмотрим подключение устройств к DispSky.
Использование Arduino
Подключаться мы будем с помощью связки Arduino Mega, Ethernet-шилда W5500 и модуля релейных выходов. Задача состоит в том, чтобы из DispSky включать и выключать реле.
Видео 2 — Подключение Arduino + W5500 + 4 Relay к DispSky
За основу взят пример с сайта DispSky. Но нужно отметить, что в примере на DispSky задействуется библиотека “Ethernet.h”, которая работает только со старыми шилдами W5100 и W5200. Для новых ethernet-шилдов, таких как W5500, нужно заменить библиотеку на Ethernet2. В стандартной конфигурации Arduino IDE нет этой библиотеки, и ее нужно установить дополнительно через пункты меню «Инструменты» — «Управлять библиотеками».
Перед попыткой подключить Arduino к DispSky рекомендую предварительно проверить собранный макет с помощью стандартных примеров WebServer и WebClient из библиотеки Ethernet2. Например, я долго не мог заставить макет работать в качестве веб-сервера, шилду W5500 просто не присваивался локальный IP. При работе стандартный скетч WebServer выдавал сообщение “server is at 0.0.0.0”. Причина оказалась банальной — весь макет я запитывал от порта Arduino USB, и напряжение на линии 5V проседало до 4.5V, что, очевидно, недостаточно для корректной работы W5500. Когда я запитал Arduino Mega от блока питания 12V, все сразу заработало как надо.
Также линия SPI между Arduino и W5500 не должна превышать 10 см.
Рассмотренные скетчи и схему подключения можно скачать по ссылке в конце статьи.
Использование GSM/GPRS-модемов
Удаленные автономные объекты к облачным сервисам удобно подключать по мобильной связи. Для этого используются GSM/GPRS-модемы, которые работают через SIM-карты мобильных операторов. Многие операторы выпускают SIM-карты со специальными недорогими тарифами типа «Датчик», оптимизированными именно для такого применения.
Рис. 9 — Схема подключения оборудования к DispSky
На этом рисунке с сайта DispSky мы видим принцип работы по беспроводным сетям. Однако надпись «Шлюз DispSky GPRS» не должна вводить в заблуждение — никаких шлюзов компания DispSky не выпускает. В данном случае «Шлюз DispSky» означает модем, который поддерживается сайтом. Таких модемов несколько: IRZ ATM21, ТЕЛЕОФИС, HF211 и связка ОВЕН ПЛК110+ПМ01. Для этих устройств на сайте уже реализован механизм обмена данными, и я советую использовать один из этих модемов.
Другие модели GSM-модемов, в принципе, тоже можно «прикрутить» к DispSky, но придется делать это нестандартными способами. Например, ради интереса я попробовал подключить ПЛК Delta DVP-SS через GSM-модем ОВЕН ПМ01 (модель 2013 г., чип SIM300). Оказалось, что сделать это не так просто. При включении ПЛК должен отослать на ПМ01 последовательно несколько АТ-команд и тем самым подключить его к DispSky. Далее ПЛК должен перейти в режим «Слейв» и принимать запросы от DispSky, который при передаче данных выступает в роли Мастера. Но это будут не просто модбас-запросы, а модбас-запросы, «обернутые» сверху режимом работы одного из поддерживаемых DispSky модемов (мне сказали использовать режим модема HF2211).
Эти запросы нужно расшифровать, потом зашифровать ответ и т. д. Плюс ко всему, если модем ПМ01 во время работы неожиданно перезагрузится, то нужно это определить и заново произвести его инициализацию АТ-командами. Для такой сложной математики Delta DVP оказался не очень хорош. Провозившись пару вечеров, я это дело забросил, хотя ПЛК уже видел поступающие от DispSky запросы. Я понял, что нужно не заниматься ерундой, а использовать стандартные решения.
Рассмотрим использование одного из поддерживаемых DispSky модемов — IRZ ATM21.A.
Рис. 10 — GSM-модем ATM21.A
Рис. 11 — Слоты для подключения антенны, SIM, питания и сигналов ввода-вывода ATM21.A
Есть еще такой же модем, но с индексом «B». Разница между ними в типе питания: 24VDC для ATM21.A, 230VAC для ATM21.B.
С DispSky эти модемы работают одинаково, поэтому на сайте они рассматриваются вместе как IRZ ATM21.A/B.
ATM21.A оказался намного более продвинутым GSM-модемом, чем мой старенький ОВЕН ПМ01. Основные характеристики ATM21.A/B:
- беспроводная передача данных GPRS, CSD, SMS, USSD;
- 2 SIM-карты;
- 2 последовательных порта (RS232 и RS485);
- 8 дискретных входов и выходов (3 DI/O, 5 DO), один из которых можно настроить как аналоговый вход (0…40V или 0…30 mA).
С помощью ATM21.A/B к DispSky можно напрямую подключать Modbus slave-устройства (электросчетчики, модули ввода-вывода) по встроенным портам RS232 и RS485 без использования дополнительного оборудования. Тот же ОВЕН ПМ01 не может напрямую работать с сайтом без управляющего ПЛК.
В ATM21 имеется 8 DI/O, что позволяет создавать простейшую автоматизацию без прочих устройств ввода-вывода. Например, управление шлагбаумом, воротами или работой насоса. При добавлении коммуникационного узла IRZ (ATM21) автоматически создается таблица тегов для встроенных в него DI/O.
Видео 3 — Подключение ATM21.A к DispSky
Если в рассмотренном выше примере работы с Arduino по TCP/IP обмен данными осуществлялся почти мгновенно, то для узла связи ATM21 рекомендуется ставить период опроса от 10 сек.
Использование на мобильных устройствах
На данный момент у DispSky нет специального мобильного приложения. Пользоваться этой облачной SCADA на мобильных устройствах удобно в той же мере, что и работать с любым другим сайтом.
Если необходимо постоянно пользоваться DispSky и со стационарного компьютера, и с помощью смартфона, можно создать две версии мнемосхем. Соответственно, для стационарного ПК и для смартфона. А на мнемосхеме для мобильной версии просто делать все элементы крупнее.
Рис.12 — Отображение мнемосхемы на 5’’ экране Meizu M2
Я попробовал поработать со стандартной демонстрационной мнемосхемой на 5’’ смартфоне, и это оказалось вполне удобно. По кнопкам попадаю без проблем, разные элементы управления одновременно не задеваются.
Простота освоения и техподдержка
На сайте есть обширная документация с учебными материалами и инструкциями по подключению поддерживаемого оборудования. При регистрации нового пользователя автоматически создается демонстрационный пример, в принципе работы которого легко разобраться «методом тыка» даже без чтения документации. Поэтому человек, мало-мальски знакомый с любой SCADA, быстро освоит DispSky.
В процессе изучения DispSky я плотно общался со специалистами техподдержки, и они всегда оперативно помогали в решении проблем.
Стоимость
Существует два вида тарифных планов DispSky: платный и бесплатный.
Ограничение бесплатного тарифного плана:
- 30 тегов;
- 1 устройство;
- 1 мнемосхема;
- 3 пользователя онлайн;
- 5 аварий;
- 1 тыс. событий;
- 1 млн точек трендов;
- веб-камер нет;
- VPN нет.
Стоимость платного тарифа рассчитывается по количеству тегов, устройств и прочих параметров, превышающих бесплатный тариф. Считаются все теги, как внешние (теги подключенных устройств) так и внутренние (virtual).
Рассчитать тариф суточного или месячного пользования программой можно на специальном калькуляторе.
Рис. 13 — Тарифный калькулятор
Возможностей бесплатного тарифного плана вполне достаточно для несложной автоматизации.
При первоначальной регистрации на счет дается 100 рублей, благодаря чему можно бесплатно проверить работу части платной функциональности.
Подводя итоги
Облачная SCADA DispSky подходит для несложных задач диспетчеризации и удаленного сбора данных с автономных объектов, где не предполагается постоянное размещение персонала. Это насосные станции, пункты учета электроэнергии и тому подобное.
При использовании до 30 тегов в программе сервис доступен бесплатно. А такого количества тегов достаточно для многих объектов.
SCADA дружественно относится не только к профессионалам, но и к любителям — в ней реализованы механизмы совместной работы с Arduino, Raspberry и другими популярными любительскими платформами.
При этом хотелось бы видеть в DispSky больше инструментов для мнемосхем. Было бы неплохо добавить аналоговые датчики, бары и создать библиотеку изображений стандартных устройств — насосов, моторов, задвижек.
Благодаря большому количеству поддерживаемого оборудования, простоте программирования и использования DispSky показала себя с хорошей стороны.