ModBus: Vrste podataka

Vrsta podataka

Opis

INT16

Cijeli broj u području od -32768 do 32767.
Područje broja koje se stvarno upotrebljava za podatkovnu točku može odstupati.

UINT16

Cijeli broj bez predznaka u području od 0 do 65535.
Područje broja koje se stvarno upotrebljava za podatkovnu točku može odstupati.

ENUM

Je popis. Može se postaviti samo jedna od vrijednosti navedenih pod parametrom.

BOOL

Boolean vrijednost parametar je s točno dva stanja (0 – neispravno/false i 1 – točno/true). Općenito se sve vrijednosti veće od nule procjenjuju kao „true“.

BITMAP*

Sažetak je od 16 boolean vrijednosti (bitovi). Vrijednosti se naznačuju u rasponu od 0 do 15. Broj koji se očitava ili piše u registar nastaje zbrojem svih bitova s vrijednošću 1 x 2 visoko svojeg indeksa.

  • 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

Sažetak je od 32 boolean vrijednosti (bitovi). Za detalje izračuna provjerite bitmapu.

* Primjer za pojašnjenje:
Bitovi 3, 6, 8, 15 su 1, svi su drugi 0. Iznos je tada 23+26+28+215 = 8+64+256+32768 = 33096. Obrnuti put također je moguć. Pritom bit s najvećim indeksom provjerava je li očitani broj veći ili jednak potenciji broja dva. Ako je to slučaj, postavlja se bit 1 i potencija broja dva izvlači se od broja. Nakon toga se ponavlja provjera bitom sa sljedećim manjim indeksom i upravo izračunatim preostalim brojem dok se ne dođe do bita 0 ili dok preostali broj ne postane nula. Primjer za objašnjenje: Očitani je broj 1416. Bit 15 je 0 jer je 1416<32768. Bitovi od 14 do 11 također su 0. Bit 10 je 1 jer je 1416>1024. Preostali je broj 1416-1024=392. Bit 9 je 0 jer je 392<512. Bit 8 je 1 jer je 392>256. Preostali je broj 392-256=136. Bit 7 je 1 jer je 136>128. Preostali je broj 136-128=8. Bit od 6 do 4 je 0. Bit 3 je 1 jer je 8=8. Preostali je broj 0. Stoga su preostali bitovi od 2 do svi 0.