ModBus: Типови податоци

Тип податоци

Опис

INT16

Цел број во опсег од -32768 до 32767.
Актуелниот употребен опсег на броеви може да отстапува за одредена податочна точка.

UINT16

Неназначен цел број во опсег од 0 до 65535.
Актуелниот употребен опсег на броеви може да отстапува за одредена податочна точка.

ENUM

Набројување. Може да се постави само една вредност од долунаведените параметри.

BOOL

Буловата вредност е параметар со точно две растојанија (0 - погрешно/false и 1 - точно/true). Генерално сите вредности поголеми од нула се сметаат за точни.

BITMAP*

Збир на 16 булови вредности (битови). Вредностите се индицираат од 0 до 15. Бројот што треба да се отчита или запише во регистарот се добива од сумата на сите битови со вредност 1×2 високо во индексот.

  • Бит 0: 20 = 1
  • Бит 1: 21 = 2
  • Бит 2: 22 = 4
  • Бит 3: 23 = 8
  • Бит 4: 24 = 16
  • Бит 5: 25 = 32
  • Бит 6: 26 = 64
  • Бит 7: 27 = 128
  • Бит 8: 28 = 256
  • Бит 9: 29 = 512
  • Бит 10: 210 = 1024
  • Бит 11: 211 = 2048
  • Бит 12: 212 = 4096
  • Бит 13: 213 = 8192
  • Бит 14: 214 = 16384
  • Бит 15: 215 = 32768

BITMAP32

Збир на 32 булови вредности (битови). За детали за пресметката, прочитајте ја мапата на битови.

* Пример за појаснување:
Битовите 3, 6, 8, 15 се 1, сите други се 0. Потоа, сумата е 23+26+28+215 = 8+64+256+32768 = 33096. Обратниот редослед е исто така можен. Се проверува почнувајќи од битот со највисок индекс ако прочитаниот број е поголем или еднаков на потенцијалот на вториот. Некогаш се утврдува битот 1 и се добива потенцијалот на вториот преку бројот. Потоа, проверката се повторува со битот со следниот понизок индекс, а преостанатиот број се пресметува додека не се добие 0 или додека преостанатиот број не биде нула. Пример за појаснување: Отчитаниот број е 1416. Бит 15 е 0, па така 1416<32768. Битовите 14 до 11 се исто така 0. Битот 10 е 1, па така 1416>1024. Преостанатиот број е 1416-1024=392. Битот 9 е 0, па така 392<512. Битот 8 е 1, па така 392>256. Преостанатиот број е 392-256=136. Битот 7 е 1, па така 136>128. Преостанатиот број е 136-128=8. Битовите 6 до 4 се 0. Битот 3 е 1, па така 8=8. Преостанатиот број е 0. Толку се и преостанатите битови од 2 до 0.