Caractère de contrôle (Somme de contrôle)
Lors de la transmission du paquet, une erreur peut
changer la valeur des données. Dans notre exemple,
par exemple, le paquet de 3, 66, 65, 68 passe à 3, 66,
61, 68. Une façon de déterminer que les nombres que
vous recevez sont les mêmes que ceux qui ont été
envoyés consiste à ajouter un caractère de contrôle au
paquet. Pour ce faire, il suffit d'utiliser un caractère de
contrôle. Cette méthode consiste à attribuer une valeur
au paquet afin de vérifier si des octets ont été modifiés.
Ce « caractère de contrôle » est obtenu par la
somme de tous les octets de données. On parle
plus communément de « somme de contrôle ». Pour
votre paquet 3+66+65+68 est égal à 202. Vous placez
ce nombre à la fin de votre paquet : 3, 66, 65, 68,
202. En additionnant tous les octets, la somme doit
correspondre à la valeur du caractère de contrôle.
Une erreur est signalée si les deux nombres ne
correspondent pas. S'il se produit une erreur, cela
signifie qu'une partie des données a été modifiée, ou
que le caractère de contrôle lui-même a été modifié.
Pour le SPM, la somme de contrôle est la somme
en valeur négative de tous les octets du paquet.
Comme ci-dessus, notre paquet donnerait 3, 66, 65,
68, -202. Pour ce paquet, la somme de tous les octets
additionnée à la somme de contrôle doit être égale à
(0). Tout autre résultat indique une erreur de donnée.
Les données du SPM incluses dans le paquet sont
interprétées de manière légèrement différente par
rapport à notre exemple. Les données sont composées
de deux parties : une commande et un ou plusieurs
paramètres. La commande indique le type de données.
Autrement dit : la commande indique le type de paquet
et les paramètres. Chaque paquet contient au moins
4 octets de données : DATE et HORODATAGE de SPM
Ces données permettent de donner une référence date
et heure. Vous devez vous assurer que la date et l'heure
du SPM sont correctement définies.
Manuel technique du SPM
Détecteurs SPM (Single Point Monitor)
Exemple type de communication : un paquet avec
une commande de 61 (valeur hexadécimale) est un
paquet de type FAULT (ERREUR). Le 61 indique que
ce paquet a été envoyé en raison d'une erreur. Voir
le
tableau
09 (HEX)
Ce paquet est destiné à une erreur de l'instrument. Le
type d'erreur se trouve dans l'octet étiqueté « FAULT »
(ERREUR). Le reste du paquet est 09 (HEX) pour le
nombre d'octets (9) de ce paquet, la date et l'heure
sont mentionnées pour votre référence.
Chaque paquet que le SPM envoie contient une adresse,
une longueur, une commande et les paramètres associés
et un caractère de contrôle. Le SPM suppose que tous
les appareils distants occupent une adresse (HEX) 4D.
Le SPM a reçu une adresse de (HEX) 4C. Il ne reconnaît
que cette adresse.
Accusé de réception positif/négatif
Le SPM utilise un système de communication entre lui-
même et tout autre appareil qui souhaite communiquer
avec lui. La réponse la plus courante est un « ACK ».
ACK « accusé de réception positif ». Votre équipement
renvoie la réponse au SPM pour indiquer que le paquet
est ok. Si, toutefois, la somme de contrôle ne correspond
pas, vous pouvez choisir de renvoyer un « NAK », qui
correspond à un accusé de réception négatif. Un NAK
indique que le paquet de données a bien été reçu,
mais que la somme de contrôle ne correspond pas
aux données du paquet. Le SPM va alors envoyer de
nouveau le paquet à votre équipement. Un paquet ACK
serait (tous HEX) : 4C, 04, 20, 90. (4C+4+20+90=0)
A-4
A-2.
61 (HEX)
DATE
HEURE
(2 octets)
(2 octets)
Tableau A-2 : Paquet d'erreur
N° D'ERREUR
(1 octet)