FR 2551897 A1 19850315 FR 8413496 A 19840831 Appareil et procédé pour réaliser la redondance dans un système de commande de procédé, distribué ". La présente invention concerne un appareil 5 et un procédé pour réaliser la redondance dans un système de commande de procédé distribué, dans lequel un certain nombre de processeurs effectuent les fonctions d'acquisition de données locales et de commande, ces processeurs étant interconnectés par un seul câble de données ou "autoroute", dans lequel certaines opérations de processeurs locales sont dupliquées pour des raisons de fiabilité De façon plus détaillée, l'invention concerne un moyen permettant à plusieurs processeurs redondants à un endroit particulier, de transférer la commande d'opéra15 tions locales de l'un à l'autre. Les systèmes de commande de procédé, distribués, pour commander des procédés industriels tels que des centrales électriques, des raffineries pétrochimiques ou analogues, comportent un certain nombre de dis20 positifs de traitement de données situés a-des endroits différents dans l'installation et qui sont commandés. De telles installations se répandent de plus en plus. Dans de tels systèmes de commande de procédé, distribués, on évite d'utiliser un ordinateur hôte ayant une banque 25 centrale de données pour distribuer toutes les fonctions de commande de procédé et d'acquisition de données ainsi que de bases de données, proprement dites, entre différents processeurs formant l'ensemble du système Il y a de multiples avantages à éviter un ordinateur hôte; parmi ces avantages le plus remarquable est probablement le fait qu'un système de commande de procédé distribué peut continuer à fonctionner bien qu'une partie de ses circuits de traitement soit indisponible, alors s'il y a un ordinateur central ou un ordinateur-hôte, en cas d'incident de fonctionnement, l'ensemble du système 10 s'arrête. Dans n'importe quel système de commande de procédé, il est souhaitable que les composants principaux du système présentent une sorte de redondance pour qu'en cas de défaillance d'un composant, un autre 15 composant fonctionnant de façon analogue soit disponible pour le remplacer, pour que le système puisse continuer de fonctionner L'invention concerne de façon particulière le cas des interconnexions redondantes entre l'autoroute des données et les différents éléments ou "points d'arrêt" qui constituent un système de commande de procédé distribué L'invention concerne l'utilisation de deux processeurs de communication d'autoroute de données à chaque'point d'arrêt", et qui tous deux examinent les messages reçus d'une seule autoroute de données. Lorsqu'un message a été décodé correctement, les processeurs d'autoroute de données fournissent chacun un signal "d'interruption de message correct" vers le "point d'arrêt" Le "point d'arrêt" prend le message du processeur qui a émis en premier le signal "interruption de message correct" De cette façon, deux processeurs redondants travaillent sans avoir de maitre c'est-à-dire qu'aucun processeur ne fonctionne comme malitre ou comme esclave A la place de cela, les deux processeurs travaillent de façon identique, ce qui supprime les problèmes 35 de transfert des commandes ou problèmes analogues. 2551897. Les "points d'arrêt" selon les inventions déjà décrites, se composent chacun de deux processeurs, le "processeur des communications de l'autoroute des données" rappelé ci-dessus et un "processeur fonctionnel" utilisé pour effectuer les fonctions d'arrêt locales telles que l'acquisition de données, la commande de procédé, l'interface d'opérateur ou analogues Il est souhaitable que ceux-ci soient également prévus de façon redondante. Toutefois pour éviter les difficultés de contention, c'est-à-dire les difficultés liées à des processeurs dupliqués entraînant des conflits ou des ordres non synchronisés, il faut prévoir des moyens pour déterminer le processeur qui est chaque fois en état de commande De plus, il est également souhaitable que cette redondance 15 soit prévue en mode sans maitre, de façon que la commande se transfère en douceur et automatiquement entre les processeurs, suivant les besoins, sans l'intervention d'un opérateur. Un autre domaine dans lequel la redondance 20 est importante est celui de l'interface entre les processeurs locaux qui mettent en oeuvre des programmes associés à la fonction du "point d'arrêt" particulier, par exemple le programme de terminal dans un poste d'interface d'opérateur ou les fonctions d'acquisition de don25 nées et de commande de traitement dans des positions de commande, ainsi que les opérations locales qu'il faut contrôler ou commander A titre d'exemple, selon le mode de réalisation préférentiel du système déjà décrit, l'autoroute de données et les processeurs fonctionnels 30 qui communiquent entre eux et assurent des fonctions d'acquisition locales de données et des fonctions de commande, sont avantageusement compatibles "multibus"; cela signifie qu'ils sont conçus pour permettre l'interface avec un bus normal de l'industrie, appelé ci-après 35 Multibus (marqué déposée de la Société Intel) Cela est fait de façon qu'un certain nombre de dispositifs existants habituellement, puissent tous s'utiliser comme parties du processeur local, ce qui facilite la conception du système D'autres éléments du "point d'arrêt" tels que l'unité de mémoire partagée, qui est utilisée en commun par le processeur fonctionnel et le processeur de communication de l'autoroute de données, sont également compatibles en multibus, de sorte que ces dispositifs utilisent tous ce bus pour faire les différentes intercommunications Toutefois, le multibus n'a pas été le premier choix du bus auquel des dispositifs logiques commandés tels que des relais, des thermocouples, des électrovannes ou analogues sont reliés En particulier, la présente invention est destinée à être appliquée à des "cartes de point", qui existent déjà pour les fonctions d'acquisition locales de données et de commande. Comme celles-ci sont adaptées pour faire l'interface avec une structure de bus différente, appelée ci-après "bus sortie/entrée, distribué " ou "DIOB", il faut conce20 voir un dispositif pour "traduire" les données et ordres du multibus en leur contrepartie DIOB En clair, il est souhaitable d'avoir également de la redondance à ce niveau Il est également souhaitable que ni les composants de traduction de la redondance ou de l'interface ne soient mattres ou esclaves, mais que les deux co-existent sur un niveau d'égalité de façon que le transfert de la commande puisse se faire en réduisant la complexité au minimum, s'il devenait souhaitable, rapidement, d'effectuer cela pour une raison quelconque. Pour les mêmes raisons, il est souhaitable que les données enregistrées dans les mémoires de tous les composants redondants et qui concernent les paramètres variables du traitement ou analogues, soient mises à jour de façon égale que les paramètres qu'il 35 faudrait transférer; cela peut se faire sans "heurt" 2558197. et sans que des variations brusques des variables du procédé ne soient dirigées par la commande récemment reçue par le processeur. En clair, il serait souhaitable dans un tel système de commande de procédé, distribué, d'avoir un système autoprotégé dans lequel les processeurs redondants sont prévus de façon qu'un seul d'entre eux assure la commande d'une fonction donnée à un instant déterminé. I 1 serait également souhaitable que les 10 fonctions décrites ci-dessus existent dans un système de commande redondant, dans lequel les cartes identiques c'est-à-dire des plaquettes de circuit avec leurs composants, puissent s'utiliser pour les deux processeurs, en ne demandant qu'une modification minimale pour être 15 adaptées à cet usage commun. Il serait en outre souhaitable que les signaux de sortie de commande d'un processeur redondant puissent être utilisés directement comme les signaux demandés par l'autre lors du transfert de la commande, tout en utilisant la même conception de circuit pour les deux processeurs. La présente invention a ainsi pour but de créer un système de commande de procédé, distribué, ou réparti, dans lequel il y a plusieurs processeurs pour assurer l'interface entre une autoroute de données et des processeurs locaux. A cet effet, l'invention concerne de façon générale un montage de commande de procédé, distribué ou réparti, ayant des "points d'arrêt, d'acquisi30 tion de données et de commande" reliés par une autoroute de données, chacun des "points d'arrêt" se composant d'un premier et d'un second processeur identiques pour effectuer les fonctions de commande locales de procédé et les fonctions d'interface de communication pour cette 35 autoroute, en étant branchés dans un montage à circuit 2551897, flip-flop, avec un circuit pour appliquer le signal d'autorisation demandé par chaque processeur à inverser, signal qui est appliqué à une porte ET de l'autre processeur. Suivant une autre caractéristique, l'invention concerne de façon générale un procédé de mise en oeuvre d'un montage de commande de procédé distribué ayant un certain nombre de "points d'arrêt d'acquisition de données et de commande de procédé", points reliés par 10 une autoroute de communication de données, chacun des "points d'arrêt" se composant de plusieurs processeurs ayant chacun un processeur d'interface d'autoroute pour assurer les fonctions de communication pour cette autoroute et un processeur fonctionnel pour effectuer les fonctions d'acquisition locales de données et de commande, ce procédé étant caractérisé en ce qu'on commande un premier processeur pour être en mode actif, pendant qu'il effectue ses fonctions, et on commande tous les autres processeurs de chaque "point d'arrêt" pour être en mode passif à un instant déterminé, et on termine le mode actif du premier de ces processeurs lors de la défaillance de son processeur fonctionnel ou de son processeur d'interface d'autoroute, et on assure qu'un autre parmi les processeurs termine son mode actif et passe en mode passif 25 pour effectuer lesdites fonctions, ce processeur fonctionnel et ce processeur d'interface d'autoroute de I'autre processeur de ce "point d'arrêt" étant tous deux opérationnels. Les objectifs de la présente invention 30 sont réalisés en ce que l'invention prévoit plusieurs processeurs pour des possibilités de redondance dans un système de commande de procédé distribué Les deux processeurs sont reliés réellement par un montage de circuit flip-flop de façon que lorsque l'un prend la commande des opérations locales, l'autre est automatiquement interdit de 255 X 897 le faire aussi ce qui évite un conflit entre eux Les deux processeurs selon le mode de réalisation préférentiel ont la même réalisation et sont interconnectés par un câble plat qui a une demi-torsion entre eux, de façon à inverser l'ordre des signaux transférés par le câble entre les bornes identiques De cette façon, un signal de sortie par exemple "je suis en ordre" émis par un processeur, devient automatiquement un signal "partenaire en ordre" pour l'autre processeur Cela per10 met la coopération entre les plaquettes de circuit identiques. La présente invention sera décrite de façon plus détaillée à l'aide des dessins annexés, dans lesquels: la figure 1 est un schéma-bloc d'une structure caractéristique d'un "point d'arrêt" dans un système de traitement distribué selon l'invention. la figure 2 montre une version plus détaillée d'un "point d'arrêt" selon le système de l'in20 vention, avec des autoroutes de données, à redondance, et des processeurs redondants selon l'invention. la figure 3 est un schéma-bloc détaillé du multibus de l'interface DIOB (MBU) qui assure l'interconnexion entre les deux processeurs utilisés pour des 25 raisons de redondance selon l'invention. la figure 4 est un schéma décrivant la logique de redondance dans le circuit MBU. la figure 5 montre comment deux circuits MBU sont réellement reliés suivant une configuration de 30 bascule bistable flip-flop. la figure 6 montre la connexion du câble plat utilisé pour relier les deux processeurs et les signaux qu'ils transfèrent. la figure 7 est un ordinogramme du 35 fonctionnement effectué lors du redémarrage d'un processeur. la figure 8 montre l'ordinooramme des fonctions de chaque processeur pendant le mode de commande. la figure 9 montre un ordinogramme correspondant aux fonctions de chaque processeur en mode d'attente. La figure 1 montre de façon générale la configuration d'un "point d'arrêt" caractéristique du système de traitement de données distribué selon l'inven10 tion Un câble d'autoroute de données 10 qui, dans le mode de réalisation préférentiel est un simple câble coaxial, est relie a un contrôleur d'autoroute de données 12 qui est relié à une mémoire vive (RAM) 14 partagée entre le contrôleur de l'autoroute de données et un 15 processeur local (CPU) 16 Dans le mode de réalisation préférentiel de l'invention, le contrôleur de l'autoroute de données 12 choisit les bits reçus en série de l'autoroute de données, décode les bits et enregistre les données intéressantes pour les travaux de l'unité CPU locale 20 16 en des points de la mémoire RAM 14, partagée Lorsque l'unité CPU 16 demande cette donnée, elle accède simplement à la mémoire partagée RAM 14 De' cette façon, il n'est pas nécessaire de synchroniser le contrôleur d'autoroute de données 12 et-l'unité CPU 16. Les communications entre la mémoire vive RAM partagée et l'unité centrale CPU se font par un multibus 18 Comme indiqué ci-dessus, ce bus est usuel dans la technique et il existe un grand nombre de périphériques disponibles qui sont compatibles par simplement 30 branchement. Comme indiqué ci-dessus, dans le mode de réalisation préférentiel du système selon l'invention, les fonctions d'acquisition locales de données et de commande de procédé sont exécutées par des dispositifs appe35 lés "carte de point" 20 I 1 s'agit selon le mode de réa- 2551897 À lisation préférentiel pour le branchement, d'un type de structure de bus différent du multibus 18 et qui est désigné comme bus entrée/sortie, distribué (DIOB) 22. L'interface entre le multibus 18 et le DIOB 22 est assuré par une carte (MBU) 24 d'interface multibus/ DIOB. Selon l'invention, le contrôleur d'autoroute de données 12, la mémoire vive partagée RAM 14, l'unité CPU 16 et le circuit MBU 24 sont tous dupliqués 10 à chaque "point d'arrêt"; il s'agit de même de l'autoroute de données 10 qui relie les différents "points d'arrêt" Dans le mode de réalisation préférentiel, le circuit MBU 24 détermine l'unité CPU 16 et le contrÈlleur d'autoroute de données 12 qui exécutent les fonc15 tions de commande locales et de communication; les deux unités MBU 24 à chaque "point d'arrêt" communiquent l'une avec l'autre de façon à régler tous les problèmes de priorité Un schéma-bloc d'un point d'arrêt ayant une redondance de ce type est représenté à la figure 2. L'unité MBU-A 24 correspond avec l'unité MBU-B 24 a par l'intermédiaire de la ligne de communication 26 qui sera examinée en détail ci-après Les autoroutes de données redondantes 10 et l Oa sont branchées comme représenté aux contrôleurs d'autoroute de données 12 et 12 a, redondants. 25 Ceux-ci communiquent par l'intermédiaire des mémoires vives RAM 14 et 14 a, partagées, avec les unités CPU 16 et 16 a par des multibus doubles 18 et 18 a Un degré supplémentaire de redondance peut être réalisé en fixant de façon supplémentaire chaque contrôleur d'autoroute de données 12 à une seconde autoroute de données l Oa comme cela est indiqué en traits mixtes. Les deux circuits ^BU 24 et 24 a sont tous deux réunis, cependant au même bus entrée/sortie distribué 22 et ainsi aux cartes de point 20 qui ne sont 35 pas prévues de façon redondante On remarquera qu'il est important qu'à un instant donné seul un processeur local 16, un seul contrôleur d'autoroute de données 12 et un seul circuit MBU 24 sont mis en mode actif ou en mode de "commande" et que l'autre reste en mode d'attente ou en mode "auxiliaire" à tout moment La raison en est que si tous deuxtentent simultanément d'effectuer les fonctions de communication et de commande, ils détecteront des discordances comme des erreurs, ce qui serait très grave La présente invention évite cela en concevant l'un 10 des circuits MBU comme primaire et l'un comme secondaire au moment de la fabrication du "point d'arrêt" Ainsi, le circuit MBU primaire et son processeur fonctionnel correspondant 16 ainsi que le contrôleur d'autoroute de données 12 assureront la commande alors que l'autre cir15 cuit MBU lui sera soumis à moins qu'un problème ne se pose au niveau du système primaire ou de ses communications A ce moment, le processeur redondant 16, le contrôleur d'autoroute de données 12 et le circuit MBU seront mis en oeuvre pour assurer la relève Le fait que 20 l'appareil redondant est mis en oeuvre, est communiqué par le circuit MBU 24 défaillant à l'autre circuit par l'intermédiaire de la ligne de communication 26 Le circuit MBU redondant 24 peut également détecter qu'il est necessaire en constatant une défaillance du système pri25 maire, pour être mis en oeuvre en un temps donné en assurant la commande sans recevoir d'instructions particulières de son partenaire. Comme indiqué ci-dessus, il est souhaitable que le circuit MBU ainsi que les autres circuits 30 de chaque moitié du "point d'arrêt" redondant soient identiques de façon à réduire leur construction et les coûts La figure 3 montre le schéma-bloc d'un circuit MBU réalisant cet objectif tout en assurant la fonction de multibus vers l'interface DIOB et la logique de com35 mande Sur le côté gauche de la figure 3, on a représenté Il différents signaux conventionnels arrivant du multibus 18, des lignes de signaux d'adresse 32 à 19 bits et des lignes de données 34 et 36 à 8 bits ainsi que cinq signaux de commande en 38 Tous ces éléments sont classiques et correspondent à la description du multibus de la Société Intel Les signaux de sortie du bus entrée/sortie, distribué 22 représenté sur le c 6 té gauche de la figure 3 sont huit bits d'adresse en 40 et huit bits de données en 42 On a également prévu cinq signaux de commande en 44 L'utilisation de ces différents signaux est en général connue des spécialistes. Dans le mode de réalisation préférentiel, l'unité MBU fonctionne comme un périphérique à carte de mémoire par rapport au processeur fonctionnel comme cela 15 se fait de façon caractéristique dans un environnement de multibus L'unité MBU se compose d'un processeur et d'une logique de commande 46 convertissant les signaux d'adresse reçus du multibus 32 en des signaux d'autorisation d'entraînement, appropriés utilisés dans le circuit DIOB 22 Le processeur et la logique de commande reçoivent les signaux d'entrée de l'autre plaquette MBU par l'intermédiaire d'un connecteur de commande d'interdiction 48 qui est relié au câble 26 (figure 2) Les signaux reçus du partenaire MBU sont également fournis a un registre d'état 50 et à une logique de contrôleur redondant 52 recevant également les signaux d'entrée d'un registre de commande 54 La logique de commande redondante 52 est la partie du circuit dans laquelle se fait la détermination de celle des unités MBU et ainsi de celui des proces30 seurs fonctionnels et des processeurs d'autoroute de données qui sont utilisés; son fonctionnement sera détaillé ci-après en liaison avec la figure 4. Les plaquettes des unités MBU sont munies de deux commutateurs 56 et 58 L'opérateur met le commu35 tateur 56 soit en position de fonctionnement RUN, soit en position de SERVICE, c'est-à-dire qu'il permet à la plaquette d'être testée lorsqu'elle est en mode de SERVICE. Le commutateur 58 est utilisé pour déterminer si une unité MBU particulière et ainsi l'unité CPU 16 correspon5 dante sont les unités primaires ou les unités de réserve ou auxiliaires dans un "point d'arrêt" donné Le commutateur 58 détermine ainsi quelle unité MBU et quel processeur fonctionnel 16 correspondant et ainsi le processeur d'autoroute de données 12 qui sont en mode de commande, lorsque ces deux éléments fonctionnent correctement dans un certain "point d'arrêt"; au cas contraire, le commutateur sert à vérifier qu'elle est l'unité redondante qui prendra automatiquement la commande L'élément principal restant de la plaquette MBU est une unité 15 de décode d'ordre et de commande de bus de données 60. Cette partie ainsi que les autres circuits d'entraînement, les inverseurs, les verrous ou analogues, tels que représentés ne concernent pas directement l'invention; la fonction et la conception de ces unités sont en général 20 connues des spécialistes. La figure 4 montre en détail la logique de redondance 52 de la figure 3 Les deux commutateurs 56 et 58 sont représentés comme fournissant des signaux d'entrée au registre d'état 50 La connexion du registre 25 de commande 54 est également représentée Les signaux d'entrée sont représentés dans la partie gauche de la figure 4 et les signaux de sortie dans la partie droite. De façon générale, le but de cette logique est d'autoriser l'unité MBU correspondante et le circuit du proces30 seur c'est-à-dire de les autoriser à prendre la commande des communications et des opérations de traitement locales, seulement si le circuit redondant correspondant n'est pas autorisé Ainsi, à titre d'exemple, un signal d'entrée intitulé "partenaire autorisé" apparaft en 80. 35 Ce signal, inversé par l'inverseur 78 est fourni à la î 55 9 porte ET 60 Si le signal "partenaire autorisé" est vrai, le signal de sortie de la porte ET 60 qui fournit en sortie le signal autorisé (et indique qu'il fait de la sorte en allumant une diode électroluminescente LED 62) ne peut être vrai De façon analogue, un autre signal d'entrée appliqué à la porte ET 60 est le signal "en vie" du registre de commande 54; ce signal indique que le processeur fonctionnel correspondant ne fonctionne pas correctement Dans la négative, le signal "autorisé" ne peut être fourni Le signal " autorisé" est transmis au partenaire MBU en 76 qui l'interpréte comme signal "partenaire autorisé" c'est-à-dire en 80 Un second signal de sortie est "je suis en ordre" en 66 Cela signifie que tout est en ordre pour l'unité MBU et son processeur fonctionnel 15 ainsi que le processeur d'autoroute de données, correspondants; cette situation est transmise a l'autre unité MBU qui l'interpréte comme signal "partenaire en ordre" en 68 Le signal "câble en place" 70 est également représenté En clair, si le câble de liaison 26 (figure 2) 20 n'est pas en place, le registre d'état 50 sera informé de cette situation et une intervention appropriée peut être faite Un signal "demande de commande" reçu par le processeur fonctionnel par l'intermédiaire du registre de commande 54 est représenté en 72 En clair, s'il n'est pas nécessaire pour que l'unité MBU prenne la commande, c'est-à-dire si le processeur fonctionnel n'a pas d'opérations en cours, il n'y a pas de raison pour que l'unité MBU confirme la commande; ainsi ce signal est également appliqué à la porte ET 60. Il est également prevu un multivibrateur monostable 74 qui a un cavalier 76 sur ses bornes De façon caractéristique, ce multivibrateur monostable 74 est utilisé à des intervalles pour fournir le signal "en vie" 75; cela signifie que lorsque le multivibra35 teur monostable n'est pas périodiquement autorisé par le processeur fonctionnel qui met le bit "en vie" dans le registre de commande 54, cela constitue une indication qu'il y a un incident dans l'unité MBU au niveau de son processeur fonctionnel et le signal "autorisé" n'est pas émis Le cavalier modifie la longueur de l'intervalle auquel le multivibrateur monostable doit être remis à l'état initial L'intervalle est choisi en fonction de la longueur du programme mis en oeuvre sur le processeur fonctionnel Le multivibrateur monostable est appliqué 10 pour cela à la porte ET 60 si sa combinaison logique selon la fonction ET en 59 avec le signal RUN est une combinaison logique vraie, c'est-à-dire si le commutateur 56 est dans la position RUN Le signal "je suis en ordre" en sortie en 66, qui est le résultat de la combi15 naison logique selon la fonction ET en 57 avec le bit " je suis en ordre " dans le registre de commande 54, indique le processeur fonctionnel est mis en oeuvre et le signal "en vie" 75 reçu du multivibrateur monostable 74 comme indiqué ci-dessus devient "partenaire en ordre" 20 en 68 pour l'autre unité MBU. La figure 5 montre comment deux unités MBU coopèrent principalement selon un montage de bascule bistable flip-flop, avec une seule unité MBU activée c'est-à-dire pouvant fournir comme signal de sortie le signal "autorisé", confirmant la commande à tout instant. Les deux portes ET représentées en 60 à la figure 5 sont les mêmes que celles de la figure 4 Encore les signaux d'entrée des portes ET sont le signal "en vie" 75 dérivé par le multivibrateur monostable 75 du registre de com30 mande, le signal "demande de commande" 72 provenant également du registre de commande ainsi que le signal "partenaire autorisé" 80 représenté à la figure 4, et qui est inversé par l'inverseur 78 Ainsi, lorsque tous les trois signaux sont "vrais", l'unité MBU correspon35 dante est autorisée et le signal "autorisé" 76 approprié est fourni en sortie Comme ce signal est inverse en 78 et est appliqué à l'autre porte ET, on a une fonction de flip-flop; cela signifie que l'une seulement des portes ET 60 peut fournir un signal "vrai" à un instant donné L'unité MBU ayant cette porte ET dans son circuit sera celle qui commandera à un instant donne. La figure 6 composée des figures 6 A et 6 B, montre le branchement réalisé par le câble de liaison 26 entre les deux unités MBU 24 et 24 a La figure 6 A 10 montre la liaison réalisée en pratique, utilisant un câble plat 26 à 20 conducteurs, auquel on donne une torsion de 180 degrés et qui est relié au port identique de l'autre plaquette de façon que les signaux de sortie d'une unité MBU deviennent les signaux d'entrée de 15 l'autre unité MBU et inversement La figure 6 B montre la séquence des signaux utilisés A titre d'exemple, le signal de sortie "je suis en ordre" sur la broche n 20 de l'une des plaquettes devient le signal "partenaire en ordre" sur la broche n 1 de l'autre plaquette De façon 20 analogue, le signal "sortie autorisée" sur la broche 18 devient le signal "partenaire autorisé" sur la broche 3. Le signal "carte en place" est commun aux deux circuits et le signal "sortie interdite" en 14 pour l'une des plaquettes devient le signal "entrée interdite" de la broche 25 7 de l'autre plaquette On réalise de cette façon, le montage flip-flop représenté à la figure 5 tout en permettant de réaliser à l'identique les deux plaquettes des unités MBU; dans la mesure o l'outillage nécessaire pour une plaquette de circuit imprimé représente en général 30 une partie importante du coût de fabrication d'un certain composant, cela se traduit par une économie importante. La figure 7 montre un arbre de décisions du fonctionnement de chaque unité MBU lors du redémarrage. La première question examinée en 92 est si le partenaire 35 est en mode de commande; cela signifie qu'on vérifie si le signal "partenaire autorisé" 80 est au niveau haut. Si ce signal est vrai, l'unité MBU examinée doit passer en mode d'attente comme indiqué en 94 Si par contre le partenaire n'est pas en mode de commande, en 96, on exa5 mine si l'unité MBU qui exécute l'arbre de décisions est le processeur primaire Dans l'affirmative, et si les communications transversales sont en ordre, c'est-à-dire si le câble de connexion 26 est en place, en 90, on commence à exécuter le mode de commande 104 S'il ne s'agit 10 pas de l'unité primaire MBU, on commence à passer en mode d'attente en 100 pour une durée minimale prédéterminée au cours de laquelle on détermine si l'autre processeur est prêt à se remettre en ligne Si par ailleurs, le câble n'était pas en place au point 90, l'unité MBU 15 passe en mode d'attente en 106. La figure 8 montre un arbre de décisions des opérations MBU effectuées en mode de commande c'està-dire lorsque le bit du mode de commande est mis au niveau haut comme cela est détecté au point 110 Dans l'affirmative, mais le partenaire MBU est en commande en 112, alors l'unité MBU exécute simplement le mode d'at tente en 114 Si le partenaire n'est pas en commande et si l'autoroute de données est en ordre en 116, l'unité MBU passe en mode de commande en 118 Si l'autoroute de 25 données n'était pas en ordre alors que le partenaire et son autoroute étaient en ordre en 120, alors l'unité MBU passe en mode d'attente en 122 Si aucune des autoroutes de données n'était en ordre, comme cela est contr 8 lé en 116 et 120, alors l'unité MBU continue d'exé30 cuter son mode de commande en 124, en supposant qu'il a la meilleure chance de fonctionner correctement Le fonctionnement effectué selon la figure 8, est mis en oeuvre périodiquement lors de la remise à jour du multivibrateur monostable 74 qui est appelé "horloge chien35 de-gardiennage"; lorsque le multivibrateur monostable 74 a décompté son temps, l'unité MBU balaie les bits d'état et effectue les opérations représentées à la figure 8. Si le processeur est en mode d'attente, on suit l'arbre de decisions de la figure 9 Si son partenair est en mode de commande en 128, l'unité MBU reste en mode d'attente en 130 Si le partenaire ne semble pas en commande mais si les communications transversales ne sont pas en ordre, en 132, l'unité MBU reste en mode d'attente en 134, supposant en fait que l'autre processeur fonctionne Si les communications ne sont pas en ordre en 132 et si la commande était défaillante dans le passé, en 136, alors l'unité MBU reste en mode d'attente en 138 en supposant que les communications n'étaient 15 pas toutes défaillantes Si la commande n'était pas défaillante précédemment, on suppose alors en 140 qu'il y a eu un incident au niveau de l'autre processeur et le processeur fonctionnel commence à passer en mode de commande De cette façon, on arrive à un fonctionnement 20 sans incident, de sorte qu'un processeur prend le dessus si les communications entre les processeurs sont défaillantes ou si l'autre processeur est défaillant Cela donne au système un niveau utile de sécurité. Selon l'invention, la redondance du ni25 veau du contrôleur de données du processeur fonctionnel protège le système contre une défaillance de l'un ou l'autre de ses circuits A la fois le contrôleur d'autoroute de données et le processeur fonctionnel sont dupliqués et chacun a ses propres interfaces d'autoroute de 30 données, de châssis multibus et de cartes MBU La carte MEU fait partager l'interface vers un bus entrée/sortie distribué, commun entre les deux processeurs. La redondance de l'unité de processeur distribué selon l'invention est réalisée par un schema 35 sans maître Les deux processeurs fonctionnels ont le même programme Toutefois un seul des deux est autorisé à passer en mode de commande à un instant donné Le processeur-partenaire fonctionne alors en mode d'attente ou de réserve. En mode de commande, le processeur fonctionnel travaille comme il le fait normalement à un "point d'arrêt" non redondant c'est-à-dire un "point d'arrêt" qui n'a pas la redondance de ces éléments Il effectue les opérations de lecture et d'inscription vers 10 le bus I/0, réparti ainsi que les différentes fonctions d'acquisition de données et de commande de procédé, que l'on attend de lui En outre, il controle l'état de son partenaire en balayant les signaux provenant de l'unité MBU partenaire vers cette unité MBU par l'intermédiaire 15 du câble de connexion transversal. Lorsqu'il est en mode de réserve, le processeur fonctionnel effectue les diagnostics et controle l'état de son partenaire Il contrôle la bonne santé du processeur fonctionnel qui est en mode de com20 mande ainsi que son autoroute de données en balayant les signaux envoyés par le câble de liaison transversal. Comme indiqué, selon la technique d'émission utilisée dans le système auquel appartient la présente invention, toute information nécessaire pour effec25 tuer les opérations locales est transmise par l'autoroute de données Selon la présente invention, cette donnée est reçue par le processeur fonctionnel de réserve ainsi que par le processeur fonctionnel en mode de commande. Le processeur fonctionnel en réserve vérifie le proces30 seur en mode de commande en recevant toute l'information de traitement des commandes de procédé des différents "points d'arrêt", par l'autoroute de données De cette façon, le transfert de la commande de l'un à l'autre se fait sans retard et sans complications inutiles. Le circuit de l'unité MBU décrit ci- dessus interdit que le processeur fonctionnel,qui est en mode de réserve> n'inscrive dans les cartes entrée/ sortie distribuées Au cas o le processeur fonctionnel qui est en mode de commande devient défaillant, son unité MBU sera interdite et informera le processeur fonctionnel de réserve par l'intermédiaire de son -unité MBU A ce moment, le processeur de réserve prend la commande du bus, commence à développer le programme de procédé précédemment exécuté par son partenaire et commence à émettre l'information émise précédemment par son partenaire. Comme décrit ci-dessus, dans le mode de réalisation préférentiel, cela est réalisé par un circuit sur les plaquettes des circuits d'interface I/O 15 (MBU) et qui arbitre la commande des entrées/sorties (I/O) et une logique intégrée/programme particulier dans les processeurs pour soutenir l'interface I/O Chaque circuit de commande d'interface I/0 reçoit les signaux d'entrée suivants: Information provenant du processeur un bit d'état "en vie" utilisé pour vérifier la santé du processeur; un bit de demande de commande I/0; un bit d'état de processeur. Information provenant du circuit de commande de l'interface I/O du "partenaire", reçue par un câble de connexion transversal: un bit indiquant si le partenaire a la commande de l'entrée/sortie (I/O); un bit indiquant si le partenaire est en bonne santé; un bit indiquant si le câble de connexion transversal est en place. Information provenant de l'utilisateur par l'intermédiaire de deux commutateurs: un bit qui interdit les opérations d'inscription vers È 551897 (ou de contr 6 le de) l'entrée/sortie (I/O); un bit indiquant quel "point d'arrêt" doit commander l'entrée/sortie (I/O) au cas ou les deux redémarrent au même moment. Au redémarrage, les deux processeurs inscrivent dans le circuit de commande de redondance pour indiquer leur propre santé et celle de l'autoroute de données (L'absence d'inscription de n'importe quoi laisse apparattre le processeur correspondant comme défaillant). 10 Le processeur dont le circuit de commande de redondance est conçu pour être le processeur primaire par le positionnement du commutateur 58, envoie alors un bit de "demande de commande" pour demander la commande de l'entrée/sortie (I/O) Dès que la commande est fournie, le processeur primaire reçoit le droit exclusif de commander l'entrée/sortie (I/O) jusqu'à ce que l'un des éléments suivants se produise: le processeur remet à l'état initial le bit de "demande de commande"; le processeur n'a pas la mise à jour du multivibrateur monostable par un bit d'horloge "chien de garde" sur une base périodique; ou le commutateur marche/service du circuit de commande est mis en position de service par l'utilisateur. 25 Si le processeur en commande détecte que ses communications sont défaillantes (autoroute de données) et que son partenaire indique qu'il est en bonne santé, il abandonne la commande de l'entrée/sortie (I/0) en remettant à l'état initial son bit de "demande de com30 mande". Un processeur qui est en mode d'attente (non commande) attend en général jusqu'à ce que la commande soit abandonnée par le processeur primaire (pour l'une des raisons données ci-dessus) Lorsque cela se 35 produit, le processeur en attente peut demander et obtenir le privilège de l'écriture pour I/O. Lorsque la commande est ainsi entre les mains du second processeur (processeur qui était précédemment en réserve), on peut couper l'alimentation du processeur défaillant, le réparer ou le remplacer et le rebrancher de nouveau sans aucun effet négatif sur les fonctions de commande exécutées par le partenaire Lors de la remise en route du processeur fonctionnel, réparé ou remplacé, celui-ci détecte que son partenaire est déjà en commande et prend le rôle de processeur de réserve. La commutation automatique de la commande sur le processeur de réserve se produit dans l'une des conditions suivantes: défaillance du processeur de commande ou défaillance de l'autoroute de données asso15 ciée au processeur de commande, si la santé du processeur fonctionnel de réserve et de son autoroute de données apparaît pour les deux comme bonne. Le commutateur marche/service 56 peut s'utiliser pour commuter manuellement la commande de 20 service de l'un ou l'autre processeur Le commutateur principal/réserve 58 autorise également que l'un des processeurs prenne la commande de préférence à l'autre lors du redémarrage L'unité MBU dont le commutateur 58 est mis en position de réserve est simplement légère25 ment retardée avant de prendre la commande, de sorte que l'autre unité a déjà pris la commande à ce moment. Les connexions par câble de liaison peuvent se décrire de façon plus détaillée de la manière suivante I 1 y a trois entrées: câble en place, parte30 naire en ordre et partenaire autorisé; il y a également trois sorties: carte en place, je suis en ordre, sortie autorisée De façon plus détaillée: ENTREES: CABLE EN PLACE: cela indique au processeur (par un bit du registre d'état) que le câble 35 est en place pour les deux connecteurs des 15 unités MBU Cela se fait en mettant à la masse le branchement "CARTE EN PLACE" d'une unité MBU et en reliant ce branchement au branchement "CABLE EN PLACE" de l'autre unité MBU. "PARTENAIRE EN ORDRE": cela indique au processeur (par un bit du registre d'état) que l'autoroute de données du processeur redondant est en ordre et que le processeur redondant est "en vie" et que le processeur redondant n'a pas eu d'incident dans la commande I/O. "PARTENAIRE AUTORISE": cela indique que le processeur redondant est en mode de commande. Aussi longtemps que cette entrée est active, le processeur ne peut passer en mode de commande. Cette ligne active le bit "COMMANDE DISPONIBLE" du registre d'état lorsqu'elle est inactive. SORTIES: "CARTE EN PLACE": cette sortie est reliée à la masse et le signal "CABLE EN PLACE" de l'unité MBU redondante est actif si le câble "COMMANDE INTERDITE" est en place sur les deux plaquettes. "JE SUIS EN ORDRE" est actif lorsque le multivibrateur monostable "en vie" et le bit "je suis en ordre" du registre de commande sont tous deux actifs; "SORTIE AUTORISEE": est actif lorsque le processeur est en mode de commande Pour être actif, le multivibrateur monostable "en vie" doit être actif, le bit "DEMANDE DE COMMANDE" doit être au niveau haut, le commutateur marche/ service doit être en mode marche (RUN) et "PARTENAIRE AUTORISE" doit être inactif (autorisant au plus un processeur en mode de commande à un instant donné). "SORTIE AUTORISEE" est reliée à "PARTENAIRE AUTORISE" sur l'unité MBU redondante pour éviter 30 que le processeur redondant ne passe en mode de commande lorsque ce signal est actif. I 1 est à remarquer que la description ci-dessus concerne une structure de processeur redondant 5 et un procédé de mise en oeuvre de celui-ci satisfaisant aux besoins et aux objectifs de l'invention, tel que précisé ci-dessus Les processeurs redondants fonctionnent en mode sans maître et la commutation de l'un à l'autre se fait automatiquement mais de façon qu'un seul soit autorisé à un instant donné, évitant le risque d'instructions conflictuelles La conception du processeur est telle que des plaquettes identiques puissent s'utiliser pour les deux processeurs avec un seul câble-ruban tourné de 180 degrés assurant la transmission des signaux 15 de liaison entre les bornes du câble commun. g ú L L L L L L ú 7 Zll 3 Oa NVWWO N 3 3 UIVN 31 I Vd 011 3 a NVWWOD 30 3 000 W N 3 901 31 N 311 Va 3 ao W N 3 NO Iln D 3 X 31 Uf N Od NOIIVU Vd 3 Ud 7 o 03 NNO 3 NVWW O 3 a 00 W N 3 NO Iln 33 X 3,9 Un Od NOIIVU Vd 3 Ud 001 3 NIWH 31303 Ud Sd W 31 30 Wn WINIW V UH Od 31 N 31 LIVO 300 W N 3 NO Ilno D 3 X 3,1 H Un Od NOIIVU Vd 3 Hd 96 3 AH 353 H/3 HIVWI Ud 176 3 i N 311 V&a 3 a OW N 3 NO Ifln D 3 X 3 l Hn Od NOIIVU Vd 3 Ud Z 6 3 ONVWNWOD 30 300 W N 3 3 HIVN 31 U Vd 06 3 HOUO N 3 39 VSU 3 ASNV 1 UI NOIIVDI Nn WWOD 1 L 319 VISONOW dfn 31 VUOIA Il In W 09 533 NNOO S 3 a Sn O na 3 ONVWWOD 13 53 UHO 530 3 VG O o 330 17 3 a NVWWOJ 3 a 3 H 15 ID 3 U zs INVONOO 33 Un 3 l OUINO 3 na 3 nÈI 5 Ol 1 V 13,G 3 UHISID 3 H 97 3 ONVWWO 30 3 fln ID Ol H Uf 13553 DO Ud e? 7 z 9-nw 0 ú É z z z z I z Z Z eg I *i 7 z 17 z 91 91 eI 7 91 21 171 pzi V-flgw T fla N B Od D V Od D Nd O 335 Vl U Vd 3 HIOW 3 W 335 VIU Vd 3 UIOW 3 W 335 VI Vd 3 UIOW 3 W 533 NNO O 3 3 iln OHO In V,1 30 Hfn 3 lo O il NOD 533 NN 00 3 a 31 n OUOINV 1 l 3 a Un 3108 HNO O 533 NNO O 30 3 fl OH Oi NV,l 30 UA 310 UINOD 3 GN 3031 530 N 3 d 3 J 33 530 NOIIVOIJIIN 30 I 0 l s I 3 ufl D Ii: SNIS 53 Q 3 ON 3 H 333 H 530 53 AÈIH 3 Wn N 17 z L 68 LSSZ IDENTIFICATION DES REFERENCES NUMERIQUES DES DESSINS: LEGENDE REFERENCE FIGURE PREPARATION POUR L'EXECUTION EN MODE D'ATTENTE 114 8 AUTOROUTE DE DONNEES EN ORDRE 116 8 CONTINUER D'EXECUTER EN MODE DE COMMANDE 118 8 PARTENAIRE EN ORDRE 120 8 PREPARATION POUR L'EXECUTION EN MODE D'ATTENTE 122 8 CONTINUER D'EXECUTER EN MODE DE COMMANDE 124 8 PARTENAIRE EN COMMANDE 128 9 CONTINUER D'EXECUTER EN MODE D'ATTENTE 130 9 COMMUNICATIONS TRANSVERSALES EN ORDRE 132 9 CONTINUER D'EXECUTER EN MODE D'ATTENTE 134 9 DEFAILLANCE DE LA COMMANDE ANTERIEURE 136 9 CONTINUER D'EXECUTER EN MODE D'ATTENTE 138 9 PREPARATION POUR PASSER EN MODE DE COMMANDE 140 9 REVENDICATIONS 1 ) Montage de commande de procédé, distribué, ayant des "points d'arrêt" d'acquisition de données, et de commande, reliés par une autoroute de données, montage caractérisé en ce que chaque point d'arrêt se compose d'un premier et d'un second processeur identiques ( 12,14,16; 12 a, 14 a, 16 a) pour permettre l'exécution des fonctions de commande de procédé, au niveau local et les fonctions d'interface de communication avec l'autoroute de données ( 10) ces deux proces10 seurs étant montés suivant une bascule bistable (flip-flop), un circuit pour relier le signal d'autorisation demandé par chaque processeur pour être inversé et être fourni à une porte ET de l'autre processeur. 2 ) Montage selon la revendication 1, caracté15 risé en ce qu'il comprend un circuit pour transférer la commande de l'un des processeurs ( 12,14,16; 12 a, 14 a, 16 a) à l'autre en cas de défaillance du premier processeur, lorsque l'autre processeur est susceptible d'effectuer la commande. 3 ) Procédé de mise en oeuvre d'un mon20 tage de commande de procédé, distribué, ayant un certain nombre de points d'arrêt d'acquisition de données et de commande de procédé, reliés par une autoroute de communication de données, chacun des points d'arrêt se composant de plusieurs processeurs avec chaque fois un pro25 cesseur d'interface d'autoroute pour effectuer les opérations de communication avec l'autoroute et un processeur fonctionnel pour effectuer les fonctions d'acquisition de données locales et de commande, procédé caractérisé en ce qu'on commande un premier processeur pour le 3 mettre en mode actif dans lequel il effectue les fonctions et on commande tous les autres processeurs de chaque point d'arrêt pour les mettre en mode passif à un instant donné, et on termine le mode actif du premier des processeurs lors de la défaillance de son processeur 35 fonctionnel ou de son processeur d'interface d'autoroute et on met fin au mode passif de l'un des autres processeurs et on le fait passer en mode actif pour effectuer les fonctions lorsque le processeur fonctionnel ou le processeur d'interface d'autoroute d'un autre parmi les processeurs de ce point d'arrêt sont tous deux opérationnels. 4 ) Procédé selon la revendication 3, caractérisé en ce qu'on commande le processeur de façon 10 qu'un seul processeur effectue les fonctions en mode actif à un instant donné. ) Procédé selon la revendication 4, caractérisé en ce qu'on commande les processeurs de façon qu'un seul parmi les processeurs effectue les fonc15 tions à un instant donné, en combinant tous les processeurs suivant un montage flip-flop, de sorte que si l'un des processeurs est en mode actif, tous les autres processeurs ne peuvent passer en mode actif.