FR 2291547 A1 19760611 FR 7437432 A 19741113 itinvention dûe à la collaboration de Messieurs Daniel LITAIZE, Vicente MORA, Louis LAGUNE et René BOISSICRE se rapporte à la commande de processus industriels par un équipement informatique, c'est-à-dire dont la spécialisation pour la coninande d'un processus particulier est réalisée par programmation. Un domaine d'application préférentiel est celui de la cox mande des machines-outils et plus particulièrement des machines transfert. Les équipements semblables qui sont connus permettent de résoudre les fonctions séquentielles par des moyens très divers. La résolution des équations logiques est assurée dans certains cas ligne par ligne avec un nombre de variables fixes. Dans cette solution, les termes non utilisés doivent être programrnés à zéro donc l'encombrement mémoire est important. Dans le cas des systèmes prenant en compte directement des équations logiques de longueur non limitée, il sest nécessaire de prévoir par programme une mémorisation de résultats inte#diaires il en résulte un allongement des programmes et un encombrement a# moire plus important. La plupart des équipements utilisent des mémoires à lectureécriture pour le stockage du programme. Cette solution présente des inconvénients sur le plan de la fiabilité en milieu industriel. Certains constructeurs proposent des systèmes avec des mémoires mortes mais n'ont pas résolu de manière satisfaisante le problème des modifications de programme. La présente invention permet d'éviter ces inconvénients. L'invention qui concerne un calculateur directeur de processus industriels du type comportant : une armoire de commande comprenant une mémoire de données contenant la valeur des différentes variables logiques utilisées, une mémoire programme, une unité de traitement sur les sorties de laquelle apparaissent les tensions de commande pour la machine esclave, un compteur ordinal, un conducteur omnibus d'adressesreliant les entrées, les sorties, la mémoire de données, et l'unité de traitement, un séquenceur et une base de temps, pilotés par quartz ; une console de programmation amovible et transportable et un dispositif d'alimentation counectable à l'armoire de commande et/ou à la console de programmation, est caractérisée en ce que : la mémoire programme est une mémoire morte reprogrammable tandis que la console de programmation comporte une mémoire active, ctest-à-dire permettant les opérations de lecture, d'écriture et mémorisant son contenu en cas de non-alimentation associée à des moyens permettant d'en modifier le contenu à volonté. Avantageusement l'unité de traitement est conçue pour fonctionner sur un bit à la fois et possède des moyens pour bloquer le fonctionnement du calculateur dès qu'un résultat de calcul est erroné ; l'unité de traitement est associée à une première mémoire vive de bits internes et à une seconde mémoire vive de duplication d'état des sorties lors de leur activation ; l'unité de traitement possède des moyens de commande des divers organes composant l'armoire de commande et des moyens de détection de validation ou de non validation au cours de la résolution d'une équation logique. Avantageusement l'armoire de commande comporte en outre un conducteur de sortie relié aux mémoires vives de bits internes et de duplication d'état des sorties si bien qu'il est facile de délivrer des informations élémentaires à un ordinateur extérieur de ral çon cyclique ou sur demande d'interruption par un dispositif par ticulier. Suivant un mode de réalisation la console de programmation comporte outre sa mémoire active : un micro-processeur commandant les opérations de la console, un clavier d'entrée ; un appareil de visualisation et un générateur de puissance en vue de la reprogrammation d'une partie de la mémoire morte de l'armoire, ce qui donne des facilités dans la procèdure de mise en oeuvre et de modification du programme de fonctionnement de l'armoire. Avantageusement la propagation des signaux à distance ainsi que toutes les opérations de commutation sont assurées à l'aide de portes à trois états : ouvert, fermé, bloqué, qui sont commandées dans l'armoire par l'unité de traitement et dans la console de programmation par le micro-processeur. Suivant une autre caractéristique de réalisation un magnétophone sous la forme d'une mini-cassette par exemple peut-#tre associé à la console de programmation pour des opérations de lecture et/ou écriture. Suivant une autre caractéristique de réalisation de la console de programmation, le micro-processeur dispose de moyens de commande lui permettant 1~) de modifier le contenu de la mémoire active atantageuseeent réalisée en technologie tores de ferrite, à partir du clavier d'entrée ou du magnétophone 2') de commander la recopie des informations de la mémoire vive dans la mémoire morte à reprogrammation ; 3') de se connecter à l'arxoire et de piloter cette dernière. Suivant une autre caractéristique de l'invention, il est possible de dépanner le processus et l'équipement à l'aide d'un tiroir de test équipé d'un dispositif de visualisation. L'invention concerne encore un procédé d'écriture d'un programme sur une unité de mémoire morte reprogrammable qui est caractérisé par les étapes successives suivantes : on extrait cette unité de l'armoire de commande ; on l'efface aux rayons ultra-violets ; on enfiche cette unité dans la console de programation on écrit la portion de programme de commande relative à l'unité sus-mentionnée par écriture en parallèle sur les circuits qui la composent ~ on effectue simultanément une vérification de ce qui est inscrit à l'aide de trois essais successifs et de voyants dlaffichage.- Suivant un premier mode de réalisation l'armoire de commande et la console de prograimation sont réalisées en circuits intégrés classiques. Suivant un second mode de réalisation l'armoire de commande et la console de programmation sont réalisées en quelques circuits intégrés fabriqués à la demande du type PLA (Programmed logic array : réseau logique programmé). Le dispositif de l'invention apporte encore des améliorations par rapport aux équipements connus sur les plans suivants t - possibilité de traitement d'équations logiques de longueur non limitée sans mémorisation de résultats intermédiaires L diminution de l'encombrement mémoire - diminution du temps de prise en compte des données et de traitement de fonctions séquentielles par un procédé très simple. D'autres caractéristiques ressortiront de la description qui va suivre et qui n'est donnée qu'à titre d'exemple. A cet effet, on se reportera aux dessins joints dans lesquels : - la figure 1 est un schéma synoptique indiquant la liaison entre les principaux éléments du calculateur suivant l'invention, - la figure 2 est une représentation sous forme de schémablocs plus détaillée de l'armoire de commande de la figure I ; - la figure 3 est une représentation sous forme de schéma- blocs plus détaillée de la console de programmation de la figure 1, et, la figure 4 est une représentation sous forme de schéma-bloc d'une unité de test. Suivant le mode de réalisation de la figure 1, le calculateur directeur de processus comporte une partie I qui est l'armoire de comnande encore appelée automate programmable ; une partie 2 qui est la console de programmation encore appelée valise de programmation qui peut se connecter à l'automate comme on le verra par la suite et une alimentation 3 connectable à l'automate programmable 1 par un premier cordon et à la valise 2 par un second cordon. L'équipement qui est très simulé, mise à part l'alimenta- tion, se décompose donc en deux parties distinctes a) l'armoire de romande ou automate progra-able 1 proprement dit qui est lié au processus de commande permet : l'acquisitioz d'informations venant du processus qu'il convient de contreler ; l'analyse et la combinaison de ces informations suivant un modèle d'équations logiques écrites dans la mémoire programme qui est une mémoire morte sans restriction sur la complexité et la longueur de ces équations ; la commande des actionneurs du processus en fonction de 1'analyse des informations suivant le modèle équation logique. b) la console ou valise de programmation 2 qui permet dé façon très simple la programmation de la mémoire morte et un certain nombre de facilités lors de la mise au point des programmes. Suivant le mode de réalisation de la figure 2, l'armoire de commande ou automate programmable 1 comprend : une mémoire programme 11 amovible qui lorsqu'elle est-en place est reliée par enfichage dans des connecteurs 45 et 46 à deux conducteurs de sortie 20 et 19 qui sont des conducteurs bus et représentent en réalité chacun un groupe de conducteurs en parallèle. Le conducteur 20 est relié à une unité de calcul logique 13 ou unité de traitement par l'intermédiaire d'un décodeur d'instruction 12. Le conducteur 19 est relié en parallèle aux entrées de deux mémoires pour opérandes 14 et 15, dont la première 14 est un registre mémoire tampon tandis que la seconde 15 est un compteur. Le registre 14 et le compteur 15 sont connectés à un comparateur 16. Le compteur 15 est connecté en outre à un additionneur 48 auquel est également connecté le comparateur 16. L'additionneur 48 est connecté par sa sortie au compteur ordinal 17 qui à son tour est connecté par sa sortie à l'entrée de la mémoire programme 11 par l'intermédiaire d'un conducteur multiple 18. La sortie du compteur ordinal 17 est encore connectée à une seconde entrée de l'additionneur 48 par l'intermédiaire d'un organe de mémorisation d'adresse 47. La boucle partant de la mémoire programme il et passant par les opérandes et le compteur ordinal 17 travaille sur des adresses. Le contenu du compteur ordinal 17 qui est transmis à la moire programme il est l'adresse de l'instruction suivante qu'il convient d1 exécuter. Dans un but de fiabilité le calcul des instructions est effectué deux fois en parallèle à 1'aide d'une unité de calcul logique 13 qui est montée de manière symétrique par rapport à son conducteur de sortie 35 et qui comporte :un comparateur central 36 relié par- ses entrées à deux bascules 37 et 38 dont les entrées sont reliées pour chacune d'entre elles aux sorties de trois portes flou exclusif" dont les groupements constituent deux comparateurs 39 et 40. Ces portes "OU exclusif" sont reliées par une de leurs entrées à la sortie du décodeur d'instruction 12 pour recevoir les informations de sélection de ce dernier. Les trois portes "OU exclusif" 39 constituent le comparateur 39 et les trois portes "OU exclusif 40" constituent le comparateur 40. Dans chaque comparateur 39 ou 40 il y a trois "OU ex exclusif parce que l'unité de calcul logique 13 peut travailler sur trois paramètres différents à savoir :entrée, sortie, bit interne comme on le précisera par la suite, chaque nou exclusif" étant spécialisé dans une catégorie de calculs, L'unité de calcul logique 13 est connectée à des unités pé riph-riques par un conducteur omnibus 21 représentant la connexion en parallèle d'un grand nombre de conducteurs. A l'intérieur de omnibus 21, certains conducteurs sont spécialisés dans le transport d'états logiques tandis que d'autres transportent des adresses. De ce fait certains de ces conducteurs sont prolongés par un omnibus 41 au comparateur -16 et à l1 addition- neur 48. Il y a lieu d'avoir bien présent à 11 esprit que le transfert d'une inf#ormation sous entend toujours l'état logique d'un élément et une adresse ce qui conduit à avoir à chaque fois en fait plusieurs conducteurs en parallèle. Les unités périphériques comprennent : des sorties normales 100, des sorties à accrochage 22, des entrées 23, des mémoires vives 24 de type R A N dans lesquelles on peut emmagasiner des variables logiques internes, résultats des calculs de l'unité de calcul logique 13 et d'autres mémoires vives 25 de type R A M dans lesquelles est emmagasinée lors de leur activation une duplication des états des unités de sortie. Cette dernière disposition conduit à une diminution du nombre des opérations à effectuer : en effet il n1 est plus nécessaire d'interroger les unités de sortie puisque leur état est emmagasiné dans la mémoire 25 à proximité de l'unité de calcul logique 13 ce qui diminue le cott de la réalisation. Les unités de sorties à relais à accrochage 22 sont des unités dont l'état reste mémorisé lorsque l'appareil n'est plus sous tension grâce à des relais "rend" à accrochage. La liaison entre l'unité de calcul logique 13 dune part et les unités périphériques est réalisée de la façon suivante : un omnibus de sortie 21 permet d'accéder de l'unité de calcul logique 13 aux unités périphériques à savoir : sorties normales 100, sorties à accrochage 22, entrées 23, mémoires vives 24 et 25. Inversement un conducteur omnibus d t entrée 26 - 32 permet d'envoyer à l'unité logique 13 des informations prélévées dans : les sorties à accrochage 22, les entrées 24 et les mémoires vives 24, 25. La transmission des informations sur cet omnibus 26 est subordonnée à ltétat d'une porte 30 à trois états :ouvert, fermé, bloqué (impédance infinie) dont l'état est commandé par l'unité logique 13. L'omnibus 32 se termine d'une part dans l* com) rateur 39 où il transmet l'information à l'un des trois "OU exclusif". L'omnibus 32 se ter mine d'autre part dans le comparateur 40 où il transmet, par 1'in- termédiaire d'inverseurs, le complément de l'information reçue à l'un des trois "OU exclusif" de ce comparateur. Un second omnibus de sortie 44 qui est un omnibus d'ordres relie le comparateur cen tral 36 de l'unité de calcul logique 13 aux unités périphériques suivantes : sorties normales 100; sorties à accrochage 22, mémoires vives 24 et 25.Cet omnibus d'ordres comprend une seconde partie 102 qui relie le comparateur central 36 à l'additionnqr 48 appartenant à la partie de l'appareil faisant les calculs sur les adresses. A l'omnibus d'ordres 44 est encore rattaché un dispositif 101 de retour à zéro des sorties. Entre omnibus 21 et son prolongement 41 en direction de l'additionneur 48 est placé un registre d'indexation 49, la connexion entre l'omnibus 21 et le registre d'indexation 49 s'effectuant par l'inter édinite d'une porte à trois positions : ouvert, fermé, bloqué, c'est-à-dire impédance infinie. L'omnibus d'ordres 44 - 102 transmet des ordres aux unités périphériques, y compris celles travaillant sur des adresses co le compteur ordinal 17, ces ordres étant conditionnels à l'état de la bascule 37 - 38. La sélection du "OU exclusif~ en fonctionnement dans chaque comparateur 39 et 40 ##effectue à partir des informations sortant du- décodeur d'instructions 12. Des conducteurs déterminés de l'omnibus 21 sont connectés aux secondes entrées respectives des "OU exclusifs" constituant les comparateurs 39 et 40.La partie de l'unité de calcul 13 qui comprend le cowparateur 39 et la bascule 38 effectue les calculs sur les valeurs réelles tandis que la seconde partie qui comprend le cosparateur 40 et la bascule 37 effectue les calculs sur le complément des valeurs réelles, la compara; son des résultats des deux calculs s'effectuant dans le comparateur 36 et les résultats apparaissent dans un conducteur de sortie 35 pour autre emmagasinés dans une mémoire, par exemple une des mémoires vives 24 de bits intermédiaires ou dans des conducteurs de sortie 31 transmettant les ordres à la machine commandée. Un conducteur 42 de communication extérieure relié à ltowns- bus 21 permet dêtre en communication de l'extérieur avec laXmé- moire vive 25 de duplication d'état des sorties qui est accessible bit par bit ainsi qu'avec la mémoire 24 des variables logiques internes (dit bits internes), et dire par conséquent informé de l'état de ces sorties quand on le désire. enfin un conducteur 43 qui est relié en parallèle à une entrée du compteur ordinal 17 et à une entrée du décodeur d'instruction 12 permet à un opérateur d'interrompre le fonctionnement du calculateur quand cette mesure s'avère nécessaire.Quand le compteur ordinal17 et le décodeur d'instruction 12 reçoivent cette instruction d'interruption de l'extérieur, ils se branchent sur une autre partie du programme. Ce niveau d'interruption est utilisable également pour un comptage rapide ou la transmission de données vers un monitoring. Un des avantages de la présente invention réside donc dans l'accessibili té aux mémoires 25 des sorties et 24 des bits internes par un moni toring extérieur. Lfarmoire de commande ou automate programmable de la figure 2 comporte encore une horloge 27-29 -se composant d'un séquenceur 27 piloté par un oscillateur à quartz 29 à 5 MHZ, qui, au moyen d'un registre à décalage procure les différentes impulsions de synchronisation aux différents composants de l'armoire par 11 intermédiaire de portes à trois états s zéro, un, bloqué dont il a déjà été fait mention précédemment0 Le séquenceur 27 est assise d'une base de temps 28 engendrant des impulsions carrées dg%OO ms. Il existe en outre un tiroir d'alimentation 3, représenté schématiquement à la figure 1 et qui n'a pas été représenté paus en détail car il ne présente aucune caractéristique particulière. On peut dire simplement pour être complet qu'il est constitué par un pont redresseur et des condensateurs de filtrage et qu'il délivre une puissance voisine de 500 watts. il fournit du 110 volts redressé, filtré, non stabilisé.Dans sa configuration actuelle (mémoire programme de 4 K, 16 bits, 1024 entrées, 1024 sorties), l'automate programmable occupe dans l'armoire un seul panneau divisé ai trois paniers superposés de douze cartes chacun, accessibles par l'avant et par l'arrière car le tout est monté sur charnière et peut donc pivoter sur lui-m#me. Chaque carte, qu'il stagisse de l'unité de calcul 13, des mémoires 11, 242 25, des entrées 23, des sorties 100 et 22 possède sa propre alimentation et engendre : du 5 volts TTL pour l'électronique ; du - 9 volts pour la mémoire programme 11 et du - 24 volts pour les sorties relais 22 à accrochage. Ce dernier point sera précisé ultérieurement. Dans les calculateurs directeurs de processus industriels actuellement connus, la commande d'un processus est réalisée à l'aide de fonctions séquentielles explicitées sous forme d'équations logiques qui sont écrites dans la mémoire programme sous la forme d'instructions permettant : - l'acquisition de l'état de chaque terme de équation pour l'adressage des périphériques en liaison avec le processus ; - le traitement logique des équations au niveau de l'unité de commande. Si l'on part du principe que le déroulement du processus est asynchrone c'est à dire qu'il est nécessaire pour qu'une fonction soit vérifiée, que la fonction qui la précède dans l'ordre chronologique de déroulement du processus soit terminée on en déduit que les fonctions peuvent entre écrites en mémoire programme dans un ordre indifférent de l'ordre chronologique de déroulement du processus. Cette facilité est utilisée dans les automates programiables où la mémoire programme est systématiquement balayée par le registre adresse.- il en découle- implicitement un examen systématique de tous les termes entrant dans les différentes fonctions et une réactualisation de l'état de toutes les sorties. Le principal avantage de cette procédure réside dans la réactualisation permanente de l'état des sorties donc une streté de fonctionnement vis-à-vis des parasites. Cependant, étant donné que l'unité de commande balaye tout le programme, l'examen de la fonction en cours d'exécution n'est réalisé que cycliquement à chaque tour de programme. il s'ensuit donc un retard dans l'exécutionqui dans le cas le plus défavorable est égal au temps de traitement d'une instruction multipliée par le nombre d'instructionsrésidant en mémoire programme. Une fonction est constituée de la combinaison logique de différentes variables, soit par exemple a x b x c (ed + fgh) = Si (1) Lors du traitement de cette fonction, il n'est évidel ent pas possible d'acquérir en même temps l'état de toutes les variables leur examen sera multiplexé dans le temps. A l'instant de la décision d'activation de "Si" il aura fallu au préalable mémoriser 1'état de chaque terme. Etant donné que la longueur de l'équation n1 est pas définie, cela conduit à une unité de commande compliquée ou à l'obligation de programmer des mémorisations intermédiaires. L'équipement objet de la présente invention se distingue des équipements connus par le fait que au lieu de mémoriser l'état de chaque variable, on considère le cas où une des variables n'est pas dans l'état désiré. Ce nouveau cheminement du raisonnement conduit à une simplification appréciable de l'équipement de Unité de commande ainsi qutà une diminution du temps d1 examen de chaque fonction dtoù il résulte également une diminution de la durée de balayage de la mémoire programme 11. A cet effet dans l'équipement illustré à la figure 2 on a mis en place dans l'unité de calcul logique 13 les deux bascules 37 et 38 qui permettent des comparaisons sur un bit à la fois. Chacune de ces bascules sera désignée dans ce qui suit par bascule BC (comparaison de bit). Une seule bascule suffit mais comme on l'a déjà expliqué, par sécurité on utilise deux bascules fonctionnant simultanément sur des valeurs complémentaires et on compare les résultats des calculs dans le comparateur 36. Lorsque les résultats ne sont pas identiques la machine se bloque et un voyant est allumé pour attirer-l'attention de ltopérateur. Si l'on revient à l'équation (1) ci-dessus, pour que la sortie Si ctest-à-dire l'un des conducteurs 31 et 35 soit activé, il est nécessaire et suffisant que : - le groupe a b c soit dans l'état désiré. - l'un des deux groupes ed ou f-gh soit également dans l état désiré. Ltesamen des différentes variables est obtenu par comparaL- son à 1 ou à zéro suivant le fait que la variable est complémentée ou non. A 11 intérieur d'un groupe, la bascule BC ne change pas d'état lors des comparaisons successives Si le test comparaison est positif, son état est modifié s'il est négatif. POur chaque groupe il est suffisant de tester l'état de la bascule BC, donc à l'intérieur d'un groupe la fonction ET devient implicite. Si la bascule BC a changé dtétat après l'examen du groupe abc, il est évidemment inutile d'examiner l'état des groupes ed et fgh, l'équation ne peut-etre vérifiée. La parenthèse est programmée par une fonction ET avec saut relatif conditionnel à l'état de BC à l'instruction d'activation de "Si". En réalité on obtient une désactivation étant donné que l'équation ntest pas vérifiée. Si le premier terme abc est vérifié, le saut n'est pas effectué ( BC = O), le déroulement du programme se poursuit par l'exg- men du groupe ed. La fonction "ou" est également programmée par un saut conditionnel à l'état de BC. Si les groupes abc et ed sont dans ltétat désiré (BC = O) il n1 est pas nécessaire d'examiner l'état du groupe fgh. Le saut relatif conditionnel de la fonction OU permet de sauter à 11 instruction d'activation de Si. Dans le cas où le groupe ed n'est pas dans l'état désiré, la fonction "ou" effectue une remise à zéro de la bascule UC et le déroulement du programme se poursuit no#lement par examen du groupe fgh. En conclusion, l'utilisation de l'automate progra mable tel qu'illustré à la figure 2 permet une simplification de l'unité de commande. Elle évite les mémorisations intermédiaires. Bulle permet une meilleure compréhension du mécanisme d'écriture des équations logiques compte tenu de la simplicité d'écriture. Elle permet une diminution du nombre d'instructions, donc de l'encombrement de la mémoire programme Il. Elle permet enfin de réduire le temps d's lyse d'une fonction par le saut des termes inutiles compte-tenu de l'état des variables. Dans ces conditions, la durée de balayage, du programme est considérablement réduite et il s'ensuit une amélioration du temps de réponse du système. On donne à présent quelques informations sur une réalisation de l'automate programmable selon la figure 2 : chaque mot de seize bits de la mémoire de programme 11 représente un terme d'une équation logique, c'est-à-dire soit un opérateur, soit un opérande. Les dix premiers bits du mot constituent l'opérande ou paramètre de l'instruction et les six derniers bits constituent le code opération La partie paramètre est aiguillée sur le conducteur 19 et la partie code opération sur le conducteur 20. Un paramètre peut-être le numéro d'une sortie, le seuil d'une temporisation, le numéro d'une équation logique, par exemple le code opération peut-être celui d'une activation de sortie, d'un début d'équation logique, le test du complément d'une variable logique interne. Les instructions sont lues et traitées séquentiellement. Si par exemple, l'une d'entre-elles implique la connaissance de l'état d'une entrée, celle-ci est testée directement sur son unité 23 par le bus 21 et son état est transmis dans il unité de calcul 13 par les conducteurs 26 - 32 33 - 34. D'autres instructions permettent de préciser les opérations à effectuer sur ces variables logiques. Quant tous les termes d'une équation logique ont été effectués, le résultat sert, soit à exciter une sortie par les conducteurs 31, soit à positionner une variable interne par le conducteur 35 qui sera à son tour réutilisée dans d'autres équaw tions. Les différentes équations logiques sont exécutées une à une jusqu'à la dernière. L'appareil se rebranche alors à la première et ainsi de suite. La durée dtun cycle est inférieure 8.5 Ès. Un point très important de l'automate programmable suivant la présente invention comme on aura l'occasion de le faire ressortir ultérieurement est que la mémoire programme Il est en technologie "#tEPROM" mémoire morte reprogrammable électriquement après blanchissement aux rayons ultraviolets. Chaque carte de la mémoire programme contient 2 E mots de 16 bits. Cette capacité est obtenue au moyen de deux fois quatre groupes de deux circuits INTEL (M 1702 A) en parallèle de 256 fois huit bits chacun, soit seize circuits au total. Chaque carte (2 K mots, 16 bits) partie supérieure ou partie inférieure est programmable en une seule fois et indépendamment de l'autre. Ltappareil admet,-au plus, 4 K mots, 16 bits de mémoire programme, soit 2 cartes pour la mémoire 11. On remarque : l'excellente fiabilité en ambiance indus- trielle des mémoires "REPRON" qui une fois programmées sont inaltérables ; la possibilité d'ajuster la taille de la mémoire programme 11 par pas de 256 mots, 16 bits à la longueur du programme d'où un cotit minimum. Dans une première réalisation, l'unité de calcul logique 13 est entièrement réalisée à l'aide de circuits intégrés classiques. Elle est pilotée par l'oscillateur à quartz 29, qui au moyen d'un registre à décalage procure les différentes impulsions de synchronisation. Lors du-transfert d'un mot de la mémoire programme 11, les bits 10 à 15 inclus véhiculent le code opération par le conducteur 20. Ces six bits sont utilisés par le décodeur d'instruction 12 pour activer les opérateurs nécessaires à l'une des instructions de 11 appareil aux instants adéquats repérés par les tops de l'horloge 27 - 28. Le temps de cycle d'une instruction est de 4 r D'un point de vue organique, il en existe quatre types différents qui sont - les instructions de calcul logiques sur entrée, sortie, ou bits internes (comparaison à un ou à zéro), - les instructions de travail sur compteur (chargement, test, comptage, temporisation), - les instructions de travail sur adresse (saut conditionnel, inconditionnel, branchement à une adresse, répétition de l'instruction) - les instructions de traitement des interruptions et de monitoring (début, fin). On passe en revue à présent plus en détail quelques instructions qui se rencontrent fréquemment. Première instruction : comparaison à un ou à zéro d'une entrée, d'une sortie ou d'un bit, cette comparaison s'effectue dans la bascule BC (37,38). Deuxième instruction s mise à zéro ou à un d'une sortie ou d'un bit. L'opération correspondante est une opération conditionnelle dépendant de 11 état de la bascule BC (37, 38). L'exécution de chacune de ces deux premières instructions conduit à une incrémentation normale de une unité du registre d'adresses dans le circuit ordinal 17. Troisième instruction : elle correspond aux fonctions ET et OU rencontrées à l'occasion de la résolution d'une équation logique du type (1) ci-dessus. Pour la fonction ET, si la bascule BC (37, 38) est à zéro la fonction ET est inopérante ; si la bascule BC (37,38) est à un on exécute un saut conditionnel : L'omnibus ordre 102 transmet alors l'ordre d'additionner le contenu du registre opérande (14) au contenu du registre de mémorisation d'adresse (47), et l'on adresse le mot correspondant au saut. Pour la fonction OU, c'est ltinverse : Si la bascule BC (37, 38) est à zéro, on fait un saut conditionnel inverse. Si la bascule B C est à un, le saut ne stexécute pas. Quatrième instruction :instruction de saut relatif avant cette instruction ne dépend pas de l'état de la bascule B C. Cinquième instruction : instruction de saut absolu :cette instruction est inconditionnelle par rapport# à l'état de la bascule B C. Sixième instruction :instruction de répétition : c'est une instruction correspondant à des adresses de périphériques différentes : par exemple il s'agit de comparer à un Iss entrées allant de 1 à 10. On a remarqué lors de la description de la figure 2 que l1opé- rande comporte à la fois un registre mémoire tampon 14 et un compteur 15 reliés le premier au compteur ordinal 17 par l'intermédiaire d'un comparateur 16 tandis que le second est relié d'une part au comparateur 16, d'autre part au compteur ordinal 17. Cette disposition est prévue pour le cas d'une répétition de séquence. En effet dans ce dernier cas, le compteur ordinal 17 est bloqué, on enregistre dans le registre mémoire tampon 14 l'adresse d'arrivée et dans le compteur 15 l'adresse de départ. Cette dernière adresse est incrémentée d'une unité à chaque répétition de séquence et les quantités emmagasinées dans le registre 14 et dans le compteur 15 sont comparées dans le comparateur 16. Quand le comparateur 16 constate l'identité des quantités, le processus de répétition de séquence est interrompu. Septième instruction : utilisation du registre d'index 49 pour la répétition de séquences. Dans ce dernier cas encore, le compteur ordinal 17 est provisoirement bloqué. Les instructions de travail sur compteur d'indexation, telles que chargement du compteur d'indexation d'opérande lors de répéti- tion de séquence, ou décrémentation du compteur dtindexation 49 permettent la répétition de séquence, huit fois au plus, avec des variables logiques indexées automatiquement par pas de 32. Si par exemple on charge le registre d'index 49 avec la valeur 2 et que lson fasse-défiler le sous-programme suivant CU E 1 ~ comparaison à un de l'entrée CU S 10 - comparaison à un de là sortie DECX décrémenter l'index. La machine exécute ce sous-programme sur la touche indexée0 A chaque fois que le sous-programme est tenllinf, le registre Çtindex 49 est décrémenté d'une unité et le sous-prograJme est exécuté à nouveau avec saut d'adresse de 32 dans le sens rétrograde d'une exécution à la suivante : On saute ainsi de E65 i E33 puis X de S74 à S42 puis S10 On balaye donc le sous-programme avec + 64 la première fois + 32 la seconde fois, puis avec les valeurs du sous-progra-#e la troisième fois lorsque l'index est revenu à zéro. Ensuite on revient au programme normal.Les instructions dans une boucle indexée sont donc répétées avec des opérandes : entrées, sorties, bits, automatiquement décalés d'un multiple de 32, soit deux cartes d'entrée ou de sortie. Cette possibilité peut-être utilisée par exemple pour la commande de machines d'usinage ayant plusieurs toutes identiques. L'omnibus d'adresses 41-21 relie les unités d'entrée 23, unités de sortie 22 et 100, et les mémoires vives 24, 25 représentant deux fois 1024 bits RAM où sont mémorisés les 1024 bits de sortie et les 1024 bits internes. Le fait de pouvoir mémoriser lfétat des unités de sortie lors de leur activation dans la mémoire 25 conduit à une simplification importante de ces unités de sortie et des liaisons afférentes. La bascule B C 37 - 38 dans l'unité de calcul logique 13 est réinitialisée au début de chaque séquence au moyen d'une instruction appropriée. Les différentes variables : entrées, sorties, bits internes, d'une équation sont successivement appelées et testées par la paire de "OU exclusif appropriée dans les compara teurs 39 et 40 comme expliqué précédemment :un #OU exclusif pris dans le comparateur 39 et le "OU exclusif correspondant pris dans le comparateur 40 suivant la variable considérée pour comparaison à un ou à zéro. L'unité de calcul logique 13 effectue systèmatiquement un ET entre le contenu de la bascule BC et le résultat de la comparaison. Il est alors possible de tester la bascule BC 37, 38 et de se brancher immédiatement à la fin de équation (1) Si l'on détecte sa validation (fonction U) ou sa non-validation (fonction ET) d'où un gain de temps et suppression des bits internes inutiles. Il est également possible d'agir sur le contenu du compteur ordinal 17 de quatre façons à l'aide dtinstructions appropriées - sub8titution de 11 opérande 15 au contenu du compteur 17, - addition conditionnelle de l'opérande 15 au compteur 17 sur contenu un ou zéro de la bascule B C, 38 - 37 Il existe à cet effet un conducteur dans l'omnibus 21 - 41 reliant l'unité de calcul logique 13 à l'opérande 13 et au compteur ordinal 17 - addition inconditionnelle de l'opérande 15 au compteur ordinal 17 - instruction de rebranchement en début de programme. La base de temps 28 délivre des impulsions tous les 200 ms dont l'appareil détecte la transmission. C'est en comptant ces im- pulsions que se font les mesures de temps. Omnibus d'ordres 44 - 102 est utilisé pour transmettre aux différents périphériques dont le compteur ordinal 17 par l'in- termédiaire de l'additionneur 48, des ordres conditionnels à l'état de la bascule B C 37 - 38. Les unités d'entrée 23 sont des cartes de seize entrées de type 110 Volts 50 Hz à découplage opto-électrique et à redressement double alternance. Leurs seize états sont visualisés par un néon. Chaque unité est particularisée par son adresse que l'on fixe à l'aide de six micro-contacts ce qui impose le numéro n des seize entrées correspondantes indépendamment de leur position dans le rack. Les unités de sortie sont dê deux types - les cartes standards 100 de 16 sorties statiques à triac, alimentées en 110 volts redressé filtré. Leur état est visualisé par un néon. Elles ont une puissance de 20 watts environ, ce qui leur permet de commander directement une électrovanne par exemple. les cartes 22 de seize sorties à relais à accrochage lorsqu'il est indispensable de mémoriser ltétat d'une sortie pen dant que l'appareil n'est plus sous-tension, on emploie ces cartes 22 de seize sorties sous 24 volts utilisant des relais#reed a accro- chage. Leurs seize états sont visualisés par des diodes électrolu minescentes. L'adresse d'une telle carte est à le fois celle d'une carte d'entrée et d'une carte de sortie. Comme pour les cartes d'entrée, les cartes de sor tie comportent six micro-contacts qui fixent l'adresse de la carte et donc le numéro des sorties correspondantes. Comme on l'a déjà signalé, il est possible de transférer en série par programme, le contenu des mémoires vives 24 et 25 vers un système extérieur. La séquence peut-être déclenchée soit par pro gramme à partir de la mémoire 11, soit par interruption externe en agissant sur le conducteur 43. Le contenu des mémoires vives 24 et 25 est alors transféré par un conducteur de l'omnibus 21 puis par le conducteur 42 vers l1 extérieur, par exemple vers un ordinateur central. On remarque donc qu'une originalité du système présenté réside dans la mémorisation systématique sans instruction supplémentaire de l'état des unités de sorties dans une mémoire 25 accessible bit par bit. Compte tenu de l'évolution de la gestion des ateliers vers des solutions informatiques, il est nécessaire de pouvoir contrtler , commander ou gérer chaque processus élé#ntaire équipé d'un automatisme propre par un ordinateur central. L'ordinateur pour rziplir son rôle doit disposer d'un grand nombre dtinformations élémentaires sur l'état des variables du processus, Les variables logiques intermédiaires et les entrées en provenance du processus peuvent également, par programme, être n##n# ri- sées dans la meme mémoire 24 - 25. Il est donc finalement possible de disposer dans la mémoire 24 - 25 accessible bit par bit de toutes les variables du processus. L'acquisition de l'état de ces variables est obtenugpar une simple lecture de la mémoire. La procédure de transfert d'informations vers ltextérieur est prévue de deux manières différentes s - sur décision de l'automate compte tenu de ltévolution d'une ou plusieurs variables, avec acquittement en provenance de l'ordi nateur central. - sur demande d'interruption en provenance de l'ordinateur central, Dans le deuxième cas, le système termine la lecture de son programme de fonctionnement et se branche en début de boucle sur une adresse priviligée de la mémoire programme 11. Le programme de transmission débute par l'instruction DTM (début de transmission), les instructions suivantes étant relatives a la lecture de la mémoire vive 24 - 25 contenant les informations à transmettre. L'ordinateur est averti de la fin de transmission par Itins truction FTM. A partir de cet instant, le système reprend le dé#u- lement de son cycle normal. L'intérêt de la-procédure réside dans la possibilité d'interroger l'automate sans arrêt du contrôle du processus. D'autre part, la mémorisation systèmatique des variables de sortie est effectuée sans instruction supplémentaire donc sans allongement du temps de cycle de llautomate. On notera finalement que tous les problèmes de propagation des signaux à distance ainsi que# les problèmes de commutation aussi bien à l'intérieur de l'armoire de commande que des dispositifs annexes sont résolus par interposition de portes à trois états : ouvert, fermé, bloqué, c1est-à-dire impédoeiceinfînie, sous la commande de l'unité de calcul logique 13 en ce qui concerne l'armoire de commande de. Suivant le mode de réalisation de la figure 3, la console de programmation ou valise de programmation 2 de la figure 1 comprend un microprocesseur 50 associé à une mémoire programme 51, à un sé lecteur de données entrée 52 à à un sélecteur de données de sortie 53 et à un séquenceur 55. Un bus 62 fonctionnant dans les deux sens connecte le microprocesseur 50 au sélecteur de données d'entrée 52 bt un omnibus 63 rattaché à l'omnibus 62 assure la connexion du microprocesseur 50 au sélecteur de données de sortie 53. Une connexion d'adressage 80 relie le sélecteur de données de sortie 53 à la mémoire programme 51 du microprocesseur. La mémoire programme 51 est connectée par un conducteur 60 au sélecteur de données d'entrée 52. Le microprocesseur peut-être du type INTEL 8008 avec un programme de 2 K mots, 8 bits. Il peut-etre encore du type INTEL 8080 ou de tout autre type convenant au but recherché. La console de programmation comporte encore une mémoire à tores de ferrite 54 de 4 K mots/ 16 bits, équipée de registres tampons d'entrée 57 et 58 et d'un re gistre tampon de sortie 56. La- mémoire à tores de ferrite 54 est une mémoire active, c'est-à-dire une mémoire permettant les opé rations de lecture, d'écriture et mémorisant son contenu en cas de non alimentation. Le registre tampon de sortie 56 est connecté par un bus 59 au sélecteur de données d'entrée 52. Ce registre tampon de sortie 56 est également connecté par un omnibus 68 à un connecteur sur lequel peut-être branché lautomate de la figure 2 par ses conducteurs de sortie 31. Un conducteur 65 transept les informations d'adressage à la mémoire à tore 54 à partir du microprocesseur et un conducteur 66 transmet les informations d'écriture 8 la mémoire à tore 54 à partir du microprocesseur entre le sélecteur de données de sortie 53 et des registres tampons dtentrée 57 et 58. Un conducteur 67 relie le connecteur dont il vient d'être question au registre tampon d'entrée 58 permettant la transmission d'informations d'adressage à la mémoire à tore 54 à partir de l'automate de la figure 2. Au sélecteur de données d'entrée 52 sont encore connectés un clavier 61 par un conducteur 79 et une cassette 69 par un conducteur 72 permettant la lecture du contenu de la cassette.La cassette est connectée au sélecteur de données de sortie 53 par un conducteur dtadressage 70 et par un conducteur 71 en vue de l'écriture dans la cassette.#Un dispositif d'affichage par voyants 64 est connecté sur le sélecteur de données dé sortie 53. Finalement un explacement 73 délimité par des connecteurs est relié par un conducteur 78 au sélecteur de données d'entrée 52 et par un conducteur 74 d'écri- ture au sélecteur de données de sortie 53. Un générateur de puissance 76 est relié à un sélecteur de puissance 77, lequel à son tour est relié aux connecteurs délémitant l'emplacement 73 ainsi qu'au sélecteur de données de sortie 53 par un conducteur dtadres- sage 75.L'emplacement 73 délimité par ses connecteurs est l'en- droit dans la valise où l'on connecte les cartes de mémoire "REPROM" prélevées dans la mémoire progra-e il de l'armoire de la figure 2 en vue de leur reprogrammation. Ce dispositif fonctionne comme suit : Comme on l'a représenté à la figure 1 cette console de programmation se connecte sur le tiroir d'alimentation à l'aide d'un premier cordon et sur l'omnibus de l'automate à 1 t aide d'un second cordon. Cette console à deux fonctions. Elle sert d'une part dtin- terface entre un opérateur et l'automate pour l'introduction d'un programme et sa mise au point ; elle permet la reprogrammation des cartes mémoires "REPROM" prélevées dans la mémoire programme 11 de l'armoire de la figure 2. En tant qu'interface, la console de programmation présente sur sa face avant, douze circuits d'affichage de nombres hexadécimaux, seize touches de programmation à double fonction : une fonction code instruction et une fonction chiffre hexadécimal et diX touches de servitude. Tous ces organ#ismes correspondent au clavier 61 de la figure 3. L'utilisateur par action sur le clavier 61 peut donc visualiser, entrer ou insérer une instruction ; procéder à la lecture où à l'écriture d'un programme sur la mini-cassette 69 à partir de la mémoire à ferrite 54. Le déroulement, le contrôle et l'exécution de ces différentes opérations sont assurés par le micro processeur 50 avec son programme 51, ses sélecteurs de données d'entrée 52 et de sortie 53 et son séquencèur 53. L'instruction que désire entrer l'opérateur est visualisée sur les affichages 64 au fur- et à mesure de la frappe des touches sur le clavier 61 : il existe une touche par code opération et les opérandes sont exprimés en décimal. Une fois l'instruction complétée, sa syntaxe est vérifiée et elle est éventuellement refusée. Dans le cas contraire elle est transcodée en langage rachi** binaire par des codeurs qui n'ont pas été représentés dans un but de simplification, et introduite dans la mémoire active 34 à tores de ferrite par un chemin comprenant le conducteur 79, le sélecteur de données à l'entrée 52, le bus 63, le sélecteur de données à la sortie 53, les conducteurs 65 et 66#-respectivem#ent pour l'adressage dans la mémoire 54 et la transmission des données aux emplacements correspondants et les registres tampons d'entrée 58 et 57. La mémorisation a donc lieu dans la mémoire ferrite 54 de 4 K mots. Une originalité de la console de programmation suivant la-présente invention est que tant que l'automate de la figure 2 reste branché sur la console de la-figure 3 aux extrémités des connexions 67 - 68, c'est le programme emmagasinéW dans la mémoire à tores de ferrite 54 qui est exécuté par l'automate et non celui qui qui est situé dans sa propre mémoire "REPROM" 11. Au cours des essais, lors de la mise au point, il est donc très facile à l'utilisateur d'apporter à tout moment n'importe quelle modification. Enfin le lecteur - enregistreur de mini-cassette 69 - 72 permet de conserver les programmes sur ruban magnétique. Une fois que le programme enregistré dans la mémoire ferrite 54 de la console est au point, on peut, suivant ltinvention le figer, en mémoire morte reprogrammable. A cet effet, les cartes de mémoire dEPROH" de deux fois un K mot de 16 bits chacune sont retirées de la mémoire il de la figure 2. Elles sont d'abord "blanchiest aux rayons ultra-violets puis elles sont ensuite, l'une après l'autre enfichées dans la console programmable à l'emplacement 73. Les huit circuits qui la composent sont programmés en parallèle. Dans ce but, l'automate programmable ayant été déconnecté de la console de programmation et une carte de mémoire 'IREPROX" après avoir été-"blanchie" aux rayons ultra-violets et insérée à l'emplacement 73 qui est prévu à#cet effet dans la console comme on l'a spécifié précédemment, le microprocesseur 50 envoie par le conducteur 63, le sélecteur de données de sortie 53, le conducteur d'adressage 65 de la mémoire à tores et le registre d'entrée 58, une instruction d'adresse pour la mémoire à tores de ferrite 54. Les informations correspondantes contenues dans la mémoire & tores de ferrite 54 sont lues et extraites de la mémoire par un chemin comprenant : le registre tampon de sortie 56, le conducteur de lecture 59, le sélecteur de données d'entrée 52, les omnibus 62 et 63, le sélecteur de données de sortie 53, les conducteurs d'adressage 75 et d'écriture 74 et enfin la carte de mémoire "REPRON" & repro grammer. Après chaque tentative d'écriture, il y a vérification de ce qui est écrit, le microprocesseur 50 commandant alors une lecture de ce qui vient d'être écrit. S'il n'y a pas concordance, le microprocesseur opère jusqu'à trois essais successifs. Si le dernier est toujours infructueux, ce qui peut arriver si une carte de mémoire "REPROM" est mal blanchie ou hors d'usage, ce fait est signalé sur les voyants d'affichage 64. Les opérations successives sont commandées par l'opérateur en enfonçant une des touches de son clavier. Les touches du clavier 61 correspondent aux fonctions suivantes : Lecture de la mémoire 54, écriture en mémoire 54 ; vérification ; insertion, écriture sur REPROM 73 ; lecture sur REPROM 73 ; écriture sur cassette 69 ; lecture sur cassette 69 ; vérification ; rebobinage. Quand l'opérateur enfonce une touche, le microprocesseur lit l'instruction correspondante et provoque les commutations nécessaires à son exécution. De même que dans l'armoire de la figure 2 les transmissions à distance des signaux et les commutations nécessaires sont exécutées par l'interzédiaire de portes à trois états, ouvert, fermé, bloqué, l'état de ces portes étant commandé dans la console de programmation par le microprocesseur 50. L'appareil envoie des ordres puis des informations numériques. Le microprocesseur est prévu pour exécuter les opérations suivantes : 14) modification du contenu de la mémoire à tores de ferrite 54, 2') il se déconnecte de la mémoire à tores de ferrite qui est en liaison avec 11 automate programmable à l'omnibus duquel elle est reliée par le connecteur disposé à l'extrémité de ses conducteurs 67 et 68 ; 3') recopie des informations emmagasinées dans la mémoire ferrite 54 sur une mémoire REPROM insérée en 73 4') lecture de la cassette 69 ou inscription dans la cassette d'une partie des informations emmagasinées dans la mémoire ferrite 54. Une originalité du système présenté réside dans la possibilité de branchement de l'automate sur la mémoire vive à tore 54 située dans la valise de programmation. En période de mise au point du processus, l'automate fonctionne provisoirement sans mémoire propre, son programme étant écrit dans la-mémoire à tore de la valise de programmation. Cette Frticu- labrit permet d'effectuer les modifications de programme en période de mise au point aussi facilement que si l'automate était muni d'une mémoire à tore. Quand le programme est figé, il est transcrit dans les mémoires mortes REPROM de l'automate à l'aide de la valise de program mation de la figure 3. Les mémoires "REPROM" sont présentées sur des cartes par modules de 2 K mots de 16 bits. Dans le système présenté, il est possible d'embrocher la carte mémoire sur un connecteur 73 prévu à cet effet sur la valise la programmation est effectuée automatiquement par modules de 1 K mots de 16 bits en inscrivant simplement l'adresse de départ et l'adresse d'arrivée. Tous les éléments d'électronique qui constituent l'armoire de commande ainsi que ceux de la console de programmation sont réalisés dans une première version en circuits intégrés classiques. Dans une autre version technologiquement plus avancée on a réalisé les éléments dtélectronique à l'aide de quelques circuits intégrés à la demande suivant une technologie cornue sous le nom de PLA (prograed logic array = réseau logique prograss). Dans ce dernier cas il est évidemment difficile de distinguer les #diffé- rents éléments les uns des autres et l'on ne peut parler que des fonctions exécutées. Un autre avantage du calculateur suivant la présente inven- tion réside dans le fait qutil est prévu un tiroir de test réduit en fait à une carte de test qui peut stembrocher dans 1'armoire de l'automate programmable de la figure 2 pour se substituer à la mémoire programme 11. Ce tiroir de test permet donc de faire fonctionner l'automate de la figure 2 à l'aide des instructions de la mémoire à tores 54. Il facilite la mise au point de la archine et éventuellement son dépannage. La figure 4 illustre un mode de réalisation de l'unité de test. Suivant cette figure, l'unité de test comprend : des roues codeuses 90 permettant d'introduire une instruction ; des circuits d'adaptation 91 des signaux engendrés à partir des roues cadoasest ces signaux se répartissant en une adresse d'opérande 93 et un code d'opération 92. Les sorties de ces deux dispositifs se connectent respectivement aux conducteurs omnibus 21 et 20 de la figure 1. L'unité de test comporte encore un dispositif de visualisation 95 et un sélecteur de fonctionnement 94 a trois positions :forgeage d'instruction, automatique, pas à pas. Cette unité de test permet - la visualisation en 95 du dernier numéro d'ordre le plus élevé de la séquence qui a été valide ; - un fonctionnement séquence par séquence et instruction par ins truction. La première propriété peut Otre utilisée pour faire un em- bryon de dépannage automatique par dépistage de la condition qui bloque le cycle de la machine. L'introduction de l'instruction au troyen des roues codeuses 90 se fait en décimal. Après un dépannage par exemple, l'utilisa- teur peut, par ce moyen réajuster la valeur des sorties sur les unités 22 et 100 de la figure 2 avec l'état de la machine, en particulier des sorties à accrochage 100. Cette unité de test peut-être commune à plusieurs automates. Elle permet d'assurer à très bas prix toutes les fonctions indis- pensables au personnel d'exploitation dans l'accomplissement de sa tâche. On fera enfin en guise de conclusion quelques remarques sur le langage utilisé dans cet appareil qui présente de nombreux avantages s - il est concis, c1est-à-dire qu'il ne demande qu'une surface de mémoire restreinte et rapide à exécuter puisqu'il permet un saut en fin d'équation lorsqu'on repère sa validation ou sa non validation - il permet une transcription facile des schémas de relais car il les représente sous forme d'équations logiques t - il est parfaitement adapté à la commande des machines d'usinage nécessitant une répétition d'instruction et de séquence g - il est facile à apprendre et à utiliser car il est exempt de "piège" et dlambiguité. Le langage utilisé permet donc à l'utilisateur qui n'est pas un informaticien d'introduire d'une manière médiatement à sa por- tée dans la machine des schémas de relais qui sont immédiatement traduits en langage machine, et tout ensuite s'exécute parfaitement. Bien entendu l'invention n'est nullement limitée au mode de réalisation illustré et décrit0 En particulier, l'utilisation de la technologie PLÀ mentionnée précèdemment permet d'éliminer environ la moitié des composants de l'unité centrale et de conduire à un mode de réalisation très simplifié. - REVENDICATIONS - 10) Calculateur directeur de processus industriels du type comportant une armoire de commande comprenant une mémoire de données contenant la valeur des différentes variables logiques utilisées, une mémoire de programme, une unité de traitement sur les sorties de laquelle apparaissent les tensions de commande pour une machine esclave, un compteur ordinal d'adresse, un conducteur omnibus d'adresse reliant les entrées, les sorties, la mémoire de données, et ltunité de traitement; un séquenceur et une base de temps pilotés par quartz une console de programmation amovible et transportable et un dispositif dtali- mentation connectable a'à armoire de commnde et/ou à la console de program- mation, caractérisé en ce que : la mémoire de programme (11) de l'armoire de commande est une armoire morte reprogrammable associée à unité de traitement (13), tandis que la console de programmation comporte : une mémoire active (54) associée à des moyens (50 ; 61 ; 69 ; 90 ; 91) permettant d'en modifier le contenu à volonté ; un emplacement (73) d'enfichage d'une partie de la moire de programme (11) et des moyens (50, 51) pour modifier la programmation inscrite sur la mémoire morte reprogramnable conforment aux informations contenues dans la mémoire active (54). 20) Calculateur suivant la revendication 1 caractérisé en ce que l'unité de traitement (13) de l'armoire de commande est conçue pour fonctioemer sur un bit à la fois et possède des moyens (36 - 40) pour bloquer le fonctionnement du calculateur dès qu'un résultat de calcul est erroné. 30) Calculateur suivant la revendication i ou 22 caractérisé en ce que unité de traitement (13) est associée à une première mémoire vive (24) de bits internes et à une seconde mémoire vive (25) de duplication d'état des sorties lors de leur activation. 40) Calculateur suivant l'une quelconque des revendications 1 à 3, caractérisé en ce que l'unité de traitement (13) possède des moyens de commande et de sélection (30) des divers organes composant l'armoire de commande (figure 2) et des moyens de détection et de validation ou de non-validation (36 - 38) des étapes de la résolution d'une équation logique. 50) Calculateur suivant l'une quelconque des revendications 1 à 4, caractérisé en ce que l'armoire de commande (fig. 2) comprend : des unités entrée (23) ; des unités de sortie normales (100) ; des unités de sortie à accrochage -(22) ; en ce que l'unité de traitement'(13) est reliée: par un conducteur omnibus de sortie (21 - 41) aux entrées: des unités entrée (23) des unités de sortie (100, 22), de la mémoire vive (24) de bits internes, de la mémoire vive (25) de duplication d'état des sorties et du compteur ordinal (17) ; par un conducteur omnibus d'entrée (26) aux. sorties : des unités de sortie (22) à accrochage ; des unités d'entre e (23) des mémoires vives (24, 25) etparunomnibus d'ordres (44, 102) aux entrées ; des unités de sortie nor- males (100) et à accrochage (22) ; des mémoires vives (24,25) et du compteur ordinal (17). 60) Calculateur suivant l'une quelconque des revendications 2 à 5, caractérisé en ce que la mémoire de programme (11) est connectée par un premier conducteur omnibus (20) à deux entrées symétriques de l'unité de traitement (13) par l'intermédiaire d'un décodeur d'instructions (12) et par un second conducteur omnibus (19) au compteur ordinal (17) par l'intermédiaire d'un registre dSopé- rande (14) et d'un compteur de mémorisation d'opérande (15) en parallèle et d'un premier comparateur (16). 70) Calculateur suivant la revendication 6,-caractérisé en ce que l'unite de traitement (13) comporte deux parties identiques comprenant chacune la connexion en série ; d'un second comparateur (39, 40), d'une bascule BC (38, 37) et d'un troisième comparateur (36) commun aux deux parties qui est muni de plusieurs sorties (31, 35). 80).Calculateur suivant la revendication 7, caractérisé en ce que chaque second comparateur (39, 40) comporte autant d'éléments ("OU exclusif") qu'il y a de paramètres dans les équations logiques (entrées, sorties, bits) et que chacun de ces éléments comprend trois entrées reliées respectivement au décodeur d'instructions (12), à l'omnibus de sortie (21) et à l'omnibus d'entrée (26 - 32). 90) Calculateur suivant la revendication 5, caractérisé en ce que les connexions (21, 26, 44) entre les unités de sortie (100, 22) et les mémoires vives (25) de duplication des états de sortie sont telles que lorsqutune unité de sortie est activée par l'unité de traitement (13), l'état de cette sortie est mémorisé dans lesdites mémoires vives (25). 100) Calculateur suivant la revendication 6, caractérisé en ce qu'un conducteur d'informations vers ltextérieur (42) est connecté à l'omnibus de sortie (21) et par ce dernier aux mémoires vives (24, 25) de l'unité de traitement (13) et en ce que le dialogue avec un ordinateur extérieur est assuré par des instructions de début de transmission (D.T.x) et de fin de transmission (F.T.M.). 110) Calculateur suivant la revendication 6, caractérisé en ce qu'un conducteur d'interruption extérieure (43) connecté au décodeur dsinstruction (12) et au compteur ordinal (17) permet d'interrompre le programme. 120) Calculateur suivant la revendication 6, caractérisé en ce qu'il comporte un registre d'indexation (49) connecté aux conducteurs omnibus (21, 41) par l'intermediaire de commutateurs de mise en et hors circuit et d'un akii- tionneur (48) dont la sortie est reliée à une entrée du c qpteur ordinal (17) 130) Calculateur suivant la revendication 12, caractérisé en ce qu'un dispositif de mémorisation d'adresse (47) est disposé dans une boucle entre le compteur ordinal (17) et 1 additionneur (48). 140) Calculateur suivant la revendication la caractérisé en ce que les moyens permettant de modifier le contenu de la moire active (54) de la console de programmation comportent :un microprocesseur (50) et sa moire de programme (51) ; un clavier (61) connecté à un sélecteur de données d'entrée (52) connecté lui-meme par un conducteur omnibus bidirectionnel (62) et un sélecteur de données de sortie (53) connecté d'une part par un conducteur omnibus (63) au microprocesseur, d'autre part par des conducteurs d'adresse (65) et d'écriture (66) à la mémoire active (54). 150) Calculateur suivant la revendication 14, caractérisé en ce que les moyens permettant de modifier le contenu de la mémoire active (54) comportent encore un magnétophone ou cassette (69) connecté par un conducteur de lecture (72) au sélecteur de donnoes d'entrée (52) et des conducteurs d'adresse (70) et d'écriture (71) au sélecteur de dansées de sortie (53). 160) Calculateur suivant la revendication 14 ou 15, caractérisé en ce que la mémoire active (54) peut-etre connectée (67, 68) à l'armoire de co- mande (fig. 2) et servir de mémoire programme pour oette dernière. 170) Calculateur suivant la revendication 14 ou 15; caractérisé en ce que les moyens pour modifier la programmation inscrite sur la mémoire morte reprogrammable comportent :un emplacement (73) dans la console de programmation pour l'enfichage de la mémoire à reprôgrammer ; un générateur de puissance (76) et un sélecteur de puissance (77) associés à cet emplacement une connexion (59) de lecture entre le registre tarpon (56) de la mémoire active (54) et le sélecteur de données d'entrée (52) ; une connexion de lecture (78) entre l'emplacement (73) et le sélecteur de données d'entrée (52) et des connexions d'écriture (74) et d'adresse (75) entre le sélecteur de données de sortie (53) et l'emplacement (73). 180) Calculateur suivant l'une quelconque des revendications précé- dentes, caractérisé par la possibilité d'insérer une unité de test (fig. 4), dans l'armoire de commande qu'élimine la mémoire programme (11) dans le fonctionnement de cette armoire de commande (fig. 2). 190) Calculateur suivant la revendication 18, caractérisé en ce que cette unité de test comprend : des roues codeuses (90) connectées a à des circuits d'adaptation de signaux (91) d'adresse et de code opération ; une console de visualisation (95) du dernier numéro de séquence activé et un sélecteur de fonctionnement (94) à trois positions. 200) Calculateur suivant l'une des revendications 1 à 19 caractérisé en ce que la propagation des signaux et les commutations nécessaires à l'inté- rieur des appareils composants (fig. 2, 3, 4) s'effectuent à l'aide de portes à trois états : ouvert, fermé bloqué, sous la commande de l'unité de traitement (13) pour l'armoire de commande et du microprocesseur (50) pour la console de reprogrammation. 210) Procédé pour la modification de la programmation sur une unité de mémoire morte reprogrammable, caractérisée par les étapes suivantes : on extrait l'unité de mémoire de l'armoire de commande ; on ltefface aux rayons ultra-violets ; on enfiche cette unité "blanchie" à ltemplacement réservé (73) à sa reprogrammation dans la console de programmation ; on écrit la portion de programme de commande relative à l'unité sus-mentionnée par écriture en parallèle sur les circuits qui la composent et l'on effectue une vérification de ce qui vient ##dextre emmagasiné dans la mémoire à l'aide d'essais successifs et de voyants d'affichage. 220)-Procédé suivant la revendication 21, caractérisé en ce que les unités de mémoire morte utilisées sont des mémoires REeRoM contenant chacune 2 K mots de seize bits soit deux fois quatre groupes de deux circuits en parallèle de 256 fois huit bits chacun, soit seize circuits au total.