En

Rapid SCADA для контроля системы очистных сооружений

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

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

В сердце системы очистных был установлен контроллер WAGO с 2 модулями Ethernet, а в качестве HMI интерфейса – сенсорная панель Weintek (см. фото).

Панель Weintek
Рис. 1. Панель Weintek

Заказчиком была поставлена задача:

  • На удаленном пульте (1,4 км) необходимо было получить мнемосхемы с параметрами работы станции очистки, причем так, чтобы они не отличались от локальных (к описанию процесса строительства вернемся в конце статьи).
  • Установить камеру видеонаблюдения и обеспечить контроль открытия входной двери в помещение блок-контейнера.

Выдержка из сформированного технического задания:

Требования к АСК (автоматизированной системе контроля)
1. Очистные сооружения
Отображения: 
  - мнемосхемы работы очистной станции, согласно панели отображения на объекте.

Управление:
  - согласно схемы управления проекта очистных сооружений.

Аварийные сигналы:
  - согласно перечня аварийных сигналов проекта очистных сооружений (п. 3 ТЗ).

Состав оборудования: 
№  Наименование                                    Кол-во, шт.
1  Беспроводной мост Ubiquiti NanoBeam M51
2  Розетка РАр10-3-ОП 220 din                      2
3  Коммутатор на DIN 5 портов                      1
4  SNR-ERD-3s Устройство контроля и мониторинга    1
5  Сетевая камера Ubiquiti                         1

2. Диспетчерская
Отображения:
  - сигналы с объекта Очистные сооружения.

Аварийные сигналы:
  - согласно разработанного плана аварийных сигналов.

Состав оборудования: 
№  Наименование                              Кол-во, шт.
1  Беспроводной мост Ubiquiti NanoBeam M5    1
2  GSM модем (отправка аварийных SMS)        1

3. Перечень аварийных сигналов объекта Очистные сооружения.
№   Наименование                           Вид оповещения
1   Дверь входная очистные                 SMS, журнал
2   Воздуходувка М1 поломка                SMS, журнал
3   Воздуходувка М2 поломка                SMS, журнал
4   Воздуходувка М3 поломка                SMS, журнал
5   Воздуходувка М4 поломка                SMS, журнал
6   Воздуходувка М5 поломка                SMS, журнал
7   Воздуходувка М6 поломка                SMS, журнал
8   Эл.вентиль М7 поломка                  SMS, журнал
9   Эл.клапан М8 поломка                   SMS, журнал
10  Эл.клапан М9 поломка                   SMS, журнал
11  Эл.клапан М10 поломка                  SMS, журнал
12  Насос М11 в насос.станции 1 поломка    SMS, журнал
13  Насос М12 в насос.станции 1 поломка    SMS, журнал
14  Насос М13 в насос.станции 1 поломка    SMS, журнал
15  Насос М14 в насос.станции 2 поломка    SMS, журнал
16  Насос М15 в насос.станции 2 поломка    SMS, журнал
17  Насос М16 в насос.станции 2 поломка    SMS, журнал
18  Эл.вентиль YV31 АЧБ 1 поломка          SMS, журнал
19  Эл.вентиль YV32 АЧБ 2 поломка          SMS, журнал
20  Эл.вентиль YV33 АЧБ 3 поломка          SMS, журнал
21  Эл.вентиль YV34 АЧБ 4 поломка          SMS, журнал
22  Неисправность датчика LIC21            SMS, журнал
23  Неисправность датчика LIC22            SMS, журнал
24  Макс. уровень Насосная стан. 1         SMS, журнал
25  Макс. уровень Насосная стан. 2         SMS, журнал
26  Мин. уровень Насосная стан. 1          SMS, журнал
27  Мин. уровень Насосная стан. 2          SMS, журнал

Главная сложность проекта – это отсутствие исходных проектов (прошивок) панели и ПЛК WAGO. Оценив, что ПЛК и панель соединяются по Ethernet, предположили, что протокол обмена – Modbus TCP. Осталось придумать, как получить карту регистров ПЛК. Подключившись к панели по USB, запроса пароля не произошло, что довольно странно, ведь наладчики систем автоматики, довольно часто ставят защиту на свои проекты.

Радостно скопировав файл project.xob (компилированный файл проекта панели) с помощью EasyBuilder (среда разработки для панелей Weintek) на компьютер, выполняем декомпиляцию:

Декомпиляция прошивки Weintek
Рис. 2. Декомпиляция прошивки Weintek

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

Открытый проект панели Weintek
Рис. 3. Открытый проект панели Weintek

И все на чешском. Что ж, уже интереснее.

Оказалось, что состояния механизмов характеризуются значениями от 0 до 3, причем эти значения берутся из внутренних регистров панели, а в панель они попадают из регистра хранения 4×15289. Особенностью проекта является то, что панель и ПЛК имеют следующую адресацию Modbus TCP:

EasyBuilder, объект – битовый индикатор
Рис. 4. EasyBuilder, объект – битовый индикатор

Обратите внимание, что 01 – номер бита слова, помещенного в регистр 15320. Rapid SCADA по умолчанию, не умеет работать с битовыми регистрами, но это столь мощный продукт, который можно научить.

Напишем функцию, которая из значения регистра, будет получать состояние бита n.

Обращаю ваше внимание, что функция написана непрофессиональным программистом, и дальше будет только хуже.

Примечание от Rapid SCADA: Начиная с версии 4.5 функция получения бита GetBit, написанная оптимальным образом, входит в стандартную конфигурацию.

Рассмотрим на примере битового индикатора запуска системы автоматической очистки. Он имеет два положения: 0 – выключено, 1 – включено.

Шаблон Modbus
Рис. 5. Шаблон Modbus

Настроим Коммуникатор для считывания регистра 15320. Обращаю внимание, что в случае чтения регистра состояния битов мы не увеличиваем на 1 адрес регистра, а в случае, если мы считываем число (float), например, характеризующее уровень жидкости, то к адресу регистра нужно прибавить единицу. Такова особенность ПКЛ WAGO.

Создадим канал «Активация регистр» с номером 300, типом Телеизмерение и сигналом 1. В коммуникаторе проверим, что сигнал 1 соответствует считываемому регистру.

Так как в панели используются биты 0-3, пропишем еще 4 канала (Активация 1 — 4, каналы 301 — 304) со следующими параметрами:

Тип: Дорасчетный ТИ
Исп. формулу: флаг установлен
Формула: GetBit(300,0) – для первой активации и по аналогии GetBit(300,1) для второй и т.д.

Таким образом, в каналах 301-304 мы получаем 0 или 1 в зависимости от того, установлен ли бит состояния Активации.

На станции используются механизмы (M1-M6, M7-M10 и M11-M16), состояние которых описывается тремя значениями, и вот тут-то возникает некоторая сложность. Панель Weintek считывает регистры 15289, 15291 и 15293 таким образом:

И далее применяет макросы (некие программные функции, выполняемые в зависимости от условий или вызываемые явно при нажатии на экран, в данном случае макрос вызывался при получении данных по Modbus TCP) вида:

Повторим логику работы макроса, с помощью функций Rapid SCADA:

Имена переменных оставим без изменений.

Считаем регистры 15289 — 15293 в каналы 309 — 311 и применим написанную функцию SetStateM(309,310,0,8), где 0 – номер бита в канале 309 (регистр 15289), 8 – номер бита в канале 310 (регистр 15291).

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

Функция для механизмов YV31-34:

Все перечисленные выше расчетные состояния механизмов используются для отображения на мнемосхеме.

Как оказалось, единичные состояния (установлен бит или нет) используются для контроля работы: открыт-закрыт, контроль электропитания или отображения поломки. Пропишем их в соответствии с проектом панели с использованием функции GetBit.

А теперь попробуем повторить мнемосхемы:

Главная схема
Рис. 6. Главная схема

Схема насосной станции
Рис. 7. Схема насосной станции

Схема воздуходувной станции
Рис. 8. Схема воздуходувной станции

А теперь для сравнения, интерфейс панели, который мы копировали:

Weintek - Главная схема
Рис. 9. Weintek — Главная схема

Weintek - Схема насосной станции
Рис. 10. Weintek — Схема насосной станции

Weintek - Схема воздуходувной станции
Рис. 11. Weintek — Схема воздуходувной станции

Все получилось максимально похоже. Внимательный читатель обнаружит, небольшие нестыковки по значениям времени работы механизмов М1-М6 (например, для машины М5 в Rapid SCADA время работы — 2400 ч, а в панели — 2402 ч), видимо, это связано с системой округления C#. В данном конкретном проекте точность отображения этих параметров несущественна, главное, чтобы порядок значений совпадал.

Не забыли и о контроле открытия двери: к SNR-3rds подключается герконовый датчик, далее по протоколу SNMP передается состояние двери на Multi Protocol Master OPC Server (бесплатный OPC-сервер протокола SNMP на одно рабочее место на 32 тега).

Строительство Wi-Fi канала передачи информации

Объект Очистные сооружения расположен на расстоянии 1,4 км (по разным картографическим системам расстояние разное, возьмем за эталон 1,4 км) от здания диспетчерской.

План местности
Рис. 12. План местности

AP — диспетчерский пункт,
ST_1 — очистные сооружения,
ST_2 — станция скважин (проектируемый объект, об автоматизации которого, будет отдельная статья).

В качестве приемо-передающей аппаратуры, был выбран WiFi беспроводной мост Ubiquiti PowerBeam M5 300mm. Диапазон в 5 GHz был выбран не случайно — в пределах коттеджного поселка эфир 2,4 был перегружен и заниматься подбором свободного канала желания не было.

Антенны были смонтированы на 4 метровые опоры, без использования такелажа, в силу того, что аппаратура имеет вес до 2 кг. По наблюдениям амплитуда колебаний опор составляет до 1 метра при скорости ветра в 10 м/с, что не сказывается на стабильности канала передачи информации. Скорость передачи составляет 78 мегабит в секунду (по 39 мегабит в каждую сторону).

Данные о работе канала передаются по SNMP в OPC сервер и далее в Rapid SCADA в виде ламп состояния (зеленая — канал работает, красная — есть проблемы).

Для просмотра потока с камеры видеонаблюдения, была создана кастомная страница в Rapid SCADA. К сожалению, скриншотов не сохранилось, но принцип прост: создаем <div>, внутри которого запускаем онлайн-плеер с подключением к потоку IP камеры. Все решается на JavaScript.

Веб-интерфейс Ubiquiti PowerBeam M5 300mm
Рис. 13. Веб-интерфейс Ubiquiti PowerBeam M5 300mm

Беспроводной мост на очистных сооружениях
Рис. 14. Беспроводной мост на очистных сооружениях

Беспроводной мост на диспетчерской
Рис. 15. Беспроводной мост на диспетчерской

Работы по монтажу и наладке выполнены, заказчик доволен. Спасибо команде разработчиков Rapid SCADA за удобный инструмент автоматизации, которым можно решать самые разнообразные задачи.

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

Теги: ,