FR 2102070 A1 19720407 FR 7126974 A 19710723 71 26974 t 2102070 La présente invention est relative à la commande numérique des éléments mobiles de machines telles que ï perceuses j fraiseuses ; machines de projets ; traceuses ; tours et autres et plus particulièrement à une commande numérique perfectionnée pour de 5 telles machines incorporant un calculateur numérique programmable» Des commandes numériques pour des machines de ce genre sont très bien connues pour lire et exécuter des données préarrangées qui définissent des déplacements successifs des éléments mobiles commandés. Par exemple on connaît un dispositif de com-10 mande pour une fraiseuse pluriaxiale travaillant en liaison avec un programme enregistré sur bande de papier ou de plastique. Les systèmes de commande de l'art antérieur répondent au programme d'une façon déterminée pour amener les données définis sant l'élément, c'est-à-dire les déplacements de l'outil par rap-15 port à l'ouvrage, à s'écouler en direction du dispositif de commande final, en général un servomécanisme. La réponse du système de commande aux données du programme est déterminée sensiblement exclusivement par la réalisation de la machine et la position. Ceci est dû au fait que le chemin de chaque signal est déterminé de 20 façon intangible. Par conséquent pour obtenir une modification de la réponse du système à des données ou pour adapter une commande d'une machine à une autre nécessite en général des modifications substantielles dans la réalisation de la machine. Une telle révision est ordinairement coûteuse et prend beaucoup de temps. 25 La présente invention permet d'éviter ces inconvénients. Suivant la présente invention on réalise une commande numérique dans laquelle les données définissant les déplacements des éléments commandés, c'est-à-dire les données du programme sont amenées à s'écouler d'une manière systématique jusqu'aux mécanis-30 mes commandés mais dans laquelle les réponses du système et l'intro duction de données périphériques peuvent être modifiées facilement» On parvient à ce résultat en général au moyen d'un calculateur numérique programmable pour contrôler l'écoulement des données entre le programme et le mécanisme terminal de commande. Le cal-35 culateur est programmable de façon à réaliser les opérations de transfert de données suivant la lecture du programme et le balayage de commutateurs fonctionnant comme des entrées pour le calculateur suivant un programme de commande qui est sujet à modification en relation avec une application particulière. 40 Dans un mode de réalisation particulier, toutes les don 71 26974 2 2102070 nées définissant les caractéristiques des déplacements des éléments commandés s'écoulent à travers le calculateur si bien que le programme de la machine est exécuté en accord avec le programme de commande du calculateur. Ceci comprend le transfert de données à par-5 tir de et vers des dispositifs périphériques tels que î un lecteur de bande : des interpolateurs; des commutateurs de baie suivant un ordre de priorité qui place des transferts de données et des tâches d'administration à des niveaux plus ou moins élevés» En général on obtient ce résultat en faisant fonctionner le calculateur dans un 10 mode interrompu dans lequel certains dispositifs périphériques qui prennent part au transfert des données sont reconnus et servis suivant un ordre de priorité prédéterminé. Suivant un mode de réalisation préféré, certains dispositifs périphériques appelés ci-après interrupteurs sont pourvus 15 de la faculté de produire un signal d'interruption lorsque survient le besoin d'écouler des données vers ou en provenance d'un tel dispositif. Ces signaux d'interruption sont transmis au calculateur sous une forme anonyme, c'est-à-dire que le signal d'interruption n'identifie pas le dispositif duquel il émane. Le calculateur ré-20 pond a un signal d'interruption en interrogeant les dispositifs capables d1 émettre un tel signal. Cette interrogation se fait suivant l'ordre de priorité suivant lequel les dispositifs interrupteurs doivent être servis et elle progresse jusqu'à l'identification de l'émetteur du signal d'interruption ayant la priorité la 25 plus élevée. Ceci fait, le calculateur met en fonctionnement une sous-routine définie dans le programme de commande pour exécuter les opérations nécessaires au déplacement des données jusqu'aux ' servomécanismes pour produire le résultat final escompté. Une sous-routine terminée, la commande de fonctionnement du calculateur re-30 tourne au programme de commande qui détermine s'il existe encore une condition de signal anonyme d'interruption.. Dans la négative, les sous-routines non encore introduites par un signal d'interruption le sont suivant un ordre de priorité jusqu'à ce que le fonctionnement du calculateur descende jusqu'à la tâche de priorité la 35 plus faible -telle que la recherche d'un contact sans possibilité d'interruption. Suivant une autre caractéristique de l'invention, la tâche de priorité la plus basse du dispositif de commande est l'exploration des dispositifs d'entrée de données sous la forme de com-40 mutateurs avec maintien de position tels que interrupteurs à près- 71 26974 3 2102070 sion et interrupteurs à roue manipulée avec le pouce, et autres dispositifs à contact dur, dont les données sont transférées à la mémoire du calculateur pour référence ou transfert ultérieurs. Le fonctionnement du système descend souvent jusqu'à ce dernier ni— 5 veau de priorité et peut alors y fonctionner au ralenti pour une courte période jusqu'à ce qu'un signal d'interruption soit reçu de tout autre dispositif. Les données des commutateurs avec maintien de position sont transférées dançiine mémoire, par exemple, pour être disponibles en tant que références pour le calculateur 10 pour lui permettre d'interpréter et d'aiguiller des données supplémentaires en provenance d'autres dispositifs d'entrée. Par exemple un commutateur tournant à l'aide du seul pouce peut être placé dans la position correspondant à l'axé des X pour indiquer que les informations numériques à venir introduites à l'aide de 15 boutons poussoirs doivent être utilisées pour diriger manuellement seulement les composants mobiles relatifs à l'axe des X. Le calculateur emmagasine les données du commutateur manipulé par le pouce et s'y réfère ensuite pour déterminer l'adresse ou la destination des données numériques. 20 Suivant l'invention, les boutons poussoirs et autres types de commutateurs à position temporaire, c'est-à-dire ceux qui s'ouvrent lorsque la pression manuelle cesse, sont équipés de la possibilité d'interruption. Ainsi 1'opérateur est assuré que les données entrées par les commutateurs ont été introduites dans 25 le calculateur. Suivant une autre caractéristique de l'invention tous les commutateurs et dispositifs d'entrée de données à contacts durs sont groupés en vue d'une exploration séquentielle au moyen de signaux engendrés par le calculateur. Les groupes sont constitués 30 de façon à permettre 1*identification de chaque commutateur dans un groupe avec une ligne individuelle de données dans le cable d'entrée du calculateur de façon à permettre un transfert avec identification fixée, en parallèle, d'éléments d'information à partir de plusieurs commutateurs sur la base d'une opération de 35 lecture standard. Supposant un câble d'entrée comportant huit conducteurs en parallèle pour transférer huit éléments d'information en parallèle, les commutateurs sont disposés par groupes de huit, chaque groupe étant traité comme une source unique dont les données sont transmises suivant une séquence fixe au moyen d'impulsions 40 d'horloge et d'une logique d'entrée. Ceci présenté l'avantage de 71 26974 4 2102070 réduire le nombre de circuits de conversion du niveau des signaux d'entrée, décrits ci-après comme "récepteurs de ligne", et qui sont nécessaires en tant qu'interfaces entre les dispositifs d'entrée et le calculateur et qui établissent également l'identité des com-5 mutateurs par l'adresse du groupe interrupteur et le numéro de la ligne d'entrée. Suivant une autre caractéristique de l'invention tous les commutateurs temporaires et à maintien de position sont reliés comme dispositifs d'entrée au calculateur numérique et permettent le 10 transfert de données à sa mémoire. La mémoire est de préférence du type non volatile tel que l'emmagasinage soit semi-permanent, c'est-à-dire stable jusqu'à réinscription. Par conséquent les données d'entrée qui affectent l'exécution du programme peuvent être appelées simplement en introduisant le code correspondant au moyen 15 de commutateurs temporaires et à maintien de position. Par exemple les décentrages d'outils, qui sont normalement introduits par un grand nombre de commutateurs du type à manipulation par le pouce, peuvent être introduits en mémoire simplement en plaçant un commutateur à maintien de position à la position d'axe désirée et 20 en choisissant dans le code numérique le chiffre correspondant au décentrage au moyen de commutateurs temporaires sur un clavier. Une fois cette donnée entrée en mémoire, les commutateurs peuvent être restaurés et utilisés pour introduire d'autres données tandis que dans les dispositifs non programmables de l'art antérieur, de 25 tels commutateurs d'introduction de données de décalage doivent rester enclanchés aussi longtemps que l'on désire qu'il soit tenu compte du décalage. Suivant une autre caractéristique de l'invention, un compte par accumulation de la position totale commandée de l'élé-30 ment mobile suivant chaque axe de déplacement qui peut être contrôlé est maintenu dans un état sensiblement courant mais sans consacrer de temps du calculateur à contrôler cette donnée. On parvient à ce résultat en utilisant un emmagasinage interne au calculateur pour le compte total commandé ainsi que des compteurs de 35 relativement faible capacité extérieurs au calculateur et qui sont connectés pour recevoir directement les signaux de sortie des in-terpolateurs. Les compteurs externes sont vidés périodiquement dans la position d'emmagasinage du calculateur par une impulsion d'horloge dont la fréqjence est suffisamment élevée pour empêcher 40 tout débordement des compteurs externes mais en même temps suffi— ?1 26974 5 2102070 s arriment basse pour permettre le fonctionnement de l'horloge sur la base d'un dispositif interrupteur et pour maintenir 18affichage des données d'une façon sensiblement continue0 Une autre caractéristique de 1*invention réside dans la 5 standardisation de 111 appareillage de contrôle de la vitesse de dé-, .sans perte de la possibiliv-e d'un format de vitesse de depla-placement/variablee On parvient en général à ce résultat en pré- eenffit voyant une ou plusieurs sous routines de vitesse de déplacement qui peuvent être exécutées par le calculateur en réponse au chiffre de vitesse de déplacement pour fournir les caractéristiques recher— 10 chées de commande de vitesse de déplacement0 Suivant le mode de réalisation préféré un chiffre de vitesse de déplacement commandé à partir du programme sert d8entrée à une sous-routine dans le programme de commande pour fournir un nombre de vitesse de déplacement en accord avec le format désirés c'est-à-dire directement en 15 centimètres par minute » Le chiffre de vitesse de déplacement calculé est utilisé à produire des impulsions à une cadence proportionnelle à ce nombre,, les impulsions étant appliquées en tant que commande d'addition à des interpolâteurs classiques de type DDA (analyseurs numériques différentiels) simultanément avec un nombre 20 binaire entrant. Une autre caractéristique de l'invention réside dans le fait que certaines pannes de 1* appareillage ou du fonctionnement en liaison avec la programmation peuvent être détectées très rapidement grâce à un compteur qui reçoit des impulsions d'horloge de pré-25ference d'une source extérieure et à une cadence prédéterminée et qui engendre des impulsions de débordement s'il n'est pas. remis à zéro par un signal extérieur durant un intervalle de temps déterminé par la capacité du compteur et la cadence de l'horloge. Ce signal extérieur est engendré à partir du câble omnibus de sortie 30du calculateur si bien que l'incapacité du calculateur à produire un signal de sortie en direction de l'un des dispositifs associés pendant l'intervalle de temps considéré est traitée comme une indication de fonctionnement défectueux. On peut toujours insérer en mémoire une sous-routine 35adressable qui oblige l'outil à prendre une position de référence prédéterminée telle qu'une position de changement d'outil. L'existence de la sous-routine évite d'avoir recours à un appareillage compliqué pour provoquer le déplacement désiré et permet d5obtenir le résultat désiré soit par l'institution automatique d'une rou-40 tine de déplacement d'outil qui est terminée par une interruption r BAD ORIGINAL 6 2102070 : • " •."* . d-ï ooùiautaiéur iiïï;Jo:-'~ • ■ •. icéïéran-- •vj ? une p-o?it:U..r. cl'outil emmagasinée en mémoire et calcul du dépla-al. récsssaire pour atteindre la position ds référence,, Une. autre caractéristique est la plus grande facilite ô -bten-^e dans la recherche de chiffres en séquence au moyen d'une ~-viï-rçv.ti".o adressableo Ceci pana et une commande par calculateur d'une rechercha de bloc au moyen des connexions de commande du dis-oositif d? leoture de bande qui existent "pour l'exécution des fonction? normales st ;:ar conséquent réduisant les besoins en appareil-" Olaqe extérieure î.-e référence au déplacement d'un outil doit être prise ici' dans son sens le plus large c:est-4=dire le déplacement relatif entre un eutil et le support dcun ouvrage s un tel déplacement peut s'effectuer suivant un ou plusieurs axes par le déplacement réel de 15.1'outil, du support d'ouvrage ou des deux* D5 autres caractéristiques ressortiront de la description qui va w. ivre et' qui n'est donnée qu5à titre d'exemple* A cet effet on se reportera aux dessins * oints dans lesquels i - la figure 1_ est un schéma-bloc général du dispositif suivant 2018 invention, - la figure ?. est une séquence de fonctions et tin inventaire des priorités pour le programme de commande § - la figure 3 représente le diagramme' schématique du circuit du système de commande d'interruption % 25- la figure 4 représente le diagramme du circuit d'un système d'exploration des commutateurs et de commande d'interruption ? - la figure 5 correspond à un groupe de diagrammes d'écoulement de certaines sous-routines dans le programme de commande j - la figure 6 correspond à une vue'en perspective de l'extérieur de 301'ensemble de l'appareillage suivant 18invention ? et9 - la figure 7 est une représentation détaillée des tableaux sur la console de la figure 6S Suivant le mode de réalisation de la figure 1 ? un système de commande numérique 10 est prévu pour contrôler automatiquement 35le fonctionnement d'une machine-outil 12 ayant des servomécanismes 14 et 16 d'axes X et Z pour commander les positions respectives de l'outil 12 et d'un ouvrage ou de son support le long d'axes perpendiculaires entre eux. L'exemple de la figure 1 correspond a un tour avec un outil 12 déplaçable su ivant deux axes. N'importe quelle 40 autre machine avec un tout autre nombre d'axes pourrait tout CAD ORIG1NAL k — 71 26974 ■v 2102070 aussi bien être utilisée. L'invention s'y appliqjerait de la même manière. Le système de commande numérique 10 comprend un calculateur numérique universel programmable 18 qui fonctionne suivant 5 un programme de commande pour exécuter des fonctions au moyen de dispositifs d'entrée et de sortie variés qui vont être décrits. Le calculateur 18 est équipé d'une mémoire non volatile telle que r noyaux ou films magnétiqjes, cylindres, disques et des combinaisons de tels dispositifs. Le calculateur est muni d'un cable om— 10 nibus d'entrée 22 à huit conducteurs pour le transfert en parallèle par lequel le calculateur reçoit les adresses et les données des systèmes périphériques. Le calculateur 18 est encore équipé d'un conducteur d'interruption 24 par lequel il reçoit les signaux des dispositifs externes indiquant le besoin d'un transfert de données 15 entre ces dispositifs ou bien entre le calculateur et les dispositifs. Le calculateur 18 est encore équipé d'un cable omnibus de sortie 26 à huit conducteurs pour le transfert en parallèle, par lequel le calculateur transmet les adresses et les données aux dispositifs externes. Un calculateur approprié est le calculateur 20 "Micro 810" construit par la firme Micro Systems Inc. à Santa Ana, Californie. Le calculateur numérique 18 est outillé pour fonctionner dans le mode priorité interruption dans lequel un signal d'interruption engendré à l'extérieur signifiant un besoin de transfert de 25 données provoque la mise en service d'un dispositif de recherche et lorsque l'appareil ayant la priorité la- plus élevée qui a provoqué l'interruption a été identifié, amène la mise en service d'une sous-routine. Chaque routine est une branche d'un programme de commande annexé au calculateur et est prévue pour réaliser les fonc-30 tion^d'administration de données réclamées par les caractéristipes du dispositif interrupteur. Une fois la routine teiminée, le programme de commande établit la condition pour déterminer si d'autres signaux- d'interruption existent. S'il en existe, une autre recherche de dispositif est entreprise et une autre routine de service est 35 appelée. S'il n'en existe pas, le programme passe aux routines de priorités inférieures telles que l'exploration des dispositifs d'entrée à contacts durs tels que les commutateurs de baies. En général, le signal d'interruption, une quantité totalement anonyme, est transmis au calculateur 18 par le conducteur 24. Une fois 40 reconnu et réception accusée, l'adresse du dispositif interrupteur 71'26974 8 2102070 est vérifié et la routine de service nécessaire pour traiter le dispositif interrupteur est mise en fonctionnement. Ce n'est que lorsque le dispositif interrupteur a été servi que le calculateur 18 descend aux sous-routines de priorité inférieure. 5 Un premier dispositif interrupteur et celui qui corres pond à la- sous-routine d'ordre de priorité le plus élevé est le lecteur de bande 28. C'est un dispositif électro-optique bien connu permettant de lire les caractères du programme à partir d'une bande 30 préparée à l'avance et qui définit dans un code standard ' 10 décimal codé binaire, les différents, paramètres du déplacement de l'outil 12 qui doivent être suivis de façon à obtenir à partir de l'ouvrage une pièce ayant les qualités de fini désirées9 Le lecteur électro-optique de bande 28 pour la lecture de bandes plastiques perfo'ées 30 n'est qu'un des moyens qui peuvent être utilisés 15 parmi tant d'autres pour la lecture du programme. Les données du programme peuvent être emmagasinées dans divers milieux, chacun ayant ses exigences de lecture particulières* En outre un programme peut être entièrement transféré et emmagasiné dans une annexe de la mémoire 20 à partir de laquelle il peut être lu par frac-20 tions. Le lecteur de bande 28 possède un cmducteur de demande d'interruption 32 relié au conducteur d'interruption 24 du calculateur pour aviser ce dernier qj 'il est prêt à lire le bloc suivant d'informations en vue de son transfert dans une mémoire tampon. Le lecteur de bande 28 possède en outre un jeu de conducteurs d'entrée 25 34 relié au cable omnibus d'entrée 22 pour permettre le transfert d'un bloc d'informations de la bande 30 à la mémoire 20 du calculateur 18. Finalement un jeu de conducteurs de sortie 36 relié le câble omnibus de sortie 26 à l'unité de lecture 28 pour permettre le transfert des signaux qji contrôlent le départ et l'arrêt de la 30 bande. Un second dispositif interrupteur et qui reçoit la seconde priorité dans l'ordre d'interruption en accord aved le programme de commande du calculateur 18 est une horloge externe 40. Cette unité comprend un oscillateur de base 42 et divisions de fré-35 quence intermédiaires 44 et 46 sous la forme de compteurs* La sortie de l'oscillateur 42 est reliée en parallèle aux deux diviseurs 44 et 46 pour produire à partir du diviseur 46 un train d'impulsions d'horloge à une fréquence de 250 périodes par seconde sàt «ne impulsion toutes les quatre millisecondes. Une sortie 48 du diviseur 40 d'horloge 46 est reliée au conducteur d'interruption 24 pour pro~ 71 26974 9 2102070 duire un signal d'interruption pour le calculateur 18 toutes les quatre millisecondes» Un autre conducteur de sortie 50 en provenance du diviseur 46 est relié au câble d'entrée 22 pour fournir l'information concernant l'adresse au calculateur 18 lorsqu'une re-5 cherche de dispositif est conduite. Cette information d'adresse identifie l'horloge comme étant le dispositif interrupteur et appelle une routine de service du programme de commande pour exécuter un transfert de données oomme on l'expliquera plus en détail ci-après . 10 Les dispositifs d'interruption qui reçoivent la troi sième priorité d'interruption dans le schéma général sont des inter-polateurs de données 52 et 540 Ces derniers sont des analyseurs numériques différentiels (DDA) qui répondent à un bloc d'informatisme du programme pour produire des impulsions en nombre et h une ca-15 dence qui correspondent aux informations reçues de la bande 30. Lorsque les interpolateurs 52 et 54 sont prêts à recevoir et à in- ,un nouveau , , terpoler/bloc d'informations, une telle condition étant mdiquee par la lecture d'un signal de "fin d'interpolation" en provenance des interpolateurs, un signal d'interruption est émis sur un con-20 ducteur d'interruption 56 qii est relié directement au conducteur d'interruption 24 du calculateur. Le câble omnibus de sortie 26 du calculateur 18 est relié par un conducteur 58 à 11interpolateûr 52 d'axe des X et par un conducteur 60 a 1'interpolateûr 54 d'axe des Z. De préférence les interpolateurs 52 et 54 sont capables 25 d'exécuter des interpolations linéaires ou circulaires. L'interpolateûr 52 est muni d'un conducteur d'entrée 62 relié au câble omnibus d'entrée 22 pour aviser le calculateur 1 8 de l'adresse de l'interpolateûr à la suite de la production d'un signal d'interruption sur le conducteur 56. D'une manière analogue, 1'interpolateûr 54 30 est muni d'une ligne d'entrée d'adresse 64 reliée au conducteur 62 relatif à 1'interpolateûr 52 car le calculateur 18 regarde les deux interpolateurs comme un seul dispositif en ce qui concerne la fonction d'interruption. Le dispositif d'interruption recevant la quatrième prio-35 rité d'interruption à partir du haut est un jeu de boutons poussoirs 66 à fonctionnement manuel qi i sont disposés sur la face avant de la baie de commande 68 de la console illustrée à la figure 6. Les boutons-poussoirs 66, comme on le voit mieux à la figure 7, sont au nombre de treize et permettent d'introduire dans le mode manuel des 40 données numériques dans l'ordinateur 18 pour le fonctionnement des 71 26974 10 2102070 servo-mécanismes 14 et 16 par exemple. Donc les données définissant la position de l'outil et par conséquent la géométrie de la pièce à usiner peuvent être introduites soit par l'intermédiaire des boutons-poussoirs 66 aussi bien que par l'intermédiaire du 5 lecteur de bande 28. Les boutons-poussoirs 66 so nt du type à position temporaire, c'est-à-dire, qu'une fois que la pression s'interrompt, les boutons-poussoirs retournent à leur condition de commutateurs ouverts. Par conséquent l'enfoncement d'un bouton-poussoir 66 est de préférence identifié par l'émission d*un signal 10 d'interruption. Une ligne de sortie d'interruption 70 relie le jeu de boutons-poussoirs 66 au conducteur d'interruption 24 du calculateur 18 afin d'aviser ce dernier de l'enfoncement d'un bouton-poussoir . Une combinaison d'adresse et d'informations s'écoule entre les boutons-poussoirs 66 et le calculateur 18 par l'in-15 termédiaire d'un circuit changeur de niveau et transformateur sous la forme d'un récepteur de' ligne 72 ayant un conducteur de sortie 74 relié au câble omnibus d'entrée 22 du calculateur 18, De plus, un circuit d'entraînement de commutation 76 est relié entre le câble omnibus de sortie 26 et le jeu de boutons-poussoirs 66 pour 20 appliquer des tensions de fonctionnement aux commutateurs. Le dispositif d'entraînement 76 est relié par une ligne de commande 78 au câble omnibus de sortie 26 du calculateur. Les boutons-poussoirs 66 coopèrent en général avec un jeu de commutateurs 80 de maintien de position tels que des com-25 mutateurs à roue tournante manipulée par le pouce, des cadrans ou autres dispositifs qui ne sont pas équipés pour produire une fonction d'interruption. Les commutateurs 80 sont éntrainés par le système 76 et utilisent des récepteurs de ligne 72 pour les relier au câble omnibus d'entrée 22. Comme les commutateurs 80 ont la ca-30 ractéristique de se maintenir en position, il suffit de permettre l'exploration de ces commutateurs sur une base non prioritaire, c'est-à-dire que le programme de commande du calculateur 18 est tel que le plus bas ordre de priorité est assigné à l'exploration des commutateurs 80. Par conséqjeht aucune fonction d'interruption 35 n'est nécessaire. La fonction des commutateurs 80 est d'introduire une certaine information dans la mémoire 20 du calculateur 18, information servant à déterminer la signification ou la destination des données qji seront entrées ultérieurement au moyen des boutons-poussoirs 66. Un exemple est l'introduction d'information 40 sur la vitesse de déplacement relativement à un axe particulier. 71 26974 h 2102070 La désignation de l'axe particulier peut être introduite au moyen du positionnement approprié des commutateurs 80 et le nombre de vitesse de déplacement réel peut être ensuite introduit par Renfoncement des boutons-poussoirs numériquès 66. L'information numé-5 rique est référencée par le calculateur 18 à la destination introduite à l'aide du commutateur 80 afin de sélectionner la voie appropriée vers le servo-mécanisme particulier commandant les déplacements de l'outil le long de l'axe choisi. La baie de contrôle 68 est de plus munié d'un jeu de tu-10 bes Nixie 82 d'affichage entraîné par le calculateur 18 par l'intermédiaire d'un circuit d'entraînement de lampes 84 ayant un conducteur 86 le reliant au cable omnibus de sortie 26„ Un autre dispositif ayant une possifcdLité d'interruption mais ayant la priorité la plus faible parmi les dispositifs ayant 15 la possibilité d'interruption est un jeu de commutateurs limites d'outil 88 qui coopèrent avec l'outil 12 pour fermer certains contacts lorsque l'outil parvient à la position prédéterminée par l'emplacement physique occupé par le commutateurs limites. Chaqi e commutateur limite est éqjipé d'un conducteur 90 de signal d'inter-20 ruption qui est connecté qu conducteur d'interruption 24 du calculateur 18. Les informations en provenance des commutateurs limites 88 d'outil entrent dans le calculateur par des récepteurs de lignes 92 et des conducteurs d'entrée 94 qi i sont reliés au cable omnibus d'entrée 22. 25 Suivant le programme de commande du calculateur 18, les signaux d'interruption qui sont appliqués au conducteur 24 par les . divers dispositifs d'interruption pour indiquer une condition d'écoulement de données ne sont acceptés par le calculateur 1 8 qu fen dehors de l'exécution d'une sous-routine de service d'interruption. 30 Ce résultat est obtenu en reliant le conducteur d'interruption 24 au calculateur 18 par l'intermédiaire de portes logiques à coïncidence comprenant notamment une porte ET96. Cette porte 96 est soit, passante soit non passante pour les signaux d'interruption sur le conducteur 24 suivant l'état d'un dispositif de contrôle d'interruption 35 comprenant une bascule 98. La bascule 98 produit un signal de sortie de niveau haut ou bas suivant la présence de signaux de qualification ou de restauration sur des conducteurs 100 et 102 qj i sont contrôlés par le câble omnibus de sortie 24. Lorsque la bascule 98 est qualifiée (niveau élevé) par la présence d'un signal sur le 40 conducteur 100, le conducteur de sortie 104 est excité ce qui qi a— 71 26974 12 2102070 lifie la porte ET96. La porte 96 est alors passante pour les si-gnaux d'interruption» Lorsqu'un signal d'interruption est reçu par le calculateur 18, le conducteur 102 est excité et restaure la bascule 98. Il n'y a plus de signal sur le conducteur 104 et la porte 5 ET96 est non passante pour les signaux d'interruption parvenant par le conducteur 24, Durant la disqualification de la porte 96, aucun signal d'interruption n'est reçu et par conséquent la sous-routine en cours d'exécution peut être totalement exécutée avant qu'un autre signal d'interruption soit admis même si ce signal d'interrup-10 tion subséquent qui s'efforce de parvenir à destination provient d'un dispositif interrupteur ayant une priorité plus élevée dans le programme de commande que celui dont la sous-routine est en cours d'exécution. Le système de l'invention comporte encore d'autres dis-15 positifs d'entrée et d'entrée/sortie qui transmettent des données au calculateur 18 par l'intermédiaire du câble omnibus d'entrée 22. Ces dispositifs d'entrée/sortie comprennent des compteurs de posi-X et Z, 106 et 108. Les compteurs 106 et 108 sont relativement de faible capacité et ils emmagasinent les impulsions venant respeé-20 tivement des interpolateurs 52 et 54. Les compteurs 106 et 108 reçoivent les signaux d'horloge par un conducteur 110 qui est relié au câble omnibus de sortie 26 pour transférer périodiquement leurs contenus par l'intermédiaire de conducteurs respectifs 112 et 114 au câble omnibus d'entrée 22. Les contenus de.s compteurs 25 106 et 108 sont donc transférés à une position d'accumulation dans la mémoire 20 qui représente le compte total de la position commandée pour l,outil 12 le long des axes X et Z. L'utilisation de compteurs externes sert de tampon pour permettre aux signaux de commande interpolés de survenir à la dadence de l'écoulement de données à par-30 tir du programme sans qu'une attention fréquente du calculateur 18 soit requise pour l'accomplissement du transfert. Le système 10 comporte également d'autres dispositifs de sortie notamment une baie d'affichage 116 comprenant une unité d'affichage général 118, une unité-d'affichage de décalage 120 et 35 une unité d'affichage de nombres en séquence 122 comme il sera précisé ultérieurement. Les unités 118, 120 et Î22 sont reliéeçfcle façon appropriée au câble omnibus de sortie pour recevoir des impulsions d'information codées et fournir l'affichage de l'état présent des différentes parties du système 10. La baie d'affichage 116 40 est couramment utilisée dans les dispositifs de commande numérique. 71 26974 13 2102070 Les dispositifs de sortie du système 10 comprennent aussi un compteur de taux de fonction 124 qui, comme les compteurs 106 et 108, est de relativement faible capacité et qui reçoit et emmagasine les signaux d'horloge provenant d'une source d'horloge exté-5 rieure. Le compteur de taux de fonction 124 est également muni d'un conducteur d'entrée de restauration 126 provenant du câble omnibus de sortie 26 sur lequel une commande de sortie apparaît pour restaurer le compteur 124 lors de l'apparition de tout bond de retour vers le bloc 200 de programme du diagramme de software de la 10 figure 2. Si aucun bond en retour ne se produit a l'intérieur d'une période de temps déterminée, par exemple, 100 millisecondes, les signaux d'horloge qui s'accumulent constamment dans le compteur 124 provoquent une impulsion de débordement sur le conducteur 128„ Le conducteur 128 est connecté à un dispositif d'alarme 130 pour 15 indiquer la probabilité d'une panne d'appareillage ou de software dans le système 10. Les dispositifs de sortie du système 10 comprennent encore une unité de commande IPR 132 (centimètres par tour) qui fonctionne en liaison avec une unité de commande de vitesse de dépla-20 cernent 134. L'unité de commande IPR132 est munie de conducteurs 136 et 138 de transmission de signaux de départ et d'arrêt, qui sont reliés au câble omnibus de sortie 26, et d'un conducteur de signal de sortie 140 qui est relié à l'unité de commande de vitesse de déplacement 134. L'unité de commande de vitesse de déplacement 134 25 est munie d'une ligne indépendante de transfert de données 141 qui est connectée au câble de sortie omnibus 26 pour le transfert de données numériques. L'information contenue sur la bande 30 contient en général un nombre de vitesse de déplacement qj i est traité par le calculateur 18 puis transmis à l'unité 134 de commande de vitesse 30 de déplacement. Cette dernière a un conducteur de sortie 142 la reliant aux interpolateurs 52 et 54 pour contrôler la vitesse à laquelle les interpolateurs produisent les impulsions de commande de sortie. Les boucles de servomécanismes numériques-analogiques 35 qui contrôlent les mécanismes 14 et 16 sont classiques. La boucle de servomécanisme de l'axe des X comprend un compteur de commande 146 qui reçoit des impulsions de 1'interpolateûr 52 et produit une onde carrée de sortie pour un amplificateur 148 qui est relié par l'intermédiaire d'un résolveur 1 50 à un détecteur de phase 152. Le 40 détecteur reçoit une information de référence du compteur de réfe- 71 26974 14 2102070 rence 46. La sortie du détecteur 152 est connectée par l'intermédiaire d'un amplificateur 154 au servomécanisme 14 d'axe X. La coulisse suivant l'axe X ou la partie déplacâble de l'outil 12 est mécaniquement reliée par un chemin de réaction au résolveur 150 5 pour compléter la boucle de réaction. La boucle de servo-commande pour le mécanisme 16 est identique à celle du mécanisme 14 et comprend un compteur de commande 156 relié à la sortie de 1'interpolateûr 54, un amplificateur d'excitation 158 pour un résolveur 160, un détecteur de phase 162 10 qui est relié également au oompteur de référence 46 et un amplificateur 164 relié directement au servomécanisme 16 d'axe Z. La partie de l'outil 12 qui est déplacée par le servomécanisme 16 est reliée par un chemin de réaction au résolveur 160 pour compléter la boucle de commande analogique de réaction. 15 En se reportant à présent à la figure 2 le schéma de con trôle d'ensemble du programme de commande dans le calculateur 18 est indiqué par une schéma bloc. Le programme de commande comprend un poste de contrôle de programme 200 et lorsqu'un programme du calculateur doit être exécuté, le transfert d'un signal à la bascule 20 98 par l'intermédiaire du conducteur 100 doit survenir au préalable pour rendre passante la porte 96 sur le conducteur d'interruption 24 de la figure 1. L'opération du poste 200 consiste à mettre en service la sous-routine correspondant à la tâche de priorité la plus élevée à moins qu'une autre tâche ou 90us-routine soit en cours 25 d'exécution. On a représenté sur une même ligne horizontale au sommet de la figure 2 des blocs de sous-routines de service d'interruption 202, 204, 206, 208 et 210 correspondant, respectivement aux sous-routines pour le lecteur de bande 30, l'horloge 40, Je s interpolateurs 52 et 54, le jeu de boutons poussoirs 66 et le jeu de com-30 mutateurs limites 88. Chacune des sous-routines comporte l'étape de disqualification de la porte, 96 par une commande appropriée de la bascule 98, la réception de l'information et son transfert à d'autres dispositifs, puis le retour au poste 200. Aucune des sous-routines ne peut être interrompue d'elle-même du fait du contrôle de la por-35 te 96. La figure 2 représente également d'autres sous-routines 212, 214, 216, 218, 220, 222, 224 qui peuvent être interrompues et qji ne sont pas associées à des dispositifs sources de données. La sous-routine 226 ayant la priorité la plus faible, comporte l'explo-40 ration des commutateurs de baie 80 du type à maintien de position. 71 26974 15 2102070 Puisque ceci est la fonction de l'ordre le plus bas qui est exécutée par le calculateur 18, il est possible que ce dernier fonctionne au ralenti sur la sous-routine du bloc 226, par exemple, pendant l'exécution d'une longue opération d'usinage à faible vitesse de 5 déplacement, mis a part le fait qu'une impulsion d'interruption survient toutes les quatre millisecondes. La sous-routine 212 correspond au traitement de la bande ; la sous-routine (5R) 214 au traitement suivant un axe ; la SR 216 a une fin de bloc d'information ; la SR 21 8 à un comptage décroissant ; la SR 220 au nettoyage d'un 10 bloc ; la SR 222 au traitement d'une baie et la SR 224 à l'exécution d'un bloc. D'autres renseignements plus détaillés seront fournis a propos des figures 5. Sur la figure 3 est représentée la disposition du circuit 15 extérieur au calculateur 18, servant a fournir les signaux d'interruption en provenance des dispositifs interrupteurs 28, 46, 52, 54 et 66, à établir la priorité avec laquelle ces signaux d'interruption sont reçus et par conséquent la priorité avec laquelle les sous-rou-tines d'interruption sont mises en fonctionnement. Des tableaux 20 des temps sont représentés sur les figures 3a et 3b. A la figure 3, le câble omnibus d'entrée 22 du calculateur 18 est représenté comme comprenant huit conducteurs prévus pour recevoir l'adresse et les informations des sources 28, 46, 52, 54 et 66. Une telle information comprend en général huit chiffres 25 binaites qui s'écoulent en parallèle. Pour contrôler l'écoulement de l'adresse et des chiffres d'information vers le calculateur 18 en accord avec un ordre de priorité prédéterminé, chacun des dispositifs d'interruption 28, 46, 52, 54 et 66 est associé à une bascule d'interruption 300, 302, 304 et 306. Ces bascules présentent 30 des états de qualification et de restauration entre lesquelles on permute une haute tension de sortie. Ces sorties respectives sont identifiées à la figure 3 par les chiffres 1 et 0. Une condition-d'écoulement des données dans l'un qi elconque des dispositifs interrupteurs amène la bascule correspondante à prendre la condition de 35 qualification et à rester dans cette condition jusqu'à ce que l'ad: -resse du dispositif d'interruption ait été transférée au calculateur 18C Les sorties "un" des bascules 300, 302, 304 et 306 sont reliées par des conducteurs 32, 48, 56 et 70 aux entrées respectives d'une porte 0U308. La porte 0U308 transmet un signal sur le conduc-40 d'-interruption 24 à condition qu'une au moins de ses entrées soit à 71 26974 16 2102070 un potentiel haut. Le conducteur d'interruption 24 est connecté au calculateur 18 par l'intermédiaire dé la porte ET96 commandée par la bascule 98 comme précédemment décrit. Par conséquent, un ou plusieurs des dispositifs d'interruption est capable de transmettre 5 un signal d'interruption au calculateur 18 par l'intermédiaire de la porte 0U308 et du conducteur 24f ce dernier ne nécessitant donc pas d'être autre chose qu'un conducteur unique. Un conducteur de sortie 310 du calculateur 18 porte un signal de priorité qui est toujours à un niveau élevé et qui se 10 propage au travers de portes ET312, 314 et 316 connectées en série dans la mesure où cette propagation est permise par l'identité présente du dispositif interrupteur. A cette fin on notera que la sortie "zéro" des bascules interruptrices 300, 302 et 304 est reliée respectivement à une entrée de chacune des portes ET312, 314 et 316 15 et que le conducteur 310 porteur du signal d'interruption est connecté en séquence qu travérs des portes ET312, 314 et 316. Si la source d'interruption est la bascule 300, le signal d'interrogation de priorité ne peut pas traverser la porte ET312 puisque la sortie "zéro" de la bascule 300 est à un potentiel bas. Si la bascule 302 20 est la source du signal d'interruption, la sortie "zéro" de la bascule 300 est à un potentiel haut et le signal de priorité traverse la porte 312 jusqu'à la porte 314. D'une manière analogue si la bascule 304 est la sourde du signal d'interruption, le signal de priorité peut traverser les portes 312 et 314. Finalement si la 25 bascule 306 est la source du signal d'interruption, toutes les sorties "zéro" des bascules d'interruption 300, 302, 304 sont à un potentiel élevé et le signal de priorité peut traverser les portes ' 312, 314' et 31 60 A la réception du signal d'interruption et à la fin de 30 l'instruction en cours d'exécution, le calculateur 18 produit un signal entrée-sortie d'acquescement sur le conducteur 317. Ce signal parvient simultanément à une entrée de chacune des portes ET318, 319, 320 et 321. Les portes ET318, 319, 320, 321 sont fonc-tionnellement associées respectivement aux sources de données 28, 46 35 52, 54 et 66 comme on l'expliquera ci-après. L'excitation de la porte 318 par exemple survient lors de la réception simultanée de signaux d'entrée en provenance du conducteur de priorité 31Q, dîi conducteur entrée-sortie d'acquiescement 317, et de la disposition de la bascule d'interruption 300 dans la position "un" pour exciter 40 le conducteur 375. Si la porte 31 8 reçoit ces trois signaux airnul— 71 26974 17 2102070 tanément, l'adresse du lecteur de bande 28 est transmise au calculateur 18 par le câble omnibus d'entrée 22. D'une manière plus précise la sortie de la porte 318 est reliée par l'intermédiaire de trois portes 0U322, 323 et 324 à des 5 conducteurs déterminés du câble omnibus 22 de telle manière que l'adresse du lecteur de bande 28 est lue par le calculateur 18 sous la forme numérique comme étant 01011000 dans laquelle chaque "zéro" représente un conducteur du câble omnibus 22 en regardant la figure 3 de haut en bas qui n'est pas connecté à la sortie de la porte 10 318 par une porte OU et chaque "un" représente au contraire un conducteur du câble omnibus 22 qui est connecté à la sortie de la porte 318 par une porte OU. D'une manière analogue, l'excitation de la porte 319 a pour effet de transmettre au calculateur 18 l'adresse de l'horloge 46. Une porte OU n'est nécessaire sur un conducteur 15 du câble omnibus 22 que si "un" apparaît dans l'adresse du dispositif considéré, c'est-à-dire que l'adresse 00100000 ne nécessite qu'une porte OU ; l'adresse 01101100 nécessite quatre portes OU et ainsi de suite. On a réalisé la figure 3 dans le cas de trois portes OU pour chaque adresse mais il est bien évident qu'un tel 20 exemple n'a aucune valeur limitative. La sortie de la porte ET319 est reliée par des portes 0U325, 326 et 328, aux premier, troisième et sixième conducteurs du câble omnibus 22, si bien que l'adresse de l'horloge 46 est 10100100. D'une manière analogue l'excitation de la porte 320 permet de transmettre au calculateur 18 l'adresse 25 des interpolateurs 52 et 54 par l'intermédiaire de portes 0U329, 330, 331 qui sont connectées aux second, troisième et quatrième conducteurs du câble omnibus 22 si bien que l'adresse des interpolateurs est 01110000. Finalement, l'excitation de la porte 321 provoque l'excitation de portes 0U332, 333 et 334 connectées aux 30 troisième, cinquième et sixième conducteurs du câble omnibus 22 si bien que l'adresse des boutons-poussoirs 66 est 001011100. Toutes les adresses données ci-dessus sont établies de façon permanente par un câblage extérieur entre les portes 318, 319, 320 et 321 et les conducteurs du câble omnibus 22 et l'information 35 concernait les adresses est placée de façon appropriée dans la mémoire 20 du calculateur pour identifier chaque adresse avec une sous-routine du service des interruptions illustrée à la figure 2. On voit à la figure 3 que les portes 318, 319, 320 et 321 peuvent seulement être excitées pour transférer l'information 40 concernant une adresse en accord avec la priorité d'interruption 71 26974 18 2102070 qui est établie à l'aide des portes 312/ 314 et 316. Si le lecteur de bande 28 est la source d'où émane le signal d'interruption, la bascule d'interruption 300 associée au lecteur de bande 28 passe à la condition de sortie "un" ce qui disqualifie la porte 312. La 5 porte 312 disqualifiée empêche le signal de priorité sur le conducteur- 310 de se propager jusqu'à l'une des portes suivantes. La sortie de la porte 312 est connectée par un conducteur 335 à une entrée de la porte 319 et par conséquent la porte 319 ne peut pas fonctionner pour transférer une adresse en l'absence d'un signal 10 en provenance de la porte 312. D'une manière similaire la sortie de la porte 314 est reliée par un conducteur 336 à une entrée de la porte 320 et la porte 320 ne peut être conductrice pour transmettre une adresse en l'absence d'un signal en provenance de la porte 314. Finalement la sortie de la porte 316 est connectée 15 directement à une entrée de la porte 321 par un conducteur 337 si bien que la porte 321 ne peut être rendue conductrice et transférer une adresse tant que la porte 316 n'est pas conductrice. La troisième entrée des portes 319, 320 et 321 est reliée respectivement par des conducteurs 338, 339 et 340 à la sortie "un" des 20 bascule d'interruption 302, 304 et 306. A la lumière de ce qui précède on voit que la sélection de toute source de données en vue du transfert de son adresse au calculateur 1 8 en tant que dispositif interrupteur est soumise à une condition, à savoir l'absence d'un signal d'interruption en 25 provenance de toute source de données disposée en amont le long du conducteur de priorité 310. Si un signal d'interruption a été produite préalablement par un dispositif placé en amont, le changement d'état de sa bascule associée a pour effet que le signal de priorité sur le conducteur 310 ne se propage que jusqu'à la der-30 nière porte ET 312, 314 ou 316 qui est conductrice. De plus le signal d'acquiescement sur le conducteur 317 ne provoque le transfert d'adresse qu'«à partir de la porte 318, 319, 320 et 321 associée au dispositif d'interruption. Le lecteur de bande 28 a été sélectionné sur la figure 3 35 ainsi que la figure 3a_ pour illustrer le cas où une source de données qui, après avoir communiqué son adresse au calculateur 18 est appelée à transférer ses donnéesà ce dernier. Le lecteur de bande 28 est typique plar le fait qu'il présente huit voies de lecture sur la bande avec amplificateurs séparés et conducteurs de sortie 40 désignés par les nombres de 1 à 8 à la figure 3. De plus le lec 71 26974 19 2102070 teur de bande 28 est prévu pour fournir des signaux de "pignon d'entraînement" et de "non pignon d'entraînementH sur des conducteurs respectifs 341 et 342 suivant qu'un trou pour le pignon d'entraînement de la bande se trouve ou non proprement en position sur 5 la bande 30. Ce trou de pignon d'entraînement n'est en fait pas prévu pour l'entraînement de la bande mais comme repère pour déterminer la position de la bande lors de la lecture des informations qu'elle porte. On suppose que le lecteur de bande 28 est un dispositif électro-optique dans lequel de la lumière passe au travers 10 des trous pratiqués dans la bande et que la présence d'un trou excite donc une cellule photoélectrique ou tout dispositif équivalent pour produite un signal électrique sur la voie de sortie correspondante. Tout ceci est connu. Les voies de sortie de 1 à 8 du lecteur de bande 28 sont connectées aux conducteurs du câble omni-15 bus d'entrée 22 par des portes HT numérotées respectivement de 343 à 350. Ces portes ET343-350 sont rendues passantes pour transférer l'information des voies 1 à 8 du lecteur de bande 28-30 aux conducteurs du cible omnibus d'entrée 22 lorsque des informations du programme sont disponibles et qu'une porte 351 est rendue con-20 ductrice par des signaux produits par le calculateur comme on le décrira ci-après. Les voies de sortie 1 à 8 du lecteur de bande 28 sont également reliées à une unité de contrôle de parité 352 ayant un conducteur de sortie 353 qui est excité si un nombre impair de si-25 gnaux d'entrée est reçu et un conducteur de sortie 354 qui est excité si un nombre pair de signaux d'entrée est reçu. Ce contrôle de parité paire-impaire est bien connu et utilisé pour détecter la présence d'erreurs sur la bande 30 ou dans la lecture de cette dernière. Dans le cas présent on suppose qu'il existe une erreur 30 si un nombre pair de trous est détecté dans une ligne transversale de la bande 30. On pourrait tout aussi bien choisir la convention opposée. Le conducteur de sortie d'erreur 354 est associé par l'intermédiaire d'une porte ET355 au conducteur 342 recevant le signal de "non pignon d'entraînement". La sortie de la porte 355 35 est connectée à une entrée d'une porte OU inclusive 356 qui reçoit également un signal d'accord du contrôle de parité 352 par le conducteur 353. La sortie de la porte 356 OU inclusive, c'est-à-dire le signal "lu", est connectée par un conducteur 357 à une entrée d'une porte ET 358. Deux autres entrées de la porte ET358 sont con— 40 ntctées à une combinaison de deux bascules 359 et 360, désignées 71' 26974 20 2102070 respectivement A et B et qui servent à fournir le signal d'interruption associé au lecteur de bande 28 au moment où les huit voies de signal sont en condition pour être lues. Chacune des bascules 359 et 360 a une sortie de qualifi-5 cation et une sortie de restauration et suivant les signaux reçus sur ses entrées elle présente un potentiel élevé soit sur sa Sortie "un" soit sur sa sortie "zéro". L'entrée "S" ou de qualification de la bascule 359 est connectée pour recevoir le signal "lu" sur un conducteur 341 tandis que l'entrée "R" ou de restauration 10 est reliée par un inverseur au conducteur 341 pour recevoir l'inverse du signal précédent. Un signal d'horloge est également appliqué à chacune des bascules 359 et 360 pour synchroniser leurs changements d'état. Tout ceci est bien connu. La sortie "un" ou de qualification de la bascule 359 est connectée à la foie à l'en-15trée "S" ou de qualification de la bascule 360 et à une entrée de la porte ET3580 La sortie'"zéro" du de restauration de la bascule 359 est connectée à l'entrée "R" ou de restauration de,1a bascule 360. La sortie "zéro" ou de restauration de la bascule 360 est connectée à la troisième entrée de la porte ET358. 20 Lorsque les huit voies du lecteur de bande 28 fournis sent un signal de parité convenable, les conducteurs 353 et 357 sont excités. Au même moment un signal "lu" sur le conducteur 341 qua- 25 puis la bascule 360 est qualifiée. On le comprend mieux à l'aide de la figure 3b. Durant cet intervalle de temps, la porte 358 est conductrice pour qualifier la bascule 300. Par ce moyen le calculateur 1 8 est prévenu que le lecteur de bande 28 est prêt à lui adresser des informations du programme par le câble omnibus d'entrée 30 22. Donc le signal d'interruption qui indique la condition d'écoulement des données n'est émis que lorsqu'une information est prête à être lue. Si une erreur de parité survient, un signal d'interruption est engendré après passage du signal de "trou pour pignon 35 d'entraînement" et un nombre binaire ne comportant que des zéros est transmis au calculateur 18 qui l'interprète comme une indication d'erreur et le lecteur de bande 28 est stoppé. Après transfert de l'adresse de l'une quelconque des sources 28, 46, 52, 54 ou 66 au calculateur 18, il est nécessaire 40 de restaurer les bascules associées aux dispositifs interrupteurs. 71 26974 21 2102070 De cette manière les dispositifs interrupteurs n'ayant pas reçu attention par le moyen de l'exécution d'une sous-routine de service du fait de l'attention portée à une source de données de priorité supérieure, peuvent être servies après restauration de la bascule 5 d'interruption du dispositif de priorité supérieure. Pour restaurer la bascule 300, le conducteur 375 qui est connecté à sa sortie "un" est relié en même temps que le conducteur 361 partant de la sortie de la porte ET31 8 de contrôle de lecture d'adresse aux entrées d'une porte de restauration 362. La porte 362 est du type 10 ET; elle est connectée par sa sortie à l'entrée R ou de restauration de la bascule 300. Donc lors de l1 apparition simultanée d'un "un" en provenance de la bascule d'interruption 300 et d'un signal d'adresse lue en provenance de la porte 318, la bascule 300 est restaurée. 15 D'une manière analogue la bascule 302 est munie d'une porte de restauration 364 connectée à la sortie "un" de la bascule ainsi qu'à la sortie de la porte 319 de contrôle d'adresse lue. La bascule d'interruption '304 est munie d'une porte de restauration 365 connectée à la sortie "un" de la bascule ainsi qu'à la sortie 20 de la porte 320 de contrôle d'adresse lue. Finalement, la bascule d'interruption 306 est munie d'une porte de restauration 366 connectée à la sortie "un" de la bascule ainsi qu'à la sortie de la porte 321 de contrôle d'adresse lue. Le résultat net est que chaque bascule d'interruption n'est restaurée que comme conséquence 25 de la réception du signal d'acquiescement sur le conducteur 317 et le transfert de l'information concernant l'adresse du dispositif interrupteur. Le transfert de données de tout dispositif périphérique dans l'appareil de la figure 1 au profit du calculateur 18 est con-30 trôlé par ce dernier suivant une technique qi i comprend l'émission de l'adresse du dispositif périphérique de la manière précédemment décrite en liaison avec le lecteur de bande 28. En se reportant à la figure 3, le calculateur 18 est donc muni d'un câble omnibus 26 à huit conducteurs dans lequel ces huit conducteurs sont reliés 35 en parallèle à un registre d'adresses 367. Le registre 367 a cp atre conducteurs de sortie reliés à un décodeur 368 relié par des conducteurs de sortie à chacun des dispositifs périphériques générateurs de données. Le décodeur 368 a un conducteur de sortie 369 qi i est relié à une entrée de la porte ET 351 pour émettre une impulsion 40 qui permet la lecture des informations portées par les voies de sor- 71 26974 22 2102070 tie du lecteur de bande 28 au profit du câble omnibus d'entrée 22, D'une manière similaire d'autres conducteurs de sortie sont reliés à d'autres dispositifs d'entrée comprenant notamment les boutons-poussoirs 66 et les compteurs de position 106 et 108 de la figure 1. 5 On donnera a présent une brève description fonctionnelle en relation avec les diagrammes de temps illustrés aux figures 3a, et 3b. Supposant que la fonction que l'on désire décrie comporte un transfert d'information du lecteur de bande 28 vers le 10 calculateur 18, l'apparition des signaux de "trou de pignon d'entraînement" SPR simultanément à celle des signaux en provenance des bascules 359 et 360 est indiquée sur les lignes deux, trois et quatre de la figure 3b 0 La cinquième ligne indique la durée de l'impulsion de sortie en provenance de la porte 358 qui qualifie 15 la bascule d'interruption 300 pour engendrer le signal d'interruption sur le conducteur 32, la porte 0U308 et le conducteur d'interruption 24. La dernière ligne de la figure 3b correspond à l'apparition d'une tension sur la sortie "un" de la bascule d'interruption 300. On peut voir en partant de la première ligne de la fi-20 gure 3b qui illustre les impulsions d'horloge que tous les signaux surviennent en séquence. Une fois que le signal d'interruption s'est produit, les conducteurs d'entrée/sortie d'acquiescement 310 et 317 sont excitéë de façon à qualifier la porte 318 et transférer l'adresse du lec-25 teur de bande 28 au câble omnibus d'entrée 22 par les portes 0U322, 323 et 324. De plus, l'arrivée du signal de transfert d'adresse est transmise par le conducteur 361 pour qualifier la porte 362 et restaurer la bascule 300 dans la condition "zéro". Ceci qualifie la porte ET312 de façon à transmettre la disponibilité d'une inter-30 ruption aux dispositifs de priorité moindre comme expliqué précédemment. En se reportant à la figure 3a_, le chiffre qu'il y a lieu de lire à partir du lecteur de bande 28 apparaît sur les voies de sortie 1 à 8 du lecteur. Une voie contenant un "un" est représentée à la ligne supérieure de la figure 3a_. Le signal de trou de 35 pignon (SPR) apparaissant sur le conducteur 341 est représenté à la ligne suivante de la figure 3a.. Il survient au milieu du caractère binaire et doit correspondre avec un signal de parité survenant sur le conducteur 353 pour que ce dernier soit à un potentiel élevé et par conséquent produire le signal "lu" sur le conducteur 40 357 qui est relié à une entrée de la porte 358 et commencer la sé- 71 269/4 23 2102070 quence du signal d'interruption tel que défini à la figure 3b du fait du signal transmis simultanément par le conducteur 341 à la bascule 359. Les quatre dernières lignes de la figures 3a, sont re-5 présentées à une échelle agrandie par rapport aux trois premières pour des questions de clarté. Par exemple la période de l'impulsion de voie du lecteur de bande (donnée) à la ligne supérieure peut être de 3,33 millisecondes tandis que la période de la séquence d'impulsions des quatre dernières lignes peut être de seule-10 ment huit ou dix microsecondes. Ces valeurs ne sont pas significatives du rapport relatif. Le signal COxx Ie besoin de sortir des données du lecteur de bande et contient l'adresse du lecteur. Le signal CO^x est le signal "en réponse" engendré par le calculateur à l'in-15 térieur de la durée de l'impulsion OD^ et provoque le transfert "'réel de l'adresse du dispositif interrupteur au registre d'adresses 367. Ensuite le signal est appliqué à la porte 351 pour pro voquer l'entrée dans le calculateur des données en provenance du lecteur 28. Le signal est simplement une donnée apparaissant 20 sur un conducteur du cible omnibus d'entrée 22, cette ligne étant choisie pjp.u^ illustrer l'entrée d'un "un" binaire. Cette séquence de temps est"typique. Enfin on notera que la logique de détermination de priorité représentée à la figure 3 comme étant extérieure au calcula-25 teur 18 pourrait être implantée par du software, la fonction équivalente à l'identification des dispositifs prêts au transfert étant accomplie par une routine de préférence à un circuit externe. En se reportant à présent à la figure 4, on a représenté plus en détail l'appareillage permettant de transférer des données 30 des commutateurs de maintien de position 80 et des commutateurs à boutons-poussoirs 66 au calculateur 18. Comme indiqué précédemment le câble omnibus d'entrée 22 du calculateur 18 comporte huit conducteurs individuels capables de procéder au transfert en parallèle de huit chiffres de données. On suppose pour fixer les idées 35 qu'il y a au moins seize commutateurs 80. En conséquence les commutateurs de maintien de position sont disposés en deux groupes de S.j à Sg pour le premier et de Sg à S1 ^ pour le second. En accord avec le fonctionnement du dispositifftes groupes de commutateurs -Sg et Sg-S^ ^ sont explorés et leur contenu 40 lu pour le calculateur 18 suivant un mode sans interruption ; 71 26974 24 2 1 0 2 0 7 0 c'est-à-dire que le programme de commande du calculateur 18 est tel que la condition des commutateurs 80 est lue seulement lorsqu'il a pas de tache de transfert de données de priorité supérieure. Par conséquent les commutateurs 80 ne sont pas munis de la facul-5 té d'interruption et ne sont pas des "dispositifs interrupteurs" dans le sens donné ici à ce terme. Au contraire, comme on le verra ultérieurement les commutateurs du groupe 66 désignés de S-. y à §24 eux au contraire fonctionnent dans un mode d'interruption et sont par conséquent munis de la faculté de passer avant toute prio-10 rité inférieure associée au calculateur 18. Tous les commutate,urs cependant sont des dispositifs d'entrée pour le transfert de données au calculateur 18. Les huit commutateurs de chacun des groupes S-j à Sg et Sg à S^ ainsi que les huit commutateurs à boutons-poussoirs 66 15 sont reliés aux conducteurs du câble omnibus d'entrée 22 pu moyen de huit lignes de connexio'n, 406, 408 et 410, étant entendu que l'on n'a représenté que trois commutateurs par groupe de huit et trois conducteurs dans un but de simplification évidente. Des considérations de bon fonctionnement suggèrent que des tensions supé-20 rieures à celles qui sont normalement utilisées pour transférer des données dans un calculateur soient employées au niveau du commutateur lui-même, et pour cette raison des convertisseurs de niveau sous la forme de récepteurs de lignes 412, 414 et 416 ont été insérés dans les circuits entre les commutateurs et les lignes de 25 connexion individuelles respectives 406, 408 et 410. Les récepteurs de lignes 412, 414 et 416 emploient aussi des réseaux à filtre RC pour éliminer les effets de rebondissement des contacts et le bruit haute fréquence qui pourraient altérer le fonctionnement du calculateur 18 s'il leur était permis de parvenir jusqu'au câble omnibus 30 d'entrée 22. De tels circuits à filtre RC sont connus. Les oommutateurs S^-Sg et Sg-S^ du groupe 80 peuvent être pris comme exemples des commutateurs à manipulation par le pouce et des cadrans à maintien de position qui sont représentés sur la baie de contrôle de la console de la figure 6. Ils peuvent encore 35être considérés comme représentant des commutateurs limites non interrupteurs et tout autre dispositif à contact dur extérieur utilisé pour introduire de l'information sous forme numérique dans le calculateur 18. Les commutateurs sont naturellement des dispositifs numériques dont la fermeture permet d'introduire le chiffre un et 4C l1 ouverture le chiffre zéro. 71 26974 25 2102070 Les formes d'onde de la figure 4a_ sont utiles pour comprendre le déroulement dans le temps d'un transfert de données a partir des commutateurs 66,. La donnée de sortie ou signal OD^ contient l'adresse du groupe de commutateurs qui doit être servi. 5 A la figure 4, l'adresse choisit l'une des bascules 426, 428 ou 430 pour changer ses potentiels respectifs. A l'intérieur de l'intervalle de temps correspondant à l'impulsion OD^, le signal CO^ est laréponse du registre d'adresses 367 à l'adresse OD^ du groupe de commutateurs concernés. Le signal "Reg Add" à la ligne sui-10 vante de la figure 4a. signifie que le décodeur 368 produit un signal de sortie en direction de l'une des entrées de la porte 418. Le signal DO^ correspond a l'émission de la donnée et survient pendant un "mot de commande de commutation" indiqué par la seconde impulsion sur la ligne OD^. Ceci complète les signaux d'entrée 15 sur la.porte 418 et amène la bascule sélectionnée a changer d'état. La séquence d'entrée comprend de nouveau l'adresse ID^x du dispositif introducteur de données pour qualifier la porte 446 et transférer les informations des récepteurs de lignes 412, 414, 416 au câble omnibus d'entrée 22. 20 Le transfert des données des commutateurs 80 et des bou tons-poussoirs 66 vers le calculateur 18 est contrôlé par une porte ET418 qui reçoit une adresse du décodeur d'adresses 368 et un signal DOjqç ou de sortie de données du calculateur 18 pour appliquer un signal de qualification à l'une des portes ET420, 422 et 424 dont 25 chacune est associée à un groupe de commutateurs différent. L'autre entrée des portes 420, 422 et 424 est connectée respectivement aux trois premiers conducteurs du câble omnibus de sortie 26. Lorsqu'elles sont conductrices, les portes 420^ 422 et 424 changent la condition des bascules respectives 426, 428 et 430. Le changement 30 d'état de ces bascules excite des dispositifs d'entraînement de commutateurs 432, 434 et 436 pour appliquer des potentiels négatifs relativement uniformes à une extrémité de chacun des commutateurs dans les trois groupes respectifs S^-Sg ; S^-S.^ et 66. En supposant que le dispositif d'entraînement de commutateur 432 soit 35 excité ; un potentiel négatif est appliqué à une extrémité ou un contact des commutateurs à Sg. Ces commutateurs qui sont ouverts n'envoient pas de signaux à leur réception de ligne associé et cette absence de signal est interprêtée comme un zéro. Les commutateurs qui sont fermés envoient chacun un signal à leur récepteur de ligne associé et ce signal est interprêté comme un "un". De 71 26974 2102070 cette manière, un mot à huit chiffres est lu en parallèle au profit du calculateur 18 et chaque chiffre représente la donnée contenue dans chaque commutateur» Suivant le schéma général en temps du dispositif illustré 5 les "uns" et les "zéros" provenant des récepteurs de lignes 412 à 416 sont- introduits dans les conducteurs du câble omnibus d'entrée 22 par l'intermédiaire de portes ET438, 440 et 442. IL y a huit telles portes, une pour chaque élément d'information c'est-à-dire pour chaque conducteur d'entrée. Le conditionnement des portes 10 438 à 442 est commandé par une porte 446 qui reçoit l'adresse du dispositif et les signaux DI^ (données sur le cable omnibus d'entrée 22) en provenance respectivement du décodeur d'adresses 368 et du calculateur 18. La porte 446 à la figure 4 est l'équivalent de la porte 351 à la figure 3. Lorsque les deux signaux sont appli-15 qués simultanément à la porte 446, les portes 438, 440 et 442 s>nt rendues passantes pour permettre le transfert des signaux respectivement des récepteurs de lignes 412, 414 et 416 vers les conducteurs correspondants du cable omnibus d'entrée 22» Evidemment les seules portes qui conduisent réellement sont celles qui sont as-20 sociées à un^ commutateur fermé. Supposant que le calculateur 18a, terminé toutes ses tâches de priorités supérieures et a introduit la sous-routine d'exploration des commutateurs 80, une commande de sortie et un signal D°xx sorrt appliqués aux entrées de la porte 418. La sous-routine 25 oblige ensuite un "un" à apparaître sur le conducteur le plus à gauche du câble omnibus de sortie 26 et par conséquent amène la porte 420 à 1' état passant et qualifie la bascule 426. Ceci excite le dispositif d'entraînement de commutateur 432 ce qui applique un potentiel aux commutateurs S^ à Sg. Ensuite une adresse et un si-30 gnal DI^ sont appliqués à la porte 446 pour rendre passantes les portes ET d'entrée 438, 440 et 442. Ces portes qui reçoivent aussi un signal "un" des récepteurs de lignes associés 412, 414 et 416 appliquent un Mun" aux conducteurs corespondants du câble omnibus d'entrée 22. Les portes qui ne reçoivent pas de signal du récep-35 teur de ligne associé appliquent un "zéro" au conducteur correspondant du câble 22. Ensuite la sous-routine amène un "un" à apparaître sur le second conducteur à partir de la gauche du câble omnibus de sortie 26 ce qui rend passante une porte ET422 et inverse la condition de 40 la bascule 428. Ceci excite le dispositif d'entraînement de com 71 26974 27 2102070 mutateurs 434 et applique des potentiels aux commutateurs Sg à S.jg. Ces commutateurs sont lus également sur les conducteurs du cible omnibus d'entrée 22 de la manière décrite ci-dessus. La sous-routine modifie le signal en provenance des conducteurs du cible omnibus de 5 sortie 26 autant de fois qu'il y a de groupes de commutateurs à explorer jusqu'à ce que tous ces groupes l'aient été. Comité on l'a déjà indiqué le calculateur peut fonctionner au ralenti sur cette sous-routine pendant un certain temps tout en explorant continuellement les commutateurs des groupes individuels. 10 Les portes 452, 454, 456 sont utilisées pour restaurer les bascules respectives 426, 428 et 430 à la fin des impulsions de chiffres d'identification de groupes qui sont appliquées respectivement aux portes ET de qualification 420; 422 et 424. Des inverseurs sent connectés entre les conducteurs de chiffres d'identifica-15 tion de groupe et les entrées des portes de restauration pour amener l'opération de restauration à se produire automatiquement. En se reportant à présent aux commutateurs 66 à boutons-poussoirs on a indiqué précédemment que ces commutateurs sont équipés de la faculté d'interruption c'est-à-dire qu'en fermant un com-20 nratateur quelconque du groupe 66 il en résulte l'émission d'un signal d'interruption qui est appliqué au calculateur T8 par le conducteur d'interruption 24. Bien que les commutateurs 66 soient désignés ici comme commutateurs à boutons-poussoirs, ils peuvent être pris comme représentant les commutateurs limites et autres dispo-25 sitifs à contact dur utilisés pour prévenir le calculateur 18 d'une condition d'écoulement de données (soit une transition de la position ouverte à la position fermée soit 1 'inverse) immédiatement lors de l'apparition de cette condition d'écoulement de données. Par conséquent les commutateurs 66 sont une "source de données" dans le 30 sens de ce texte et suivant les illustrations spécifiques du diagramme des circuits de la figure 3. Le groupe entier des commutateurs 66 à boutons-poussoirs est traité par le- calculateur 18 comme un dispositif individuel, le contenu des dohnées de tous les commutateurs étant lu simultanément et en parallèle au moyen du câble 35 omnibus d'entrée 22. On notera qie le groupe des commutateurs 66 est divisé en deux sous-groupes distincts 66a_ et 66b, les contacts du groupe 66a, fonctionnant pour transférer les données au calculateur 18 tandis que les contacts du groupe 66b engendrent le signal d'interrup-40 ;ion et transfèrent l'information relative à l8adresse du dispositif 71 26974 2102070 au calculateur 1 8 à la suite de l'émission du signal d'interruption. Les portions des contacts des commutateurs sont interconnectées mécaniquement comme indiqué, c'est-à-dire que les deux parties de contact du commutateur pe r exemple se ferment et s'ouvrent 5 simultanément. Ceci est brai également pour tous les autres commutateurs du groupe S-j g à S24. Le transfert des données des commutateurs d'effectue sous la commande des portes 424 et 456, de la bascule 430 et du dispositif d'entraînement de commutateurs 436 précédemment décrits. Les 10 parties des commutateurs à boutons-poussoirs qui sont utilisés au transfert des données sont traitées de la même manière que celle qui a été décrite à propos des groupes de commutateurs à Sg et Sg à S^ une fois que le signal d'interruption a été émis, sa réception accusée et que 1?adresse du dispositif représenté par les 15 commutateurs 66 a été transférée au calculateur 18 et interprêtée. Les contacts générateurs du signal d'interruption du groupe 66 d'autre part engendrent une fonction séparée d'émission de signal et dans ce but un contact de chacun des commutateurs du groupe 66b est connecté à un point à petentiel de référence tel que 20 la masse tandis que l'autre contact est connecté par un conducteur . 452 à l'entrée "S" de qualifidation d'une première bascule bista- % ble 454 par l'intermédiaire d'un circuit récepteur de ligne» La bascule 454 est reliée en série ou en cascade à une seconde bascule 458. Ces deux bascules étant connectées à une horloge externe. 25 La sortie "un" de la bascule 454 est appliquée d'une part à l'entrée "S" de qualification de la bascule 458 et d'autre part à une entrée d'une porte ET462. La sortie "zéro" de restauration de la bascule 458 est reliée par un conducteur 464 à l'autre entrée de la porte 462. La sortie de la porte ET462 est reliée à l'entrée "S» de res-30 tauration d'une bascule bistable 306 qui apparaît déjà sur la figure 3. La sortie "un" de la bascule 306 est reliée à la porte 0U308 à la porte ET de restauration 366 et à la porte ET de contrôle d'entre d'adresse 321, dont le fonctionnement a été décrit à propos de la figure 3. Les bascules 454 et 458 se comportent exactement comme 35 les bascules 359 et 360 de la figure 3 en ce qu'elles servent à engendrer une- impulsion synchronisée lors d'une transition du signal de données. Le fonctionnement du groupe de commutateurs à boutons-poussoirs 66 de la figure 4 est le suivant î la fermeture de n'im-40 porte lequel des commutateurs du groupe S17 à S24 ferme les contacts 71 26974 29 2102070 correspondants dans le groupe 66b ce qui applique un signal d'entrée à l'estrémité de qualification S de la bascule 454 par l'intermédiaire d'un circuit récepteur de ligne. La bascule 454 est qualifiée lors de l'impulsion d'horloge suivante. La bascule 454 qua-5 lifie alors la bascule 458 et durant l'intervalle de temps séparant les deux impulsions d'horloge qui ont successivement qualifié les bascules 454 et 458 les deux entrées de la porte ET462 sont à un potentiel élevé. Par conséquent la porte ET462 émet un signal sur sa sortie qui qualifie la bascule d'interruption 306. Il en 10 résulte un signal transmis à la porte 0U308 et de là au conducteur d'interruption 24. Supposant qu'il n'y a pas à ce moment de source de donnée avec une meilleure priorité recherchant l'attention du calculateur 18, toutes les portes 312, 314 et 316 de la figure 3 sont qualifiées par leur bascule associée. Le signal d'interroga-15 tion appliqué sur le conducteur 310 traverse la porte 316 et se propage jusqu'à la porte d'entrée d'adresse 321. L'adresse 00101100 du groupe de commutateurs 66 à boutons-poussoirs est transmise au cable omnibus d'entrée 22 de la façon qui a été décrite à propos de la figure 3 lors de l'apparition d'un signal d'acquiescement 20 entrée-sortie sur le conducteur 317. La réception de l'adresse unique du groupe de commutateurs 66 à boutons-poussoirs dans le calculateur 18 est interprêtée comme une commande d'avoir à émettre un signal de sortie sur le conducteur numéro trois du câble omnibus de sortie 24 pour rendre passante la porte 424, qualifier 25 la bascule 430 et exciter le dispositif d'entraînement de commutateur 436. Ce dernier, comme précédemment mentionné est unique pour le groupe dé commutateurs 66 et pa r conséquent il en résulte le transfert des données des commutateurs vers le câble omnibus d'entrée 22 en conformité avec le processus décrit précédemment. 30 On remarquera que pour rendre passante la porte 446 la même adresse est engendrée par le décodeur 368 qu'il s'agisse du groupe 66 ou du groupe 80 de commutateurs, la différence dans la sélection des dispositifs étant obtenue à partir du programme de commande dans le calculateur 18 pour exciter le conducteur appro-35 prié dans le cable omnibus de sortie 26 et produire le mot.de commande qui correspond au groupe de commutateurs que l'on désire sélectionner. D'autres techniques de décodage et de réponse pourraient évidemment être employées. Les différentes parties de la figure 5 désignées de 5a 40 à 5n décrivent en termes de programme le software que l'on ajoute 71 26974 2102070 au calculateur 18 pour faire de ce calculateur d'usage universel un calculateur adapté particulièrement aux nécessités de l'arrangement de la figure 1. En décrivant le software, les sous-routines individuelles sont représentées par des blocs successifs numérotés 5 identifiant en termes fonctionnels généraux les caractéristiques de software qui doivent être introduites. Chaque fonction individuelle peut réclamer une ou plus d'une instruction de machine, ces instructions devant être préparées suivant un format et un langage appropriés à l'appareillage spécifique sélectionné pour mettre l'in-10 vention en pratique. De telles commandes spécifiques peuvent être préparées par un programmer familiarisé avec l'appareillage décrit ici ainsi qu'avec les exigences de commande et de contrôle décrites. En se reportant à la figure 5a., la sous-routine de service d'interruption en relation aved le lecteur de bande 28 comprend 1b une étape 500 correspondant à l'émission du signal de disqualification d'interruption sur le'conducteur 102 de la figure 1 et la lecture d'un caractère par le lecteur 28 suivant le processus opératoire décrit en liaison avec la figure 3. On passe à l'étape 501 qui est une fonction de décision qui consiste à savoir si une er-20 reur de parité a été détectée par l'unité 352. Comme précédemment décrit une erreur de parité a pour résultat l'entrée d'un mot composé uniquement de zéros dans le calculateur. Si aucune erreur n'est détectée, on passe à l'étape 502 qui est une autre fonction de décision qui consiste à déterminer si le mot qui vient juste 2b d'être lu doit être placé dans la mémoire temporaire. Cette mise en mémoire temporaire est normalement exécutée pour des caractères à mi chemin dans un bloc et comporte une fonction de mémoire tampon de façon que la totalité d'un bloc de caractères puisse être transférée aux interpolateurs 52 et 54 en une seule opération. En 30 supposant qu'il a été répondu affirmativement à la fonction de l'étape 502', on passe à l'étape 503 qui détermine si le caractère reçu correspond à une fin de bloc d"information. Dans l'affirmative on passe à l'étape 504 qui exécute la fonction d'arrêter le lecteur de bande 28 et de se préparer à exécuter une tâche de fin de bloc que 351'o.n décrira ultérieurement. Une fois que la tâche dé fin de bloc a été préparée, le programme passe à l'étape 505 qui consiste en-un retour à la routine de programme général de la figure 5_f. Si l'étape 501 a déterminé la présence d'une erreur de parité, le programma passe automatiquement à l'étape 506 qui consiste en l'apparition d'un 40 drapeau pour indiquer la présence d'une erreur et stopper le lecteur 71 26974 31 2102070 de bande 28 à l'étape 507. De la même manière si le caractère évalué à l'étape 502 n'est pas destiné à un emmagasinage temporaire, le programme passe de l'étape 502 a l'étape 508 qui consiste à préparer la tâche d'emmagasinage de caractère qui sera décrite avec la fi-5 gure 5ç[. La détermination du fait qu'un caractère est un caractère de fin de bloc résulte aussi dans l'écoulement du programme de l'étape 503 à l'étape 508. Comme indiqué l'étape 508 passe à l'étape 505 qui produit un retour du programme général de la figure 5f_. Suivant la figure 5b, la sous-routine de service d'inter-10 ruption en liaison avec l'horloge externe 40 comprend une étape 509 qui consiste à disqualifier le conducteur d'interruption 24 au moyen de la bascule 98 de la même manière que la routine de la figure 5_a fonctionne. Une fois que le conducteur d'interruption est disqualifié, la sous-routine d'horloge passe a l'étape 510 qui consiste 15 à lire le contenu des compteurs 106 et 108 et à le transférer dans la mémoire du calculateur. La routine passe aux étapes 511 et 512 qui consistent à préparer respectivement les tâches des positions d'axes et du compte dans le sens décroissant qui sont illustrés aux figures 5h et 5^. La sous-routine de la figure 5b prend fin avec 20 l'étape 513 qui consiste dans le retour à la sous-routine 200 du programme général. Suivant la figure 5£ la sous-routine de service d'interruption pour les interpolateurs 52 et 54 comporte l'étape 514 qui consiste à disqualifier le conducteur d'interruption suivi d'un con-25 trôle pour déterminer si une condition de faute d'entrée telle qu'une erreur de parité existe (étape 515). S'il n'existe pas d'erreur de parité, on passe à l'étape 516 qui consiste à transférer par l'intermédiaire du câble omnibus de sortie 26 les variations dans les positions axiales commandées du calculateur 18 vers les 30 interpolateurs 52 et 54 en accord avec les données du programme sur bande. On passe ensuite à l'étape 517 qui consiste à transférer le nombre de vitesse de déplacement lu sur la bande 30 à l'unité 134 de commande de vitesse de déplacement de la figure 1. On passe à l'étape 518 qui consiste à démarrer le processus d'addition des interpo 35 lateurs 52 et 54. On passe à l'étape 519 qui consiste à préparer un nettoyage de bloc tâche qji comprend diverses fonctions mathématiques et de remise à zéro. Ensuite la sous-routine passe à l'éta pe 520 qui consiste à retourner au programme général. Si une faute sous la forme d'une erreur de parité a été détectée à l'étape 515, 40 la sous-routine passe directement à l'étape 520. 71 26974 2102070 Suivant la figure 5d, la sous-routine de service d'interruption en liaison avec les boutons poussoirs 66 des figures 3 et4 comprend l'étape 521 au cours de laquelle le conducteur d'interruption 24 est disqualifié. Puis l'étape 522 consiste à transférer à 5 la mémoire 20 l'adresse du groupe de commutateurs particulier qji exécute la fonction d'interruption. C'est-à-dire que le groupe de huit boutons poussoirs commutateurs 66a_ et 66b de la figure 4a_ est, dans une installation typique, l'un seulement d'une multitude de groupes de boutons-poussoirs, chaque groupe ayant sa propre adresse 10 qui est transférée au calculateur 18-au moyen des circuits représentés sur la figure 3. Puisque chaque groupe de boutons-poussoirs utilise les mêmes conducteurs d'entrée de connées sur les huit conducteurs du câble omnibus d'entrée 22 et que l'information d'adresse en provenance du groupe particulier de boutons-poussoirs est 15 promptement dissipée lors de 1*acquiescement dans la mesure oti l'appareillage externe est concerné, il est nécessaire pour l'interprétation des données de protéger l'adresse du dispositif interrupteur par un transfert approprié aux dispositifs d'emmagasinage» De l'étape 522 on passe à l'étape 523 qui consiste .en la préparation de 20 la tâche d'interruption de baie de la figure 5m. Enfin l'étape 524 provoque le retour à la routine 200 du programme général de la figure 5f. La figure 5e. illustre une sous-routine optionnelle qui peut être utilisée pour établir un intervalle de temps suivant la 25 réception d'un signal d'interruption avant que la sous-routine de service d'interruption affectée au dispositif source du signal d'interruption soit mise en fonctionnement$-Cette sous-routine comprend l'étape 525 consistant à disqualifier le conducteur d'interruption 24; l'étape 526 qui consiste en l'établissement d'une fonc-30 tion de temps appelée ci-après un compteur pour la tâche d'appel; l'étape 527 qui consiste à changer l'état de la tâche consistant à retarder en celui d'une tâche d'attente. Enfin l'étape 528 comprend le retour à la routine 200 du'programme général de la figure 5f. 35 La figure 5f_ illustre la,sous-routine 200 du programme général comme comprenant l'étape 529 qu i consiste à qualifier le conducteur d'interruption 24 par la production d'un signal de sortie approprié sur le conducteur 100 de la figure 1. L'étape 530 consiste à déterminer la tâche ou la sous-routine de priorité la plus hau-40 te qui est en condition pour être exécutée. L'étape 531 correspond 71 26974 33 2102070 à la décision logique de savoir si la tâche déterminée a l'étape 530 est parvenue au milieu de son exécution. On rappelle que suivant la figure 2, les sous-routines qui figurent a la ligne supérieure ne peuvent être interrompues tandis que celles qui sont à la 5 ligne inférieure le sont et que par conséquent si une des tâches inférieures est interrompue au milieu de son exécution, il est souhaitable de retourner a cette tâche dès qu'aucune sous-routine de service d'interruption ne nécessite d'exécution. Si la tâche sélectionnée à l'étape 530 n'est pas parvenue au milieu de son exécution, 101a sous-routine passe à l'étape 532 qui consiste à entreprendre la tâche sélectionnée. Autrement la sous-routine passe à l'étape 533 qui consiste à retourner a la tâche interrompue au point d'interruption. La figure 5^, illustre les étapes de la tâche d'emmagasi-15nage de caractères qui est exécutée en liaison avec le fonctionnement du lecteur de bande 28. La sous-routine correspondante comprend l'étape 534 qui correspond a une détermination logique pour savoir si un caractère de la bande 30 est destiné à un emmagasinage temporaire ou a être transféré a 1'interpolateûr ; S'il s'agit 20d'un emmagasinage temporaire on passe à l'étape 535 qui produit la conversion du' caractère en binaire pur et la mise à jour du dispositif d'emmagasinage qui peut être une portion d'emmagasinage tampon de la mémoire 20. De l'étape 535 la sous-routine passe a l'étape 536 qui est le retour à la sous-routine 200 du programme général. 25D'un autre côté si le caractère n'est pas destiné.à un emmagasinage temporaire, la sous routine passe de l'étape 534 à l'étape 537 qui comprend l'exécution d'un nombre de séquence ou de la recherche d'un nombre en accord avec les valeurs ou les paramètres entrés manuellement a l'aide de l'appareil de la figure 7. 30 La figure 5h illustre les étapes 538 et 539 de la sous- routine de mise à jour de la position d'axe. L'étape 538 comprend simplement l'addition du contenu des compteurs de position 106 et 108 à la position cumuttive de l'axe commandé dans la mémoire 20. L'étape 539 correspond au retour à la sous-routine 200 du programme gé-35néral. La figure 5i_ illustre la tâche de fin de bloc qui est préparée par l'étape 504 de la figure 5a, „ La tâche de fin de bloc comprend l'étape 540 qui consiste à calculer le nombre de vitesse de déplacement qui est commandé par l'information sur la bande program-40me 30. On passe ensuite à l'étape 541 qui consiste à glisser un chif 71 26974 34 2102070 fre de marquage de fin de bloc à toutes les différences dans les interpolateurs pour diminuer le temps mis à l'interpolation en diminuant effectivement la longueur du registre pour la faire correspondre au chiffre contenu. La diminution de longueur s'effectue en 5 décalant le chiffre du nombre de positions d'interpolateûr inutilisées dans le bloc. L'étape 541 est suivie de l'étape 542 qui est un retour a la sous-routine 200 du programme général0 La figure 5j_ illustre la tâche d'un comptage dans le sens décroissant qui est établie dans l'hypothèse où il y aurait une 10 fonction de temps accomplie en liaison avec la figure 5^. La tâche du comptage dans le sens décroissant comprend l'étape 543 qui consiste à diminuer les temps d'horloge établis par la sous-routine des temps pour chaque tâche en attente. Puis on passe à l'étape 544 qui consiste à déterminer que la fonction de compteur d'une tâche 15 donnée qui a été retardée a été réduite a une valeur inférieure a zéro et à changer le statut de cette tâche de l'attente en celui de l'absence d'attente si bien que la tâche peut être exécutée immédiatement. L'étape 544 mène à l'étape 545 qui est un retour à la sous-routine 200 du programme général. 20 La figure 5k. est la sous-routine de la tâche de nettoya ge de bloc exécutée en liaison avec les exigences de données sur la bande programme autres que celles relatives aux positions d'axe et à la vitesse "de déplacement. Cette sous-routine commence avec l'étape 546 qui comprend la sortie par le câble omnibus 26 du nombre 25 de séquence s'il existe, du code de refroidissement, du code de vitesse de rotation de broche et du code de décalage d'outil. Ces codes sont transmis par le câble omnibus de sortie 26 aux dispositifs appropriés pour répondre à ces informations d'une manière classique. On passe à l'étape 547 qui comprend la restauration de l'em-30 magasinage temporaire pour les caractères du lecteur de bande et le démarrage de ce dernier. On passe a l'étape 548 qui comprend la détermination de savoir si un retard était programmé dans la tâche du nettoyage de bloc. S'il y a un retard on passe h l'étape 549 qui consiste en un retour à la sous-routine de contrôle de temps et 35 une attente pendant l'intervalle de temps fixé. S'ilrn'y a pas de retard ou si celui-ci a été observé en relation avec l'étape 549,-la sous-routine passe à l'étape 550 qui comporte la décision logique de savoir si une correction de vitesse de rotation de broche a lieu d'être exécutée pendant une exécution de bloc. Dans l'af-40 firmative on passe à l'étape 551 qui consiste a préparer la tâche 71 26974 35 2102070 d'exécution de bloc et en un retour à la sous-routine 200 du programme général par l'étape 552„ S'il n'y a pas de correction de vitesse de rotation de broche pendant l'exécution de bloc, on passe de l'étape 550 à l'étape 553 qui consiste à faire avorter la tâche 5 d'exécution de bloc et à revenir directement à la sous-routine 200 du programme général par l'étape 552. La figure 51. montre que la sous-routine de tâche d'exéè cution de bloc comprend l'étape 554 au cours de laquelle est calculée la nouvelle vitesse de rotation de broche basée sur un nou-10 veau rayon de courbure, c'est-à-dire la distance qui sépare l'axe central de la pointe de l'outil. Puis on passe à l'étape 555 qui comporte la sortie du nouveau nombre de vitesse de rotation de broche par l'intermédiaire du câble omnibus 26 vers l'unité de commande 152 en centimètres par tout de la figure 1. Puis l'étape -15 556 est exécutée pour aller vers la sous-routine du contrôleur de temps fixé et attendre cent millisecondes. L'étape 556 peut être exécutée suivant la représentation, comme une fonction en boucle. La figure 5m illustre la sous-routine d'interruption de baie comme comportant l'étape généralisée 557 de mise à jour de 20 l'affichage des données sur la baie de la figure 7, le début d'une recherche de nombre de séquence s'il en existe, la recherche d'un caractère de la bande s'il en existe, le déplacement du berceau de l'outil jusqu'à la position de repos, si cela est exigé par le fonctionnement de l'appareil de la figure 7, provoquer le démar-25 rage ou l'arrêt des interpolateurs, déterminer laquelle des tâches précédentes est appropriée à la fonction d'interruption de baie et exécuter la fonction exigée par les boutons-poussoirs de la baie. L'étape 557 est suivie de l'étape 558 qui consiste à revenir à la sous-routine 200 du programme général. 30 La figure 5n illustre la sous-routine de priorité la plus basse qui consiste à explorer les commutateurs de baie qui n'ont pas la faculté d'interruption. La sous-routine comprend l'étape 559 qui correspond à la lecture de tous les commutateurs sur la baie de commande et au transfert des informations corres-35 pondantes au calculateur 18 au moyen du câble omnibus d'entrée 22 à huit conducteurs. Puis vient l'étape 560 qui consiste à ne ttre à jour l'affichage des données en liaison avec la position des commutateurs de baie. La sous-routine de la figure 5n_ est par conséquent exploitée comme une boucle sujette à recevoir un signal 40 d'interruption en provenance d'une sous-routine ou d'une tâche d'un 71' 26974 36 2102070 ordre supérieur. La figure 6 représente un mode de réalisation préféré du système de commande numérique décrit et qui est représenté comme comprenan t une armoire console métallique 600 ayant deux see-5 tions supérieures 602 et 604. Chaque section est munie d'une porte ouvrante .supportée par des charnières verticales. La section 602 est munie d'un panneau 606 de "plexiglass" en forme de L qui laisse voir la partie porteuse de bande du lecteur de bande 28 si bien que l'on peut observer son fonctionnement mécanique. Les commandes 10 du lecteur de bande sont disposées dans la moitié supérieure de la section 602 et l'alimentation en puissance du système est disposée dans la moitié inférieure de la section 602. La section 604 disposée à droite porte à sa partie supérieure une baie 608 qui sera décrite plus complètement en liaison avec la figure 7 pour l'en-15 trée manuelle des données. En dessous de la baie 608 se trouve la baie frontale 610 du calculateur numérique 18. La baie 610 contient un assortiment d'éclairages et de commande pour le fonctionnement du calculateur» En dessous de la baie 610 mais dans la section 604 se trouve le casier à cartes logiques comprenant les circuits servant 20 d'interface entre le calculateur 18 et les dispositifs externes. La console 600 est reliée par un cable 612 à la machine-outil 12 qui, dans l'illustration de la figure 6 est un tour bi-axial 614 avec un tour-revolver 616 et un tableau de commande 618. Les principes de l'invention s'étendraient aisément à un sys-25 tème de commande numérique d'un nombre quelconque d'axes commandés en accord avec les besoins du type particulier de machine-outil qu'il conviendrait de contrôler. . En se reportant à la figure 7 la baie 608 de la console 600 de la figure 6 est représentée à une échelle agrandie comme 30 comprenant une partie supérieure 700 d'affichage disposée derrière un panneau sombre de "plexiglass". La baie de contrôle 700 comprend une multiplicité de voyants lumineux dont un groupe 702 qj i indicp e l'état de commande du système, un groupe 704 qui indique le mode dans lequel le programme de commande fonctionne présentement, un 708 qui. indique l'état du contrôle adaptateur et un groupe 35 groupe/706 qui indique l'emplacement d'une faute de commande, un groupe 710 qui indique les contraintes du contrôle adaptateur qui ont été imposées» Au dessous des groupes de voyants lumineux 702 à 710 se touve une multiplicité de groupes de tubes Nixie comprenant notamment : un groupe 712 formé de trois tubes qui affichent 40 le nombre de séquence qui est exécuté ; un groupe 714 formé de deux 71 26974 37 2102070 tubes pour indiquer le nombre correspondant au décalage de l'outil qui a été enregistré dans l'appareil et un groupe 716 formé de huit tubes pour afficher les données courantes en provenance du programme ou de toute autre source de données qui a été choisie pour l'af-5 fichage. La baie 608 correspond en général à la baie 68 de la figure 1 et comprend en outre une multiplicité de commutateurs, boutons-poussoirs et cadrans pour enregistrer des informations dans le système de commande. Ces commutateurs comprennent un cadran 10 718 qui peut prendre sept positions différentes pour sélectionner le mode de fonctionnement du système. Un groupe de commutateurs 720 comprend dix commutateurs 722 à manipulation parle pouce qui sont associés à des roues numériques pour introduire dans le système de commande une information d'adresse, d'affichage de position, 1 5 de chiffre d'axe, et de chiffre logarithmique. Les commutateurs 722 à manipulation par le pouce peuvent faire partie du groupe de commutation 80 des figures 1 et 4„ Un groupe de boutons-poussoirs 724 comprend treize boutons-poussoirs 66 dont dix sont utilisés pour introduire des informations numériques, un est utilisé pour 20 indiquer la fonction arithmétique de sous-traction, un sert aux remises à zéro et le dernier est utiliés à perforer la commande "entrez". Un groupe de remise à zéro et de positionnement comprend un cadran 726 et des boutons-poussoirs 728 et 730. Le cadran d'entrée et d'affichage 732 permet.de choisir les opérations particu-25 lières d'entrée et d'affichage souhaitées. Des cadrans 734 et 736 fournissent les commandes du lecteur de bande. Un bouton poussoir 738 commande le départ de tout cycle donnée. On trouve aussi un cadran 740 de pourcentage de vitesse de déplacement. On trouve une paire de cadrans 742 et 744 de symétrie d'axes respectivement pour 30 les axes X et Z. Un cadran 746 de test de lampe se trouve à côté d'un cadran 748 de commande d'adaptation. Des cadrans manuels de vitesse de déplacement 750, 752 et 754 permettent d'introduire et de contrôler les informations manuelles de vitesse de déplacement. Un cadran d'arrêt 756 en option et un bouton-poussoir d' arrêt de 35 secours 758 du berceau de l'outil complètent les dispositifs de ■ commande et de contrôle sur la baie de la figure 7. Il a été indiqué précédemment en liaison avec la figure 4 que les boutons-poussoirs et les commutateurs de la baie 608 sont disposés en groupes de huit pour correspondre aux huit conducteurs 40 d'entrée du câble omnibus 22. Chaque groupe de huit est traité 71 26974 38 2102070 par le calculateur comme étant un dispositif. De plus certains de ces dispositifs sont associés à une faculté d'interrompre et d'autres ne le sont pas» Parmi les commutateurs qui ont la faculté d'interruption 5 on trouve : les boutons-poussoirs 66 ; le commutateur manuel de vitesse de déplacement 754 ; le bouton-poussoir de zéro d'axe 728 ; le boyton-poussoir 730 de retour à la position de repos ; le boude demarrage de cycle 738 ; le bouton-poussoir ton-poussoir/d*arrêt de coulisse 758 ; le commutateur 726 et le commutateur de commande 734 de déroulement du lecteur de bande. Les 10 boutons-poussoirs possèdent des ressorts antagonistes pour s'ouvrir lors d'un relâchement de la pression manuelle. Les boutons-poussoirs du groupe 66 numérotés de zéro à sept forment un dispositif ayant une adresse unique d'interruption. Les boutons-poussoirs numérotés- huit, neuf, moins et "entrez" ; les 15 commutateurs 754 (deux positions), 728 et 730 consitutent un autre dispositif ayant une adresse unique d'interruption. Les commutateurs restants consitutent un troisième dispositif ayant sa propre adresse. Chaque dispositif est muni d'un circuit d'entrée d'adresse comme celui qui a été représenté à la figure 4 pour les boutons-20 poussoirs 66. A chaque fois que l'un quelconque des commutateurs dans un groupe de huit est enfoncés tout le groupe de huit forme entrée mais seul le conducteur associé au commutateur fermé reçoit un "un". Etant donné que le dispositif ou le groupe de commuta-25 teurs provoquant l'interruption ne présent son adresse au calculateur 18 que dans la mésure où il a reçu l'acquiescement, la sous-routine de la figure 5d dans son étape 522 est chargée de protéger, c'està-dire d'emmagasiner l'adresse du groupe de commutateurs interrupteurs. Par conséquent la donnée introduite par le conducteur 30 particulier du câble omnibus d'entrée est interprêtée a la lumière de l'adresse du dispositif ainsi emmagasinée pour la distinguer de la même donnée qui pourrait venir d'un autre groupe de commutateurs. L'une des fonctions exécutées par les commutateurs 80 et 66 est l'introduction d'informations relativement au décalage de 35 l'outil dans la mémoire 20 du calculateur 18. Ceci doit être distingué des systèmes classiques dans lesquels les décalages des outils sont emmagasinés sous la forme de la mise en position de commutateurs à manipulation par le pouce qui doivent ensuite rester dans la position où ils ont été placés aussi longtemps que le dé-40 calage particulier reste en vigueur. Suivant le mode de réalisation 71 26974 39 2102070 représenté, les décalages d'outils sont emmagasinés dans la mémoire 20 et le sont manuellement dans une position adressable si bien que le nombre de décalage d'outil peut être imployé comme adresse de cette position et que l'on peut utiliser effectivement le décalage 5 d'outil correspondant. On peut si on le désire emmagasiner simultanément cent décalages d'outils dans la mémoire 20. Des décalages supplémentaires nécessitent simplement de la place en plus dans la mémoire 20. Pour introduire en mémoire 20 un décalage, d'outil, le 10 commutateur d'entrée et d'affichage 732 est placé dans la position correspondant au décalage d'outil et le commutateur de mode 718 est mis sur la position "entrée d'une donnée". Chaque décalage d'outil qui consiste en une ou plusieurs commandes d'accroissement d'axe, est identifié par un des nombres de décalage d'outil compris 15 entre un et quatre-vingt dix neuf dans l'exemple précédent» Ce nombre est introduit à l'aide des commutateurs 722 à manipulation par le pouce et les commandes d'accroissement sont introduites en utilisant Je s boutons-poussoirs 66 du clavier 724. Un affichage 714 à deux chiffres par tubes Nixie donne 20 à l'opérateur une indication visuelle du décalage d'outil qui est en service pendant l'exécution du programme. Les décalages d'outil peuvent être appelés en service par le programme figurant sur la bané de 30 de diverses manières et les mouvements de décalage peuvent être exécutés simultanément, en séquence, ou combinés avec les 25 mouvements commandés par la bande si on le désire. Dans le cas d'un tour, le programme lu par le lecteur 28 sur la bande 30 présente l'information relative à la vitesse de déplacement au calculateur 18 et ce dernier utilise cette information pour préparer les signaux en vue de leur transfert h l'unité 134 de 30 commande de vitesse de déplacement. L'unité de commande de vitesse de déplacement 134 en échange engendre des ordres d'additioiis qui sont appliqués aux interpolateurs 52 et 54 pour déterminer la vitesse a laquelle l'information des blocs figurant sur la bande 30 doit être exécutée par l'outil 12. L'utilisation du calculateur 18 ayant 35 une mémoire 20 et étant programmable par les techniques classiques de software permet à un seul appareil de recevoir une variété de formats de vitesses de déplacements. L1 appareillage dans le système relatif à la vitesse de déplacement est classique et est généralement extérieur au calculateur 1 8 pour fournir la cadence des impul-40 sions de commande d'additions aux interpolateurs classiques 52 et 54 71 26974 40 2102070 utilisant une minuterie comme source de chiffre binaire. La cadence des impulsions à la sortie des interpolateurs 52 et 54 est proportionnelle au nombre de vitesse de déplacement fourni à l'unité de commande de vitesse de déplacement 134 par 5 le calculateur 18. Ce chiffre est calculé par une sous-routine utilisant le mot de commande de vitesse de déplacement sur la bande 30. Le format de ce mot peut être FRN (nombre de vitesse) inverse du temps, IPM direct ou tout autre format et une sous-routine différente est nécessaire pour chacun. 10 Dans le cas d'un format de vitesse de déplacement direct IPM, le calculateur 18 calcule le nombre de vitesse de déplacement pour l'unité de commande de vitesse de déplacement 134 en utilisant l'équation programmée : FRN = 217/3.104. IPM/AR 15 dans laquellëvûR est le secteur normalisé dans le bloc. Une autre caractéristique de la présente invention réside dans la possibilité de retour à la"position de repos" grâce à l'utilisation du bouton-poussoir 730 sur la baie 608 de la figure 7. Il est classique dans les unités de commande de machine 20 d'avoir une possibilité de retour au repos pour le positionnement des berceaux mobiles de la machine en un point prédéterminé tel qu'une position de changement d'outil» Ce point est défini par le fabricant de la machine-outil dans les systèmes classiques et la modification de cette position prédéterminée ne peut se faire 25 qu'au moyen de modifications de structure compliquées et chères. Dans le dispositif de la présente invention la position de retour au repos est obtenue en enfonçant le bouton-poussoir 730 pour interrompre le programme de commande et commencer le déplacement des berceaux d'outil simultanément ou séquentiellement et en 30 poursuivant ce déplacement tout en extrayant les modifications pour les interpolateurs en même temps qu'un nombre de vitesse de déplacement approprié jusqu'à ce qu'un signal émis par un commutateur de limite d'outil ayant une faculté d'interruption soit reçu. En ce point le calculateur 18 détermine l'adresse, c'est-à-dire 35 l'identité réelle du commutateur limite interrupteur et lorsque ce commutateur limite est reconnu comme étant le commutateur associé à la position de repos, le mouvement des berceaux d'outil est interrompu. Une sous-routine extrêemement simple peut diriger les commandes correspondantes. S'il est nécessaire le programme peut 40 calculer le déplacement réel des berceaux d'outil le long des exes 71 26974 41 2102070 de commande qui est nécessaire, pour obtenir une position spécifique en réponse au signal de retour à la position de repos. Ceci est également promptement exécuté puisque la position des berceaux mobiles de la machine est maintenue perpétuellement en mémoire par 5 le transfert continu des informations des compteurs de position 106 et 108 vers la mémoire 20. De préférence le software associé avec le calculateur 18 comprend une sous-routine pour exécuter une recherche de chiffre en séquence. Comme il est bien connu des chiffres sont fixés aux 10 différents blocs du programme sur la bande 30 qui sont appelés des chiffres en séquence permettant l'identification et la localisation d'une surface particulière sur la bande simplement en spécifiant' le chiffre de séquence et en déroulant la bande 30 jusqu'à ce que ce chiffre de séquence apparaisse. Une recherche de chiffre de 15 séquence est facilement exécutée par le calculateur 1 8 au moyen d'une sous-routine dans laquelle le chiffre de séquence qui est recherché est identifié au moyen des boutons-poussoirs 66 qui ont été enfoncés après avoir placé le commutateur 718 sur la baie 608 de la figure 7 dans la position de recherche de séquence. A ce mo-20 ment la sous-routine détermine si le dernier chiffre de séquence lu est supérieur ou inférieur à la valeur du chiffre recherché et amène le lecteur de bande 28 à fonctionner soit dans le sens direct soit dans le sens rétrograde suivant le résultat de cette détermination. Une fois que le déplacement du lecteur de bande est entrepris, les 25 chiffres de la séquence sont constamment lus et comparés au chiffre recherché ; lorsque celui-ci est trouvé la recherche est considérée comme terminée. Grâce à cette routine il est possible d'identifier des erreurs de position sur la bande et d'assurer une commande manuelle du fonctionnement de l'outil toutes les fois que le programme 30 atteint ce point sur la bande. L'hypothèse d'un contrôle manuel sur le fonctionnement de l'outil 12 peut évidemment être accomplie en tout point de l'exécution du programme porté par la bande. Ceci est accompli simplement au moyen de la sous-routine d'interruption de baie qui apparaît lors-35 que l'on place le commutateur de mode 718 sur la position manuelle et que les données sont introduites au moyen des boutons-poussoirs 66. En résumé, on a montré que le fonctionnement d'une machine outil à commande numérique peut avantageusement être obtenu à l'aide d'un calculateur numérique universel ayant une possifciLité 40 de mémoire en associant ce calculateur dans un mode entrée/sortie 71 26974 42 2102070 avec les différents dispositifs périphériques que l'on trouve normalement dans une commande de machine et à l'aide de l'exécution d'un programme de commande ayant une multiplicité de sous-routines individuelles que l'on met en fonctionnement en accord avec un or-5 dre de priorité déterminé pour exécuter toutes les fonctions d'exécution en liaison avec les données qui sont nécessaires au fonctionnement de la machine-outil. Suivant le mode de réalisation décrit ci-dessus, de nombreux dispositifs périphériques sont munis de la faculté d'engendrer un signal d'interruption et sont tous reliés 10 en parallèle à une conducteur d'interruption du calculateur 18 pour avixer ce dernier d'une condition d'écoulement de données. Des câblages externes fournissent un système de priorités suivant lequel les dispositifs peuvent interrompre le calculateur suivant un ordre de priorité et dans lequel les dispositifs auxquels n'a pas été 15 reconnu un droit d'interruption voient leur signal d'interruption protégé jusqu'à ce que leur présence ait été acquiescée et qu'ils aient été servis au moyen d'une sous-routine individuelle de service d'interruption. On a aussi montré comment la faculté du service d'interruption peut être avantageusement employée avec des boutons-20 poussoirs, des commutateurs et autres dispositifs à contact dur qui introduisent les informations dans le calculateur 18. Bien entendu l'invention n'est nullement limitée au mode de réalisation représenté et décrit qui ne l'a été qu'à titre d'exemple. Il appartiendrait au technicien d'y apporter de nombreuses modifications sans pour autant sortir du cadre de la présente invention. 71 26974 43 2102070 REVENDICATIONS 1) Système de commande numérique pour une machine-outil ayant un mécanisme qui exécute des déplacements au moins suivant 5 un axe de l'outil, caractérisé en ce qu'il comporte : un calculateur numérique programmable ; une multiplicité de dispositifs annexes permettant de transférer des données vers ce mécanisme pour en contrôler et eh commander les mouvements, l'un de ces dispositifs annexes étant capable de lire un programme enregistré définissant 10les déplacements de l'outil ; le calculateur étant relié à chacun de ces difpositifs annexes pour contrôler les transferts de données suivant un programme de commande, chacun de ces dispositifs annexes comportant un générateur de signal indépendant pour indiquer l'état de préparation du dispositif considéré à transférer 15des données, chacun des générateurs de signaux étant relié au calculateur et le programme de commande comprenant des sous-routines indépendantes pour répondre aux générateurs de signaux respectifs et exécuter les transferts de données. 2) Système de commande nurré rique pour une machine-outil, 20ayant un mécanisme qui exécute des déplacements commandés au moins suivant un axe de l'outil comportant ; un lecteur de programme capable de lire des caractères numériques enregistrés sur ce programme ; un interpolateûr pour produire des impulsions de commande numériques pour le mécanisme en réponse aux blocs de ces caractères 25numériques ; une multiplicité de commutateurs ayant des positions ouvertes et fermées et restant normalement dans une de ces positions, caractérisé en ce qu'il comprend : un calculateur numérique programmable ayant des voies d'entrée et de sortie interconnectant ledit lecteur de programme, 1'interpolateûr et les commutateurs pour com-30mander et contrôler l'écoulement de données entre eux, et un conducteur d'interruption ; des générateurs de signaux d'interruption individuels reliés respectivement au lecteur, a 1'interpolateûr, aux commutateurs pour produire des signaux d'interruption en réponse à des conditions d'écoulement de données comprenant notamment : la 35disposition à lire un caractère ; le besoin d'un nouveau bloc d'information ou une position anormale d'un commutateur ; un circuit logique reliant ces générateurs de signaux au calculateur pour répondre aux signaux d'interruption et identifier le signal en provenance du générateur ayant la priorité la plus élevée, et ce cal-40cuiateur incorporant des sous-routines indépendantes pour répondre 71' 26974 44 2102070 aux générateurs de signaux respectifs et exécuter les transferts de données vers les mécanismes de la machine-outil» 3) Système de commande numérique suivant la revendication 1 ou 2, caractérisé en ce que chacun de ces générateurs de signaux 5 est relié par une sortie au conducteur d'entrée du calculateur par l'intermédiaire d'un circuit d'identification d'adresse. 4) Système de commande numérique suivant la revendication 3, caractérisé en ce que cette sortie est une porte HT reliée par deux de ses entrées au conducteur de sortie du calculateur respec- 10 tivement par l'intermédiaire d'un conducteur de priorité et d'un conducteur d'acquiescement entrée/sortie. 5) Système de commande numérique suivant la revendication 1f caractérisé en ce qu'il comporte un circuit logique connecté entre les générateurs de signaux et le calculateur pour exécuter les 15 transferts de données suivant un ordre de priorité prédéterminé. 6) Système de commande numérique suivant la revendication 1, caractérisé en ce que le dispositif capable de lire un programme emmagasiné est un lecteur de bande perforée lisant des caractères en séquence. 20 7) Système de commande numérique suivant la revendica tion 1, caractérisé en ce que chacun des dispositifs prévus pour transférer des données vers le mécanisme est relié au calculateur au moyen d'un conducteur d'interruption» 8) Système de commande numérique suivant Jae revendications 25 1 et 7 caractérisé en ce que chacun de ces générateurs de signaux incorpore uh générateur de signal d'interruption relié par une sortie au conducteur d'interruption. 9) Système de commande numérique suivant les revendications 3 et 8, caractérisé en ce qu^^h^cu^c^l^re^^una5ispos^-fi^ignal* 30 bistable ayant une sortie reliée simultanément au conducteur d'interruption et au circuit d'identification d'adresse associé. 10) Système de commande numérique suivant l'une des revendications 2 ou 7 à 9, caractérisée en ce que le conducteur d'interruption comporte une porte OU reliée en parallèle aux géné- 35 rateurs de signaux d'interruption. 11) Système de commande numérique suivant l'une des revendications 2 ou 7 à 10, caractérisé en ce que ce conducteur d'interruption incorpore un système logique relié au calculateur par l'intermédiaire d'un dispositif bistable pour disqualifier le conducteur 40 d'interruption pendant l'exécution d'une sous-routine de service. 71 26974 45 2102070 12) Système de commande numérique suivant l'une des revendications 2 ou 4 à 11 , caractérisé en ce que ce système logique est au moins partiellement extérieur au calculateur. 13) Système de commande numérique suivant les revendi-5 cations 3 et 4, caractérisé en ce que chacun de ces générateurs de signaux comporte : un dispositif bistable commutable d'une première position en une seconde position en réponse à une condition découlement de données dans le dispositif source de données associé ; au moins une porte à coïncidence individuellement associé 10 avec le dispositif bistable correspondant et un conducteur de signal de priorité connecté à partir du conducteur de priorité du calculateur au travers de ces portes à coïncidence en série, en partait du dispositif ayant la priorité la plus élevée vers le dispositif ayant la priorité la plus faible dans l'ordre. 15 14) Système de commande numérique suivant les revendi cations 3 et 13, caractérisé en ce que chacun de ces dispositifs bistables est connecté par une de ses sorties à une première porte à coïncidence insérée dans le conducteur de signal de priorité et par l'autre de ses sorties à une seconde porte à coïncidence . 20 ayant trois entrées et commandant le circuit d'identification d'adresse de son dispositif de transfert de données associé. 15) Système de commande numérique suivant la revendication 2 ou 6, caractérisé en ce que le lecteur de bande est associé aux circuits suivants : une unité de contrôle de parité ayant 25 une sortie d'ordre impair et une sortie d'ordre pair ; une sortie de perforation d'entraînement et une sortie de non-perforation d'entraînement, trois de ces sorties étant reliées à une entrée d'une première porte à coïncidence contrôlant une entrée du dispositif bistable correspondant au lecteur de bande par l'intermé-30 diaire d'une seconde porte à coïncidence et d'une porte OU tandis que la quatrième sortie est reliée à deux autres entrées de ladite première porte à coïncidence par l'intermédiaire de deux autres dispositifs bistables qui sont aussi utilisés pour engendrer le signal d'interruption en provenance du lecteur de bande au moment 35 où toutes les voies de signal à la sortie de ce lecteur sont prêtes à être lues. 16) Système de commandenumérique suivant la revendication 15 caractérisé en ce qu'un signal de contrôle est également appliqué à chacun de ces deux autres dispositifs bistables pour synchro- 40 niser leurs changements d'état, et en ce qje leurs sorties de noms 71 '26974 2102070 contraires sont connectés aux deux entrées de la première porte à coïncidence. 17) Système de commande numérique suivant la revendication 1 caractérisé en ce qu'un autre des dispositifs de transfert 5 de données est un interpolateûr interpolant des blocs de caractères lus sur la bande et produisant des impulsions de commande pour application aux mécanismes mobiles de la machine. 1 8) Système de commande numérique suivant la revendication 1, caractérisé en ce qu'un autre des dispositifs de transfert de 10 données est un groupe de commutateurs permettant d'introduire des données dans le calculateur, le système incorporant en outre au moins un dispositif supplémentaire d'entrée de données et le programme de commande comprenant une sous-routine associée a ce dispositif supplémentaire d'entrée de données et qui n'est exécutée 15 que lorsqu'aucune des autres sous-routines n'est en cours d'exécution ou ne se prépare à l'être. 19) Système de commande numérique suivant la revendication 1 ou 2, caractérisé en ce qu'un autre des dispositifs de transfert de données est une horloge engendrant des signaux périodiques à une 20 cadence prédéterminées, cette horloge étant reliée au conducteur d'interruption par l'intermédiaire de son dispositif bistable associé pour egendrer un signal d'interruption h ladite cadence. 20) Système de commande numérique suivant les revendications 4 et 19, caractérisé par un compteur de cadence de fonction 25 relié par une entrée au conducteur de sortie du calculateur, par une autre entrée à cette horloge et par sa sortie à une alarme pour informer d'une panne dans le calculateur. 21) Système de commande numérique suivant la revendication 17, caractérisé par un compteur de relativement faible capacité relié 30 à cet interpolateûr pour compter les impulsions émises par 1'interpolateûr, et un registre de capacité relativement élevée situé dans la mémoire du calculateur pour recevoir périodiquement et cumulati-vement les contenus de ce compteur sous le contrôle des signaux de l'horloge. 35 22) Système de commande numérique suivant l'une des revendications 2, 7 et 18, caractérisé en ce qu'il comprend des moyens manuels reliés au conducteur d'entrée du calculateur pour introduire des données dans la mémoire du calculateur. 23) Système de commande numérique suivant la revendication 40 22, caractérisé en ce que ces moyens manuels comprennent une multi 71 26974 2102070 plicité de commutateurs dont certains sont des sources de données d'entrée associées à des générateurs de signaux reliés au conducteur d'interruption. 24) Système de commande numérique suivant la revendica-5 tion 23, caractérisé en ce que certains de ces commutateurs ont une position stable et en ce que le transfert des données à partir des commutateurs s'effectue sous le contrôle du programme de commande contenu dans le calculateur et d'un circuit comportant î des portes à coïncidence ; un dispositif bistable et un dispositif d'en-10 traînement de commutateur. 25) Système de commande numérique suivant l'une des revendications 1 , 23 et 24, caractérisé en ce que le programme de commande comporte une multiplicité de routine de service particulières aux commutateurs explorés et possédant approximativement la 15 priorité la plus faible. 26) Système de commande numérique suivant l'une des revendications 23 à 25, caractérisé en ce que au moins certains des aommutateurs sont des commutateurs limites pour surveiller le déplacement de l'outil. 20 27) Système de commande numérique suivant les revendica tions 2 et 13, caractérisé en ce que chacune des sous-routines comporte l'émission d'un signal de disqualification et en ce que les portes à coïncidence sont disposées entre les générateurs de signaux d'interruption et le calculateur pour éviter le passage 25 des signaux d'interruption. 28) Système de commande numérique suivant l'une des revendications 2, 3, 14 ou 27, caractérisé en ce que les générateurs de signal d'interruption comportent un dispositif bistable qui change d'état en réponse à une condition d'écoulement de données et en ce 30 que chacun de ces dispositifs bistables comporte en association une porte à coïncidence connectée entre sa sortie de qualification et son entrée de restauration, la sortie de qualification étant également reliée comme troisième entrée à la seconde porte à coïncidence commandant le circuit d'identification d'adresse correspondant. 35 29) Système de commande numérique suivant la revendica tion 2, caractérisé en ce que chacun des commutateurs comporte un premier et un second contact, en ce que les premiers contacts sont reliés au conducteur d'interruption, en ce que les seconds contacts sont reliés au conducteur d'entrée du calculateur par l'intermédiaire 40 d'un système de portes à coïncidence et en ce qu'une porte à coïnci- 71 26974 4Ô 2102070 jdenc'e supplémentaire est reliée par ses entrées au calculateur et à un décodeur d'adresse, et est connecté en parallèle par sa sortie aux portes à coïncidence du système. 30) Système de commande numérique suivant l'une des re-5 vendications précédentes caractérisé par un dispositif d'affichage de la position des commutateurs. 31) Système de commande numérique suivant la revendication 29, caractérisé en ce que certains des commutateurs sont des boutons-poussoirs permettant d'introduire des données numériques 10 dans le calculateur. 32) Système de commande numérique suivant l'une des revendications 29 à 31 caractérisé en ce que tous ces boutons-poussoirs sont connectés à un seul générateur de signal d'interruption. 33) Méthode pour exécuter un déplacement numérique com-15mandé d'un élément le long d'au moins un axe choisi, caractérisé en ce qu'elle consiste à programmer un calculateur numérique pour exécuter des routines de service pour le transfert dé données sélectionnées en réponse à des signaux d'identification de dispositif de transfert de données : à engendrer un signal d'identification de 20 lecteur lorsqu'un lecteur de programme est prêt à lire un caractère de ce programme ; à lire des caractères du programme sous le contrôle du calculateur et pendant une première routine de service à interpoler des blocs de caractères du programme sous le contrôle du calculateur et d'une seconde routine de service et à engendrer 25 un signal d'identification d'interpolateûr lorsque 1'interpolateûr est prêt à recevoir des blocs de caractères supplémentaires» 34) Méthode suivant la revendication 33 caractérisée en ce que l'on restaure un contrôleur de temps de signal d'alarme après exécution de chaque routine de service. 30 35