FR 2561410 A1 19850920 FR 8403981 A 19840313 COMMANDE DE PROCESS ASSOCIE A DEUX AUTOMATES PROGRAMMABLES REDONDANTS. L'invention concerne un dispositif de contrôle d'un pro cess au moyen de deux automates programmables redondants associés à des moyens de surveillance destinés a contrôler la similitude d'informations présentes dans les deux automates fonctionnant simultanément sur ledit process, chaque automate comprenant un bus principal de communication entre une unité centrale et une pluralité d'interfaces à modules ou cartes d'entrée et de sorties, et à modules auxiliaires de couplage et de fonction, ledit prceess étant équipé de capteurs connectés électriquement aux cartes d'entrées respectives des deux automates par un premier faisceau de tables et d'actionneurs raccordés aux cartes de sorties correspondantes par un deuxième faisceau de câbles. Les dispositits de redondance existants sont constitues d'une unité de surveillance commune, disposée à l'extérieur des deux automate programmables et. reliée électriquement avec les unités centrales par des liaisons à saute vitesse L'unité de surveillance coopere avec un bloc de commutation dis tins qui pilote la lise hors service de l'automate défec onéreuse. L'invention a pour but de remédier à ces inconvénients et de permettre la réalisation d'un dispositif de contrôle fiable destiné à synchroniser le fonctionnement des deux automates redondants et à vérifier la cohérence de leurs informations, notamment des entrées sorties et mots mémoire. Le dispositif de contrai e selon l'invention est caracte- rise par le ait que le bus principal de chaque automate possède une capacité d'échanges d'infornations autorisant une structure multiprocesseur et comporte un coupleur de redondance destiné à dialoguer avec l'unité centrale cor respondante. Une liaison série asynchrone est agencée entre les deux coupleurs de redondance pour assurer à chaque cycle du programme utilisateur, des échanges d'informations prédéterminées, notamment entrées, sorties, ou mots mémoire, entre les deux automates. Chaque coupleur de redondance est formé par un coupleur asynchrone comprenant une mémoire à registres de dialogue avec l'unité centrale correspondante, et une mémoire de données destinée à emmagasiner d'une part les informations en provenance de l'unité centrale etlou des cartes d'entrées et de sortiesassociées à l'un des automates, et d'autre part des informations similaires de l'autre automate, échangées par l'intermédiaire de la liaison série asynchrome. Le programme test de chaque coupleur de redondance introduit un temps de traitement de l'ordre de 5 à 10 ms par cycle, et n'intervient vis-à-vis de l'automate correspondant qu'en début et en fin de cycle, de manière à surveiller l'état des entrées avant leur utilisation par le programme, et l'état des sorties après déroulement du programme utilisateur, mais avant leur répercussion sur les actionneurs. Chaque coupleur de redondance surveille en permanence les ordres reçus des capteurs ainsi que les actions issues du déroulement de leurs programmes propres. En cas d'ordres ou d'actions incohérents, et avant que ceux-ci ne soient réper cutés, il diagnostique la panne et provoque le découplage de l'automate défectueux. Dès lors, un seul automate assure le fonctionnement de l'installation tandis que des opérations de maintenance ou des réparations sont possibles sur l'autre. Le retour en fonctionnement est assuré par le coupleur de redondance qui procède au rafrachissement (entrées, sorties, états internes) de l'automate dépanné avant de le coupler au process. L'unité centrale de chaque automate comporte une mémoire contenant le programme utilisateur et une mémoire de données refermant le descripteur de tables. Le coupleur de redondance est agencé pour recopier lesdites tables dans sa mémoire de données propre. L'unité centrale de chaque automate est d'autre part équin pée d'une mémoire image destinée à "figer" à chaque cycle de programme les informations d'entrées et de sorties. Chaque coupleur de redondance acquiert la valeur des entrées et des sorties dans cette mémoire image et les range ensuite dans sa mémoire de données propre. La liaison série asynchrone entre les deux coupleurs de redondance est elle même redondante et supporte deux transmissions bi-directionnelles simultanées D'autres avantages et caractéristiques ressortiront plus clairement de l'exposé qui va suivre d'un mode de mise en oeuvre de l'invention, donné à titre d'exemple non limitatif et représenté aux dessins annexés, dans lesquels - la figure 1 est une vue générale synoptique du dispositif de controle selon l'invention; - la figure 2 montre le schéma synoptique de l'unité centrale d'un automate programmable; - la figure 3 représente le schéma de la mémoire image de l'unité centrale;; - la figure t illustre le schéma synoptique dçun coupleur de redondance selon l'invention, - la figure 5 est une vue schématique de la double liaison série asynchrone agencée entre les deux coupleurs de redondance; - la figure 6 montre la structure des registres de dialogue contenus dans la mémoire de dialogue de chaque coupleur selon la fig. 4; - la figure 7 représente le registre d'état d'adresse 0 de la mémoire de dialogue selon la fig. 6; - la figure 8 illustre le déroulement du programme utilisateur et du programme test; - la figure 9 représente la structure d'échange et de comparaison des informations "ENTREES". En référence à la figure 1, deux automates AP1, AP2 programmables redondants fonctionnent simultanément sur un meme process ou procédé 10 doté de capteurs 12 (boutonspoussoirs, interrupteurs, roues codeuses ...) et d'actionneurs 14 (contacteurs, électro-vannes, voyants, afficheurs ...). Les automates AP1, AP2 sont du type PB 400 de MERLIN GERIN, comprenant chacun un bus principal BP1, BP2 de communication et de surveillance à très forte capacité d'échanges autorisant une structure multiprocesseur. Le bus principal BP1, BP2 de chaque automate AP1, AP2 est équipé d'une unité centrale UC1, UC2, d'une pluralité d'interfaces à modules ou cartes d'entrées El, E2 et de sorties SI, S2 logiques (tout ou rien) ou analogiques, et de modules auxiliaires (non représentés) de couplage et de fonction. Les capteurs 12 du process 10 sont connectés électriquement par une première paire de faisceaux de câbles Cl, C2 aux modules d'entrées El, E2 des deux automates Api, AP2. Les actionneurs 14 du process 10 sont raccordés par une deuxième paire de faisceaux de câbles C3,C4 aux modules de sorties S1, S2 des deux automates AP1, AP2. Au bus principal BP1, BP2 de chaque automate AP1, AP2 est associé un coupleur de redondance CR1, CR2 destiné à dia loguer avec l'unité centrale UC1, UC2 correspondante pour surveiller en permanence les ordres reçus des capteurs 12 ainsi que les actions issues du déroulement cyclique du programme propre de chaque automate APi, AP2. Une double liaison série LS asynchrone est agencée entre les deux coupleurs de redondance CRI, CR2 pour synchroniser le fonctionnement simultané des deux automates AP1, AP2 redondants. A chaque cycle de programme, des échanges reciproques sont effectués entre les deux coupleurs CRI, CR2 via la liaison LS redondante pour controler la similitude d'informations prédéterminées (entrées, sorties, mots mémoire) présentes simultanément dans les deux automates AP1, AP2. La figure 2 montre le schéma synoptique de l'unité centrale UCI de l'automate API l'unité centrale UCZ de l'autre au tomate AP2 présente une structure idencîque à celle de UCI et ne sera pas décrite par la suite.L'unité centrale UC1 comprend une unité de traitement 16 destinée à piloter le fonc tionnement de l'automate AP1 et à gérer les échanges d'in- formations entre ses modules par l'intermédiaire du bus principal BP1; - une memoire RAM 18 pour le stockage des données; - une mémoire RAMou EPROM 20 pour le stockage du programme utilisateur; - une mémoire RAM 22 image des entrées E1 et sorties S1;; - un bus intermédiaire BI UC1 d'interconnexion des mé- moires 18, 20, 22 et de l'unité de traitement 16, cette dernière étant raccordée d'autre part au bus principal BP1. Sur la figure 3, la mémoire image E/S 22 de l'unité centrale UC1 comporteune première zone MIE1 de mémoire image d entrée coopérant avec les modules d'entrées E1, et une deuxième zone MIS2 de mémoire image de sortie raccordée aux modules de sorties S1 de l'automate AP1. La fonction de la mémoire image 22 consiste à mémoriser à chaque cycle du programme, les informations d'entrées et de sorties, évitant ainsi tout aléa de fonctionnement. Le sens de transmission des informations entre la mémoire 22 et les modules d'entrées El et de sorties S1 s'inverse dans les bus BP1 et BI UC1 en fonction de la zone MIEl ou MIS1 adressée par l'unité de traitement 16.On remarque que les ordres déli vrés aux modules de sorties S1 font l'objet d'une inscription préalable dans la deuxième zone MIS1 de mémoire image de sortie. La mémoire image 22 de l'autre unité centrale UC2 comporte d'une manière similaire une zone de mémoire image d'entrée MIE2 coopérant avec les modules d'entrées E2, et une zone de mémoire image de sortie MIS2 coopérant avec les modules de sortie S2. La figure 4 illustre le schéma synoptique du coupleur de redondance CR1 de l'automate API. L'autre coupleur de redondance CR2 associé à l'automate AP2 est identique à CR1 et ne sera pas décrit par la suite. L'architecture du coupleur de redondance CR1 est basée sur celle d'un coupleur asynchrone comportant - une unité de traitement 24 utilisant un microprocesseur 6809 de MOTOROLA; - une mémoire RAM 26 commune de dIalogue UC1/CR1 renfermant les registres de dialogue entre l'unité centrale UC1 et le coupleur de redondance CR1; - une mémoire RAM 28 de données, ayant une capacité de quatre koctets; - une mémoire EPROM 30 de capacité huit koctets pour le stockage du programme test du coupleur CR1; - un bus intermédiaire BI CR1 d'interconnexion des mémoires 26, 28, 30 et de l'unité de traitement 24;; - une interface 32'logique d'adaptation11 et un module 34 de gestion des interruptions, intercalés entre le bus intermédiaire BI CR1 et le bus principal BP1 de l'automate AP1; - deux voies 1,2 indépendantes de transmission série raccordées au bus intermédiaire BI CR1 et comprenant des moyens d'émission EM1, EM2 et des moyens de réception R1, R2 asso clés à la liaison LS redondante. Sur la figure 5, est représentée schématiquement la liaison LS redondante entre les deux coupleurs CR1 et CR2. Elle est constituée par deux paires de canaux A, A' 7 B, B' formant deux liaisons à transmission bidirec tipnnelle simultanée. Le premier canal A relie l'émetteur EM1 de la voie 1 du coupleur CR1 au récepteur RI de la voie 1 correspondante de l'autre coupleur CR2 Le deuxième canal A' raccorde l'émetteur EMI de la voie 1 du coupleur CR2 au récepteur R1 de la voie 1 du coupleur CR1. Les troisième et quatrième canaux B, B' relient d'une manière similaire les émetteurs EM2 et les récepteurs R2 des deux voies 2, respectivement du coupleur CRI vers le coupleur CR2, et du coupleur CR2 vers le coupleur CRI.Le sens de transmission des informations dans les différents canaux A, A' ; B, B' de la liaison LS est indiqué par une flèche, La structure des registres de dialogue contenus dans la mémoire 26 de dialogue du coupleur de redondance CR1, est illustrée à la fig. 6. La mémoire 26 comprend un registre O adressable "bit" et une pluralité de registres 2 à 6 adressables "mot". Les autres registres 1 et 7 à F sont réservés. La mémoire 26 de dialogue de l'autre coupleur de redondance CR2 est identique, et ne sera pas décrite. Le registre d'adresse o constitue un registre d9état dont le format à 16 bits est représenté à la fig. 7 - Cl et C2 sont des bits de contrôle du déroulement du programme utilisateur; - a est le bit "INDETERMINATION" piloté dans l'état 1 par le coupleur de redondance CRI en cas d'incohérence d'infor- mations avec le coupleur CR2; - DEF est le bit "DEFAUT" mis dans l'état 1 à la suite d'un défaut de l'automate AP1 et/ou AP2 ou de la liaison LS redondante;; - RAF est le bit de "demande de RAFRAîCHISSEMENT" positionné dans l'état 1 par le coupleur CR1 et remis automatiquement dans l'état 0 par le programme utilisateur après achèvement du rafraîchissement qui consiste à recopier les entrées El dans la mémoire image des entrées 22 et la mémoire image des sorties 22 dans les sorties 51; - Ml, M2 sont les bits "MARCHE" des automates API et AP2; - BTI, BTO sont des bits "base de temps" mis à jour respectivement par le programme et par le coupleur CRI; - TR6 est un bit de "Transmission" de mots prédéterminés, contenus dans les tables. L'état de ce bit renseigne le coupleur de redondance sur le sens de transfert des tables. Le registre 2 renferme l'adresse du descripteur de tables. Cette valeur est chargée à l'initialisation et pointe le début de la zone mémoire où est décrite la redondance (entrées, sorties, mots). Le registre 3 concerne l'état de la liaison LS entre coupleurs CR1 et CR2 et comprend quatre bits indiquant respectivement l'état des canaux A, A'; B, B'. Les registres 4, 5 et 6 renseignent le programme en cas de défaut (bit "DEF") ou d'indétermination (bit "IND") suite à une discordance entre les coupleurs CR1 et CR2. Dans une phase d'initialisation, l'utilisateur déclare toutes les informations qu'il souhaite surveiller au moyen d'un descripteur de configuration. Cette liste d'informations regroupées en tables d'échange concerne les entrées, les mots déclarés à une adresse prédéterminée de la mé- moire de données 18 de chaque unité centrale UC1, UC2, et les sorties, Chaque coupleur de redondance CR1, CR2 recopie ensuite les tables dans sa mémoire de données 28. Ces déclarations peuvent être modifiées à volonté durant le fonctionnement de l'installation selon que l'on souhaite alléger ou renforcer la surveillance. La phase de contrôle de la similitude des informations (entrées, sorties, mots mémoire présentes dans les deux automates AP1, AP2 fonctionnant simultanément sur le même process 10, est illustrée schématiquement à la fig. 8. Cette phase de controle est déterminée par le programme test des coupleurs de redondance CR1, CR2, et intervient au début et à la fin de chaque cycle du programme utilisa- teur des automates API, AP2. La comparaison des entrées s'opère avant le traitement La comparaison des sorties et des mots mémoire intervient après le traitement et com mande le ra raIchIssernent. Chaque coupleur de redondance CR1, CR2 est en dialogue avec l'unité centrale UC1, UC2 associée à l'automate AP1, AP2, et surveille en permanence les points suivants - la mémoire de données 16 - l'état des entrées avant leur utilisation par le programme, - l' état des sorties après déroulement du programme utilisa- teur, mais avant leur répercussion sur les actionneurs 14. En cas de discordance entre les deux automates AP1 et AP2, les coupleurs CR1, CR2 provoquent le démarrage d'une pre mière procédure de défaut D1 d'entrées, et une deuxième procédure de défaut D2 de sorties ou de mots Ces deux procédures de défaut D1, D2 diagnostiquent la nature de la panne, et peuvent engendrer le découplage de l'automate AP1, AP2 défectueux.Un seul automate assure ensuite le fonctionnement de l'installation tandis que les opérations de maintenance ou de réparation sont possibles sur l'autre Le retour en fonctionnement est assuré par le coupleur CR1, CR2 correspondant qui procède au rafraîchissement (entrées, sorties, états internes) de l'automate dépanné avant de le coupler au process 10. Le procédé d'échange et de comparaison des informations est expliqué en détail par la suite 1) Echange et comparaison des ENTREES (voir l'organigramme de la fig. 9! Le coupleur de redondance CR1 acquiert la valeur des entrées El dans la zone MIE1 de la mémoire image 22 associée à l'unité centrale UC1 de l'automate AP1. L'autre coupleur CR2 relève d'une manière similaire la valeur des entrées E2 dans la zone MIE2 de la mémoire image 22 associée à l'unité centrale UC2 de l'automate AP2. Les deux coupleurs CR1, CR2 rangent la valeur des entrées dans leurs mémoires de données 28 respectives, puis échangent simultanément les données par l'intermédiaire de la liaison LS duplex redondante.Les coupleurs CRI, CR2 rangent les données échangées dans leurs mémoires de données 28 de manière à autoriser ultérieurement la comparaison des entrées par l'interme- diaire de leurs unités de traitement 24 respectives. En cas de similitude des entrées, les coupleurs CR1 et CR2 envoient simultanément un ordre de commande aux unités centrales UC1, UC2 correspondantes pour assurer la synchronisation des deux automates AP1, AP2 avant le traitement utilisateur. La procédure de défaut D1 intervient automatiquement en cas d'incoherence des entrées et prévoit une nouvelle phase d'acquisition, échange et comparaison de MIE1 et MIE2. En cas de poursuite de l'incohérence, les coupleurs CR1, CR2 relèvent directement les données sur les cartes d'entrées El, E2, et procèdent ensuite à leurs échanges (liaison LS) et à leur comparaison dans les mémoires 28. Le résultat de cette comparaison engendre deux séries additionnelles de tests (voir fig. 9) permettant d'identifier soit la mémoire image 22 en défaut, soit la carte d'entrée El ou E2 défectueuse. 2) échange et comparaison des sorties et des mots. a) sorties Le processus d'acquisition, d'échange et de comparaison des sorties est similaire å celui utilise pour les entrées, avec la différence que les valeurs des sorties Sl et S2 sont relevées dans les zones MIS1 et MIS2 des mémoires images 22 des unités centrales UC1 et UC2. b) mots Idem, l'acquisition des mots s'effectuant dans la mémoire de données 18 de chaque unité centrale UC1 et UC2. La cohérence des sorties et des mots pilote la synchronisation des deux automates AP1, AP2 avant le rabalchissement La présence des coupleurs de redondance CRI, CR2 associés à la liaison LS duplex permet de synchroniser le fonctionnement des deux automates API, AP2 redondants et de vérifier la comparaison de leurs entrées, sorties et mots mémoire. Le programme test des coupleurs CR1 et CR2 introduit un temps de traitement de 5 à 10 ms par cycle. L'invention n'est bien entendu nullement limitée au mode de mise en oeuvre plus particulièrement décrit et représenté aux dessins annexés, mais elle s'étend bien au contraire à toute variante restant dans le cadre des équivalences REVENDICATIONS 1. Dispositif de contrôle d'un process (10) au moyen de deux automates programmables (AP1, AP2) redondants coopérant avec des moyens de surveillance de la redondance, destinés à controler la similitude d'informations présentes dans les deux automates fonctionnant simultanément sur ledit process, chaque automate (AP1, AP2) comprenant un bus principal (BPl, BP2) de communication entre une unité centrale (UC1, UC2) et une pluralité d'interfaces à modules ou cartes d'entrée (El, E2) et de sorties (S1, 52), et à modules auxiliaires de couplage et de fonction, ledit process (10) étant équipé de capteurs (12) connectés électriquement aux cartes d'entrées (E1,E2) respectives des deux automates (AP1, AP2) par un premier faisceau de câbles (C1, C2), et d'actionneurs (14) raccordés aux cartes de sorties (S1, S2) correspondantes par un deuxième faisceau de câbles (C3, C4), caractérisé par le fait que le bus principal (BP1, BP2) de chaque automate (AP1, AP2) possède une capacité d'échanges d'informations autorisant une structure multiprocesseur et comporte un coupleur de redondance (CR1, CR2) destiné à dialoguer avec l'unité centrale tics, UC2)correspondante, et qu'une liaison tS)série asynchrome est agencée entre les deux coupleurs de redondance (CR1, CR2) pour assurer à chaque cycle du programme utilisateur des échanges d'informations prédéterminées, notamment entrées, sorties ou mots mémoire, entre les deux automatés (AP1, AP2). 2. Dispositif de contrôle d'un process selon la revendication 1, caractérisé par le fait que chaque coupleur de redondance (CRI, CR2) est formé par un coupleur asynchrone comprenant une mémoire (26) à registres de dialogue avec l'unité centrale (UC1, UC2) correspondante, et une mémoire de données (28) destinée à emmagasiner d'une part les informations en provenance de l'unité centrale (UCî, UC2) et/ou des cartes d'entrée (El, E2) et de sorties (S1, S2) associées à l'un des automates, et d'autre part des infor mations similaires de l'autre automate, échangées par l'intermédiaire de la liaison série asynchrone (LS). 3. Dispositif de contrôle d'un process selon la revendication 2, caractérisé par le fait que chaque coupleur de redondance tCR1, CR2) comporte de plus une mémoire (30) pour le stockage du programme test intervenant au début et à la fin de chaque cycle du programme utilisateur, de manière à surveiller l'état des entrées avant leur utilisation par le programme utilisateur, et l'état des sorties après déroulement du programme utilisateur, mais avant leur répercussion sur les actionneurs (14). 4. Dispositif de contrôle d'un process selon la revendication 2 ou 3, caractérisé par le fait que chaque coupleur de redondance (CR1, CR2) est doté d'une unité de traitement (24) à microprocesseur pilotant le processus de comparaison des informations de mëme nature (soit entrées, soit sorties, soit mots mémoire) stockées dans la mémoire de données (28) correspondante, et que des moyens de commande assurent soit la synchronisation des deux automates (AP1, AP2) en cas de similitude desdites informations, soit le diagnostic du dét'a##t et éventuellement le découplage de l'automate défectueux en cas d' incohérence desdites informations. 5. Dispositif de controle d'un process selon la revendica c ion 4, caractérisé par le fait que chaque coupleur de re doanee est pourvu d'un bus intermédiaire (BI CR1, BI CR2) en liaison avec l'unité de traitement (24) et les différentes mémoires, notamment (26) à registres de dialogue, (28) de donnes, et (30) du programme test, ledit bus intermédiaire (BI CR1, BI CR2) étant relié d'une part au bus principal (BP1, BP2) de l'automate (AP1, AP2) correspondant par l'in termédiaire d'une interface (32) logique d'adaptation, et d'autre part à ladite liaison (eS) série asynchrone connecté à l'autre automate. 6. Dispositif de contrôle diun process selon l'une des revendications 2 à 5, caractérisé par le fait que l'unité centrale (UC1, UC2) de chaque automate (AP1, AP2) comporte une mémoire (20) du programme utilisateur et une mémoire de données (18) renfermant le descripteur de tables, et que le coupleur de redondance (CR1, CR2) est agencé pour recopier lesdites tables dans sa mémoire de données (28) propre. 7. Dispositif de contrôle d'un process selon la revendication 6, caractérisé par le fait que l'unité centrale (UC1, UC2) de chaque automate (AP1, AP2) est équipée d'une mémoire image (E/S 22) destinée à mémoriser à chaque cycle de proqramme les informations d'entrées et sorties, ladite mémoire image (22) comprenant une première zone (MIE1, MIE2) coopérant avec les cartes d'entrées (El, E2) et une deuxième zone (MIS1, MIS2) raccordée aux cartes de sorties (S1, 52), et que chaque coupleur de redondance (CRI, CR2) acquiert la valeur des entrées (E1, E2) et des sorties (51, S2) dans lesdites première et deuxième zones de la mémoire image (E/S 22) correspondante, et les range ensuite dans sa mémoire de données (28) propre. 8. Dispositif de contrôle d'un process selon l'une des revendications 1 à 7, caractérisé par le fait que la liaison (LS) série asynchrone entre les deux coupleurs (CR1, CR2) de redondance comprend deux liaisons à-transmission bidirectionnelle simultanée. 9. Dispositif de contrôle d'un process selon la revendication 8, caractérisé par le fait que la liaison (LS) duplex est redondante et comporte deux paires de canaux élémentaires (A, A'; B, B') raccordés à des moyens d'émission (EM1, EM2) et à des moyens de réception (R1, R2) de deux voies (1,2) indépendantes de transmission série associées à chaque coupleur de redondance (CR1, CR2). 10. Dispositif de contrôle d'un process selon la revendication 7 à 9, caractérisé par le fait que le coupleur de redondance (CR1, CR2) de chaque automate (AP1, AP2), acquiert des mots mémoire dans la mémoire de données (18) de l'unité centrale (UC1, UC2) correspondante, et que la cohérence des informations sorties et mots pilote la synchronisation des deux automates avant le rafraîchissement.