ModBus: Datu tipi

Datu tips

Apraksts

INT16

Vesels skaitlis diapazonā no -32768 līdz 32767.
Faktiski datu punktam izmantotais skaitļu diapazons var atšķirties.

UINT16

Vesels skaitlis diapazonā no 0 līdz 65535.
Faktiski datu punktam izmantotais skaitļu diapazons var atšķirties.

ENUM

Ir uzskaitījums. Var tikt iestatīta tikai viena no parametros uzskaitītajām vērtībām.

BOOL

Būla vērtība ir parametrs ar tieši diviem stāvokļiem (0 – nepatiess / false un 1 – patiess / true). Vispārēji visas vērtības, kas lielākas par nulli, tiek vērtētas kā true.

BITMAP*

Ir 16 Būla vērtību (bitu) kopsavilkums. Vērtības tiek rādītas no 0 līdz 15. Reģistrā lasāmo vai rakstāmo skaitli veido summa no visu bitu ar vērtību 1 skaitļa 2 pakāpes atbilstoši tās indeksam.

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

BITMAP32

Ir 32 Būla vērtību (bitu) kopsavilkums. Aprēķināšanas detaļas, lūdzu, pārlasiet pie Bitmap.

* Paskaidrojošs piemērs:
Biti 3, 6, 8, 15 ir 1, visi pārējie ir 0. Summa tad ir 23+26+28+215 = 8+64+256+32768 = 33096. Apgrieztais ceļš ir arī iespējams. Turklāt, vadoties pēc bita ar augstāko indeksu, pārbauda, vai nolasītais skaitlis ir lielāks vai vienāds ar divnieka pakāpi. Ja tā ir, tiek likts bits 1 un divnieka pakāpe atņemta no skaitļa. Pēc tam pārbaudi atkārto ar bitu ar nākamo mazāko indeksu un tikko aprēķināto atlikuma skaitli, kamēr nonāk līdz bitam 0 vai atlikuma skaitlis ir nulle. Paskaidrojošs piemērs: Nolasītais skaitlis ir 1416. Bits 15 būs 0, tāpēc ka 1416<32768. Biti no 14 līdz 11 arī būs 0. Bits 10 būs 1, tāpēc ka 1416>1024. Atlikuma skaitlis būs 1416-1024=392. Bits 9 būs 0, tāpēc ka 392<512. Bits 8 būs 1, tāpēc ka 392>256. Atlikuma skaitlis būs 392-256=136. Bits 7 būs 1, tāpēc ka 136>128. Atlikuma skaitlis būs 136-128=8. Biti no 6 līdz 4 būs 0. Bits 3 būs 1, tāpēc ka 8=8. Atlikuma skaitlis būs 0. Tāpat arī pārējie biti no 2 līdz 0.