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 | Evénement -Ack. | 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 la tension de la batterie (Bit 0). La tension de la batterie de l'A/D externe sera utilisée pour générer un défaut d'alimentation chaque fois que la tension est inférieure à 3,1V. |
1 | Programmez le test de somme de contrôle FLASH (Bit 1). La mémoire du programme calculée La somme de contrôle est comparée à une somme de contrôle de 4 octets stockée dans FLASH. |
2 | Information Test de somme de contrôle FLASH (Bit 2). La mémoire d'informations calculée La somme de contrôle est comparée à une somme de contrôle de 2 octets stockée dans FLASH. |
3 | Test FRAM (bit 3). Nous allons lire/écrire divers modèles de test sur l'ensemble de la FRAM appareil. Toutes les données de la FRAM sont conservées. LTCG ne testera que des portions de le FRAM. |
4 | Journalisation du test de mémoire 1 (Bit 4). Les blocs d'octets sont non destructifs écrit/vérifié pour le premier segment de 512 octets de chaque journalisation de 4096 octets page de mémoire pour le périphérique à faible mémoire. |
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 brute A/D du capteur de pression est lue. Si ce la lecture est comprise entre 810000H et B000000H, le test passera. |
8 | Test de mémoire de journalisation complète (Bit 8). Les blocs d'octets sont non destructifs écrit/vérifié pour toute la plage de mémoire de journalisation. Un test de mémoire complet de tous octets prend généralement environ 5 à 10 secondes, selon la quantité de mémoire de journalisation installée. |
9 | Réservé |
10 | Test de somme de contrôle FLASH du bootloader (Bit 10). La mémoire du bootloader calculée La somme de contrôle est comparée à une somme de contrôle de 4 octets stockée dans FLASH. |
11- 31 | Les bits 11 à 31 sont réservés pour une utilisation future et doivent être mis à "0". |
4.5.3 Codes de réponse 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). |