ВУПГ ТИРА-ЭЛ - Система мониторинга плавки гололеда

Интерфейс мониторинга и управления для операторов подстанций, работающих с ВУПГ (установками управляемой плавки гололеда). Мой фокус был на понятном операторском сценарии: состояние оборудования, текущие режимы, графики измерений и уведомления об отклонениях. Обновления приходят в реальном времени (REST + WebSocket), без «ручного» обновления экрана.

О проекте

ООО «ТИРА-ЭЛ» производит ВУПГ - выпрямительные установки, которые прогревают провода и грозотросы ЛЭП постоянным током, чтобы снять гололед. Для дежурного персонала это критичная задача: нужны точные показания, предсказуемые режимы и быстрые сигналы об отклонениях.

Установка - 3-фазный тиристорный выпрямитель с системой управления и пультом оператора. Конструктивно оборудование размещают в 20-футовом контейнере; рабочее место оператора обычно находится отдельно, поэтому интерфейс должен быть читаемым и устойчивым к проблемам связи.

Преимущества ВУПГ

Регулирование тока плавки: можно последовательно обрабатывать линии разной длины
Плавка длинных участков: при постоянном токе нет индуктивной составляющей
Плавный набор и сброс тока, чтобы не «бить» по коммутационной аппаратуре
Поддержание постоянного тока для грозотросов с оптическим кабелем

Основные достижения

Операторский экран

статусы, режимы и ключевые параметры без лишней «техники» на экране.

Графики в реальном времени и история измерений (ток, температура и связанные параметры).

Панель управления

«Пуск/Стоп», подтверждения действий, настройка режимов и ограничений.

Алерты и события

пороговые уведомления, аварийные статусы, понятные тексты ошибок.

Визуальные индикаторы состояния

приоритеты, цвета, состояния связи и актуальности данных.

Интеграция UI с бэкендом

REST + WebSocket, реконнекты и предсказуемое поведение при потере связи.

Архитектура проекта

Контур построен вокруг телеметрии и команд управления: установка отдает измерения через шлюз/контроллер, сервер нормализует и хранит данные, UI показывает состояние и позволяет безопасно запускать/останавливать режимы.

Data flow
[ВУПГ] -> [Контроллер/шлюз] -> [Сервер (API + БД)] -> [Операторский UI]
  1. 1

    Оборудование

    ВУПГ (в контейнере): силовая часть и система управления, датчики/показания, режимы плавки и их статусы.

  2. 2

    Контроллер/шлюз

    Шлюз между установкой и сервером: сбор телеметрии по Modbus TCP или OPC UA, буферизация и доставка данных в бэкенд.

  3. 3

    Сервер (API + БД)

    Бэкенд (FastAPI): прием и нормализация данных, хранение временных рядов (PostgreSQL/TimescaleDB), события для интерфейса (WebSocket).

  4. 4

    Операторский UI

    Веб-интерфейс оператора: live графики, статусы и события, сценарии управления с подтверждениями и понятными ошибками.

Технологии

stack

Сбор данных

Python, pymodbus/asyncua, SQLAlchemy

Сервис-демон для периодического опроса установки, парсинг данных и сохранение в БД

База данных

PostgreSQL / TimescaleDB

PostgreSQL для основных данных, TimescaleDB для эффективного хранения временных рядов измерений

Backend API

FastAPI (Python)

REST API и WebSocket для real-time обновлений, автоматическая документация, валидация данных

Фронтенд

React/Vue.js + Chart.js + WebSocket

Интерактивные графики, панель управления, real-time обновления через WebSocket

Безопасность

JWT-токены, HTTPS, VPN

Аутентификация операторов, шифрование трафика, изолированная сеть для доступа к установке

Промышленные протоколы

Modbus TCP/IP, OPC UA

Взаимодействие с контроллером установки для чтения показаний и отправки команд

Технические характеристики ВУПГ-10/1600

Номинальное входное напряжение: 10 кВ (3 фазы, 50 Гц)
Наибольшее длительно допустимое напряжение: 12 кВ
Диапазон регулирования тока: 100-1600 А
Номинальное выпрямленное напряжение: 14,14 кВ
Номинальная выходная мощность: 22,4 кВт
Рабочий диапазон температур: -25 ÷ +30 °C

Проект про «полевой» UX и real-time: нужно быстро понять, что происходит с установкой, и так же быстро отреагировать. Для меня это хороший пример стыка промышленного контекста, потоковых данных и интерфейса, который должен быть максимально надежным и спокойным.