5.0 Commandes SDI-12 prises en charge

Veuillez consulter le document : SDI-12 : A Serial Digital Interface Standard for Microprocessor-Based Sensors, Version 1.3 du 18 juillet 2005, préparée par le Groupe de soutien du protocole SDI-12 (Comité technique), pour une description complète du protocole SDI-12. (http://www.sdi-12.org/).

Les commandes suivantes sont prises en charge :

REMARQUE :

Dans toutes les commandes SDI-12 décrites ci-dessous, « a » = l'adresse SDI-12 affectée à l'appareil AquaVent.

 

5.1 Commande Activer validation : a!

Cette commande permet de s'assurer qu'un AquaVent répond au SDI-12 maître. Une commande/réponse typique est : 0!0<CR><LF> où les « 0 » représentent l'adresse de l'appareil SDI-12 AquaVent, <CR> représente un retour chariot (Hex 0D) et <LF> représente un saut de ligne (Hex 0A). Toutes les réponses d'un AquaVent sont terminées par <CR><LF>. Toutes les commandes du SDI- 12 maîtres sont terminées par un point d'exclamation « ! ».

 

5.2 Commande Demande d'adresse de capteur : ?!

L'utilisation d'un point d'interrogation « ? » comme caractère d'adresse force l'AquaVent à répondre avec la commande Activer validation « a! » où le « a » représente l'adresse de l'AquaVent. Une commande/réponse typique est : ?!0<CR><LF>. Les caractères gras sont envoyés à l'AquaVent ; les caractères normaux correspondent à la réponse de l'AquaVent. Dans ce cas, l'adresse de l'AquaVent est « 0 ». Cette commande permet de déterminer l'adresse de l'AquaVent, si c'est le seul enregistreur connecté sur le réseau SDI-12.

 

5.3 Commande Envoyer l'identification : aI!

Cette commande est utilisée pour interroger des enregistreurs AquaVent et leur demander leur niveau de compatibilité SDI-12, leur numéro de modèle et leur numéro de version (microprogramme). Une commande/réponse typique est : 0I! 013SOLINST M20 10 1.000 1017687<CR><LF> où le premier « 0 » représente l'adresse de l'AquaVent, « 13 » représente la prise en charge du protocole SDI-12 V1.3, « SOLINST » identifie le fabricant de l'AquaVent, « M20 » définit le numéro de modèle de l'enregistreur AquaVent, « 10 » est l'identifiant du matériel, « 1.000 » indique la version du capteur (microprogramme) et « 1017687 » représente le numéro de série de l'enregistreur AquaVent.

 

5.4 Commande Modifier l'adresse du capteur : aAb!

Cette commande N'EST PAS prise en charge par le système Solinst AquaVent (voir Section 3.1).

 

5.5 Commande Démarrer les mesures : aM!

Cette commande demande à l'AquaVent d'effectuer une mesure. Toutefois, le relevé n'est pas retourné après cette commande. Au lieu de cela, la réponse indique l'heure et le nombre de mesures qui peuvent être attendues. Par exemple : 0M!00102<CR><LF> où le premier « 0 » représente l'adresse de l'AquaVent, les trois chiffres suivants « 010 » représentent le temps (en secondes) nécessaire à l'AquaVent pour prendre des mesures, tandis que le dernier « 2 » indique le nombre de relevés retournées. Le Solinst AquaVent retourne une mesure de température et de niveau qui sont toujours disponibles pour être lues après l'heure indiquée, après que le SDI-12 maître puisse émettre la commande Envoyer les données 0D0! pour récupérer les informations. D'autres commandes de démarrage des mesures, telles que aM1 à aM9, sont réservées pour une utilisation future.

 

5.6 Commande Démarrer les mesures et demander une somme de contrôle : aMC!

REMARQUE :

La somme de contrôle est une forme de test redondant utilisée pour vérifier s'il existe une erreur dans les données.

Cette commande est identique à la commande aM!, à la différence qu'une somme de contrôle à trois caractères est renvoyée avant <CR><LF> dans la réponse à la commande Envoyer les données. Les commandes aMC1 à aMC9 sont réservées pour une utilisation future.

 

5.7 Commande Envoyer les données : aD0!

Cette commande permet de récupérer des groupes de données de l'AquaVent. Une commande aD0! est émise par le maître après une commande M, MC, C, CC ou V. L'AquaVent répond en envoyant les données. Pour un Solinst AquaVent, cela comprend actuellement deux données : la mesure de la température et la mesure du niveau. Une commande/réponse typique est :

REMARQUE :

Lorsque l'AquaVent est en mode SDI-12, les unités actuellement utilisées ne sont pas rapportées au SDI-12 maître ; il est toutefois possible de changer les unités de niveau en utilisant le logiciel Solinst Levelogger pour PC (voir Section 3.1).

0D0!0+24.2981+0.35212<CR><LF> où la température est la "«+24.2981 », exprimée en degrés Celsius, et le niveau est « +0.35212 » exprimé en mètres. Il est possible de changer l'unité de mesure du niveau à l'aide du logiciel Levelogger, mais les unités actuellement utilisées ne sont pas rapportées tandis que l'AquaVent est en mode SDI-12.

En réponse à une demande de somme de contrôle (c.-à-d. MC, CC), la commande/ réponse est : 0D0!0+24.2981+0.35212MQ_<CR><LF> où la température est indiquée en premier, suivie du niveau, et « MQ_ » est la somme de contrôle. Reportez-vous aux caractéristiques spécifiques SDI-12 pour plus de détails sur la génération des sommes de contrôle. Dans le cas des commandes M et C, si une mesure ne peut pas être obtenue, la commande D renvoie 0000<CR><LF> pour indiquer que la mesure n'a pas pu être obtenue. Les commandes aD1 à aD9 sont réservées pour une utilisation future.

 

5.8 Commencer des mesures simultanées : aC!

Cette commande est similaire à la commande Démarrer les mesures, sauf que des mesures simultanées sont effectuées. Comme la Commande Démarrer les mesures, une commande Envoyer les données est nécessaire pour récupérer les données. Par exemple : 0C!000302<CR><LF>. La réponse indique que deux mesures (température et pression) sont disponibles après 3 secondes. Une commande 0D0! est ensuite émise pour lire ces valeurs de l'AquaVent. Les commandes aC1 à aC9 sont réservées pour une utilisation future.

 

5.9 Commande Démarrer les mesures simultanées et demander une somme de contrôle : aCC!

Cette commande est similaire à la commande Démarrer les mesures simultanées avec l'ajout d'une somme de contrôle. Par exemple : 0CC!000302<CR><LF> répondrait alors, après 3 secondes, à la commande aD0! comme suit :

0D0!0+24.6038+0.34513L<DEL>j<CR><LF>. Où « L<DEL>j » est la somme de contrôle pour les deux valeurs de mesure « +24.6038 » et « 0.34513 ». Les commandes aCC1 à aCC9 sont réservées pour une utilisation future.

 

5.10 Commande Procéder au test du système : aV!

Cette commande demande à la tête de puits SPX Wellhead de retourner un code de vérification (autodiagnostic) en réponse à une commande aD0! subséquente. Dans ce cas, la SPX Wellhead renvoie un temps non nul parce que l'autodiagnostic vérifie toutes les sommes de contrôle internes de la mémoire et ces opérations prennent environ 13 secondes. Une session typique apparaît comme suit :

0V!00131<CR><LF> indique qu'une lecture d'état sera prête dans environ 13 secondes.

0<CR><LF> est une demande de service auprès de la SPX Wellhead dans les 13 secondes, pour indiquer que les opérations BIT sont terminées et que le code de vérification est disponible.

0D0!0+000 est la commande Envoyer les données émises par le SDI-12 maître pour obtenir le code de vérification BIT « +000 » qui indique qu'aucune anomalie n'a été détectée. Les divers codes d'anomalie sont indiqués dans le Table 5-1. Toutes les représentations décimales des anomalies individuelles sont additionnées pour obtenir le code de vérification BIT. Un peu bit inclus dans une certaine position de bit signifie le test correspondant a échoué.

 

Position du bit de code Représentation décimale Signification du test
0 1 Lecture/écriture enregistreur AquaVent
1 2 SPX Wellhead Test de la mémoire FRAM
2 4 SPX Wellhead Test de la somme de contrôle de la mémoire FRAM
3 8 S.O.
4 16 S.O.
5 32 S.O.
6 64 S.O.
7 128 S.O.

Tableau 5-1 : Codes d'anomalie de vérification BIT

 

obtenez un devis