Функции на Modbus

В тази статия ще ви кажа какви функции има в протокола Modbus и какъв формат използват. Функциите с формат за Modbus RTU са показани първо. В края на статията ще покажа разликата във формата за Modbus TCP и Modbus ASCII.

Малка бележка. Всички примери за команди ще бъдат шестнадесетични данни без префикса 0x. Например 05 означава 0x05, а 0A означава 0x0A (10 в десетична запетая). Всички байтове преминават отляво надясно (най-левият е първият байт, най-десният е последният байт).

Форматът на заявката и формата на отговора ще бъдат показани отделно. И също така ще бъдат дадени конкретни примери.

Списък на командите:

Четене на състоянието на регистъра COIL

Примерна команда:

Байтовете с данни в отговора съхраняват стойностите от най-малко значимия бит до най-значимия.

Регистрация 20 -> байт # 3, бит # 0

Регистрация 21 -> байт # 3, бит # 1

Регистър 22 -> байт # 3, бит # 2

Регистрация 27 -> байт # 3, бит # 7

Също така в байт # 7 трябва само да съхраняваме стойностите за 5 регистри. Следователно ние използваме само 5-те най-малко значими бита, а най-значимите 3, които не се използват, са зададени на 0.

Четене на КОНТАКТ регистър

Примерна команда:

Байтовете с данни в отговора съхраняват стойностите от най-малко значимия бит до най-значимия.

Регистрирайте 10197 -> байт # 3, бит # 0

Регистрация 10198 -> байт # 3, бит # 1

Регистрирайте 10199 -> байт # 3, бит # 2

Регистрирайте 10204 -> байт # 3, бит # 7

Също така в байт # 5 трябва само да съхраняваме стойностите за 6 регистри. Следователно ние използваме само 6-те най-малко значими бита, а най-значимите 2, които не се използват, са зададени на 0.

Четене на регистъра HOLDING