# Modbus TCP и Modbus RTU

> Свържете PLC, честотни преобразуватели, електромери и I/O модули, които комуникират по Modbus, и предоставете стойностите им на OPC UA клиенти, SCADA екрани, историята и AI асистенти.

Modbus е най-разпространеният полеви протокол в индустрията: PLC, честотни преобразуватели, електромери, температурни регулатори и отдалечени I/O почти винаги го поддържат. 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
- Няколко slave устройства зад един шлюз чрез 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/bg/controllers/schneider-electric.md)
- [Контролери на базата на CODESYS](https://plcgateway.com/bg/controllers/codesys-plcs.md)
- [Сградна автоматизация и електромери](https://plcgateway.com/bg/controllers/building-automation.md)

## Свързване в няколко стъпки

1. Добавете устройство, изберете Modbus TCP, RTU over TCP или RTU serial и въведете IP адреса или серийния порт със скорост (baud rate) и четност.
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 и регистри, така че друг PLC или SCADA система може да чете събраните данни по Modbus.

## Сродни протоколи

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

_Имената на продукти и модели са търговски марки на съответните им притежатели. Посочени са само за да покажат с какво оборудване комуникират драйверите; PLCGateway не е свързана с тези компании._

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