4.7 Somme de contrôle (CRC16)
Mode
de calcul
H
Exemple 1
Exemple 2
La somme de contrôle (CRC16) permet de détecter les erreurs de transmis-
sion. Si une erreur est détectée lors de l'évaluation, l'appareil correspondant
ne répond pas.
CRC = 0xFFFF
CRC = CRC XOR ByteOfMessage
For (1 à 8)
while (tous les octets du message ne sont pas traités);
L'octet de poids faible de la somme de contrôle est transmis en
premier.
Lecture du compteur 2 (état actuel du compteur = 12345).
Demande de données : lecture de deux mots à l'adresse 0x57
(CRC16 = 0x1E77)
14
03
0057
Réponse : (CRC16 = 0x92BB)
14
03
04
Le mot 1 et le mot 2 contiennent la réponse 12345,0.
Consultation de l'état des sorties relais.
Ordre : lecture d'un mot à l'adresse 0x31 (CRC16 = 0x00D7)
14
03
0031
Réponse (CRC = 0x4774):
14
03
02
D'après le mot 1, seule la sortie 1 est active.
4 Description du protocole
CRC = SHR(CRC)
if (drapeau report à droite = 1)
then
CRC = CRC XOR
0xA001
0002
771E
E400
4640
mot 1
mot 2
0001
D700
0001
7447
mot 1
else
BB92
13