4.5 Codes d'état et de diagnostic de l'AquaVent MODBUS

4.5.1 État de l'appareil

Il existe deux types de bits d'état d'un appareil. Les deux types de bits restent dans l'état effacé pendant le fonctionnement normal, ce qui résulte en une valeur de registre de zéro. Les bits de type « état » indiquent simplement une condition en cours et sont effacés uniquement lorsque cette condition est résolue. Les bits de type « événement » sont définis par un événement et demeurent définis jusqu'à ce que le client écrive dans le registre, efface le bit comme un moyen d'acquitter l'événement. Il est suggéré d'utiliser la fonction MODBUS 0x16 (Masquer un registre d'écriture). Gardez à l'esprit qu'un bit « événement » ne représente l'historique de l'appareil que depuis la dernière fois qu'il a été effacé.

Certains événements sont normaux et nécessitent simplement une confirmation pour les effacer. Ces bits sont appelés des « bits de confirmation d'événement ». D'autres événements nécessitent une intervention, qui est activée lorsque vous effacez le bit. Ces bits sont appelés des « bits de nouvelle tentative d'événement ».

Table des bits d'état des appareils :

Bit Type Description
0 Confirmation d'événement Arrêt suivi d'un rallumage détecté (événement de mise sous tension).
1 État La configuration des communications n'est pas synchronisée avec la sonde.
2   Réservé
3   Réservé
4   Réservé
5   Réservé
6   Réservé
7 État Tests BIT en cours - quelques registres ne sont pas disponibles
8-15   Réservé

 

4.5.2 Tests de diagnostic

Les diagnostics sont effectués sur l'enregistreur AquaVent en écrivant toutes les valeurs non nulles dans les registres « Vecteur des tests de la sonde ». Les bits qui sont définis dans les registres « Vecteur des tests de la sonde » déterminent quelles routines seront exécutées. À la fin, les résultats seront disponibles pour la lecture dans les registres « Résultat des tests de la sonde » où les mêmes positions de bits sont utilisées, et où un bit défini indique un test qui a échoué, tandis qu'un bit effacé indique que le test n'a pas été sélectionné ou qu'il a réussi.

REMARQUE :

Au cours de ces tests, l'enregistreur AquaVent n'est pas disponible pour d'autres fonctions.

Certains de ces tests prennent un certain temps à traiter et, tant qu'ils ne sont pas terminés, toute demande MODBUS impliquant l'enregistreur AquaVent génère une réponse d'exception MODBUS portant le code 1, « Fonction interdite ». Pour éviter cette incertitude, vous pouvez interroger le registre « État de l'appareil » et attendre que le bit « Attente de la finalisation des tests de diagnostic des enregistreurs » soit effacé.

Table des bits Vecteur des tests de la sonde et Résultat des tests de la sonde :

Bit Description du test
0 Test de tension des piles (bit 0). La tension d'une batterie A/D externe sera utilisée pour générer une alimentation électrique lorsque la tension est inférieure à 3,1 V.
1 Test de la somme de contrôle FLASH de programmation (bit 1). La somme de contrôle calculée de la mémoire de programmation est comparée à une somme de contrôle de 4 octets stockée dans la mémoire FLASH.
2 Test de la somme de contrôle FLASH des informations (bit 2). La somme de contrôle calculée de la mémoire des informations est comparée à une somme de contrôle de 2 octets stockée dans la mémoire FLASH.
3 Test de la FRAM (bit 3). Nous allons lire/écrire différents schémas de test dans l'ensemble de la mémoire FRAM. Toutes les données dans la FRAM sont préservées. LTCG teste seulement certaines parties de la FRAM.
4 Test 1 de la mémoire d'enregistrement (bit 4). Des blocs d'octets sont écrits/vérifiés de manière non destructive pour le premier segment de 512 octets de chaque page de mémoire d'enregistrement de 4 096 octets pour l'appareil de mémoire basse.
5 Test 2 de la mémoire d'enregistrement (bit 5). Comme 5) sauf que l'appareil de mémoire haute est testé.
6 Test du capteur de température (bit 6). La valeur A/D brute du capteur de température est lue. Si ce relevé se trouve entre 740000H et E50000H, le test est réussi.
7 Test du capteur de pression (bit 7). La valeur A/D brute du capteur de pression est lue. Si ce relevé se trouve entre 810000H et B000000H, le test est réussi.
8 Test complet de la mémoire d'enregistrement (bit 8). Des blocs d'octets sont écrits/ vérifiés de manière non destructive pour l'ensemble de la plage de mémoire d'enregistrement. Un test de mémoire complet de tous les octets prend généralement environ 5 à 10 secondes (selon la quantité de mémoire d'enregistrement installée).
9 Réservé
10 Test de la somme de contrôle FLASH du bootloader (bit 10). La somme de contrôle calculée de la mémoire du bootloader est comparée à une somme de contrôle de 4 octets stockée dans la mémoire FLASH.
11 Test de détection de fuite (bit 11). Ce bit est défini si une fuite d'eau a été détectée.
12-31 Les bits 12 à 31 sont réservés pour une utilisation future. Ils doivent être mis à « 0 ».

 

4.5.3 Codes des réponses d'exception

Les codes d'exception MODBUS pris en charge sont :

Code Nom Commentaires
Codes standard
0x01 Fonction interdite Code de fonction MODBUS non pris en charge
0x02 Adresse interdite La plage de registre demandée s'étend au-delà de la table des registres pris en charge
0x03 Valeur de données illégale La structure de demande n'est pas valable
0x04 à 0x05 Réservé  
0x06 Appareil esclave occupé La demande ne peut pas être traitée pour l'instant, mais devrait être disponible sous peu. Le client peut essayer à nouveau la demande plus tard.
0x07 à 0x0B Réservé  
Codes étendus Solinst
0x80 Incohérence sur le terrain L'adresse utilisée ne correspond pas au début d'un champ de registre valable ou le comptage d'octets ne correspond pas à la taille du type de données adressées.
0x81 Registre d'écriture seulement Tentative de lecture d'un registre d'écriture seulement
0x83 Réservé  
0x84 Valeur écrite Tentative d'écriture de données qui sont en dehors de la plage valable pour la variable adressée.
0x85 à 0xA4 Réservé  
0xB0 Sonde inconnue Le traducteur de la tête de puits ne reconnaît pas le type de sonde.
0xB1 Chaîne de caractères incorrecte Chaîne de caractères mal formée (Unicode/caractères incomplets/incorrects, terminaison/remplissage incorrect, etc.)
0xB2 Chaîne de caractères longue La chaîne est trop longue pour tenir de façon interne.
0xB3 Sonde expirée La réponse de bus Solinst a expiré
0xB4 CRC mauvaise sonde au retour Erreur de contrôle de redondance cyclique (CRC) du bus Solinst reçue à la tête de puits.
0xB5 CRC mauvaise sonde à l'envoi Erreur de contrôle de redondance cyclique (CRC) du bus Solinst reçue par la sonde (retourne un décalage de BCC de +7).
0xB6 Exception de la sonde Autre anomalie de la sonde Solinst (la sonde retourne un décalage de BCC de +56).

 

obtenez un devis