РУСЛО
Промышленный IIoT · закрытый контур предприятия

Русло — данные оборудования в одном потоке

Телеметрия цеха внутри вашего контура — без облаков и выхода в интернет.

Платформа собирает данные с оборудования по нескольким каналам одновременно, хранит их, показывает инженеру и предупреждает о выходе за уставки. Ставится целиком в закрытый контур предприятия — ни один компонент не обращается в интернет во время работы.

Демо-стенд разворачивается одной командой на чистой машине — вместе с демонстрационным предприятием и недельной историей.

Каналы приёма приём идёт
MQTT
подписка на топики брокера
10 640 000 сообщ.
HTTP
приём пакетами, POST /ingest/measurements
интеграции АСУТП
Modbus TCP
платформа опрашивает ведомого
57,4 млн показателей
OPC UA
обход адресного пространства PLC
54,8 млн показателей

Недоступность устройства пропускает такт опроса, но не останавливает приём по остальным каналам.

3,39 ТБданных за сутки приёма через односторонний инфодиод
440 Мбит/сустойчивая полоса передачи (52,46 МБ/с)
100 %сообщений признано корректными, 0 расхождений SHA-256
4,19 мссреднее время обработки сообщения
Нагрузочный прогон · измерено

Цифры сняты со стенда во время суточного прогона, а не оценены.

Сутки под нагрузкой через односторонний инфодиод: 3,39 ТБ данных и ни одного искажённого сообщения

Прогон выполнен аппаратно-испытательным комплексом «Исток»: поток передавался через однонаправленный шлюз (инфодиод) — данные физически не могут уйти обратно. Тестирование проведено при участии ООО «ХЭЛФ», предоставившего инфодиод iDiod.

10 715 373сообщений принято за сутки приёма
3,39 ТБобъём кадров за сутки
3,04 ТБиз них полезная нагрузка — 89,57 %
184,4 ГБ/чустойчивый темп приёма, 440 Мбит/с

Потоковые протоколы

Совокупная полоса передачи — 52,46 МБ/с, это 440 Мбит/с, или 184,4 ГБ в час. Полезная нагрузка — 89,57 % переданного объёма.

ПротоколСообщенийОбъёмПолоса
MQTT10 640 0003,32 ТБ51,35 МБ/с
SFTP67 162 файла73,2 ГБ1,11 МБ/с
TCP6 94741,5 МБ—
Итого10 715 3733,39 ТБ52,46 МБ/с

Промышленная телеметрия

Modbus TCP и OPC UA идут параллельно потоковым каналам, и всё дошедшее прошло проверку CRC16 — ни один кадр телеметрии не был искажён.

ПротоколКадров принятоПоказателей
Modbus TCP1 147 91157,4 млн показателей
OPC UA1 095 99254,8 млн показателей
100 %сообщений признано корректными
0расхождений SHA-256 и ошибок CRC16
4,19 мссреднее время обработки сообщения
62,4 мсмаксимальное время обработки
Что уже работает

Каждая функция открывается на демо-стенде — не в презентации.

Не обещания, а функции, которые можно открыть на стенде

Модель предприятия, хранение, уставки, мнемосхемы, справочники и расширения — всё настраивается в интерфейсе, без правки кода и участия разработчика.

Приём

Четыре канала одновременно

MQTT, HTTP, Modbus TCP и OPC UA работают независимо друг от друга; каналы видны на экране «Подключения» с адресом, статусом и счётчиком сообщений.

Данные

Одно измерение — одна точка

Метка времени берётся от источника, а не от момента опроса, поэтому повторы по разным каналам схлопываются в хранилище, а не удваивают ряд.

Модель

Дерево предприятия

Предприятие → Цех → Участок → Станок → Показатель с пользовательскими типами и атрибутами. Новый цех или показатель заводится в интерфейсе.

Доступ

Права на ветку дерева

Инженер участка видит своё оборудование и не видит чужого. Роли: администратор, инженер, аналитик, сотрудник ИБ.

Уставки

Пороги с гистерезисом

Защита от дребезга у границы, состояние уставки и событие при выходе за порог. Доставка в ленту платформы и на почту, подписки по важности и области.

Экраны

Мнемосхемы цеха

Редактируемая 2.5D-изометрия: станки на сетке, подсветка по статусу и ключевое значение в реальном времени из общего хранилища.

Справочники

Свои таблицы

Поставщики, марки материалов, бригады — состав колонок задаётся в интерфейсе, структуру можно менять позже, не удаляя данные.

Эксплуатация

Метрики и оповещения

Prometheus у всех одиннадцати сервисов, дашборд Grafana, правила о падении сервиса и всплеске ошибок с письмами ответственному.

Расширяемость

Чужой код запускается только после явного разрешения.

Сторонний модуль встаёт в работающую платформу — после разрешения службы ИБ

01

Пакет

Манифест, фронтенд-модуль и, при необходимости, образ собственного бэкенда расширения.

02

Загрузка

Пакет загружает администратор платформы — код при этом ещё не запускается.

03

Разрешение ИБ

Установку подтверждает сотрудник службы ИБ; до разрешения чужой код не исполняется.

04

Появление в меню

Пункт появляется в интерфейсе, маршруты к бэкенду заводятся на шлюзе — без перезапуска платформы.

Расширение получает от платформы адрес API и токен пользователя — поэтому видит ровно те данные, к которым у этого человека есть доступ, и не заводит своей системы прав. В комплекте два демонстрационных пакета: график ремонтов оборудования со своим бэкендом и сводка по оборудованию целиком на данных платформы.

Хранение

Три уровня, сроки меняются без остановки приёма.

Годовая история — меньше гигабайта

Телеметрия лежит в колоночной СУБД с тремя уровнями хранения; уровень выбирается автоматически по запрошенному окну и понижается, если сырьё за период уже удалено по сроку. Объёмы — расчёт от измеренной плотности: 6,08 байта на сырое значение после сжатия (4,8×), 12,35 — на минутный агрегат, 15,44 — на часовой.

УровеньСрокОкно запросаОбъём
Сырьё7 сутококно короче 6 часов≈ 18,4 ГБ
Поминутный агрегат30 сутококно короче 7 суток≈ 2,7 ГБ
Почасовой агрегат1 годокно от 7 суток≈ 0,7 ГБ
Итого—3,28 млрд строк≈ 21,8 ГБ

Сроки хранения меняются на работающей системе — без пересоздания таблиц и остановки приёма.

Оговорка для честности

Плотность измерена на сигналах эмулятора — физически осмысленных, но гладких. Реальный цех с шумными датчиками сожмётся хуже: закладывайте запас 1,5–2×, то есть 35–45 ГБ на парк из 100 станков по 50 показателей.

Развёртывание и безопасность

Один пакет на чистую машину, один порт наружу.

Один пакет, один открытый порт, полностью офлайн

19 контейнеров: платформа, хранилища, брокер, наблюдаемость. Разворачивание на чистой виртуальной машине одной командой. Наружу открыт один сетевой порт — интерфейс и все API живут на одном адресе, СУБД, брокер и метрики снаружи недоступны.

Полностью офлайн

Ни один компонент не обращается в интернет во время работы; прогон подтверждён передачей через односторонний инфодиод iDiod.

Собственный сервер идентификации

OIDC, JWT с подписью RS256, ротация ключей, блокировка учётной записи после серии неудачных входов.

Журнал действий

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

Меры защиты ФСТЭК

Соответствие мерам по приказам № 17/21/239 разобрано отдельным документом: что закрывается кодом, а что инфраструктурой и оргмерами. Это разбор, а не аттестат.

Один открытый порт

Интерфейс и все API на одном адресе; СУБД, брокер и метрики снаружи недоступны.

Развитие

Порядок отражает приоритет, а не сроки.

Куда платформа идёт дальше

Порядок отражает приоритет, а не жёсткие сроки. Всё в этом разделе — план, а не готовая функция.

Ближайшее

план
Уведомления в мессенджеры

Подписка уже хранит список каналов — новый канал не трогает движок уставок.

Каналы приёма: голый TCP и выгрузка по SFTP

Формат кадра и расписание задаёт первое реальное требование заказчика.

Единицы измерения и диапазоны из модели

Чтобы график сам знал свою шкалу.

Среднесрочное

план
Модели машинного обучения

Расширение возвращает вычисленное значение — остаточный ресурс, аномалию — и оно становится обычным показателем в дереве.

Обучение на данных предприятия

Годовая история в почасовом агрегате — готовая обучающая выборка через тот же API.

Отказоустойчивость

Реплики сервисов и кластерная конфигурация хранилища; сегодня не заявляем.

Долгосрочное

план
Вопрос к данным на естественном языке

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

Объяснение инцидента

Модель собирает контекст сработавшей уставки и формулирует версию для мастера.

Помощь в заведении конфигурации

Описание оборудования словами превращается в заготовку структуры и уставок.

Про языковые модели — честное ограничение

Модель работает в закрытом контуре, на локально развёрнутых весах: отправка производственных данных во внешний сервис для многих заказчиков означает отказ от системы. Это сужает выбор моделей и требует железа под инференс — закладываем в предложение, а не обнаруживаем на внедрении.