# Modbus TCP и Modbus RTU

> Подключайте ПЛК, приводы, счётчики электроэнергии и модули ввода-вывода с Modbus и передавайте их значения клиентам OPC UA, на экраны SCADA, в архив и ИИ-ассистентам.

Modbus — самый распространённый промышленный протокол: ПЛК, частотные преобразователи, счётчики электроэнергии, регуляторы температуры и удалённые модули ввода-вывода почти всегда его поддерживают. В PLCGateway входит Modbus master для Modbus TCP, Modbus RTU, туннелируемого через TCP (последовательные шлюзы), и Modbus RTU на последовательном порту.

Соседние регистры объединяются в один запрос, поэтому всё устройство читается за несколько телеграмм; 32- и 64-битные значения собираются в порядке слов устройства, и каждое значение несёт код качества. Затем значения можно публиковать через встроенный сервер OPC UA, передавать по MQTT, архивировать, использовать в тревогах и показывать на экранах.

- **ID драйвера:** `modbus_tcp`, `modbus_rtu_tcp`, `modbus_rtu`
- **Подключение:** TCP 502 · RTU over TCP · RS-485 / RS-232
- **Обзор адресов:** адреса вводятся вручную или импортируются
- **Запись:** да
- **Входит в:** PLCGateway Connect, PLCGateway SCADA, PLCGateway Embedded

## Что PLCGateway читает и записывает

- Holding-регистры (FC3) и input-регистры (FC4)
- Coils (FC1) и discrete inputs (FC2)
- Отдельные биты регистра как BOOL
- От INT16 до INT64, FLOAT32 / FLOAT64 и строки с выбором порядка слов (ABCD, CDAB, BADC, DCBA)
- Запись функциями FC5, FC6 и FC16, биты регистров — по схеме read-modify-write
- Несколько ведомых устройств за одним шлюзом по unit id

## Примеры адресов

| Адрес | Значение |
|---|---|
| `HR100 · %MW100` | Holding-регистр 100 (нумерация с 0) |
| `40101` | Классическая нотация с нумерацией с 1 для holding-регистра 100 |
| `IR5 · 30006` | Input-регистр |
| `C12 · 00013` | Coil |
| `DI7 · 10008` | Discrete input |
| `HR20.7` | Бит 7 holding-регистра 20 |

## Контроллеры и устройства

- [Schneider Electric Modicon](https://plcgateway.com/ru/controllers/schneider-electric.md)
- [Контроллеры на базе CODESYS](https://plcgateway.com/ru/controllers/codesys-plcs.md)
- [Автоматизация зданий и счётчики энергии](https://plcgateway.com/ru/controllers/building-automation.md)

## Подключение за несколько шагов

1. Добавьте устройство, выберите Modbus TCP, RTU over TCP или RTU serial и укажите IP-адрес либо последовательный порт со скоростью передачи и чётностью.
2. Задайте unit id и, для 32-битных значений, порядок слов устройства.
3. Создайте теги с адресами и типами данных или импортируйте список регистров из CSV; проверьте связь, чтобы увидеть первые значения.
4. Используйте значения на экранах, в архиве и тревогах или передавайте их через OPC UA и MQTT.

## Вопросы и ответы

### Поддерживает ли PLCGateway Modbus RTU по RS-485?

Да. Драйвер modbus_rtu работает напрямую с последовательным портом (RS-485 или RS-232), а modbus_rtu_tcp передаёт кадры RTU через преобразователь последовательного интерфейса в Ethernet.

### Значения float выглядят неправильно. Что изменить?

Большинство устройств хранят 32-битное значение в двух регистрах, но порядок регистров у них разный. Подбирайте порядок слов ABCD, CDAB, BADC или DCBA для устройства или отдельного тега, пока значение не совпадёт с показаниями на дисплее устройства.

### Может ли PLCGateway работать и как сервер Modbus?

Да. Помимо драйвера Modbus, в PLCGateway есть сервер Modbus TCP, который предоставляет все теги как coils и регистры, так что другой ПЛК или SCADA-система может читать собранные данные по Modbus.

## Связанные протоколы

- [BACnet/IP](https://plcgateway.com/ru/protocols/bacnet.md)
- [Siemens S7](https://plcgateway.com/ru/protocols/siemens-s7.md)
- [Клиент OPC UA](https://plcgateway.com/ru/protocols/opc-ua.md)
- [DNP3 (IEEE 1815)](https://plcgateway.com/ru/protocols/dnp3.md)
- [Все протоколы](https://plcgateway.com/ru/protocols.md)

_Названия продуктов и моделей являются товарными знаками их владельцев. Они упоминаются только для того, чтобы показать, с каким оборудованием работают драйверы; PLCGateway не связан с этими компаниями._

---
Source: https://plcgateway.com/ru/protocols/modbus
