ПО для удалённого мониторинга оборудования нужно, когда простой дороже датчика: линия в другом городе, парк печей, насосы, станки, инженерные системы здания. Поиск «мониторинг промышленного оборудования», «диспетчеризация», «IIoT-платформа» чаще всего означает одно: видеть состояние сейчас и историю за смену — не ждать звонка с площадки. Ниже — как проектировать такую систему: от протоколов до тревог, SLA и интеграций с ERP и CMMS.
Функции, без которых продукт не монитор
- Сбор тегов — Modbus, OPC-UA, MQTT, SNMP, вендорские API, иногда файловый импорт из legacy.
- Нормализация — единицы (°C vs °F), часовые пояса площадок, единый asset id.
- Тревоги — пороги, эскалация, подавление, «тишина» по сменам.
- Дашборды по ролям — технолог, энергетик, директор филиала, дежурная смена.
- История — не «последние 15 минут в RAM»; политика retention по классу данных.
- Экспорт и API — в 1С, MES, CMMS, BI.
Мониторинг — глаза. Руки — удалённое обслуживание: сессии специалиста и командный канал с белым списком. График не должен сам закрывать задвижку без отдельного контура команд.
Архитектура: от датчика до дашборда
Типовая многоуровневая схема:
[Датчики / PLC / CNC / SCADA]
│
│ Modbus / OPC-UA / MQTT / SNMP
▼
┌─────────────────────────────────────┐
│ Edge gateway (площадка) │
│ • ingest + буфер │
│ • нормализация / unit conversion │
│ • локальные тревоги (fallback) │
│ • опционально: лёгкий HMI │
└──────────────┬──────────────────────┘
│ TLS, частный канал / VPN
▼
┌─────────────────────────────────────┐
│ Ingest / message bus │
│ Kafka / MQTT broker / Timescale │
└──────────────┬──────────────────────┘
│
┌──────────┼──────────┐
▼ ▼ ▼
[Rule engine] [TSDB] [API layer]
│ │ │
▼ ▼ ▼
[Алерты] [Дашборды] [CMMS/ERP/MES]
Ingest принимает потоки с edge, проверяет схему (имя тега, timestamp, quality). Time-series DB хранит высокочастотные данные с downsampling для старых периодов. Rule engine — пороги, окна, эскалация. API layer — REST/GraphQL для дашбордов, мобильных push и внешних систем.
Метрики самого монитора (lag ingest, dropped messages, query latency) должны быть на отдельном дашборде «здоровья платформы» — не хуже метрик станка.
Выбор протоколов
| Протокол | Когда выбирать | Ограничения |
|---|---|---|
| OPC-UA | Новые линии, mixed vendor, нужны метаданные и RBAC | Требует правильной настройки сертификатов |
| Modbus TCP/RTU | Legacy ПЛК, простые регистры | Нет семантики; polling vs event |
| MQTT + Sparkplug B | Много однотипных узлов, OEM-парки | Нужен брокер и модель топиков |
| SNMP | Сетевое и IT-оборудование в том же дашборде | Не для millisecond telemetry |
| PROFINET / EtherNet/IP | Обычно не в облако напрямую — через шлюз | Real-time цикл остаётся локально |
| Вендорский API | CNC, роботы, облачные IoT-платформы OEM | Vendor lock-in, лимиты API |
Практика: на edge — нативный протокол поля; в центр — MQTT или Kafka с единой схемой (protobuf/JSON schema). Не смешивайте «сырой Modbus» и бизнес-теги в одном топике без маппинга.
Дискретность сбора: для энергии и медленных процессов — 1–60 с; для вибрации и качества — ms–с на edge с агрегацией (min/max/avg) в центр. Хранить всё в 10 ms на год — редко нужно и дорого.
Edge vs облако vs on-prem
Edge нужен почти всегда на промышленной площадке:
- буфер при обрыве связи (от часов до суток);
- предобработка и фильтрация шума;
- локальные тревоги, если облако недоступно;
- снижение объёма трафика (агрегация);
- выполнение политики «данные не покидают завод» (отправка только агрегатов или алертов).
Облако (публичное или private cloud) — дашборды, долгая история, мобильные уведомления, ML на агрегированных данных, мультисайтовая аналитика для OEM.
On-prem в ЦОД завода — когда регулятор или ИБ не разрешает operational data outside; облако только для анонимизированной отчётности или не используется вообще.
Гибридная модель чаще всего побеждает: edge = операционная надёжность; центр = визуализация, интеграции, отчёты. Критично определить RPO/RTO для буфера edge: сколько данных можно потерять при смерти шлюза и как быстро поднимается replacement.
Модель безопасности
Сеть. PLC не в интернете. Edge — единственный шлюз; firewall: deny inbound, allow outbound to known endpoints. Сегментация OT/IT; при необходимости — data diode для однонаправленной телеметрии.
Транспорт. TLS 1.2+ на всех каналах; сертификаты с ротацией; для OPC-UA — signed + encrypted.
Идентификация. RBAC в платформе: технолог видит линию, филиал — агрегаты, аудитор — только логи. SSO для корпоративных пользователей. API keys с scope per site для интеграций.
Данные. Шифрование at rest для TSDB и бэкапов. Разделение tenant для мультиклиентских OEM-платформ. Логи доступа к истории параметров — для разборов «кто видел уставки».
Мониторинг ≠ управление. Write-путь в PLC либо отсутствует, либо изолирован в сервисном контуре с белым списком.
Дизайн тревог и эскалации
Плохие тревоги убивают мониторинг: операторы отключают уведомления, реальные аварии пропускаются.
Классы тревог (пример):
| Класс | Пример | Канал | SLA реакции |
|---|---|---|---|
| Critical | Аварийный останов, превышение безопасности | SMS + звонок + тикет | < 15 мин |
| High | Отклонение технологии, риск брака | Push + тикет | < 30 мин |
| Medium | Деградация, раннее предупреждение | Email / дашборд | Смена |
| Low | Информация, профилактика | Лог | Плановое |
Правила:
- Deadband и hysteresis — не дребезжать на границе порога.
- Duration — «температура > 80 °C не менее 2 мин», не мгновенный пик.
- Escalation — если не ack за N минут → следующий уровень (мастер → главный технолог).
- Suppression — при плановом останове или активной заявке CMMS повторяющиеся тревоги агрегируются.
- Shift calendar — разные пороги или каналы для ночи/выходных (тишина для Low, Critical всегда).
- Correlation — «10 насосов offline» одна тревога «сеть сегмента», не 10 SMS.
Anti-flapping: cooldown после clear; max N алертов в час на один тег.
Тест тревог — отдельный сценарий пилота: искусственно поднять тег, проверить эскалацию, ack, suppress при maintenance window.
SLA для платформы мониторинга
SLA делят на доступность данных и доступность UI:
| Метрика | Описание | Пример целевого |
|---|---|---|
| Telemetry freshness | Lag от события на PLC до дашборда | p95 < 30 с (не real-time SCADA) |
| Ingest availability | % времени без потери потока | 99,5–99,9% |
| Alert delivery | Время от правила до push/SMS | p95 < 60 с |
| API availability | Для CMMS и дашбордов | 99,5% |
| Historical query | p95 latency запроса 24 ч данных | < 3 с |
Для критичных объектов фиксируйте end-to-end SLA с edge: облако «зелёное», но edge мёртв — линия не мониторится. Healthcheck edge → алерт класса High.
В контракте с вендором платформы: кто отвечает за канал связи, за edge-аппарат, за брокер; исключения (плановое обслуживание, force majeure).
Интеграция с ERP, MES и CMMS
Мониторинг не должен жить в изоляции — он питует процессы обслуживания и учёта.
CMMS / заявки — автосоздание work order при Critical/High с payload: asset id, тег, значение, ссылка на дашборд, snapshot графика. Закрытие тикета при clear + ack или по правилу «auto-close если 24 ч в норме».
ERP — для OEM: счётчик наработки (моточасы, циклы) для гарантии и контрактов; отгрузка ЗИП при накопленных предиктивных тревогах (если бизнес-процесс позволяет).
MES — сравнение фактических параметров с техкартой; тревога «отклонение от recipe»; не записывать уставки из мониторинга в MES без отдельного workflow.
BI / data lake — ETL агрегатов (сменные KPI, OEE-входные) раз в час/сутки; не сырой 1 Hz поток в ERP.
Единый asset registry — серийный номер = node id в MQTT = id в CMMS. Маппинг один раз на пилоте, не при каждой интеграции.
Пример события в API CMMS:
{
"assetId": "LINE-03-PUMP-A",
"alarmCode": "HIGH_TEMP_DISCHARGE",
"severity": "high",
"value": 92.4,
"unit": "C",
"dashboardUrl": "https://monitor/site/3/pump-a",
"occurredAt": "2026-08-15T14:22:01+03:00"
}
Дашборды и роли
Технолог — live теги, сравнение с нормой, последние аварии линии, drill-down до 15 мин.
Энергетик — агрегаты по цеху, kWh, пики, сравнение площадок.
Директор филиала — KPI: downtime, count critical alarms, trend за месяц; без тысячи мелких графиков.
Дежурная смена — очередь активных тревог, ack, runbook link, телефон ответственного.
Аудитор / ИБ — кто смотрел историю, экспорт логов, без операционных кнопок.
UX: мобильный push для Critical; десктоп для анализа. Не дублировать SCADA HMI — мониторинг дополняет, не заменяет локальный операторский интерфейс, если он уже есть.
Чеклист rollout
- Scope пилота — 5–10 единиц, разные протоколы и критичность.
- Asset registry — id, иерархия site → line → unit → tag.
- Протоколы и дискретность — таблица тегов с единицами и частотой.
- Edge — установка, буфер, тест обрыва связи 4+ часа.
- Ingest + TSDB — схема, retention, downsampling policy.
- Тревоги — классы, пороги, эскалация, shift calendar; тест anti-flap.
- Дашборды — по ролям; mobile для дежурной.
- Интеграции — CMMS автотикет, ERP наработка, MES отклонения (по необходимости).
- ИБ — сегментация, TLS, RBAC, аудит чтения.
- Health — дашборд lag/drop; алерт при молчании edge.
- Runbooks — на каждый класс тревоги: что делать до выезда.
- Обучение — ack vs ignore, maintenance window, false positive feedback.
- SLA — согласовать с бизнесом и зафиксировать в контракте поддержки.
- Масштабирование — шаблон site onboarding, версионирование tag map.
Пилот снимает большую часть сюрпризов: «тег в Modbus — centimeters, в документации — mm», «OPC-UA certificate expired», «тревога будит всех, потому что нет shift rule».
Аналитика и AI
Базовый мониторинг — пороги и тренды. Следующий шаг — аномалии (seasonal decomposition, isolation forest на агрегатах), прогноз остаточного ресурса для CMMS. Подробнее о границах AI — в автоматизации с AI.
Правила: AI не подменяет Critical тревоги без объяснения (explainability); оператор видит «почему аномалия»; human ack перед созданием заявки на High из ML, если политика завода требует.
Что подготовить перед разработкой
Заказчику и интегратору нужны: список единиц оборудования с серийными номерами; протоколы и документация тегов; желаемая дискретность и retention; матрица ролей; классы аварий и текущие SLA; схема сети и ограничения ИБ; целевые системы интеграции (1С, SAP, MES); кто дежурит и в какие окна.
Без этого оценка «сделать мониторинг» всегда занижена: 80% усилий — интеграция, модель данных и тревоги, не красивый фронт.
Разработка ПО для удалённого мониторинга — полноценный продукт: edge, ingest, TSDB, rule engine, API, дашборды, мобильные уведомления, аудит. Начинать с пилота и явной модели данных; масштабировать по шаблону площадки, а не копировать конфиг вручную на каждый завод.

