ModBus : Types de données

Type de donnée

Description

INT16

Nombre entier dans la plage comprise entre -32768 et 32767.
La plage numérique effectivement utilisée pour un point de données peut être différente.

UINT16

Nombre entier non signé dans la plage comprise entre 0 et 65535.
La plage numérique effectivement utilisée pour un point de données peut être différente.

ENUM

Indique une énumération. Il n'est possible de définir qu'une des valeurs présentes sous Paramètres.

BOOL

Une valeur booléenne est un paramètre autorisant exactement deux états (0 – faux/false et 1 – vrai/true). Les valeurs supérieures à zéro sont généralement évaluées comme la valeur true.

BITMAP*

Regroupement de 16 valeurs booléennes (bits). Les valeurs sont indexées de 0 à 15. Le nombre qui doit être lu ou écrit dans le registre résulte du total de l'ensemble des bits ayant la valeur 1 x 2 de leur indice.

  • 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

Regroupement de 32 valeurs booléennes (bits). Les détails du calcul sont donnés à la rubrique Bitmap.

* Exemple à titre d'illustration :
Bit 3, 6, 8, 15 sont égaux à 1, tous les autres sont égaux à 0. Le total est alors 23+26+28+215 = 8+64+256+32768 = 33096. L'opération inverse est possible également. Le contrôle, qui part du bit ayant l'indice le plus élevé, vérifie si le nombre lu est supérieur ou égal à la puissance deux. Dans ce cas, le bit 1 est défini et la puissance deux est soustraite du nombre. Le contrôle continue avec le bit ayant l'indice immédiatement inférieur et le reste calculé est répété jusqu'à ce que l'on arrive au bit 0 ou que le reste soit égal à zéro. Un exemple à titre d'illustration : Le nombre lu est 1416. Le bit 15 prend la valeur 0, car 1416 < 32768. Les bits 14 à 11 prennent également la valeur 0. Le bit 10 prend la valeur 1, car 1416 > 1024. Le reste est 1416-1024=392. Le bit 9 prend la valeur 0, car 392 < 512. Le bit 8 prend la valeur 1, car 392 > 256. Le reste est 392-256=136. Le bit 7 prend la valeur 1, car 136 > 128. Le reste est 136-128=8. Les bits 6 à 4 prennent la valeur 0. Le bit 3 prend la valeur 1, car 8=8. Le reste est 0. Les bits restants sont les bits 2 à 0, tous à 0.