Віддаленний моніторинг/керування невеликими установками

Рішення з 7bit і Level2

Припустимо, ви маєете невеличку інженерну систему, наприклад, котельну або котел, індівідуальний теплопункт, систему бесперебойного живлення тощо, яка чудово працює сама по собі, але Ви хочете мати віддалений доступ до керування цією системою, для того щоб змінити режим роботи, вимкнути / увімкнути. Також можна зробити значно більше – отримати аналітику по роботі обладнання, журнал подій, повідомлення про помилки, тощо.

Як правило, вся сучасна автоматика має інтерфейс для системи керування або диспетеризації. Все що треба – це поставити одни за наших шлюзів (є декілька опцій, можна навіть використати свій варіант, якщо він підтримує протокол обміну даними MQTT) і під’єднати його до хмарного сервису Level2, а потім налаштувати потрібні для моніторингу функції – екран визуалізації, якщо треба, архівацію параметров, тощо.

Далі розберемо ці кроки детальніше.

Під’єднання до обладнання

Наведемо це на прикладі, як під’єднатись до контроллера пелетного котла OXI Контролер має наступний вигляд:

Під кришкою розташована плата керування, на який треба знайти интерфейс для підключення, як правило, це RS-485. Його клеми можуть мати наступні або схожі, назви, приклади якіх наведені в таблиці:

ВиробникПозитивна клемаНегативна клема
Texas InstrumentsВА
Schneider ElectricD1D0
Siemens, AdvantechD+D-
MoxaTXD+TXD-
Phoenix ContactBA
National InstrumentsDI+DI-

Клеми D+, D- під’єднуются відповідно до клем А, В шлюза 7bit CloudPoint:

Налаштування зв’язку між шлюзом і контролером

Налаштування послідовного порта можна подивиться в меню самого контролера:

Ці параметри треба вказати в програмі шлюза. Щоб зайти в режим редагування программи, треба натиснути кнопку Setup на шлюзі. Шлюз перейде в режим налаштувань і стане доступна його сторінка конфігурації (на неї можна зайти або через підключення Ethernet, або через точку доступа, яку створює модуль під час конфігурації, SSID має вигляд 7bitLuaXXXXXX, пароль для підключення 12345678 ).

Треба знайти цей рядок програми, і в разі необхідності, скорегувати:

uart.attach(PORT, 38400, 8, uart.PARNONE, uart.STOP2) 

Тут:

  • 8 – число біт даних (8)
  • 38400 – швідкість
  • uart.PARNONE – константа яка вказує що контроль за партістю відсутній,
  • uart.STOP2 – константа яка вказує що використовується 2 стопових біта

Читання необхідних параметрів з контролера

Всі параметри контролера мають певні адреса в пам’яті, за якими їх можна читати по протоколу Modbus RTU. Як правило ця інформація наводиться в посібнику користувача на пристрій, або може бути завантажена з розділу завантажень сайта виробника (якщо не можете найти карту, або маєте питання щодо підключення, зверниться до нашого технічного відділу). Наприклад, карта параметрів контролера може виглядати так:

PNO no. – це адрес регистра в пам’яті, type – тип даних який миститься в регистрі, scale – множник, на який треба помножити дані в регистрі, щоб отримати фактиче значення.

В програмі шлюза є дві таблиці, за допомогою которих він читає або записує дані. Одна таблиця призначена для читання, інша – для запису. Тобто шлюз періодично читає регистрі по таблиці, формує пакет JSON з назвами параметрів (або “ключами”, по яким вони будуть находитись в пакеті) і їх значеннями і відправляє цей пакет по протоколу MQTT на сервер Level2. І навпаки, кожного разу, коли змінюється змінна в структурі на запис (або “topic” в термінології протоколу MQTT) на сервері, шлюз використовує схожу таблицю для визначення, в який регистр треба записати значення.

Приклад таблиці сопоставлення “Регистр прилада – Змінна (Ключ)”

Налаштування для під’єднання шлюза 7bit CloudPoint до Level2

Налаштування кабінету Level2

КРОК 1. Треба увімкнути обробку даних MQTT в кабінеті: (чекбокс Enable)

Ці дані необхідно буде ввесті в програмі шлюза.

КРОК 2. Додати пристрій IoT

Тиснемо на кнопку New device.

Додаємо Custom пристрій, не забуваємо поставити чекбокс Activation:

Під час створення пристрою система також пропонует додати тестовий тег, якій потім можна відредагувати як треба (див. далі).

Система створить пристрій (вузол) і сгенерує для нього валідний ID. Цей Device ID також треба вказати як частину адреса параметра (топіка) в программі шлюза.

Як відбувається обробка даних MQTT в Level2

Для того, щоб дані з’явились в певному кабінеті користувача, топік (назва змінної, що передається в термінології MQTT) має відповідати визначеному формату:

<Mounting point>/<Device ID>/<name>

Mounting point

За допомогою точки монтування дані фильтруються для певного кабінету в Level2/

Device ID (Serial)

Ця частина топіку визначає з якого саме пристрою, або вузла, надійшлі дані.

name

Ім’я (name) остаточно конкретизує параметр, який надсилається. Наприклад, це могло бути fwd, analog_input1, тощо. Топік може бути простим (якщо він містить одне значення) або складним – структурою json у вигляді рядка. В останньому випадку значення параметрів обираються по їх “ключам”. Зазвичай зручніше надсилати структуровані дані в одному пакеті, в нашому прикладі це буде json, тоді весь топік буде виглядати як:

ID111-111-111/CSFB687D6B81/json

Налаштування в програмі шлюза

Треба вказати вишеозначені реквізити підключення в програмі шлюза:

Перевірка прийому даних в консолі

В кабінеті користувача є консоль відлагодження, треба перевіріти що дані надходять:

Налаштування отриманих даних в Level2

Після того, як дані успішно надсилаються з шлюза, треба налаштувати окремі параметри, або змінні. Тоді їх можна використовувати в візуализації, архівації, тощо.

Наприклад, ми хочемо завести тег з температурою подачи. В програмі шлюза він названий fwd. Під час створення пристрою один тег вже був створений, тому можно просто відредагувати його. Для того щоб перейти к списку тегів пристроя, треба просто натиснути його назву в списку пристроїв, воно є посиланням водночасно.

Буде здійснений перехід на сторінку регистрів (тегів) пристроя. Ми побачимо, в системі зараз один регистр простого типу (просто значення, без вказівкі ключа).

Треба вказати, що це складний регистр (JSON), вказати останню частину топіка (json) і ключ (fwd):

Тепер параметри доступні і їх можна використовувати в компонентах системи моніторингу Level2, таких як:

  • графіки
  • екрани
  • мапи
  • звіти про споживання ресурсів