Топологии

Типовые схемы подключения шлюза

Этот раздел помогает выбрать схему объекта до настройки. Здесь показаны RS-485 линии, TCP-устройства, Modbus TCP server, NAT, MQTT, несколько шлюзов, диспетчеризация и работа с платформой UMEC Space.

Как выбирать топологию

Задача Рекомендуемая схема Что проверить перед пуском
Локально читать несколько RS-485 устройств. Одна линия RTU 1. Устройства имеют разные slave ID, одинаковые baud/parity/stop bits и корректную линию A/B/GND.
Разделить разные скорости, этажи, шкафы или группы оборудования. RTU 1 + RTU 2. Каждая линия имеет свой serial profile и свой список устройств.
Добавить сетевое Modbus TCP устройство. Канал TCP в режиме polling. IP устройства доступен из сети шлюза, порт открыт, unit ID указан явно.
Передавать телеметрию наружу. UMEC Space или Generic MQTT. Локальный опрос уже стабилен, а секреты MQTT не хранятся в открытом доступе.
Дать SCADA доступ к RTU устройствам по Ethernet. Modbus TCP server listener + route map или NAT. Маршруты не конфликтуют, повторяющиеся slave ID обработаны явными NAT-правилами.
Сделать диспетчеризацию нескольких объектов. Несколько шлюзов + единая SCADA или UMEC Space. Каждый шлюз имеет уникальное имя объекта, понятный IP/hostname и отдельные учетные данные.

Схема 1. Один локальный RS-485 сегмент

Самая простая схема: шлюз опрашивает устройства на RTU 1, оператор смотрит ModBus и дашборды, журналы сохраняются локально. Внешняя интеграция может быть отключена.

flowchart LR
    O[Операторский ноутбук] -->|HTTP| G[UMEC Gateway]
    G -->|RTU 1 / RS-485| D1[Счетчик]
    G -->|RTU 1 / RS-485| D2[Датчик]
    G -->|RTU 1 / RS-485| D3[Контроллер]
    G --> S[(Хранилище / Logs)]

Схема 2. Две независимые RS-485 линии

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

flowchart LR
    G[UMEC Gateway]
    G -->|RTU 1: 9600 8N1| A1[Вентиляция]
    G -->|RTU 1: 9600 8N1| A2[Датчики CO2]
    G -->|RTU 2: 19200 8E1| B1[Счетчики]
    G -->|RTU 2: 19200 8E1| B2[Релейные модули]
    UI[Web UI] --> G

Схема 3. Локальные RTU устройства и TCP устройство

Канал TCP нужен для сетевых Modbus устройств и интеграционных endpoint'ов. Не воспринимайте его как прозрачную RS-485 линию: у него есть отдельные режимы polling, not polling и disabled.

flowchart LR
    G[UMEC Gateway]
    G -->|RTU 1| R1[RS-485 устройства]
    G -->|TCP bus3| T1[Modbus TCP устройство]
    G -->|TCP tunnel| T2[Удаленный Modbus endpoint]
    G --> C[ModBus / Дашборды / Автоматизация]

Схема 4. Локальный объект и MQTT

MQTT включается после проверки локальной работы. Шлюз продолжает опрашивать устройства локально, а наружу отправляет подготовленную телеметрию. Потеря брокера не должна останавливать локальный ModBus и сценарии.

flowchart LR
    D[RTU/TCP устройства] --> G[UMEC Gateway]
    G --> UI[Локальный web UI]
    G -->|MQTT / Wi-Fi или Ethernet| B[(Broker)]
    B --> P[SCADA / Cloud / Analytics]

Схема 5. SCADA подключается к RTU через Modbus TCP server

В этой схеме шлюз принимает сетевые Modbus TCP запросы и маршрутизирует их к RTU линиям. Она полезна, когда верхняя система понимает Modbus TCP, а полевые устройства остаются на RS-485.

flowchart LR
    S[SCADA / PLC] -->|Modbus TCP| L[Gateway listener]
    L --> G[UMEC Gateway route map]
    G -->|RTU 1| A[Slave ID 1..20]
    G -->|RTU 2| B[Slave ID 21..40]
    G --> N[NAT / strict map]

Схема 6. NAT для повторяющихся адресов

NAT нужен, когда в разных сегментах есть одинаковые slave ID, но внешняя система должна видеть их как разные адреса. Не используйте NAT вместо аккуратной адресации: каждое правило должно быть явным и проверяемым.

flowchart LR
    S[Modbus TCP client] --> G[Gateway NAT]
    G -->|source unit 101 -> RTU1 unit 1| A[Device A / unit 1]
    G -->|source unit 102 -> RTU2 unit 1| B[Device B / unit 1]
    G -->|priority order| R[NAT rules]

Схема 7. Несколько шлюзов для диспетчеризации

Когда объект большой, удобнее ставить несколько шлюзов рядом с оборудованием: один в щите учета, второй в вентиляционной, третий на удаленном вводе. SCADA или диспетчерский сервер получает данные от каждого шлюза по сети, а локальная диагностика остается доступной на каждом участке.

flowchart LR
    subgraph Site[Объект]
      G1[Gateway A / Щит учета] --> M1[Счетчики]
      G2[Gateway B / Вентиляция] --> V1[AHU / CO2 / клапаны]
      G3[Gateway C / Насосная] --> P1[Насосы / датчики]
    end
    G1 -->|MQTT или Modbus TCP| D[Диспетчеризация]
    G2 -->|MQTT или Modbus TCP| D
    G3 -->|MQTT или Modbus TCP| D
    D --> O[Оператор / инженер]
Правило Практический смысл
Называйте шлюзы по месту установки. Например: shop-01-metering, shop-01-ahu, warehouse-pump-room.
Не смешивайте разные физические зоны без причины. При аварии линии проще понять, где искать проблему: в щите, вентиляционной или насосной.
Разделяйте локальный доступ и внешний сбор данных. Оператор на объекте работает с web UI конкретного шлюза, диспетчер видит сводную картину в SCADA или UMEC Space.

Схема 8. Распределенные объекты в UMEC Space

UMEC Space подходит, когда есть много объектов: магазины, склады, насосные станции, вентиляционные камеры, щиты учета. Каждый шлюз собирает данные локально, а платформа показывает единый список объектов, состояние связи, аварии, тренды и агрегированные дашборды. Клиент работает с объектами в UMEC Space Dashboard, а мобильный доступ открывается через UMEC Home или UMEC Business.

flowchart LR
    subgraph Stores[Распределенные объекты]
      A[Магазин 1 / Gateway]
      B[Магазин 2 / Gateway]
      C[Склад / Gateway]
      D[Насосная / Gateway]
    end
    A -->|MQTT over TLS / учетная запись объекта| U[(UMEC Space)]
    B -->|MQTT over TLS / учетная запись объекта| U
    C -->|MQTT over TLS / учетная запись объекта| U
    D -->|MQTT over TLS / учетная запись объекта| U
    U --> M[Диспетчер]
    U --> E[Сервисный инженер]
Что настроить Как должно выглядеть в эксплуатации
Уникальное имя объекта и шлюза. В платформе понятно, откуда пришли данные и на каком объекте появилась авария.
Стабильный локальный опрос до включения облака. Если интернет пропал, объект продолжает работать локально, а данные возобновляются после восстановления связи.
Отдельные учетные данные и секреты для каждого объекта. Компрометация одного объекта не дает доступ ко всей сети.

Отраслевые примеры

Магазин

Шлюз собирает температуру холодильных витрин, состояние вентиляции, счетчики электроэнергии и аварийные сигналы. Дашборд показывает температуру, энергопотребление и активные предупреждения.

Вентиляционная установка

RTU 1 подключает контроллер AHU, датчики CO2 и температуры. Сценарий может включать предупреждение при превышении CO2 или отказе вентилятора.

Щит учета

RTU 1 или RTU 2 опрашивает счетчики. Важны одинаковые параметры линии, уникальные адреса и регулярное сохранение журналов.

SCADA bridge

Шлюз принимает Modbus TCP запросы от SCADA и маршрутизирует их к RS-485 устройствам. NAT используется только там, где есть повторяющиеся slave ID.

Набор экранов для проверки топологии

Экран Что должно быть видно Когда считается готовым
Конфигурация Линия, serial profile или TCP endpoint, список устройств, каналы и команды. Устройства сохранены, адреса не конфликтуют, параметры соответствуют паспорту оборудования.
ModBus Свежие значения, состояние линий, доступные команды, выбранные каналы для графиков. Нет массовых offline/stale, команды проверены на безопасных нагрузках.
Дашборд Ключевые показатели объекта: температура, энергия, состояние оборудования, аварии. Панель понятна оператору без открытия Конфигурация.
Logs Журнал автоматизации, Журнал ModBus и Хранилище с файлами подтверждения. Можно доказать, когда устройство отвечало, когда была ошибка и какое действие выполнил оператор.

Типовые ошибки RS-485

Ошибка Как проявляется Что сделать
Перепутаны A/B Все или почти все устройства на линии не отвечают. Поменять A/B на одном конце линии и повторить проверку Инспектор или ModBus.
Нет общего GND Ответы нестабильны, ошибки появляются при включении нагрузки или длинной линии. Проверить общий провод/экран по требованиям оборудования и исключить разность потенциалов.
Неверная termination Короткая линия работает, длинная линия дает случайные таймауты. Поставить терминаторы на концах магистрали, не ставить их на каждом ответвлении.
Неверные baud/parity/stop bits Устройство физически подключено, но не отвечает ни на один регистр. Сверить паспорт устройства и настройки линии в Конфигурация.
Повторяющийся slave ID Ответы выглядят случайными или значения принадлежат не тому устройству. Назначить уникальные адреса внутри линии или вынести устройства на разные линии/NAT-схему.

Из коробки до первого дашборда

Подключите питание и Ethernet, откройте http://192.168.4.2, войдите под администратором и смените пароль.
В Система задайте имя объекта, сетевые параметры, время и рабочий режим интеграции.
В Конфигурация настройте RTU 1: baud, parity, stop bits, таймауты и список устройств.
Добавьте каналы чтения: название, register/function, тип данных, единицы измерения и период опроса.
Откройте ModBus и убедитесь, что значения свежие, без постоянных offline/stale.
Создайте дашборд: добавьте виджеты для основных значений, задайте понятные подписи и сделайте панель default.
Проверьте Logs: Журнал ModBus должен подтверждать обмен, Журнал автоматизации должен быть пустым или содержать понятные события.

Памятка по безопасности

Действие Почему важно Минимальное правило
Сменить пароль после первого входа. Стартовые учетные данные известны монтажной и сервисной команде. Используйте уникальный пароль объекта и храните его в принятом у заказчика хранилище.
Изолировать сервисную сеть. Web UI и Modbus TCP не должны быть доступны из гостевых или публичных сетей. Размещайте шлюз в техническом VLAN или за маршрутизатором с явными правилами доступа.
Аккуратно работать с MQTT secrets. Секреты дают доступ к телеметрии и иногда к управляющим топикам. Не публикуйте скриншоты с секретами, используйте разные учетные данные для разных объектов.
Ограничить Modbus TCP доступ. Неправильная SCADA-команда может изменить состояние оборудования. Разрешайте доступ только доверенным IP и проверяйте список writable-команд.