Brevet FR2379859A1 — publié le 19780901

La présente invention concerne un procédé et un dispositif de mémorisation permanente sur bande magnétique des instructions contenues dans une mémoire vive associée à un clavier de programmation et à un séquenceur. La présente invention concerne plus particulièrement la mémorisation permanente sur bande magnétique des instructions contenues dans la mémoire vive d'un automate programmable. Dans l'industrie, on a actuellement couramment recours, pour surveiller et commanderdes processus de fabrication,à des automates. Un automate est un dispositif permettant, à partir d'informations recueillies sur des capteurs liés au processus, de commander des actionneurs selon des séquences prédéterminées. Par exemple, dans une usine de remplissage de bouteilles, quand un premier capteur a détecté que l'installation est en route, qu'un deuxième capteur a détecté qu'une bouteille se trouve sous un robinet de remplissage, un actionneur devra être déclenché pour com mander une électro-vanne permettant à un liquide d t d'être versé dans une bouteille.Ensuite, quand un détecteur de niveau aura détecté que la bouteille est pleine, un deuxième actionneur devra arrenter l'électro-vanne et un troisième actionneur devra mettre en route la chatne de circulation dé bouteilles pour que la bouteille suivante soit placée sous le robinet de remplissage. Ainsi, de façon générale, quand un certain nombre de conditions indiquées par l'état de divers capteurs sont remplies simultanément ou selon une certaine séquence, l'automate devra commander de façon appropriée un certain ensemble d'actionneurs. On dira également que l'automate doit fournir des sorties quand certaines conditions logiques existent entre les entrées.Les sorties seront des fonctions logiques des entrées. Ces fonctions logiques peuvent être réalisées comme cela est bien connu par des circuits électroniques câblés. Néanmoins, quand le nombre d'entrées et de sorties à manipuler devient grand et que les fonctions logiques à satisfaire deviennent complexes, il est plus simple, dans l'état actuel de la technique, d'utiliser des automates programmables qui constituent, en quelque sorte, de petits ordinateurs simples. De façon générale, un automate programmable tel que le Système de Contrôle Programmable 5rI" de la société dite Texas Instruments France comprend une interface d'entrée, une interface de sortie, un clavier de programmation et un séquenceur comprenant une mémoire vive ou mémoire à accès aléatoire. Le coeur de ce dispositif réside dans le séquenceur comprenant la mémoire vive.Le séquenceur permet d'abord d'introduire dans la mémoire, en des emplacements déterminés par sa propre loi de programmation, les instructions en provenance du clavier, c'est-à-dire les fonctions logiques que doit remplir l'automate programmable en relation avec les entrées (capteurs) et les sorties (actionneurs) Le séquenceur comprend également des moyens pour explorer, par l'intermédiaire de l'interface d'entrée, l'état des divers capteurs, le comparer à l'état des données contenues dans la mémoire vive, et pour explorer les-diverses sorties (actionneurs) et les commander si la comparaison entre les entrées et les données mémorisées indique que de telles actions sont utiles. Des vitesses courantes d'exploration de l'état de l'ensemble des entrées ou vitesses d'un cycle élémen- taire sont de l'ordre du centième de seconde.Pour plus de détails sur ces automates programmables on pourra, par exemple, se référer aux brochures et manuels de la société Texas Instruments. La présente invention concerne non pas l'exploration des capteurs et des actionneurs mais, plus particulièrement, la mémorisation des instructions dans la mémoire vive. Comme on l'a vu ci-dessus, lors de l'installation d'un automate programmable dans un équipement de fabrication, il faut d'abord introduire le programme, ou la série de fonctions logiques que l'on souhaite réaliser, dans la mémoire vive de l'appareil. On rappellera qu'une mémoire vive ou mémoire à accès aléatoire est une mémoire dans laquelle on peut procéder à des effacements et à des réenregistrements. L'un des inconvénients de ces mémoires est inhérent à leurs avantages. Du fait que l'on peut réenregistrer successivement plusieurs programmes distincts dans une rn#me mémoire, en effacant les précédents, les programmes préalablement enregistrés sont perdus et pour les réintroduire en mémoire il faut procéder à nouveau à une programmation à partir du clavier, ce qui est une opération relativement longue et minutieuse. D'autre part, une manoeuvre malencontreuse du clavier peut détruire le programme enregistré. Enfin, de telles mémoires vives doivent etre alimentées en permanence.Ainsi, une coupure de courant est destructrice pour le programme enregistré. Pour pallier ce dernier inconvénient, on associe aux mémoires vives des alimentations de secours, c'est-à-dire généralement des batteries, prolongeant la durée de vie des informations mémorisées en cas de coupure de courant. Il est toutefois bien clair que cette dernière solution n'est qu'un palliatif et ne préserve pas contre des coupures de courant longues ou des défauts d'alimentation des batteries de secours. En conséquence, on a recherché dans l'art antérieur à conserver sous forme permanente les instructions se trouvant dans les mémoires vives pour pouvoir les réinsérer simplement en cas d'effacement. Selon une première approche, on a utilisé des mémoires mortes couramment désignées dans la pratique par le signe PROM, abréviation de l'expression anglaise Programmable Read Only Mémory", signifiant en français1,mémoire programmable à lecture seule". De telles mémoires mortes ont sensiblement les myomes structures et vitesses d'accès que les mémoires vives. Il est donc relativement simple de transférer les instructions de l'une à l'autre. On peut même, lors de l'enregistrement, remplacer la mémoire vive par une mémoire morte. L'inconvénient de l'utilisation de telles mémoires mortes réside essentiellement dans leur coût. Le prix de ces mémoires est élevé et le programme qui s'y trouve est indestructible. Quand on souhaite modifier le programme ou le perfectionner, il faut utiliser un nouvel ensemble de mémoires mortes ; l'ensemble précédent n'étant plus réutilisable. En conséquence, on a cherché à enregistrer de façon permanente les informations contenues dans les mémoires vives sur des bandes magnétiques qui sont des supports très répandus et peu coûteux. Néanmoins, il faut alors prévoir des dispositifs particuliers d'interfaces entre les mémoires vives et le dispositif d'enregistrement à bande magnétique pour permettre la lecture/ écriture dans les deux sens étant donné, notamment, que les vitesses d'introduction de données dans les deux types de mémoires sont nettement distinctes. Une approche de l'art antérieur pour résoudre ce problème a été essentiellement de type logiciel ( software). Sans modifier les circuits de l'automate programmable existant, on a cherché à transférer les instructions existant dans la mémoire vive vers un dispositif d'enregistrement à bande magnétique en utilisant les signaux apparaissant aux bornes du séquenceur ou du clavier. Ainsi, le séquenceur est utilisé pour lire le contenu de la mémoire vive selon ses propres rythmes et séquences et le transmettre à la bande magnétique. Il est donc nécessaire de prévoir des circuits d'interface et des circuits tampons pour adapter la vitesse de lecture dans la mémoire vive au rythme du séquenceur et à la vitesse d'écriture maximale possible sur une bande magnétique.Il stavère de façon pratique que de tels circuits d'interface et tampons sont dans la pratique excessivement coateúx. La présente invention a notamment pour objet de résoudre le problème de la mémorisation permanente sur bande magnétique des données contenues dans une mémoire vive de façon matérielle (hardware) en modifiant les circuits propres de l'automate programmable et notamment en modifiant dans le circuit séquenceur la carte portant les composants individuels de la mémoire vive. Selon la présente invention, tous les fils de connexion liés à chacune des bornes des composants individuels de mémoire vive sont déconnectés ; au niveau de chacune de ces bornes, des interrupteurs statiques commandés sont insérés pour connecter ces bornes ou bien selon le montage initial ou bien vers un circuit de mémorisation sur bande magnétique ; ensuite,le contenu des composants de mémoire vive est lu à un rythme et selon une séquence déterminés par le circuit de mémorisation permanente et inscrit sur la bande magnétique ou bien, inversement, les données sur la bande magnétique sont lues à un rythme et selon une séquence déterminés par le circuit de mémorisation permanente et inscrites dans les mémoires vives. Il apparat dans la pratique qu' une telle approche ma- térielle,qui paratt a priori plus complexe que l'approche logicielle de l'art antérieur, conduit en fait à des appareils d'un coût nettement moins élevé. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite en relation avec les dessins joints dans lesquels La figure 1 représente de façon schématique un composant de mémoire vive ; et La figure 2 représente de façon schématique et sous forme de blocs un dispositif d'enregistrement sur bande magnétique, selon la présente invention. La figure 1 représente de façon schématique les entrées et les sorties d'un composant de mémoire vive classique. Un tel composant comprend des entrées d'adressage A, une entrée de données E, une sortie de données S, une entrée de mise en lecture ou en écriture RW, une entrée de validation globale CS, des bornes d'alimentation telles que VCC et M. Pour qu'un tel composant de mémoire fonctionne, il faut bien entendu d'abord qu'il soit alimenté puis qu'il soit validé par la fourniture d'un signal logique sur la borne CS. Ce composant de mémoire comprend un certain nombre de cases mémoire auxquelles on accède en appliquant des signaux logiques d'a dressage appropriés aux bornes d'adressage.DansDanso#t#figure, dix bornes d'adressage seulement AO à A9 ont été représentées, ce qui permet d'accéder à 1024 cases mémoires selon les signaux logiques appliqués à ces bornes (0000000001, 0000000010 1111111111), mais bien entendu, dans la pratique, un nombre plus petit ou plus grand de cases mémoire pourra exister et un nombre correspondant d'entrées d'adressage sera prévu. Une fois qu'un composant de la mémoire a été validé par entrée CS, qu'une case de ce composant a été déterminée par ses entrées d'adressage, un bit peut être inscrit dans cette case à partir de l'entrée E ou le bit se trouvant dans cette case peut être lu à partir de la sortie S en fonction du signal logique de validation de lecture/écriture appliqué à l'entrée RW. La mémoire vive d'un automate programmable comprend un certain nombre de composants mémoire tels que celui représenté en figure 1. Par exemple, l'automate programmable STI cité précédemment comprend 16 composants mémoire groupés en 4 lignes et 4 colonnes. Les diverses bornes des composants mémoire sont liées aux circuits du séquenceur d'une façon bien déterminée. Par exemple, dans un montage particulier, on peut envisager que toutes les bornes Al des 16 composants mémoire soient reliées individuellement à des bornes distinctes du séquenceur. Par contre, les 16 bornes A2 peuvent être interconnectées et reliées ensemble par un seul conducteur à une borne du séquenceur.Il en est de même pour les diverses entrées et sorties des composants mémoire Selon la présente invention, on prévoit de disposer un commutateur statique commandé au niveau de chacune des bornes des divers composants de mémoire pour pouvoir ou bien réétablir les connexions initiales ou bien connecter ces bornes à un circuit d'enregistrement sur bande magnétique. Une telle solution conduirait à prévoir un nombre de commutateurs statiques extrêmement important. Leur nombre est en pratique réduit du fait que, dans le montage initial, un certain nombre de bornes des divers composants sont interconnectées, et d'autre part que, dans la connexion au dispositif d'enregistrement sur bande magnétique il est également possible d'interconnecter un certain nombre de bornes de divers composants. On notera en particulier qu'il n'est pas nécessaire de prévoir de commutateurs au niveau des circuits d'alimentation des composants étant donné que ceux-ci doivent eAtre alimentés de la même façon,que l'on se trouve dans le mode normal ou dans le mode de conversation avec une bande magnétique. Un mode dtinterconnexion des bornes des divers composants de mémoire dans le cas où l'on se trouve dans le mode de conversa tison avec une bande magnétique, peut être le suivant - tous les bornes d'adressage se correspondant peuvent être interconnectées (c'est-à-dire les 16 bornes AO, les 16 bornes Al, etc...) ; - toutes les entrées E, toutes les sorties S, toutes les bornes de validation lecture/écriture RW peuvent être interconnectées ; - par contre, toutes les bornes de validation de composants CS sont maintenues indépendantes. Ainsi, pour établir une conversation entre la bande magnétique et une case mémoire d'un composant mémoire particulier, on choisira un code d'adresse qui sera envoyé à toutes les mémoires, un bit de positionnement en lecture ou écriture qui sera également envoyé à tous les composants mémoire , puis une seule des entrées de validation CS sera validée. Ainsi, seule l'entrée E ou la sortie S de la case mémoire du composant de mémoire validé communiquera avec la bande magnétique. Si certains des groupements de bornes adoptés pour le mode de conversation mémoire vive/bande magnétique existent déjà dans organisation initiale du séquenceur, le nombre de commutateurs statiques à insérer dans le circuit sera grandement réduit. Ainsi, toujours dans le cas où il existe 16 composants de mémoire, si les 16 entrées lecture/écriture des divers composants étaient déjà groupées initialement, un seul interrupteur statique commandé devra etre prévu au lieu de 16. Dans la pratique, il existe toujours au préalable de telles interconnexions dans l'organisation mémoire vive/séquenceur.Ainsi, en prenant toujours l'exemple dans lequel 16 composants de mémoire comprennent chacun 10 entrées d'adressage et quatre bornes E,S, CS et RW, il faudrait a priori prévoir 14 commutateurs par composant mémoire, c'est-à-dire un nombre total de 16 x 14 soit 224 commutateurs statiques.Dans le cas de l'automate programmable 5TI cité précédemment, il faut 16 commutateurs pour les bornes CS, 8 commutateurs seulement pour les bornes A2 à A9 qui sont groupées dans le montage initial, 2 x 4 commutateurs pour les bornes AO et Al qui sont groupées4 par 4 dans le montage initial, 4 commutateurs pour les bornes de validation lecture/écriture WR qui sont groupées initialement 4 par 4, 1 commutateur pour les entrées E qui sont initialement toutes groupées, 4 commutateurs pour les sorties S qui sont initialement groupées 4 par 4. Il suffit donc de 41 commutateurs statiques au lieu du chiffre théorique de 224. De tels commutateurs seront dans la pratique aisément réalisés au moyen de circuits logiques tels que des portes NON OU (NOR) d'une façon bien connue de l'homme de l'art. La figure 2 représente de façon schématique et sous forme de blocs un mode de connexion selon la présente invention entre un enregistreur à bande magnétique et des mémoires vives. Dans cette figure, la référence 10 désigne L'ensemble des composants de mémoire vive associés à 11 ensemble des commutateurs 11 par des liaisons 12, 13 et 14. En fait, ces liaisons ne constituent pas des conducteurs individuels mais des ensembles de conducteurs que l'on appellera ci-après canaux. La canal 12 est associé aux entrées E des composants de mémoire, le canal 13 à leur sortie S et le canal 14 sert à l'adressage et regroupe les conducteurs d'adressage proprement dits AO à A9 ainsi que les conducteurs de validation CS et les conducteurs de mise en lecture ou en écriture WR.L'ensemble des commutateurs 11 connecte les canaux 12, 13 et 14 ou bien à des canaux 15, 16 et 17 liés au séquenceur 18 ou bien à des canaux 21, 22 et 23 liés au circuit d'enregistrement sur bande magnétique, la sélection s'effectuant sous 11 action d'un moyen de commande appro prié 19. On considèrera ci-après le cas où les commutateurs 11 sont positionnés pour établir le mode de conversation entre les mémoires 10 et le circuit d'enregistrement sur bande magnétique. On considèrera ci-après uniquement le cas où les commutateurs effectuent la liaison avec la bande magnétique. Le circuit d'enregistrement sur bande magnétique comprend des compteurs d'adressage 24 ; une horloge pilo#?5;un codeur 26; un oscillateur 27 ; un magnétophone 28 comprenant une entrée 29, une sortie 30 et des moyens de défilement appropriés ; un amplificateur de sortie 31 ; des filtres sélectifs 32 et 33 ; un décodeur 34 ; et des commutateurs de mode 35 et 36 Dans le mode d'enregistrement sur magnétophone des informations contenues dans les composants de la mémoire 10, le magnétophone 28 est placé en enregistrement, les commutateurs de mode 35 et 36 sont positionnés pour connecter la sortie de L'horloge 25 aux compteurs 24 et à une première entrée du codeur 26.Dans le mode d'inscription sur les mémoires vives 10 du contenu de la bande magnétique du magnétophone 28, ce magnétophone est placé dans le mode lecture, le commutateur 35 relie la première sortie du décodeur 34 aux compteurs 24 et le commutateur de mode 36 interrompt la liaison entre l'horloge 25 et la première entrée du codeur 26. Ainsi, dans le mode d'inscription du contenu de la bande magnétique dans la mémoire 10, l'horloge 25 est déconnectée. Dans le mode d'enregistrement sur bande magnétique, on procède d'abord à une remise à zéro initiale des compteurs d'adres- sage 24. L'entrée de sélection de mode lecture/écriture RW (non représentée) des mémoires 10 reçoit un signal propre à placer ces mémoires dans le mode de lecture. A la suite de la réception des signaux d'horloge 25, les compteurs 24 effectuent un adressage séquentiel vers les diverses cases des composants de mémoires et vers les divers composants de mémoires. Ainsi, le contenu de chaque case mémoire se présente à la deuxième entrée du codeur 26 par le conducteur 22 en même temps que le signal en provenance de l'horloge 25.Le codeur 26 agit pour placer ltoscflllateur 27 dans un premier ou un deuxième mode, par exemple une oscillation à une première ou une deuxième fréquence selon que le bit sur le conducteur 22 est 1 ou 0. Ainsi, dans un mode de réalisation, L'oscillateur 27 fournit à sa sortie une succession de trains d'oscillations à ltune ou l'autre de deux fréquences, ces trains d'oscillations étant séparés par des blancs ou par des impulsions de synchronisation. La fréquence de l'horloge 25 est choisie pour être compatible avec le défilement du magnétophone 28. On pourra, par exemple,choisir une fréque9ced Dans le mode de réinsertion dans les mémoires 10 du contenu de la bande magnétique du magnétophone 28, les commutateurs de mode sont commutés de façon adéquate, les compteurs 24 sont remis à zéro, les mémoires vives sont placées dans le mode d'enregistrement et le magnétophone 28 dans le mode de lecture. La sortie 30 du magnétophone 28 est envoyée à un amplificateur 31 et, par l'intermédiaire de filtres sélectifs 32 et 33 sensibles aux fréquences des signaux enregistrés sur le magnétophone 28, à un décodeur 34. Le décodeur 34 restitue sur le conducteur 21 le bit correspondant à la fréquence du train d'oscillations sortant du magnétophone et sur sa première entrée un signal à la fréquence d'horloge pour incrémenter les compteurs 24 et envoyer séquentiellement les bits mémorisés vers les cases successives des composants de la mémoire 10 dans le même ordre que lors de L'enregistrement sur magnétophone. On notera la grande simplicité de ce mode de réalisation. En particulier, les diverses horloges ntont pas besoin d'avoir une grande précision étant donné que le signal d'horloge ne sert que pour l'enregistrement sur le magnétophone et que, pour la lecture, c'est ce signal enregistré qui est utilisé et non pas un signal de référence qui devrait tre particulièrement fidèle. On a exposé ci-dessus un procédé d'enregistrement du contenu d'une mémoire vive sur une bande de magnétophone par des moyens matériels (hardware), dans le cas particulier de l'application à un automate programmable. Il est néanmoins clair que la présente invention s'applique à tous dispositifs comprenant des mémoires vives et, en association avec celles-ci, un séquenceur pour commander le rythme et le mode d'adressage, de lecture et d'écriture dans ces mémoires. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de variantes et de modifications qui apparaitront à l'homme de l'art. #vENDICATI0NS 1 - Procédé de mémorisation sur bande magnétique des instructions contenues dans la mémoire vive d'un automate programmable préalablement chargée à partir d'un clavier par 15nter- médiaire d'un séquenceur possédant ses propres mode et rythme d'adressage, cette mémoire vive étant constituée d'un ensemble de composants de mémoire individuels munis chacun au moins de bornes d'entrée d'adressage, d'entrez de mise en lecture/écriture, dten- trée de validation/inhibition, d'entrée de données, et de sortie de données ; caractérisé en ce qu'il comprend les étapes suivantes a) décorlnecter les fils de connexion liés à chacune desdites bornes ou groupes de bornes b) insérer au niveau de chacune de ces bornes ou groupes de bornes des interrupteurs statiques commandés pour connecter ces bornes ou bien selon le montage initial ou bien vers un circuit de mémorisation à bande magnétique ; c) adresser séquentiellement les diverses cases des composants de la mémoire vive à un rythme et selon une séquence déterminés par le circuit de mémorisation sur bande magnétique ; et d) procéder à une conversation, c'est-à-dire un enregistrement ou une lecture, entre les mémoires vives et la bande magnétique en fonction de l'adressage défini dans ltétape c). 2 - Procédé selon la revendication 1, caractérisé en ce que, quand les commutateurs statiques sont dans le mode de conversation mémoire vive/bande magnétique, les entrées d'adressage correspondantes des divers composants de mémoire compris dans la mémoire vive sont interconnectées ainsi que les bornes d'entrée, de sortie et de validation lecture/écriture, tandis que les bornes de validation des composants individuels sont maintenues indépen- dantes. 3 - Procédé selon l'une des ravendicationsi ou 2 , caractérisé en ce que les bits eontenus ins les diverses cases de mémoire vive sont transcrits sur la bande magnétique sous forme de trains d'oscillationsd 'une première ou d'une deuxième fréquence. 4 - Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'un signal représentatif de la fréquence d'enregistrement est mémorisé sur la bande magnétique et est utilisé pour piloter l'adressage lorsque l'on se trouve dans le mode d'inscription dans les mémoires à partir de la bande magnétique. 5 - Dispositif de mémorisation sur bande magnétique des instructions contenues dans la mémoire vive d'un automate programmable préalablement chargée à partir d'un clavier par 11in termédiaire d'un séquenceur selon ses propres mode et rythme d'adressage, cette mémoire vive étant constituée d'un ensemble de composants individuels de mémoire munis chacun au moins de bornes d'entrée d'adressage, d'entrée de mise en lecture/écriture, d'entrée de validation/irihibition, d'entrée de données, et de sortie de données, caractérisé en ce qu'il comprend - un premier ensemble de commutateurs (11) connectés aux bornes des composants individuels de la mémoire (10) pour la relier ou bien à l'automate programmable ou bien au circuit d'enregistrement sur bande magnétique ;; - un moyen d'horloge (25) pour adresser séquentiellement par l'intermédiaire de compteurs (24) les cases élémentaires de la mémoire vive (10) dans le mode d'enregistrement sur la bande ma- gnétique ; - un moyen de codage (26) pour transcrire sur la bande magnétique, au rythme de l'horloge, les bits contenus dans les cases mémoire successives ; - un moyen de décodage (34) pour transformer sous forme de bits successifs et au rythme du signal d'horloge inscrit sur la bande magnétique les informations contenues dans cette bande, le signal d'horloge restauré commandant alors les compteurs (24) pour effectuer l'adressage séquentiel des composants de la mémoire vive (10). 6 - Dispositif selon la revendication 5, caractérisé en ce qu'il comprend, en outre, un oscillateur (27) pouvant osciller à une première ou à une seconde fréquence en fonction de signaux de commande qui lui sont appliqués par le moyen de codage (26).