Brevet FR2312061A1 — publié le 19761217

La présente invention a pour objet un dispositif de commande et/ou de réglage de déroulements de processus. L'on connait déjà, par la publication : "Siemens-Zeitschrift", 1974 > page 657, un système de commande librement programmable qui fonctionne sur le mode binaire, c'est-à-dire dans lequel les instructions délivrées à la périphérie ainsi que les messages qui en proviennent ne possèdent chaque fois qu'un contenu d'information de 1 bit. Les appareils périphériques peuvent ainsi être interrogés simplement par l'envoi de leur adresse sur une ligne collectrice, ou ces appareils périphériques délivrent un message du fait de l'introduction de leurs adresses. De tels systèmes présentent l'avantage d'être facilement programables et de posséder en raison de la simplicité des instructions une vitesse de travail élevée.Du fait qu'ils sont dimensionnés pour la solution de combinaisons binaires, leur inconvénient tient essentiellement au fait que l'exécution d'instructions de fonctions numériques, telles par exemple que des commandes numériques, des fonctions de tenue de journal, de saisie de valeurs de mesure, n'est au mieux possible que de façon limitée. De telles fonctions de caractère numérique peuvent être exécutées avec des installations de traitement des données travaillant mot par mot, telles par exemple que des calculateurs de processus du genre de ceux décrita dans la publication : "Siemens-Zeitschrift", 1974, page 675. Cee calculateurs pr*- sentent toutefois, lorsqu'ils n'ont à traiter que des combinaisons binaires, l'inconvénient d'un surcroit de dépense en matériel et en prograrmation, ainsi que d'une moindre vitesse de travail. La présente invention se donne pour but de concevoir un dispositif qui réunisse les avantages des installations de traitement de données fonc tionnant sur le mode binaire et ceux des installations travaillant sur le mode numérique. Ce but est atteint, conformément à l'invention, grâce au fait que des processeurs qui reçoivent d'appareils périphériques des données d'un contenu d'information différent, qui en effectuent le traitement sur la base d'un programme, et qui les délivrent à des appareils périphériques, sont reliés l'un à l'autre par l'intermédiaire d'une mémoire de programme dans laquelle est mé- morisé le programme du déroulement de processus qui est constitué d'instructions associées auxdits processeurs et à laquelle un coordonnateur donne successivement accès à ces processeurs. Les processeurs sont ainsi couplés par l'intermédiaire d'une mémoire de programme qui représente une zone d'information commune à tous les processeurs. Entre ces processeurs existe une séparation nette en matière de programme, et les divers processeurs peuvent ainsi travailler de façon pratiquement indépendante l'un de l'autre dans le temps. Une forme de réalisation avantageuse de l'invention comporte un processeur de mots qui reçoit des appareils périphériques les données possédant un contenu d'information de plusieurs bits (mots), qui en effectue le traitement et qui les délivre , ainsi qu'un processeur de bits qui reçoit des appareils périphériques les données d'un contenu d'information de 1 bit, qui en effectue le traitement et qui les délivre aux appareils périphériques. Dans la mémoire de programme sont contenues les instructions de mots pour le processeur de mots et les instructions de bits pour le processeur de bits. Dans la mémoire sont par conséquent contenues des instructions pour le processeur de bits ainsi que pour le processeur de mots. Avec la partie du dispositif fonctionnant bit par bit, peuvent Outre exécutées des fonctions pour lesquelles seule doit être transmise une information de 1 bit. Des fonctions numériques sont par contre exécutées par la partie du dispositif qui contient le processeur de mots. Dans cette partie sont ainsi transmises les informations relatives aux fonctions impliquant plusieurs bits. De manière correspondante, les instructions destinées à l'exécution de la première fonction précitée peuvent être codées de telle manière qu'elles soient interprétables par le processeur de bits et que leur exécution puisse être provoquée par ce dernier.Il est ainsi possible d'utiliser à plein de cette manière la vitesse de travail élevée du processeur de bits, puisqu'aucune conversion de code n'est nécessaire. Une telle installation présente l'avantage qu'un dispositif fonctionnant bit par bit est complété par des appareils périphériques d'un calculateur numérique fonctionnant mot par mot. Il est alors possible de s'accommoder des systèmes d'exploitation et des programmes standard du calculateur. Âvec le processeur de mots peuvent être résolues des taches complexes quelconques; il est également possible d'effectuer un couplage avec des calculateurs de rang supérieur. Entre la commande binaire et la commande numérique s'établit ainsi une nette délimitation en matière de programme, et les processeurs de bits et de mots peuvent ainsi travailler de façon temporellement indépendante l'un de l'autre. Les instructions destinées à des fonctions numériques peuvent être codées de manière correspondante à ce qui est fait pour le processeur de bits, ce qui présente toutefois l'inconvénient que, lors de l'exécution de ces instructions, il faut procédçr à une conversion de codage dans le langage du processeur de mots. Pour l'éviter, les instructions destinées au processeur de mots doivent êtré codées d'une façon qui soit adaptée à ce der nier. Indépenda ent du codage, il y a lieu de distinguer entre les instructions de bits et les instructions de mots, c'est-à-dire entre les instructioeis qu'exécute le processeur de bits et celles qu'exécute le processeur de iota. Ces instructions peuvent être enregistrées dans la mémoire sous forme laék gée selon l'ordre dans lequel elles doivent entre traitées, mais elles peuvent être également entreposées dans des cellules de mémoire distinctes. Il n'est pas nécessaire que des proraoOes complets soient contenus dans la mémoire, mais il suffit au contraire que soient contenus des caractères d'identification pour certains sous-progralaes, lesquels sont Asorisés dans d'autres mémoires associées aux divers processeurs. Après que soit apparu un tel caractère d' identification dans le programme, le processeur concerné traite le sous-programme correspondant. Parmi les processeurs, il n'y en a toujours qu'un seul qui ait accès à la mémoire. Dans le cas le plus simple, les temps d'accès sont identiques et constants. On peut toutefois également affecter aux divers processeurs des temps d'accès différents, correspondant par exemple à leurs temps de travail. En outre, ces temps peuvent varier pendant le déroulement du programme. le cas échéant, il peut être avantageux de ne donner accès à la mémoire à un processeur que lorsqu'il a achevé l'exécution de certaines fonctions internes, ou encore lorsqu'un autre processeur est parvenu au terme d'un sous-prograohe contenu dans la mémoire co-une. L'invention sera à présent décrite plus en détail à propos d'une forme de réalisation, donnée à simple titre d'exemple illustratif, et avec référence aux dessins ci-annexés, dans lesquels La figure 1 reproduit le schéma de principe d'une forme de réalisation selon l'invention; et les figures 2 et 3 illustrent l'agencement des instructions dans la mémoire. Sur la figure 1 des dessins est désigné par le symbole WP le processeur de mots d'une installation de traitement des données à fonctionnement numérique, processeur qui est raccordé par l'intermédiaire d'interfaces numériques DS à des appareils périphériques usuels pour un calculateur de processus, c'est-à-dire un périphérique standard STP tel par exemple qu'une imprimante sur feuille, qu'un appareil de visualisation, qu'une mémoire à bande, etc., un périphérique de processus PRP tel par exemple qu'un multiplexeur, qu'un dispositif d'introduction et d'extraction numérique et analogique, et éventuellement un autre calculateur BER qui peut être par exemple constitué par un calculateur de rang supérieur.Dans la forme de réalisation représentée n'est montrée qu' une seule interface numérique DS, à laquelle sont raccordés ainsi qu'à une ligne collectrice le processeur de mots, les appareils périphériques, etc. Sont en outre reliés à cette interface numérique une mémoire de programme PSP et un coordonnateur KOR. Ce dernier coopère avec un processeur de bits HP, lequel est relié par l'intermédiaire d'une interface de bits BS aux unités constitutives d'un système de commande binaire. Ces unités peuvent être par exemple constituées par une unité binaire d'introduction BE, ou par une nnité binaire d'extraction hA ou encore par une mémoire BSP pour signaux binaires. Cette interface ne peut servir qu'à la transmission d'informations comportant chacune 1 bit.Tandis que dans le cas de l'interface numérique D5 peuvent être transmises en plus des adresses des appareils périphériques interrogés ou émetteurs des données, telles par exemple que des valeura de mesure, l'envoi d'une adresse sur l'interface binaire DS constitue en soi-même une information, ce qui revient à dire que l'unité possédant l'adresse délivrée à l'interface binaire BS a une fonction déterminée à exécuter. Si l'une de ces unités fournit son adresse à l'interface de bits, ceci représente un message déterminé. il est facile dt? comprendre que l'exécution d'une instruction par l'intermédiaire de l'interface de bits ES s'effectue de façon beaucoup plus rapide que par l'intermédiaire de l'interface numérique DS.C'est pourquoi l'on s'efforcera, autant que possible, d'assurer l'exécution d'instructions de commande et des messages par l'interlé- diaire de l'interface de bits et au moyen du processeur de bits BP. Si ceci s' avère trop coûteux, par exemple lors de l'impression d'un journal, de la commande de sorties numériques, etc., on emploiera alors le processeur de mots WP et les appareils périphériques numériques qui sont adaptés à ce dernier. De façon avantageuse, les longueurs de mot du processeur de bits et du processeur de mots sont identiques. Dans une mémoire de mots WSP sont enregistrées les données pour le processeur de mots WP et dans une mémoire de bits les données pour le processeur de bits. Le programme de travail est enregistré dans la mémoire de programme PSP. Le coordonnateur KOR donne alternativement accès à la mémoire au processeur de bits HP et au processeur de mots WP. En outre, il peut adapter les signaux de la partie binaire de l'installation à ceux de sa partie numérique, et réciproquement. il n'est pas absolument nécessaire que le processeur de bits soit relié par l'intermédiaire du coordonnateur KOR à l'interface numérique DS; il peut également coopérer directement avec l'interface numérique, auquel cas il commande alors par l'intermédiaire de celle-ci l'accès à la mémoire. On décrira à présent ci-dessous diverses possibilités d'entreposage du programme dans la mémoire de programme PSP ainsi que de son traitement.Sur les deux figures 2 et 3 des dessins sont représentées chaque fois des cellules de la mémoire PSP, dans lesquelles est enregistré le programme. Les instructions de bits, lesquelles doivent être exécutées par le processeur de bits, y sont désignées par le symbole b , et les instructions de mots à exécuter par le processeur de mots WP par le symbole wi. Selon la figure 2, les éléments numériques de programme wl .... w4 ainsi que les éléments binaires de programme bi b4 sont enregistrés de façon mélangée dans la mémoire. Afin de faciliter la programmation, les ins trLirtions de mots peuvent être codées d'une façon correspondante à celles de bits. Ceci présente sans doute l'inconvénient que le processeur de mots doit, avant l'exécution d'une instruction, interpréter préalablement celle-ci, mais il est par contre possible d'enregistrer le programme de manière simple comme ceci est le cas dans les installations fonctionnant bit par bit. il est en outre possible d'utiliser à plein la vitesse de travail élevée du processeur de bits et des appareils périphériques qui y sont raccordés.Dans l'exemple de la figure 2, le processeur de bits traite tout d'abord les instructions de bits bl et b2 et les exécute. L'instruction suivante wl est une instruction de mots, laquelle est reconnue comme telle par le coordonnateur. Ce dernier arrête le processeur de bits et déclenche l'intervention du processeur de mots, lequel traite à présent les instructions de mots wl ... w4. Ensuite, le coordonnateur donne ordre au processeur de bits de poursuivre le traitement du programme avec les instructions b3 et b4. Le coordonnateur peut, bien entendu, former également partie intégrante du processeur de bits ou du processeur de mots. Un tel agencement des instructions dans la mémoire présente l'avantage que la programmation est particulièrement simple, puisqu'aucune zone d'information spéciale n'est nécessaire i sein de la mémoire entre le processeur de bits et le processeur de mots. il est dans ces conditions facile de modifier le programme. La figure 3 illustre un agencement d' instructions dans la mémoire, selon lequel à l'opposé de l'agencement de la figure 1, les éléments numériques et les éléments binaires du programme sont enregistrés dans des cases de mémoires séparées. Les éléments de programme ainsi séparés les uns des autres sont reliés entre eux par l'intermédiaire d'instructions de marquage. Le programme se déroule par exemple de la manière suivante Le processeur de bits traite l'une après l'autre les instructions bl et b2. L'instruction b (m7s) indique que, lorsque l'instruction b2 aboutit à un résultat déterminé, un signal de marquage 7 doit être enregistré. Pour ce signal de marquage est prévue une case de mémoire appropriée M. Dans la septième cellule de cette case est par conséquent inscrit un signal. Du fait que dans l'exemple de réalisation considéré une cellule de la mémoire PSP contient cinq places, ceci se fait dans la seconde place de la seconde cellule de la case M. Ensuite, le processeur de bits peut exécuter les instructions de bits b3, b4, etc., ceci jusqu'à la fin du programme b (pe).Le processeur de mots recherche pendant ce temps les signaux de marquage dans la case M, en utilisant à cette fin le programme désigné par le symbole WA. Avec 1 'instruc- tion w (mil), il recherche si dans la première place de la première cellule de la case M est enregistré un signal de marquage. Si ceci n'est pas le cas, il exécute alors l'instruction w (m2), et ainsi de suite. Avec l'instruction w (m7), il interroge la septième cellule. C'est là qu'est enregistré un signal de marquage, en sorte que, sur la base d'une instruction de saut w (SPW7), il saute à la cellule de mémoire W7 dans laquelle commence un sous-programme déterminé avec les instructions wl, w2 .... Avec la dernière instruction w (m71), le signal de marquage est effacé et l'instruction w (m8) est exécutée.Le processeur de mots répète cycliquement la recherche de signaux de marquage dans la case de mémoire M. C'est par l'intermédiaire de la place concernée de la case M, dans laquelle sont enregistrés les signaux de marquage, qu'est obtenue une association des divers éléments du programme. Bu fait que les instructions ne sont enregistrées que dans une seule mémoire, ce n'est que soit le processeur de mots soit le processeur de bits qui peut y avoir accès. De façon avantageuse, le coordonnateur peut attribuer aux deux processeurs des temps d'accès déterminés, par exemple de deux microsecondes. Ceci ne signifie pas que l'un des processeurs se trouve arrêté pendant que l'autre a accès à la mémoire. Par exemple, le processeur de mots peut, pendant que le processeur de bits extrait des instructions de bits hors de la mémoire PSP, actionner une imprimante sur bande ou sur feuille, ou encore recevoir une valeur de mesure d'un convertisseur analogique-numérique. Les deux processeurs peuvent encore travailler de façon plus indépendante si par exemple le processeur de mots possède une mémoire de programme propre, dans laquelle se trouvent enregistrées les instructions de mots désignées sur la figure 3 par les symboles w . Le processeur de mots n'a plus alors besoin d'accéder à la mémoire commune pour l'interrogation et pour l'extinction des signaux de marquage. il le fera non pas bit par bit, ainsi que cela est également possible dans le cas du déroulement de programme décrit cidessus, mais il interrogera au contraire chaque fois la totalité d'une cellule de mémoire de la case M et recherchera de façon interne la présence de signaux de marquage. Dans les exemples jusqu'à présent décrits, les instructions de mots sont codées de façon correspondante aux instructions de bita. Ceci présente, ainsi que déjà indiqué, l'inconvénient qu'avant l'exécution d'une instruction de mots, celle-ci doit être préalablement interprétée par le processeur de mots. il est toutefois également possible de coder les instructions de mots d'une manière adaptée au processeur de mots.Ceci présente sans doute l'inconvénient d'alourdir le programme de conduite, du fait qu'il doit insérer, attribuer et exploiter des signaux de marquage, mais a pour conséquence en contre-partie un raccourcissement du temps de traitement des instructions de mots, puisque le temps d'interprétation de ces instructions disparait. T ces cas également, les instructions de mots et les instructions de bits peuvent être enregistrées sous forme mélangée dans la mémoire ou dans des cases spéciales de celle-ci.Les instructions peuvent être introduites dans l'or- dre de succession du programme et enregistrées de façon automatique à l'aide du codeur dans les diverses cases de la mémoire. I1 est évidement aussi possible d'introduire séparément des instructions de mots et des instructions de bits et de les enregistrer dans des cases appropriées de la mémoire. Aux lieu et place du mode d'interrogation des signaux de marque par l'intermédiaire de la liste de sautsWA décrit à propos de la figure 3, les programmes numériques ou éléments de programme numérique peuvent être constitués de telle façon qu'ils commencent toujours avec une instruction d'interrogation de marquage et se termnsntavec une instruction d'effacement du signal de marquage. Ensuite est déterminée l'adresse de la partie suivante du programme, laquelle est traitée pour autant que le signal de marqus- ge concerné soit enregistré, ou bien, lorsque ce signal de marquage est absent, les instructions de mots concernées sont sautées. REVENDICATIONS 1. Dispositif de commande et/ou de réglage de déroulements de processus, caractérisé par le fait que des processeurs (WP; BP) qui reçoivent d'appareils périphériques (WSP, STP, PRP, TUER, BE) des données d'un contenu d'information différent, qui en effectuent le traitement sur la base d'un programme, et qui les délivrent à des appareils périphériques (WSP, STP, PRP, UER, BA), sont reliés l'un à l'autre par l'intermédiaire d'une mémoire de programne (PSP) dans laquelle est mémorisé le programme du déroulement de processus qui est constitué d'instructions associées auxdits processeurs (WP, BP) et à laquelle un coordonnateur (KOR) donne successivement accès à ces processeurs. 2. Dispositif selon la revendication 1, caractérisé par le fait que sont prévus un processeur de mots (WP) qui reçoit des appareils périphériques (STP, PRP, UER, WSP) des données d'un contenu d'information de plusieurs bits (mots), qui les traite et qui les délivre. , et un processeur de bits qui reçoit des appareils périphériques (BE, WSP, BSP) des données d'un contenu d'information de 1 bit, qui les traite et qui les délivre aux appareils périphériques (BA, WSP, BSP), et que dans la mémoire de programme (PSP) sont contenues des instructions de mots (wi) pour le processeur de mots (WP) et des instructions de bits (bi) pour le processeur de bits (BP). Dispositif selon l'une des revendications 1 ou 2, caractérisé par le fait que les instructions (b., w ) pour les processeurs (BP, WP) sont enre i. i gistrées sous forme mélangée dans la mémoire de programme (PSP) selon l'ordre du déroulement du programme. 4. Dispositif selon l'une des revendications 1 ou 2, caractérisé par le fait que les instructions (wi, b ) qui sont à exécuter par les processeurs (WP, BP) sont enregistrées dans des cases (B, W) de la mémoire de programme (PSP) qui sont attribuées aux processeurs respectifs. 5. Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé par le fait qu'un processeur, de préférence le processeur de bits (BP), lit pendant le temps d'accès qui lui est attribué à la mémoire de programme (PSP) les instructions (xi, bi) qui y sont mémorisées, exécute en cas de présence d'une instruction (bi) qui lui est associée cette instruction, et en cas de présence d'une instruction devant être exécutée par l'autre processeur (WP) enregistre un signal de marquage dans une case (M) de la mémoire de programme qui est attribuée à ce processeur, lequel signal est interrogé par l'autre processeur (WP) pendant l'un des temps d'accès successifs qui sont attribués à cet autre processeur, et un sous-programme associé à ce signal de marquage é tant alors exécuté. 6. Dispositif selon la revendication 5, caractérisé par le fait que le signal de marquage possède une longueur de 1 bit, ce signal de marquage étant enregistré dans une place d'une cellule de la case (M) de la mémoire de programme qui est désignée par une instruction, et que le processeur (WP) interrogeant ladite case de mémoire (M) exécute un sous-programme déterminé en fonction de la place dans laquelle est enregistré un signal de marquage. 7. Dispositif selon l'une quelconque des revendications 1 à 6, caractérisé par le fait que le coordonnateur (FOR) donne chaque fois accès à la mémoire de programme (PSP) à celui des processeurs qui doit exécuter l'instruction devant être traitée à cet instant. 8. Dispositif selon l'une quelconque des revendications 1 à 6, caractérisé par le fait que le coordonnateur (KOR) attribue cycliquement leurs temps d'accès aux processeurs (BP, WP). 9. Dispositif selon la revendication 8, caractérisé par le fait que les temps d'accès sont constants. 10. Dispositif selon l'une des revendications 8 ou 9, caractérisé par le fait que les temps d'accès sont identiques.