Brevet FR2633797A1 — publié le 19900105

PROCEDE ET DISPOSITIF POUR LE RELEVE, A DISTANCE A UN INSTANT PREVU DE COMPTEURS L'invention a pour objet un procédé et un dispositif pour la transmission des index de compteurs ou d'autres informations chiffrées dans lequel on transmet les données à un ordinateur central par une ligne téléphonique à un instant prédéterminé et dans lequel on mémorise parallèlement les données à transmettre. On connaît de tels dispositifs qui ont pour inconvénient de nécessiter l'installation d'une ligne téléphonique particulière pour chaque ensemble de compteur situé chez un meme dient. D'autre part, les systèmes de transmission utilisés sont onéreux si on désire une bonne fiabilité car ils utilisent des protocoles complexes. L'invention a pour objet un système fiable et peu onéreux. Selon l'invention, le procédé est caractérisé en ce qu'on utilise le système DTMF (Dual Tone Multifrequencies) pour la transmission de I'information et en ce qu'on utilise la ligne téléphonique habituelle du client d'une manière automatique à une date et à un instant prédéterminés pour appeler l'ordinateur central. Le procédé est également caractérisé en ce que l'ordinateur central peut aussi appeler les données des index en me moire. Le dispositif correspondant est caractérisé en ce qu'il comprend, à partir des index des compteurs à relever, un microcontrôleur qui interroge périodiquement les capteurs indiquant les modifications d'index, délivre à des dates et instants préprogrammables un message à un décodeur qui transmet les index et les adresses par la ligne téléphonique du client vers l'ordinateur central qui décode ces informations pour les enregistrer dans ses mémoires et reçoit de l'ordinateur central, par un décodeur raccordé au microcontrôleur des instructions relatives notamment à la date et l'instant de la prochaine relève sous forme d'un temps à décompter. DESCRIPTION DETAILLEE DU SYSTEME I - Capteur de comptage : Le système le plus simple adaptable aux compteurs possédant une minuterie à rouleaux consiste à coller un aimant à l'intérieur d'un rouleau et un contact Reed enrobé dans la minuterie de telle sorte qu'au passage de l'aimant le contact se ferme. Pour un tour complet du rouleau soit N unités de comptage (N = 1 ou 10X ou I 10X) le contact Reed passe par deux états l'un ouvert, L'autre fermé. L'index du compteur est recopié en RAM de la manière suivante - Le micro-contrôleur pour le comptage de rang i émet une impulsion positive sur la broche reliée au capteur T. et examine la broche RC où aboutissent les retours de tous les comptages. Si le contact est fermé l'impulsion émise sur T. se retrouve sur la broche RC. - Après avoir reconnu l'état O ou F du contact Reed le microcontrôleur examine l'état de l'indicateur Ei relatif au compteur i placé en RAM. Si le contact est ouvert ou E. = O alors E. reste = O ou E. = 1 alors E. redescend à O Si le contact est fermé ou E. = 1 alors E. reste = i ou E. = O alors Ei monte à 1 et l'index li est incrémenté. I I Tout autre système de capteur d'unité de comptage peut être adapté pour revenir au schéma prédécent. 2 - Déclenchement des Appels Robots - Serveur 2.1. Le module de base est conçu de telle sorte que cist le robot qui à l'initiative de l'appel du serveur, à une date, à un moment, programmé à la seconde prés lors de la précédente liaison Robot - serveur (Vacation). Il est -prévu, pour éviter le chevauchement des appels un large espacement de la programmation des appels de 30 secondes pour une vacation de 10 à 15 secondes autorisant deux vacations par minute soit prés de 1 000 relevés en une nuit de 8 heures par serveur. Ce large écart entre les appels est calculé en fonction de la dérive probable des oscillateurs à quartz des modules. Ceux-ci pouvant être installés en plein air même avec un quartz de précision l'influence des variations de températures est consé quente. Les Robots-Releve sont normalement raccordés à la ligne télé phonique privée du client chez qui ils sont installés. Les vacations s'effectuent pour autant que la ligne soit libre à une heure pro grammée de telle sorte que la probabilité d'utilisation à cet instant de la ligne par le client soit négligeabie (généralement la nuit). L'instant où la prochaine vacation doit se produire (à la seconde prés) est calculé par le serveur qui peut rectifier la dérive des quartz du fait de la température. Le serveur émet simplement le nombre de secondes qui doit séparer la fin de la vacation en cours de la prochaine vacation. Ce nombre fonctionne en "sablier" ; il est décrémenté à chaque réveil du micro-contrôleur. Lorsque le sablier est vide, un indicateur est placé en RAM. Lorsque, au cours du programme, cet indicateur est lu, le pro cessus vacation est déclenché. Par ailleurs, une broche "Appel d'urgence" est testée à chaque réveil du micro-contrôleur. Lorsque cette broche est à + 1 un indicateur d'état est placé en RAM déclenchant la seconde sui vante le programme Vacation. 2.2. Les Robots-Relève peuvent également être installés sur une ligne possédant un numéro d'appel particulier leur permettant d'être appelés directement par le serveur. Pour ce faire, un appel du serveur de 1 seconde déclenche, par le courant de sonnerie, un appel d'urgence qui à son tour déclenche la vacation dès le raccroché du serveur. Ce montage permet de rendre d'une manière simple le module "Retournable". 2.3. Tous les modules enfin peuvent fonctionner en "Manuel". Un bou ton poussoir installé sur le coffret déclenche un appel d'urgence. Celle-ci initialise une vacation. 3 - Fonctionnement des Robots Releve. Chaque module comprend essentiellement Un interface télécom, Un codeur DTMF et un décodeur DTMF, Un micro-contrôleur, Un oscillateur de précision. Les deux derniers composants sont en permanence sous tension. L'oscillateur active chaque seconde le micro-contrôleur. Ce dernier lors de chaque réveil examine les indicateurs précédemment placés en RAM pour connaitre l'opération à accomplir. Le micro-contrôleur en dehors des vacations teste les capteurs placés sur les compteurs auquel il est raccordé. En période vacation, il active l'interface télécom. Le raccordement de l'interface met sous tension cette dernière et le système codeur-décodeur DTMF l'ensemble restant alimenté pendant toute la vacation par le courant du réseau téléphonique. Ces deux derniers CI reliés par un bus données 4 bits au micro-contrôleur permettent le dialogue serveur-robot en code hexadécimal. Les 6 lettres de ce code sont utilisées pour des instructions ou des adresses. Programme du micrFcontrôleur: Partant d'un état de veille le microcontrôleur est réactivé chaque seconde par une impulsion délivrée par l'oscillateur de précision décomptant le temps écoulé. Le micro-contrôleur effectue à la suite les contôles suivants Examen des broches et mise en mémoire d'indicateur S - Initialisation si + I programme Initialisation - Appel d'urgence si + 1 faire S2 = 1 - Test ligne si + 1 faire 53 = 1 - Arrivée de données si + 1 faire Sg I Examen des indicateurs en mémoire (RAM) Si 5i + 1 - programme sablier ~ S2 si + I - programme demande de ligne - 53 Si + 1 - programme appel du serveur - 54 si + 1 - programme dialogue - S si + l - programme comptage Les différents programmes se déroulent suivant ltétat des indicateurs en mémoire. Programme Initialisation : Un appareil à piles raccordé aux circuits intérieurs du module par une prise spécialement adaptée permet . - De mettre à + 1 la broche initialisation - De mettre à zéro les mémoires (RAM) du micro-contrôleur - D'entrer en RAM à leur adresse, chiffre par chiffre, les nombres suivants N du module, n téléphonique du serveur, index et valeur N. Puis l'indicateur S1 est mis à + 1 autorisant ainsi le déroulement des autres programmes Programme Sablier : Il est déclenché par Si = 1 I. Ce programme décrémente les nombres sablier et N en RAM. Si le solde de N est égal à zéro Sg est mis à + 1. Si le solde du nombre sablier est à zéro S2 est mis à 1 et S1 à zéro. Programme Demande de ligne : Il est déclenché par S2 = 1 Une sortie du micro-contrôleur "Demande de ligne" est mise à + 1 ; elle valide le circuit électronique vérifiant l'absence de communication sur la ligne. Si la réponse est positive la broche "Test ligne" monte à 1. Ce qui implique que S3 sera mis à 1. Sg est mis à 1. Programme Appel du Serveur: 11 est déclenché par S3 = 1. S2 est mis à zéro. La broche "Prise de ligne" est mise à + 1. Une broche du micro-contrôleur émet n impulsions qui coupent n fois la ligne pour chaque chiffre du numéro d'appel du serveur. Le nombre n est égal à la valeur du chiffre du numéro téléphonique en cause sauf si ce chiffre est 0 auquel cas n = 10. Les temps de coupure de ligne, de maintien entre les coupures d'un chiffre entre chaque chiffre sont conformes aux règles du service des télécommunications du pays en cause. S3 est mis à zéro et S5 à 1. Un compteur de temps écoulé (chien de garde) est mis en fonctionnement. Programme Dialogue: Si le serveur décroche et répond au module en lui adressant une instruction, la broche "Arrivée de donnée" monte à + I et l'indicateur S4 est monté à I en RAM. Ce programme constate la valeur de cet indicateur lorsque le temps précédemment prévu (1 à quelques secondes) est écoulé. - Si 54 = O la ligne est rendue par la broche prise de ligne qui redescend à zéro. - Si S4 = I le microprocesseur examine la donnée présente sur le bus. Il s'agit de lettres définissant un code opération - Le premier code ordonne au module d'émettre les valeurs suivantes contenues en mémoire Numéro du module, index des comptages est mis à I et un compteur de temps écoulé est à nouveau armé - Le second code précède un nombre de 8 chiffres au maximum indiquant le nombre de secondes au bout desquelles une vacation devra être déclenchée (sablier). Après réception des 8 chiffres le module réémet cette valeur sablier vers le serveur puis S5 est mis à 1 et un compteur de temps écoulé est armé. - Le troisième code ordonne la clôture de la vacation. est mis à 1, S4 est redescendu à zéro ainsi que la broche "Prise de ligne". Programme comptage : Il est déclenché par la lecture de Sg = 1. Pour chaque capteur de compteur raccordé au module le micro-contrôleur monte à 1 l'entrée du capteur et lit le retour commun. L'index de ce compteur est incrémenté comme précédemment indiqué au paragraphe capteur de comptage. Après lecture de tous les comptages le micro-contrôleur se met en veille après avoir fait S5 = O et autorisé les interruptions. Observations: Il est à noter que la lecture des comptages s'effectue en un temps de l'ordre de quelques millisecondes. Le microprocesseur est ainsi actif pour une fraction de temps nettement inférieur au 1/100. Lors d'une vacation, le programme se déroule de telle sorte que plusieurs programmes "comptages" s'intercalent durant l'échange d'informations module-serveur. Le système de transmission à fréquences vocales permet un débit de l'ordre de 10 chiffres à la seconde. Pour 10 comptages l'émission de ces index dure 8 secondes environ ; il n'y aura pas de "comptage" pendant ces 8 secondes. Si ce temps semble trop long, il est facile de modifier le programme dialogue. Un premier code obligera le module à émettre son numéro plus un certain nombre d'index de 8 chiffres. Un second code obligera l'émission des autres index. Par ailleurs, il est possible dans ce même esprit de prévoir a distance la modification du numéro d'appel 8 chiffres du poste serveur. Nous disposons pour les codes utilisables dans le programme dialogue d'une manière très simple de 6 codes soit les 6 lettres A B C D E F. Un code est réservé à l'envoi du nombre sablier, un autre à l'ordre fin de vacation, il reste 4 codes pour émettre ou modifier les valeurs en mémoires. Il est enfin remarquable que le programme dialogue, simple, assure cependant toute la fiabilité voulue car le serveur peut réémettre tel code dont il n'aurait pas compris le retour d'émission. Le module peut être relu autant de fois que voulu par le serveur et stil y a problème ou manque de temps le serveur peut simplement émettre une valeur sablier faible plus le code FIN de telle sorte que le lendemain une nouvelle vacations se produise. Le système conçu est d'une grande souplesse et permet beaucoup de variante d'utilisation. Programme du serveur : Le serveur est à l'écoute en permanence où pendant les périodes prévues pour les vacations suivant le système choisi et notamment si les appels d'urgence sont retenues. Le serveur est raccordé à Une ligne dont le numéro est en mémoire dans les modules. Cette ligne peut être utilisée par le serveur, et une autre personne, à condition qu'il y ait décroché à chaque appel La plaquette électronique des serveur est identique à celle des modules à l'exception du micro-contrôleur. Ce dernier est remplacé par une carte d'acquisition de donnée reliée soit à un micro-ordinateur soit à un ordinateur plus puissant existant dans le service chargé de l'utilisation des relevés des compteurs. Sc;ma 3. A chaque appel le courant de sonnerie permet la fermeture d'un relais qui prend la ligne téléphonique et active l'ordinateur. Ce dernier émet une lettre, code reconnu par le robot pour engager le programme dialogue du module qui adresse en premier lieu le numéro du robot. Ce numéro comprend en tête de message une lettre du code hexadécimal. Si I'ordinateur ne reconnaît pas ce code c'est qu'il ne s'agit pas d'un module, il "raccroche", stil reconnaît le code, il enregistre le numéro du module. Ce numéro est caractéristique de la seconde où il doit appeler et il précise le nombre d'index 8 chiffres qu'il a à transmettre. L'ordinateur a ainsi tout moyen de contrôle à sa disposition pour gérer convenablement la vacation suivant un programme préétablit. Il met les index reçus en mémoire avec le numéro du module, I'heure précise de vacation. Après émission du nombre de sablier, et émission du code FIN l'ordinateur se remet en veille. REVENDICATIONS 1 - Procédé pour la transmission des index de compteurs de gaz ou d'électricité et autres dans lequel on transmet les données à un ordinateur central par une ligne téléphonique et dans lequel on mémorise préalablement les données à transmettre, caractérisé en ce qu'on utilise le système DTMF pour la transmission de l'information et en ce que la ligne utilisée est la ligne téléphonique habituelle du client sur laquelle on se raccorde automatiquement à des dates et instants prédéterminés. 2 - Procédé selon la Revendication I caractérisé en ce que l'ordinateur central peut appeler selon un processus connu et se faire répondre et recevoir les données délivrées par les index des comptages. 3 - Dispositif selon les Revendications 1 et 2 comprenant des index de compteurs à relever caractérisé en ce qu'il comporte un microcontrôleur qui interroge périodiquement les capteurs donnant les modifications des index, délivre à des dates et instants prédéterminés un message relatif à son adresse et la situation des index, et reçoit de l'ordinateur central la date et l'instant de la prochaine relève sous forme d'un nombre de secondes à décompter. - Un codeur reçoit les informations du microcontrôleur sous la forme d'un signal à double fréquence vocale (DTMF) pour les transmettre par la ligne téléphonique du client vers l'ordinateur central où ces informations sont décodées et enregistrées dans ses mémoires. - Un décodeur DTMF raccordé au mîcrocontrôleur reçoit les signaux émis par l'ordinateur central.