ModBus: Tipuri de date

Tip de date

Descriere

INT16

Număr întreg în intervalul de la -32768 până la 32767.
Intervalul de numere folosit în mod real pentru un punct de date poate fi diferit.

UINT16

Număr întreg, fără plus sau minus în față, în intervalul de la 0 până la 65535.
Intervalul de numere folosit în mod real pentru un punct de date poate fi diferit.

ENUM

Este o enumerare. Se poate seta numai una dintre valorile enumerate la parametru.

BOOL

O valoare booleană este un parametru cu exact două stări (0 – fals/false și 1 – adevărat/true). În general, toate valorile mai mari de zero sunt evaluate ca true.

BITMAP*

Este un rezumat de 16 valori booleane (biți). Valorile sunt indicate de la 0 la 15. Numărul de citit sau scris în registru rezultă din suma tuturor biților cu valoarea 1×2 la puterea indicelui lor.

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

BITMAP32

Este un rezumat de 32 de valori booleane (biți). Pentru detaliile calculului, vă rugăm să consultați bitmap-ul.

* Exemplu pentru clarificare:
Bitul 3, 6, 8, 15 sunt 1, toți ceilalți sunt 0. Totalul este în acest caz 23+26+28+215 = 8+64+256+32768 = 33096. Drumul invers este de asemenea posibil. În acest context, pe baza bitului cu indicele cel mai mare se verifică dacă numărul citit este mai mare sau egal cu puterea de doi. Dacă se întâmplă acest lucru, se setează bitul 1 și puterea de doi este scăzută din număr. Ulterior, verificarea se repetă cu bitul cu cel mai apropiat indice mai mic și restul tocmai calculat până când se ajunge la bitul 0 sau restul este zero. Un exemplu, pentru clarificare: Numărul citit este 1416. Bitul 15 este 0, pentru că 1416 < 32768. Biții 14 până la 11 sunt de asemenea 0. Bitul 10 este 1, pentru că 1416 > 1024. Numărul rămas este 1416 - 1024 = 392. Bitul 9 este 0, pentru că 392 < 512. Bitul 8 este 1, pentru că 392 > 256. Numărul rămas este 392 - 256 = 136. Bitul 7 este 1, pentru că 136 > 128. Numărul rămas este 136 - 128 = 8. Biții 6 până la 4 sunt 0. Bitul 3 este 1, pentru că 8 = 8. Numărul rămas este 0. Astfel restul biților sunt 2 până cânt toate sunt 0.