4.2 Modbus TCP - pr200sd/presp32 GitHub Wiki
Протокол Modbus TCP включен во все версии программного обеспечения. И является самым простым и быстрым вариантом узнать состояние ячеек памяти интерфейсной платы. Так же через этот протокол можно быстро создать визуализацию на телефоне/планшете с Android системой.
Адресное пространство доступных регистров имеет диапазон [0-699]. Часть из доступных регистров используется для записи системных параметров, в зависимости от версии программного обеспечения и режима работы Modbus RTU(Master/Slave).
Пространство адресов Modbus TCP
Адрес | Формат данных | Параметр | Тип доступа |
---|---|---|---|
0 | uint32 | время в формате unixtime | R |
2 | uint32 | объем свободной heap памяти | R |
4 | uint32 | время работы в us с момента подачи питания | R |
6 | uint16 | значение rssi для wi-fi сигнала | R |
100 | uint16/uint32/float | Извлеченное значение в режиме сниффера | R |
102 | uint16 | Режим сниффера | R/W |
103-567 | uint16/uint32/float | регистры для свободного доступа | R/W |
578 | uint16 | регистр состояния/управления логером | R/W |
581 | uint16 | регистр состояния датчиков ds18b20 | R |
600-699 | uint16 | управляющие регистры Modbus RTU в режиме Master | R/W |
В область регистров со свободным доступом на чтение и запись могут иметь доступ различные сервисы:
- Modbus RTU (Master/Slave)
- Клиент по протоколу Modbus TCP (Modbus Poll, Virtuino, KaScada)
- TelegramBot
- HomeKit
- MQTT
- Значения датчиков при включенном сервисе ds18b20
- Значения при работе с цифровыми входами/выходами DIO, в зависимости от выбранного режима
- Логгер
Ниже представлен пример доступа к данным с датчика влажности и температуры в формате float с адресами 512 и 514. Левая части скриншота демонстрирует доступ по протоколу Modbus TCP, правая часть доступ по протоколу Modbus RTU.
Настройки
В поле "1" выбирается режим работы включен или выключен, по умолчанию сервис включен, если не используется можно выключить, при этом высвобождается ~5kB памяти. В поле "2" задается параметр Unit ID в диапазоне [1-247] В поле "3" задается номер порта, по умолчанию 502