Рекомендации по именованию тегов
Документ описывает требования к именованию тегов в базе данных для корректной работы всех модулей 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 Как настроить
- Откройте Конфигуратор (кнопка в шапке интерфейса)
- Вкладка "Энергоучёт"
- Выберите ресурс (Электричество / Вода / Тепло)
- В секции "Счётчики" укажите точные имена тегов
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