Chapitre 10. Instructions Pour Communiquer D'une Centrale De Mesure - Campbell Scientific CR200 Série Manuel D'utilisation

Masquer les pouces Voir aussi pour CR200 Série:
Table des Matières

Publicité

Chapitre 10. Instructions pour communiquer d'une centrale de
mesure à : une autre centrale / une radio / un
capteur déporté
'Exemple de programme pour capteur sans fil sur une CR200
Const MT = 20 'Temps de mesure (secs) du SDI-12; ici cela prend 20 secondes
Const Port = 0
Const RouterAddr = 1
Const HostAddr = 1
Const NumVals = 8
Const Security = 0
Const NumControl = 4
Public Measurements(NumVals)
Public Control(NumControl)
Begin Prog
Scan(1, sec)
If TimeUntilTransmit(Port) = MT then
Endif
If TimeUntilTransmit(Port) = 0 then
Endif
Next Scan
End Prog
La CR200 est souvent utilisée en tant qu'interface pour capteur déporté, pour
une centrale d'acquisition « Hôte ». Généralement, la centrale de mesure
Hôte et les capteurs (CR200) auront des programmes qui permettront aux
capteurs de fonctionner avec un minimum de consommation électrique
(110 µa). Ces programmes synchronisent les capteurs CR200 afin qu'ils
reportent les données à des intervalles de temps spécifiés.
Pour des applications qui demandent des communications plus fréquentes,
l'instruction de récupération de la variable (get/set variable) dans la centrale
d'acquisition hôte, peut être utilisée avec un capteur CR200 qui est configuré
pour une consommation en courant plus importante (250-µa pour une
réponse toutes les 8 Secondes ; 20-ma pour une réponse toutes les secondes).
Dans le mode synchronisé demandant le moins d'alimentation, la CR200
initie toujours la communication. A l'exception du moment où la centrale sort
de l'état de veille pour émettre, sa radio est éteinte et ne consomme pas de
courant. La radio de la centrale de mesure hôte sera en mode entièrement
actif durant la période où elle attend une communication en provenance du
capteur, prête à recevoir et à répondre instantanément.
Exemple de programme de faible consommation pour capteur / contrôleur :
'Envoi des données vers : 0 = Radio, 1 = RS-232
'Adresse PakBus d'un router, ici c'est la même adresse que l'hôte
'Adresse PakBus de la centrale de mesure hôte
'8 mesures
'utiliser une valeur différente de zéro si l'hôte a un code de sécurité qui est activé
SendGetData(Control(),Measurements(),Port,RouterAddr,HostAddr,Security)
TimeUntilTransmit(port) est une fonction qui donne comme résultat le
nombre de secondes avant que ce soit le moment pour communiquer. Elle
utilisera les informations reçues par la centrale de mesure afin de déterminer
le temps qu'il reste avant la prochaine tentative de communication (via le
marqueur de temps, time slot).
SendGetData(..) permettra d'envoyer une ligne de données vers la centrale
de mesure hôte et de recevoir de cette centrale un marqueur de temps, une
configuration de l'heure, et en option une ligne de données provenant de la
centrale hôte. La ligne de donnée en entrée, en sortie ou bien les deux,
peuvent être mises à la valeur « 0 », ce qui implique que le flux de données
dans la direction associée, soit annulé.
'Valeurs du capteur, à envoyer
'Valeurs de contrôle renvoyées par l'hôte
'Si c'est le moment pour effectuer les 'mesures de
'début, les mesures applicables qui prennent MT
'secondes, sont insérées ici
'c'est le moment pour communiquer

Publicité

Table des Matières
loading

Table des Matières