ModBus: Gegevenstypen
Gegevenstype | Beschrijving |
---|---|
INT16 | Geheel getal in het bereik van -32768 t/m 32767. |
UINT16 | Geheel getal zonder teken in het bereik van 0 t/m 65535. |
ENUM | Is een opsomming. Er kan slechts één van de onder de parameter vermelde waarden worden ingesteld. |
BOOL | Een booleaanse waarde is een parameter met exact twee uitvoerwaarden (0 – onjuist/false en 1 – juist/true). In het algemeen worden alle waarden groter dan nul als true aangegeven. |
BITMAP* | Is een samenvatting van 16 booleaanse waarden (Bits). De waarden worden van 0 t/m 15 geïndexeerd. Het in het register te lezen of te schrijven getal is het resultaat van de som van alle bits met de waarde 1×2 tot de macht van hun index.
|
BITMAP32 | Is een samenvatting van 32 booleaanse waarden (Bits). Lees de bitmap voor meer informatie over de berekening. |
* Voorbeeld ter verduidelijking:
Bit 3, 6, 8, 15 zijn 1, alle andere bits zijn 0. De som is dan 23+26+28+215 = 8+64+256+32768 = 33096. De omgekeerde weg is eveneens mogelijk. Daarbij wordt, uitgegaan van de bit met de hoogste index, gecontroleerd of het gelezen getal groter of gelijk is aan de tweede macht. Als dit het geval is, wordt bit 1 geactiveerd en de tweede macht van het getal afgetrokken. Daarna wordt de controle met het bit met de daarna kleinste index en het zojuist berekende restgetal herhaald tot men bij bit 0 is aangekomen of het restgetal nul is. Een voorbeeld ter verduidelijking: Het gelezen getal is 1416. Bit 15 wordt 0, omdat 1416<32768. Bits 14 t/m 11 worden eveneens 0. Bit 10 wordt 1, omdat 1416>1024 is. Het restgetal wordt 1416-1024=392. Bit 9 wordt 0, omdat 392<512. Bit 8 wordt 1, omdat 392>256. Het restgetal wordt 392-256=136. Bit 7 wordt 1, omdat 136>128. Het restgetal wordt 136-128=8. Bit 6 t/m 4 worden 0. Bit 3 wordt 1, omdat 8=8. Het restgetal wordt 0. Zodoende worden de resterende bits 2 t/m 0.