FR 2563569 A1 19851031 FR 8501955 A 19850212 La présente invention concerne des procédés et des dispositifs pour contrUler le fonctionnement d'instal- lations de pompage de puits à tiges d'aspiration, et elle porte plus particulièrement sur des procédés et des dispc- sitifs pour détecter l'existence d'anomalies dans des puits employant des installations de pompage à tiges d'as- piration. On utilise couramment des ir.stallations de pom- page du type à tiges d'aspiration dans l'industrie pétro- lière pour récupérer un fluide dans des puits s'étendant dans des formations souterraines. De telles installations comprennent un train de tiges d'aspiration qui s'étend à l'intérieur du puits, et des moyens situés à la surface et destinés à communiquer un mouvement ascendant et descen- dant au train de tiges afin d'actionner une pompe située au fond du puits. Les installations de pompage du type "pompe à balancier" sont caractéristiques de telles instal- lations et comportent un train de tiges d'aspiration sus- pendu, à la surface du puits, à une structure consistant en un bâti de support et en un balancier monté de façon pi- votante sur le bâti de support. Le train de tiges d'aspi- ration est normalement accouplé à une extrémité du balan- cier et l'autre extrémité du balancier est accouplée à une source d'énergie mécanique telle qu'un moteur, par l'inter- médiaire d'une barre d'égalisation appropriée reliée à un accouplement à bielle et manivelle. Dans cette configura- tion, la source d'énergie mécanique entraîne le balancier et le train de tiges d'aspiration en leur communiquant un mouvement alternatif. Divers défauts de fonctionnement, comme des pom- pes usées, des tiges d'aspiration cassées, un tubage fendu et des clapetsde pompe bloqués, peuvent interrompre le pom- page du fluide à partir d'un puits. De tels défauts de fonc- tionnement peuvent être produits par l'usure et la fatigue normalesde l'équipement ou par la nature du fluide qui est pompé, ou bien ils peuvent résulter de conditions de pompa- ge anormales. Une condition de pompage anormale qui est assez courante est ce qu'on appelle le "cognement sur le fluide". Le cognement sur le fluide se produit lorsque le pompage "épuise" le puits, c'est-à-dire lorsque le fluide est ex- trait du puits à une vitesse supérieure à la vitesse à la- quelle le fluide entre dans le puits-à partir de la forma- tion. Lorsque ceci se produit, le cylindre de travail de la pompe située au fond ne se remplit que partiellement pendant une course ascendante du piston, et pendant la course descendante le piston heurte ou "cogne" le fluide dans le cylindre de travail, ce qui ébranle fortement l'en- semble de l'installation de pompage. Ceci endommage le train de tiges et l'équipement de surface, et peut conduire à la mise hors service de l'installation de pompage. L'invention procure des procédés et des disposi- tifs nouveaux et perfectionnés pour détecter des anomalies dans une installation de pompage comportant un train de ti- ges d'aspiration et un groupe moteur destiné à communiquer un mouvement alternatif au train de tiges pour extraire un fluide du puits. Une cellule dynamométrique est montée sur la barre d'égalisation entre le train de tiges d'aspiration et le groupe moteur, pour produire un signal représentatif de la charge qui s'exerce sur le train de tiges, et un trans- ducteur est connecté de façon à produire un signal représen- tatif de la position du train de tiges. Dans l'invention, des moyens de mise à jour utilisent le signal de charge pour établir une valeur sélectionnée de ce signal de charge et ils utilisent la position du train de tiges pour établir une position de référence du train de tiges. Des moyens sont pré- vus pour contr8ler le signal de charge lorsque le train de tiges atteint la position de référence, et des moyens sont prévus pour mettre le groupe moteur hors fonction lorsqu'une absence de fluide au-dessous du piston de la pompe fait que le signal de charge dépasse la valeur sélectionnée lors- que le train de tiges est à la position de référence. Lorsqu'on utilise des cellules dynamométriques et des transducteurs de tiges à l'extérieur, leurs carac- téristiques peuvent varier sous l'effet de changements de température et changements des conditions climatiques. Ceci est particulièrement vrai lorsqu'on utilise des cel- lules dynamométriques et d'autres transducteurs bon marché. Ces changements des caractéristiques font dériver la valeur du signal de charge et la valeur du signal de position des tiges. L'invention utilise un microprocesseur pour contr8- ler des changements lents du signal de charge et du signal de position des tiges, et pour calculer des valeurs sélec- tionnées mises à jour du signal de charge et des valeurs mises à jour des signaux de position de référence. Le mi- croprocesseur utilise des variations brusques ou d'ampli- tude notable dans les signaux de charge et/ou de position pour déterminer l'existence d'une anomalie dans un puits. L'aptitude de l'invention à utiliser des signaux de position de train de tiges dans l'établissement d'une position de référence pour un puits particulier permet d'employer un dispositif peu coûteux avec divers puits et elle permet de réétalonner automatiquement le puits, de façon que l'équipement du puits puisse être utilisé pen- dant de longues durées sans intervention humaine. Les moyens d'établissement de valeurs comprennent un microproces- seur qui enregistre des programmes et certains paramètres du puits dans des mémoires non volatiles, de façon qu'une coupure de l'alimentation des moyens d'établissement n'en- traîne pas une perte de programmes ou de paramètres du puits, et de façon que le fonctionnement et la commande du puits reprennent au moment o l'alimentation est rétablie. L'invention sera mieux comprise à la lecture de la description qui va suivre d'un mode de réalisation, et en se référant aux dessins annexes sur lesquels: -la figure 1 est une représentation schématique d'un puits équipé d'une installation de pompage du type à tiges d'aspiration; la figure 1A est une coupe de l'installation de pompage selon la ligne lA-lA de la figure 1; la figure 2 est une représentation graphique de la position en fonction de la charge des tiges d'aspira- tion de la pompe, pour un cycle de fonctionnement normal, avec l'indication d'un point de référence sur le graphique; la figure 3 est une représentation graphique de la position en fonction de la charge des tiqes d'aspira- tion au fur et à mesure que le puits progresse vers la condition de cognement sur le fluide, et elle montre un changement dans le graphique lorsque les caractéristiques des transducteurs changent; la figure 4 est une représentation graphique de la position en fonction de la charge des' tiges d'aspira- tion au fur et à mesure que lIe puits progresse vers la con- dition de cognement sur le gaz; la figure 5 est un graphique qui illustre le trai- tement d'interpolation de valeurs de position des tiges d'aspiration et de valeurs de charge, pour déterminer avec précision la valeur de charge à une position de référence; les figures 6A, 6B montrent des circuits d'ordi- nateur qu'on peut utiliser dans le dispositif de la figure 1; la figure 7 est un diagramme matriciel qui illus- tre le fonctionnement d'automates d'états finis logiciels qui sont utilisés dans l'invention; la figure 8 est un diagramme illustrant les sym- boles utilisés pour décrire un automate d'états finis logi- ciel utilisé dans l'invention; la figure 9 représente un système d'exploitation à commutation par messages qu'on utilise dans l'invention; la figure 10 représente un programmateur d'automa- tes d'états finis logiciels de l'invention; la figure 11 est un organigramme montrant le processus d'étalonnage dynamique du puits pour tenir comp- te d'une dérive dans des caractéristiques de transducteurs et des caractéristiques du puits; la figure 12 est un diagramme de circulation de messages montrant le mode de fonctionnement du dispositif de la figure 1; la figure 13 est un diagramme d'états d'un dé- tecteur de cognement sur le fluide à un point fixé, con- forme aux figures 6A, 6B, qu'on utilise pour détecter l'épuisement du puits; les figures 14 et 15 montrent la circulation des données dans le système d'exploitation et l'utilitaire-ma- thématique de l'invention; la figure 16 montre des signaux caractéristiques de position et de dérivée de position dans le dispositif de l'invention; la figure 17 montre la relation entre des si- gnaux de données lissés (filtrés) et des signaux bruyants (non filtrés), et elle montre des déphasages de signal qui doivent être pris en considération dans le dispositif de l'invention; la figure 18 est un diagramme de circulation de messages d'un discriminateur de course de l'invention; la figure 19 est un diagramme d'états de pro--- gramme du discriminateur de course de l'invention; la figure 20 est un diagramme d'états de program- me d'un détecteur de dérivée de course de l'invention; la figure 21 est un diagramme d'états de program- me d'un détecteur d'extrémités de course de l'invention; la figure 22 est un diagramme d'états de program- me d'un calculateur d'aire de course de l'invention; et la figure 23 illustre une procédure qu'on utilise dans le calcul de l'aire intérieure d'un graphique de force pour un puits caractéristique. En considérant la figure 1, on voit une tête de puits 10 d'un puits qui s'étend depuis la surface de la terre, 11, jusque dans une formation productrice sou- terraine du puits (non représentée). La tête de puits com- prend les parties supérieure d'un train de tubes de cuve- lage 12, avec un train de tiges d'aspiration 16 descendant jusque dans une pompe de fond (non représentée) qui dirige un liquide vers la surface o il passe dans une conduite 17. Le train de tiges d'aspiration 16 est suspendu dans le puits au moyen d'une installation de support qui est constituée par un bâti de support 18 et par un balancier 22 qui est monté de façon pivotante sur le bâti de support au moyen d'un axe d'accouplement 23. Une section de câble 24 relie l'extrémité supérieure du train de tiges d'aspi- ration 16 et l'extrémité inférieure d'une tête de cheval 28. La section de câble 24 est reliée au balancier 22 au moyen de la tête de cheval 28. Le balancier 22 est mis en mouvement alternatif par une source d'énergie mécanique telle qu'un moteur élec- trique 30. La source d'énergie mécanique entraîne le balan- cier par l'intermédiaire d'un système d'entraînement qui comprend une courroie d'entraînement 34, une poulie 35, un arbre de manivelle 36, une paire de bras de manivelle 37 (dont un seul est représenté), et une paire de bielles 41a, 41b qui sont accouplées de façon pivotante entre le bras de ma- nivelle et le balancier au moyen d'une barre d'égalisation 42 et d'une articulation de barre d'égalisation 43 (figu- re 1, 1A). Les extrémités extérieures des bras de manivelle 37 sont munies d'un contrepoids 46 qui équilibre une partie de la charge qui s'exerce sur le train de tiges d'aspiration, afin d'appliquer une charge plus constante à la source d'éner- gie mécanique. Une cellule dynamométrique 47 est bloquée sur la barre d'égalisation 42, ou fixée à celle-ci de toute autre manière, dans une position située entre l'articulation de barre d'égalisation 43 (figure 1A) et la bielle 41a. La cellule dynamométrique 47 produit un signal du fait de la légère flexion de la barre d'égalisation 42 qui est produite par la charge s'exerçant sur le train de tiges d'aspiration 16. La valeur de la flexion de la barre d'égalisation 42 est déterminée par la valeur de la char- ge qui s'exerce sur le train de tiges 16 (figure 1). La cellule dynamométrique 47 produit un signal de sortie continu qui est proportionnel à la charge qui s'exerce sur le train de tiges d'aspiration 16, et un convertisseur analogique-numérique 48 applique un signal numérique correspondant à un ordinateur 49a. Des moyens ou transducteurs de-mesure de position 53 mesurent la posi- tion verticale du train de tiges d'aspiration 16, en pro- duisant une tension qui est proportionnelle à l'angle du balancier 22, et qui est donc proportionnelle à la posi- tion du train de tiges 16. Le convertisseur analogique- numérique 48 convertit également le signal provenant du transducteur 53 en un signal numérique qui est utilisé par l'ordinateur 49a et par un traceur XY 54.Des signaux sont transférés entre l'ordinateur 49a et un ordinateur 49b par une paire de fils 55a, 55b. Le traceur XY utilise des instructions provenant d'un clavier 60 et d'une unité de commande et de visualisation 61, ainsi que des signaux de sortie provenant de la cellule dynamométrique 47, pour produire une représentation graphique des caractéristiques du puits particulier dans lequel le train de tiges fonc- tionne. On peut utiliser le traceur 54 pour observer le fonctionnement du puits et pour installer et régler l'équi- pement destiné à contrôler le puits. Une fois que l'instal- lation et le réglage sont terminés, on peut déconnecter le traceur ou bien, si on le désire, on peut supprimer complè- tement le traceur et utiliser l'unité de visualisation 61 ou d'autres moyens pour installer et régler l'équipement. Le graphique en trait continu de la figure 2 mon- tre un tracé de la position en fonction de la charge du train de tiges 16 pour un cycle caractéristique du train de tiges, lcrsque le puits est empli de fluide. On peut voir que lorsque le train de tiges se déplace dans sa course ascendante depuis la positionr. Xmin jusqu'à la position Xmax, la charge qui s'exerce sur le train de tiges augmer.- te jusqu'à une valeur maximale et retourne ensuite apprc- ximativement à la valeur initiale. La variation de la char- ge lorsque le train de tiges descend est plus importante; la charge diminue de façon assez rapide jusqu'à une valeur minimale et elle augmente ensuite jusqu'à atteindre appro- ximativement la valeur d'origine à la position Xmin. Lorsque le puits approche de la condition "d'épuisement" (figure 3), la charge qui s'exerce sur le train de tiges change plus rapidement lorsque le train de tiges se déplace dans une direction descendante. Lorsque le niveau du fluide dans le puits descend, un piston de pompe à l'intérieur de la pompe tombe et heurte la surface du fluide dans le puits, en produisant un "cognement sur le fluide" qui peut endommager le train de tiges et d'au- tres parties du système de pompage. Lorsque le niveau de fluide dans le puits diminue, le piston de la pompe par- court une distance qui augmente progressivement, dans la course descendante, avant de venir en contact avec la sur- face du fluide dans le puits, ce qui change progressivement la courbe de charge qui passe de la courbe 65 correspondant au puits plein, aux courbes en pointillés 66-69, la courbe se déplaçant progressivement vers la gauche au fur et à me- sure que le niveau du fluide dans le puits descend davantage. On peut observer cette tendance de déplacement et arrêter la pompe pour éviter d'endommager l'équipement. L'invention procure un procédé pour détecter "l'épuisement" en utilisant le dispositif de la figure 1 pour sélectionner un point de consigne (Xcons, Ycons) (figu- res 2, 3) ayant une valeur déterminée par les caractéristiques de chaque puits individuel, et pour changer le point de consi- gne lorsque ces caractéristiques changent et/ou lorsque les caractéristiques de la cellule dynamométrique 47 et/ ou du transducteur 53 changent. L'ordinateur 49a (figure 1) compare les courbes de cognement sur le fluide 66-69 avec la position du point de consigne et il arrête le fonctionnement du moteur 30 lorsque la courbe de cogne- ment sur le fluide passe à gauche du point de consigne représenté sur la figure 3. Un opérateur humain utilise le clavier 60 ou un autre dispositif d'entrée pour l'ordinateur 49b (figure 1), pour introduire une valeur de pourcentage pour X et une valeur de pourcentage pour Y dans l'ordinateur 49b, qui transfère ces valeurs vers l'ordinateur 49a, ce qui fait que l'ordinateur 49a calcule une valeur Xcons correspon- dant au pourcentage introduit de la distance entre Xmin et Xmax (figure 2), et calcule une valeur Ycons corres- pondant au pourcentage introduit de la distance entre Ymin et Ymax, ce qui donne la position du point de consi- gne. On peut calculer les valeurs de Xcons et Ycons en uti- lisant les formules suivantes: Xcons= (Xmax - Xmin) (X% / 100) + Xmin Ycons= (Ymax - Ymin) (Y% / 100) + Ymin Les valeurs de Xmax, Xmin, Ymax et Ymin qu'on peut utiliser sont les valeurs maximales et minimales de la courbe des figures 2 et 3. Les termes X% et Y% sont les va- leurs de pourcentage sélectionnées par l'opérateur humain, utilisant sa connaissance du puits et de l'équipement de pom- page pour choisir ces valeurs de pourcentage. On peut égale- ment sélectionner deux valeurs nominales quelconques de X etdeuxvaleurs nominales quelconques de Y, au lieu d'utiliser les valeurs maximales et minimales suggérées. Un changement de température peut changer les ca- ractéristiques des transducteurs 47 et 53 et faire changer progressivement les signaux provenant de la cellule dynamomé- trique 47 (figures 1, 6A) et du transducteur de position 53, en les faisant passer des valeurs situées sur la courbe en trait continu de la figure 2 aux valeurs situées sur la courbe en pointillés de la figure 2. Pour compenser ce changement et pour empêcher qu'un changement des caractéris- tiques des transducteurs ne produise une indication erronée d'épuisement, on met périodiquement à jour les valeurs de Xcons et Ycons pour les faire correspondre à la courbe en pointillés (figure 2), en calculant les nouvelles valeurs X'cons et Y'cons, en utilisant les valeurs maximales et minimales de X et Y sur la courbe en pointillés. Ainsi, une dérive dans les caractéristiques de la cellule dyna- mométrique 47 et du transducteur 53 ne change pas la rela- tion de Xcons et Ycons pour la courbe qui est tracée. On utilise plusieurs cycles de fonctionnement pour calculer les valeurs de Xcons et Ycons, de façon qu'un changement brusque de la forme de la courbe, dû à l'épuisement, ne produise qu'un petit changement dans les valeurs de Xcons et Ycons, et qu'un épuisement puisse être détecté. Lorsqu'on a sélectionné le point de consigne (Xcons, Ycons), l'ordinateur contr6le continuellement la valeur X de la courbe (figure 3) pendant la course des- cendante du piston, jusqu'à ce que la courbe atteigne la valeur de Xcons, pendant que la courbe se déplace de Xmax vers Xmin. Lorsque la courbe est au point Xcons, l'ordina- teur contrôle la valeur de Y. Si la valeur de Y est supé- rieure à la valeur de Ycons, l'ordinateur 49a (figure l)pro- duit un signal qui provoque l'arrêt du moteur 30 et l'arrêt du fonctionnement du puits. Pour vérifier que le puits est réellement pompé jusqu'à l'épuisement à ce moment, il peut être souhaitable de laisser la pompe fonctionner sur deux cy- cles ou plus avec la courbe (figure 2) chaque fois à gauche du point de consigne, avant d'arrêter le moteur 30. Ceci évi- te un arrêt du puits sous l'effet d'un signal erratique prove- nant de la cellule dynamométrique 47 ou du transducteur 53, ou d'un autre équipement électronique, ou résultant du compor- tement du puits lui-même. Il est également important de pouvoir faire la différence entre le cognement sur le fluide et le "cogne- ment sur le gaz" dans le puits qui est contrOlé. Le cogne- ment sur le gaz se produit lorsque le puits est empli d'un fluide, mais avec présence d'un gaz dar.s le fluide qui est extrait du puits, et le gaz retarde le passage de la char- ge de fluide par une valve dans la pompe au cours de la course descendante, du fait que le gaz est compressible. Cependant, le mélange de fluide et de gaz oppose au mouve- ment descendant du piston une résistance plus grande que celle qui existe dans une condition d'épuisement, ce qui fait que le piston tombe plus lentement que dans une con- dition de cognement sur le fluide. On peut voir ces diffé- rences en comparant la courbe de la figure 2 correspondant à un puits plein, avec la courbe de cognement sur le fluide de la figure 3 et avec la courbe de cognement sur le gaz de la figure 4. La quantité de gaz que contient le fluide qui est pompé dans un puits peut varier d'une manière imprévisible, ce qui fait que la course descendante du piston de la pompe peut sauter dans un sens et dans l'autre d'une manière aléatoire entre les courbes de course descendante 70a - 70e de la figure 4. Par exemple, pendant une course descendante, la cellule dynamométrique 47 et le transducteur de course 53 (figure 1) peuvent donner la courbe 70b, tandis que la course descendante suivante peut donner la courbe 70e et la course descendante suivante la courbe 70c. Lorsqu'un puits est pompé jusqu'à l'épuisement, le niveau de fluide diminue progressivement, ce qui fait que la charge des tiges de la pompe suit la courbe 65 (figure 3) pendant une course descendante, puis suit la courbe 66, puis ensuite la courbe 67, etc, vers la courbe 69, tandis que le signal de sortie de la cellule dynamométrique 47 (figure 1) se déplace progressivement vers la gauche pendant des cour- ses descendar.tessuccessives, comme le montre la figure 3. On peut utiliser cette différence entre une tendance au dépla- cement vers la gauche dans la condition de cognement sur le fluide, et un mouvement aléatoire dans une conditionr de cognement sur le gaz, pour contribuer à faire la distinc- tion entre ces deux conditions. Les figures 6A, 6B et 11-23 montrent des détails d'un procédé et d'un dispositif pour l'étalonnage automati- que d'un puits et pour son contrôle. Lorsque les figures 6A, 6B sont placées c8te à c8te avec les conducteurs par- tant du c8té droit de la figure 6A s'étendant vers des con- ducteurs correspondants du c8té gauche de la figure 6B, les deux feuilles forment un schéma synoptique d'un mode de réalisation des ordinateurs 49a, 49b (figure 1). La partie du système d'ordinateur qui est repré- sentée sur la figure 6A constitue un dispositif de commande de moteur 71 destiné à recevoir des signaux provenant de la cellule dynamométrique 47 et du transducteur 53, et à uti- liser ces signaux pour déterminer la séquence de commande du moteur 30. L'ordinateur 49b qui est représenté sur la figure 6B constitue un programmateur de visualisation 72 qui est destiné à utiliser les signaux de la cellule dyna- mométrique et du transducteur, émis par l'ordinateur 49a, pour faire fonctionner le traceur XY 54. Le dispositif de commande de moteur 71 et le programmateur de visualisation 72 échangent des signaux par la paire de fils d'intercon- *nexion 55a, 55b. Chacun des dispositifs de commande/programmateur 71, 72 comprend un microcontrôleur 73a, 73b, une mémoire morte programmable 74a, 74b, une mémoire vive 75a, 75b et un décodeur de mémoire 76a, 76b, connectés pour l'échange d'information et d'instructions par l'intermédiaire d'un bus de système 80a, 80b. On peut utiliser dans l'invention pour le micro- contrôleur 73a, 73b le dispositif du type 8031 fabriqué par Intel Corporation, Santa Clara, Califor- nie, qui comprend un ordinateur interne et une liaison (r.non représentée) pour l'émission et la réception de messages. Une paire de quartz 81a, 81b stabilisent des impulsions d'horloge destinées à l'attaque des micro-contr8- leurs. Le micro-contreleur 73a est connecté à un circuit de restauration à la mise sous tension, 82, destiné à avertir d'une coupure de l'alimentation du micro-contrôleur. Un dis- positif indicateur 83a reçoit une information de visualisa- tion provenant d'une interface d'entrée/sortie 84, et l'uni- té de visualisation graphique 61 reçoit une information de visualisation provenant d'un dispositif de commande de visualisation 85. Les programmes destinés à faire fonction- ner le dispositif de commande de moteur 71 et le programma- teur de traceur 72 sont enregistrés dans les mémoires mortes programmables 74a, 74b, et les données à utiliser dans le système sont enregistrées dans les mémoires vives 75a, 75b. Un circuit de conditionnement de charge/course 88 (figure 6A) amplifie et filtre des signaux qui sont émis par la cellule dynamométrique 47 et par le transducteur 53, et il émet les signaux lissés vers le bus 80a, par l'intermédiai- re d'un multiplexeur 89 et du convertisseur analogique- numérique 48. Un circuit tampon 87 (figures 1, 6A) produit des signaux destinés à faire fonctionner le traceur XY 54 sous la dépendance de signaux provenant du multiplexeur 89. On peut utiliser pour le convertisseur analogique-numérique le modèle AD574A fabriqué par Analog Devices. Les figures 2 et 11 montrent une procédure pour compenser une dérive dans les caractéristiques de la cellu- le dynamométrique 47 (figures 1, 6A) et du transducteur de course 53. Un changement des caractéristiques de la cellule dynamométrique et du transducteur de course, sous l'effet d'un changement entre la température douce de la journée et la température froide de la soirée,peut entraîner un change- ment progressif du graphique ou de la courbe tracée par le traceur XY 54, de la courbe en trait continu de la figure 2 à la courbe en pointillés. Il est souhaitable que ce change- ment dans les caractéristiques des capteurs ne provoque pas un arrêt du fonctionnrr.ement du puits, à cause d'un changement de la position de la courbe par rapport au point de consigne XY, et que ce changement n'empêche pas non plus un arrêt du puits lorsqu'un épuisement se produit. Le fait de recalculer la position du point de consigne pour la faire passer de Xcons, Ycons à X'cons, Y'cons, maintient la relation correc- te entre le point de consigne et la courbe. Il est également important de vérifier que l'aire contenue à l'intérieur de la courbe reste relativement constante lorsque la courbe se déplace dans un sens et dans l'autre entre la position en trait continu (figure 2) et la position en pointillés. La procédure représentée sur la figure Il accomplit un contrôle pour déterminer si la pompe a fonctionné de façon que le puits soit stabilisé, ou si la pompe vient jus- te de commencer à fonctionner. Si la pompe vient juste d'entrer en fonctionnement, on relève des mesures supplémen- taires des capteurs. Si le puits est stabilisé, on calcule l'aire de la courbe et on la compare avec une aire prédéter- minée, pour déterminer sil'aire est comprise dans des limites acceptables. Si l'aire est acceptable, on compare les valeurs maximale et minimale de la charge des tiges avec des valeurs acceptables. Si tout est compris dans des limites acceptables, on combine les nouvelles valeurs d'aire et de charge avec les 10 dernières valeurs précédentes, pour obte- nir des moyennes mobiles del'aire, de la limite de charge supérieure et de la limite de charge inférieure. Si les valeurs d'aire et de limite de charge sont à l'extérieur de limites acceptables, on n'accepte pas les nouvelles valeurs en tant qu'éléments de la moyenne mobile. On a décrit en relation avec les figures 1 - 4 le fonctionnement général d'un procédé de détection d'une con- dition d'épuisement utilisant le dispositif de l'invention. On présentera en relation avec les figures 5 - 23 une des- cription détaillée de la sélection du point de consigne (Xcons, Yccns) et du procédé d'utilisation du dispositif de commande de moteur 71 et du programmateur de traceur 72, pour déterminer le moment auquel le puits est dans une conditionr de cogrnement sur le fluide. Cette description procure des renseignements d'ordre général concernant l'utilisation d'automates d'états finis logiciels et leur utilisation dans le fonctionnement du dispositif des figures 1, 6A et 6B, et elle procure des détails concernant le fonctionnement d'un programme d'ordinateur dans l'accomplissement de diver- ses opérations effectuées par l'ordinateur des figures 6A, 6B. Le programme de l'ordinateur considéré est exécuté avec l'assistance d'un système d'exploitation en temps réel qui comporte divers programmes qui ne sont pas orientés vers des applications et sont spécialement conçus pour permettre l'exécution de programmes conçus dans le cadre du principe d'un automate d'états finis, c'est-à-dire un programme ayant des états et commandé par des informations d'entrée. Cer- tains des programmes sont des sous-programmes tandis que d'autres forment un module qui crée un environnement de temps réel simple dans lequel peuvent fonctionner des auto- mates d'états finis logiciels. Le système d'exploitation procure un cadre dans lequel peuvent fonctionner un ensemble d'automates d'états finis logiciels. Un automate d'états finis logiciel est un proces- sus qui est exécuté dans l'ordinateur chaque fois qu'un message est émis vers lui. L'exécution du processus ne se déroule pas exactement de la même manière chaque fois qu'un message identique est émis vers ce processus, du fait que le traitement à effectuer pour un message quelconque dépend de "l'état" de l'automate, c'est-à-dire de sa mémoire de tout traitement antérieur qui a été effectué sous la dépendance des messages précédents. L'état peut avoir n'importe quelle longueur, depuis huit chiffres binaires jusqu'à plusieurs milliers de chiffres binaires, selon la complexité d'un automate donné. L'état de l'automate et le message courant étant donnés, l'automate accomplira un ensemble donné de traitements qui est totalement prévisible. On peut représen- ter un automate par une matrice de processus, adressée par un état etun message,comme le montre la figure 7. Si par exemple l'automate d'états finis de la figure 7 reçoit le message n 1 dans l'état 1, il accomplira le processus A. Si le processus A changeait l'état pour le faire passer à l'état 2, un second message no 1, arrivant immédiatement après le premier message, provoquerait l'accomplissement du processus D, ce qui ferait passer l'automate à l'état 3. Il n'est pas nécessaire qu'un processus provoque un changement de l'état, bien qu'il puisse le faire dans de nombreux cas. Après avoir achevé son processus défini par l'état et par le message, un automate d'états finis logi- ciel rend la commande au programme qui l'a appelé, c'est-à- dire le programmateur d'automate d'états finis qu'on décri- ra ci-après. Pendant le traitement donné, l'automate n'est pas interrompu pour allouer du temps de traitement à un autre automate du même système. Ainsi, l'affectation du temps de traitement entre un automate donné et l'un quel- conque de ses homologues dans le système s'effectue message par message, et un tel environnement constitue ce qu'on appelle un système d'exploitation à commutation par messa- ges. Aucun des processus de l'automate n'est jamais suspen- du pour permettre l'accomplissement des processus d'un autre automate. A titre d'exemple, si le message 3 arrive dans l'état 1, le processus C commence et se termine avant que l'unité centrale de traitement (UCT) dans le micrc-contr8- leur 73a (figure 6A) ne réagisse au message suivant d'un autre automate d'états finis, dans son état donné. Certaines choses peuvent entraîner la "suspension" d'un processus d'un automate d'états finis. A titre d'exem- ple, une interruption asynchrone peut être enregistrée et traitée. Une exigence de l'environnement de fonctionnement consiste en ce que de tels événements de matériel dcivent être convertis ern messages de logiciel pour être traités par l'automate d'états finis responsable. Seul le traitement qui doit être effectué à l'instant exact de l'interruption est effectué, puis le processus de traitement de l'interruption provoque le positionnement d'un indicateur de nature logi- cielle, ce qui termine le processus d'interruption. Lorsque le système d'exploitation détecte un indicateur asynchrone (sémaphore), il génère le message logiciel nécessaire à émettre vers l'automate d'états finis qui accomplira le segment du traitement d'interruption qui n'est pas critique en ce qui concerne le temps. La collecte de données à des intervalles de temps précis constitue un exemple d'un tel processus. Lorsque l'interruption de temporisateur signale que des données doivent être collectées, ces données sont lues de la manière exigée, selon le type des données, et introduitesen file dans une zone d'enregistrement en vue d'un traitement à un moment ultérieur, et un indicateur est positionné. Lorsque le système d'exploitation détecte cet indicateur positionné, il génère un message logiciel, les données sont enregistrées et l'automate d'états finis qui est responsable du traitement de ces données reçoit le message à un moment ultérieur. Le système d'exploitation ne permet pas à un auto- mate d'états finis d'accéder au processeur à des instants définis de façon régulière, et l'automate n'est connecté au processeur que pour que ce dernier traite un message. Chaque fois que le traitement d'un message est terminé, l'automate d'états finis doit faire en sorte d'obtenir un autre message à un certain point dans le futur. Ceci est accompli selon les manières suivantes: 1) Un autre automate émet un message dans un but de synchronisation. 2) Un message de temporisateur signale l'expira- tion d'un intervalle de temps. 3) Des données en temps réel deviennent disponi- bles dans une certaine file d'attente. 4) Une entrée qui est interrogée prend l'état désiré et déclenche le message logiciel. ) Une interruption est détectée et un message logiciel est émis pour informer de cet événement l'automate d'états finis. Le seul moment auquel un automate ne peut pas assurer son propre fonctionnement est le moment qui précède la réception de son premier message, ce qui fait que le système d'exploitation prend la responsabilité de déclen- cher le fonctionnement du système en émettant vers tous les automates d'états finis logiciels, fonctionnant dans son cadre, un message d'initialisation qu'on appelle ici un message "mise sous tension". Quel que soit l'état de l'auto- mate, il réagit en accomplissant un processus donné prédé- terminé lorsqu'il reçoit ce message, indépendamment de l'état dans lequel cet automate se trouve. Le symbolisme d'automates d'états finis représen- té sur la figure 8 constitue un moyen commode pour repré- senter le fonctionnement d'un automate d'états finis logi- ciel. Sur la figure 8, on utilise les messages de la figure 7 pour accomplir certains des processus et pour passer dans certains des états représentés sur la figure 7. Si on suppose que l'automate (figure 8) est initialement dans l'état 1, la réception du message i provoque l'accomplisse- ment du processus A en tant qu'action de transition pour le message 1 reçu dans l'état 1, et elle fait également passer l'automate dans l'état 2. Dans l'état 2, la réception du message 2 déclenche le processus E, provoque l'émission d'un message vers un autre automate d'états finis et ramène cet automate d'états finis dans l'état 1. Dans l'état 1, la réception du message 3 provoque l'accomplissement du proces- sus C en tant qu'action de transition pour la réception du message 3 dans l'état 1, mais elle ne provoque aucun chan- gement dans l'état de l'autcmato. Certains des autres états et processus représentés sur la figure 7 ne sont pas répé- tés sur la figure 8 dans le but de simplifier le dessin. Un système d'exploitation à commutation par messa- ges du type représenté sur la figure 9 comprend une procé- dure principale qui produit des signaux pour initialiser le système, par l'intermédiaire d'une procédure d'initialisa- tion de système,et qui comprend l'initialisation de divers temporisateurs et interruptions, du programmateur, des entrées, de l'acquisition de données, des mémoires vives, de l'utilitaire mathématique et des sorties, ainsi que l'initialisation des blocs de messages disponibles, de façon que toute la mémoire dynamique soit placée dans une file d'espace disponible pour l'enregistrement de données. La procédure appelle ensuite la procédure de cycle de fonc- tionnement qui appelle séquentiellement le traitement asyn- chrone, le programmateur d'automates d'états finis et le traitement synchrone, ceci se reproduisant indéfiniment. Tous les programmes d'interruption communiquent avec le programme de cycle de fonctionnement au moyen de sémaphores. Le programme de cycle de fonctionnement tourne indéfiniment avec une délivrance de messages aux automates d'états finis, une opération asynchrone et toutes les opérations synchrones définies dans le temps par l'horloge de temps réel pour cha- que cycle de la boucle. Les opérations asynchrones qui peu- vent se produire sont les suivantes: une entrée de données à partir d'une file d'attente d'acquisition de données en temps réel et des interruptions de ligne de transmission pour le transfert de caractères en entrée et en sortie du système. Dans le fonctionnement asynchrone, l'apparition d'événements importants provoque l'occupation d'un bloc de message disponible et sa conversion en un message destiné à être délivré à un automate d'états finis quelconque qui est chargé du traitement de l'ir.terruption particulière. Du fait que les dornnées scnt enregistrées en file d'attente au moment de l'acquisition, l'cpératicn de transfert est asyn- chrone. Si le traitement des données tombe derrière l'opéra- tion d'entrée des données, le système peut utiliser le temps qui sépare des impulsions d'horloge synchrones pour rattra- per son retard en ce qui concerne l'opération exigée. La figure 14 montre des détails de la circulation des données dans le traitement asynchrone du bloc DQ de la figure 9. Des signaux provenant de la cellule dynamométrique 47 et du transducteur de course 53 (figure 14) sont acquis par la procédure PRELEVEMENT XY pour les données, et ils sont transférés dans la zone Q pour les données XY dans la mémoi- re vive 75a (figure 6A), par la procédure CHARGEMENT XY Q sous la dépendance d'une impulsion d'horloge de temps réel, et ils sont enlevés par la procédure PRELEVEMENT XY Q. Une fois que les données ont été acquises, elles sont traitées par l'utilitaire mathématique (en PM, figure 9). L'utilitaire mathématique accède aux valeurs brutes de course (X) et de charge (Y) et il lisse les valeurs de X et Y. On obtient la valeur lissée de X (7)(figure 15) et la valeur lissée de Y (Y) en utilisant une technique de lissa- ge par moyenne mobile, dans laquelle on additionne les n dernières valeurs de X (ou Y) reçues et on divise la somme par le nombre de valeurs (n) pour obtenir une première valeur lissée. Pour obtenir la valeur lissée suivante, X, on inclut dans la somme la valeur la plus récente, mais on n'inclut pas la plus ancienne valeur reçue. On calcule ensuite la dérivée première, X', et on corrige X pour tenir compte du retard introduit par le calcul de la dérivée première, afin d'obtenir le résultat Xret. On émet ensuite les valeurs de X', Xret, Y' et Yret vers tous les automates d'états finis qui ont demandé ces valeurs, en utilisant la procédure "d'émission de message" (figure 10), pour placer les messages dans la file d'atten- te de messages à délivrer. On calcule la dérivée première en utilisant une méthode établie par A. Savitzky et M. Golay et décrite en détail aux pages 1627 - 1638 du numéro de juillet 1964 de la revue "Analytical Chemistry". Cette méthode utilise une identification analytique au sens des moindres carrés uti- lisant un polyname du secornd d7rA, portant sur un nombre impair de points, et un ensemble correspondant d'entiers de convolution pour évaluer le point central. La dérivée cal- culée correspond à la valeur au milieu d'une fenêtre d'obser- vations équidistantes. La valeur obtenue est identique à l'identification analytique des valeurs observées avec le polyn8me du second degré A2X + A1X + A0 =y. On sélectionne A2, A1 et A0 de façon que lorsqu'on substitue dans cette équation chaque X (pour le nombre de points dans la fenêtre), le carré des différences entre les valeurs calculées, y,et les nombres observés soient minimals pour le nombre total d'observations (dimension de la fenêtre). Une fois qu'on a trouvé A2, A1 et AO, on évalue le point central. La méthode de A. Savitzky et M. Golay utilise un ensemble d'entiers de convolution et les points de données observés pour éva- luer le point central. Du fait qu'on évalue la dérivée au centre de l'en- semble de données, on introduit un retard égal à: (dimension de la fenêtre -1)/2. La figure 15 montre des détails de l'uti- litaire mathématique en ce qui colncerne l'obtention des va- leurs de X', fret, Y' et Vret. Le traitement synchrone accomplit l'interrogation d'entrée par matériel, la mise à jour des temporisateurs et la délivrance des signaux. Lorsqu'une entrée, dont un autre automate d'états finis demande l'interrogation, passe à l'état désiré, comme un état inactif, un état actif, un état supérieur ou inférieur à un niveau, etc, un bloc de message disponible est émis sous la forme d'un message vers l'automate demandeur, ce qui indique qu'une entrée donnée est dans l'état désiré. L'entrée ne sera plus interrogée jusqu'à ce qu'une autre demande soit faite. Le traitement des temporisateurs est légère- ment différent dans la mesure o la file d'attente de tem- porisateurs est constituée par des blocs de messages fai- sant fonction de réceptacles pour l'automate demandant le marquage de l'écoulement du temps ainsi que l'heure à la- quelle le temps sera écoulé. Lorsque le temps est écoulé, le bloc est retiré de la file d'attente de temporisateurs et il est placé sous la forme d'un message dans la file d'attente de délivrance de messages. Toutes les responsa- bilités qui incombent à l'automate d'états finis sont ainsi prises en charge par le système d'exploitation, par le transfert de messages logiciels et par l'utilisation d'indicateurs de temps réel et de files d'attente (sémapho- res). Le premier composant du système d'exploitation (figure 9) est un programme qui est destiné à délivrer un message à un automate d'états finis (figures 9, 10). Un message est un petit bloc de mémoire dynamique qui est mis en file d'attente pour la délivrance à un automate d'états finis désigné. On appelle ce programme un program- mateur d'automates d'états finis et il est représenté en détail sur la figure 10. Ce programme sélectionne dans les files d'attente de messages prêtsà être délivrés le messa- ge suivant ayant la priorité la plus élevée. L'automate examine le code de désignation d'automate d'états finis qui est enregistré dans le message, et il utilise ce code pour sélectionner le programme d'automate d'états finis approprié qui doit être appelé, avec un pointeur désignant le bloc de message, en tant qu'information d'entrée. Le programme contient une mémoire d'état. Avec la mémoire et l'état, le processus approprié peut être délivré et exécu- té, et le bloc de mémoire peut être transféré de la file d'attente de délivrance vers la file d'attente d'espace dis- ponible pour une réutilisation ultérieure. Les instructions pour l'émission des messages ou pour le positionnement de temporisateurs constituent deux exemples de données qui sornt réutilisées. Ces processus prennent des blocs dispo- nibles et les transforment en messages qui seront placés ultérieurement dans la file d'attente de délivrance de messages. Des programmes tels que le programme d'émission de messages et le programme de démarrage de temporisateurs sont des utilitaires de service que l'automate d'états finis appelle afin d'accomplir les tâches correspondant aux responsabilités auxquelles on a fait allusion précé- demment. Le programmateur d'automate d'états finis consti- tue l'élément le plus bas de la hiérarchie qui forme le cycle de fonctionnement principal du système d'exploita- tion. Le diagramme de la figure 9 montre la relation entre le programmateur et le reste du système d'exploitation. Au moment de la mise sous tension de l'ordina- teur des figures 6A, 6B, le générateur de restauration à la mise sous tension, 82, produit des signaux qui restau- rent divers éléments de matériel dans l'ordinateur et sous l'effet desquels la première instruction du programme d'or- dinateur enregistré dans la mémoire morte programmable 74a est exécutée par le processeur central dans le micro- contr8leur 73a. Un message de "mise sous tension" est émis, de la manière décrite précédemment, vers chacun des modu- les d'automate d'états finis 91-95 (figure 12) dans l'ordi- nateur, et ces modules d'automate d'états finis sont initia- lisés. Le processeur du micro-contrôleur 73a obtient les va- leurs de signal de charge provenant de la cellule dynamomé- trique 47 (figure 6A) et les valeurs de signal de course provenant du transducteur 53,-par l'intermédiaire du circuit de conditionnement 88 et du convertisseur 48, et ces valeurs sont enregistrées dans la mémoire vive 75a (figures 6A, 14), en vue de l'utilisation par le discriminateur de course qui utilise ces signaux pour détecter les valeurs maximales et minimales de la charge et de la position des tiges. Les va- leurs maximales et minimales de la charge et de la po- sition des tiges sont disponibles à la demande pour d'autres modules d'automate d'états finis. Le discriminateur de course 93 (figure 12) applique des signaux au détecteur de cognement sur le fluide, 92, au début de la course descendante. Des dé- tails du discriminateur de course 93 (figure 12) et de son procédé de fonctionnement-sont représentés sur les figures 16-23, sur lesquelles la courbe 104 (figure 17) montre une dérivée brute caractéristique de la position du train de tiges 16 (figure 1) en fonction du temps, et la courbe 105 montre la dérivée lissée de cette même grandeur. On utilise une moyenne de plusieurs valeurs de la dérivée brute provenant d'une séquence de valeurs correspondant à des instants définis, pour obtenir la dérivée lissée, ce qui occasionne un retard entre la phase de la dérivée lissée et celle de la dérivée brute, comme le montre la figure 17. Un détecteur de dérivée de course 109 (figure 18) utilise la dérivée lissée et re- tardée pour obtenir le maximum et le minimum de la valeur de la course. Une fois que les valeurs maximale et minimale sont obtenues, le système cesse de rechercher une autre valeur extrême pendant une "durée d'inactivité" prédéter- minée, pour réduire la durée moyenne du traitement en temps réel que nécessite le détecteur de dérivée de la course. La durée d'inactivité confère également au système relatif à la course une plus grande immunité au bruit pré- sent dans les données d'entrée qui proviennent du transduc- teur de course 53 (figure 1). - Il y a plusieurs messages logiciels qui sont ap- pliqués au discriminateur de course à partir du système de détection d'épuisement et d'autres automates qui ne sont pas voisins dans la hiérarchie des automates d'états finis. Ces messages comprennent un message de "mise sous tension" commun à tous les automates, des messages de départ et d'ar- rêt provenant d'autres automates qui demandent une indica- tion du point bas de la course, une indication du point haut de la course, des indications des valeurs de crête de X et Y (extrêmes de course et de charge), et des indi- cations d'aire. Les messages correspondant à Xret, Yret et à la dérivée de X sont reçus à partir de l'utilitaire ma- thématique. Le discriminateur de course 93 (figure 18) com- munique directement avec le module de gestion de pompe 91 et avec le détecteur de dérivée de course subordonné 109, ainsi qu'avec un calculateur d'aire de course 110, un dé- tecteur d'extrémités de course 111 et d'autres automates d'états finis 112. Le détecteur d'extrémités de course 111 utilise les valeurs brutes du signal provenant de la cellule dynamométrique 47 (figure 1) et du transducteur de position 53 pour trouver Xmax, Xmin, Ymax et Ymin. Le cal- culateur d'aire 110 intègre l'aire du graphique de force (figure 2), et le discriminateur de course 93 dirige le fonctionnement des autres automates d'états finis 109- 112 qui sont représentés sur la figure 18. Une fois que le module de gestion de pompe 91 (figure 18) a mis en marche le moteur 30 (figure 1), un message de marche du moteur et un message d'indication de PMB (point mort bas) au démarrage (c'est-à-dire une demande d'indication de démarrage de course descendante) (figure 17) sont émis vers le discriminateur de course 93. Le discrimi- nateur de course attend 3 secondes pour permettre au signal de course de se stabiliser, et il émet un message de démar- rage vers les automates d'états finis 109-111 pour contrôler le fonctionnement du puits. Si un cognement sur le fluide est détecté pendant l'opération de contrôle, un signal d'alarme est émis vers le module de gestion de pompe 91 qui arrête le moteur et applique un signal d'arrêt du moteur au discriminateur de course. Lorsque le discriminateur de course 93 reçoit un signal de marche du moteur provenant du module de gestion de pompe 91, il produit un signal de démarrage sous l'ef- let duquel le détecteur de dérivée de course 109 mesure le bruit du signal de dérivée de la course pendant une du- rée de retard à la mise sous tension, de 3 secondes. A la fin du retard de 3 secondes, le détecteur de dérivée 109 utilise le bruit mesuré et les signaux de course pour pro- duire des signaux de course montante et course descendante, jusqu'à ce que le discriminateur de course 93 émette un message d'arrêt vers le détecteur de dérivée. Le détecteur d'extrémités de course 111 (figu- re 18) produit un signal de position minimale dans la course, un signal de charge à la position minimale dans la course, un signal de position maximale dans la course, un signal de charge à la position maximale dans la course, un signal de charge minimale, un signal de position dans la course à la charge minimale, un signal de charge maximale, et un signal de position dans la course à la charge maxima- le, chaque lois qu'il reçoit une demande d'état provenant du discriminateur de course 93. Simultanément à la réception de la demande d'état, une restauration se produit et le calcul d'un nouvel ensemble de valeurs extrêmes est commen- cé. Ce processus se poursuit jusqu'à la réception par le dé- tecteur d'extrémités de la course 111 d'un signal d'arrêt provenant du discriminateur de course 93. Lorsque le calculateur d'aire de course 110 (fi- * gure 18) reçoit un signal de démarrage provenant du discri- minateur de course 93, il reçoit des indications de côté inférieur et d'extrémités qu'il utilise pour calculer l'aire du graphique de force (figure 2). Le calculateur d'aire 110 émet la valeur calculée de l'aire vers le discriminateur de course 93 en réponse à un signal de demande d'état. Lorsque le discriminateur de course reçoit un si- gnal de mise sous tension (en A, figure 19), sa mémoire est initialisée, et des listes de distribution spécifiant les automates d'états firnis qui désirent recevoir des irndica- tions sont préparées. Lorsque le signal de mise en marche du moteur est reçu, en B, à partir du module de gestion de pompe, le discriminateur de course (figure 19) passe de l'état d'arrêt du moteur à l'état de démarrage du mo- teur, il fait démarrer un temporisateur de 3 secondes et il émet un message de démarrage de mesure de bruit sur X' vers le détecteur de dérive pour faire démarrer sa mesu- re du bruit sur la dérivée de la course pendant cette pé- riode de 3 secondes. Lorsque la durée de retard à la mise sous tension du moteur, égale à 3 secondes, s'est écoulée (en C), le détecteur de dériv&.109 (figure 18), le calcu- lateur d'aire de course 110 et le détecteur d'extrémités de course 111 reçoivent des messages de démarrage et le compte de PMB est fixé à zéro. La position PMB est le point mort bas de l'extrémité gauche du balancier 22 (fi- gure 1) et elle correspond au démarrage de la course des- cendante du train de tiges d'aspiration 16. Un signal d'in- dication de démarrage (en C, figure 19) provenant de l'un- quelconque des automates d'états finis, place l'automate demandeur sur la liste de distribution spécifiée s'il n'y est pas déjà. Un signal d'indication d'arrêt (en F) prove- nant de l'un quelconque des automates d'états finis retire l'automate demandeur de la liste de distribution spécifiée. Au moment de la réception d'un signal de coté supérieur (en H, figure 19) provenant du détecteur de déri- vée, dans l'état de marche du moteur, si le compte de PMB est inférieur à 2, ce compte est incrémenté. Une demande d'état est émise vers le détecteur d'extrémités 111 (figure 18) et une indication de PMB est émise vers tous les automa- tes qui l'ont demandée,par l'intermédiaire d'un message d'in- dication de PMB de démarrage, comme indiqué précédemment. Lorsqu'un signal de c-té inférieur (I, figure 19) est reçu à partir du détecteur de dérivée dans l'état de marche du mo- teur, une indication de PMH ou de point mort haut pour l'ex- trémité extérieure du balancier est émise vers tous les automates qui ont demandé une telle indication. Ur. messa- ge de coté inférieur est également émis vers le calcula- teur d'aire de course 110 (figure 18). Lorsqu'un message d'extrémités (J, figure 19) est reçu à partir du détec- teur d'extrémités de course 111 (figure 18) dans l'état de marche du moteur, un message d'extrémités est émis vers le calculateur d'aire de course, une demande d'état est émise vers le calculateur d'aire de course, et une indica- tion de valeur de crête est émise vers tous les automates d'états finis qui l'ont demandée, si le compte de PMB est au moins égal à 2. Lorsqu'une indication d'aire (en K, fi- gure 19) est reçue à partir du calculateur d'aire dans l'état de marche du moteur, une indication d'aire est émise vers tous les automates d'états finis qui l'ont de- mandée, si le compte de PMB est au moins égal à 2. Le détecteur de dérivée de course 109 (figure 18) identifie les positions maximale et minimale dans la course en utilisant le passage par zéro de la dérivée pre- mière du signal de course (figure 16) provenant du trans- ducteur de course 53 (figure 1). La première étape de l'opération consiste à déterminer une bande aveugle ou une bande de bruit autour de la valeur de passage par zéro (X'=O), comme le montrent les figures 16 et 17. Une valeur de bruit "d" consiste en une différence maximale entre X' provenant de l'utilitaire mathématique et la valeur X' lis- sée par une moyenne mobile sur quinze points, détectée pen- dant la période de contrôle de 3 secondes et corrigée pour tenir compte du déphasage. On utilise la bande de bruit pour déclarer qu'une position de point mort haut (PMH) a été at- teinte lorsque X' est supérieur à +d, et qu'une position de point mort bas (PMB) a été atteinte lorsque X' est inférieur à -d. Le fonctionnement du détecteur de dérivéede course 109 (figure 18) est représenté en détail dans le diagramme d'états de la figure 20. Lorsque le système produit un signal de mise sous tension (en A, figure 20) le détecteur de dérivée est initialisé et demande une indication de X' fournie par l'utilitaire mathématique 94 (figure 12). Le détecteur de dérivée positionne également à 2 secondes un temporisateur de période d'inactivité. A ce point un signal ultérieur de démarrage de mesure de bruit pour X', provenant du discriminateur de course, fait démarrer le détecteur de dérivée (en B, figure 20). Un lissage de X' par calcul de moyenne mobile sur quinze points est dé- clenché en utilisant la dernière valeur précédente de la dérivée comme valeur de départ et avec le bruit maximal fixé à une valeur de zéro. Le signal de message de démarrage de mesure de bruit pour X' (en B, figure 20) fait passer le détecteur de dérivée dans l'état de contrôle de bruit pour X' (2). Lorsqu'une valeur X est reçue à partir de l'utilitaire ma- thématique, elle est lissée. La valeur absolue de la diffé- rence entre la valeur lissée et la valeur brute de X' est ensuite calculée. Si cette valeur est supérieure à la va- leur du bruit maximal, le bruit maximal est fixé à cette valeur. Lorsqu'un signal de démarrage est reçu à partir du discriminateur de course (en E, figure 20) et indique que la période de mesure de bruit de 3 secondes est terminée, la bande de bruit zéro pour X' est fixée (figures 16 et 17). La valeur de bruit maximale est ensuite augmentée d'une mar- ge de sécurité de 10% et -d est fixé à la valeur de bruit -max et +d est fixé à la valeur de bruit +max (figure 17). Si la dernière valeur de X' reçue est supérieure à zéro, le système passe dans l'état de croissance. Cepen- dant, si la dernière valeur de X' est inférieure à zéro, le système passe dans l'état de décroissance. Le détecteur de dérivée contr8le maintenant les valeurs X' afin de détecter le haut et le bas de la course (figure 16). Le fonctionnement pour la détection du démarrage de la course montante (états 3 à 5 à 8 à 4, figure 20) est le même (à l'exception de la direction) que le fonctionne- mernt pour la détection du démarrage de la course descen- dante, qui part de l'état 4 et passe aux états 6, 7 et 3, ce qui fait qu'onr ne décrira ici qu'une seule ppéra- tion de détection. Lorsque le détecteur de dérivée de course est dans l'état de décroissance (3, figure 20) et lorsqu'une valeur de X' est reçue à partir de l'utilitaire mathémati- que, la valeur de X' est comparée avec l'extrémité supé- rieure de la bande de bruit +d. Si la valeur de X' est in- férieure à +d, aucune action n'est entreprise et le détec- teur discriminateur de course reste dans l'état 3. Cepen- dant, si X' est supérieur à +d, le signal est passé par la bande correspondant au zéro de X' dans une direction croissante et a donc pu détecter la valeur de crête négati- ve de la position (PMH ou fin de la course descendante et début de la course montante). Il est cependant possible que du bruit ait entralné une détection erronée, et on fait donc démarrer un temporisateur de 3 points (correspondant au temps nécessaire pour acquérir 3 points de données à la cadence d'acquisition des données), et on passe à l'état 5 (figure 20). Les valeurs de X' sont enregistrées dans cet état pendant la durée nécessaire pour collecter les 3 points de données. Lorsque cette durée est arrivée à expiration, X' est à nouveau comparé à +d et si X' est inférieur à +d, une impulsion de bruit est apparue. La bande de bruit corres- pondant au zéro, entre +d et -d est augmentée de lOT ou d'un compte de un, la valeur prise en considération étant la plus grande des deux, et le détecteur discriminateur de course retourne à l'état 3. Cependant, si X' est supérieur à la va- leur d, une valeur de crête de position négative a été dé- tectée. Un-temporisateur de période d'inactivité est déclenché, le système passe à l'état 8 et un message de course des- cendante est émis vers le discriminateur de course 93 (figure 18). X' n'est pas ccr.tr8lé pendant la durée d'inac- tivité. Du fait de la nature cyclique de la course de la pompe, on ne prévoit pas une autre valeur de crête avant qu'une durée minimale connue se soit écoulée. L'utilisa- tion de la durée d'inactivité améliore l'immunité au bruit du détecteur. Lorsque la durée d'inactivité s'est écoulée, le traitement mathématique pour X' est déclenché à nouveau et le système passe à l'état de croissance (4) et il recherche la valeur de crete de position positive. Le processus est le même que ci-dessus, à l'exception du sens de la comparaison, comme indiqué précédemment. Le diagramme d'états du détecteur d'extrémités de course de la figure 21 montre les détails du détecteur d'extrémités de course 111 (figure 18) qui détecte les va- leurs de Xmax, Xmin, Ymax et Ymin. A la mise sous tension, le détecteur d'extrémités de course passe à l'état de repos (1, figure 21). Sous l'effet d'un signal de départ (en B) provenant du discriminateur de course 93 (figure 18), le traitement mathématique pour les valeurs de Xret et de Yret est déclenché et les extrémités sont ini- tialisées. Dans l'initialisation des extrémités de la course, Xmin est fixé à la valeur positive maximale utilisée dans le détecteur, Y à Xmin est fixé à la valeur zéro, Xmax est fi- xé à zéro et Y à Xmax est fixé à la valeur zéro. Le détecteur d'extrémités de course (en C, figu- re 21) utilise le signal Xret provenant de l'utilitaire ma- thématique 94 (figure 12) pour calculer des valeurs mises à jour de Xmax et Xmin, et il utilise les signaux Yret (en D, figure 21) pour calculer les valeurs mises à jour de Ymax et Ymin. Les valeurs mises à jour du maximum et du minimum pour X et Y sont calculées de la façon suivante. Si la valeur X reçue est supérieure à Xmax, Xmax est alors fixée à la va- leur X reçue et Y à Xmax est fixée à la valeur Y correspondante. La même procédure est accomplie pour Ymax. Si la valeur X reçue est inférieure à Xmin, Xmin est alors fixéeà la valeur X reçue et Y à Xmin est fixéeà la valeur Y ccorres- pondante, et la même procédure est suivie pour Ymin. Ces valeurs sont émises vers le discriminateur de course 93 (figure 12) en réponse à une demande d'état (en E, figu- re 21), et les extrémités sont ensuite initialisées. Le détecteur d'aire de course 110 (figure 18) calcule l'aire totale du graphique de force (figure 2) sous la direction du discriminateur de course 93. Lorsqu'un message de mise sous tension est reçu (en A, figure 22), l'aire totale de la courbe, correspondant à l'indication d'état, est fixée à une valeur de zéro. Lorsqu'un message de démarrage est reçu à partir du discriminateur de course, le calculateur d'aire de course passe dans l'état "attente de la première indication". Au moment de la réception d'une indication de démarrage de course montante (D) ou de démarrage de course descendante (C), dans l'état d'attente de la première indication, le système passe dans l'état 3 ou 4 approprié et les paramètres sont initialisés. L'index de zone tampon (figure 23) et l'aire totale sont tous deux fixés à une valeur initiale égale à zéro et le traitement mathématique est commencé. Au fur et à mesure de la récep- tion des valeurs de Yret (charge), ces valeurs sont traitées de la manière déterminée par l'état du calculateur d'aire (course montante ou course descendante). La figure 23 montre des détails du procédé et du dispositif de calcul de l'aire totale du graphique de force, et dans ce procédé les valeurs de charge U1-Un sont échan- tillonnées à des intervalles réguliers pendant la course mon- tante et elles sont enregistrées dans des positions de mémoi- re M1-Mn d'une zone tampon de charge LB1. Au démarrage de chaque course montante (figure 23), un index Il est fixé à zéro de façon à désigner la position de mémoire Mi de la zone tampon LB1 dans la mémoire vive 75a (figure 6A), et l'aire totale est fixée à zéro. A intervalles réguliers pendant la course montante, chacune des valeurs de charge U1-Un est échantillonnée et placée dans l'une des positions de mémoire M1-Mn de la zone tampon LB1, sous la direction de l'index Il. L'index est ensuite incrémenté pour désigner la position suivante. Pendant la course descendante, au fur et à mesu- re de la réception des nouvelles valeurs, l'index Il est décrémenté, chacune des valeurs de charge inférieures Ln- L1 est soustraite des valeurs de charge supérieures cor- respondantes Un-U1, et enregistrée dans la zone tampon LB1, et les valeurs de différence sont utilisées pour calculer l'aire du graphique de force en découpant ce graphique en petites bandes verticales, en calculant l'aire de chaque bande et en additionnant ces aires de bande pour obtenir l'aire totale. A titre d'exemple, la valeur de charge infé- rieure L14 (figure 23) est soustraite de la valeur de char- ge supérieure correspondante U14 et multipliée par la lar- geur entre les limites B13 et B14, pour obtenir l'aire de la bande A14. Du fait qu'on n'a que des variations relatives des aires du graphique de force entre différentes conditions du puits, on peut supposer que la largeur de chaque bande a une valeur égale à 1, bien que les largeurs des bandes varient d'une partie du graphique de force à une autre. Chaque bande, comme la bande A14, possède pratiquement la meme largeur cha- que fois que les valeurs de charge sont échantillonnées. Les bandes utilisées pour le calcul de l'aire (fi- gure 23) sont représentées relativement larges pour simpli- fier la représentation, mais on peut utiliser un plus grand nombre d'échantillons de charge, conduisant à des bandes plus étroites, pour augmenter la précision des calculs. Lorsqu'on suppose une largeur de bande égale à l'unité, il suffit sim- plement de soustraire chaque valeur de charge L1-Ln de la va- leur de charge U1-Un correspondante pour obtenir l'aire de chaque bande. Le programme d'étalonnage dynamique 95 (figu- re 12) met continuellemer.t à jour les valeurs de l'aire totale du graphique de force, de la charge moyenne pen- dant la course montante, de la charge maximale, de la charge minimale, de la course maximale et de la course minimale, pour corriger la dérive des signaux d'entrée de charge et de course qui proviennent de la cellule dy- namométrique 47 (figure 1) et du transducteur de course 53. Ces valeurs mises à jour sont utilisées par le détec- teur de cognement sur le fluide, le détecteur d'extrémi- tés de course et le détecteur de charge des tiges pour fixer des limites de signal, des niveaux de seuil et des points de consigne, afin de rendre le système insensible à une dérive correspondant à un décalage des signaux. Les calculs sont basés sur l'hypothèse selon laquelle la dé- rive de décalage ne change pas la forme du graphique de force de la figure 2, mais change uniquement sa position par rapport aux valeurs zéro. On utilise toute dérive du graphique de force vers le haut et le bas et en direction latérale, pour recalculer les valeurs de l'aire du graphi- que de force et les valeurs de Xcons, Ycons, et pour recal- -culer des valeurs de seuil de la détection de la charge des tiges, de la détection de la charge maximale et de la dé- tection de la charge minimale. On contrôle la forme de la courbe en calculant l'aire totale et des valeurs de la char- ge maximale des tiges et de la charge minimale des tiges. On compare les valeurs courantes d'aire et de charge avec des valeurs de référence, et si les valeurs courantes sont comprises dans une plage prédéterminée, on considère que le nouveau graphique de force est bon, et on combine les valeurs courantes avec les valeurs de référence pour obtenir une moyenne mobile de valeurs de référence mises à jour. On détermine les valeurs de référence initiales à partir du premier graphique de force à la mise sous tension initiale du dispositif des figures 6A, 6B, et on enregistre les valeurs de charge de crête, la valeur d'aire, etc, dans les zones tampons de moyenne mobile (non représen- tées), en tant que valeurs de référence ir.itiales. Il est donc important que le dispositif de l'invention soit mis sous tension lorsque la pompe de puits foncticnne dans des conditions normales, en l'absence d'une condition de pompage d'épuisement ou d'autres problèmes dans le puits ou dans le dispositif. Au début de chaque période de pom- page suivante, on utilise en tant que valeurs de référence initiales les valeurs de référence provenant de la période de pompage immédiatement précédente. Au début de chaque période de pompage, le mes- sage de mise sous tension agit sur le module d'automate d'états finis logiciel de gestion de pompe 91 (figure 12) de façon qu'il mette sous tension le moteur de pompe 30 (figure 6A), par l'intermédiaire d'une interface 97 et d'un relais de moteur 98. Un message de "mise sous tension" di- rigé vers le détecteur de cognement sur le fluide (figure 13) pour le point de consigne, fait passer cet automate d'états finis dans l'état "inactif". Le moteur 30 déplace le train de tiges d'aspiration 16 (figure 1) en lui faisant parcourir un nombre prédéterminé de cycles de démarrage dans lesquels la détection est inactive, pour permettre la stabilisation du niveau du fluide dans le puits après quoi le module de gestion de pompe 91 (figure 12) émet vers le détecteur de cognement sur le fluide 92 un message de "mar- che du moteur" qui fait passer le détecteur de cognement sur le fluide (figure 13) de l'état "inactif" à l'état "attente de références" ou à l'état "contrôle dans l'attente du PMBt. Le détecteur de cognement sur le fluide utilise des valeurs de Xmin, Xmax, Ymin et Ymax provenant de la période de pompage précédente et les valeurs sélectionnées le plus récemment par l'opérateur pour X% et Y%, pour calculer Xcons et Ycons, en utilisant les formules: Xcons = (Xmax - Xmin) (X% /100) + Xmin Ycons = (Ymax - Ymin) (Y% /100) + Ymin Toutes les valeurs de Xccrns, Ycons, Xmax, Xmin, Ymax, Ymin et l'aire d'étalonnage du graphique de force sont enregis- trées dans la mémoire vive 75a (figure 6A). Pendant la période de pompage initiale, il n'y a aucune valeur précédente correspondant au graphique de force permettant de calculer un point de consigne, ce qui fait que le détecteur de cognement sur le fluide 92 (figu- re 12) passe à l'état "attente de références " (figure 13), dans lequel il attend un message "de références" provenant du module d'étalonnage dynamique 95 (figures 12, 13).Lors- que le détecteur de cognement sur le fluide reçoit le "message de références", un point de consigne initial Xcons, Ycons est calculé à partir de l'information contenue dans le message et le contr8le du cognement sur le fluide com- mence. Une fois que le point de consigne initial est calcu- lé, le détecteur de cognement sur le fluide (figure 13) utilise des valeurs de Xmax, Xmin, Ymax, Ymin provenant de la période précédente et les valeurs de X% et Y% sélection- nées par l'opérateur pour calculer Xcons et Ycons, et il pas- - se à l'état "contrôle dans l'attente du PMB". Si un message de "références" est reçu avant la réception d'un message de "marche du moteur", c'est-à-dire pendant les courses de démarrage du moteur, un point de con- signe est calculé au moment de la réception de chaque message (figure 13) et le détecteur de cognement sur le fluide passe à l'état "attente de la marche du moteur". Lorsque le détec- teur de cognement sur le fluide est dans les états de contrô- le correspondant au contr8le dans l'attente du PMB, au contrô- le de la course descendante et au test de Y, le point de con- signe est ajusté conformément à chaque message "de références" provenant du module d'étalonnage dynamique 95 (figure 12),ce qui compense des changements consistant en décalages dans les signaux de course et de charge. Lorsque les valeurs de Xcons et Ycons ont été obtenues, la période de contrgle (figure 13) commence au moment de la course descendante suivante du train de tiges 16 de la pompe (figure 1), du fait que l'étalonnage n'est pas reccmmandé lorsque l'aire du gra- phique de force est réduite. La technique d'étalcnnage ci-dessus permet de mettre à jour le point de consigne (Xcons, Ycons) pour com- penser une dérive des caractéristiques des transducteurs et des conditions du puits qui changent lentement, comme un changement du niveau de fluide dû à une inondation par de l'eau, mais elle empêche un changement du point de con- signe sous l'effet d'une difficulté relative à la pompe ou d'un niveau de fluide élevé résultant d'une coupure de la tension d'alimentation ou d'un reconditionnement du puits. Tout changement brusque de l'aire du graphique de force serait probablement dû à une condition de pompage d'épuise- ment ou à des difficultés relatives à la pompe qui pour- raient endommager encore davantage le matériel de la pompe, et de tels changements brusques doivent être détectés com- me représentatifs de difficultés. On ne pourrait pas détec- ter ces difficultés si le point de consigne (Xcons, Ycons) changeait de position par rapport au graphique de force. Une fois que le détecteur de point de consigne (figure 12) s'est étalonné, il commence à contr8ler le puits pour détecter un cognement sur le fluide pendant la course descendante de la pompe, en utilisant les valeurs de course (Xret) et de charge (Yret) reçues à partir de l'uti- litaire mathématique 94. A la réception de chaque valeur courante (Xc, Yc) , la dernière valeur précédente X1, Y1 est enregistrée dans la mémoire vive 75a (figure 6A) et ces va- leurs Xc, X1, Yc, Y1 sont utilisées pour interpoler les va- leurs entre les points contrôlés (figure 5), pour obtenir une valeur vraie de Y à Xcons. Ceci est nécessaire du fait que le contr8le par échantillonnage à des instants périodi- ques des valeurs de X et Y peut ne pas donner une valeur exac- tement au point Xcons. Lorsqu'une valeur courante de X est inférieure à Xccns (figures 2-5), on utilise la va- leur suivante de Y (Yc) avec la valeur précédente de Y (Y1) pour obtenir une valeur de Y à Xcorns. Si Y à Xcons est supérieur à la valeur de Yccns (figure 2), un compte de dépassements est ir.crémer.té. Lorsque le compte de dépassements atteint un nombre prédéterminé, un signal de détection de condition d'épuisement est émis vers le module de gestion de pompe 91 (figure 12). Lorsque la valeur calculée de Y à Xcons est inférieure ou égale à Ycons, le compte de dépassements est mis à zéro pour fai- re en sorte qu'un nombre particulier de dépassements con- sécutifs soit atteint avant que le signal de détection de condition d'épuisement soit émis vers le module de gestion de pompe 91 (figure 12). Il va de soi que de nombreuses modifications peuvent être apportées au dispositif et au procédé décrits et représentés, sans sortir du cadre de l'invention. REVENDICATIONS 1. Dispositif de contrôle du fonctionnement d'une installation de pompage de puits comportant un train de tiges d'aspiration (16) et ur. moteur (30) destiné à communiquer un mouvement alternatif au train de tiges (16) pour produire du fluide à partir d'un emplacement sou- terrain, caractérisé en ce qu'il comprend: un premier transducteur (47) destiné à produire un signal représenta- tif d'une charge s'exerçant sur le train de tiges (16); des moyens de compensation d'une dérive du signal de char- ge sous l'effet d'un changement des caractéristiques du premier transducteur (47); un second transducteur (53) destiné à produire un signal représentatif d'une position du train de tiges (16); des moyens (49a) destinés à utili- ser le signal de charge compensé pour établir une valeur sélectionnée correspondant au signal de charge compensé, et à utiliser le signal de position pour établir une po- sition de référence du train de tiges (16); et des moyens (49a) destinés à mettre le moteur (30) hors fonction lors- que la valeur correspondant au signal de charge dépasse la valeur sélectionnée alors que le train de tiges (16) est à la position de référence. 2. Dispositif de contrôle selon la revendication 1, caractérisé en ce que la position de référence se trouve dans une course descendante du train de tiges (16). 3. Dispositif de contr8le selon la revendication 1, caractérisé en ce qu'il comprend des moyens (49a) desti- nés à effectuer une mise à jour périodique de la valeur sé- lectionnée du signal de charge, en utilisant des signaux de charge produits pendant une durée prédéterminée, et à effectuer une mise à jour périodique de la position de ré- férence en utilisant des signaux de position qui sont pro- duits pendant cette durée prédéterminée. 4. Dispositif de contrôle du fonctionnement d'une installation de pompage de puits comportant un train de tiges d'aspiration (16) et un moteur (30) destiné à ccmmuni- quetr un mouvement alternatif au train de tiges pour pro- duire du fluide à partir d'un emplacement souterrain; caractérisé en ce qu'il comprend: un premier transducteur -5 (47) destiné à produire un signal représentatif d'une char- ge s'exerçant sur le train de tiges (16); des moyens (49a) destinés à compenser une dérive du signal de charge due à un changement dans les caractéristiques du premier trans- ducteur (47); un second transducteur (53) destiné à produi- re un signal représentatif d'une position du train de ti- ges (16), des moyens (49a) destinés à compenser une dérive du signal de position due à un changement dans les carac- téristiques du second transducteur (53); des moyens (49a) destinés à utiliser le signal de charge compensé pour éta- blir une valeur sélectionnée correspondant au signal de charge compensé, et à utiliser le signal de position com- pensé pour établir une position de référence du train de tiges (16); et des moyens (49a) destinés à mettre le mo- teur (30) hors fonction lorsque la valeur correspondant au signal de charge dépasse la valeur sélectionnée alors que le train de tiges (16) se trouve à la position de référen- ce. 5. Dispositif de contr8le selon la revendication 4, caractérisé en ce que la position de référence se trouve dans une course descendante du train de tiges (16). 6. Dispositif de contr8le selon la revendication 4, caractérisé en ce qu'il comprend des moyens (49a) desti- nés à effectuer une mise à jour périodique de la valeur sé- lectionnée du signal de charge, en utilisant des signaux de charge produits pendant une durée prédéterminée, et à effectuer une mise à jour périodique de la position de ré- férence en utilisant des signaux de position qui sont pro- duits pendant cette durée prédéterminée. 7. Dispositif de contr8le du fonctionnement d'une installation de pompage de puits comportant un train de tiges d'aspiration (16) et un moteur (30) destiné à communiquer un mouvement alternatif au train de tiges pour produire du fluide à partir d'un emplacement souterrain, ce dispositif comportant des moyens (49a) destinés à compenser continuel- lement une dérive dans les caractéristiques de transduc- teurs (47, 53) qui sont utilisés dans le contr8le du fonc- tionnement, caractérisé en ce qu'il comprend: un premier transducteur (47) destiné à produire un signal représenta- tif d'une charge s'exerçant sur le train de tiges (16); un second transducteur (53) destiné à produire un signal re- présentatif d'une position du train de tiges (16); des moyens (49a) destinés à utiliser le signal de charge pour établir une valeur sélectionnée correspondant à la charge, et à utiliser le signal de position des tiges pour établir une position de référence du train de tiges (16); des - moyens (49a) destinés à combiner des valeurs courantes du si- gnal de charge avec des valeurs précédentes du signal de charge, pour établir une valeur sélectionnée mise à jour, et à combiner des valeurs courantes du signal de position des tiges avec des valeurs précédentes de signaux de posi- tion des tiges, pour établir une position de référence mise à jour; des moyens (49a) destinés à contrôler le signal de charge lorsque le train de tiges (16) atteint la position de référence mise à jour; et des moyens (49a) destinés à mettre le moteur (30) hors fonction lorsque la valeurcor- respondant au signal de charge dépasse la valeur sélection- née mise à jour alors que le train de tiges (16) se trouve à la position de référence mise à jour. 8. Dispositif de contrôle selon la revendication 7, caractérisé en ce que la position de référence mise à jour se trouve dans une course descendante du train de tiges (16). 9. Dispositif de contrôle selon la revendication 7, caractérisé en ce que le moteur (30) est mis hors fonction après que le signal de charge a dépassé la valeur sélectionnée mise à jour un nombre de fois prédéterminé, de façon consécuti- ve, à la position de référence mise à jour. 10. Dispositif de contrEle selon la revendica- tioCn 7, caractérisé en ce qu'il comprend des mcyens d'en- trée (60, 49b) destinés à l'introduction d'un pcurcentage du signal de position des tiges, et des moyens (49a) des- tinés à utiliser ce pourcentage dans l'établissement de la position de référence du train de tiges (16), cette po- sition de référence changeant sous l'effet d'un changement progressif de la valeur du signal de position des tiges. 11. Dispositif de contrôle selon la revendica- tion 7, caractérisé en ce qu'il comprend des moyens (60, 49b) destinés à l'introduction d'un pourcentage du signal de charge, et des moyens (49a) destinés à utiliser ce pour- centage dans l'établissement de la valeur sélectionnée de la charge, cette valeur sélectionnée changeant sous l'ef- fet d'un changement progressif de la valeur du signal de charge. 12. Dispositif de contrôle selon la revendica- tion 7, caractérisé en ce qu'il comprend des moyens d'entrée (60, 49b) destinés à l'introduction d'un pourcentage de X et d'un pourcentage de Y dans les moyens de mise à jour, le pourcentage de X étant un pourcentage prédéterminé de la dif- férence entre une valeur minimale et une valeur maximale de la position du train de tiges (16), et le pourcentage de Y étant un pourcentage prédéterminé de la différence entre une valeur minimale et une valeur maximale du signal de charge; et des moyens (49a) destinés à utiliser les valeurs de pour- centage de X et de pourcentage de Y pour établir la position de référence du train de tiges (16) et la valeur sélection- née du signal de charge. 13. Dispositif de contrôle selon la revendication 7, caractérisé en ce que les moyens de mise à jour (49a) uti- lisent au moins une valeur maximale. du signal de charge et au moins une valeur minimale du signal de charge pour établir la valeur sélectionnée du signal de charge. 14. Dispositif de contrôle selon la revendica- tion 13, caractérisé en ce que le moteur (30) est mis hors fcnction après que le signal de charge a dépassé la valeur sélectionnée mise à jour un nombre de fois prédé- terminé, à la position de référence mise à jour, en une durée prédéterminée. 15. Procédé de contrele du fcnctionnement d'une installation de pompage de puits comportant un train de tiges d'aspiration (16) et un moteur (30) destiné à com- muniquer un mouvement alternatif au train de tiges (16), pour produire un fluide à partir d'un emplacement souter- rain, caractérisé en ce qu'il comprend les opérations sui- vantes: on monte un premier transducteur (47) sur l'ins- tallation de pompage pour produire un signal représentatif d'une charge s'exerçant sur le train de tiges (16); on com- pense une dérive du signal de charge due à un changement dans les caractéristiques du premier transducteur (47); on monte un second transducteur (53) sur l'installation de pompage pour produire un signal représentatif d'une posi- tion du train de tiges (16); on utilise un signal de charge compensé pour établir une valeur sélectionnée correspondant au signal de charge compensé; on utilise le signal de posi- tion pour établir une position de référence du train de ti- ges (16); et on met le moteur (30) hors fonction lorsque la valeur correspondant au signal de charge dépasse la valeur sélectionnée, alors que le train de tiges (16) se trouve à la position de référence. 16. Procédé de contrôle selon la revendication , caractérisé en ce qu'il comprend les opérations supplé- mentaires qui consistent à compenser une dérive dans le si- gnal de position qui résulte d'un changement dans les carac- téristiques du second transducteur (53) et à utiliser un si- gnal de position compensé pour établir la position de réfé- rence du train de tiges (16).