Brevet FR2475327A1 — publié le 19810807

I La présente invention se rapporte, d'une manière générale, aux systèmes de transmission de données pour pro- cesseurs numériques et concerne plus particulièrement un sys- tème de transmission de données entre plusieurs processeurs contenant des micro-ordinateurs aux fins de commande de pro- cessus. Dans la plupart des installations industrielles, des commandes numériques directes (CND) ont remplacé les sys- tèmes analogiques dans la commande des boucles de traitement car ces systèmes numériques sont généralement plus souples et plus précis que les systèmes analogiques. L'utilisation de microprocesseurs a permis de rendre moins centralisée, c'est-à-dire de "distribuer" davantage la commande des processus par les systèmes CND. Dans un système CND distribué.typique, un seul microprocesseur ne commande que huit à trente-deux boucles de traitement. Ainsi, les sys- tèmes CND distribués assurent une meilleure commande et une plus grande sécurité et fiabilité comparativement aux systèmes CND classiques régis par un seul ordinateur central. Toutefois, plus récemment, certaines critiques ont été soulevées contre les systèmes CND distribués. C'est ainsi que des demandes se sont faites jour pour que ces systèmes puis- sent être interchangés avec des équipements analogiques clas- siques et ces demandes n'ont pas été satisfaites. D'autre part, dans les systèmes CND distribués connus, la panne d'un seul processeur peut arrêter le fonctionnement d'un grand nombre de boucles. Les systèmes CND classiques ont d'autres inconvénients. C'est ainsi que les boucles de commande sont généralement sur- veillées et entretenues par le microprocesseur selon une pro- cédure dite à "temps partagé", de sorte que la période de temps pendant laquelle la boucle doit attendre entre deux surveillances et entretiens par le microprocesseur est fixe et irréductible. De ce fait, la mise en action des systèmes de commande rapides dont les boucles ont de courtes périodes et qui exigent des réponses rapides, rend inadaptés les systèmes CND distribués classiques. Une solution pour améliorer les sytèmes CND distri- bués est apparue du fait que le colt des microprocesseurs a diminué suffisamment pour permettre d'utiliser un microproces- seur pour commander chaque boucle d'un système de commande numérique. Toutefois, le principal obstacle à l'utilisation d'un processeur séparé pour commander chaque boucle est dû à la difficulté que présente la communication entre les différen- tes boucles opérant séparément. Or, la communication entre les boucles de commande est une nécessité vitale dans les systèmes utilisant des commandes en-cascade, des commandes séquentielles, des commandes proportionnelles ou de rapport, etc. La figure 1 montre un système CND décentralisé comportant une commande "en cascade". Chacun des processeurs 1 et 2 commande une boucle séparée. Une variable "manipulée" fait passer la commande "en cascade" du processeur 1 au pro- cesseur 2. Cette variable est appliquée à la borne d'entrée analogique du processeur 2 et est utilisée comme point fixe pour cette boucle. Les deux montages de commande ont des convertisseurs analogique/numérique (A/N) afin de convertir les données pro- venant d'un capteur (par exemple d'un débitmètre, d'un ther- momètre, etc..) dans une forme dans laquelle elles peuvent être acceptées par la mémoire et par l'unité de traitement centrale (UTC). Dans le processeur 1, l'unité de traitement centrale utilise les données transformées du capteur (qu'on appelle également "les variables" pour calculer la variable manipulée qui est appliquée, à travers un convertisseur numé- rique/analogique (N/A) au convertisseur analogique/numérique (A/N) du processeur 2. Le système de la figure 1 présente, entre autres, le défaut de manquer de souplesse car les connexions matérielles entre les processeurs sont fixes. A cela s'ajoute que dans un tel système la communication entre les processeurs exige soit un convertisseur A/N et un convertisseur N/A pour chaque pro- cesseur, ou bien des convertisseurs opérant en temps partagé avec tous les processeurs. La figure 2 représente un système numérique distri- bué d'un type différent. Dans ce système, chaque processeur de boucle 21 contient un micro-ordinateur qui commande une seule boucle et qui est en communication avec une station principale ou directrice 22. Cette station principale, qui est pourvue d'une console, commande la communication des données en envoyant, à des intervalles de temps prédéterminés, des signaux d'inter- ruption. Dans ce système, tout transfert de données entre les processeurs implique l'intervention de la station directrice. 2475327- Or, cette nécessité est contraire à l'efficacité, car de ce fait, chaque transfert de données entre deux processeurs né- cessite deux étapes. En effet, le premier processeur envoie les données à la station directrice, laquelle les dirige ensuite vers le second processeur. Un autre inconvénient, peut être encore plus grave, est qu'en cas de panne de la station directrice, toutes les transmissions de données entre les processeurs cessent. La présente invention se propose d'apporter un système de transmission de données pour processeurs numériques dans lequel les inconvénients mentionnés ci-dessus des systèmes de transmission classiques ont été éliminés et qui permet d'ef- fectuer la transmission de données entre les processeurs avec une plus grande efficacité et fiabilité en réduisant le fardeau du processeur jouant le rôle de station principale ou direc- trice. L'invention vise également à apporter un système de transmission de données pour commandes numériques dans lequel la station directrice ou principale n'est pas affectée en per- manence à un processeur numérique particulier, palliant ainsi les effets sur le système de la panne d'un processeur. Selon l'invention, un système de transmission de données comprend un certain nombre de processeurs dont chacun est capable d'entrer en communication avec chacun des autres processeurs, une ligne omnibus reliée à chacun des processeurs pour la communication de données numériques avec les autres processeurs et des moyens de commande dans chacun des proces- seurs pour prendre le contrôle de la ligne omnibus d'un autre processeur, afin de communiquer numériquement avec n'importe quel autre processeur par cette ligne omnibus, et pour trans- férer la commande de ladite ligne omnibus à n'importe lequel des autres processeurs. Le procédé selon l'invention pour transmettre des données numériques entre plusieurs processeurs connectés à une ligne omnibus commune consiste à donner la commande de ladite ligne omnibus à l'un des processeurs, ce processeur étant celui qui, à l'instant considéré, a le contrôle de la ligne omnibus, processeur qu'on désigne sous le nom "station directrice tem- poraire", a permettre à la station directrice temporaire de communiquer avec n'importe quel autre processeur par la ligne omnibus, à permettre à la station directrice temporaire de sé- lectionner l'un des processeurs pour être la station directrice suivante ayant le contrôle de la ligne omnibus, et à passer le contrôle de cette ligne omnibus à la station directrice suivan- te. D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre, qui n'a, bien entendu, aucun caractère limitatif, en référence au dessin an- nexé, sur lequel Les figures 1 et 2 sont des schémas représentant des systèmes de transmission de données classiques pour processeurs numériques, La figure 3 est un schéma par blocs du système de transmission selon l'invention, La figure 4 est un schéma par blocs d'un processeur conforme à la présente invention; La figure 4A est un schéma par blocs d'un autre mode de réalisation d'un processeur de boucle conforme à la présente invention; La figure 5 est un organigramme illustrant la procé- dure de sélection de la station pilote provisoire: La figure 6 est un diagramme représentant la synchro- nisation d'un système de processeurs conforme à la présente in- vention; Les figures 7 et 8 sont des schémas par blocs détail- lé de plusieurs processeurs conformes à l'invention; La figure 9 est un schéma par blocs détaillés d'un processeur de boucle conforme à la présente invention; La figure 10 est un diagramme d'un format de transmis- sion de données qui peut être utilisé dans la présente inven- tion; et, La figure 11 est un schéma par blocs détaillé de la section de transmission de données du processeur de boucle de la figure 8. Un mode de réalisation préféré du système de trans- mission de données selon l'invention est représenté sur la fi- gure 3. Ce système comprend un certain nombre de processeurs 3-1 à 3-n dont chacun est capable d'entrer en communication numérique avec chacun des autres processeurs. Le système comprend également une ligne omnibus 32 reliée à chacun des processeurs pour établir les communications numériques entre eux. Les processeurs 3-1, 3-2,... 3-n opèrent chacun comme un dispositif d commande numérique directe et chacun d'eux com- mande ou "contrôle" une seule boucle. La figure 4 représente la configuration d'un proces- seur 40 faisant partie du système de transmisssion de données de ce mode de réalisation de la présente invention. Chaque proces- seur possède des moyens pour prendre en main le contrôle de la ligne omnibus commandée par l'un des autres processeurs, afin d'établir une communication numérique avec l'un quelconque de ces autres processeurs par l'intermédiaire de cette ligne omnibus, et pour passer le contrôle de cette ligne omnibus à l'un quelcon- que des autres processeurs. Dans ce mode de réalisation, les moyens de commande de données comprennent une section de transmission de données 41. qui est couplée à la ligne omnibus et qui, en autres, joue le rôle d'une interface entre la ligne omnibus interne 47 et la li- gne omnibus externe. Ces moyens de commande comprennent égale- ment une unité de traitement centrale (UTC) 42 qui commande les fonctions de communication du processeur 40. Dans le mode de réalisation préféré, le UTC 42 est un microprocesseur. Le processeur 40 contient, en plus des composants ci- dessus, une mémoire 43, un convertisseur analogique/numérique (A/N) 44 et des convertisseurs numérique/analogique (N/A) 45. Tous les éléments du processeur 40 sont reliés à la ligne omnibus interne 47. Le système de transmission de données de la figure 3 comprend un certain nombre de processeurs analogues au processeur 40 de la figure 4, couplés à une ligne omnibus. A tout instant donné, l'un des processeurs 3-1 à 3-n a le contrôle de la ligne omnibus 32. Le processeur qui assure le contrôle ou la commande de la ligne omnibus est appelé "station directrice temporaire ou provisoire", les autres processeurs étant qualifiés de "sta- tions asservies ou esclaves". Seule la-station directrice temporaire peut initialiser la transmission de données vers ou d'un autre processeur; les processeurs asservis ne peuvent que répondre aux requêtes de la station directrice principale. Dans le système de la figure 3, si la commande 3-1 a besoin de données du processeur 3-v3, il faut que le processeur 3-1 devienne la station principale pour acquérir ces données. Pour devenir la station principale, le processeur 3-1 doit être chargé du contrôle de la ligne omnibus par le processeur qui, à l'instant considéré, assure les fonctions de la station di- rectrice. Quand la station directrice temporaire a complété ses transferts de données, elle demande aux autres processeurs lequel d'entre eux désire devenir la station directrice. Si cela lui est demandé, le processeur 3-1 répond affirmativement et la station directrice actuelle transmet le contrôle de la ligne omnibus au processeur 3-1. En tant que station directrice ou principale, le pro- cesseur 3-1 requiert, par la ligne omnibus 32, que le processeur 3-3 envoie les données désirées. Un peu plus tard, le processeur 3-1 reçoit les données du processeur 3-3 par la ligne omnibus 32. Quand le transfert des données est achevé, le proces- seur 3-1 perd le droit d'être la station directrice car il n'a plus besoin de contrôler la ligne omnibus 32. Pour déterminer quel processeur doit devenir la station directrice suivante, le processeur 3-1 demande aux autres processeurs lequel d'entre eux désire devenir la station directrice suivante. Les processeurs sont "élus" ou sélectionnés successi- vement, c'est-à-dire dans l'ordre. Sur la figure 3, en supposant que le processeur 3-1 est la station principale, la séquence de sélection est 32, 3-3,..;, 3-n. En supposant que le processeur 3-7 est la station principale, la séquence sera 3-8, 3-9,.... 3-n, 3-1,..., 3-6. 247532.7 e Cette séquence particulière n'est pas plus importante qu'une autre à condition qu'aucun processeur qui peut avoir besoin de transférer des données ne soit pas empêché de devenir la station principale ou directrice. La figure 5 est un organigramme illustrant un procédé préféré d'élection ou de sélection par la station directrice temporaire des stations asservis ou esclaves afin de déterminer la station directrice suivante. Selon ce procédé, la station directrice actuelle demande successivement quel processeur dé- sire le contrôle de la ligne omnibus (étape 501). La station principale commence par déterminer si le processeur qui vient d'être élu a répondu (étape 502). Dans l'affirmative, la sta- tion principale détermine ensuite si ce processeur désire con- * trôler la ligne omnibus (étape 503), et si oui, le contrôle de la ligne omnibus est transféré à ce processeur qui devient alors la-nouvelle station principale (étape 504). Dans le cas o le processeur élu ne désirerait pas contrôler la ligne'omnibus, la station principale doit détermi- ner si tous les autres processeurs ont été interrogés (étape 505). Dans le cas contraire, la station principale recommence l'inter- rogation des processeurs et-procède aux étapes ci-dessus succes- sivement avec les processeurs suivants. Si tous les processeurs ont été interrogés, la station principale attend pendant une période de temps prédéterminée, par exemple, pendant une seconde, avant de recommencer à interroger les processeurs pour trouver celui qui désire contrôler ou com- mander la ligne omnibus (étape 506). Au lieu de procéder à une répétition de la séquence d'interrogation quand aucun processeur ne désire contrôler la ligne omnibus, le système pourrait être conçu pour que le rôle de la station principale soit automatique- ment transféré à un autre processeur. Cette procédure aurait pour effet de distribuer de manière plus égale la charge de station principale entre les différents processeurs du système. En revenant à l'étape 502, dans le cas o la station 'directrice temporaire ne recevrait pas de réponse du processeur 2475327' élu, ce processeur est interrogé une seconde fois en lui demandant s'il désire contrôler la ligne omnibus (étape 507), après quoi la station principale ou directrice détermine à nou- veau si elle a reçu une réponse (étape 508). Si, à ce moment, elle reçoit une réponse, elle analyse cette réponse à l'étape 503, comme il a été décrit plus haut. En l'absence d'une réponse à la seconde interroga- tion, la station directrice procède à une troisième et dernière interrogation (étape 509). Si le processeur répond à cette troi- sième interrogation sa réponse est analysée à l'étape 503. Si, après cette troisième interrogation, il n'y a toujours pas de réponse (étape 510), la station principale enregistre le fait que ce processeur est inopérant et elle cesse de le ques- tionner (étape 511). En enregistrant le fait qu'un processeur n'a pas ré- pondu à trois questions successives, la station principale ou directrice évite de perdre du temps à l'avenir en questionnant des processeurs inopérants ou en panne. De ce point de vue, le système de la présente invention est dynamique et autocorrecteur. On interroge trois fois chaque processeur, même s'il n'a pas répondu, parce que au moment o il est interrogé, ce processeur peut être au milieu d'une'opération de commande de boucle et ses lignes d'interruption peuvent avoir été désactivées. Toutefois, la période de temps pendant laquelle les lignes d'in- terruption du processeur sont désactivées ne doit pas dépasser le temps nécessaire à la station principale pour poser successi- vement trois questions. Les processeurs s'efforcent de répondre aux questions de la station directrice, sauf quand ils en sont empêchés du fait q.u'ils ont été inhibés, par exemple, au cours de leur processus de commande. Ceci est le cas aussi bien quand la station princi- pale demande la transmission de données opératoires (c'est-à- dire, de variables manipulées) par les processeurs,que quand la station principale sélectionne la station principale suivante. 2475327e Après avoir enregistré le fait qu'un processeur n'a pas répondu à trois questions successives, la station di- rectrice détermine si tous les processeurs ont été élus ou sé- lectionnés (étape 505). Dans le cas contraire, elle répète la procédure de sélection dans l'ordre, en commençant par le pro- cesseur suivant (étape 501), et lorsque tous les processeurs ont été interrogés, la station principale attend pendant une période de temps prédéterminée (étape 506) avant de recommencer la procédure-de sélection ou d'élection (étape 501). On voit donc que dans ce système les processeurs comportent des moyens pour demander le contrôle de la ligne omnibus à la station principale afin de pouvoir, après avoir reçu le contrôle de cette ligne par la station principale, com- muniquer numériquement avec un autre processeur, pour demander à chacun des processeurs restants des réponses indiquant que ceux-ci demandent le contrôle de la ligne omnibus, et si le processeur ne répond pas, pour demander à ce processeur, tout au plus encore deux fois, qu'il réponde, et, en cas de non réponse de- ce processeur, pour enregistrer le fait que ce proces- seur muet est inopérant, afin d'éviter de l'interroger à nouveau, ainsi que pour transférer le contrôle de la ligne omnibus au premier processeur qui répond en demandant le contrôle de la ligne omnibus. Sur la-figure 4, ces moyens de commande compren- nent l'unité de traitement centrale 42. Dans le système de la présente invention, dans le cas o le processeeur jouant le rôle de la station directrice ou principale venait à tomber en panne, un autre processeur doit prendre en charge le contrôle de la ligne omnibus et doit devenir la station directrice. Les autres processeurs sont avertis que la station principale est tombée en panne lorsque, pendant une période de temps prédéterminée, par exemple pendant quatre se- condes, ils n'ont pas détecté sur la ligne omnibus des. signaux provenant de la station principale. Dans le mode de réalisation préféré, les signaux envoyés par la station principale ou direc- - 35 trice aux stations asservies apparaissent sur la ligne omnibus toutes les 0,1 à 0,2 secondes. Lorsque la période d'inactivité de la ligne omnibus dépasse 0,2 seconde, il est évident que la station directrice actuelle est tombée en panne et qu'un au- tre processeur doit prendre l'initiative et doit devenir la sta- tion principale. Dans ces conditions, il y a un danger qu'un certain nombre de processeurs deviennent en même temps des stations principales ou directrices. Pour éviter cet inconvénient, on assigne à chaque processeur une priorité basée sur le temps programmé de sa détection deliabsence de signal, et sur le temps que le processeur qui détecte l'absence des signaux de la station principale va attendre avant de devenir la station principale. Dans le mode de réalisation préféré, le processeur 3-1 devient la station principale si elle ne détecte pas de si- gnal pendant 4,1 secondes; le processeur 3-2 attend 4,2 secon- des, etc... Différents moyens peuvent être utilisés pour éviter plusieurs stations principales ou motrices dans le cas d'une défaillance de la station directrice en activité. Toutefois, quelque soient les moyens employés, ceux-ci doivent assurer que seulement l'un des processeurs,et seulement un, peut devenir station principale. Dans un mode de réalisation préféré de l'invention; le processeur qui fait fonction de station principale ou direc- trice doit transmettre de nombreux signaux aux autres proces- seurs, à la fois pour le transfert des données et pour détermi- ner la station principale suivante. Pour les soulager d'une grande partie de ce fardeau, les processeurs du système peuvent être pourvus d'un second microprocesseur qui est affecté à la trans- mission des données de la ligne omnibus. Un processeur ainsi conçu est représenté sur la figure 4k. On voit donc que chacun des processeurs de ce système peut comporter des moyens pour communiquer numériquement avec un autre processeur dans le système de transmission de données. C'est ainsi qu'on voit sur la figure 4A que le processeur 40' comporte, dans sa section de transmission de données 41', un second microprocesseur 46 qui traite toutes les communications entre lui et les autres processeurs. Le microprocesseur 46 est 2475327 t connecté à l'unité de traitement centrale 42', à la mémoire 43 au convertisseur A/N 44, et aux convertisseurs N/A 45 par la ligne omnibus 47'. Il convient de rappeler que, conformément à une par- ticularité préférée de l!nve'nion, chacun des processeurs peut comprendre des moyens pour demander à la station principale ou directrice,le contrôle de la ligne omnibus, pour recevoir ce contrôle de la station principale, pour demander à chacun des processeurs restants des réponses indiquant s'il demande ou non le contrôle de la ligne omnibus, et, si un processeur ne répond pas, pour lui demander, au moins encore deux fois, une réponse, et, en cas de non réponse du processeur en question, pour enre- gistrer le processeur qui n'a pas répondu, comme étant hors d'état de fonctionner, afin d'éviter de lui reposer d'autres ques- tions inutilement, et pour transférer le contrôle de la ligne om- nibus au premier processeur qui répond à une demande de contrôle de la ligne omnibus. Sur la figure 4A, la station principale ou directrice comporte l'unité de traitement centrale 42'. La présente invention envisage également des systèmes semblables à celui décrit ci-dessus, qui sont conçus pour réduire à un minimum les interruptions des processeurs. Dans un tel sys- tème, les processeurs n'opèrent pas de-façon indépendante, mais, au contraire, le contrôle de toutes les boucles est synchronisé par rapport à l'organisation chronologique ou au "timing" de - la transmission des données. La figure 6 montre le timing d'un tel système. Pour maintenir le synchronisme, tous les processeurs ont la même période élémentaire de fonctionnement qui constitue le module de répétion basique du fonctionnement des processeurs. La période élémentaire de fonctionnement ou "période unité" comprend une sous-période de transmission de données, une sous- période de traitement et une période de marge, comme représenté sur la figure 6. Dans le mode de réalisation préféré, la durée de la période unité est de 200 millisecondes et la sous-période des transmissions des données couvre les premières dizaines de 2475327' millisecondes (par exemple les premières 40 millisecondes) de la période de fonctionnement élénientaire ou "unité". Dans le mode de réalisation préféré, la station di- rectrice applique, toutes les 200 millisecondes, au commencement d'une période élémentaire de fonctionnement, un signal d'adres- se global aux autres processeurs par la ligne omnibus. Les stations asservies utilisent cette adresse globale pour ajuster leur propre timing, toutes les corrections de timing étant ré- férencées à la "période de marge": Les premières dizaines de millisecondes,faisant suite à la réception de ce signal, sont utilisées par les stations asservies seulement pour transmettre des données entre les processeurs: aucun contrôle n'est effec- tué pendant ce temps. En conséquence, quand la station prin- cipale requiert un transfert de données, les stations secondaires * n'ont jamats besoin d'être interrompues et le transfert de don- nées est aussi exécuté en un temps relativement court. La figure 7 est un schéma par blocs détaillé d'un proces- seur 50 ccnforme à l'invention. Le processeur 50 est un pro- cesseur "monoboucle", ce qui ne signifie pas que le système de commande du processeur ne répond qu'à une seule variable opératoire, l'expression "processeur monoboucle" comprenant également les systèmes de commande qui répondent à des varia- bles de processus relatives. Dans le processeur 50, le microprocesseur 61 exécute le contrôle du déroulement du processus sur une base régulière. Lorsque le microprocesseur 61 est en train d'exécuter une com- mande de processus, il ne peut pas être interrompu. Par contre, en d'autres temps, le microprocesseur 61 peut être désactivé par des signaux d'interruption IRQ1-4 dontles fonctions seront précisées par la suite. Pour assurer le contrôle des boucles du processus, le mi- croprocesseur 61 doit avoir accès à certains paramètres. Un capteur 70, qui mesure des grandeurs telles que certaines variables du processus, est sélectionné par un multiplexeur 62 et ses signaux sont appliqués à l'entrée du convertisseur ana- 2475327- logique/numérique 63. Les signaux de sortie du convertisseur 63 passent par la porte entrée/sortie 64 et la ligne omnibus interne 69 pour gagner soit la mémoire 65,soit le micropro- cesseur 61, afin d'être utilisés pour calculer les variables manipulées. Les variables manipulées de la mémoire 65 sortent par la ligne générale 69 et la porte entrée/sortie 66 pour gagner le convertisseur numérique/analogique 67 qui est connec- té à un terminal (non représentéy. Les données variables manipulées sont emprisonnées dans la porte entrée/sortie 66 jusqu'à l'apparition de la valeur suivante. Dans le mode de fonctionnement préféré, une minu- terie 68 engendre un signal d'interruption IRQI qui indique lecommencement d'une période opératoire élémentaire. Le signal IRQ1 dit au microprocesseur 61 de conserver une variable du processus, par exemple, une pression, un débit, une températu- re, etc..., dans une adresse prédéterminée d'une mémoire. Gé- néralement, la valeur de cette variable est comparée à une valeur conservée dans la mémoire 65. Le microprocesseur 61 uti- lise aussi les variables du processus pour calculer les varia- bles manipulées. Si ce processeur était une station asservie ou secon- daire du système synchrone décrit en regard de la figure 6, il devrait attendre jusqu'à la fin de la sous-période de transmis- sion des données avant de commencer l'opération de contrôle du processus. La ligne de transmission 52, qui est constituée par deux lignes blindées, joue le rôle de ligne omnibus entre les processeurs du système. Le processeur 50 communique avec la ligne 52 par l'unité d'interface 53. L'unité d'interface 53 convertit les données en provenance des circuits de réception et de transmission 51, en signaux électriques.adaptés pour- être transmis par la ligne 52 (par exemple par modulation de fré- quence). L'unité d'interface 53 assure également l'isolement des signaux entre la ligne 52 et le processeur, et contient un appareil de détection de l'absence de signaux qui, par le signal d'interruption IRQ4, avertit le microprocesseur 61 de l'absence de signaux en provenance de la station directrice sur la ligne 52 pendant une-durée supérieure à la période de temps permise. Le circuit de transmission et de réception de données 51 accepte les informations de la ligne omnibus interne 69 sui- vant un format parallèle et les convertit en un courant d'in- formations en série continue destinées à être transmises par la ligne 52. Quand cette transmission est achevée, le circuit 51 envoie un signal d'interruption IRQ2 au microprocesseur 61. Le circuit 51 accepte aussi les courants de données en série de la ligne 52 et les convertit en un format parallèle compatible avec la ligne omnibus interne 69. Après la réception des données de la ligne 52, le circuit 51 envoie un signal d'in- terruption IRQ3 au microprocesseur 61. Les données reçues sont conservées dans la mémoire 65. Quand le processeur 50 est la station directrice et a besoin de données d'un autre processeur, par exemple, pour la commande en cascade, le microprocesseur 61 envoie l'adresse de ce processeur et la nature des données réclamées par le circuit 51 à la ligne de transmission 52 et, éventuellement, au processeur destinataire. Il arrive souvent qu'on soit obligé d'envoyer l'adres- se ou les données de la mémoire au circuit 51 en plusieurs par- ties car le mot à transmettre est supérieur à la capacité ou à la "largeur" de la ligne 69. Dans un tel cas, le circuit de transmission et de réception 51, après la transmission d'une partie des données, informe le microprocesseur 61 par le signal IRQ2, lequel provoque l'expédition de la partie suivante des informations au circuit 51. Lorsque la station directrice a émis une adresse de processeur avec une demande de données, cette station directri- ce doit attendre un certain temps avant de recevoir les données demandées de la manière décrite ci-dessus. 2475327- En tant que station directrice ou principale dans le système synchrone décrit en regard de la figure 6, le proces- seur 50 est également responsable de la transmission des adres- ses globales aux stations asservies. Certaines limitations du système de la figure 7 peu- vent être palliées par le système de la figure 8. Sur la fi- gure 8 le processeur 50' comprend également un circuit de commande de mémoire à accès direct (MAD) 80 qui régit le trans- fert de données entre le circuit de réception et de transmission 51 et la mémoire 65. Dans le processeur 50', il est inutile que le micropro- cesseur 61 régisse activement la circulation des données entre le circuit 51 et la mémoire 65. En remplacement, le circuit de commande de mémoire 80 "vole" des cycles de mémoire (et utilise la ligne omnibus interne 69) du microprocesseur 61 selon des procédés universellement connus. Le microprocesseur 61 n'est informé du transfert des données entre le circuit 51 et là mémoire 65 qu'à l'achèvement du transfert de celles-ci. De cette manière, la transmission de données reste possible avec le processeur 50' même lorsque le microprocesseur 61 est activement impliqué dans une boucle de traitement. Ce système réduit également les frais généraux coûteux dus aux fréquentes interruptions de traitement. Sur la figure 8, la référence 71 désigne le courant de données-entre le circuit 51 et la mémoire 65 au moment du transfert des informations de cette dernière. Tout le reste du temps, le microprocesseur 61 utilise la ligne omnibus 69 et les données circulent comme l'indique la référence 72. La figure 9 représente un mode de réalisation plus élaboré du processeur de l'invention. Un-multiplexeur analo- gique MPX sélectionne l'un des signaux d'entrée suivant-devant être converti en un signal numérique par le convertisseur analogique/numérique ANC: la variable de processus PV, des si- gnaux d'entrée auxiliaires AI1-AI4 (utilisés, par exemple, pour la commande en cascade, la commande de rapport, etc...) ou la variable manipulée MV. Le signal numérique du conver- tisseur ANC est appliqué à l'entrée de l'unité de traitement centrale ou à l'une des mémoires à accès direct par la porte d'entrée-sortie AI/AO et par la ligne omnibus interne de transmission des données. Les quatre canaux de sortie analogiques, SV (point de réglage variable), MV (variable manipulée), KPV (correction de la variable de processus) et AO (sortie analogique) sont reliés à la ligne interne de transmission de données par les convertisseurs numérique/analogique DAC et le commutateur AI/AO. Le canal MV possède aussi un circuit de conversion V/I (tension en courant) qui permet de produire soit une tension de sortie de 1 à 5 volts continus, soit un courant de sortie de 4 à 20 milliampères continus, tandis que le canal MV com- porte un circuit de commande manuel 82 qui permet de régler le signal MV indépendamment du processeur, (par exemple quand celui-ci est en panne et ne peut pas assurer un contrôle ou une commande automatique). Les signaux d'entrée numériques DII et DI2, qui sont du type à contact sans tension, passent par le commutateur DO/DI (sortie numérique/entrée numérique,> et par la ligne générale interne pour gagner l'unité de traitement centrale ou les mémoires à accès direct. Les signaux de sortie DO1-DO3, qui sont utilisés pour la commande de séquence et la génération de signaux d'alarme, sortent de l'unité de traitement centrale par la ligne générale interne, la porte I/O DO/DI et le registre- tempon DO. Les signaux DO1-DO3 sont des signaux de sortie de transistor à collecteur ouvert. Dans le mode de réalisation représenté sur la figure 9, l'unité de traitement centrale 81 comprend un microprocesseur modèle 8085A produit par la Société Américaine Intel Co. Le système PROM (mémoire fixe programmable) contient les algorithmes de contrôle du microprocesseur, ainsi que les procédures néces- saires pour communiquer avec les autres processeurs. Une partie du PROM est conçue comme un système pour conserver les paramètres 18- du système et les données de liaison ou d'articulation de celui- ci. Les variables du processus et les autres données sont conservées dans la mémoire RAM (mémoire à accès direct), laquelle est associée à un condensateur de secours 86 destiné à assurer un fonctionnement correct de celle-ci quand l'limentation électrique du processeur est interrompue momentanément. Pour assurer une protection prolongée, une batterie peut être bran- chée aux bornes du condensateur.. L'interface 83 relié le processeur à la ligne omnibus de circulation de données (non représentée) et, finalement, aux autres processeurs. Cette interface régit aussi le format des données utilisées sur la ligne. Dans le mode de réalisation préféré, le système conte- nant le processeur de la-figure 9 utilise un format de contrôle des liaisons des données à haut niveau (HDLC), également connu comme le "Standard International IO 3309", qui est représenté sur la figure 10. Ce format contient des indicateurs, à savoir un indicateur de départ de cadre HDLC et un drapeau de fin de cadre HDLC. Le cadre de départ désigne une adresse ou un champ de contrôle, signalant ainsi le-départ d'une vérification d'er- reurs de transfert. L'indicateur de fin informe la station qui reçoit les données que les seize bits immédiatement précédents constituent un code cyclique de vérification (CRC) (utilisé pour détecter la présence d'erreurs dans les données reçues). La zone d'adresses contient le code d'identification du ciircuit decommande. La longueur de la zone d'information n'est pas-spé6ifiée mais elle est toujours un multiple de huit bits. Il faut à la station directrice environ 350 microse- condes pour transmettre les données à un autre processeur uti- lisant le cadre de la figure 10. Il faut au processeur qui reçoit ces données environ une milliseconde pour agir sur celles- ci, après quoi, il lui faut encore 350 microsecondes pour ren- w. voyer sa réponse (ayant le format d'un cadre) à la station directrice. Cette station directrice traite, à son tour, cette réponse pendant encore une milliseconde. En conséquence, la communication entre la station directrice et le processeur demande environ 2,7 millisecondes. Lorsque le système de transmission de données comporte seize processeurs, il faut-environ 40,5 millisecondes à la station directrice pour communiquer avec les quinze autres processeurs. La station directrice ou principale demande aux autres processeurs s'ils veulenrt ou non transmettre des don- nées ou s'ils désirent ou non devenir la station directrice. Cette interrogation est exécutée avec les signaux de la par- tie de commande à multiplets. Le signal indiquant si oui ou non un processeur désire devenir la station directrice et le signal de transmission de données sont transmis avec la par- tie de commande à multiplets à la station directrice par le circuit de commande. La figure Il est un schéma par blocs détaillé d'une partie d'un processeur qui sera utilisée pour montrer le mécanisme de transmission des données dans le processeur de la figure 8. L'unité de traitement centrale 101, correspon- dant au processeur 61 de la figure 8, est un microprocesseur, modèle 8085A fabriqué par la société Intel Co. Les impulsions d'horloge pour l'unité centrale 101 sont fournies par un générateur 114. Le minuteur 68, qui engendre les signaux IRQ1 synchronisant les interruptions, opère également sous la com- mande du générateur d'impulsions d'horloge 114. Le circuit de commande DMA 102, qui correspond au circuit de commande 80 de la figure 8, est un modèle AM 9517 fabriqué par la société Advance Micro Devices, Inc. Le circuit de commande 103 qui fait partie du circuit de trans- mission et de réception de données 51, est un modèle 2652 fabriqué par la société Sygnetics Co., tandis que le circuit de commande d'interruption 104 est un modèle 8259A fabriqué par la société Intel Co. Le circuit de commande d'interruption permet à l'unité centrale de traitement d'accepter les signaux correspondant à plusieurs demandes. La mémoire 105, correspondant à la mémoire 65 de la figure 8, comprend une mémoire à accès direct RAM et une mé- moire fixe programmable PROM. La RAM contient les variables du processus et les données, tandis que la PROM contient cer- taines instructions. Le décodeur 106 sélectionne les unités 101, 102, 103, 104 et 105 décrites ci-dessus en réponse aux signaux d'a- dresse A8-A15 venant soit de l'unité centrale 101, soit du circuit de commande 102. Des circuits de verrouillage d'adresse 107 et 108 tiennent les signaux ADO-AD7. Le verrou 107 est commandé par un signal ALE (signal d'activation du verrou d'adresse) ve- nant de l'unité centrale O01 et il tient les signaux ADO-AD7 disponibles pour les lignes AO-A7, c'est-à-dire les signaux d'adresse bas quand les signaux d'adresse hauts A8-A15 sont fournis par l'unité centrale. Le circuit de verrouillage d'a- dresse 108, commandé par le signal ADSTB (signal d'échantil- lonnage d'adresse) venant du circuit de commande DMA 102, tient les signaux ADO-AD7 disponibles pour les lignes A8-A15, c'est-à-dire les signaux d'adresse hauts, quand les signaux d'adresse bas sont fournis directement par le circuit de com- mande 102. Un circuit de commande de lecture et d'écriture 109 reçoit les signaux RD (commande de lecture), WR (commande d'écriture) et 10/M (c'est-à-dire les signaux 10 de sélection de mémoire) de l'unité centrale et les convertit en signaux de commande notamment en signaux I0 READ, IO WRITE, MEMORY WRITE, et MEMORY READ (lecture IO, écriture IO, écriture mé- moire et lecture mémoire) qui sont reliés aux différentes sor- ties du circuit de commande DMA 103. Le circuit de transmission et de réception, circuit 51 de la figure 8, comprend un circuit de commande de transmis- sion 103, une porte I/O 111 et un circuit de commande d'adresse 112. En réponse aux signaux de l'unité centrale 101, la porte 111 place le circuit de commande de transmission 103 soit en état d'émission, soit en état de réception,en activant soit l'entrée TxE (entrée de transmission), soit l'entrée RxE (entrée de réception) dudit circuit 103. Quand l'unité centrale désire que le circuit de com- mande 103 procède à une opération de lecture ou d'écriture, le circuit de commande d'adresse 112 dirige trois des signaux d'a- dresse inférieurs sur les lignes AO-A7 et le signal de sélection de plaquette de commande de transmission du décodeur 106 vers le circuit de commande 103. Le circuit 112 aiguille les signaux d'adresse vers le circuit de commande de transmission 103 selon que le circuit de commande DMA est en train d'exécuter une opé- ration'de lecture ou d'écriture. Le circuit de commande d'interruption 104 régit la priorité et l'identification des signaux d'interruption IRQI- IRQ4 pour l'unité centrale 101 et envoie à l'unité centrale des instructions d'appel et des adresses pour les routines de trai- tement d'interruption correspondant aux signaux d'interruption. Le circuit de commande d'interruption 104 fournit aussi le si- gnal INTR au signal de demande d'interruption à l'unité centrale 101 et reçoit les signaux INTA ou signaux de confirmation d'in- terruption de cette unité centrale. Quand le processeur de la figure Il veut envoyer des données à un autre processeurs, soit durant le transfert de don- nées opératoire, soit pendant la détermination de la station di- rectrice suivante, l'unité centrale 101 émet une commande de transmission qui a pour effet que la porte I/0 111 élève le signal d'activation de transmetteur TxE à un niveau logique "1". Le signal TxE indique au circuit de commande de transmission 103 que des données doivent être transmises. Le circuit de commande 103 informe alors le circuit de commande DMA 102 en appliquant le signal de sortie TxBE à l'entrée DREQI de celui-ci. Le circuit de commande de transmission 103 reçoit les données devant être transmises de la mémoire 105 par l'intermé- diaire du circuit de transfert DMA. Pour un tel transfert, le circuit de commande DMA 102 fournit un signal HREQ à l'unité centrale 101 afin de demander l'utilisation de la ligne omnibus. Quand l'unité centrale a fini le cycle d'instruction en cours, elle émet un signal HACK pour confirmer au circuit de commande DMA qu'il peut utiliser la ligne générale. Les signaux AO-A7 contiennent l'adresse des données devant être transmises. Les signaux d'adresse sont envoyés à la mémoire RAM et le décodeur 106-engendre un signal de sélec- tion de plaquette RAM. Les signaux DACKO et DACK1 du circuit de commande DMA 102 ordonnent au circuit de commande d'adresse 112 d'envoyer les signaux qui conviennent au circuit de commande 103. Dans ce mode de réalisation, DACK signifie confirmation de DMA. DACKO correspond au canal DMA O, c'est-à-dire au canal de réception des données et DACKI correspond au canal DMA 1, c'est-à-dire au canal de transmission des données. Le circuit de commande de transmission 103 délivre les données à sa borne TxSO à la ligne d'interface 153 en utili- sant des impulsions d'horloge TxC fournies par l'interface. La ligne d'interface 153, correspondant à l'unité d'interface 53 de la figure 8, transmet les données, sous une forme convenable, à la ligne de transmission 52. La ligne de transmission 52 com- prend deux lignes torsadées. Quand la transmission des données est achevée, le circuit de commande 103 informe l'unité centrale 101 par le si- gnal IRQ2. Pour recevoir des données d'un autre processeur, l'unité de traitement centrale, qui a été informée de la présence de ces données par le signal d'interruption IRQ3 venant du circuit de commande 103, envoie un ordre qui fait que la porte I/0 111 applique un signal de préparation de réception de données, aussi appelé signal d'activation de réception, RxE au circuit de commande de transmission 103. Les données reçues sont introduites dans le circuit de commande 103 en utilisant des impulsions d'horloge RxC. Quand des données d'un autre processeur sont reçues, le circuit de commande de transmission 103 envoie un signal de demande de lecture de données RxDA à l'entrée DREQO du circuit de commande DMA 102. Les données ainsi reçues sont conservées dans la mémoire 105 par l'intermédiaire du circuit de transfert DMA. Le principe du circuit de transfert DMA est le même que celui décrit ci- dessus, sauf que les données sont transférées au lieu d'être reçues de la mémoire 105. Le procédé de transfert ci-dessus des informations est utilisé quand le processeur est la station principale ou direc- trice et qu'il est en train, soit d'initier le transfert de certaines données, telles qu'une variable manipulée, soit en train de sélectionner un autre processeur. Ce procédé de trans- fert des données est aussi utilisé quand le processeur est une station asservie ou secondaire et répond aux transferts de don- nées ou aux questions de la station principale. Dans le mode de réalisation préféré du système de l'invention, tous les proces- seurs ont un système de transmission de données semblable à celui de la figure 11. Dans le système de transmission de la présente inven- tion, à la différence des systèmes traditionnels, aucun proces- seur particulier n'est prévu comme station principale ou directri- ce pour la transmission des données. Cette transmission est ef- fectivement exécutée entre les processeurs et la défaillance de l'un d'entre eux ne provoque pas une paralysie du système tout entier. Pour la même raison, le fonctionnement du système de transmission de données n'est pas interrompu quand la station principale du moment tombe en panne. Dans le système de l'invention, chaque processeur com- mande son propre processus et aussi transmet et reçoit des don- nées des autres boucles de commande au besoin, permettant ainsi une commande en cascade rapide, une commande de rapport, etc... Ce système est aussi très souple car il opère effectivement avec différents nombres de processeurs et satisfait différents besoins de ceux-ci. Il va de soi que de nombreuses modifications peuvent être apportées à plusieurs exemples de réalisation de l'inven- tion décrits ci-dessus sans sortir pour autant du cadre de celle-ci. R E V E N D I C A T I 0 N fl - Système de transmission de données qui comprend: a) un certain nombre de processeurs (3), chacun desdits processeurs étant capable de communiquer numériquement avec chacun des autres; b) une ligne omnibus (32) de transmission de données numériques reliée à chacun desdits processeurs pour éta- blir une communication numérique entre les différents proces- seurs, caractérisé en ce qu'il comprend: c) dans chacun desdits processeurs, des moyens pour prendre le contrôle de ladite ligne omnibus (32) d'un autre desdits processeurs, afin de communiquer numériquement avec l'un quelconque de ces autres processeurs par ladite ligne et pour donner le contrôle de ladite ligne omnibus (32) à l'un quelconque desdits autres processeurs. 2 - Système de transmission de données selon la re- - vendication 1, caractérisé en ce que lesdits moyens de commande de données comprennent un microprocesseur (40). 3 - Système de transmission de données selon la re- vendication 1 caractérisé en ce que les moyens de commande de données ne communiquent avec lesdits processeurs qu'à des pério- des de temps régulières, répétées, lesdites périodes de temps régulières, répétées, étant les mêmes pour tous les processeurs. - Système de transmission de données selon la re- vendication 1, caractérisé en ce qu'il comprend: a) une ligne omnibus numérique; b) un certain nombre de processeurs (40) couplés à ladite ligne omnibus afin de transférer des données numériques entre lesdits processeurs pendant que l'un desdits processeurs qui a été sélectionné assure le contrôle de ladite ligne, le pro- cesseur ainsi sélectionné opérant comme une station directrice ou principale; c) des moyens dans chacun desdits processeurs pour communiquer numériquement avec un autre; et, d) des moyens, dans chacun desdits processeurs, pour réclamer le contrôle de ladite ligne omnibus du processeur sélec- tionné, pour recevoir le contrôle de ladite ligne dudit processeur sélectionné, pour demander à chacun des processeurs restant des réponses indiquant s'il réclame le contrôle de la- dite ligne omnibus et, dans le cas o un processeur ne répon- drait pas, pour demander à ce processeur qui ne répond pas, au plus encore deux fois une réponse, et dans le cas o une réponse ne serait pas reçue de ce processeur, pour enregistrer le fait en le considérant comme hors d'état de fonctionner afin d'éviter de le questionner ultérieurement, et pour transférer le contrôle de ladite ligne omnibus au premier des processeurs qui répond par une demande de contrôle de ladite ligne omnibus. - Système de transmission de données selon la revendication 1, caractérisé en ce qu'il comprend: a) une ligne omnibus de transmission de don- nées numériques; b) un certain nombre de processeurs reliés à cette ligne omnibus pour transférer des données numériques entre lesdits processeurs pendant que l'un d'entre eux, qui a été sélectionné, assure le contrôle de ladite ligne, le processeur (501) ainsi sélectionné pour le contrôle de ladite ligne opérant comme une station principale ou directrice; et, c) des moyens (503) dans chacun desdits proces- seurs pour réclamer le contrôle de ladite ligne omnibus du proces- seur sélectionné, pour recevoir le contrôle de ladite ligne de ladite station directrice, pour communiquer numériquement avec un autre desdits processeurs, pour demander à chacun des proces- seurs restants une réponse (506) indiquant s'il réclame le con- trôle de ladite ligne omnibus et dans le cas o un processeur ne répondrait pas, pour questionner le processeur qui n' a pas répondu, au plus encore deux fois, et en cas de non-réponse (502) pour enregistrer le fait en considérant que le processeur qui n'as pas répondu est hors d'Tétat de fonctionner afin d'éviter à l'avenir de lui poser des questions (507), et pour transférer le contrôle de ladite ligne omnibus au premier processeur qui répond en réclamant le contrôle de ladite ligne omnibus. -7 - Procédé pour transmettre des données numériques entre un certain nombre de processeurs reliés à une ligne di- rectrice ou principale qui consiste: a) à donner le contrôle de ladite ligne omnibus à un processeur sélectionné; b) à permettre à ce processeur sélectionné de communiquer numériquement avec n'importe lequel des autres pro- cesseurs par ladite ligne omnibus; c) à faire élire par le processeur sélectionné un autre processeur pour qu'il lui succède immédiatement dans le contrôle de ladite ligne omnibus; et, d) à transmettre au processeur suivant ainsi sélectionné le contrôle de ladite ligne omnibus. 7 - Procédé selon la revendication 6 caractérisé en ce que l'étape consistant à permettre à ladite station prin- cipale de transférer des données comprend, en outre, les sous- étapes suivantes consistant: à appliquer un signal d'adresse global à l'ensemble des processeurs; et, à transférer lesdites données numériques seulement pendant une période de transmission, cette période de transmis- sion des données se présentant à un temps fixe par rapport audit signal d'adresse global. - Procédé pour transmettre des données numériques par un certain nombre de processeurs dont chacun est relié à une ligne omnibus qui est toujours contrôlée par l'un d'entre eux, sélectionné à cette fin, et qui joue le rôle de station direc- trice ou principale, ladite ligne omnibus étant utilisée pour transmettre des données numériques à chacun des autres proces- seurs de ladite ligne, caractérisé en ce que: a) à réclamer le contrôle de ladite ligne omni- bus lors de l'interrogation par ledit processeur sélectionné; b) à recevoir le contrôle de ladite ligne dudit processeur sélectionné afin de devenir ladite station directrice; c) on fait communiquer ladite ligne omnibus avec chacun des autre processeurs reliés à celle-ci; d) on demande à chacun desdits processeurs de ladite ligne omnibus une réponse indiquant s'il réclame le contrôle de ladite ligne omnibus; e) on demande à un processeur qui n'a pas répon- du, au plus, encore deux fois, une réponse, et cas de non ré- ponse on enregistre ce fait en considérent que le processeur qui n'a pas répondu est hors de fonctionner afin d'éviter de lui poser à nouveau des question à l'avenir; et, f) on transfère le contrôle de ladite ligne om- nibus au premier processeur qui a répondu en réclamant ce con- trôle. - Procédé pour transmettre des données numériques entre un certain nombre de processeurs reliés à une ligne omni- bus, selon l'une quelconque des revendications 6 à 8, caracté- risé en ce que l'un quelconque desdits processeurs peut prendre le contrôle de la ligne, lorsqu'un signal de la station princi- pale ou directrice n'apparaît pas sur ladite ligne pendant une période de temps prédéterminée, chacun desdits processeurs étant conçu pour attendre une période de temps prédéterminée différente avant de s'emparer du contrôle.