ModBus: Datatyper
Datatype | Beskrivelse |
---|---|
INT16 | Helt tal i området fra -32768 til 32767. |
UINT16 | Helt tal uden fortegn i området fra 0 til 65535. |
ENUM | Er en oplistning. Kun én af de værdier, der er angivet under parametre, kan indstilles. |
BOOL | En boolsk værdi er en parameter med præcis to tilstande (0 – falsk/false og 1 – sand/true). Generelt vurderes alle værdier større end nul som true. |
BITMAP* | Er en sammenfatning af 16 boolske værdier (bits). Værdierne angives fra 0 til 15. Det tal, der skal læses eller skrives i registeret, fremkommer af summen af alle bits med værdien 1x2 opløftet i indekstallets potens.
|
BITMAP32 | Er en sammenfatning af 32 boolske værdier (bits). Find detaljer om beregningen under bitmap. |
* Eksempel til forklaring:
Bit 3, 6, 8, 15 er 1, alle andre er 0. Summen er så 23+26+28+215 = 8+64+256+32768 = 33096. Den omvendte vej er også mulig. Her kontrolleres det med udgangspunkt i bitten med det højeste indeks, om det læste tal er større end eller lig med 2. potensen. Hvis det er tilfældet, sættes bit 1 og 2. potensen trækkes fra tallet. Derefter gentages kontrollen med bitten med det nærmeste lavere indeks og det netop beregnede resttal, indtil man kommer frem til bit 0, eller resttallet er nul. Et eksempel for at tydeliggøre: Det læste tal er 1416. Bit 15 bliver 0, da 1416<32768. Bittene 14 til 11 bliver ligeledes 0. Bit 10 bliver 1, da 1416>1024. Resttallet bliver 1416-1024=392. Bit 9 bliver 0, da 392<512. Bit 8 bliver 1, da 392>256. Resttallet bliver 392-256=136. Bit 7 bliver 1, da 136>128. Resttallet bliver 136-128=8. Bit 6 til 4 bliver 0. Bit 3 bliver 1, da 8=8. Resttallet bliver 0. Dermed bliver de resterende bits 2 til 0 alle 0.