Для подключения Modbus TCP устройства:
- Добавьте новую иконку на рабочее поле
- Откройте панель «Свойства» (правой кнопкой мыши или длинным нажатием)
- Выберите тип подключения ModbusTCP из выпадающего списка
После выбора типа подключения нажмите кнопку «⚙️ Создать и настроить Modbus устройство». Откроется страница настройки с полями:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Device SN | Уникальный идентификатор устройства в системе | Например: modbus-001 |
| Название | Понятное имя устройства | Например: «Счетчик электроэнергии» |
| IP адрес | IP адрес Modbus устройства в сети | Например: 192.168.1.100 |
| Порт | TCP порт Modbus устройства | 502 |
| Unit ID | Адрес Modbus устройства (Slave ID) | 1 |
| Интервал опроса | Частота опроса устройства (мс) | 5000 (5 секунд) |
Перед настройкой регистров рекомендуется проверить, что устройство доступно по сети:
- Нажмите кнопку «Тест подключения»
- Дождитесь результата проверки
- При успешном подключении появится зеленое сообщение
Для получения данных от устройства необходимо настроить регистры:
Использование профилей устройств
Для популярных устройств (счетчики электроэнергии SDM, контроллеры RealLab и др.) доступны готовые профили:
- В поле «Профиль устройства» выберите производителя и модель
- Регистры загрузятся автоматически из профиля
- При необходимости отредактируйте параметры
Ручная настройка регистров
Если профиля нет, добавьте регистры вручную, нажав «+ Добавить регистр»:
| Параметр регистра | Описание |
|---|---|
| Название | Имя параметра (например: voltage, temperature) |
| Тип регистра | Holding (чтение/запись), Input (только чтение), Coil (дискретный), Discrete (дискретный вход) |
| Адрес | Адрес регистра в устройстве (см. документацию производителя) |
| Тип данных | uint16, int16, uint32, int32, float32, float64, bool, string |
| Порядок байт | BE (Big Endian), LE (Little Endian), BE-SWAP, LE-SWAP |
| Масштаб | Коэффициент умножения значения (например: 0.1 для преобразования 235 → 23.5) |
| Смещение | Добавляемое значение после умножения |
| Единица измерения | V, A, W, kWh, °C и т.д. |
| Запись | Разрешить запись в регистр (для управляемых устройств) |
Укажите, через какой MQTT брокер будут передаваться данные:
- primary — основной брокер на текущем хабе (для локального использования)
- Дополнительные брокеры — если настроены в разделе «Настройки → MQTT брокер»
- Проверьте все введенные параметры
- Нажмите кнопку «Сохранить»
- Устройство автоматически начнет опрос по заданному интервалу
- Закройте страницу настройки
Вернитесь на страницу «Свойства» устройства и настройте отображение:
- В поле «Device SN» введите идентификатор из шага 2 (например:
modbus-001) - Нажмите «Сохранить»
- В разделе «Параметры устройства» выберите галочками параметры для отображения на иконке
- Отметьте параметры, для которых нужно сохранять историю (для построения графиков)
После настройки:
- На иконке устройства появятся актуальные данные
- Для управляемых регистров (с флагом «Запись») будут доступны элементы управления
- Кнопка «Показать график» откроет исторические данные
- Устройство можно использовать в сценариях автоматизации
⚙️ Примеры применения
Счетчики электроэнергии
Счетчики серии SDM (SDM120, SDM220, SDM630) широко используются для мониторинга потребления:
- Подключаются через RS485-Ethernet конвертер или напрямую (модели с Ethernet)
- Передают данные о напряжении, токе, мощности, энергии
- Используйте профиль «SDM120» или «SDM630» из списка
ПЛК и контроллеры
Промышленные логические контроллеры (Siemens, Schneider, ОВЕН и др.):
- Управление исполнительными механизмами
- Мониторинг технологических процессов
- Регистры настраиваются индивидуально под задачу
Датчики и сенсоры
Датчики температуры, влажности, давления с Modbus TCP:
- Обычно имеют 1-4 регистра Input или Holding
- Простая настройка с указанием адресов из datasheet
🔧 Устранение проблем
Устройство не подключается
- Проверьте сетевую доступность:
ping IP_адрес_устройства - Убедитесь, что порт 502 не заблокирован брандмауэром
- Проверьте правильность Unit ID (Slave ID)
- Некоторые устройства требуют активации Modbus TCP в настройках
Данные не приходят или некорректные
- Проверьте адреса регистров в документации устройства
- Убедитесь в правильности выбора типа данных (int16/uint16/float32)
- Проверьте порядок байт (Endianness) — попробуйте разные варианты
- Используйте масштаб и смещение для преобразования значений
Не работает запись в регистры
- Убедитесь, что регистр помечен как «Запись» (writable)
- Проверьте, что используется тип Holding или Coil (Input и Discrete только для чтения)
- Некоторые устройства требуют специальных команд для разблокировки записи
📚 Дополнительная информация
MQTT топики
Данные от Modbus устройств публикуются в MQTT:
- Топик данных:
modbus/data - Топик команд:
modbus/command/DEVICE_SN
Формат данных
Пример JSON сообщения от устройства:
{
"deviceSN": "modbus-001",
"broker": "primary",
"voltage": 230.5,
"current": 2.3,
"power": 530.15,
"energy": 1234.56,
"_modbus": {
"timestamp": 1645012345678,
"host": "192.168.1.100"
}
}
Интеграция со сценариями
Modbus устройства доступны в Node-RED и сценариях If-Else:
- Используйте данные от счетчиков для учета энергопотребления
- Создавайте уведомления при превышении порогов
- Управляйте нагрузками через Modbus реле и контакторы
✅ Подключение Modbus TCP устройств завершено!
Теперь ваши промышленные устройства интегрированы в систему RealIoT
и готовы к использованию в автоматизации.
Нужна помощь?
Если вы не нашли ответ на свой вопрос, свяжитесь с технической поддержкой
📧 info@reallab.ru | 📞 +7 (495) 26-66-700 | 💬 WhatsApp: +7 (928) 289-24-86