Comment prévenir les ''Skipped scans'' et éviter un bon coup de soleil

par Jacob Davis | Mis à jour le : 06/17/2015 | Commentaires : 3

Les thèmes principaux du Blog


Recherche sur le Blog


Langages du blog

English
Français (French)


Abonnez-vous au Blog

Recevez un courriel lorsqu'un nouvel article est posté. Choisissez les sujets qui vous intéressent le plus.


Entrez votre adresse courriel :



Suggérer un article

Y a-t-il un sujet que vous souhaiteriez nous voir aborder ? Laissez-nous un message.

Leave this field empty

Grâce à la programmation, des mesures SDI-12 relativement lentes peuvent coexister, sans problèmes, aux côtés de mesures rapides. Pour illustrer cela je partagerai l'histoire des pires coups de soleil que je n'ai jamais eu.

Jacob Davis au Pérou

Le sud du Pérou se trouve près de l'océan Pacifique, mais il abrite l'endroit le plus sec de Terre. Dans ces déserts figurent parmi les plus grandes mines de cuivre du monde. Les mines ont besoin d'eau pour fonctionner, il est donc essentiel de surveiller de près l'approvisionnement en eau disponible. Le matériel Campbell Scientific est utilisé par les mines pour surveiller l'approvisionnement en eau ainsi que pour recueillir des données afin de respecter les normes environnementales.

J'ai fait un voyage dans le sud du Pérou pour offrir une formation et un support technique à non client pour une entreprise minière. Lors de mon dernier jour dans la région, je suis allé avec le client à une station météorologique sur un sommet des Andes avec une altitude supérieure à 3050 m. La vue et l'altitude étaient à la fois à couper le souffle. La station au sommet, cependant, émettait des ''skipped scans'' (des échantillons manquants), ce qui a entraîné des manques dans les mesures.

La station météo fonctionnait sur un intervalle d'échantillonnage d'1 seconde et avait un capteur de hauteur de neige SR50A connecté à elle. Lorsque tous les capteurs ont été connectés et que les choses fonctionnaient bien, la centrale de mesure a été capable de compléter toutes les mesures dans l'intervalle de 1 seconde. Le problème s'est manifesté lorsque le SR50A a été retiré pendant l'été. Lorsque le SR50A a été retiré, la centrale de mesure a passé du temps supplémentaire à réessayer la communication avec le capteur manquant. Cela signifiait que la centrale de mesure a pris plus d'une seconde pour compléter toutes ses tâches de mesure, et donc manquer des échantillonnages.

Il n'y avait rien de mal avec le matériel, et le problème pouvait être résolu avec une petite modification du programme de la centrale de mesure. J'ai retiré mon ordinateur portable, je me suis assis et j'ai commencé à modifier le programme du datalogger sur place.

C'est là que les coups de soleil se produisent. Le soleil était dans mon dos. Je portais une chemise à manches longues et un chapeau pour me protéger. Plus tôt dans la journée, j'avais appliqué un écran solaire. Cependant, le soleil est plus intense lorsque vous êtes près de l'équateur. En outre, en haute altitude, la lumière du soleil parcourt moins d'atmosphère, et une plus grande partie de la lumière ultraviolette est réfléchie à la surface. S'appuyant vers l'avant pour regarder l'écran de l'ordinateur portable, l'ombre de mon chapeau montait et laissait la base de mon cou exposée au soleil. Le dos de mes mains avait également une exposition directe au soleil.

Avec le programme fonctionnant parfaitement, plus tard ce jour-là, je me suis dirigé vers l'aéroport. Sur le chemin, j'ai commencé à ressentir les effets des coups de soleil. La base de mon cou et le dos de mes mains devenait rouge vif. Ils étaient rouges comme la couleur primaire. Mes mains ne brûlaient pas aussi fort que mon cou, car elles étaient occasionnellement ombrées par mon corps. Après quelques jours d'application de la lotion à la brûlure toutes les deux heures, j'ai pu dormir à nouveau la nuit. Mon cou est resté rouge pendant une autre semaine.

Comment utiliser le SDI-12 et des mesures rapides sans douleur

Pour éviter le même sort que moi, brûlé par le soleil, vous pouvez écrire de manière proactive vos programmes d'une manière, qu'il ne sautera pas les scans ou les échantillons. Il existe deux façons d'utiliser des capteurs SDI-12 à une vitesse plus lente que les autres mesures.

La façon la plus simple de le faire est d'utiliser la commande "C" SDI-12. La commande "C" est la commande simultanée et permet d'effectuer d'autres mesures pendant qu'une centrale d'acquisition de données attend la réponse du capteur. La centrale d'acquisition de données CR1000 dispose d'un système d'exploitation multitâche qui gère les communications SDI-12 en tant que tâche distincte de vos mesures analogiques. Tous les capteurs ne sont pas compatibles avec l'utilisation de la commande "C". Reportez-vous au manuel de votre capteur pour voir quelles commandes SDI-12 sont prises en charge.

Un exemple d'utilisation de la commande “C” :


'CR1000

'Declare Variables and Units
Public BattV
Public PTemp_C
Public AirTemp
Public SR50A(2)
Public TCDT
Public SnowDepth

Alias SR50A(1)=DT
Alias SR50A(2)=Q

Units BattV=Volts
Units PTemp_C=Deg C
Units AirTemp=Deg C

'Define Data Tables
DataTable(Hourly,True,-1)
	DataInterval(0,60,Min,10)
	Average(1,SnowDepth,FP2,False)
	Sample(1,AirTemp,FP2)
EndTable

DataTable(Daily,True,-1)
	DataInterval(0,1440,Min,10)
	Minimum(1,BattV,FP2,False,False)
EndTable

'Main Program
BeginProg
	'Main Scan
	Scan(1,Sec,1,0)
		'Default Datalogger Battery Voltage measurement 'BattV'
		Battery(BattV)
		'Default Wiring Panel Temperature measurement 'PTemp_C'
		PanelTemp(PTemp_C,_60Hz)
		'107 Temperature Probe measurement 'AirTemp'
		Therm107(AirTemp,1,1,1,0,_60Hz,1,0)
		'SR50A Sonic Ranging Sensor (SDI-12 Output) measurements 'DT', 'Q', 'TCDT', and 'SnowDepth'
		SDI12Recorder(SR50A(),7,"0","C1!",1,0)
		TCDT=DT*SQR((AirTemp+273.15)/273.15)
		SnowDepth=2.5-TCDT
		'Call Data Tables and Store Data
		CallTable Hourly
		CallTable Daily
	NextScan
EndProg

L'autre façon d'exécuter des mesures SDI-12 à un rythme plus lent est de placer toute les mesures SDI-12 dans une séquence lente (slow sequence). Une analyse dans une séquence lente se comporte comme votre échantillonnage principal, sauf qu'elle s'arrête chaque fois que la centrale d'acquisition de données est occupée avec l'échantillonnage principal. Le processus de mesure SDI-12 prend plusieurs mesures, et ces étapes seront divisées et programmées entre les échantillonnages principaux.

Un exemple de mesures SDI-12 dans une ''slow sequence'' :


'CR1000

'Declare Variables and Units
Public BattV
Public PTemp_C
Public AirTemp
Public SR50A(2)
Public TCDT
Public SnowDepth

Alias SR50A(1)=DT
Alias SR50A(2)=Q

Units BattV=Volts
Units PTemp_C=Deg C
Units AirTemp=Deg C

'Define Data Tables
DataTable(Hourly,True,-1)
	DataInterval(0,60,Min,10)
	Average(1,SnowDepth,FP2,False)
	Sample(1,AirTemp,FP2)
EndTable

DataTable(Daily,True,-1)
	DataInterval(0,1440,Min,10)
	Minimum(1,BattV,FP2,False,False)
EndTable

'Main Program
BeginProg
	'Main Scan
	Scan(1,Sec,1,0)
		'Default Datalogger Battery Voltage measurement 'BattV'
		Battery(BattV)
		'Default Wiring Panel Temperature measurement 'PTemp_C'
		PanelTemp(PTemp_C,_60Hz)
		'107 Temperature Probe measurement 'AirTemp'
		Therm107(AirTemp,1,1,1,0,_60Hz,1,0)

		'Call Data Tables and Store Data
		CallTable Hourly
		CallTable Daily
	NextScan
	SlowSequence
	Scan (5,Sec,3,0)
		'SR50A Sonic Ranging Sensor (SDI-12 Output) measurements 'DT', 'Q', 'TCDT', and 'SnowDepth'
		SDI12Recorder(SR50A(),7,"0","M1!",1,0)
		TCDT=DT*SQR((AirTemp+273.15)/273.15)
		SnowDepth=2.5-TCDT
	NextScan
EndProg

Je vous invite à revoir vos programmes existants pour les stations utilisant des capteurs SDI-12. Envisagez si ces programmes nécessitent des modifications pour tenir compte des retards potentiels causés par les tentatives de communication avec le SDI-12.

Recommandé pour vous : Pour des conseils techniques afin de configurer un capteur SDI-12, visualisez la vidéo Mode Transparent et notre vidéo sur le mode ''sniffeur''.

Avant d'installer votre système de mesure, pensez à tout dans votre programme avec un ou des capteurs SDI-12 afin de ne pas devenir rouge comme une écrevisse :-) !

Jacob Davis au Pérou avec un casque


Partagez cet article



A propos de l'auteur

jacob davis Jacob Davis est un ingénieur qui s'occupe du support technique à la clientèle et de la mise en œuvre chez Campbell Scientific, Inc. Il fournit un soutien technique aux clients et aide à l'intégration des systèmes. Ses spécialités comprennent les communications séries et la programmation avancée des centrales de meure. Jacob possède une maîtrise en hydrologie et a travaillé sur de grands projets d'irrigation avant de venir chez Campbell Scientific, Inc.

Voir tous les articles de cet auteur.


Commentaires

JDavis | 09/01/2015 at 08:50 AM

Anything that makes the scan take more than the scheduled interval can cause skipped scans. The Status table has MeasureTime, ProcessTime, and MaxProcTime values that indicate how much time the scan actually takes. There is also a special InstructionTimes instruction that can be added to a program to narrow down what is using up time.

KH | 09/07/2015 at 05:05 PM

Hi Jacob,

Very good advice. Thank you. Can you explain what the C and R command differ each other? Do they require different time to get data from same SDI device? If yes, which one needs shorter second?

Best Regards

KH Hong 

JDavis | 09/08/2015 at 08:34 AM

In SDI-12, the R command is continuous mode. Sensors that support it will continually run, updating the measurement result internally. The R command just retrieves the result.

The C command is for concurrent mode. Concurrent mode allows multiple sensors on the same channel to be performing their measurement sequence at the same time. The CR800, CR1000, CR3000, and CR6 handle the C mode a special way. These dataloggers will send the C command to the sensor and retrieve the result on a following scan. The measurement might lag a scan behind the other measurements, but the datalogger won't be delayed. For more information about this behavior, refer to the help for SDI12Recorder in the CRBasic help.

Please log in or register to comment.