FR 2554176 A1 19850503 FR 8406178 A 19840418 L'invention concerne un procédé et un appareil pour surveiller le fonctionnement d'unités de pompage de puits à tiges de pompage, et elle a trait plus particulière- ment à un procédé et un appareil pour introduire des points de contrôle par rapport au graphique ou relevé dynamique d'une unité de pompage de puits. Des unités de pompage du type à tiges sont lar- gement utilisées dans l'industrie du pétrole pour extraire des fluides de puits s'enfonçant dans des formations sou- O10 terraines. De telles unités comprennent un train de tiges de pompage qui descend dans le puits et des moyens situés à la surface et destinés à faire monter et descendre le train de tiges pour commander une pompe de fond. Un type de ces unités est l'unité de pompage dite à "balancier" dans laquelle le train de tiges de pompage est suspendu, à la surface du puits, à une structure comprenant un sup- port et un balancier monté de façon à pouvoir pivoter sur le support. Dans un type d'unité de pompage, le train de tiges de pompage est relié à une extrémité du balancier 2a dont Irautre extrémité est reliée à un générateur de force motrice tel qu'un moteur par l'intermédiaire d'une trans- mission convenable à manivelle et bielle. Dans cet agence- ment, le balancier et le train de tiges de pompage sont commandés de façon à exécuter un mouvement alternatif sous l'action du générateur de force motrice. Divers défauts de fonctionnement tels que l'usure de pompes, la rupture de tiges de pompage, l'éclatement de colonnes et le blocage de clapets de pompe peuvent interrompre le pompage des fluides d'un puits. Ces défauts de fonctionnement peuvent être dus à une usure normale de l'équipement, à la nature du fluide pompé ou à des conditions anormales de pompage. Une condition anormale de pompage qui apparaît fréquemment est connue sous le nom de "cognement de fluide". Le cognement de fluide se produit lorsque le puits est épuisé, c'est-àdire lorsque le fluide est retiré du puits à un débit supérieur à celui auquel il passe de la formation dans le puits. A ce moment, le puits dans lequel travaille la pompe de fond n'est rempli que partiellement Ipamt la course de montée du plongeur et, lorsque ce 2àge= redescend, il frappe ou "cogne" sur le fluide se troa=mtt dans le corps de travail de la pompe, provoquant num brusque secousse de.'ensemble de l'unité de pcmUaem. ceni accroit la quantité d'énergie utilisée pour le pqpae et provoque une détérioration du train de tiges et de l'équipement de surface, pouvant conduire à une 'smie _ m service de l'unité de pompage. Des contrôleurs sont placés sur le pmits pour détecter cette condition de cognement du fluide ams es puits à pompage par tiges et pour arrêten le moteur de 1a pompe. De nombreux contrôleurs exigent 1l'introduc*ium dIm ou plusieurs points de contrôle par rapport au graphe ou relevé dynamique de la pompe (courbe de charge m fonction de la position) pour assumer cette tâche de contrôle. L'invention concerne un procédé et un appreil1 perfectionnés pour introduire des points de contrôle par rapport au relevé dynamique d'une unité de pompage de Aits comportant un train de tiges de pompage et une unité motrice destinée à faire exécuter un mouvement alternatif au train de tiges pour produire un fluide d'un puits. Cm enregistreur traçant, comportant un faisceau et une Lume à servocommande pour un positionnement automatique suiamt toutes coordonnées X et Y spécifiées à l'entrée de met enregistreur, est utilisé pour réaliser les graphigmes ou relevés dynamiques. La position réelle du faiscmam (X) et de la plume (Y) est utilisable comme signai de sortie, car elle est demandée par le dispositif d'asezwism- met pour qu'il se positionne lui-même. Si la commande assere est arrêtée et si le faisceau et la plume sont dàp3acés manuellement, les signaux de sortie de position X et reflètent la position réelle du faisceau (X) et de la plume (Y). Ces signaux peuvent alors être utiliss mmme entrées de points de contrôle dans un dispositif de contrôle. Si le dispositif de contrôle est de type lmmm,- rique, par exemple un système basé sur un micro-ozimamr ces signaux analogiques de sortie du traceur X-Y peuvent être convertis en une forme numérique par l'intermédiaire d'un convertisseur analogique/numérique. Lorsqu'elles sont associées à un groupe de commutateurs de fonction et à un commutateur d'entrée, un grand nombre de ces entrées X-Y peuvent être aisément introduites dans un système de commande. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemple-nullement limitatif et sur lesquels: - la figure 1 est une élévation schématique d'un puits équipé d'une unité de pompage du type à tiges de pompage; - la figure 2 est un graphique donnant la posi- tion en fonction de la charge des tiges de pompage de la pompe pendant un cycle de fonctionnement normal, ce graphique montrant un point de référence sur la courbe; - la figure 3 est un graphique donnant la posi- tion en fonction de la charge des tiges de pompage pendant que le puits présente une progression dans le cognement du fluide; - la figure 4 représente un traceur typique X-Y ou à deux axes de coordonnées, cette vue montrant un faisceau et une plume; - la figure 5 est un diagramme de circulation de messages pour une entrée de données XY de la-présente invention; - les figures 6A et 6B représentent un circuit de calculateur pouvant être utilisé dans l'appareil montré sur la figure 1; - la figure 7 est un diagramme d'une matrice illustrant le fonctionnement d'automates programmables par logiciel utilisés dans la présente invention; - la figure 8 est un diagramme illustrant les symboles d'un automate programmable par logiciel typique utilisé dans la présente invention; - la figure 9 illustre un système d'exploita- tion à logiciel commuté par messages de la présente invention; - la figure 10 illustre un ordonnanceur d'au- tomates programmables par logiciel selon l'invention; - la figure 11 montre la circulation de données dans le système d'exploitation de la présente invention; - la figureo12 est un diagramme d'états d'un programme de gestion d'affichage de montage selon l'inven- tion; - la figure 13 est un diagramme d'états d'un sélecteur d'entrée de paramètres selon l'invention; - la figure 14 est un diagramme d'états d'un programme de gestion de conversion analogique/numérique destiné à être utilisé avec un traceur XY de la présente invention; et - la figure 15 est un diagramme d'états d'un programme de gestion de clavier de la présente invention. La figure 1 représente une tête 10 d'un puits qui descend de la surface 11 de la terre jusque dans une formation souterraine productrice (non représentée). La tête de puits comprend les tronçons supérieurs d'une colonne 12 de tubage et d'un train 16 de tiges de pompage descendant jusqu'à une pompe de fond (non représentée) qui refoule du liquide vers la surface o ce liquide passe dans une conduite 17 d'écoulement. Le train 16 de tiges de pompage est suspendu à l'intérieur du puits à un dispositif comprenant un support 18 et un balancier 22 qui est monté de façon à pouvoir pivoter sur le support au moyen d'une broche 23. Une cellule 24 de charge est montée entre l'extrémité supérieure du train 16 de tiges de pompage et l'extrémité inférieure d'un tronçon 28 de câble qui est relié au balancier 22 au moyen d'un contre- poids ou "tête de cheval" 29. Le balancier 22 est animé d'un mouvement alter- natif par un générateur de force motrice tel qu'un moteur électrique 30. Ce générateur de force motrice entraîne le balancier au moyen d'un système de transmission qui comprend une courroie 34 d'entraînement, une manivelle 35, un vilebrequin 36, un bras 37 de manivelle et une bielle 41 qui est articulée entre le bras de manivelle et le balancier au moyen de broches 42 et 43. L'extrémité exté- rieure du bras 37 de manivelle comporte un contrepoids 47 qui équilibre une partie de la charge appliquée au train de tiges de pompage afin de soumettre le générateur de force motrice à une charge plus constante. La cellule de charge 24 produit un signal de sortie à courant continu qui est proportionnel à la charge imposée au train 16 de tiges de pompage, et un convertisseur analogique/numérique 48a transmet un signal numérique correspondant à un ordinateur ou calculateur 49a. Un élément de mesure de position ou transducteur 53 comprend un bras 54 d'actionnement destiné à mesurer la position verticale du train 16 de tiges de pompage en produisant une tension qui est proportionnelle à l'angle du balancier 22 et, par conséquent, à la position du train 16 de tiges. Le convertisseur analogique/numérique 48a convertit également le signal du transducteur 53 en un signal numérique qui est utilisé par le calculateur 49a. Des signaux sont transmis du calculateur 49a à un calcu- lateur 49b par deux récepteurs-émetteurs universels synchrones asynchrones (USART) 55a, 55b destines à commander le fonctionnement d'un traceur XY 59. Les instructions provenant d'une unité 60 à clavier et visuel et des signaux de sortie provenant de la cellule de charge 24 du trans- ducteur 53 de position sont utilisés par le traceur XY pour produire une courbe visible des caractéristiques du puits particulier dans lequel le train de tiges travaille. Le traceur 59 peut être utilisé pour l'observa- tion du fonctionnement du puits et pour la mise en place de l'équipement de surveillance du puits. Une fois que la mise en place ou le montage est achevé, le traceur et le circuit associé peuvent être déconnectés. Des signaux analogiques de position de faisceau et de plume provenant du traceur XY 59 sont convertis en signaux numériques par un convertisseur analogique/numérique 48b afin d'être utilisés par le calculateur 49b et les signaux numériques du calculateur 49b sont convertis en signaux analogiques par un convertisseur numérique/analogique 61 afin d'être utilisés par le traceur. Le traceur XY 59 (figure 4) comprend un faisceau 62 qui se déplace horizontalement sous l'effet de signaux (X) de position des tiges, un porte-plume (63) qui se déplace verticalement sous l'effet de signaux (Y) de charge des tiges, et une plume (63a) qui trace un graphique ou relevé dynamique sur une feuille de papier 64 sous la commande des signaux X et Y. Une courbe de la position en fonction de la charge du train de tiges 16 (figure 1), correspondant à un cycle typique d'opérations du train de tiges lorsque le puits est rempli de fluide, est montrée sur la figure 2. On peut voir que, lorsque le train de tiges exécute une course montante de la posi- tion Xmin à la position Xmax, la charge imposée au train de tiges augmente jusqu'à une valeur maximale, puis revient approximativement à la valeur initiale. De plus grande importance est la variation de la charge, lorsque le train de tiges descend, avec la diminution de la charge jusqu'à une valeur minimale à un rythme relativement rapide, puis sa remontée jusqu'à une valeur à peu près égale à la valeur d'origine à la position Xmin. - Lorsque le puits approche d'un état d'épuise- ment (figure 3), la charge imposée au train de tiges varie plus rapidement lorsque le train de tiges se déplace vers le bas. Lorsque le niveau du fluide dans le puits descend, le plongeur de la pompe tombe et frappe contre la surface du fluide se trouvant dans le puits, produisant un "cognement de fluide" qui peut détériorer le train de tiges et d'autres organes du système de pompage. Lors- que le niveau du fluide du puits diminue, le plongeur de la pompe parcourt une distance de plus en plus grande, en descendant, avant d'entrer en contact avec la surface du fluide contenu dans le puits, ce qui a pour effet une variation progressive de la courbe de charge tracée, passant de la courbe 65 en traits pleins aux courbes pointillées 65a-69, la courbe se déplaçant progressivement vers la gauche en même temps que le niveau du fluide du puits descend. Cette tendance au mouvement peut être observée et la pompe arrêtée pour empêcher la détériora- tion de l'équipement. Un procédé de détection d'épuisement utilise l'appareil montré sur la figure 1 pour sélectionner un point de repère (Xset, Yset) sur les figures 2 et 3 ayant une valeur déterminée par les caractéristiques de chaque puits individuel et établie en fonction du relevé dynamique du puits. Le calculateur 49a (figure- 1) compare les courbes 65a-69 de cognement de fluide à la position du point de repère et arrête le moteur 30 lorsque la courbe de cognement du fluide se déplace vers la gauche du point de.repère montré sur la figure 3. Sur la figure 2, le début de la course de montée est indiqué en DM et le début de la course de descente en DD. Un opérateur humain peut utiliser le clavier d'entrée du calculateur 49b (figure 1) pour introduire une valeur de pourcentage X et une valeur de pourcentage Y dans le calculateur 49b qui transfère ces valeurs au calculateur 49a afin de les utiliser comme points de contrôle pour détecter une condition de cognement de fluide. Cependant, l'entrée d'un tel point de contrôle ou autre point de contrôle similaire au moyen de numéros présentés par un clavier, par exemple un pourcentage de l'échelle maximale ou une certaine valeur absolue exprimée en unités techniques telles que des kilogrammes et des centi- mètres, demande à l'opérateur d'effectuer d'abord certains calculs et/ou certaines conversions. Ceci est incommode et peut conduire à l'introduction de valeurs erronées dans le système, en particulier lorsque l'opérateur humain n'est pas expérimenté dans l'utilisation d'unités techniques. L'opérateur est familier des relevés dynami- ques, car il a précédemment tracé un relevé dynamique du puits, indiquant son comportement à son arrivée à la condition de cognement de fluide (figure 3), et le relevé dynamique est fixé à la table traçante. Le calculateur 49b a déplacé le faisceau et la plume jusqu'à une position de repos et il a arrêté les asservissements Y et Y, permettant au faisceau et à la plume d'être positionnés manuellement. L'opérateur pousse le commutateur de fonction souhaité (entrée Xset ou entrée Yset, par exemple) sur le clavier 60 et amène le faisceau ou le porte-plume dans la position qu'il souhaite pour cette fonction. Puis il pousse sur le commutateur d'entrée, ce qui provoque la transmission de cette valeur du calculateur 49b au calcu- lateur 49a, permettant ainsi au calculateur 49a d'utiliser la position actuelle du faisceau ou du porte-plume comme point de contrôle pour cette fonction. En pratique, un affichage numérique peut également être produit pour indiquer les valeurs réelles, étalonnées en unités techni- ques, de la position du porte-plume et de la position du faisceau. Si deux de ces affichages sont utilisés, 1'opé- rateur peut, par exemple, déplacer manuellement le faisceau et la plume pour effectuer un tracé sur le relevé dyna- mique et obtenir une réaction des valeurs réelles lues pour tout point du tracé dynamique. En utilisation réelle, les fonctions peuvent être les suivantes: A) Point de coupe de course pour un détecteur de point de repère; B) Point de coupe de charge pour un détecteur de point de repère; C) Limite de fenêtres X et/ou Y pour tout détecteur. Les détails d'un procédé et d'un appareil pour introduire des points de contrôle par rapport au relevé dynamique d'une unité de pompage de puits seront décrits en regard des figures 5, 6A et 6B. En plaçant les figures 6A et 6B de manière que les conducteurs du côté droit de la feuille de la figure 6A soient prolongés par les conducteurs correspondants du côté gauche de la feuille de la figure 6B, on obtient, sur les deux feuilles, une représentation schématique simplifiée d'une forme de réalisation des ordinateurs ou calculateurs 49a, 49b (figure 1). La partie du système à ordinateur représentée sur la figure 6A comprend un contrôleur 71 de moteur destiné à recevoir des signaux de la cellule de charge 24 et du transducteur 53 et à utiliser ces signaux pour déterminer la séquence de commande du moteur 30. Le calculateur 49b représenté sur la figure 6B comprend un contrôleur 72 de traceur destiné à utiliser les signaux de la cellule de charge du transducteur, transmis au calculateur 49a, pour commander le traceur XY 59. Des signaux sont interchangés entre le contrôleur 71 de moteur et le contrôleur 72 du traceur par la paire de lignes d' interconnexion 66, 67. Chacun des contrôleurs 71, 72 comprend un processeur central 73a, 73b, un contrôleur programmable 74a, 74b d'interruption, une interface programmable 75a, b de périphérique et un décodeur 76a, 76b de mémoire connectés pour échanger des informations et des instructions par un bus de système 80a, 80b. Un processeur central 73a 73b pouvant être utilisé dans la présente invention est le modèle 8088 produit par la firme Intel Corporation, Santa Clara, Californie. Une interface programmable 75a b de périphérique pouvant être utilisée est le modèle 8255A et un contrôleur programmable 74a, 74b d'interruption pouvant être utilisé est le modèle 8259A, ces deux compo- sants étant fabriqués par la firme Intel Corporation. Un décodeur d'entrée/sortie 77a, 77b décode des signaux d'adresse pour permettre sélectivement aux interfaces a, 75b de périphériques d'émettre et de recevoir des informations vers le bus du système 80a, 80b et de celui-ci. Des impulsions d'horloge destinées à commander les processeurs centraux 73a, 73b sont produites par deux générateurs d'horloge 81a, 81b qui sont initialisés par deux générateurs 82a, 82b de "restauration de mise sous tension". Le générateur 82a comprend également un circuit de défaut d'alimentation qui avertit une panne d'alimentation du contrôleur. Un générateur d'horloge 81a, 81b pouvant être utilisé dans la présente invention est le modèle 8284A produit par la firme Intel Corporation. Deux dispositifs indicateurs 83a, 83b donnent un affichage visuel d'une information provenant des interfaces 75a, b de périphériques. Le dispositif indicateur 83a comprend également plusieurs commutateurs destinés à introduire des informations dans le contrôleur du moteur. Deux hor- loges 84a, 84b produisent des signaux de synchronisation pour la commande des contrôleurs 74a, 74b et une informa- tion est transférée entre le contrôleur 71 du moteur et le contrôleur 72 du traceur par les deux récepteurs- émetteurs universels synchrones asynchrones (USART) 55a, b. L'un de ces récepteurs-émetteurs pouvant être utilisés dans la présente invention est le modèle 8251A produit par la firme Intel Corporation. Des programmes de commande du contrôleur 71 du moteur et du contrôleur 72 du traceur sont mémorisés dans une mémoire morte programmable 86a, 86b et des données à utiliser dans le système sont mémorisées dans une mémoire vive 87a, 87b. Des données à conserver en cas de panne d'alimentation peuvent être mémorisées dans une mémoire vive rémanente 85. Une mémoire vive pouvant être utilisée dans la présente invention est le modèle IXD2212 produit par la firme XICOR, Inc., Milpitas, Californie. Un conditionneur 88 de charge/course (figure 6A) amplifie et filtre des signaux transmis par la cellule de charge 24 et le transducteur 53 et il transmet les signaux lissés au bus 80a par l'intermédiaire d'un multiplexeur 89a et du convertisseur analogique/ numérique 48a. Deux convertisseurs numériques/analogiques 61a, 61b (figure 8B) produisent des signaux analogiques destinés à la commande du traceur XY 59 en réponse aux signaux numériques appliqués au bus 80b du système. Un multiplexeur 89b et le convertisseur analogique/numérique 48b produisent des signaux numériques qui correspondent aux positions X et Y du traceur 59. Un convertisseur analogique/numérique pouvant être utilisé est le modèle AD574A produit par la firme Analog Devices. Le mode opératoire général du procédé pour introduire des points de contrôle par rapport au relevé dynamique d'une unité de pompage de puits à l'aide de 1 1 l'appareil selon l'invention a été décrit en regard des figures 1 à 4. Une description détaillée de l'introduction des points de contrôle à l'aide du contrôleur 72 du traceur sera donnée en regard des figures 5 à 15 qui offrent une base pour l'utilisation d'automates programma- bles par logiciel et pour leur application à la mise en oeuvre de l'appareil des figures 1, 4, 6A et 6B, ces figures donnant des détails du fonctionnement d'un pro- gramme d'ordinateur pour l'exécution de diverses opéra- tions effectuées par l'ordinateur des figures 6A, 6B. Le programme de l'ordinateur décrit est supporté par un système d'exploitation en temps réel possédant divers sous-programmes ou "routines" qui ne sont pas orientés-pourdes applications et qui sont conçus spécifiquement pour supporter les programmes établis en fonction du concept de l'automate programmable, c'est-à- dire un programme d'états, commandé en entrée. Certaines des routines sont des sous-routines alors que d'autres forment un module qui crée un environnement simple en temps réel dans lequel des automates programmables par logiciel peuvent travailler. Le système d'exploitation offre un équipement dans lequel un groupe d'automates programmables par logiciel peut travailler. Un automate programmable par logiciel corres- pond à un processus qui est exécuté sur le calculateur numérique à chaque fois qu'un message est transmis à l'automate. Le processus ne s'effectue pas exactement de la même manière à chaque fois qu'un même message lui est transmis, car le traitement à exécuter pour tout message dépend de "l'état" de la machine, c'est-à-dire de sa mémorisation de la totalité du traitement précédent qui a été effectué en réponse aux messages précédents. L'état peut être de toute longueur, de 8 bits à plusieurs milliers de bits, suivant la complexité d'une machine donnée. Etant donné l'état de la machine et le message en cours, la machine procède à un groupe donné de traite- ments qui est totalement prévisible. Une machine peut être représentée par une matrice de processus, indexée par un état et par un message, comme montré sur la figure 7. Par exemple, si l'automate de la figure 7 reçoit un message numéro un M1 dans l'état El, un pro- cessus PA est alors exécuté. Si le processus PA fait passer l'état E2, un second message M1, venant immédia- tement après le premier message, fait apparaitre le processus PD qui peut provoquer le passage de la machine à l'état E3. Il n'est pas nécessaire qu'un processus pro- voque un changement d'état, bien qu'il puisse en être ainsi dans de nombreux cas. Un automate programmable par logiciel, lors- qu'il a achevé le processus défini par l'état et par le message, envoie la commande au programme qui l'a appelé, à savoir l'ordonnanceur d'automates qui sera décrit ci-dessous. Pendant le processus donné, la machine n'est pas interrompue afin de laisser du temps de traitement à une autre machine du même système. Ainsi, la concordance des temps de traitement entre une machine donnée et l'une quelconque de ses consoeurs dans le système s'effectue sur une base message par message, et cet environnement est appelé un système d'exploitation à commutation par messages (MSOS). Aucun des processus d'automates n'est suspendu pour les processus d'une autre machine. Par exemple, si un message trois arrive dans un état un, un processus PC commence et s'achève avant que l'unité centrale de traitement 73a (figure 6A) puisse réagir, dans son état donné, au message suivant d'un autre auto- mate. Certains phénomènes provoquent une "suspension" d'un processus exécuté par un automate. Par exemple, une interruption asynchrone peut être enregistrée et traitée. Une exigence de l'environnement d'exploitation est que de tels événements de matériel soient transformés en messages de logiciel à traiter dans l'ordre par l'automate responsable. Seul le traitement devant être exécuté à l'instant exact de l'interruption est exécuté, puis le processus de service interruption provoque la mise en place d'un indicateur ou drapeau de logiciel, achevant le processus d'interruption. Lorsque le système d'exploitation note la présence d'un drapeau asynchrone (sémaphore), il génère le message de logiciel nécessaire, devant être transmis à l'automate qui traitera le segment, non critique dans le temps, du traitement d'interruption. Un exemple d'un tel processus est la collecte de données à inter- vralles de temps précis. Lorsque l'interruption d'horloge indique que les données doivent être collectées, elle est lue de la manière nécessaire suivant le type des données, placée en file d'attente dans une zone de mémorisation pour être traitée ultérieurement, puis un drapeau est mis en place. Lorsque ce drapeau en position est noté, par le système d'exploitation, un message de logiciel est généré, la donnée est mémorisée et l'automate responsable du traitement de cette donnée revoit le message ultérieu- rement. Le système d'exploitation ne donne pas à unr auto- mate l'accès au processeur sur une base de temps régulière, mais cet automate est connecté au processeur uniquement pour qu'il traite un message. Lorsque le traitement d'un message est achevé, l'automate doit s'assurer qu'il obtiendra un autre message à un certain point dans le futur. Ceci est effectué des manières suivantes: 1) Une autre machine émet un message à des fins de synchronisation. 2) Une période de temps s'écoule, signalée par un message d'horloge. 3) Des données en temps réel deviennent dis- ponibles à partir d'une certaine file d'attente. 4) Une entrée, qui est interrogée, atteint l'état souhaité et déclenche le message de logiciel. ) Une interruption est détectée etun message de logiciel est transmis pour en informer l'automate. Le seul moment o une machine ne peut se prendre en charge elle-même précède la réception de son premier message, de sorte que le système d'exploitation prend la responsabilité de déclencher le système en trans- mettant à tous les automates programmables par logiciel, fonctionnant dans ce système, un message d'initialisation appelé dans le présent mémoire message "sous.tension" (ST). Quel que soit l'état de la machine, cette dernière réagit à un processus prédéterminé donné lorsque ce mes- sage est reçu, indépendamment de l'état de la machine. Un moyen commode pour illustrer le fonctionne- ment d'un automate programmable par logiciel est donné par le diagramme de la figure 8 qui présente les symboles de l'automate programmable en utilisant les messages de la figure 7 pour effectuer Certains des processus et pour passer dans certains des états indiqués sur la figure 7. Si l'on suppose que la machine (figure 8) doit être initialement dans l'état El, la-réception d'un mes- sage M1 provoque l'exécution d'un processus PA en tant qu'action de transition pour le message M1 reçu dans l'état 1, et fait également passerla machine dans l'état E2. Dans l'état deux, la réception d'un message M2 provo- que un processus PE, l'émission d'un message vers un autre automate et le retour de cet automate dans l'état un. Dans l'état un, la réception d'un message M3 provoque un processus PC en tant qu'action de transition pour la réception d'un message M3 dans l'état 1, mais ne provoque pas un changement d'état de la machine. Certains des autres états et processus montrés sur la figure 7 ne sont pas répétés sur la figure 8 pour plus de clarté. Sur la figure 8, la flèche F indique l'absence de changement d'état et la flèche SM la sortie d'un message. Un système d'exploitation à commutation par messages du type montré sur la figure 9 réalise une procé- dure principale qui produit des signaux pour initialiser le système par l'intermédiaire d'une procédure d'initia- lisation dusystme PIS,er cette procédure comprend l'ini- tialisation des divers éléments constitués par les inter- ruptions, les horloges, l'ordonnanceur, les entrées, la saisie de données, les mémoires vives rémanentes, le programme mathématique utilitaire et les sorties, ainsi que l'initialisation des blocs de messages disponibles afin que la totalité de la mémoire dynamique soit placée dans une file d'attente d'espace-disponible pour la mémorisation de données La procédure appelle ensuite la procédure de temps de mise sous tension PTMT qui appelle séquentiellement le traitement asynchrone PA, l'or- donnanceur d'automates SES et le traitement synchrone PS, de façon se répétant indéfiniment. Tous les programmes d'in- terruption communiquent avec le programme de-temps de mise sous tension au moyen de sémaphores. Le programme de mise sous tension tourne indéfiniment, la délivrance d'un message d'automates, une opération asynchrone et toutes les opérations synchrones étant commandées, dans le temps, par l'horloge de temps réel lors de chaque cycle de la boucle. Des opérations asynchrones pouvant apparaître sont des interruptions de lignes de commu- nication pour introduire des caractères dans le système et en faire sortir du système. Lors d'une opération asyn- chrone, l'apparition d'événements importants provoque la fixation d'un bloc de message disponible et sa trans- formation en un message à délivrer à tout automate chargé du traitement de l'interruption particulière. Les détails de la circulation de données sont montrés sur la figure 11. Les signaux provenant de la position du porte-plume et de la position du faisceau du traceur sont captés par la procédure de données GET XY et sont transférés dans une mémoire vive 87b (figure 6B) lorsque cela est demandé. Le traitement synchrone consiste en une inter- rogation des entrées de matériel, une progression des horloges et la délivrance de signaux. Lorsqu'une entrée, soumise à une interrogation par un automate quelconque, prend l'état souhaité tel qu'un état "hors", un état "en", un état supérieur à un niveau ou inférieur à un niveau, etc., un bloc de messages disponibles BMD est transmis en tant que message à la machine demandante, indiquant qu'une entrée donnée est dans l'état souhaité. L'entrée n'est plus interrogée avant qu'une autre demande soit faite. Le processus d'horloge est légèrement différent par le fait que la file d'attente d'horloge est constituée de blocs de messages servant de réceptacles pour la machine demandant le marquage du passage du temps et l'heure du jour lorsque le temps est achevé. Lorsque le temps est achevé, le bloc est retiré de la file d'attente d'horloge, et placé sur la file d'attente de délivrance de messages, en tant que message. Par conséquent, toutes les responsabilités placées sur l'automate programmable sont assumées dans le système d'exploitation par transfert de messages de logiciel et par l'utilisation de drapeaux et de files d'attente (sémaphores) en temps réel. Le premier élément du système d'exploitation (figure 91 est un programme destiné à délivrer un message à un automate programmable (figures 9 et 10) . Un message est un petit bloc de mémoire dynamique qui est en file d'attente pour être délivré à un automate programmable désigné. Ce programme est appelé un ordonnanceur d'automate SMS, et comme montré en détail sur la figure 10, il choisit le message suivant de priorité la plus élevée parmi les files d'attente de messages prêts à être délivrés (FAM). La machine recherche la désignation du code automate mémorisé dans le message et elle utilise ce code pour choisir le programme d'automate approprié à appeler à l'aide d'un pointeur P pour le bloc de message, en tant qu'entrée. Le programme contient une mémoire d'états. La mémoire et l'état peuvent être délivrés et exécutés, avec le processus approprié, et le bloc de mémoire peut être transféré de la file d'attente de délivrance à la file d'attente d'espaces disponibles pour une réutilisation ultérieure. Deux exemples de données réutilisées compren- nent des instructions pour l'émission des messages ou pour le réglage des horloges. Ces processus utilisent des blocs disponibles et les transforment en messages qui sont placés sur la file d'attente de délivrance de message à un certain instant ultérieur. Les programmes tels que le programme d'émission de message PEM et le programme de début d'horloge DHL sont des programmes utilitaires de service appelés par l'automate pour remplir les responsabilités indiquées précédemment. Le programme ordonnanceur d'automates est la forme la plus basse de lahiérarchie constituant le cycle de travail principal du système d'exploitation. Sur le diagramme de la figure 9, la relation entre l'ordonnanceur et le reste du système d'exploitation est montrée. Lors de la mise sous tension de l'ordinateur des figures 6A et 6B, les générateurs 82 a et 82b de restauration de mise sous tension produisent des signaux qui restaurent les divers éléments matériels de l'ordina- teur et provoquent l'exécution, par le processeur central 73b, de la première instruction du programme d'ordinateur mémorisé dans laomémoire morte programmable 86b. Un message "sous tension" (ST) est transmis à chacun des modules d'automates 91-94 (figure 5) de l'ordinateur et ces modules sont initialisés. Les signaux provenant de la position de la plume et de la position du faisceau du traceur (indiqués en Pp et PF sur la figure 11) sont transmis au processeur 73b par l'intermédiaire d'un multi- plexeur 89b et du convertisseur 48b et ils sont mémorisés dans la mémoire vive 87b (figures6B et 11) afin d'être utilisés par le programme 93 de gestion de conversion analogique/numérique de faisceau de plume, ce programme utilisant les signaux pour détecter un mouvement du faisceau et/ou de la plume et pour afficher leurs valeurs sous la forme d'un pourcentage d'une échelle maximale. Les messages "sous tension" (ST) font passer chacun des automates 91-94 dans leur état d'attente ATT (1). Les automates 91-94 interagissent de manière à permettre à l'opérateur de choisir plus d'un procédé d'entrée pour certaines fonctions du clavier. En particu- lier, les points de contrôle précités (dans cette forme de réalisation, le point de repère de charge et le point de repère de course) peuvent être introduits soit numé- riquement à partir du clavier 60 (figure 6B), soit par un déplacement, par l'opérateur, du faisceau 62 du traceur (figure 4) ou du porte-plume 63 (comme choisi) vers une position souhaitée sur un relevé dynamique tracé précédemment. L'entrée réelle de la valeur s'effectue au moyen d'une touche d'entrée du clavier 60. Les machines 91-94 travaillent de manière à déterminer celui des deux procédés possibles d'entrée qui apparaît en premier, validant ainsi ce procédé et empêchant l'autre procédé d'être exécuté. Le procédé et l'appareil selon l'invention permettent à un opérateur humain de choisir de façon souple d'introduire des paramètres choisis du relevé dynamique, soit graphiquement, soitipar l'intermédiaire du clavier numérique 60 (figure 6B) et ils reposent sur l'utilisation des signaux retransmis à partir de l'enregistreur XY pour obtenir des informations concernant les positions du faisceau et du porte-plume. Le procédé principal d'in- - troduction des paramètres choisis du relevé dynamique consiste à utiliser les signaux de position du faisceau et du porte-plume, tandis que le clavier est utilisé comme appoint pour permettre la sélection d'un paramètre dans le cas d'une défaillance du mode principal ou pour intro- duire commodément les variations relativement faibles des paramètres. - Le programme 91 de gestion d'affichage de mise en place (figures 5 et 12) est destiné à assurer l'affichage d'une information sur l'unité 60 à clavier et visuel (figure 6B) et de toute modification applicable des valeurs de mise en place du puits et d'affichage. Les valeurs de mise en place du puits peuvent comprendre un point de repère de course et un point de repère de charge. Les valeurs extérieures à la plage acceptable sont affichées avec un code d'erreur pour alerter l'opérateur humain. Un message "effacement" (EFF) est transmis au programme de gestion d'affichage de mise en place (figure 12) pour effacer toutes fonctions d'affichage/ mise en place et pour valider toutes les touches de fonction du clavier 60 (figure 6B). La machine attend une entrée du clavier dans l'état "attente touche" (ATT TO) (2). Lorsqu'un message commuté (COMM) est reçu (en C sur la figure 12), indiquant qu'une touche de fonction a été actionnée sur le clavier 60,il est déterminé si la fonction peut être introduite au moyen de: A) Uniquement le clavier, ou B) Le clavier ou un mouvement du faisceau et de la plume (comme indiqué à la ligne KBD de la figure 12). Un message "KBDORA2DINPUT" est transmis au sélecteur 92 d'entrée de paramètres (figure 5) lorsqu'à la fois le clavier et la position du faisceau de la plume peuvent être utilisés comme éléments d'entrée pour un nouveau paramètre. Tel est le cas de l'entrée de points de repère de charge et de course. Un signal "KBDINPUT" est transmis au sélecteur 92 d'entrée de paramètres (figure 5) uniquement lorsqu'une entrée de clavier est permise. Un signal "demande ancienne valeur" (DAV) est transmis (en C sur la figure 12) au contrôleur 71 par l'intermédiaire de la ligne de commu- nication en série 66, 67. Le contrôleur renvoie un message "ancienne valeur" (AV) (en D sur la figure 12) avec l'an- cienne valeur pour cette fonction particulière. Cette valeur est ensuite affichée sur le visuel 83b (figure 6B) afin que l'opérateur puisse voir le réglage en cours pour la fonction qu'il achoisie. Le programme de gestion d'affichage de mise en place introduit ensuite l'état d'attente de paramètres (indiqué en 4 sur la figure 12) pour attendre une nouvelle valeur soit du programme de gestion du clavier, soit du programme de gestion de conver- sion analogique/numérique. Le sélecteur 92 d'entrée de paramètres (figures et 13) a pour responsabilités: 1) De valider ou d'invalider le dispositif d'entrée de paramètres possibles tel que demandé par le programme de gestion d'affichage de mise en place de la figure 12. 2) De recevoir des données introduites et de les transmettre au programme de gestion d'affichage de mise en place à des fins de vérification de plage. Un message "KBDORA2DINPUT" provenant du programme de gestion d'affichage de mise en place {figure 12) permet de recevoir des données du programme 93 de gestion de conversion analogique/numérique (figure 5) ou du programme 94 de gestion du clavier (figure 5). L'un ou l'autre de ces dispositifs choisi en premier devient le dispositif d'entrée. Le message "KBDINPUT" (indiquê en B sur la figure 13) ne permet d'introduire que des valeurs provenant du clavier. Lorsqu'un message "KBDORA2DINPUT" est reçu en C sur la figure 13), un message "GO" est transmis à la fois au programme 94 de gestion du clavier (figure 5) et au programme 93 de gestion de conversion analogique/ numérique. Lorsqu'un message "KBDINPUT" est reçu (en B sur la figure 13), un message "GO" est transmis uniquement au programme de gestion du clavier. Le sélecteur 92 d'en- trée de paramètres (figure 5) introduit alors l'état du dispositif d'entrée décideur (en 2 sur la figure 13) pour attendre la réponse soit du clavier, soit du programme 93 de gestion de conversion analogique/numérique (faisceau et plume). Si une entrée de clavier se produit en premier, le sélecteur 92 d'entrée de paramètres reçoit un message "clavier choisi" (KBDSEL) (en D sur la figure 13). Dans ce cas, un message "STOP" est transmis au programme 93 de gestion analogique/numérique, invalidant l'entrée à partir du faisceau et de la plume. A ce moment, un mes- sage de début "START" est également transmis au programme de gestion du clavier, l'autorisant à afficher les valeurs en entrée. Cependant, si l'entrée du faisceau ou de la plume se produit en premier, le sélecteur 92 d'entrée de para- mètres reçoit un message "conversion analogique/numérique choisie" (ANSEL) (indiqué en E sur la figure 13) du pro- gramme 93 de gestion de conversion analogique/numérique. * Dans ce cas, un message "STOP" est transmis au programme 94 de gestion du clavier, empêchant toute entrée à partir du clavier. A ce moment, également, un message "START" est aussi transmis au programme de gestion de conversion analogique/numérique, l'autorisant à afficher les valeurs introduites par la plume et/ou le faisceau. Lorsque l'opérateur humain a introduit la valeur qu'il souhaite placer dans le système, il actionne un commutateur d'entrée (non représenté) du clavier 60 (figures 1 et 6B). Ceci provoque la transmission d'un message "commuté" (COMM.) au sélecteur 92 d'entrée de paramètres (en F sur la figure 13). A ce moment, un message de demande de valeur (DV) est transmis à la fois au pro- gramme 94 de gestion du clavier et au programme 93 de conversion analogique/numérique (faisceau et plume). Le dispositif inactif ne répond pas, mais le dispositif actif renvoie un message "valeur" au sélecteur 92 d'entrée de paramètres, en même temps que la valeur introduite. Lorsque ce message "valeur" est reçu par le programme de gestion d'affichage de mise en place (en G sur la figure 12), la valeur est transmise au contrôleur 72 (figure 6B) par les mêmes procédés que ceux décrits pré- cédemment. Si la valeur est acceptable pour le contrôleur, ce dernier renvoie un message."OK" au programme 91 de gestion d'affichage de mise en place (figure 5). Le programme de gestion d'affichage de mise en place (en H sur la figure 12) efface alors l'affichage et passe à l'état (2) d'attente de clavier afin d'attendre l'actionne- ment d'une autre touche de fonction. Cependant, si la valeur n'est pas acceptable pour le contrôleur, ce dernier renvoie un message "NON OK" au programme de gestion d'affichage de mise en place. Ce dernier (en I sur la figure 12) affiche alors un code d'erreur et passe à l'état d'attente (1). Dans ce cas, un message d'effacement "EFF" doit être reçu avant que les touches de fonction puissent de nouveau être vérifiées. Le programme 93 de gestion de conversion analogique/numérique (faisceau et plume) (figures 5 et 14) est responsable de la présentation du mouvement du dispo- sitif analogique/numérique choisi. Lorsque cette machine reçoit un message "GO" du sélecteur 92 d'entrée de para- mètres (en B sur la figure 14), elle commence à réaliser une surveillance portant sur le mouvement du dispositif choisi dans l'état d'attente de mouvement analogique/ numérique (2). Lorsqu'un mouvement est détecté (en C sur la figure 14), un message de conversion analogique/numérique choisi (ANSEL) est transmis au sélecteur d'entrée de paramètres et le programme de gestion de conversion analogique/numérique passe en mode d'attente de début (indiqué en 3 sur la figure 14). Lorsqu'un message "START" est reçu du sélecteur d'entrée de paramètres (en D sur la figure 14), comme décrit précédemment, l'état d'affi- chage est introduit. Dans l'état d'affichage, les valeurs du faisceau et/ou de la plume sont reçues sur une base de temps régulier et elles sont affichées pour l'opérateur humain sur le visuel 83b. Lorsque l'opérateur humain actionne la touche d'introduction du clavier 60 (figures 1 et 6B), provoquant la transmission d'un message de demande de valeur (DV) (en G sur la figure 14) au programme de gestion de conver- sion analogique/numérique, comme décrit précédemment, l'affichage est figé à la valeur la plus récente reçue et cette valeur restante est transmise au sélecteur d'entrée de paramètres sous la forme d'un message "valeurs" comme décrit précédemment. Le programme 93 de gestion de conversion analogique/numérique (figure 5) passe alors à l'état d'attente (en 1 sur la figure 14) dans lequel il peut être de nouveau actionné par un autre message "GO". Si, pendant que le programme de gestion de conversion analogique/numérique est dans l'attente d'un mouvement du faisceau et/ou de la plume, il reçoit un message "STOP", (en H sur la figure 14), il passe alors dans le mode d'attente (1) et devient inactif. Le mode d'affichage est indiqué en 4 sur la figure 14, les valeurs de commuta- tion de conversion analogique/numérique, associées à ce mode, étant indiquées en COMM. Y et COMM. X. Le programme 94 de gestion du clavier (figures 5 et 15) travaille d'une manière similaire au programme de gestion de conversion analogique/numérique, sauf qu'il collecte des valeurs pour une fonction donnée introduite par l'intermédiaire du clavier 60 (figure 1) plutôt que les valeurs introduites par la position du faisceau ou de la plume du traceur. Le programme de gestion du clavier a pour responsabilité de réagir à la manoeuvre de l'une des touches numériques (0-9) du clavier 60. Lorsque ce programme de gestion du clavier reçoit un message "GO" du sélecteur d'entrée de paramètres 92 (en B sur la figure 15), il commence à surveiller le clavier de façon à détecter la manoeuvre d'une touche numérique. Lorsqu'une première de ces manoeuvres est détectée, comme indiqué par un message "commuté" (COMM.) (en C sur la figure 15), un message "clavier choisi" (KDBSEL) est transmis au sélecteur d'entrée de paramètres et l'état d'attente de début (indiqué en 3 sur la figure ) est introduit. Lorsque le message "START" est reçu du sélecteur d'entrée de paramètres (en D sur la figure 15), indiquant que le procédé d'introduction par clavier est choisi en premier, soit l'état (4) de touche de traitement, soit l'état (5) de suppression de zéros non significatifs est introduit suivant que l'entrée numérique est à une valeur zéro ou à une valeur non zéro. Les nombres introduits sont affichés sur le visuel au fur et à mesure qu'ils sont introduits, les zéros non significatifs étant supprimés. Lorsque l'opérateur humain actionne la touche d'introduction du clavier 60 (figures 1 et 6B), provoquant la transmission d'un message "demande de valeur" (DV) au programme de gestion du clavier (en F sur la figure 15), comme indiqué précédement, l'affichage est figé à la valeur introduite et la valeur est transmise au sélecteur 92 d'entrée de paramètres (figure 5) sous la forme d'un message "valeurs". Le programme de gestion du clavier passe ensuite à son état d'attente (1) dans lequel il peut être de nouveau actionné par un autre message "GO". Si, pendant que la machine du programme de gestion du clavier est dans l'attente de la première toucheenfoncée, elle reçoit un message "STOP" (en H sur la figure 15), elle passe également dans l'état d'attente (1), devenant ainsi inactive. REVENDICATION Appareil pour introduire des points de contrôle par rapport à un relevé dynamique d'une unité de pompage de puits comportant une pompe placée à une certaine profondeur dans un puits et reliée à un train (16) de tiges de pompage, ainsi qu'à une unité motrice (30) destinée à faire exécuter un-mouvement alternatif au train de tiges pour provoquer la production d'un fluide à partir d'un emplacement souterrain, l'appareil étant caractérisé en ce qu'il comporte un premier transducteur (24) destiné à générer un signal représentatif d'une charge imposée au train de tiges, un second transducteur (53) destiné à générer un signal représentatif d'une position du train de tiges, un traceur XY (59) destiné à utiliser le signal de charge et le signal de position pour produire un relevé dynamique de la charge en fonction de la position du train de tiges, ce traceur comportant un faisceau (62) et un porte-plume (63) destiné à déplacer une plume pour produire un relevé dynamique visible, et des moyens destinés à utiliser une position du faisceau et une position du porte-plume pour choisir des points de contrôle par rapport au relevé dynamique.