8 FONCTIONS DES REGISTRES
Comptage d'impulsions : le nombre d'impulsions est stocké sous forme d'un entier non signé de 32 bits.
Cela permet de compter jusqu'à 2
Modbus qui ne permettent pas de lire les valeurs de 32 bits, on peut calculer le nombre d'impulsions de la
manière suivante :
Nombre = (MPS * 65536) + MMS
ou
Nombre = (MPS << 16) | MMS
Les registres de comptage d'impulsions accumulent le nombre total de ces dernières reçues à chaque
entrée. Ces totaux augmentent toujours et ne peuvent être effacés ou réglés à une valeur arbitraire,
prévenant ainsi les manipulations non autorisées. Ils sont également stockés dans une mémoire
permanente qui les protège en cas de pannes de courant. Les valeurs du compteur non signé de 32 bits
peuvent s'accumuler jusqu'à 4,29 milliards (232) d'impulsions avant de revenir à zéro.
Toutes les valeurs de points de données de 32 bits sont encodées dans deux registres Modbus de 16 bits
chacun. Les unités maîtresses Modbus devraient toujours envoyer au modèle A8332- 8F2D une seule
requête pour lire un bloc entier de registres. Il ne faut jamais employer deux requêtes pour lire un registre,
pour ensuite combiner les deux résultats en une seule valeur de 32 bits. Ce faisant, on fait en sorte que
le nombre d'impulsions augmente au milieu des deux requêtes, ce qui entraîne des lectures de données
intermittentes et incorrectes.
EXEMPLE :
Une entrée compte 65 534 impulsions. En nombre hexadécimal à 32 bits, cela donne 0x0000FFFE.
Les quatre premiers caractères représentent le registre au mot le plus significatif (MPS) et les quatre
suivants, le registre au mot le moins significatif (MMS). L'unité maîtresse Modbus lit le registre MPS et
obtient 0x0000. Entre les deux lectures, l'entrée compte deux impulsions de plus, totalisant ainsi 65 536,
ou 0x00010000. L'unité maîtresse lit ensuite le registre MMS et obtient 0x0000. Quand les deux registres
sont combinés, le résultat est 0x00000000. La bonne façon de régler une telle situation est de lire les deux
registres au moyen d'une seule requête Modbus.
(4,29 milliards) impulsions avant de revenir à zéro. Dans les systèmes
32
[décalage de 16 bits du mot le plus significatif et opération XOR
sur le mot le moins significatif]
27