Brevet FR2508193A1 — publié le 19821224

La présente invention concerne un dispositif de commande de séquence programmable utilisant la technique de microprogrammation. Dans les dispositifs de commande de séquence programmables comportant une section de traitement qui fonctionne en logique d'accès direct, les circuits sont devenus complexes. Pour minimiser cet inconvénient sans entrainer un ralen- tissement de la vitesse d'exécution d'un programme de séquence, il a été envisagé d'utiliser une technique dite de microprogrammation dans le dispositif de commande de séquence programmable Dans un tel dispositif, la section de traitement est généralement dotée d'une- mémoire qui contient un microprogramme comportant plusieurs micro- instructions, une unité de commande d'adresse de mémorisation servant à désigner une adresse de mémorisation dans la mémoire pour permettre la lecture d'une micro-instruction, et une unité centrale de traite- ment qui effectue des opérations de traitement de données en fonction de la micro-instruction lue Toutefois, puisque l'unité centrale de traitement que l'on trouve couramment sur le marché est conçue pour pouvoir être utilisée dans un calculateur à usages'multiples, elle possède trop de fonctions relativement à celles qui sont nécessaires dans un dispositif de commande de séquence programmable et il est par conséquent assez coûteux Ceci a pour conséquence d'élever le coat du dispositif de commande de séquence programmable. Il a également été suggéré d'utiliser une unité de com- mande de microprogramme (connue sous le sigle MCU) du type commer- cialement disponible à la place de l'unité centrale de traitement mentionnée ci-dessus Avec un tel système, l'opération de commande de séquence est exécutée à l'aide d'étiquettes d'essai prévues dans l'unité de commande de microprogramme Plus spécialement, les éti- quettes d'essai sont amenées à être positionnées ou repositionnées en fonction de la donnée contenue dans la micro-instruction et de l'état ouvert ou fermé d'un élément d'entrée ou de sortie, de façon que l'adresse de mémorisation de la mémoire soit ainsi désignée en vue de la lecture d'une micro-instruction à exécuter ultérieurement. Un semblable système est décrit dans le brevet des Etats-Unis d'Amé- rique n' 4 249 248 Toutefois, l'unité de commande de microprogramme possède des fonctions inutiles, comme par exemple diverses fonctions de saut permettant de passer d'une adresse de mémorisation désignée à une adresse de mémorisation éloignée, lorsqu'elle est utilisée dans un dispositif de commande de séquence programmable dans lequel la désignation d'une adresse de mémoire s'effectue assez simplement. L'unité de commande de microprogramme est en outre relativement coûteuse, ce qui entra Ine que le dispositif de commande de séquence programmable ne peut pas être construit à un coût réduit. Pour surmonter les inconvénients indiqués ci-dessus, il a en outre suggéré d'utiliser un compteur pour désigner les adresses de mémorisation Toutefois, il n'est pas possible d'exécuter des opérations de commande de séquence si les adresses de mémorisa- tion sont désignées dans l'ordre par le compteur, puisqu'il est nécessaire de lire les micro-instructions dans diverses adresses de mémorisation en fonction des états ouvert ou fermé des éléments d'entrée et de sortie. Par conséquent, un but principal de l'invention est de proposer un dispositif de commande de séquence programmable per- fectionné dans lequel le signal d'état fermé ou ouvert d'un élément d'entrée désigné est appliqué à la mémoire de microprogramme afin de sélectionner et de lire une micro-instruction voulue. Un autre but de l'invention est de proposer un disposi- tif de commande de séquence programmable perfectionné qui est doté d'un compteur faisant fonction de moyen de commande d'adresse de mémorisation pour désigner une adresse de mémorisation voulue en coopération avec le signal d'état fermé ou ouvert de l'élément d'entrée désigné. Selon l'invention, une mémoire de programme de séquence mémorise un programme de séquence constitué de plusieurs instructions de séquence, chacune d'elles comportant un code d'opération permet- tant de fixer le type de l'instruction de séquence et un opérande servant à désigner l'un des éléments d'entrée et de sortie Un comp- teur de programme est prévu pour désigner des adresses de mémorisation dans la mémoire de programme de séquence et ainsi permettre la lecture des instructions de séquence Une section de circuit d'entrée et de sortie, qui répond à l'opérande de l'instruction de séquence lue dans la mémoire de programme de séquence, est destinée à assurer la lecture de l'état fermé ou ouvert des éléments d'entrée et de sortie désignés par l'opérande de l'instruction de séquence Une unité de traitement d'opération est connectée à la mémoire de programme de séquence en vue de l'exécution d'une série d'opéra- tions de commande de séquence en fonction du programme de séquence. L'unité de traitement d'opérations est dotée des éléments ou moyens suivants Une mémoire de microprogramme contient un microprogramme constitué de plusieurs microinstructions et possède plusieurs zones de mémorisation qui ont chacune une adresse de mémorisation et qui contiennent l'une des micro-instructions Un compteur est actionné de manière incrémentielle afin de délivrer son contenu à la mémoire de microprogramme et de permettre ainsi de sélectionner une partie de son adresse de mémorisation Un moyen faisant fonction d'étiquettes d'essai répond à l'une des micro-instructions lues dans la mémoire de microprogramme en modifiant son état Un moyen de délivrance d'adresse de mémorisation répond à l'une des micro-instruction lue dans la mémoire de microprogramme en produisant, à destination de la mémoire de microprogramme, un signal dont l'état dépend de l'état fermé ou ouvert fourni-par la section de circuit d'entrée et de sortie ou de l'état du moyen faisant fonction d'étiquettes d'essai, si bien que l'adresse de mémorisation de la mémoire de microprogramme est fixée en fonction du code d'opération de l'instruction de séquence, du contenu du compteur et du signal fourni par le moyen de délivrance d'adresse de mémorisation, et qu'une des micro-ins- tructions est délivrée en provenance de la zone de mémorisation dont l'adresse de mémorisation a été ainsi fixée. La description suivante, conçue à titre d'illustration de l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels la figuré 1 est un schéma de principe d'un premier mode de réalisation de dispositif de commande de séquence programmable selon l'invention; la figure 2 est une représentation explicative d'une microinstruction qui est mémorisée dans une mémoire de microprogramme présentée sur la figure 1; les figures 3 (a) et 3 (b) montrent des sections de mémoire de la mémoire de microprogramme présentée sur la figure 1; les figures 4 (a) à 4 (d) montrent des détails de chaque section de mémoire présentée sur les figures 3 (a) et 3 (b); la figure 5 est un exemple du diagramme en échelle d'un circuit logique de relais; la figure 6 montre une partie d'une mémoire de pro- gramme de séquence présentée sur la figure 1, qui contient un programme de séquence correspondant au circuit logique de relais présenté sur la figure 5; la figure 7 est un schéma de principe montrant un deuxième mode de réalisation de l'invention; les figures 8 (a) à 8 (d) montrent des détails de chaque section de mémoire d'une mémoire de microprogramme présentée sur la figure 7; la figure 9 est un schéma de principe montrant un troisième mode de réalisation de l'invention; et les figures 10 (a) à 10 (d) montrent des détails de chaque section de mémoire d'une mémoire de microprogramme présentée sur la figure 9. Sur les dessins, des numéros ou des symboles de référence identiques désignent des parties identiques ou correspondantes sur les différentes vues. Sur la figure 1, 'est illustré un dispositif de commande de séquence programmable selon l'invention, les divers éléments étant représentés sous forme de blocs Le numéro de référence 10 désigne une mémoire de programme de séquence qui contient un programme de séquence comportant plusieurs instructions de séquence. Un compteur de programme 11 est connecté à la mémoire 10 de façon à désigner des adresses de mémorisation dans celle-ci Un registre 12 est connecté à la mémoire 10 de façon à temporairement mémoriser une instruction de séquence lue, jusqu'à la lecture de l'instruction immédiatement suivante. Le registre 12, la mémoire de programme de séquence 10 et le compteur de programme 11 sont connectés à une unité de traite- ment 13 et à une section 15 de circuit d'entrée et de sortie L'unité de traitement 13 exécute une série d'opérations de commande de séquence en fonction du programme de séquence mémorisé dans la mémoire 10 de programme de séquence La section 15 de circuit d'entrée et de-sortie communique avec des éléments d'entrée 16, comme par exemple des interrupteurs limiteurs, et avec des éléments de sortie 17, comme par exemple des relais. Dans ce mode de réalisation, chaque instruction de séquence du programme de séquence est constituée de seize bits. Les quatre bits supérieurs sont utilisés comme code d'opération, pour indiquer le type de l'opération de commande de séquence, et sont transmis à l'unité de traitement 13 Les douze bits inférieurs sont utilisés comme opérande, pour indiquer une adresse d'entrée ou de sortie, et sont transmis à la section 15 de circuit d'entrée et de sortie en vue de la sélection de l'un des éléments d'entrée 16 et de sortie 17. L'unité de traitement 13 comporte une mémoire 20 de microprogramme qui contient un microprogramme, que l'on décrira ci-après Un compteur 21 connecté à la mémoire de microprogramme est constitué d'un compteur binaire de trois bits Le compteur 21 est actionné de manière incrémentielle par des impulsions d'horloge produites par un circuit 22 générateur d'impulsions d'horloge de façon que le compteur compte dans le sens ascendant à intervalles réguliers Des moyens faisant fonction d'étiquettes d'essai ATF et OTF, qui sont construits soud forme de bascules, sont connectés à la mémoire de microprogramme 20 par l'intermédiaire d'un registre de guidage 25 et sont amenés à être positionnés ou repositionnés par des signaux de commande délivrés par la mémoire de microprogramme 20. Ceci permet aux étiquettes d'essai ATF et OTF de mémoriser un résultat d'essai intermédiaire d'essais ET OU pendant l'exécution d'opérations de commande de séquence Le registre de guidage 25 est destiné à maintenir les signaux de commande jusqu'à ce que les signaux immédiatement suivants soient délivrés par la mémoire de microprogramme 20 Un sélecteur de donnée 23 permet de sélectionner l'un des signaux appliqué par la section 15 de circuit d'entrée et de sortie et par des bornes de sorties Q des étiquettes d'essai ATF et OTF en fonction d'un signal SEL de sélection de donnée appliqué par la mémoire de microprogramme 20. Le microprogramme comporte des micro-instructions qui transportent les instructions de séquence dans l'unité de traitement 13 en provenance de la mémoire de programme de séquence 10 et qui les exécutent en transmettant des données suivant les divers trajets de données de l'unité de traitement 13 La mémoire de microprogramme comporte deux cinquante-six zones de mémorisation Chaque zone de mémorisation possède une adresse de mémorisation constituée de huit bits AO à A 7 et permet de mémoriser une micro-instruction constituée d'un mot de seize bits La mémoire de microprogramme 20 peut être formée de deux mémoires fixes interconnectées comportant chacune deux cent cinquante-six registres de huit bits Comme cela apparaît sur la figure 2, chaque bit DO à D 15 de la microinstruction est assigné à la délivrance de l'un des signaux de commande Trois bits DO, Dl et D 2 sont utilisés pour la délivrance du signal SEL de sélection de donnée au sélecteur de donnée 23 Quatre bits D 4 à D 7 sont utilisés pour délivrer des signaux de positionnement et de repositionnement ONAF, OFAF, ONOF et OFOF servant à positionner et repositionner les étiquettes d'essai ATF et OTF Deux bits D 9 et DIO servent à délivrer des signaux d'excitation et de désexcitation SON et SOF à la section 15 de circuit d'entrée et de sortie afin de fermer et d'ouvrir les éléments de sortie 17 Un bit D 12 sert à délivrer un signal PC+I afin d'incrémenter le compteur de programme PC d'une unité de comptage Un bit D 13 sert à délivrer un signal ISR permettant la lecture dans la mémoire de programme de séquence d'une instruction de séquence qui est désignée par le compteur de programme 11 Le dernier bit D 15 sert à délivrer un signal d'effa- cement CLEAR permettant d'effacer ou de repositionner le compteur 21 L'un voulu des signaux de commande est délivré si le bit corres- pondant est de valeur "un" Par exemple, si la micro-instruction de commande est 0000 1000 0000 0000, le signal de commande ONAF est délivré. Les zones de mémorisation de la mémoire de microprogramme 20 sont réparties en seize sections de mémoire D Al à DA 16, comme cela est montré sur les figures 3 (a) et 3 (b) Chaque section de mémoire DAP à DA 16 est en mesure de mémoriser jusqu'à seize micro- instructions et mémorise, dans sa partie initiale, la micro-instruc- tion qui comporte le signal de commande ISR pour lire l'instruction de séquence à exécuter et, dans sa partie restante, les micro-instruc- tions permettant d'exécuter les opérations de commande de séquence en fonction de l'instruction de séquence. Lorsque l'instruction de séquence est lue en réponse au signal de commande ISR, son code d'opération de quatre bits est appliqué aux quatre bits supérieurs AO à A 3 de la mémoire de micro- programme 20 Les trois bits suivants A 4, A 5 et A 6 sont fixés par le compteur-de trois bits 21, et le bit final A 7 est fixé par un signal venant du sélecteur de donnée 23 Par conséquent, l'une des sections de mémoire D Al à DA 16 est sélectionnée par le code d'opération de l'instruction de séquence, et l'une des zones de mémorisation qui contiennent la micro-instruction est choisie dans la section de mémoire sélectionnée par le compteur 21 et le signal venant du sélecteur de donnée 23 Puisque le bit final A 7 est fixé par le signal venant du sélecteur de donnée 23, si le sélecteur de donnée 23 délivre le signal " O ", une adresse de mémo- risation paire est désignée, et, si le signal " 1 " est appliqué, une adresse de mémorisation impaire est désignée. Chacune des sections de mémoire D Al à DA 16 est destinée à exécuter une opération de commande de séquence particulière. Dans cet exemple, les sections de mémoire D Al, DA 2, DA 3 et DA 7 correspondent respectivement aux mots de commande TUA, TNO, TNE et YON Le tableau ci-après montre les mots de commande TNA, TNO, TNE et YON et leurs codes d'opération de quatre bits, ainsi que le sens fixé pour leurs opérations de commande de séquence. On va maintenant décrire en relation avec les figures 4 (a) à 4 (d) les micro-instructions contenues dans les sections de mémoire DAI à DA 16 Pour plus de clarté, on décrit l'adresse de mémoire constituée de huit bits AO à A 7 sous la forme M An + m, o M An indique les quatre bits supérieurs AO à A 3, et m indique les quatre inférieurs A 4 à A 7 Par exemple, MA 1 + 2 indique 0001 0010. ( 1) DA 1 (TNA) La section de mémoire DA 1 correspondant au mot de commande TNA contient les micro-instructions de commande servant à délivrer les signaux de commande aux adresses de mémorisation suivantes: ISR à MA 1 + 2; SEL=IOB à MA 1 + 4; OFAF et PC+l à MA 1 + 6; PC+l à MA 1 + 7, et CLEAR à MA 1 + 8. ( 2) DA 2 (TNO) La section de mémoire DA 1 correspondant au mot de commande TNO contient les micro-instructions de commande servant à délivrer les signaux de commande aux adresses de mémorisation suivantes: ISR a MA 2 + 2; SEL=IOB à MA 2 + 4; PC+l à MA 2 + 6; ONOF et PC+l à MA 2 + 7; et CLEAR à MA 2 + 8. ( 3) DA 3 (TNE) De la même façon que pour la figure 4 (b), la section de mémoire DA 3 correspondant au mot de commande TNE contient les micro-instructions de commande telles que les signaux de commande soient délivrés aux adresses de mémorisation suivantes: ISR à MA 3 + 2; SEL=IOB à NA 3 + 4; SEL=OTF à MA 3 + 6; OFOF, PC+l et CLEAR à MA 3 + 7; OFAF et PC+l à MA 3 + 8; OFOF et PC+l à MA 3 + 9; et CLEAR à MA 3 + 10. ( 4) DA 7 (YON) Dans la section de mémoire DA 7 correspondant au mot de commande YON, les signaux de commande sont délivrés aux adresses de mémorisation suivantes: ISR à MA 7 + 2; SEL=ATF à MA 7 + 4; SOF, ONAF et OFOF à MA 7 + 6; SON, ONAF et OFOF à MA 7 + 7; et PC+l et CLEAR à MA 7 + 8. La figure 5 montre un exemple d'un circuit de relais qui comprend les éléments d'entrée X 1, X 2 et X 3 ayant les adresses d'entrée-sortie 100, 101 et 102 et un élément de sortie Y 1 ayant une adresse d'entrée-sortie 200. La figure 6 montre une partie de la mémoire 10 de programme de séquence qui contient, aux adresses de mémorisation 10 à 14, des instructions de séquence correspondant au circuit de relais présenté sur la figure 5 Ces instructions de séquence TNO 100 à YON 200 sont codées sous forme d'un code binaire de seize bits ayant un code d'opération de quatre bits et un opérande de douze bits à mémoriser dans la mémoire de programme de séquence 10. On va décrire ci-après le fonctionnement du dispositif de commande de séquence programmable selon l'invention Au départ, le registre 12 produit et applique le code d'opération 0001 aux quatre bits supérieurs AO à A 3, de sorte que la section de mémoire DAI correspondant au mot de commande TNA est choisie Le compteur 21 subit un repositionnement de sorte que les bits d'adresse A 4, A 5 et A 6 indiquent 000 Le registre de guidage 25 subit également un repositionnement de sorte que le signal "" est appliqué au bit final A 7 à partir du sélecteur de donnée 23 Par conséquent, l'adresse de mémorisation M Al+O ( 0001 0000) indiquée sur la figure 4 (a) est désignée au début de l'opération En relation avec cela, l'étiquette d'essai ATF est positionnée et l'étiquette d'essai OTF est reposi- tionnée au début de l'opération. Après cela, l'adresse de mémorisation MA 1 + 2 est désignée en synchronisation avec l'incrémentation du compteur 21 de sorte que la micro-instruction ayant le signal de commande ISR est déli- vrée Ensuite, en réponse au signal de commande ISR, l'instruction de séquence qui est désignée par la mémoire de programme 11 est lue dans la mémoire de programme de séquence 10 et est mémorisée dans le registre 12. Puisque le code d'opération de quatre bits de l'instruc- tion de séquence est'appliqué du registre 12 aux quatre bits supé- rieurs AO à A 3, l'adresse de mémorisation passe de MA 1 + 2 à M An+ 4 pour l'incrément suivant du compteur 21, o M An est le code d'opéra- tion de quatre bits de l'instruction de séquence lue Ensuite, les microinstructions sont lues en continu de façon à exécuter les opérations de commande de séquence Cette séquence est indiquée par des flèches sur la figure 3 (a). Une fois achevée l'opération de commande de séquence correspondant à un mot de commande, le compteur 21 subit un reposi- tionnement de sorte que l'adresse de mémorisation est ramenée à la première adresse (M An+O) Ensuite, l'instruction de séquence suivante est lue en réponse au signal de commande ISR qui résulte du changement de section de mémoire Ensuite, l'opération de commande de séquence est exécutée Cette séquence est présentée par des flèches sur la figure 3 (b), o la séquence commence à partir d'une flèche AR. Ci-après, on va décrire en détails le fonctionnement en prenant l'exemple de l'instruction de séquence présenté sur la figure 6 Ainsi que cela a été mentionné ci-dessus, à la première étape, l'adresse de mémorisation M Al+O est désignée, et les bascules ATF et OTF subissent respectivement un positionnement et un reposi- tionnement Par suite, lorsque le compteur 21 est incrémenté d'une unité de comptage en synchronisme avec l'impulsion d'horloge venant du circuit 22 générateur de signaux d'horloge, l'adresse de mémori- sation MAI+ 2 est désignée puisque le sélecteur de donnée 23 applique encore le signal " O " au bit final A 7 En résultat, le signal de commande ISR est délivré et appliqué au compteur de programme 11. Si l'on suppose que le contenu du compteur de programme 11 est 10, l'instruction de séquence TNO 100 qui est mémorisée A l'adresse de mémorisation 10 de la mémoire de programme de séquence 10 est lue pour être mémorisée dans le registre 12 en réponse au signal de commande ISR Le code d'opération de quatre bits 0010 et l'opé- rande de douze bits 0000 0110 0100 de l'instruction de séquence TNO 100 sont respectivement appliqués immédiatement aux quatres bits supérieurs AO à A 3 de la mémoire de microprogramme 20 et à la section 15 de circuit d'entrée et de sortie. Après cela, à l'incrémentation suivante du compteur 21, l'adresse de mémorisation désignée passe de MA 1 + 2 ( 0001 0010) à MA 2 + 4 ( 0010 0100), puisque le signal " O " est encore appliqué au bit final A 7 Ainsi, le signal de sélection de donnée SEL=IOB est appliqué au sélecteur de donnée 23 via le registre de guidage 25 de façon à vérifier l'état fermé ou ouvert IOB de l'élément d'entrée Xl qui est désigné par l'opérande de douze bits de l'instruction de séquence TNO 100. Si l'élément d'entrée Xl présente l'état ouvert (IOB=O), le signal " O " est appliqué au bit final A 7 en provenance du sélec- teur de donnée 23 Par conséquent, lorsque le compteur 21 est incré- menté d'une unité de comptage, l'adresse de mémorisation passe de 2508 193 il MA 2 + 4 à MA 2 + 6, de sorte que le signal de commande PC+i est délivré et amène l'incrémentation du compteur de programme 11 d'une unité de 10 à 11 Si l'élément d'entrée X 1 présente l'état fermé (l OB=l), le signal " 1 " est appliqué au bit final A 7 Ainsi, à l'incrémenta- tion suivant du compteur 21 > l'adresse de mémorisation passe de MA 2 + 4 ( 0010 0100) à MA 2 + 7 ( 0010 0111), si bien que les signaux de commande ONOF et PC+l sont produits Par conséquent, l'étiquette d'essai OTF est positionnée et le contenu du compteur de programme 11 est incrémenté de 10 à 11, tandis que l'étiquette d'essai ATF est maintenue dans à l'état positionné. Lorsque le compteur 21 a de nouveau été incrémenté d'une unité de comptage, l'adresse de mémorisation passe à MA 2 + 8 dans l'un et l'autre cas puisque le signal " O " est appliqué au bit final A 7 en provenance du sélecteur de donnée 23 sans que le signal de sélection de donnée SEL ne lui soit fourni En résultat, le signal de commande CLEAR est appliqué de façon à repositionner le compteur 21. Par conséquent, après l'exécution de l'opération de commande de séquence correspondant au mot de commande TNO, l'étiquette d'essai OTF est positionnée et repositionnée lorsque l'élément d'entrée désigné indique respectivement l'état fermé et l'état ouvert Ceci permet à l'étiquette d'essai OTF de mémoriser le résultat d'essai de l'élément d'entré désigné. Lorsque le compteur 21 a été repositionné par le signal de commande CLEAR, l'adresse de mémorisation passe de MA 2 + 8 à MA 2 + O Après cela, en réponse à l'incrémentation du compteur 21, l'adresse de mémorisation MA 2 + 2 est désignée et le signal de commande ISR est délivré En résultat, l'instruction de séquence suivante TNE 101 désignée par le compteur de programme 11 est lue dans la mémoire de programme de séquence 10 de façon à être mémorisée dans le registre 12 Dans le même temps, le code d'opération 0011 et l'opérande de l'instruction de séquence TNE 101 sont respectivement appliqués aux bits supérieurs AO à A 3 et à la section 15 de circuit d'entrée et de sortie. Lors de l'incrémentation suivante du compteur 21, l'adresse de mémorisation passe de MA 2 + 2 à MA 3 + 4 puisque le code d'opération de quatre bits 0011 est appliqué aux quatre bit supé- rieurs AO à A 3 Ainsi, le signal de sélection de donnée SEL=IOB est délivré de façon qu'il soit vérifié si l'élément d'entrée X 2 désigné par l'opérande de l'instruction de séquence TNE 101 indique l'état fermé ou l'état ouvert S'il s'agit de l'état fermé (IOB= 1), le signal " 1 " est délivré-au bit final A 7 de sorte que l'adresse de mémorisation passe de MA 3 + 4 à MA 3 + 7, en entraînant la délivrance des signaux de commande OFOF, PC+i et CLEAR Ainsi, l'étiquette d'essai OTF est amenée à être repositionnée, le contenu du compteur de programme 11 passe de 11 à 12, et le compteur 21 est repositionné, tandis que l'étiquette d'essai ATF est maintenue dans l'état posi- tionné Il faut noter que, dans le cas o l'élément d'entrée désigné indique l'état fermé, il n'est pas nécessaire de vérifier si l'éti- quette d'essai OTF a été positionnée ou repositionnée, parce que l'état fermé de l'élément d'entrée fait que le circuit OU, qui contient les mots de commande TNO et TNE, est satisfait indépendam- ment de l'état ouvert des autres éléments d'entrée. Toutefois, si l'élément d'entrée désigné X 2 indique l'état ouvert (IOB=O) , l'adresse de mémorisation passe de MA 3 + 4 à MA 3 + 6 de façon à délivrer le signal de sélection de donnée SEL=OTF au sélecteur de donnée 23 Par conséquents il est vérifié si l'éti- quette d'essai OTF a été positionnée ou repositionnée Si elle a été repositionnée (OTF=O), l'adresse de mémorisation passe de MA 3 + 6 à MA 3 + 8 de façon à délivrer les signaux de commande OFAF et PC+I. Ainsi, l'étiquette d'essai ATF est amenée à être repositionnée, et le contenu du compteur de programme 11 passe de 11 à 12 Si l'éti- quette d'essai OTF a été positionnée (OTF=l), l'adresse de mémori- sation passe de MA 3 + 6 à MA 3 + 9, si bien que l'étiquette d'essai OTF est amenée à être repositionnée par la donnée de commande OFOF et le contenu du compteur de programme 11 passe de 11 à 12 sous l'action de la donnée de commande PC+l. Après cela, à l'incrémentation suivante du compteur 21, l'adresse de mémorisation passe à MA 3 + 10, à partir de MA 3 + 8, ou MA 3 + 9, ce qui entraîne le repositionnement du compteur 21 par le signal de commande CLEAR. 2508 1 93 Par conséquent, après l'exécution de l'opération de commande de séquence correspondant au mot de commande TNE, la non- satisfaction du circuit OU est mémorisée par le repositionnement de l'étiquette d'essai ATF et, dans les autres cas, l'étiquette d'essai ATFest maintenue positionnée. Par suite, la section de mémoire D Al est choisie par le code d'opération 0001 del'instruction de séquence suivante TNA 102 d'une manière analogue aux exécutions des mots de commande TNO et TNE Si l'élément d'entrée désigné X 3 indique l'état ouvert (IOB=O), l'adresse de mémorisation passe de MA 1 + 4 à M Al+ 6, ce qui a pour effet de repositionner l'étiquette d'essai ATF sous l'action du signal de commande OFAF et d'incrémenter le contenu du compteur de programme 11 de la valeur 12 à la valeur 13 Toutefois, si l'élément d'entrée désigné X 3 présente l'état fermé (IOB= 1), l'adresse de mémorisation M Ai+ 7 est désigné, ce qui a pour effet de faire passer le contenu du compteur de programme 11 de 12 à 13, tandis que l'étiquette d'essai ATF est maintenue positionnée Après cela, lors de l Vincrémentation suivante du compteur 21, le compteur 21 est amené à être repositionné dans l'un et l'autre cas sous l'action du signal de commande CLEAR. Ensuite, la section de mémoire DA 7 est sélectionnée par le code d'opération 0111 de l'instruction de séquence suivante YON 200 Lorsque l'adresse de mémorisation MA 7 + 4 est désignée, le signal de sélection de donnée SEL=ATF est délivré pour vérifier si l'étiquette d'essai ATF a été positionnée ou repositionnée Si elle a été repositionnée (ATF=O), l'adresse de mémorisation passe de MA 7 + 4 à MA 7 + 6, ce qui entraîne la délivrance des signaux de commande SOF, ONAF et OFOF En résultat, l'élément de sortie Y 1 désigné par l'opérande de douze bits de l'instruction de séquence YON 200 est amené a être désexcité, l'étiquette d'essai ATF est positionnée, et l'étiquette d'essai OTF est repositionnée Toutefois, si l'étiquette d'essai ATF a été repositionnée, l'adresse de mémorisation 147 +/ est désignée, si bien que les signaux de commande SON, ONAF et OFOF sont délivrés Ainsi, l'élément de sortie désigné Y 1 est excité, l'étiquette d'essai ATF est positionnée, et l'étiquette d'essai OTF est repositionnée. Ensuite, l'adresse de mémorisation passe de MA 7 + 6 ou MA 7 +/ à MA 7 + 8, ce qui incrémente le contenu du compteur de prograliun 11 d'une unité de comptage et repositionne le compteur 21. Ainsi, les opérations de commande de séquence qui sont fonction des instructions de séquence présentées sur la figure 6 sont effectuées par lecture des micro-instructions venant de diverses adresses de mémorisation. La figure 7 présente le deuxième mode de réalisation de l'invention, dans lequel le quatrième bit A 4 de l'adresse de mémo- risation est fixé par le signal venant du sélecteur de donnée 23, et les trois bits inférieurs A 5 à A 7 sont fixés par le compteur 21. Les figures 8 (a) à 8 (d) montrent les sections de mémoire DAI, DA 2, DA 3 et DA 7 qui sont utilisés dans ce mode de réalisation Les éléments restants sont identiques à ceux du premier mode de réalisation présentés sur les figures 1, 2, 3 (a) et 3 (b). La section de mémoire D Al présentée sur la figure 8 (a) va être expliquée ci-après Si l'élément d'entrée désigné indique l'état ouvert (IOB=O), l'adresse de mémorisation passe de M Ai 1 + 2 à MA 1 + 3 en réponse à l'incrémentation du compteur 21 Après cela, l'adresse de mémorisation MA 1 + 4 est désignée lors de l'incrémentation suivante du compteur 21 Toutefois, si l'élément d'entrée désigné indique l'état fermé (IOB=O), l'adresse de mémorisation passe de MA 1 + 2 à M Al+ 11 puisque le signal " 1 " est appliqué au quatrième bit A 4 de la mémoire 20 de microprogramme Après cela, en réponse à l'incrémentation du compteur 21, l'adresse de mémorisation passe de M Al+ 11 à MA 1 + 4, ce qui efface le compteur 21, puisque le signal " O " est appliqué au quatrième bit A 4. Par conséquent, le signal venant du sélecteur de donnée 23 peut être appliqué au quatrième bit A 4, au lieu que se soit au bit final A 7 de l'adresse de mémorisation, comme dans le premier mode de réalisation. Les figures 9 et 10 (a) à 10 (d) présentent le troisième mode de réalisation de l'invention, o deux sélecteurs de donnée 23 a et 23 b sont prévus à la place du sélecteur de donnée 23 présenté sur la figure 1 Dans ce mode de réalisation> la mémoire de micro- programme 20 a la capacité de mémoriser jusqu'à cinq cent douze mots de seize bits Le premier bit DO de la micro-instruction est utilisé pour délivrer un signal de sélection donné SEL 2 au sélecteur de donnée 23 b de façon & vérifier l'état fermé ou ouvert de l'élément d'entrée désigné, et les deux bits suivants D 1 et D 2 servent à déli- vrer un signal de sélection de donnée SEL 1 au sélecteur de donnée 23 a de façon à vérifier-s ai les étiquettes d'essai ATF et OTF sont positionnées ou repositionnées Puisque la mémoire de microprogramme possède 512 zones de mémorisation qui peuvent chacune contenir une micro- instruction de commande de seize-bits, son adresse de mémorisation est constituée de neuf bits AO à A 8 Les trois bits A 4 à A 6 de l'adresse de mémorisation sont fixés par le compteur 21, et les septième et huitième bits A 7 et A 8 sont fixés par des signaux venant respectivement des sélecteurs de donnée 23 a et 23 b. Les figures 10 (a) à 10 (d) montrent les sections de mémoire DA 1, DA 2, DA 3 et DA 7 utilisées dans le troisième mode de réalisation Lorsque le compteur 21 est incrémenté, l'adresse de mémorisation passe M Al+O à MA 1 + 4, puis à MA 1 + 8 Lorsque l'adresse de mémorisation MA 1 + 8 est désignée, les signaux de commande SEL=ATF et SEL 2 =IOB sont délivrés, ce qui a pour effet de faire vérifier l'état de l'étiquette d'essai ATF et l'état fermé ou ouvert de l'élément d'entrée désigné par l'opérante de l'instruction de séquence Puisque les bits A 7 et A 8 sont fixés par les signaux venant respectivement des sélecteurs de donnée 23 a et 23 b, l'adresse de mémorisation passe de MA 1 + 8 à l'une des adresses M Al+ 12, MA 1 + 13, M Al+ 14 et M Al+ 15 selon l'état fermé ou ouvert de l'élément d'entrée désigné et l'état de l'étiquette d'essai ATF. Les éléments qui constituent l'unité de traitement 13 selon l'invention peuvent être construits à partir de diverses unités de circuit intégré fabriquées par la société Texas Instruments des Etats-Unis d'Amérique Il s'agit des unités suivantes: la mémoire de microprogramme 20, qui est faite de deux mémoires fixes 256 x 8 interconnectées désignées par la référence "SN 74 L 5271 "; le compteur 21, qui est fait de l'unité " SN 74 L 5197 "; les sélecteurs de donnée 23, 23 a et 23 b, qui sont faits d'unités "SN 74 L 5253 "; le registre de guidage 25, qui est fait de l'unité "SN 74 L 5374 "; et les étique Mesd'essai ATF et OTF, qui sont faites d'unités "SN 74 L 5279 ". Ainsi que cela a été mentionné ci-dessus, selon l'inven- tion, l'adresse de mémorisation de la mémoire de microprogramme 20 est fixée par le code d'opération d'une instruction de séquence à exécuter, par l'état fermé ou ouvert de l'élément d'entrée dési- gné par l'instruction de séquence et par le compteur 21 Par consé- quent, il est possible de faire lire une micro-instruction voulue dans la mémoire de microprogramme 20 à l'aide d'un sélecteur de donnée et d'un compteur De plus, selon l'invention, la structure de l'unité de traitement 13 est assez simple pour qu'on puisse construire à faible coût le dispositif de commande de séquence et qu'il ne - soit pas nécessaire d'utiliser une coûteuse unité centrale de traite- ment à usages multiples ou une unité de commande de microprogramme (MCU). Bien entendu, l'homme de l'art sera en mesure d'imaginer à partir du dispositif dont la description vient d'être donnée & titre simplement illustratif et nullement limitatif, diverses variantes et modifications ne sortant pas du cadre de l'invention. 2508 1 93 T A B L E A U Mot de Code d'opé Signification commande ration TNA 0001 Vérifie si un élément d'entrée ou de sortie désigné est fermé et produit un résultat d'essai traité en intersection logique avec un précédent résultat d'essai. TNO 0010 Vérifie si un élément d'entrée ou de sortie désigné est fermé et produit un résultat d'essai traité en réunion logique avec un précédent résultat d'essai. TNE 0011 Vérifie si un élément d'entrée ou de sortie désigné est fermé, produit un résultat d'essai traité en réunion logique avec un précédent résultat d'essai, et-incorpore le résultat d'essai dans un précédent résultat d'essai d'intersection logique. YON 0111 Excite un élément de sortie désigné si l'étiquette d'essai indique que la-condition est satisfaite, ou désexcite l'élément de sortie dési- gné si l'étiquette d'essai indique que la condition n'est pas satis- faite. On notera que l'intersection logique correspond à l'application de la fonction ET et la réunion logique à celle de la fonction OU. 2508 193 R E V E N D I C A T i 0 N S 1 Dispositif de commande de séquence programmable, carac- térisé en ce qu'il comprend: une mémoire ( 10) de programme de séquence qui mémorise un programme de séquence constitué de plusieurs instructions de séquence, chacune des instructions de séquence comportant un code d'opération destiné à fixer le type de l'instruction de séquence et un opérande destiné à désigner un élément parmi des éléments d'entrée et de sortie ( 16, 17); un compteur de programme ( 11) servant à désigner des adresses de mémorisation (AO à A 7) de la mémoire de programme de séquence afin d'y lire les instructions de séquence; une section ( 15) de circuit d'entrée et de sortie qui répond à l'opérande de l'instruction de séquence lue dans la mémoire de programme de séquence en lisant l'état fermé ou ouvert de celui des éléments d'entrée et de sortie qui est désigné par l'opérande de l'instruction de séquence; et une unité de traitement d'opération ( 13) connectée à la mémoire de programme de séquence afin d'exécuter une série d'opérations de commande de séquence en fonction dudit programme de séquence, l'unité de traitement comprenant: une mémoire de microprogramme ( 20) qui mémorise un micro- programme constitué de plusieurs micro-instructions, ladite mémoire de microprogramme possédant plusieurs zones de mémorisation ayant chacune une adresse de mémorisation et contenant l'une des micro- instructions; un compteur ( 2 h qui est actionné de façon incrémentielle pour délivrer son contenu à la mémoire de microprogramme afin de fixer une partie de l'adresse de mémorisation de celle-ci; des moyens faisant fonction d'étiquettes d'essai (ATF, OTF) qui répondent à l'une des microinstructions luesdans la mémoire de microprogramme en changeant leur état; et un moyen ( 23) de délivrance d'adresse de mémorisation qui répond à l'une des micro-instructions luesdans la mémoire de programme en délivrant à la mémoire de microprogramme un signal dont l'état dépend de l'état fermé ou ouvert fourni par la section de circuit d'entrée et de sortie ou de l'état des moyens faisant fonction d'étiquettesd'essai, si bien que l'adresse de mémorisation de la mémoire de microprogramme est fixée par le code d'opération de l'instruction de séquence, le contenu du compteur et le signal venant du moyen de délivrance d'adresse de mémorisation, et que l'une des micro-instructions est délivrée à partir de la zone de mémorisation possédant l'adresse de mémorisation ainsi fixée. 2 Dispositif selon la revendication 1, caractérisé en ce que la mémoire de microprogramme possède plusieurs sections de mémoire (DA 1 à DA 15) contenant chacune un ensemble de micro- instructions correspondant au code d'opération de l'instruction de séquence, en ce que le code d'opération de l'instruction de séquence est appliqué aux bits supérieurs de l'adresse de mémorisa- tion de la mémoire de microprogramme afin de sélectionner l'une des sections de mémoire dans la mémoire de microprogramme, et en ce que le contenu dudit compteur et le signal venant du sélecteur de donnée ( 23) sont appliqués aux bits restants de l'adresse de mémorisation de la mémoire de microprogramme afin de sélectionner celle des micro-instructions de la section de mémoire qui est dési- gnée par le code d'opération. 3 Dispositif selon la revendication 2, caractérisé en ce que l'une des micro-instructions mémorisées dans chacune des sections de mémoire est la micro-instruction qui entra Ine le reposi- tionnement du compteur. 4 Dispositif selon la revendication 3, caractérisé en ce que le moyens faisant fonction d'étiquettesd'essai comprennent une première et une deuxième étiquette d'essai qui mémorisent un résul- tat d'essai intermédiaire d'essais ET et OU pendant l'exécution de l'instruction de séquence.