Brevet FR2612661A1 — publié le 19880923

Dispositif d'interconnexion à multiprocesseurs entre calculateurs, automates programmables et terminaux périphériques. Dans l'industrie, on utilise de plus en plus des automates programme niables qui sont des ordinateurs commandant, dans un ordre séquentiel, les différentes fonctions d'une machine pour réaliser sur une pièce une opération ou une série d'opérations. Ces automates sont programmables de façon à pouvoir modifier les caractéristiques, la séquence ou la nature des différentes opérations réali- sées par la machine sur différents types de pièces. Les automates actuellement commercialisés se caractérisent par une incompatibili té des divers matériels du fait des langages de programmation différents pour les différentes marques, ce qui rend impossible le dialogue entre automates de marques différentes et encore plus impossible le dialogue entre automates, calculateurs et péripnériques. Le développement de l'informatique a conduit à développer les applications informatiques au niveau de la production et a débouché sur la gestion informatisée de la production et des services entourant la production comme la conception, le dessin et la fabrication assistés par ordinateurs, (CAO, DAO,CFAO), etc. La gestion de production s'effectue sur des ordinateurs dits calculateurs indus triels reliés à des mini-terminaux ou enregistreurs de données. Les langages informatiques utilisés dans les calculateurs industriels sont également spécifiques et, de ce fait, non seulement il n'est pas possible de relier entre eux les différents types d'automates mais il n'est pas possible de les relier avec les différents types de calculateurs industriels. En outre tous les systèmes doivent être programmés dans des landau ges spécifiques, ce qui interdit à l'utilisateur de procéder par ses propres moyens à la programmation de son système de gestion de production et de ses automates. La présente invention a pour but de remédier aux inconvénients cidessus et de créer un dispositif d'interconnexion à multiprocesseurs entre calculateurs, automates programmables et terminaux périphériques qui rende tous ces systemes compatibles et programmables en langage simple et rapide. L'invention a en conséquence pour objet un dispositif d1intercon- nexion constitué par une unité centrale comportant un micro-proces seur et une mémoire programme, une mémoire données et une mémoire d'affectations avec deux coupleurs respectivement pour l'interface avec la console de programmation et pour l'interface de pilotage des appareils périphériques, le coupleur d'interface de la console de programmation assurant l'injection en le langage commun à la console et à l'unité centrale du programme reçu de la console dans une des trois mémoires de programme, de données ou d'affectations et par une pluralité d'unités de couplage constituées chacune par un micro-processeur susceptible de lire et écrire des infor mations dans l'unité centrale avec un interpréteur traduisant le programme en langage unité centrale lu dans la mémoire centrale en un programme dans le langage de l'automate programmable ou calcula teur extérieur auquel est reliée l'unité de couplage, programme qui est injecté dans la mémoire de l'unité de couplage et traduisant les données en entrée reçues de l'automate programmable ou calculateur extérieur en le langage de l'unité centrale, l'interconnexion entre chaque unité de couplage et l'unité centrale étant contrôlée par une horloge, chaque unité de couplage comportant une série de micro-interrupteurs formant un coupleur configurable, un compteur incrémentable par les impulsions horloges et un comparateur comparant la teneur du compteur avec la configuration du coupleur pour, en situation d'identité, établir l'interconnexion entre l'unité de couplage considérée et l'unité centrale. Selon une autre caractéristique le dispositif d'interconnexion est constitué par assemblage de cartes dont l'une constitue l'unité centrale, d'autres cartes constituant les unités de couplage. L'unité centrale se présente sous forme d'une carte comportant au moins un micro-processeur avec ses circuits périphériques, une me- moire programme assurant le pilotage des entrées/sorties de l'application finale, une mémoire données assurant le stockage des messages édités sur des terminaux par l'intermédiaire des cartes de couplage, une mémoire d'affectations assurant le stockage de textes sélectionnables en fonction de l'état d'une variable en entrée ou en sortie et une mémoire table des entrées/sorties recopiant et mettant en mémoire l'état des cartes d'entrée et de sortie, deux coupleurs avec interface l'un vers la console de programmation et l'autre vers les unités de couplage ou les appareils pé riphériçues pilotés. L'unité centrale peut comporter son propre calculateur intégré ou le calculateur peut être indépendant et interposé entre la console et l'unité centrale. Lorsque l'unité centrale reçoit de la console de programmation et sur l'interface du coupleur correspondant à celle-ci une entrée en le langage propre à ladite console, en langage pleine page ou évolué, l'entrée est stockée dans l'une des mémoires de l'unité centrale dans lesquelles les unités de couplage peuvent venir lire ou écrire et lorsqu'une unité de couplage vient lire dans l'une des mémoires de l'unité centrale un programme concernant l'automate programmable ou le calculateur qu'elle contrôle, elle transcrit le programme en le langage propre audit automate ou calculateur avant de le stocker dans sa propre mémoire programmable à contenu effaça ble. Les unités de couplage se présentent sous forme d'une carte compor tant un micro-processeur avec ses circuits périphériques, une mémoire et un circuit de commande de la mise en communication avec l'unité centrale. Les unités de couplage peuvent lire et écrire dans l'unité centrale mais ne peuvent ni être lues ni être écrites. Lors d'un démarra ge du système, chaque unité de couplage vient lire dans la mémoire programme de l'unité centrale la partie la concernant qui est emnagasinée en étant traduite en le langage propre à l'automate programmable ou au calculateur géré par ladite unité de couplage dans la mémoire de l'unité de couplage puis fonctionne ensuite in dépendamment jusqu'à ce que le programme stocké dans la mémoire df l'unité de couplage fasse référence à un point d'entrée/sortie, à une variable ou à un mot mémoire qui sont stockés dans la mémoire de l'unité centrale et lus par l'unité de couplage dans ladite mémoire.Une unité de couplage a également accès à l'unité centrale lorsqu'un nouveau programme la concernant est envoyé depuis la coi sole de programmation dans l'unité centrale. En ce qui concerne l'interconnexion entre chaque unité de couplage et l'unité centrale, elle est contrôlée par une horloge, chaque unité de couplage étant affectée d'un numéro matérialisé par des micro-interrupteurs soudés sur la carte de l'unité de couplage et comportant un compteur incrémenté par les impulsions horloge avec un comparateur comparant la teneur du compteur avec le nu méro de l'unité et autorisant l'interconnexion sur le bus commun au moment de la coïncidence, l'émission de l'horloge étant coupée pendant l'interconnexion. Le même contrôle d'interconnexion 8 2applique aux autres périphéri ques de la configuration ayant accès à l'unité centrale. On décrira ci-après le dispositif d'interconnexion conforme à l'i vention avec référence au dessin ci-annexé qui illustre schématiquement l'architecture interne du dispositif. Les éléments dans le cadre en traits mixtes 1 constituent l'unité centrale tandis que ceux incorporés dans le cadre en traits mixtes 2 constituent une unité de couplage. L'uni te centrale 1 comporte une liaison entrée-sortie 3 vers la console de programmation non représentée et une mémoire centrale 4 avec ses circuits périphériques. Cette mémoire centrale 4 est subdivisée comme expliqué ci-dessus en une mémoire programme, une memoire données, une mémoire affectations et si le dispositif d'in- terconnexion gère directement des cartes d'entrée et de sortie sans passer par des unités de couplage, une mémoire table des entrées/sorties. La mémoire 4 de l'unité centrale est gérée par un micro-processeur 5 qui gère les données en entrée reçues des unités de couplage 2 ou des périphériques de saisie par le bus commun 6 et les instructions envoyées par le même bus 6 vers les unités de couplage 2 et les périphériques gérés directement. Le micro-processeur 5 reçoit par une ligne 7 de demande d'accès l'identification de l'unité de couplage ou du périphérique qui vient de recevoir l'autorisation d'accès à l'unité centrale, comme cela sera exposé ci-après, et il verrouille par une ligne 8 d'acquittement tous les accès des autres unités de couplage et périphériques à l'unité centrale pendant la durée de la conversa tiOh . L'unité centrale comporte en outre une horloge 9.constituée par un oscillateur qui émet sur une ligne 10. La carte constituant l'unité de couplage 2 présente deux liaisons 11 vers l'automate programmable ou le calculateur extérieur qu'elle gère. Elle comporte une mémoire 12 avec ses circuits périphériques dans laquelle est emmagasiné le programme de l'automate programmable ou du calculateur extérieur écrit en le langage spécifique de ce dernier et le programme translateur ou de transcodage au tomatique entre le langage de l'unité centrale et le langage spéci fique de l'automate ou du calculateur. Ladite mémoire est exploitee par un micro-processeur 13 relié par un bus interne 14 et des coupleurs verrouillables 15 au bus commun 6. Les coupleurs 15 comportent de façon connue les bornes d'écriture, de lecture, de con flexion sur périphérique ou mémoire, d'adresses et de données reliées par enfichage au bus commun.Les coupleurs 15 sont déverrouillés par une porte NAND 16 lorsque le signal d'acquittement de la mémoire centrale appliqué sur une des entrées par la ligne 8 est O et le signal de demande d'accès autorisée entré par la ligne 17 est 1. Le signal d'accès autorisé est constitué par la sortie d'un comparateur 18. Le comparateur 18 compare le compte d'un comy teur 19 avec une valeur correspondant au numéro d'identification de l'unité de couplage matérialisée par des micro-contacteurs soudés 20. Le compteur 19 reçoit d'une ligne 21 connectée sur la ligne 10 lec impulsions de l'oscillateur 9 sous le contrôle de deux portes NANI 22 et 23 en cascade, la porte 22 recevant les impulsions horloge et la sortie d'une porte NAND 24. Lorsque la sortie de la porte NAND 24 est O, les impulsions sont appliquées sur une entrée de 1E porte NAND 23 qui les transmet au compteur si l'autre entrée de le porte 23 n'est pas à 1. Cette seconde entrée de la porte 23 est connectée à la ligne 7 de demande d'accès et la porte 23 est donc bloquée dès que l'accès est ouvert entre un élément du réseau (uni té de couplage ou périphérique) et l'unité centrale 1. Lorsque le micro-processeur 13 envoie une demande d'acces par la ligne 26, celle-ci est inversée par l'inverseur 27 et la sortie 0 est appliquée en entrée par 28 aux deux portes NAND 24 et 25. La seconde entrée des deux portes 24 et 25 est connectée sur la sortie du comparateur 18. Il en résulte que lorsque le comparateur 1E détecte l'égalité entre le compteur et le numéro de la carte, il émet une sortie 1 qui donne une sortie 0 sur la porte 24 (s'il n'j a pas demande d'accès sur la ligne 28) ce qui autorise par la porte 22 l'accès des impulsions au compteur 19, la seconde entrée de la porte 23 étant 0 puisque la dernière impulsion entrée sur le compteur ne pouvait générer qu'une demande d'accès provenant de la carte de couplage en cause.Si, par contre, il y a demande d'accès avec la ligne 28 à O la sortie de la porte 24 devient 1 ce qui bloque l'accès des impulsions par la porte 22 dont les deux entrées sont 1 à l'apparition de l'impulsion. La sortie de la porte 25 qui reçoit le signal du comparateur 18 sur une des entrées et dont l'autre entrée commandée par 28 est 0, émet un signal de demande d'accès sur la ligne 7 en bloquant toutes les portes 23 des unités de couplage et périphériques reliés à l'unité centrale 1. Simultanément le signal du comparateur est e-voyé comme signal d'accès autorisé au micro-processeur 13 et déverrouille les coupleurs la qui seront verrouillés lorsqu'à la suppression de la demande d'acces sur la ligne 26, le signal de demande d'accès de l'unité de couplage sera supprimé sur la ligne 7, le micro-processeur 13 envoyant un signal 1 d'acquittement sur la ligne 8 lequel en combinaison avec l'entrée 1 provenant du comparateur 18, met à 0 la sortie de la porte 16 et verrouille les coupleurs 15 du bus interne. Revendications 1. Un dispositif d'interconnexion à multiprocesseurs entre cal bulateurs, automates programmables et terminaux périphériques, caractérisé en ce qu'il est constitué par une unité centrale (i) comportant un micro-processeur (5) et une mémoire programme, une mémoire données et une mémoire d'affectations avec deux coupleurs respectivement pour l'interface avec la console de programmation et pour l'interface de pilotage des appareils périphériques, le coupleur d'interface de la console de programmation assurant l'injection en le langage commun à la console et à l'unité centrale du programme reçu de la console dans une des trois mémoires (4) de programme, de données ou d'affectations et par une pluralité d'uni tés de couplage (2) constituées chacune par un micro-processeur (13) susceptible de lire et écrire des informations dans l'unité centrale (1) avec un interprétetir traduisant le programme en langage unité centrale lu dans la mémoire centrale en un programme dans le langage de l'automate programmable ou calculateur extérieur auquel est reliée l'unité de couplage, programme qui est injecté dans la mémoire (12) de l'unité de couplage et traduisant les données en entrée reçues de l'automate programmable ou calculateur extérieur en le langage de l'unité centrale (1), l'interconnexion entre chaque unité de couplage (2) et l'unité centrale étant contrôlée par une horloge (9), chaque unité de couplage comportant une série de micro-interrupteurs (20) formant un coupleur configurable, un compteur (19) incrémentable par les impulsions horloges et un comparateur (18) comparant la teneur du compteur avec la configuration du coupleur pour, en situation d'identité, établir l'interconnexion entre l'unité de couplage (2) considérée et l'unité centrale (1). 2. Un dispositif d'interconnexion selon la revendication 1, caractérisé en ce qu'il est constitué par assemblage de cartes dont l'une (1) constitue l'unité centrale, d'autres cartes (2) constituant les unités de couplage. 3. Un dispositif d'interconnexion selon l'une quelconque des reven dications 1 et 2, caractérisé en ce que l'unité centrale (1) se présente sous forme d'une carte comportant au moins un micro-processeur (5) avec ses circuits périphériques, une mémoire programme assurant le pilotage des entrées/sorties de l'application finale, une mémoire données assurant le stockage des messages édités sur des terminaux par l'intermédiaire des cartes de couplage, une mémoire d'affectations assurant le stockage de textes sélectionnables en fonction de l'état d'une variable en entrée ou en sortie et une mémoire table des entrées/sorties recopiant et mettant en mémoire l'état des cartes d'entrée et de sortie, deux coupleurs avec interface l'un vers la console de programmation et l'autre vers les unités de couplage ou les appareils périphériques pilotés. 4. Un dispositif d'interconnexion selon l'une quelconque des revendications l à 3, caractérisé en ce que l'unité centrale (1) comporte son propre calculateur intégré. 5. Un dispositif d'interconnexion selon l'une quelconque des rever.dications 1 à 4, caractérisé en ce qu'une unité de couplage (2) se présente sous forme d'une carte comportant un micro-processeur (13 > avec ses circuits périphériques, une mémoire (12) et un circuit (16 à 28) de commande de la mise en communication avec l'unité centrale (1). 6. Un dispositif d'interconnexion selon la revendication 5, caractérisé en ce que le circuit de commande de la mise en communication avec l'unité centrale est commandé par une horloge (9), chaque unité de couplage étant affectée d'un numéro matérialisé par des micro-interrupteurs (20) soudés sur la carte de l'unité de couplage et comportant un compteur (19) incrémenté par les impulsions horloge avec un comparateur (18) comparant la teneur du comteur avec le numéro de l'unité et autorisant l'interconnexion sur le bus commun (6) au moment de la coïncidence, l'émission de l'horloge étant coupée pendant l'interconnexion.