FR 2556052 A1 19850607 FR 8406177 A 19840418 L'invention concerne un procédé et un appareil pour la surveillance du fonctionnement d'unités de pompage de puits exploités à l'aide de tiges de pompage et elle a trait plus particulièrement à un procédé et un appareil pour l'enregistrement puis la reproduction de graphiques dynamiques choisis portant sur des puits utilisant des unités de pompage à tiges. Les unités de pompage du type à tiges sont large- ment utilisées dans l'industrie du pétrole pour extraire des fluides de puits pénétrant dans des formations souter- raines. Ces unités comprennent un train de tiges de pom- page qui pénètre dans le puits et des moyens situés à la surface et destinés à faire monter et descendre le train de tiges afin d'actionner le plongeur d'une pompe de fond. L'une de ces unités est le type dit à "balancier" dans lequel le train de tiges de pompage est suspendu, à la surface du puits, à une structure comprenant un support sur lequel un balancier est monté de façon à pouvoir pivo- ter. Le train de tiges de pompage est normalement relié à une extrémité du balancier dont l'autre extrémité est reliée à un générateur de force motrice tel qu'un moteur par l'intermédiaire d'une transmission convenable à mani- velle et bielle. Dans cet agencement, le balancier et le train de tiges de pompage sont animés d'un mouvement alter- natif par le générateur de force motrice. Lorsqu'un problème provoque l'arrêt d'un puits, il est souhaitable de revoir les conditions de fonctionne- ment précédant immédiatement l'arrêt ou l'interruption. Ceci peut être effectué par observation des gra- phiques dynamiques indiquant l'historique d'un puits équipé d'instruments, commandé et pompé par tiges, ces graphiques comprenant: 1) Les graphiques dynamiques utilisés par l'ins- trument pour son propre étalonnage. 2) Les graphiques dynamiques précédant immédia- tement l'interruption du puits par le contrôleur du puits ou par d'autres moyens. A cet effet, le contrôleur du puits doit sauve- garder, dans sa mémoire, une série de points de données de course en charge pour leur reproduction ultérieure sur un traceur de courbes ou autre dispositif, lorsque cela est demandé ultérieurement. La quantité d'informations qui est sauvegardée est limitée par l'importance de l'espace disponible en mémoire, de sorte qu'il est souhaitable de comprimer les données avant leur mémorisation afin d'écono- miser l'espace ou la capacité de la mémoire. Il est en outre souhaitable d'afficher ces gra- phiques dynamiques par rapport à un certain système absolu de référence tel qu'une limite de charge minimale et une limite de charge maximale. Il est également avantageux d'incorporer les seuils et/ou points de réglage que le ou les détecteurs du contrôleur utilisaient au moment de l'enregistrement des graphiques dynamiques. L'invention concerne un procédé et un appareil perfectionnés pour enregistrer puis reproduire des graphi- ques dynamiques choisis associés à des puits comportant une unité de pompage équipée d'un train de tiges de pom- page et d'un groupe moteur destiné à faire exécuter un mouvement alternatif au train de tiges pour produire un fluide du puits.Une cellule de charge est montée entre le train de tiges de pompage et le groupe moteur afin de produire un signal représentatif de la charge imposée au train de tiges, et un transducteur est connecté de façon à générer un signal représentatif de la position du train de tiges. Au moment de la mise en action initiale de l'unité de pompage, cette dernière peut fonctionner pendant une brève période jusqu à ce que l'exploitation du puits soit stabilisée et l'unité étalonnée. Pendant l'étalonnage, des signaux provenant de la cellule de charge et du transducteur de position sont enregistrés dans une mémoire d'une manière qui émule une boucle finie de bande et les signaux mémorisés sont disponibles à la demande pour permettre une révision des graphiques dyna- miques qui étaient utilisés pour étalonner le système. Pendant le fonctionnement de l'unité de pompage, des signaux de charge et des signaux de position sont enregis- trés dans une autre section de la mémoire, de la même manière, et ils sont utilisables pour aider à la recher- che de défauts après l'arrêt de la pompe ou à d'autres fins. Des signaux sont écrits continuellement dans la mémoire pendant le fonctionnement du puits de sorte que seuls les signaux enregistrés la plus récemment sont dispo- nibles en mémoire. Lorsque le pompage est interrompu, l'écriture en mémoire s'arrête de manière que les signaux produits pendant la période précédant l'interruption soient sauvegardés et utilisables pour aider à détermi- ner la cause de l'interruption. La présente invention sauvegarde les données pendant les 15 secondes précédant la fin de l'étalonnage du puits et les 75 secondes précédant l'arrêt de la pompe. Les techniques utilisées peuvent être mises en oeuvre pour sauvegarder une quantité quelconque de données et un nombre quelconque de bornes de pompage et elles ne sont pas limitées aux 15 secondes et aux 75 secondes de données précédant la fin de l'étalonnage et l'arrêt. Au moins un jeu de mémoires tampons est utilisé pour l'enregistrement et au moins un autre jeu est-utilisé pour-lareproduction. Les mémoires tampons d'enregistrement sont de longueur fixe, émulant une boucle sans fin de bande. De nouvelles données sont enregistrées sur les données les plus anciennes jusqu'à ce que l'enregistrement soit arrêté. A la fin de "l'enregistrement", les rôles des mémoires tampons sont inversés de manière que l'enregistre- ment venant d'être achevé puisse être utilisé pour la reproduction et qu'un nouvel enregistrement puisse avoir lieu dans l'ancienne mémoire tampon de reproduction.- Cette technique permet de disposer continuellement de données d'historique pour le traçage de courbes, que la pompe fonctionne ou non. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemples nullement limitatifs 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; 5. 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 gra- phique montrant également un point de référence de-la courbe; les figures 3A et 3B représentent un schéma simplifié du circuit d'un ordinateur pouvant être-utilisé dans l'appareil de la figure 1; la figure 4 est un diagramme matriciel illus- trant le fonctionnement d'automates programmables par logiciel utilisés dans la présente invention; la figure 5 est un diagramme illustrant les symboles d'un automate programmable par logiciel typique utilisé dans la présente invention; * la-figure. 6 est un diagramme d'un système d'exploitation à logiciel commuté par messages selon l'in- vention; la figure 7 est un diagramme d'un ordonnanceur d'automate programmable par logiciel selon l'invention; 25. les figures 8. et 9 sont des schémas illustrant la circulation de données dans le système d'exploitation et le système utilitaire mathématique de l'invention; - la figure 10 est-un diagramme de circulation de messages montrant le mode de fonctionnement de l'appa- reil de la figure 1; la figure 11 est un schéma illustrant le format d'une mémoire tampon utilisée pour mémoriser et récupérer des données d'une manière analogue à l'utilisa- tion d'une bande sans fin; les figures 12 à 14 sont des diagrammes d'état qui illustrent le fonctionnement de l'appareil représenté sur la figure 1; la figure 15 est un schéma représentant un mot de données non comprimées de 16 bits,utilisé dans la présente invention; et la figure 16 est un schéma représentant un mot de données ccopriméesutilisé pour enregistrer des points de donnée dans la présente invention. La figure 1 représente une tête 10 d'un puits qui descend de la surface 11 du sol dans une formation souter- raine de production (non représentée). La tête de puits comprend les tronçons supérieurs d'un tubage 12 et d'un train 16 de tiges de pompage descendant jusqu'à une pompe de fond (non représentée) qui fait circuler le 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 de support compre- nant un support 18 et un balancier 22 qui est monté de façon à pouvoir pivoter sur le support à l'aide d'une bro- che 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 relié au balancier 22 au moyen d'un contrepoids 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 dernier entraîne le balancier par l'in- termédiaire d'une transmission qui comprend une courroie 34 d'entraînement, une manivelle 35, un vilebrequin 36, un bras de manivelle 37 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 du balancier porte un contrepoids 47 qui équilibre une partie de la charge appliquée au train de tiges de pompage afin que la charge imposée au générateur de force motrice soit plus constante. La cellule de charge 24 produit un signal de courant continu qui est proportionnel à la charge imposée au train 16 de tiges de pompage, et un convertisseur analogique/numérique 48a produit un signal numérique correspondant transmis à un calculateur ou ordinateur 49a. Un élément de mesure de position ou transducteur 53 comprend un bras 54 d'actionnement afin de mesurer la position verti- cale du train 16 de tiges de pompage de façon à produire une tension qui est proportionnelle à l'angle du balancier 22 et donc à la position du train 16 de tiges. Le conver- tisseur numérique/analogique 48a convertit également le signal du transducteur 53 en un signal numérique qui est utilisé par le calculateur-49a. Les signaux sont transmis du calculateur 49a à un calculateur 49b par deux récepteurs- émetteurs universels synchrones asynchrones (USART) 55a, b afin de commander le fonctionnement d'un traceur de courbes 59. Des instructions provenant d'une unité 60 à clavier et visueletdes signaux de sortie provenant de la cellule de charge 24 sont utilisés par le traceur de courbes pour qu'il réalise une courbe visible des carac- téristiques du puits particulier dans lequel le train de tiges travaille. Le traceur 59 peut être utilisé pour l'observation du fonctionnement du puits et pour le réglage de l'équipement destiné à surveiller le puits. Une fois que le réglage est achevé, le traceur peut être débranché ou bien, si cela est souhaité, il peut être retiré et d'autres moyens peuvent être utilisés pour le réglage de l'équipement. Des signaux analogiques prove- nant du traceur 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 provenant du calculateur 49b sont convertis en signaux analogiques par un convertisseur numérique/analogique 61 afin d'être utilisés par le traceur. Une courbe de la position en fonction de la charge du train 16 de tiges, lors d'un cycle typique du train de tiges alors que le puits est rempli de fluide, est montrée sur la figure 2. On peut voir que, lorsque le train de tiges effectue une course montante à partir de la position Xmin jusqu'à la position Xmax, la charge imposée au train augmente jusqu'à une valeur maximale puis revient approximativement à la valeur initiale. Les figures 3A et 3B représentent en détail un procédé et un appareil pour enregistrer puis reproduire des graphiques dynamiques choisis, c'est-à-dire des graphi- ques donnant la position en fonction de la charge, pour des puits à tiges de pompage. En plaçant les figures 3A et 3B côte à côte de manière que les conducteurs partant du côté droit de la figure 3A soient prolongés par les conducteurs correspondants du côté gauche de la figure 3B, on obtient un schéma simplifié d'une forme de réalisation des calculateurs 49a, 49b (figure 1). La partie du système de calcul, ou ordinateur, représentée sur la figure 3A comprend un contrôleur 71 de moteur destiné à recevoir des signaux de la cellule de charge 24 et du transducteur 53 et à les utiliser pour déterminer la séquence de commande du moteur 30. Le calcu- lateur 49b représenté sur la figure-3B comprend un contrô- leur 72 de traceur destiné à utiliser les signaux de la cellule de charge et du transducteur transmis par le calculateur 49a pour commander le traceur de courbes 59. Des signaux sont échangés entre le contrôleur 71 du moteur et le contrôleur 72 du traceur par les deux fils d'inter- connexion 66 et 67. Chacun des contrôleurs 71 et 72 comprend un processeur central 73a, 73b, un contrôleur programmable d'interruption 74a, 74b, une interface programmable de périphérique 75a, 75b et un décodeur de mémoire 76a, 76b connectés pour échanger des informations et des instruc- tions 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 pro- grammable 75a, 75b 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 composants é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 30U interfaces 75a, 75b de périphérique d'émettre et de recevoir des informations vers le bus système et en pro- venance de ce bus 80a, 80b. Des impulsions d'horloge pour la commande des processeurs centraux 73a, 73b sont produites par deux générateurs d'horloge 81a, 81b qui sont initialisés par deux générateurs "restauration de mise sous tension" 82a, 82b. Le générateur 82a comprend également un circuit de défaillance d'alimentation qui avertit que l'alimentation du contrôleur est défaillante. 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 fournissent un affichage visuel de l'information provenant des interfaces 75a, 75b de périphérique. Le dispositif indicateur 83a comprend également plusieurs commutateurs destinés à introduire des informations dans le contrôleur du moteur. Deux horloges 84a, 84b produisent des signaux de synchronisation desti- nés à commander les 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 55a, 55b. On peut utiliser pour ces derniers, dans la présente invention, le modèle 8251A produit par la firme Intel Corporation. Des programmes pour la commande du contrô- leur 71 de moteur et du contrôleur 72 de traceur sont enregistrés dans une mémoire morte programmable 86a, 86b et des données destinées à être utilisées dans le système sont enregistrées dans une mémoire vive 87a, 87b. Les données à maintenir pendant une panne d'alimentation peuvent être enregistrées dans une mémoire vive rémanente 85. Un conditionneur 88 de charge/course (figure 3A) amplifie et filtre les signaux provenant de la cellule de charge 24 et du transducteur 53 et transmet les signaux filtré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 3B) produisent des signaux analogiques commandant le traceur de course 59 en réponse à des signaux numériques parcou- rant le bus système 80b. Un multiplexeur 89b et le conver- tisseur 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 fonctionnement général d'un appareil d'enre- gistrement et de reproduction de graphiques dynamiques selon l'invention a été décrit en regard des figures 1 à 3B. Une description détaillée du procédé d'utilisation du contrôleur 71 de moteur et du contrôleur 72 de traceur pour enregistrer et reproduire des graphiques dynamiques de charge-course sera donnée en regard des figures 4 à 9 qui offrent une base pour l'utilisation d'automates programmables par logiciel et pour leur mise en oeuvre pour faire fonctionner l'appareil montré sur les figures 1, 3A et 3B, les figures donnant également des détails du fonctionnement d'un programme d'ordinateur permettant d'exécuter les diverses opérations réalisées par l'ordi- nateur montré sur les figures 3A et 3B. Le programme de l'ordinateur décrit est supporté par un système d'exploitation en temps réel possédant divers sous-programmes, appelés ciaprès "routines" aui ne sont pas orientés vers des applications et qui sont conçus spécifiquement pour supporter des programmes établis en fonction du concept de l'automate programmable, c'est-à-dire un programme d'état commandé en entrée. Certaines des routines sont des sous-programmes, alors que d'autres forment. un module créant un simple environne- ment en temps réel dans lequel les automates programma- bles par logiciel peuvent travailler. Le système d'exploi- tation constitue un équipement dans lequel un groupe d'automates programmables par logiciel peut fonctionner. 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 se déroule pas exactement de la même manière à chaque fois qu'un même message lui est transmis, car le traitement à réaliser pour tout message quelconque dépend de "l'état" de la machine, c'est-à-dire de sa mémoire de l'ensemble du traitement antérieur qui a été réalisé en réponse aux messages précédents. L'état peut être de toute longueur quelconque comprise entre 8 bits et 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 ou automate exécute un traitement donné qui est totalement prévisible. Une machine ou un automate peut être représenté sous la forme d'une matrice de processus, indexée par un état et un message, comme montré sur la figure 4. Par exemple, si l'automate de la figure 4 reçoit un message numéro 1 (M1) dans l'état 1 (E1), un processus A (PA) est réalisé. Si le processus A a pour effet de provoquer un changement d'état pour donner l'état 2 (E2), un second message numéro 1, provenant immédiatement après le premier message, fait appa- raître un processus D (PD) qui peut faire passer la machine à l'état 3 (E3). Il n'est pas nécessaire qu'un processus provoque un changement d'état, bien qu'il puisse en être ainsi dans de nombreux cas. Un automate programmable par logiciel, lorsqu'il a achevé le processus défini par l'état et par le message, renvoie la commande au programme qui l'a appelée, à savoir l'ordonnanceur d'automates programmables qui sera décrit ci-après. 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 répartition du temps de traitement entre une machine donnée et une autre 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 commuté par messages (MSOS). Aucun des processus effectués par les automates n'est suspendu pour les processus d'une autre machine. Par 1 1 exemple, si un message M3 arrive dans un état 1, un pro- cessus C commence et s'achève avant que l'unité centrale de traitement 73a.(figure 3A) puisse réagir au message suivant, dans son état donné, d'un autre automate. Certains événements peuvent provoquer la "suspension" d'un processus d'automate. Par exemple, une interruption asynchrone peut être enregistrée et traitée. Il est nécessaire à l'environnement d'exploitation que de tels événements affectant le matériel soient transformés en messages de logiciel pour être traités en ordre par l'automate responsable. Seul le traitement devant être effectué à l'instant exact de l'interruption est réalisé, puis le processus de prise en charge d'interruption provo- que la mise en place ou le positionnement d'un drapeau de logiciel, achevant le processus d'interruption. Lorsque le système d'exploitation note un drapeau asynchrone' (sémaphore), il génère le message de logiciel nécessaire à transmettre à l'automate qui traite le segment non critique dans le temps, du processus d'interruption. Un exemple d'un tel processus est la collecte de données à intervalles de temps précis. Lorsque l'interruption d'hor- loge indique que des données doivent être collectées, ces données sont lues de la manière demandée suivant le type de donnée, elles sont placées en file d'attente dans une zone de mémorisation pour être traitées ultérieurement, et un drapeau ou indicateur est positionné. Lorsque le système d'exploitation note la présence de cet indicateur posi- tionné, un message de logiciel est généré, les données sont mémorisées et l'automate responsable du traitement de ces données reçoit le message un instant plus tard. Le système d'exploitation ne permet pas à un automate d'accéder au processeur régulièrement dans le temps, mais l'automate n'est connecté au processeur que pour le traitement d'un message. Lorsque le traitement d'un message est achevé, l'automate doit s'assurer qu'il recevra un autre message ultérieurement. Ceci est effectué des manières suivantes: 1) Un autre automate é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 disponi- bles à partir d'une certaine file d'attente. 4) Une entrée qui est interrogée acquiert l'état souhaité et déclenche le message de logiciel. ) Une interruption est détectée et un 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 se situe avant la réception de son premier message, de sorte que le système d'exploitation prend la responsabilité de lancer le système en émettant vers tous les automates programmables par logiciel, - fonctionnant dans le système, un message d'initialisation appelé message "sous tension" dans le présent mémoire. Quel que soit l'état de la machine, cette dernière réagit par un processus donné prédéterminé lorsqu'elle reçoit ce message, indépendamment de son état. Un moyen commode pour illustrer le fonctionne- ment d'un automate programmable par logiciel est donné par les symboles de l'automate sur la figure 5 qui utilise les messages de la figure 4 et qui montre l'exé- cution de certains des processus et le passage à certains des états indiqués sur la figure 4. Si l'on suppose que la machine (figure 5) doit être initialement dans l'état 1 El, la réception d'un message provoque l'exécution du processus A (PA) comme action de transition pour le message 1 (M1) reçu dans l'état 1, et fait également passer la machine dans l'état 2 (E2). Dans l'état 2, la réception d'un message 2 (M2) provoque le processus E (PE), ainsi que l'émission d'un message vers un autre automate et le retour du premier automate dans l'état 1 (El). Dans l'état 1, la réception du message 3 (M3) provoque le processus C en tant qu'action de transition pour la réception du message 3 dans l'état 1, mais ne provoque aucun changement d'état de la machine. Certains des autres états et processus indiqués sur la figure 4 ne sont pas répétés sur la figure 5 pour simplifier le dessin. Sur la figure 5, la flèche F désigne l'absence de change- ment d'état et la flèche SM désigne la sortie d'un message. Un système d'exploitation commuté par-'message du type montré sur la figure 6 comprend une procédure princi- pale qui produit des signaux destinés à initialiser le système par l'intermédiaire d'une procédure PIS d'initia- lisation du système, et cette procédure principale comprend l'initialisation de diverses interruptions, d'horlogeS, de l'ordonnanceur, d'entrées, de saisie de données, des mémoires vives rémanentes, du système mathématique utilitaire et des sorties, ainsi que l'ini- tialisation des blocs de message disponibles BMDIS afin que la totalité de la mémoire dynamique soit placée dans une file d'attente d'espace disponible pour la mémorisa- tion de données. La procédure fait ensuite appel à la procédure de temps de mise sous tension PTMT qui appelle successivement le traitement asynchrone TA, l'ordonnanceur d'automates SMS et le traitement synchrone TS, de façon répétée et sans fin. Tous les programmes d'interruption communiquent avec le programme de mise sous tension au moyen de sémaphores. Ce programme de mise sous tension tourne indéfiniment, la délivrance d'un message d'auto- mate, une opération asynchrone et toutes les opérations synchrones étant synchronisées par l'horloge en temps reel pour chaque cycle de la boucle. Les opérations asynchrones pouvant apparaître sont: l'entrée de données à partir d'une file de saisie de données en temps réel et des interruptions de ligne de communication pour introduire des caractères dans le système et en faire sortir du système. Dans l'opération asynchrone, des événements importants provoquent la fixation d'un bloc de message disponible et la transformation en un message à distribuer vers tout automate quelconque chargé de traiter l'interruption particulière. Etant donné que les données sont en file d'attente au moment de la saisie, l'opération de transfert est asynchrone. Si le traitement de données tombe derrière I'entrée de données, le système peut utiliser le temps compris entre les tops d'horloge synchrones pour revenir sur l'opération demandée. Des détails de la circulation des données dans le traitement asynchrone du bloc DQ de la figure 6 sont montrés sur la figure 8. Des signaux provenant de la cellule de charge 24 et du transducteur de course 53 (figure 13) sont captés par la procédure de données GET XY et sont transférés dans les données XY Q de la mémoire vive 87a (figure 3A) par la procédure PUT XY Q en réponse à une interruption d'horloge en temps réel, puis elles sont retirées par la procédureGET XY Q. Utne fois que les données ont été saisies, elles sont traitées par le programme mathématique utilitaire (en PM, sur la figure 6). Ce programme ou système mathé- matique utilitaire accède aux valeurs brutes de course (X) et de charge (Y) et lisse les valeurs de X et Y. La valeur lissée de X (X) (figure 8) et la valeur lissée de Y (Y) sont obtenues par la mise en oeuvre d'une technique de lissage à moyenne mobile dans laquelle les n dernières valeurs de X (ou de Y) reçues sont additionnées et divi- sées par le nombre de valeurs (n) afin que l'on obtienne une première valeur lissée. Pour obtenir la valeur lissée suivante, X, la valeur la plus nouvelle est incorporée dans la somme, mais la valeur reçue la plus ancienne en est exclue. Les valeurs de X et Y sont ensuite transmises à tous les automates programmables qui ont souscrit pour ces valeurs à l'aide de la procédure "émission message" PEM (figure 12) de façon à placer les messages sur la file d'attente de messagesà délivrer. Le traitement synchrone effectue une interroga- tion d'entrée de matériel, il assure la progression des horloges et la délivrance des signaux. Lorsqu'une entrée, qu'un automate programmable quelconque demande d'interro- ger, arrive à 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 à l'automate demandeur, 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 apparaisse. Le processus d'horloge est légèrement différent par le fait que la file d'attente d'horloge est consti- tué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 il est placé sur la file d'attente FAIM de. déli- vrance de messages, en tant que message. Par conséquent, l'automate programmable assume toutes ses responsabilités dans le système d'exploitation en transférant des messa- ges de logiciel et en utilisant des drapeaux et des files d'attente en temps réel (sémaphores). Le premier élément du système d'exploitation (figure 6) est un programme destiné à délivrer un message à un automate (figure. 6, 7). Un message est un petit bloc de mémoire dynamique qui est placé en file d'attente pour être délivré à un automate programmable désigné. Ce programme est appelé un ordonnanceur d'automate et, comme montré en détail sur la figure 7, il sélectionne, parmi la file d'attente de messages prêts à être délivrés, le message suivant de priorité la plus élevée. L'automate recherche le code de désignation d'automate mémorisé dans le message et il utilise ce code pour sélectionner le programme approprié à appeler à l'aide d'un pointeur P dirigé vers le bloc de message, en tant qu'entrée. Le programme contient une mémoire d'états. Le processus approprié peut être délivré, avec la mémoire et l'état, et exécuté, et le bloc de mémoire peut être transféré de la file d'attente de délivrance à la file d'attente d'espace disponible pour être ensuite réutilisé. Deux exemples de données réutilisées sont constitués par des instructions pour émettre- les messages ou pour régler les horloges. Ces processus prennent des blocs disponi- bles et les transforment en messages qui seront placés ultérieurement sur la file d'attente de délivrance de messages. Des programmes tels que le programme d'émis- sion de message PEM et le programme de déclenchement d'horloge DHL sont des programmes utilitaires appelés par l'automate pour répondre aux responsabilités indi- quées précédemment. Le programme ordonnanceur d'automate est la forme la plus basse de la hiérarchie constituant le service principal du système d'exploitation. Sur le diagramme de la figure 6, la relation entre l'ordonnan- ceur et le reste du système d'exploitation est montrée. Sur la figure 7, la flèche iAM désigne une information d'adresse de message, la flèche PRM un pointeur de retardement de message et la flèche PNH un pointeur de nom d'horloge. Lorsque les calculateurs des figures 3A et 3B sont mis sous tension, les générateurs 82a et 82b de restauration de mise sous tension produisent des signaux qui restaurent les divers éléments du matériel de l'ordi- nateur et provoquent l'exécution, par le processeur central 73a, de la première instruction du programme d'ordinateur mémorisée dans la mémoire morte programma- ble 86a. Un message '"sous tension" (ST) est émis, de la manière décrite précédemment, vers chacun des modules d'automates 91-98 (figure 10) des calculateurs et ces modules sont initialisés. Les valeurs des signaux de charge provenant de la cellule de charge 24 (figure 3A) * et les valeurs des signaux de course provenant du trans- ducteur 53 sont obtenues par le processeur 73a, par l'intermédiaire du conditionneur 88 et du convertisseur 48a, et elles sont mémorisées dans la mémoire vive 87a (figures 3A, 8) pour être utilisées par le système mathématique utilitaire qui lisse ces valeurs comme décrit précédemment. Les valeurs lissées de la charge et de la position des tiges sont disponibles pour d'autres modules d'automates, à la demande. Le diagramme de circulation de message de la figure 10 montre la circulation de messages entre plusieurs modules d'automates 91-94 dans un moniteur 72a et plusieurs modules d'automates 95-98 dans un analyseur 71a. La circu- lation des messages entre les divers modules à l'intérieur de l'analyseur 71a, entre les modules à l'intérieur du moniteur 72a et entre les modules situés dans l'analyseur 71a et dans le moniteur 72a est montrée. Un message "sous tension" (ST) transmis aux modules 91-94 provoque l'initialisation de ces derniers et leur passage dans leurs états d'attente (ATT) (figures 12 - 18). Le superviseur d'archivage 92 (figure 10) efface les données de toutes les mémoires tamponsCB1, CB2, MB1,-MB2 (figure 11) et il sélectionne les mémoires tampons à utiliser pour l'enregistrement d'étalon- nage, pour la reproduction de l'étalonnage, pour -l'enre- gistrement de l'arrêt et pour la reproduction de l'arrêt, l'une des quatre mémoirestampons étant utilisée pour chacune de ces caractéristiques. Lorsque le détecteur.91 de cognement de fluide (figure 10) reçoit le message "sous tension" ST, il transmet un message "début d'enre- gistrement de surveillance" DES au superviseur 92 d'archi- vage pour provoquer le début du processus d'enregistre- ment de "monitorage" ou d'historique d'arrêt. Ce même message aurait pu être déclenché par l'un quelconque des automates programmables par logiciel ou extérieurement, mais le choix du détecteur 91 de cognement de fluide s'avère être commode, car l'automate connaît le début et la fin des deux périodes d'étalonnage et de surveillance. Il convient également de noter que la période d'enregis- trement (étalonnage) est également incluse dans la période de surveillance. Le début d'enregistrement d'étalonnage est indiqué en DEE, la fin d'enregistrement d'étalonnage est indiquée en FEE et la fin d'enregistrement de surveil- lance est indiquée en FES. Si cela est souhaité, ces périodes d'enregistrement pourraient être placées dans un autre ordre. Le superviseur d'archivage 92 (indiqué en T sur la figure 12) transmet le message de début d'enregis- trement de surveillance à l'enregistreur d'archivage ENAR, en même temps qu'un pointeur (P) à la mémoire tampon à utiliser pour l'enregistrement (surveillance) d'arrêt. Lorsque l'enregistreur reçoit ce message (en D sur la figure 13) il demande d'abord certaines valeurs essentiel- les devant être utilisées à ce moment, à d'autres automa- tes du système. Ces valeurs comprennent les valeurs sui- vantes indiquées à titre nullement limitatif: 1) Le maximum réel de charge des tiges 2) Le maximum réel de course des tiges 3) Le minimum réel de charge des tiges 4) Le minimum réel de course des tiges 5) Le point de réglage de course 6) Le point de réglage de charge 7) La limite maximale de charge des tiges, et 8) La limite minimale de charge des tiges. Lorsque ces demandes sont réalisées, l'enregis- treur (figure 13) passe à l'état (2) d'obtention de para- mètres de surveillance afin d'attendre la réception des paramètres. A chaque fois qu'un paramètre demandé est reçu (en P sur la figure 13), il est identifié puis placé dans une position de l'en-tête E-T de la mémoire tampon de surveillance (figure 11) qui lui est réservée. Si une conversion est nécessaire pour passer de comptes analogi- ques/numériques en unités techniques, elle est effectuée à ce moment. Lorsque tous les paramètres demandés (VS) ont été reçus et sauvegardes' dans la mémoire d'en-tête de surveillance MB1 ou MB2 (figure 11), il est demandé une circulation des valeurs brutes X (course) et Y (charge) à partir du programme mathématique utilitaire (figure 10) et l'état est positionné à l'attente de surveillance pour l'état Y {en 3 sur la figure 13). Aucune valeur supplémentaire n'est alors nécessaire, comme indiqué en NVS. Lorsque l'enregistreur d'archivage est dans l'état d'attente de surveillance pour Y, la première valeur de X reçue est sauvegardée dans une mémoire tempo- raire. Lorsque la première valeur de Y est reçue (en F sur la figure 13), les premières valeurs X et Y sont-pla- cées à l'état non comprimé dans l'en-tête de la mémoire tampon de façon à être utilisées séquentiellement par les techniques de compression et d'extension de données. L'enregistreur d'archivage est placé dans l'état de données de mémorisation de surveillance (en 4 sur la figure 13). Dans cet état, les valeurs brutes X et Y sont reçues (X est reçue la première, puis Y) à la fréquence d'échantillonnage, à partir du programme mathématique utilitaire 100. Lorsqu'une valeur X est reçue, elle est sauvegardée dans une mémoire temporaire. Lorsqu'une valeur Y est reçue (en B sur la figure 13), les valeurs X et Y sont mémorisées dans la mémoire tampon MB1, MB2 de surveillance (figure 11) sous une forme comprimée. Une compression de 4:1 est réalisée par mémorisation de deux valeurs de 16 bits dans une position de 8 bits par une technique de compression de données à basse fidélité, avec décalage de base. Les données sont mémorisées dans la mémoire tampon sous la forme d'une valeur de base et d'une série de deltas ou de différences à partir de la dernière donnée ponctuelle, par exemple: Base tampon (donnée 0) et dl,d2, dn O dl = donnée 1 - base tampon d2 = donnée 2 - donnée 1 dn = donnée n - donnée n1 Cette méthode ne comprime pas le nombre total de bits dans le tampon, car étant donné que la donnéen est toujours proche de la donnée n+1, dans le cas d'une donnée de 16 bits, des différences de 8 bits peuvent être mémorisées (sous la forme d'un bit de signe, plus 7 bits d'amplitude) et une compression de 2 à 1 est réalisée. A chaque fois que la différence est supérieure à 7 bits, la fidélité disparaît. Ce prolongement peut être prolongé d'un pas par réduction volontaire de fidélité. En considérant la diffé- rence de 16 bits entre des points de données adjacents, l'amplitude de 15 bits peut être divisée en 4 zones dis- tinctes A, B, C et D, comme indiqué sur la-figure 15. Une représentation à compression 4:1, basse fidélité, de la différence de la figure 15 est donnée sur la figure 16 o le bit de signe(15 ou zone A) de la figure 15 est déplacé dans le bit 3 de la figure 16 et les bits 3, 4 et 5 (zone C) de la figure 15 ont été placés dans les bits 0, 1 et 2 du mot à 4 bits de la figure 16. Ceci est possible car la zone D (figure 15) est ignorée en tant que réduction de fidélité, et la zone b (figure 15) est ignorée car il est supposé que les données sont proches les unes des autres. Si un bit quelcon- que est à une valeur logique 1 dans la zone B (ayant une différence supérieure-à celle prévue), la zone C est alors forcée à la différence maximale de: -.-.... i i 1 quelle que soit la différence initiale. Lorsque les données doivent être reconstituées (expansées), une différence de 16 bits est reformée par retour de A et C en position et mise à zéro des zones B et D. Etant donné que, par ce procédé, les valeurs réelles de données sont perdues, lorsqu'une nouvelle base pour une mémoire tampon est nécessaire-, elle provient d'une reconstitution de la base en cours et de la différence la plus ancienne pour l'éta- blissement de cette nouvelle base. Lorsqu'une nouvelle valeur doit remplacer une valeur ancienne, il est commode d'utiliser, comme base, la valeur de données immédiatement plus jeune, mais elle est perdue et ne peut jamais être utilisée pour une reconstitution. Cependant, la Valeur associée au point qui lui correspond pendant la reconsti- tution est disponible et peut être récupérée pendant la compression. La nouvelle donnée peut alors être mémorisée sous-la forme d'un décalage par rapport à cette base. Etant donné que la fidélité est sacrifiée, la base ancienne plus la différence le plus nouvellement reconstituée sont utilisées comme nouveau point de base pour le point de donnée suivant à mémoriser ?;_ i- Fuite. Ces points de base suivent (ou sont proches en valeur à) des données récentes, mais ils leur sont rarement égaux. Il est sûr, que lorsque l'ensemble de la mémoire tampon est reconstitué, le dernier point régénéré est exactement égal à ce point de base extrême de la mémoire tampon. Etant donné que Ies points de données n'ont jamais des valeurs logiques 1 dans les bits 2, 1 et 0 de la forme reconstituée, un "filtre" de moyenne mobile est utilisé pour extraire les étapes numériques de ces données. Ce filtre produit évidemment des valeurs avec bits dans les positions 2, 1 et 0. Par exemple, si les données reconstituées avaient les valeurs suivantes, déduites d'une rampe qui a été comprimée et reconstituée: 8, 16, 32, 24, 48, 48, 56 _._ _. ne--moyenne mobileèà cinq points donnerait: 8, 16, 25, 33, 41, 48, 56 o les 3 valeurs médianes ont évidemment des bits d'ordre inférieur après lissage et ressemblent mieux à la rampe. Si une fréquence de données élevée était utili- sée pour l'échantillonnage du signal original, un bit pourrait être utilisé uniquement pour la mémorisation du signe, avec une amplitude impliquée de 1 compte. Si tel était le cas, la méthode serait celle communément appelée "modulation delta" utilisée dans des applications téléphoniques pour comprimer des données de la parole de 24 kilobits/seconde à 3 kilobits/seconde, avec une certaine perte de fidélité. Cependant, une fréquence de données de 3 kilobits/seconde est nécessaire pour maintenir de faibles différences de point à point. Dans le cas d'une carte dynamique de puits exploité par tiges de pompage, devant être échantillonnée assez souvent, l'utilisation de cette technique serait peu pratique. S'il fallait quatre fois la quantité d'échantil- lons, aucune économie ne résulterait de la technique décrite ci-dessus. Les données brutes sont reçues par l'enregistreur d'archivage 93 (figure 10) sous leur forme complète de 16 bits pour chaque valeur brute X et de 16 bits pour chaque valeur brute Y. Le premier point X (X$FIRST) et le premier point Y (Y$FIRST) de chaque type de donnée sont mémorisés sous leur forme complète de-16 bits. Chacune des valeurs X et Y supplémentaires est comprimée jusqu'à un total d'un multiplet de 8 bits pour les deux valeurs X et Y. Un mot de base X de 16 bits est mémorisé pour un point, sous la forme "X$FIRST ou X$LAST"; et un mot de base Y de 16 bits est mémorisé sous la forme i'Y$FIRST ou Y$LAST". La compression utilise une amplitude de signe et cela est effectué de la manière suivante: 1. X$DIFFERENCE$MOT = BRUT$X - X$BASE$MOT 2. Effacer X$COMPRESS$OCTET 3. Si X$DIFFERENCE$MOT est inférieur à O placer alors bit de signe dans X$COMPRESS$OCTET et complément à 2 XeDIFFERENCE$MOT 4. Si un bit quelconque 6 à 14 est placé dans X$DIFFERENCE$MOT, placer alors bits de données dans X$COMPRESS$OCTET (bits 0, 1 & 2) Autrement, déplacer bits de données de X$DIFFERENCE$MOT (bits 3, 4, & 5) à X$COMPRESS$OCTET (bits 0, 1 & 2) 5. Faire de même pour Y 6. Combiner X$COMPRESS$OCTET & Y$:COMPRESS$OCTET en octet x-y comprimé appelé COMPRESS$X$Y La partie X comprend les bits 7, 6, 5 et 4. La partie Y comprend les bits 3, 2, 1 et 0. Les bits 7 et 3 sont des bits de signe, le positionnement (logique 1) étant moins et l'effacement (logique O) étant plus. Les données comprimées sont mémorisées dans l'une des mémoires tamponsCB1, CB2, MB1, MB2 de la figure 11. Les mémoires tampors d'étalonnage CB1 et CB2 ont chacune une capacité de 330 points de données X et Y, et les mémoires tampons de surveillance MB1 et MB2 ont chacune une capa- cité de 1650 points de données X-et Y, mais, si cela est nécessaire, on peut utiliser une capacité plus ou moins grande. Le fonctionnement des mémoires tampon peut être plus aisément compris en supposant que cinq points de données doivent être chargés dans cinq positions de mémoire (positions A, B, C, D, E) dans une mémoire tampon à données circulaires. Chaque point de donnée est repré- senté par un multiplet de données comprimées contenant un X comprimé et un Y comprimé. Avant que de nouvelles données brutes X et-Y arrivent: "X$FIRST"est la valeur du mot du premier point de donnée x à tracer et "Y$FIRST" est la valeur du mot du premier point de donnée y à tracer. "SECOND$DATA" est un pointeur vers le second point de donnée C (un multiplet comprimé) à tracer. D est le troisième point de donnée (un multiplet comprimé) à tracer. E est le quatrième point de donnée (un multiplet comprimé) à tracer. A est l'avant-dernier point de donnée (un multi- plet comprimé).à tracer. B est le dernier point de donnée (un multiplet comprimé) à tracer, o B est la version comprimée des mots "X$LAST & Y$LAST". Lorsqu'une nouvelle valeur brute X et une nou- velle valeur brute Y arrivent, le processus est le suivant: 1. A l'aide de "X$FIRST & Y$FIRST" comme bases, le point C est expansé en un groupe complet de mots appelés "C$FULL$X & C$FULL$Y" à l'aide de l'expansion telle que décrite ci- dessous. L'expansion est une amplitude de signe et elle s'effectue de la façon suivante: A. Séparer "COMPRESS$X$Y" en bits 3, 4 et 5 de X$WORK$MOT & Y$WORK$MOT"". Ne pas copier les bits de signe. B. Si un bit de signe pour x dans "COMPRESs$x$y" est plus, alors: X$EXPANDED = X$BASE$MOT + X$WoRK$icT ELSE X$EXPANDED = X$BASE$MOT - X$WORKMOT. C. Faire de même pour y. 2. Les substitutions suivantes sont alors réalisées: X$FIRST = C$FULL$X, Y$FIRST = C$FULL$Y 3. En utilisant "X$LAST & Y$LAST" comme bases, fRAW$X & RAW$Y"sont comprimées en un multiplet appelé"COMPRESSED$X$Y". Voir comment la compression est effectuée ci-dessus. 4. Le point C est remplacé par "COMPRESSED$X$Y", c'est-à-dire donnée "(second$data) = compressed$x$y". 5. En utilisant "X$rAST & Y$LAST" comme bases, "COMPRESSED$X$Ye' est expansée en mots pleins appelés "EXPANDED$X & EXPANDED$Y". 6. Les substitutions suivantes sont alors réalisées: "'EX$.LAST = EXPANDED$X, Y$LAST = EXPANDED$Y". 7. Incrémenter le second pointeur de données. Après qu'une nouvelle valeur brute x et une nouvelle valeur brute y sont arrivées: "x$FIPT$DATA" est la valeur de mot du premier point de donnée x à tracer et "Y$FIRST$DATA" est la valeur du mot du premier point de donnée y à tracer. "SECOND$DATA" est un pointeur vers le second point de donnée (un multiplet comprimé) à tracer. Il est à présent dirigé vers le point de donnée D. E est le troisième point de donnée (un multiplet comprimé) à tracer. C est le dernier point de donnée (un multiplet comprimé) à tracer. C est la forme comprimée des mots "X$LAST & Y$LAST". B est l'avant-dernier point de donnée (un multi- plet comprimé) à tracer. A est l'antépénultième point de donnée (un multi- plet comprimé) à tracer. L50 Pendant que se déroule le processus d'enregistre- ment de données de surveillance, le détecteur de cognement. de fluide commence son étalonnage. A ce moment, le détec- teur de cognement de fluide (indiqué en 91 sur la figure 10) émet un message "début d'enregistrement d'étalonnage" (DEE) vers le superviseur d'archivage. Ce dernier (indiqué en R sur la figure 12) transmet cette demande à l'enregistreur. Lorsque cette demande est reçue par l'enregistreur (en C sur la figure 13) , la dernière valeur X enregistrée dans la mémoire tampon de surveillance est copiée vers les première et dernière positions X de la mémoire tampon d'étalonnage et la dernière valeur Y enregistrée dans la mémoire tampon de surveillance est copiée vers les première et dernière positions X de la mémoire tampon d'étalonnage. L'état est alors modifié de façon à passer à l'état "mémorisation de donnée de surveillance d'étalonnage" (5). Dans cet état, lorsqu'une valeur X est reçue, elle est sauvegardée en mémoire temporaire, comme toujours. Lors- qu'une valeur Y est reçue (en BB sur la figure 13) les valeurs X et Y sont comprimées, comme décrit ci-dessus et mémorisées dans les mémoires tampons d'étalonnage et de surveillance, c'est-à-dire que deux enregistrements sont effectués simultanément. A la fin de la période d'étalonnage, le détecteur de cognement de fluide transmet un message "fin d'enregistrement d'étalonnage " (FEE) au superviseur d'archivage et ce dernier (en S sur la figure 12) transmet ce message à l'enregistreur. Ceclui-ci, lorsqu'il reçoit le message "fin d'enregistrement d'étalonnage" (en G sur la figure 13) demande, comme précédemment, des paramètres essentiels pour d'autres automates du système. Une fois que ces demandes sont réalisées, l'enregistreur passe à l'état "obtention de paramètresde surveillance d'étalonnage" (état 6 sur la figure 13) afin d'attendre la réception des paramètres demandés. A chaque fois qu'un paramètre demandé est reçu {en O sur la figure 13), il est identifié, puis piacé dans une position de l'en-tête de la mémoire tampon d'étalonnage (figure 11) qui est réservée, et une conversion des unités techniques en compteSde convertisseur analogique/numérique est réalisée si cela est nécessaire. Lorsque tous les paramètres demandés sont reçus et sauvegardés dans l'en-tête de la mémoire tampon d'étalonnage, l'état revient aux données de mémo- risation de surveillance (état 4 sur la figure 13) et un message "commutation des mémoires tampons d'étalonnage" (CTE) est transmis au superviseur d'archivage. En d'autres termes, on a achevé l'enregistrement d'étalonnage et on est revenu à l'enregistrement seul sur la "bande" de surveillance. Lorsque le superviseur d'archivage reçoit le message "commutation des mémoires tamporsd'étalonnage" (en X sur la figure 12), les mémoires tamponsd'étalonnage sont commutées. La mémoire tampon d'enregistrement de l'étalonnage en cours devient la mémoire tampon de repro- duction d'étalonnage et la mémoire tampon de reproduction devient la nouvelle mémoire tampon d'enregistrement. La nouvelle mémoire tampon d'enregistrement est initialisée par mise en place de valeurs de défauts dans son en-tête et mise en place de zéros partout ailleurs dans la mémoire tampon. A présent, la plus récente "bande' d'étalonnage est prête à la reproduction et la "bande" de reproduction précédente est effacée et prête à un nouvel enregistrement d'étalonnage. Lorsque l'on a détecté ou que l'on a été informé que le moteur de la pompe s'est arrêté, le détecteur de cognement de fluide transmet un message "fin d'enregistre- ment de surveillance" (FES) au superviseur d'archivage qui (en U sur la figure 12) transmet cette demande à l'enregistreur. Si la pompe s'arrête pendant la période d'étalonnage, un message "fin d'enregistrement d'étalon- nage" suivi d'un message "fin d'enregistrement de surveil- lance" est transmis à l'enregistreur. Si les deux messages sont transmis, l'enregistreur passe alors de l'état 5 à l'état 6 puis à l'état 7 et à l'état 1 (figure 13). - Si le message "fin d'enregistrement de surveil- lance" est rçu avant que tous les paramètres d'en-tête d'étalonnage soient reçus, le trajet allant de 5 à 6 puis- à 4 puis à 1 est suivi. Si, comme c'est habituellement le cas, le message "fin d'enregistrement de surveillance" est reçu un certain temps après l'étalonnage- (en H sur la figure 13), le trajet allant de 4 à 1 est emprunté. Comme indiqué sur la figure 13, le résultat final de ce processus est un message "commutation des mémoires tampons de surveillance" (CTS) ou "commutation des mémoires tamporsd'étalonnage (CTE) et un message "commutation des mémoires tampo rsde surveillance" sont transmis au supervi- seur. Ce dernier réagit en commutant les mémoires tampons appropriées comme décrit précédemment. Les données de surveillance ainsi que les données de l'historique d'étalon- nage sont à présent disponibles pour une reproduction et des "bandes" propres sont utilisables pour l'enregistrement. Pour reproduire un groupe de graphiques dynami- ques d'étalonnage ou un groupe de graphiques dynamiques de surveillance, constituant chacun un historique, il est nécessaire de connecter le contrôleur de traceur (figure 3B) sur le contrôleur de moteur (figure 3A) au moyen d'une ligne de communication série ou par d'autres moyens appro- priés (une ligne en série n'est pas indispensable). La figure 10 montre l'interface des automates 95-98 de traceur avec les automates de contrôleur et elle montre les relations mutuelles entre les automates 9598. Cette représentation décrit un procédé pour obtenir un enregis- trement des "bandes" précédemment mises en mémoire comme décrit précédemment. Cependant, d'autres procédés utilisant la présente invention peuvent également être mis en oeuvre. Lors de la mise sous tension de l'ordinateur de la figure 3B, des messages "sous tension" (ST) sont trans- mis aux automates 95-98 du traceur (figure 10) et ces machines sont initialisées. Le superviseur 95 du traceur commande le tracé des courbes en surveillant les touches de tracé du clavier 60 (figure 1) et il réagit aux messages nécessairesen satisfaisant les demandes introduites dans l'ordinateur. A chaque fois que le superviseur de tracé Z556052 émet un message vers le superviseur 92 d'archivage du contrôleur (figure 10), une horloge répondante est posi- tionnée. Si l'horloge répondante décompte le temps avant que lesuperviseur 95 de tracé reçoive une réponse à son message, il est indiqué une défaillance de la ligne de communication et le traceur est de nouveau initialisé. Le superviseur 92 d'archivage du contrôleur du moteur (figure 10) est subordonné au superviseur 95 du traceur. L'opérateur humain déclenche le tracé du contenu de la mémoire en appuyant sur des touches appro- priées du clavier 60 (figure 1) afin de provoquer une relecture de l'étalonnage ou de l'arrêt. La fonction de relecture d'étalonnage provoque la transmission des données mémorisées sur la "bande d'étalonnage" vers le traceur XY qui les trace. La fonction de relecture d'arrêt provoque le tracé des données mémorisées sur la "bande d'arrêt" courbe (figure 1). Certains des messages qui sont transmis par le superviseur 95 de courbes du traceur (figure 10) au superviseur 92 d'archivage du contrôleur à la suite de la manoeuvre des touches de fonction de tracé du clavier 60 (figures 1 et 3B) sont: 1) Etalonnage de courbe 2) Surveillance de courbe 3) Pause 4) Poursuite La machine 94 de reproduction d'archives (figure 10) traite toutes les communications de sortie avec le traceur pour effectuer un tracé d'historique. Lorsque le bouton de traçage (non représenté) du clavier 60 (figures 1 et 3B) est enfoncé, la machine 94 de reproduction d'archives reçoit un message d'étalonnage de courbe ou de surveil- lance de courbe du superviseur 92 d'archivage, ainsi qu'un pointeur dirigé vers la mémoire tampon de reproduc- tion en cours. La machine de reproduction transmet les paramètres de courbe et les premierpoints de- donnée X et Y au distributeur 98 de données puis elle passe en mode de pause. La machine 94 de reproduction transmet le groupe de paramètres de courbe précédé d'un- message de début de paramètres et elle finit par un message de ligne: OK transmis au ditributeur 98 de données. La grille est d'abord tracée et le traçage englobe les paramètres suivants: 1) Valeurs X et Y minimales et maximales à l'intérieur d'un rectangle. 2) Points de réglage X et Y (un trait vertical plein et un trait horizontal plein). Lorsque le traceur 96 a achevé de tracer la grille, il transmet un message "grille réalisée" (GR) au superviseur 95 de courbe qui transmet un message "PRET" au traceur 97 de donnée. Lorsque le traceur de donnée est prêt à recevoir des données, il renvoie un message "PRET" au superviseur 95 de courbe qui transmet un message de poursuite au superviseur 92 d'archivage. Lorsque la machine 94 de reproduction (figure 10) reçoit un message "poursuite", elle transmet les données de la mémoire tampon choisie (étalonnage ou surveillance) au distributeur 98 de données. Lorsque les données sont en cours d'expansion pendant la reproduction, les dernières données X et Y sont utilisées pour mémoriser les dernières valeurs X et Y expansées et elles sont utilisées comme base pour l'expansion des valeurs X et Y suivantes. Les valeurs X et Y expansées sont ensuite lissées à l'aide du programme mathématique utilitaire avant d'être transmises au distri- buteur 98 de données. La mémoire tampon de reproduction utilise l'horloge 84b du système (figure 3B) pour trans- mettre des données, sous la commande d'impulsions d'hor- loge, au distributeur 98 de données. Un message de pause transmis à la machine 94 de reproduction d'archivage arrête la circulation des données jusqu'à ce que cette machine reçoive un message "poursuite". Le distributeur 98 de données (figure 10) reçoit des paramètres de courbe et des valeurs de données XY sous forme de comptes analogiques/numériques pour contrô- leurs, à partir du dispositif d'archivage 94, les conver- tit en comptes numériques/analogiques pour tracutrs, et les rend utilisables pour d'autres dispositifs dans le traceur. Lorsque les données de courbe d'historique ont été toutes transmises, le dispositif 94 de reproduction transmet un message "courbe réalisée" (CR) au distributeur 98 de données et ce dernier transmet ces messages de courbe réalisée au traceur 97 de données et au superviseur 95 de courbe. En plus de son interface avec l'enregistreur comme décrit précédemment, lorsque le superviseur 92 d'archivage (figure 10) reçoit un message "fin d'enregis- trement d'étalonnage" du détecteur 91 de cognement de fluide, indiquant que la période d'étalonnage est finie, il transmet ce message à la machine 94 de reproduction. Si un étalonnage d'historique est en cours de reproduc- tion, un message "courbe réalisée" est transmis au distri- buteur 98 de données, achevant le tracé. La même action est réalisée dans le cas d'un message "fin d'enregistrement de surveillance". Ceci est nécessaire et constitue la seule limitation du système d'enregistrement/reproduction. Si la période d'étalonnage en cours s'achève pendant la transmission d'un graphique dynamique d'étalonnage, constituant un historique, cette transmission est interrom- pue, car les mémoires tamponsde reproduction et d'enregis- trement doivent être commutées à ce moment. Il en est de même pour la reproduction d'un graphique dynamique histo- rique de surveillance (arrêt). Il va de soi que de nombreuses modifications peuvent être apportées à l'appareil décrit et représenté sans sortir du cadre de l'invention. REVENDICATIONS 1. Appareil pour enregistrer et reproduire des graphiques dynamiques d'une unité de pompage de puits comprenant une pompe (16) placée à une certaine profondeur dans un puits et reliée à un train (15) de tiges de- pompage, ainsi qu'un groupe moteur destiné à faire exécuter un mouvement alternatif au train de tiges pour produire du fluide à partir d'un emplacement souterrain, l'appareil étant caractérisé en ce qu'il comporte un premier trans- ducteur (24) destiné à générer un signal représentatif d'une charge imposée au train de tiges, un second trans- ducteur (53) destiné à produire un signal représentatif d'une position du train de tiges, des moyens destinés à mémoriser les signaux de charge et les signaux de position pendant le fonctionnement de l'unité- de pompage, et des moyens destinés à utiliser les signaux de charge mémorisés et les signaux de position mémorisés pour analyser des défauts provoquant un arrêt de l'unité de pompage. 2. Appareil selon la revendication 1; caracté- risé en ce que les moyens de mémorisation comprennent une première mémoire à boucle sans fin destinée à mémoriser les signaux de charge et les signaux de position pendant une période d'étalonnage suivant la mise en marche du puits, et uneseconde mémoire à boucle sans fin destinée à mémoriser en continu les signaux de charge et les signaux de position pendant l'exploitation du puits. 3. Appareil selon la revendication 2, caracté- risé en ce qu'il comporte des moyens destinés à arrêter la mémorisation des signaux de charge et des signaux de position lorsque l'exploitation du puits est interrompue, - afin dé sauvegarder les signaux de charge et de position mémorisés immédiatement avant l'arrêt du puits.