Перейти к содержанию

Рекомендации по именованию тегов

Документ описывает требования к именованию тегов в базе данных для корректной работы всех модулей SCADA.AI.

Система автоматически определяет назначение тега по его имени. Неправильное имя приведёт к тому, что модуль не найдёт данные и покажет пустой отчёт.


1. Общие правила

1.1 Как система находит теги

Модуль "Здоровье здания" и модуль "Аналитика" используют фаззи-матчинг: имя тега приводится к нижнему регистру, затем проверяется вхождение ключевых подстрок.

Пример: тег с именем Office_Temperature_Sensor будет найден, потому что содержит подстроку temp.

1.2 Рекомендуемый формат имени

<Зона>_<Параметр>_<Номер или уточнение>

Примеры корректных имён:

Имя тега Что означает
Office_1_Temperature Температура в офисе 1
Corridor_CO2_Sensor Датчик CO2 в коридоре
ServerRoom_Humidity Влажность в серверной
Roof_Temp_Outside Уличная температура (датчик на крыше)
Lamp_Hall_1_Status Статус светильника в зале 1

1.3 Регистр и разделители

  • Регистр не важен: Temperature, TEMPERATURE, temperature — работают одинаково
  • Разделители: подчёркивание _, дефис -, пробел — допустимы
  • Кириллица поддерживается: Температура_Офис_1 будет найдена

1.4 Чего НЕ делать

  • Не используйте в имени тега слова из списка стоп-слов (раздел 7)
  • Не называйте технические теги (статус связи, ping) словами, похожими на физические параметры
  • Не используйте слишком короткие имена: T, H, P — могут матчиться неправильно

2. Параметры среды (модуль "Здоровье здания")

Модуль "Здоровье здания" автоматически находит теги по ключевым словам в имени и группирует их по пяти категориям. Для каждой категории есть нормы и физические границы валидации.

2.1 Углекислый газ (CO2)

Ключевые слова для матчинга (имя тега должно содержать хотя бы одно):

co2, углекисл, carbon_dioxide, carbon dioxide

Примеры корректных имён:

Имя тега Результат
Office_1_CO2 Найден
CO2_Sensor_Hall Найден
Углекислый_газ_Офис Найден
Carbon_Dioxide_Level Найден

Нормы:

Показатель Значение Единица
Оптимум 400 - 800 ppm
Критические границы 350 - 2000 ppm
Физический минимум (битый датчик) 100 ppm
Физический максимум (аномалия) 5000 ppm

Примечание: атмосферный CO2 составляет около 415 ppm. Значение ниже 100 ppm означает неисправный датчик. Значение выше 5000 ppm опасно для жизни.

2.2 Летучие органические соединения (VOC)

Ключевые слова для матчинга:

voc, tvoc, летуч, air_quality, air quality, качество воздуха

Примеры корректных имён:

Имя тега Результат
Office_1_TVOC Найден
VOC_Sensor_Main Найден
Air_Quality_Index Найден
Качество_воздуха_Зал Найден

Нормы:

Показатель Значение Единица
Оптимум 0 - 0.3 мг/м³
Критические границы 0 - 1.0 мг/м³
Физический минимум 0.01 мг/м³
Физический максимум 50 мг/м³

Специфические стоп-слова для VOC: vocal, vocabulary, avocado. Теги с этими словами в имени не будут отнесены к VOC.

2.3 Температура

Ключевые слова для матчинга:

temp, температур, t_sensor, t_air, t_room, t_outside,
t_supply, t_return, t_воды, t_vody, t_pr, t_obr, t_pod

Примеры корректных имён:

Имя тега Результат
Office_1_Temperature Найден
T_Air_Room_205 Найден
Температура_Серверная Найден
T_Supply_Heating Найден (температура подачи)
T_Return_Heating Найден (температура обратки)

Нормы:

Показатель Значение Единица
Оптимум 18 - 24 °C
Критические границы 10 - 35 °C
Физический диапазон -50 ... +80 °C

Специфические стоп-слова для температуры: template, tempo, timestamp, temporarily, temptation. Теги с этими словами НЕ будут отнесены к температуре.

2.4 Влажность

Ключевые слова для матчинга:

hum, влажн, rh_, rh-, relative_hum, relative hum,
h_sensor, h_air, h_room

Примеры корректных имён:

Имя тега Результат
Office_1_Humidity Найден
RH_Sensor_Hall Найден
Влажность_Склад Найден
H_Air_Room_101 Найден

Нормы:

Показатель Значение Единица
Оптимум 30 - 60 %
Критические границы 20 - 80 %
Физический диапазон 0 - 100 %

Специфические стоп-слова для влажности: human, humidity_setpoint.

2.5 Атмосферное давление

Ключевые слова для матчинга:

press, давлен, barometr, атмосфер, atmospheric,
p_sensor, p_air, p_room, p_diff, diff_press,
перепад давл, perepad

Примеры корректных имён:

Имя тега Результат
Barometric_Pressure Найден
Давление_Атмосферное Найден
P_Diff_Filter Найден (перепад давления на фильтре)
Atmospheric_Pressure_Roof Найден

Нормы:

Показатель Значение Единица
Оптимум 720 - 780 мм рт. ст.
Критические границы 680 - 820 мм рт. ст.
Физический диапазон 500 - 900 мм рт. ст.

Специфические стоп-слова для давления: depress, compress, suppress, express, impression, repress, oppress, decompress, pressing, presser.


3. Освещение

Модуль "Здоровье здания" также анализирует состояние освещения: сколько светильников включено, сколько выключено, и даёт рекомендации с учётом времени суток.

Ключевые слова для матчинга:

light, свет, лампа, lamp, l_, освещ, lux, lux_

Примеры корректных имён:

Имя тега Результат
Lamp_Hall_1_Status Найден
Light_Office_205 Найден
Светильник_Коридор_3 Найден
Lux_Level_Reception Найден
L_Floor_2_On Найден

Стоп-слова для освещения: highlight, lightweight, moonlight, flashlight.

Как определяется состояние светильника: - Значение больше 0.5 — светильник включён - Значение 0.5 и менее — выключен

Зоны: если в базе есть связь тегов с зонами (таблицы tags_zones и zones_dict), система группирует светильники по зонам и показывает статистику для каждой.


4. Энергоучёт (счётчики)

Модули энергоучёта (energy_electricity, energy_water, energy_heat) используют точное совпадение имени тега. Это значит, что имя должно совпадать с указанным в конфигураторе посимвольно.

4.1 Как настроить

  1. Откройте Конфигуратор (кнопка в шапке интерфейса)
  2. Вкладка "Энергоучёт"
  3. Выберите ресурс (Электричество / Вода / Тепло)
  4. В секции "Счётчики" укажите точные имена тегов

4.2 Формат имён тегов счётчиков

Система ожидает два тега для каждого счётчика:

Тег Назначение Пример имени
tag_current Показания за текущий месяц LERS.electricity meter current month 1
tag_last Показания за прошлый месяц LERS.electricity meter last month 1

Реальные примеры имён (формат ЛЭРС):

LERS.electricity meter current month 1
LERS.electricity meter last month 1
LERS.water meter current month 1
LERS.water meter last month 1
LERS.heat meter current month 1
LERS.heat meter last month 1

4.3 Важно

  • Имя тега должно точно совпадать с тем, что записано в базе данных
  • Регистр важен: LERS.Electricity и LERS.electricity — разные теги
  • Если тег не найден, модуль покажет ошибку "Тег не найден или нет данных"
  • Если тега нет в базе — создайте его в вашей SCADA-системе

4.4 Единицы измерения

Ресурс Единица Что хранит тег
Электричество кВт·ч Накопленное потребление за месяц
Вода м³ Накопленное потребление за месяц
Тепло Гкал Накопленное потребление за месяц

5. Теги для глубокого анализа (DDA)

Модуль DDA работает с любыми тегами из базы данных без фильтрации по имени. Пользователь сам выбирает теги для анализа через интерфейс.

5.1 Требования к данным

Параметр Требование
Минимум точек для анализа 10 валидных значений
Рекомендуемая частота записи Не реже 1 раза в 5 минут
Тип значений Числовые (вещественные)
Пропуски (NULL) Допустимы, система интерполирует

5.2 Рекомендации по именованию для DDA

DDA не фильтрует теги по имени, но для удобства пользователя рекомендуется:

  • Использовать понятные имена, отражающие физический смысл: Temperature_Supply_Heating, Pressure_Filter_Delta
  • Избегать дублирования тегов с одинаковым смыслом
  • Не включать в имя тега единицы измерения (система не парсит единицы из имени)

5.3 Что анализирует DDA

  • Статистика: среднее, медиана, стандартное отклонение, мин/макс
  • Аномалии: пики (spike), провалы (dip), дрейф (drift), шум (noise)
  • Сезонность: автодетект суточных и недельных паттернов через FFT
  • Корреляции: между несколькими тегами (матрица Пирсона)

6. Теги для аналитики (тренды и прогнозы)

Модуль "Аналитика" использует те же ключевые слова для матчинга, что и модуль "Здоровье здания" (раздел 2). Дополнительно применяется матчинг через LIKE по ключевым словам.

6.1 Агрегация данных

Период Агрегация
До 7 дней Почасовая
7 - 90 дней Почасовая
Более 90 дней Дневная

6.2 Валидация значений

Для аналитики используются строгие границы (критические), а не физические:

Параметр Критический минимум Критический максимум
CO2 350 ppm 2000 ppm
VOC 0 мг/м³ 1.0 мг/м³
Температура 10 °C 35 °C
Влажность 20 % 80 %
Давление 680 мм рт.ст. 820 мм рт.ст.

Значения вне этих границ считаются показаниями битых датчиков и исключаются из трендов.


7. Стоп-слова и конфликтные имена

7.1 Общие стоп-слова (для всех параметров)

Теги, содержащие эти слова, не будут отнесены ни к одному параметру среды:

online, _online, is_online, status_online, _status,
availability, avail, _state, connection, connected,
_ping, heartbeat, alive

Эти слова обычно встречаются в тегах мониторинга связи и состояния оборудования, а не в физических параметрах.

7.2 Специфические стоп-слова по параметрам

Параметр Стоп-слова
Температура template, tempo, timestamp, temporarily, temptation
Влажность human, humidity_setpoint
Давление depress, compress, suppress, express, impression, repress, oppress, decompress, pressing, presser
VOC vocal, vocabulary, avocado
Освещение highlight, lightweight, moonlight, flashlight

7.3 Примеры конфликтных имён

Имя тега Проблема Решение
Device_Template_Temp Содержит template — будет исключён из температуры Переименовать в Device_Temp_Sensor
Human_Presence_Humidity Содержит human — будет исключён из влажности Переименовать в Room_Humidity_Sensor
Status_Online_CO2 Содержит online — будет исключён из CO2 Переименовать в CO2_Sensor_Value
Compressor_Pressure Содержит compress — будет исключён из давления Переименовать в Air_Pressure_Line_1

8. Чек-лист перед запуском

Проверьте следующие пункты перед началом работы с системой:

8.1 Теги параметров среды

  • [ ] В базе есть хотя бы один тег для каждого нужного параметра (CO2, температура, влажность, давление, VOC)
  • [ ] Имена тегов содержат ключевые слова из разделов 2.1 - 2.5
  • [ ] Имена тегов НЕ содержат стоп-слова из раздела 7
  • [ ] Значения тегов числовые и попадают в физические диапазоны (раздел 2)

8.2 Освещение

  • [ ] Теги светильников содержат ключевые слова: light, свет, лампа, lamp, l_, освещ, lux
  • [ ] Значение тега больше 0.5 означает "включён"

8.3 Энергоучёт

  • [ ] Теги счётчиков существуют в базе данных
  • [ ] Имена тегов точно совпадают с указанными в конфигураторе
  • [ ] Для каждого счётчика настроены оба тега: текущий месяц и прошлый месяц
  • [ ] В конфигураторе заданы тарифы для каждого ресурса

8.4 Данные для DDA

  • [ ] Теги содержат минимум 10 записей за выбранный период
  • [ ] Записи приходят не реже 1 раза в 5 минут (рекомендуется)
  • [ ] Значения числовые, без текстовых примесей

8.5 Общее

  • [ ] База данных доступна с сервера, где установлен SCADA.AI
  • [ ] Лицензия активна и содержит нужные модули
  • [ ] Модули включены в конфигураторе

9. Частые проблемы и их решения

"Модуль не видит теги"

Симптом: в отчёте "Здоровье здания" параметр пустой или показывает 0 тегов.

Причины: 1. Имя тега не содержит ключевых слов из раздела 2 2. Имя тега содержит стоп-слово из раздела 7 3. Тег есть в tags_dict, но нет записей в tags_value за последние 24 часа

Решение: - Переименуйте тег в SCADA-системе, добавив ключевое слово - Проверьте что тег не содержит стоп-слов - Убедитесь что данные пишутся регулярно

"Значения не отображаются"

Симптом: теги найдены, но значения не показываются или помечены как аномалии.

Причины: 1. Значения вне физического диапазона (битый датчик) 2. Значения вне критических границ (исключены из аналитики) 3. Значения равны NULL

Решение: - Проверьте датчик: если температура показывает 0 °C в отапливаемом помещении — датчик неисправен - Проверьте единицы измерения: если давление передаётся в Паскалях вместо мм рт. ст. — значения будут вне диапазона

"Энергоучёт показывает ошибку"

Симптом: "Тег не найден или нет данных".

Причины: 1. Имя тега в конфигураторе не совпадает с именем в базе (даже на один символ или регистр) 2. Тег существует, но нет записей в tags_value

Решение: - Скопируйте точное имя тега из базы данных и вставьте в конфигуратор - Проверьте что данные по тегу обновляются

"Аварии не попадают в журнал"

Симптом: журнал аварий пуст, хотя в SCADA-системе аварии есть.

Причины: 1. Таблица alarm_events_history не заполняется 2. Аварии старше 24 часов (модуль показывает только за последние сутки)

Решение: - Проверьте интеграцию: ваша SCADA-система должна писать аварии в таблицу alarm_events_history - Аварии должны иметь поле alarm_priority (число: 150+ = HIGH, 100-149 = MEDIUM, менее 100 = LOW)

"DDA не запускается"

Симптом: ошибка "Недостаточно данных" или пустой результат.

Причины: 1. Менее 10 валидных точек за выбранный период 2. Все значения одинаковые (константный ряд) 3. Тег не найден в базе

Решение: - Увеличьте период анализа (с 7 до 30 дней) - Проверьте что данные пишутся регулярно - Убедитесь что имя тега выбрано правильно из списка


Приложение: сводная таблица ключевых слов

Параметр Ключевые слова (содержатся в имени)
CO2 co2, углекисл, carbon_dioxide, carbon dioxide
VOC voc, tvoc, летуч, air_quality, качество воздуха
Температура temp, температур, t_sensor, t_air, t_room, t_outside, t_supply, t_return, t_pr, t_obr, t_pod
Влажность hum, влажн, rh_, rh-, relative_hum, h_sensor, h_air, h_room
Давление press, давлен, barometr, атмосф, atmospheric, p_sensor, p_air, p_diff, diff_press, перепад давл
Освещение light, свет, лампа, lamp, l_, освещ, lux
Энергоучёт Точное совпадение имени (задаётся в конфигураторе)
DDA Любой тег из базы (без фильтрации по имени)

Версия документа: 1.0 Дата: 2026-09-29 Автор: Усков Сергей Евгеньевич Система: SCADA.AI v3.3.3.0