FR 2539887 A1 19840727 FR 8300865 A 19830120 I La présente invention concerne un procédé pour assurer la sécurité du fonctionnement d'un automate programmable destiné à commander un dispositif utilisateur tel qu'une machine ou installation et un automate pour la mise en oeuvre de ce procédé, On connalt déjà des automates programmables qui sont conçus de telle manière qu'une défaillance simple de n'importe quel composant positionne les sorties de l'automate dans un état prédéterminé Mais les automates connus de ce type sont réalisés sous forme d'un - système redondant dans l'espace, c'est-à-dire sous forme d'un système doublé Ils ont comme inconvénient majeur d'être coûteux et difficiles à mettre en oeuvre et à programmer. La présente invention a pour but de proposer au problème relatif aux automates programmables une solution qui permet de réaliser les mêmes fonctions de sécurité que les automates connus mais de façon peu coûteuse. Pour atteindre ce but, la présente invention propose un procédé pour assurer la sécurité du fonction- nement d'un automate programmable qui est caractérisé en ce que, pour un même état donné aux entrées de l'automate, on fait exécuter par une même unité de traite- ment telle qu'un microprocesseur le même programme succesi- sivement deux fois en utilisant chaque fois un autre bus et prend comme critère d'un fonctionnement correct de l'automate l'identité des deux signaux résultant des deux exécutions successives du programme. Suivant une caractéristiques avantageuse de l'invention, on développe à partir des-deux signaux résultant des deux exécutions successives du programme un signal de commande pour le dispositif utilisateurs dont la polarité change au rythme des deux signaux ou reste constante suivant que ces signaux sont identiques ou différents, la différence étant représentative d'un défaut dans le fonctionnement de l'automate. Suivant une autre caractéristique avantageuse, le programme précité comporte une partie de programme test et une partie de programme utilisateur. Dans le cadre du procédé selon la présente invention, on effectue dans la partie de programme test un test du microprocesseur en déroulant un programme de test utilisant toutes les instructions de la partie utilisateur, un test des entrées de l'automate comportant la vérification que les entrées ne sont pas activées en l'absence d'un signal extérieur, un test des variables internes comportant ule vérification de toutes ces variables, de préférence en les inversant deux foispet un logiciel interne du système tel que le programme des temporisations-compteurs Suivant une autre caractéristique avantageuse de l'invention, on prévoit dans le cas d'un défaut du fonctionnement de l'automate l'arrêt des sorutations de ses entrée P la mise à o I" des sorties et, le cas échéant 1 une alarme. L'automate suivant la présente invention, pour la mise en oeuvre de ce procédé comprend une seule unité de traitement telle qu'un microprocesseur, deux bus commutables en alternance, deux démultiplexeurs chacun associé à un bus, un dispositif générateur d'un signal de sortie de l'automateayant deux états représentatifs respectivement du fonctionnement correct de l'automate et d'un défaut dans le fonctionnement de celui-ci. Suivant une caractéristique avantageuse de l'invention, le dispositif générateur comporte un dispo- sitif bistable tel qu'une bascule à deux entrées reliées chacune à une sortie d'un démultiplexeur et susceptible de produire à sa sortie un signal alternatif ou continu suivant que les signaux de sortie appliqués successivement à leurs entrées sont du même état binaire ou différents l'un de l'autre. Suivant une autre caractéristique de l'invention, la mémoire programme est partagée en deux zones, à savoir une zone test et une zone utilisateur, Suivant encore une caractéristique avantageuse de l'invention, l'automate comporte un décodeur préférence câblé pour l'étalonnage de l'unité de traitement, qui est relié aux sorties de test de cette unité, Dans le cadre de la présente invention, le dispositif multiplexeur d'entrée peut être réalisé sous une forme à entré doublesscrutés alternativement ou une forme à entréessimple qui sont adaptées pour être alimen- tées en dynamique par des sorties de l'automate. Suivant une caractéristique avantageuse de l'invention, le dispositif mémoire de donnéescomporte deux mémoires de données utilisées alternativement. Il est encore avantageux d'utiliser dans le dispositif générateur du signal de sortie de l'automate un transformateur dont l'enroulement primaire est relié au dispositif bistable à deux entrées, ce transformateur produisant à la sortie de son enroulement secondaire un état "O lorsque les deux signaux d'entrée du dispositif bistable sont différents l'un de l'autre. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant un mode de réalisation de l'invention et dans lesquels: la figure 1 montre sous forme d'un schém-bloc un mode de réalisation d'un automate de sécurité selon la présente invention, et 2539 X 87 la figure 2 illustre le principe de fonctionnement d'un automate selon l'invention. La figure 1 montre à titre d'exemple un automate programmable de sécurité selon la présente invention, qui comprend essentiellement une unité de traitement formée par un microprocesseur P auquel sont associés comme cela est représentée une mémoire programme MP, un compteur programme CP, deux bus d'adresse BA 1 et BA 2, un bus de donnée BD, un commutateur des bus d'adresse CBA un dispositif multiplexeur d'entrée ME et un dispositif démultiplexeur de sortie DMS ainsi qu'un dispositif mémoire de données M Do De plus le micro- processeur comporte un décodeur câblé DC relié à des sortiestest ST du microprocesseur, représentées sous forme d'un bloc séparé. Comme le montre la figure, le dispositif démultiplexeur de sortie DMS comporte deux démultiplexeurs DM 51, DI 82 reliés d'une part au bus de donnée BD, et, d'autre part, respectivement aucbus d'adresse BA 1 et BA 2. Les démultiplexeurs DM 1, DM 2 comportent chacun un certain nombre de sorties parallèles identifiées respectivement par 51 Sn et 51 ' Sn' Les sorties correspon- dantes des deux multiplexeurs sont reliées, comme cela est montré à la figure pour les sorties 51, 51 ' aux deux entrées d'un dispositif bistable tel qu'une bascule BS. La sortie de cette dernière est reliée par l'intermédiaire d'un filtre passe-bande FI à l'enroulement primaire d'un transformateur TR dont le circuit de l'enroulement secondaire comporte deux relais R 1, R 2 destinés à commander respectivement par un contact C 1, C 2 la fermeture ou l'ouverture d'un circuit d'alimentation en énergie électrique du système utilisateur non représenté. Concernant le dispositif multiplexeur d'entrée ME, on constate que la figure 1 illustre deux versions de réalisation, une version à entrées doubles illustrée en traits pleins et une deuxième version à entrées simples indiquée en traits interrompus Dans le premier mode de réalisation, deux multiplexeurs d'entrée M El, ME 2 sont prévus qui comportent des entrées El En et El' En'. Comme le montre la figure pour les entrées correspondantes El, El', un détecteur de coïncidence DCO est associé à chaque paire d'entrées Les entrées doubles, telles que les entrées El, El' sont adaptées pour être scrutées alternativement Dans le deuxième mode de réalisation, les entrées simples peuvent être alimentées en énergie à partir des sorties SAM S An d'un dispositif de sortie DSA du microprocesseur A cette fin, le dispositif DSA est relié, d'une part, aux bus d'adresse BA 1, BA 2 et, d'autre part, au bus de donnée BD La liaison entre les différentes sorties SAI O S An et les entrées simples El En peut être effectuée à l'aide d'un ensemble de contact dont seulement le contact CAM est représenté. Relativement à la mémoire de programme MP, il est à noter qu'elle est partagée en deux zones, à savoir en des zones TEST et UTILISATEUR Quant au compteur programme CP, il est agencé pour pouvoir adresser la mémoire MP et agir sur le commutateur des bus d'adresse CBA pour réaliser indépendamment du programme la commuta- tion des bus B Al, BA 2 sous l'effet d'un signal d'horloge provenant du microprocesseur P Ce dernier peut être un microprocesseur en tranches de 4 bits microprogrammé pour une question de vitesse et/ou un microprocesseur à 1 bit éventuellement. Pour compléter la description de la figure 1, on constate que le bloc ST des sorties de test du micro- processeur est relié aux bus d'adresse BAI 2 BA 2 et au bus de donnée BD, Un certain nombre de dispositifs de signalisation alarme sont prévus, tels que les dispositifs AL 1 et AL 2 associés respectivement au dispositif de coïncidence DCO et au décodeur câblé DC A chaque entrée de multiplexeur El En; El? En' est associé un capteur dont les capteurs DE 1 et D El' sont représentés. La description de l'automate représentée à la figure 1 permet de comprendre le principe de fonction- nement d'un automate de sécurité selon la présente invention, qui est illustré à la figure 2. Le principe est de faire exécuter pour un même état de donnée aux entrées de l'automateypar une même unité de traitement, à savoir le microprocesseur P, deux fois successivement le même programme en utilisant alternativement deux bus, à savoir les bus BA 1, BA 2. Comme le montre la figure 2, le programme est divisé en deux parties: une nrtie utilisateur PRU programmée par l'utili- sateur de l'automate utilisant le langage classique des automates (booléen-grafcet); une partie test PRT o Dans cette partie déroulée à chaque exécution du programmes, c'est-à=dire à chaque scrutation des entrées, on effectue les tests suivants: a) on effectue un test du microprocesseur. A cette fin on déroule un programme type, utilisant toutes les instructions du microprocesseur et délivrant une série par exemple de huit sorties (bloc sortie test ST) o Ces sorties doivent prendre des valeurs prédéterminées, qui sont vérifiées par un décodeur câblé, à savoir le décodeur DC; b) on effectue un test des entrées On vérifie que les entrées ne sont pas activées en l'absence de signal extérieur Ce signal extérieur est appliqué en principe par une sortie SA 1 oo S An de l'automate; c) on effectue un test des variables internes Celles-ci sont toutes vérifiées De préférence elles sont inversées deux fois; d) on effectue le logiciel interne du système, tel que le programme des tempori- sations-compteurs. A la première exécution du programme comportant 2539 P 87 les programmes TEST et UTILISATEUR PRT et PRU, après scrutation des capteurs d'entrée CE 1 o C En, on utilise par exemple le bus B Al A-la fin de la première exécution du programme, l'automate produit une impulsion de sortie que le démultiplexeur DM 81 transmet à la sortie corres- pondante de la bascule BS et on provoque le changement de bus à l'aide du compteur programme CP On remet également à zéro le décodeur câblé DC et'les alimentations des capteurs d'entrée s Qil s'agit de la version à entrées simples du multiplexeur d'entrée ME La deuxième exécution du programme ou scrutation démarre alors adressant les mêmes entrées dans la version à entréessimples dumtltiplexeur dtentrée oulecapteurs d'entrée CE 1 C En' dans la version àentrëes doub Les On utilise maintenantebus BA 2 et le démultiplexeur de sortie DM 52 A la fin de cette deuxième exécution du programme, l'automate produit à nouveau une impulsion de sortie que le démultiplexeur DM 52 applique à l'autre entrée de la bascule BS Si cette deuxième impulsion est identique à la première, c'est-à-dire présente le même état binaire, la position de la bascule BS est inversée. Dans le cas contraire, c'est-à-dire lorsque l'état de la deuxième impulsion est différent de celui de la première, la bascule reste dans sa position Par conséquwt, si 2 abascule délivreun signalaltenatif à la demifréquence des exécutions du programme ou des scrutations, l'automate fonctionne correctement Ce signal passe à travers le filtre FI ou directement au transformateur TR et commande les bobines d E deux relais R 1, R 2 montés en série ouen par 2 lèle danse cituit secondaire du transformateur Par contre, tout défaut au niveau d'une des deux chaînes utilisées pendant l'exécution du programme, va forcer la bascule dans la position " O " ou " 1 " Dans de telles circonstances le transformateur ne peut pas transmettre de l'énergie aux relais Autrement dit, le transformateur arrête l'information et une alarme est engendrée On constate que les sorties de l'automate sont alors à un état prédéterminé, Il est encore à noter que pour un automate programmable de 40 entrées/sorties le déroulement du programme TEST et du programme UTILISATEUR se fait chaque fois dans 5 millisecondes La fréquence de sortie est donc de 50 cyles fixes Gr Ace à l'exécution de chaque programme dans un délai de temps si brefs la secrutation successive pour un état donné aux entrées de l'automate est réalisable sans que cela soit préjudi- ciable pour le dispositif utilisateur Ce dernier pourrait être toute machine ou installation o l'on doit assurer la sécurité des personnes et du matériel A titre d'exemple on pourrait citer des stations d'énergies des presses, des cisailles, des systèmes de transport ou analogues. Il ressort de ce qui précède que l'automate proposé par l'invention possède une structure simple et est peu coûteux du fait qu'il utilise à la fois une redondance spatiale et une redondance temporelle, c'est- à-dire "dynamique" Le rôle de filtre pae -bande FI est de rejeter toute information à fréquence différente de la fréquence de scrutation ou d'un multiple entier de celle-ci. R E V E N D I C A T I 0 N S REVENDICATIONS 1. Procédé pour assurer la sécurité du fonctionnement d'un automate programmable destiné à commander un dispositif utilisateur, caractérisé en ce que, pour un même état donné aux entrées (CE 1 C En) de l'automate on fait exécuter par une même unité de traite- ment (P) telle qu'un microprocesseur le même programme (PRT, PRU) successivement deux fois en utilisant chaque fois un autre bus (BA 1, BA 2) et on prend comme critère d'un fonctionnement correct de l'automate l'identité des deux signaux résultant des deux exécutions successives du programme. 2. Procédé selon la revendication 1, caactérisé en ce que l'on développe à partir des deux signaux résultant des deux exécutions successives du programme (PRT, PRU),un signal de commande pour le dispositif utilisateur, dont la valeur change au rythme des deux signaux ou reste constante suivant que ces signaux sont identiques ou différents, la différence étant repré- sentative d'un défaut dans le fonctionnement de l'automate. 3. Procédé selon la revendication I ou 2, caractérisé en ce que le programme précité comporte une partie test (PRT) précédant une partie utilisateur (PRU). 4. Procédé selon la revendication 3, caractérisé en ce que l'on effectue dans la partie test (PRT) du programme un test de l'unité de traitement (P) en déroulant un programme de test utilisant toutes les instructions de la partie utilisateur (PRU) du programme. Procédé selon l'une des revendications 3 ou 4, caractérisé en ce que l'on effectue dans la partie test (PRT) du programme un test des entrées (CE 1 O C En; CE' C En') de l'automate comportant la vérification que les entrées ne sont pas activées en l'absence d'un signal extérieur. 6. Procédé selon l'une des revendicatoons 3 à 5, caractérisé en ce que l'on effectue dans la partie test (PRT) du programme un test des variables internes, comportant une vérification de toutes les variables, de préférence en les inversant deux fois. 7. Procédé selon l'une des revendications 2 à 6 p caractérisé en ce que l'on effectue dans la partie test (PRT) du programme un -logiciel interne du système tel que le programme des temporisations- compteurs. 8. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'on prévoit dans le cas d'un défaut de fonctionnement de l'automate l'arrêt de la scrutation de ses entrées et Ju ke à l'état zéro les sorties et-une alarme, 9. Automate programmable de sécurité pour la mise en oeuvre du procédé selon les revendications I à 8, comprenant un dispositif d'unité de traitement, un dispositif mémoire programme et un dispositif mémoire de données, des interfaces d'entrée et de sortie comportant des multiplexeurs et démultiplexeurs et des moyens formant bus, caractérisé en ce qu'il comprend une seule unité de traitement (P) telle qu'un microprocesseur 2 deux bus (BA 1, BA 2) commutables en alternance, deux démultiplexeurs de sortie (DM 51, DM 52) chacun associé à un bus (BA 1, BA 2), un dispositif générateur (BS, TR) d'un signal de sortie de l'automatefayant deux états représentatifs respecti- vement du fonctionnement correct de l'automate et d'un défaut dans le fonctionnement de celui-ci. 10 Automate selon la revendication 9, caractérisé en ce que le dispositif générateur (BS, TR) comporte un dispositif bistable (BS) tel qu'une bascule à deux entrées reliées chacune à une sortie ( 51 Sn; 51 ' Sn') et produisant à sa sortie un signal alternatif ou continu suivant que les signaux de sortie appliqués 2539 P 87 à ses entrées sont du même état binaire ou différents l'un de l'autre. 11. Automate selon l'une des revendications 9 ou 10, caractérisé en ce qu'il comprend un compteur programme (CP) adapté pour adresser une mémoire programme (Mp) et réaliser la commutation des bus (BA 1, BA 2). 12. Automate selon l'une des revendications 9 à 11, caractérisé en ce que la mémoire programme (MP) est partagée en deux parties, une partie test (RT) et une partie utilisateur (PRU). 13. Automate selon l'une des revendications 9 à 12, caractérisé en ce qu'il comporte un décodeur ' de préférence câblé pour l'étalonnage de l'unité de traitement (P), qui est relié aux sorties de test (ST) de l'unité de traitement. 14. Automate selon l'une des revendications 9 à 13, caractérisé en ce que le dispositif multiplexeur d'entrée (ME) est réalisé sous forme d'un dispositif à entrées doubles (El En; El' En'), scrutées alternativement. 15. Automate selon l'une des revendications 9 à 13, caractérisé en ce que le dispositif multiplexeur d'entrée (ME) est réalisé sous forme d'un dispositif à entrées simples (El En) adapté pour être alimenté en énergie par des sorties d'alimentation d'entrée (SA 1 SA_) de l'automate. 16. Automate selon la revendication 14, carac érisé en ce qu'à chaque paire d'entrées (El, El' En, En') est associé un détecteur de coincidence (DCO). 17 Automate selon l'une des revendications 9 à 16, caractérisé en ce que le dispositif mémoire de données (MD) comporte deux mémoires de données (ME 1, ME 2) utilisées alternativement. 18. Automate selon l'une des revendications 9 à 17, caractérisé en ce que le dispositif générateur 2539887 ' du signal de sortie de l'automate comprend un transforma- teur (TR) dont l'enroulement primaire est relié au dispositif bistable (BS) à deux entrées, ce transformateur produisant à la sortie de son enroulement secondaire un état " O " lorsque les deux signaux d'entrée du dispositif bistable sont différents l'un de l'autre. 19. Automate selon l'une des revendications 9 à i 8, caractérisé en ce qu'il est adapté pour que l'exécution des parties test (PRT) et utilisateur (PRU) du programme se fait chacune dans un intervalle de temps de l'ordre de quelques millisecondes, par exemple millisecondes. Automate selon l'une des revendications 9 à 19, caractérisé en ce qu'il comporte un moyen (FI) tel qu'un filtre passe-bande qui n'accepte que les signaux à la fréquence de scrutation ou un des multiples entiers de celle-ci. 21 Automate selon l'une des revendications 9 à 20, caractérisé en ce que le dispositif générateur (BS, TR) du signal de sortie de l'automate est adapté pour produire un signal de sortie " O " en cas d'un défaut dans le fonctionnement de l'automate.