Brevet FR2704077A1 — publié le 19941021

i Commande numérique à contrôle d'axes par programmes différentiels. La présente invention concerne un dispositif électronique destiné à la commande et au contrôle de machines outils ou d'automates effectuant des déplacements mécaniques. Les commandes numériques actuelles exécutent pas à pas les instructions d'un programme d'application ou "programme pièce", qui est écrit par l'utilisateur ou généré par un système de CFAO dans un ordinateur connecté. -O Les instructions des programmes d'application comportent des ordres de mouvements élémentaires, des coordonnées et des vitesses de déplacement qui figurent, pour la commande numérique, le déplacement dans l'espace d'un outil d'un point à un autre. Suivant un programme du constructeur, les microprocesseurs de la commande numérique analysent la trajectoire demandée et actionnent les axes suivant des fonctions prédéterminées. L'architecture de ces commandes numériques est en général basée sur un microprocesseur maitre (CPU) qui a comme dispositif d'entrée/sortie les commandes d'axes, les circuits de mesure de déplacement (inductosynes, résolveurs...), les circuits annexes (fin de courses, limiteurs de charges, machine à mesurer etc...) et les circuits d'interfaces (homme/machine, ordinateur etc...) Par construction, le nombre d'axes est en général limité et difficile à faire évoluer. La conception de ces commandes numériques provoque, en cours d'usinage, des ruptures de vitesse de déplacement dûes au passage d'une instruction à l'autre dans le programme d'application, même s'il y a traitement anticipé. Ces ruptures dans le mouvement des axes génèrent des imperfections dimentionnelles. ou des changements d'état de surface et il faut souvent introduire des artifices (temporisations ou autres) dans les programmes d'application pour les corriger. Un exemple est donné figure 1 qui représente une pièce avec un cône de faible pente (1), un cylindre (2) et un épaulement (4) raccordé par un rayon (3). L'usinage de cette pièce sur un tour parallèle nécessite 4 instructions au niveau programme d'application: - L'usinage du cône - Le chariotage du cylindre - L'arc de cercle qui correspond au rayon - Le dressage de la face de l'épaulement. Les vitesses d'avance sont calculées en fonction de la vitesse de rotation de la broche, du rayon de l'outil, de l'état de surface à obtenir, de l'interval de tolérance. de la matière et de la puissance de la machine. Les vitesses de déplacements des axes X et Y sont décrits figure 2. En abscisse les tours de broche et en ordonnées les vitesses d'avance de l'axe X en trait plein (1) et de l'axe Y en pointillés (2). On constate des ruptures (3 et 4) dans les vitesses de déplacement de l'axe X au moment des changements d'instruction dans le programme d'application. Le contrôle de la pièce usinée fait apparaîte entre le cône et le cylindre et entre l'e cylindre et le rayon, soit un "faux rond" soit un creusement suivant que le rapport'avance/nombre de tour de broche est important ou faible. Les courbes de la figure 3 représentent les vitesses théoriques des deux axes en fonction de la rotation de la broche. Le dispositif selon l'invention permet de se rapprocher de ces courbes théoriques dans la mesure ou il permet la programmation individuelle de chaque axe, non plus suivant des fonctions ZO prédéterminées, mais suivant un programme d'application généré par ailleurs. Sa conception est basée sur le principe: 1 axe = 1 programme d'application. Chaque programme d'axe s'exécute indépendamment des autres, avec comme éléments de synchronisation, sa propre référence de position et celles d'un ou plusieurs autres axes. Ces références de positions sont distribuées d'une manière logique par un bus spécialisé. Pour reprendre l'exemple de la figure 1, l'axe X est programmé pour se déplacer à une vitesse constante jusqu'à la fin du cône, changer de vitesse sans décélération pour le chariotage jusqu'au début du rayon puis progressivement arriver à 0. Le déplacement de cet axe est assujetti à sa propre position, et à la vitesse de rotation de la broche en fonction du rayon de l'outil et de l'état de surface demandé. L'axe Y est programmé pour se déplacer à une vitesse constante jusqu'à la position de l'axe des X qui détermine la fin du cône. A la position des X qui détermine le début du rayon, le programme des Y va actionner l'axe en fonction des positions de X pour lui faire décrire un arc de cercle. A la fin de l'arc de cercle, le programme des Y actionne l'axe pour dresser la face de l'épaulement. Le déplacement de cet axe est assujetti à la position des X jusqu'à la fin du rayon et ensuite à sa propre position et à la vitesse de rotation de la broche. Description préliminaire de l'information de référence: elle peut être une position, un résultat de mesure, un marqueur, un numéro d'étape, ou toute autre information utilisée par les programmes d'axes pour que le résultat corresponde à la trajectoire prévue. La nature de l'information peut être différente d'un groupe d'axes à l'autre, elle peut changer en cours d'exécution si les programmes d'axes le prévoient. Les axes peuvent être groupés et dégroupés dynamiquement par l'application, sans restriction de nombre d'axes ni de nombre de la groupes. Les axes ou les groupes d'axes peuvent travailler ensemble ou séparément sur des pièces ou des machines différentes. Les fonctions d'interpolation n'étant plus définies dans la commande numérique mais par l'application il n'y a plus de limite à l'exécution de formes complexes. Pour clarifier la description, la référence d'un axe est supposée être sa position exprimée en 1/100 éme par rapport au zéro machine. Ce zéro machine correspond dans le dispositif à une référence de position O -2 cm pour pouvoir conserver des nombres positifs même en cas de retour rapide à la position extrême. Les programmes de contrôle des axes tiennent compte de ce décalage. L'axe A qui correspond à un plateau donne une référence angulaire exprimée en 50 00ème de radians. L'information de position d'un axe est représentée soit par un nombre entier, soit par un nombre réel. Seule la valeur absolue de ce nombre est utilisée, le signe étant utilisé comme indicateur d'alerte. Le nombre est véhiculé par 4 octets de 8 éléments binaires. 3a Le dispositif est constitué dans son architecture générale, selon le schéma suivant (figure 4): - pour chaque axe à commander: une unité de contrôle d'axe (1) constitué comme une commande numérique à un seul axe avec un microprocesseur (3) et une mémoire, son bus (4) et les cirucits (2) de servocommandes. - un bus (7) commandé par un microprocesseur (11) et destiné uniquement aux échanges de positions entre les unités de contrôle d'axe. - une unité de service (15) pilotant les circuits de communication (18) connectés à l'ordinateur (20). les interfaces homme/machine (17), les dispositifs d'entrée/sortie (19) et les circuits annexes. - un bus de service (8) commandé par l'unité de service (15) et relié à toutes les autres unités du dispositif. Ce bus n'est en fait que le prolongement du bus système (16) du microprocesseur. Cette unité de service est connectée par l'intermédiaire des circuits de communication à un ordinateur extérieur au dispositif (20), c'est dans cet ordinateur que sont élaborés les programmes d'axes en fonction de la géométrie à réaliser. L'architecture générale du dispositif fait apparaitre 2 voies de communication entre toutes les unités: le bus de positions (7) et le No bus de service (8). Le bus de position (7) est le bus spécialisé pour distribuer la référence position de chaque axe aux autres. Les unités de contrôle d'axe ne partagent pas ce bus. Il n'y a pas d'attente des microprocesseurs des unités de contrôle d'axe sur ce bus. Des circuits tampons (6) sont utilisés pour effectuer cet isolement logique entre le bus de position et chaque unité de contrôle d'axe. Le bus de service (8) est utilisé pour véhiculer les programmes d'axe, les données annexes et en général, toutes les informations devant être échangées entre la machine à commander et l'ordinateur extérieur au dispositif. Ce bus n'est pas non plus partagé, des circuits de liaison (5) font "voir" chacun des microprocesseurs par les autres comme une unité d'entrée/sortie. Parallèlement à ces 2 voies, il y a dans le dispositif une distribution, non représentée sur la figure 4. de l'énergie, d'une ligne d'arrêt d'urgence, d'une ligne de sécurité et de signaux de restauration générale. L'échange de la référence de position d'un axe avec les unités de contrôle des autres axes qui utilisent cette information est basé sur le principe suivant: A) Chaque unité de contrôle d'axe élabore sa position et met régulièrement à jour un registre dans son circuit tampon (6) qui lui est connecté comme un port d'entrée/sortie. B) L'unité de contrôle (11) du bus de position (7) exécute en permanence une boucle de programme qui lit les valeurs correspondantes à chaque axe. Les circuits tampons (6) sont "vus" par le micro processeur de l'unité (11) comme de la mémoire. C) Au passage, les circuits tampons des autres axes comparent l'adresse sur les lignes du bus avec le contenu d'un registre adresse préalablement chargé. S'il y a égalité, les données du bus sont transférées dans un registre de stockage. D) Chaque programme de contrôle d'axe peut venir chercher dans ce registre de stockage la position d'un axe dont il avait mis l'adresse dans le registre utilisé pour la comparaison. E) A intervalle de temps régulier, l'unité de service (15) prend le la contrôle du bus de position (7): a) Arrêt de la boucle dans l'unité (11) par interruption générée par le circuit (13). Le bus de position est alors libre de toute commande. b) Exécution de la même lecture de position de tous les axes - mais avec transfert dans la mémoire de l'unité (15). Les bus (7) et (8) sont alors confondus, l'isolation électrique étant réalisée par des circuits 3 états disposés dans les circuits (9) et (10) et activés par sélection d'adresses. c) Remise en route de l'unité (11) par une nouvelle interruption zo générée par le circuit (13). F) Après libération du bus de position (7) le programme de service peut, en examinant les positions qu'il a recopiées, déclancher les actions appropriées. Par exemple: dans le cas ou il trouve un nombre négatif, il peut rentrer en communication avec l'unité de contrôle de l'axe correspondant à travers le circuit de liaison (5) sur le bus de service (8) connecté pour la circonstance par le circuit (14) au bus (16). A un instant donné, l'unité de service ne peut communiquer qu'avec un seul contrôleur d'axe à la fois. Les autres contrôleurs d'axes peuvent continuer leur traitement. Les circuits d'isolation logique que sont les circuits tampons (6), les circuits de liaison (5) et les circuits d'isolation bus à bus (9) et (10) sont nécessaires au fonctionnement ininterrompu des bus internes des contrôleurs d'axes (14). Le dispositif est réalisé autour d'un micro ordinateur industriel du commerce qui a les caractéristiques suivantes: - Il est conçu pour travailler en conditions sévères. - Il dispose d'un microprocesseur cadencé à 25 MHz (horloge à 12,5) - 512 K de mémoire - Adressage sur 20 éléments binaires et données sur 16 multiple- xées avec les adresses. - Il est équipé d'un écran, d'un calvier et d'une unité de disques de stockage. - Il permet l'installation de cartes de communications pour con- nexion sur des réseaux locaux ou éloignés avec un ou plusieurs au- tres ordinateurs. Son système d'exploitation contient les programmes de gestion de ces connexions. 0 - Il permet de disposer, en plus de l'interface standard, d'un bus complémentaire donnant accès aux lignes d'interruptions et de restauration générale. - Il est vendu avec une armoire (Figure 5) qui permet de disposer de 3 logements de 19 pouces (4,5 et 6). Le premier logement est occupé par l'écran (1), le deuxième par le micro ordinateur (2) et le clavier (3). La seule modification apportée au micro ordinateur est la déconnection de son alimentation électrique, celle-ci est remplacée par une alimentation stabilisée de 1000 Watts du commerce qui est installée dans le dernier logement disponible (6). Ce micro ordinateur constitue l'unité de service Les 2 logements intermédiaires (4 et 5) habritent les 4 contrôleurs d'axes (2 par logement). Chaque contrôleur d'axe est réalisé autour d'une carte contenant: - un microprocesseur cadencé à 25 MHz (horloge à 12,5 MHz) - 256 K de mémoire 16 K de mémoire morte - les circuits d'horloge Cette carte, vendue comme co-processeur du micro ordinateur, est en fait, une carte mère enfichable sur un bus standard. Elle est utilisé comme micro ordinateur indépendant. Ses lignes d'interruption et de restauration sont accessibles par les lignes complémentaires utilisées normalement avec le micro ordinateur qui constitue l'unité de service. Il n'y a pas de modification de cette carte. Parallèlement à cette carte, chaque contrôleur d'axe est équipé d'une carte co-processeur mathématique du même fabricant. La commande et le contrôle des moteurs d'axe sont réalisés par 2 cartes, une carte d'axe et une carte de contrôle des résolveurs qui équipent la machine outil. Ces 2 cartes sont commercialisées par le fournisseur des servo- moteurs et des dispositifs d'asservissement. Elle sont compatibles avec les microprocesseurs. La description qui suit porte sur les circuits spécifiques au dispositif et sur les interconnexions entre ces circuits et les éléments standards. to Elle définit les points suivants - le système d'adressage sur le bus de positions - préliminaires sur la sécurité - circuits spécifiques côté unité de service - circuits spécifiques côté contrôleurs d'axes fonctionnement de l'ensemble Le système d'adressage sur le bus de position prend en compte les impératifs suivants: - Les circuits tampon sont "vus" par les microprocesseurs qui contrôlent le bus de position comme de la mémoire. Le relevé 20. des positions se fait par une seule instruction répétée autant de fois qu'il est nécessaire pour "lire" la référence de position de tous les axes. Les adresses doivent donc être contigues. - Chaque octet de 8 éléments binaires doit avoir une adresse unique (adresse mémoire) aussi bien sur le bus de positions que sur le - bus de service. L'utilisation de plages d'adresses différentes pour l'unité de contrôle du bus de positions et l'unité de service est rendue possible par les circuits d'isolation qui opèrent une sélection sur les lignes adresse avant de prolonger les bus. - Chaque adresse est composée de manière à identifier les axes, et à l'intérieur de chacun d'eux. chaque élément d'information. Cette conception fait qu'un "trou" doit être pratiqué dans les espaces adresses mémoire de l'unité de contrôle du bus de positions et de l'unité de service. L'étendu de ce "trou" d'adresses dépend du nombre d'axes. Comme la solution la plus simple consiste utiliser la tranche sans mémoire au milieu de l'espace adresse, le nombre de positions laissées libres est amplement suffisant. La plage d'adresses utilisée dans l'unité de service s'étant de BFOOO à BFOFF et dans l'unité de contrôle du bus de position de 04000 à 040FF. (Les adresses sont exprimées en hexadécimal) L'adressage des circuits sur le bus de positions se fait sur la base de 8 éléments binaires. Les 12 éléments de poids forts des adresses ne sont utilisés que pour la sélection dans les circuits d'isolation. L'information lue pour chaque axe est composée de 4 octets. Leur adresse respective (0,1,2 et 3) à l'intérieur de chaque axe est représentée par 2 éléments binaires. Les 6 éléments restants permettent d'identifier 64 adresses. Ils constituent l'adresse de l'axe. 7 6 5 4 3 2 i O to A A A A A A X X A = adresse d'axe, X = adresse d'un octet à l'intérieur d'une adresse d'axe. Les informations étant lues 2 octets par 2 octets, les adresses étant consécutives, la première étant alignée sur une frontière de 256, la dernière position binaire de l'adresse n'est pas transmise. Seuls sont transmis les éléments binaires i à 7. Les adresses d'axes OO et 3F sont réservées. Adresse pour Adresse pour Adresse unité de Service Unité Positions Axe 20. BFOOO 04000 00 inutilisée BF004 04004 01 Axe X BF008 04008 02 Axe Y BFOOC 0400C 03 Axe Z BFOO10 04010 04 Axe A BFOF8 040F8 3E dernier axe possible BFOFC 040FC 3F inutilisée BFFFF 04FFF fin du 'trouW mémoire Les références de positions fournies ou utilisées par chaque contrôleur d'axe sont écrites ou lues par le microprocesseur qui contrôle l'axe comme une unité d'entrée/sortie. Chaque groupe de 2 octets d'une référence de position est accessible par une adresse paire et unique à l'intérieur d'un même contrôleur d'axe. La figure 6 illustre le mécanisme d'adressage des références sur le bus de positions. Elle montre l'unité de service en train de lire la référence de position de l'axe Y. et plus particulièrement le 2ème groupe de 2 octets. L'axe Y aura préalablement mis à jour sa position par l'écriture (12) de la valeur 31E1 sur son unité 0606 (13). Les 16 éléments binaires correspondant au 2ème groupe de 2 octets de la référence de l'axe Y sont ainsi stockés dans le registre to mémoire (14). Le contenu d'un deuxième niveau de registre mémoire (16) est mis àjour (15) avec le contenu du registre précédent (14). L'unité de service (1) envoi l'adresse BFOOA prise comme exemple sur son bus d'interface standard. Les circuits d'isolation du dispositif vont comparer les 12 premiers éléments de l'adresse (2) avec 12 éléments cablés (3) qui correspondent à BFO dans l'exemple. L'égalité (4) déclenche le transfert de 7 des 8 éléments binaires de poids faible de l'adresse d'origine sur les lignes adresses (5) du bus de positions. La dernière position (6) de l'adresse est ignorée. Comme pour tous les axes, les circuits tampons de l'axe Y comparent les 6 éléments de poids fort (7) de cette adresse avec les 6 de poids faible (8) de l'adresse cablé de l'axe (9). L'égalité (10) associée à la valeur de la dernière position de poids faible (11) déclanche l'envoi du contenu du registre mémoire (16) sur les lignes données (17) du bus de positions. Parallèlement, les adresses (5) et les données (17) qui circulent sur le bus de positions arrivent aussi sur les circuits tampons des autres axes (18). Ceci est exploité par une autre partie des circuits tampons. La figure 7 illustre le traitement des adresses dans la 2ème partie des circuits tampons de l'axe X. Cet axe, ayant besoin de la référence de position de l'axe Y dont l'adresse est 02, aura préalablement écrit (8) cette valeur sur son unité d'entrée/sortie 0608 (7). Les circuits du dispositif auront transféré (6) cette valeur dans un registre adresse (4). Les 6 éléments de poids fort (2) de l'adresse (1) qui circule sur les lignes (5) du bus de positions sont comparés avec les 6 éléments de poids faibles (3) du registre adresse (4) précédemment chargé. Une égalité (15), associée à la valeur du dernier élément (16) de l'adresse déclenche la copie (14) des informations qui circulent sur les lignes données (17) dans un registre mémoire (12). Les 16 éléments binaires qui constituent le 2ème groupe de 2 octets de la référence de position de l'axe Y sont ainsi dupliqués dans le registre (12) puis recopiés (11) dans un deuxième niveau de mémoire (10). Pour utiliser cette information, l'axe X effectue une lecture (9) sur son unité d'entrée/sortie 060A (13). La figure 8 résume les différents types d'adresses pour 2 contrôleurs d'axes, X et Y. On y distingue le bus de service (S), la partie adresses (P (a)) et la partie données (P(d)) du bus de positions et les bus (A) de chaque contrôleurs d'axe. Pour l'unité de service, on trouve: - L'adresse (1) avec laquelle l'unité de service (4) communique avec chaque contrôleur d'axe: 8002 pour les X, 8004 pour les Y. Pour chaque axe, on trouve: r5, - L'adresse avec laquelle chaque programme de contrôle d'axe communique avec l'unité de service: 0600 - L'adresse cablée (2) de chaque axe pour la lecture de sa référence de positions: 01 pour les X. 02 pour les Y. - Les adresses d'entrée/sorties 0604 et 0606 avec lesquelles le programme de contrôle de chaque axe va communiquer sa propre référence de position au reste du dispositif. - Les 2 adresses (3) qui servent à déclencher la mémorisation de la référence de position de 2 autres axes: 02 et 03 pour les X, 01 et 04 pour les Y. - Les adresses d'entrée/sortie 0608, 060A, 060C et 060E avec lesquelles le programme de contrôle de chaque axe va exploiter les références de positions des axes dont il avait donné les adresses sur 0608 et 060C. La sécurité nécessaire au contrôle de machines outils ou d'automates implique une architecture, notamment en ce qui concerne les interruptions. et une logique de fonctionnement adaptée. Le dispositif est réalisé en fonction des spécifications suivantes 1) La notion d'arrêt et la notion d'arrêt d'urgence sont distinguées. L'arrêt simple est traité commle une fonction logique à partir de l'interface homme/machine. de la même façon que la fonction départ. 1l 2) L'arrêt d'urgence est traité à la fois d'une manière logique et d'une manière "électrique". L'information est recueillie sur la ligne "arrêt d'urgence" qui traverse le dispositif et qui fait partie de la boucle de sécurité réglementaire. Un interrupteur "coup de poing" et suivant la disposition géographique des ensembles constituant la machine, d'autres interrupteurs sont placés sur la face accessible à l'opérateur. Des dispositifs annexes comme des tapis, des détecteurs ûO volumétriques ou autres peuvent être installés, leur action étant aussi d'interrompre la ligne d'arrêt d'urgence. La ligne d'arrêt d'urgence est une boucle fermée alimentée en énergie par la machine outil ou l'automate et qui maintien actifs tous les éléments qui présentent un risque potentiel. L'ouverture de cette bouche par un quelconque des interrupteurs montés en série, provoque après une séquence de freinage, la mise au repos de tous les éléments à l'origine des mouvements et de toute la distribution d'énergie dans la machine. Suivant l'origine de la machine, la ligne d'arrêt d'urgence est alimentée par un courant continu de 12 volts ou un courant continu ou alternatif (50 ou 60 Hz) dont la tension peut varier entre 24 et 48 Volts. L'arrêt d'urgence peut trouver son origine dans une action extérieure ou par détection au niveau des programmes d'une situation dangereuse. L'arrêt d'urgence implique, au niveau des contrôleurs d'axe, des actions de sécurité (freinage. retrait d'outil, etc...) Il y a donc nécessité d'une action mutuelle entre la ligne d'arrêt d'urgence et les programmes exécutés dans le dispositif. L'information logique de l'arrêt d'urgence est véhiculée dans le dispositif par une ligne spécialisé à l'état inactif O et à l'état actif + volts, dite ligne de sécurité. Celle-ci peut être aussi activée par programme par l'intermédiaire de l'unité de service. Le passage à l'état actif de cette ligne déclenche une interruption sur tous les microprocesseurs du dispositif et l'ouverture de la boucle d'arrêt d'urgence. Réciproquement, l'ouverture de la boucle d'arrêt d'urgence provoque le passage à l'état actif de cette ligne de sécurité. L'ensemble des lignes 'arrêt d'urgence" et de sécurité est distribué à chaque unité de contrôle d'axe. La boucle "arrêt d'urgence" est isolée électriquement par rapport au dispositif. L'arrêt d'urgence est traité en 3 étapes pour satisfaire les contraintes liées à la sécurité des machines lère étape: Déclanchée par interruption non mascable, suivant l'information arrêt d'urgence", sur la ligne de sécurité: mise en route du programme de sécurité contenu dans la mémoire dynamique de chaque contrôleur d'axe. Cette partie de programme est adaptée à chaque cas suivant l'outil, les actions de retrait rapide suivant la pièce, etc..... Parallèlement, l'information "électrique" distribuée à chaque contrôleur d'axe libère des shunts de freinage pour plateaux tournants, ou des freins de broche.... etc. suivant la conception de la machine. 2ème étape: Mise en route du programme de sécurité prévu par le constructeur T5 de la machine outil et enregistré sur la partie morte des mémoires des unités de contrôle d'axe. Confirmation de la mise en action des freins et autre dispositifs de blocage. Possibilité de mise hors tension de circuits de puissance. 3ème étaDe: Exécution dans l'unité de service d'un programme qui permet, seulement sur intervention manuelle, la restauration des blocages, axe par axe, leur mouvement à des vitesses pré-enregistrées et au coup par coup, ou le relevage de traverses, et en général, toute action nécessaire après un incident. Les différents programmes de sécurité sont élaborés en fonction de la configuration de la machine et des risques potentiels, le dispositif fournissant les possibilités et les ressources nécessaires à l'exécution de ces programmes. Les circuits de gestion des interruptions sont de 2 natures pour satisfaire les spécifications de sécurité: un circuit électrique et un circuit par contrôleur d'interruption. Les microprocesseurs des unités de contrôle d'axes, de l'unité de contrôle du bus de position et de l'unité de service ont leur broche d'entrée d'interruption non mascable connectée directement à la ligne de sécurité. La gestion des interruptions logiques, des dysfonctionnements des programmes etc..., sont traitées d'une manière classique par le contrôleur programmable d'interruptions intégré à chaque microprocesseur. Note sur les schémas: Figure 9 Lorsque le symbole de masse (1) est utilisé, celà ne signifie pas que la partie concernée du circuit soit au même potentiel que les parties métalliques du dispositif. Celà signifie que cette partie du circuit est au niveau O permanent, potentiel de référence distribué depuis l'alimentation et isolé de la terre. Cette terre, non figurée dans les schémas, est distribuée à toutes les parties métalliques accessibles par une ligne normalisée. Le symbole Vcc (2) signifie que le circuit est connecté au + 5 Volts de l'alimentation. La distribution de cette tension n'est pas figurée dans les schémas. Le symbole "+" (3) signifie que le circuit est connecté à un niveau logique 1 permanent pris à la sortie d'un inverseur dont l'entrée est au niveau O permanent. La distribution de ce niveau 1 permanent io n'est pas figuré sur les schémas. Les opérateurs logiques les plus courants ne sont pas référencés dans la suite de la description: - porte ET (4): 74LS08 - porte ET à sortie inversée (5) 74LS00 mi - porte OU (6): 74LS32 - porte OU à sortie inversée (7): 74LS02 - amplificateur (8) (référencé dans le texte) - inverseur (9): 74LS04 Les "LATCH" d'adresse sont des registres de bistables (2 x 2o 74LS373) La référence des ensembles de lignes que représentent les bus est faite par une lettre: - Bus "A": bus du microprocesseur des contrôleurs d'axes - Bus "C": lignes complémentaires de ce même microprocesseur - Bus "0": bus du microprocesseur de l'unité de service - Bus "P": bus spécialisé de distribution des références de positions des axes. - Bus "S": bus de service pour les liaisons entre les contrôleurs d'axe et l'unité de service. - Bus "U": bus du microprocesseur de l'unité de contrôle du bus de positions. La référence de chaque ligne d'un bus, lorsqu'elle est nécessaire à la description ou à la clartée des schémas, est constituée par la dénomination abrégée de la fonction donnée par le fabricant des microprocesseurs, préfixée par la lettre du bus auquelle elle appartient. 3 lignes ne provenant pas d'un microprocesseur sont référencées de la même manière SURG: boucle d'arrêt d'urgence (2 conduc- teurs: 1 aller et 1 retour) SECU: ligne de sécurité SRST: ligne de restauration générale Les connexions fonctionnelles entre les divers circuits sont référencées par 2 lettres ou une lettre et un chiffre. Chaque connexion a une référence unique dans le dispositif. 1T, Dans le texte, la lettre O des références est barrée. Détection de l'arrêt d'urgence. Figure 10: La fonction de ce circuit est d'activer la ligne de sécurité après détection de l'arrêt d'urgence et inversement d'ouvrir la boucle lors du passage au niveau 1 de la ligne de sécurité. Ce circuit, implanté dans l'alimentation du dispositif, exploite l'absence de courant après ouverture de la boucle pour une installation en alternatif, ou la tension induite dans une bobine au moment de l'ouverture pour une installation en continu. Un transformateur (12) d'isolement recueille une faible partie d'un courant alternatif ou une tension induite à la rupture d'un courant continu. Ce transformateur est constitué d'une bobine d'excitation pour relai électromagnétique 48 volts alternatif sur laquelle sont enroulées 20 spires de fil émaillé d'un diamètre de 2 mm. Cet enroulement extérieur constitue le primaire du transformateur, l'enroulement de la bobine d'origine constituant le secondaire. Les tôles du circuit magnétique sont enchevêtrées et l'ensemble se comporte comme un transformateur d'intensité ou comme un transformateur élévateur de tension avec un rapport de 50 et d'une puissance d'environ 0,75 VA. Le primaire est monté en série sur la boucle d'arrêt d'urgence. L'intensité maximale est de 10 Ampères. La chute de tension sur la boucle varie de 0,5 à 1 Volt pour lalternatif à 50 ou 60 Hz suivant la tension et l'intensité. Le secondaire fourni une tension qui peut varier selon les cas entre 24 et 68 volts crête à crête pour un courant alternatif d'environ 15 mA. La tension induite au moment de l'ouverture d'une boucle alimentée en continu est limitée par le néon (6) de 80 volts pour protéger le circuit. Ces 2 types de tensions sont redressées par un pont de diodes (5) qui délivrent un signal positif par rapport au niveau 0. Ce signal est appliqué aux bornes des résistances de 4,7 K, 5W (4) et de 500 Ohms (7) montées en série et qui fonctionnent comme un diviseur de tension. La tension résultante, plafonnée par la diode Zener de 4,5 volts (3), est appliquée à l'entrée du monostable (1) (74LS123). Le passage à 1 de l'entrée du monostable déclanche celui-ci sur le front de montée du signal. Lorsque le signal, à la sortie des diodes (5), est à son niveau O volt, o la résistance de 500 Ohms (7) maintient l'entrée du monostable à 0,2 volts environ pour 0,4 mA ce qui est en dessous du seuil maxi (0,8 volts) pour un niveau logique 0. Ensuite, le signal à la sortie des diodes (5) va augmenter suivant la sinusoïde pour l'alternatif ou plus brusquement pour l'ouverture d'une boucle alimentée en continu. La tension à l'entrée du monostable va augmenter proportionnellement au rapport du diviseur de tension (4 et 7). Le seuil de 2 volts déterminant le niveau logique 1 sera atteint pour une valeur à la sortie des diodes *(5) de 20,8 volts. En fonction des caractéristiques du courant qui circule sur la boucle d'arrêt d'urgence, le signal à l'entrée du monostable va continuer à augmenter sans atteindre le seuil de 4,5 volts ou au contraire l'atteindre. Dans ce cas, la diode Zener de 4,5 volts (3) va plafoner la tension et faire dissiper l'excédent par la résistance de 4,7 K (4). Pour une tension de crête de 68 volts (boucle sur alternatif 48 V) à la sortie des diodes (5), il passe un courant de 13,5 mA dans la résistance (4), un courant de 9 mnA dans la résistance de 500 Ohms (7) et un courant de 4,5 mA dans la diode Zener (3). Le courant à l'entrée du monostable est négligeable. Ensuite le signal redescend jusqu'à la valeur O Volt qui va faire passer l'entrée du monostable au niveau logique 0. Suivant que le courant dans la boucle d'arrêt d'urgence est continu ou alternatif, le processus s'arrête ici ou se repère au rythme de la fréquence (100 fois par seconde pour 50 Hz, 120 fois pour 60 Hz). Dans le cas du courant alternatif, le temps minimum pendant lequel l'entrée du monostable reste au niveau logique O (en dessous de 0,8 volts) entre 2 alternances est de 46,8 microsecondes (60 Hz). Le temps maximum entre 2 remontées de signal est de 10 mS (50 Hz). Il suffit que la durée de l'impulsion du monostable déterminé par C et R soit supérieure pour que celui-ci soit constamment redéclenché. Le résultat est que la sortie inversée du monostable est au niveau logique O permanent tant que la boucle est alimentée si le courant est alternatif et passe au niveau 1 après le temps déterminé par C et R à la suite d'une ouverture de cette boucle. Si la boucle est alimentée en continu, la sortie directe du monostable est au niveau logique O permanent et passe au niveau 1 pour un temps déterminé par C et R à la suite d'une ouverture de cette boucle. La sortie Q du monostable (1) pour le continu ou la sortie -Q pour to l'alternatif est utilisée au niveau O pour alimenter un relais solide miniature (8). La sortie du monostable directe ou inversée, est connectée au relai (8) par un cavalier comme (9) pour le continu ou comme (10) pour l'alternatif. Un contact normalement fermé du relais connecte la Iigne de sécurité au +5 volts de l'alimentation du dispositif. Le passage au niveau I de la sortie connectée au relais (8) provoque la fermeture du contact et porte la ligne de sécurité (SECU) au potentiel + 5 volts, ce qui va, en cascade, alimenter le relais (13) dont un contact normalement fermé est monté dans la boucle 2O d'arrêt d'urgence. Comme cette boucle est déjà ouverte, ce relais (13) n'a aucune influence sur le circuit. Il est utilisé pour ouvrir la boucle lorsque la ligne de sécurité (SECU) est portée au potentiel +5 volts par programme à travers un autre circuit du dispositif. La diode (14) montée en parallèle est destinée à annuler la tension induite dans le solénoïde de ce relais au moment du retour à O de la ligne de sécurité. En cas d'installation en continu, l'établissement du courant dans la boucle au moment de la mise sous tension provoque le même phénomène qu'à l'ouverture. Le monostable est bloqué par la ligne de restauration générale (SRST), active pendant la mise sous tension, à travers l'inverseur (2). La durée de l'impulstion du monostable (1), déterminée par C et R, doit être suffisamment longue pour déclencher les interruptions dans les microprocesseurs (250 nS) et pour maintenir la sortie -Q au niveau logique O entre 2 alternances d'un signal alternatif (10 mS). Cette impulsion ne doit cependant pas être trop longue car dans le cas d'une boucle en alternatif, c'est seulement à la fin de 4O celle-ci que le relai (8) aura cessé d'être alimenté et donc que les interruptions seront déclenchées. Dans le dispositif, cette valeur est fixée à 20 mS. L'unité de service (Figure 11) est constituée par le micro ordinateur industriel auquel sont ajoutés des circuits spécifiques au dispositifs 1) connectés sur le bus "0" (2) du microprocesseur (1) de l'unité de service: - le circuit de génération de fonctions: GF - le circuit de connexion du bus de service "S": SC - le circuit d'isolation du bus de positions P": T0 2) connecté sur le bus "U" du microprocesseur de l'unité de contrôle du bus de position UC: - le circuit d'isolation du bus de positions "P": TU. L'unité de service arrête ou redemarre l'unité de contrôle du bus de position (UC) à travers le circuit GF par les lignes PN et P0. Par ce même circuit GF, elle connecte ou déconnecte le bus de service "S" à son propre bus 0" par le circuit SC commandé par t5 les lignes SO0 et SN. Le circuit GF permet aussi à l'unité de service d'activer la ligne de sécurité SECU. Les microprocesseurs de l'unité de service et de l'unité de contrôle du bus de positions "P" se connectent sur ce même bus "P" à travers leur circuit d'isolation TO et TU. La boucle d'arrêt d'urgence (3) est figurée pour mémoire. L'ensemble des circuits GF, SC, UC, TU et TO est monté sur une carte du même format que la carte coprocesseur du micro- ordinateur constituant l'unité de service. Elle la remplace dans son logement. Elle est connectée au bus de l'interface standard "0" et aux circuits complémentaires du micro-ordinateur, notamment pour la connexion des lignes d'interruptions INTO et NMI. 2 connecteurs sur le côté face avant de la carte permettent de "sortir" les lignes du bus de position "P" et du bus de service "S" ainsi que les lignes SRST, SECU et SURG par des câbles plats qui rejoignent les contrôleurs d'axes. Pour des raisons de commodité, un troisième connecteur côté face avant de la carte permet l'arrivée et le départ de la boucle d'arrêt d'urgence ainsi que la connexion de la ligne de sécurité et de la ligne de restauration jusqu'au circuit de l'alimentation. Circuit GF: Générateur de fonctions - Figure 12: Ce circuit est destiné à activer ou à désactiver d'autres circuits ou la ligne de sécurité par programme. - Il est traité par l'unité de service comme un périférique. - L'information est transmise sur 8 éléments binaires, seuls sont pris en compte les éléments O, 1 et 2 des données. Les 5 autres éléments binaires sont ignorés. - Il est constitué d'une interface programmable de périférique (2) du même fabricant que les microprocesseurs, connectée sur le bus système (1) de l'unité de service et d'un décodeur binaire (3) (74LS 138). La sortie "donnée présente" de l'interface programmable de périférique (OS) conditionne la validation de sortie du décodeur. Les données binaires transmises sur les broches DO, D1, et D2 -5 peuvent prendre les valeurs O à 7. Les valeurs O à 4 correspondent chacune à une sortie différente sur le décodeur. Les valeurs 5, 6 et 7 sont inutilisées. Une sortie active passe du niveau 1 au niveau O pour la durée de l'écriture du cycle bus. (2 cycles d'horloge, environ 160 nS). Chaque sortie correspond à une fonction déterminée. Les sorties Y2, Y3 et Y4 sont inversées par les inverseurs (4) pour les besoins des circuits qu'elles commandent. Les sorties YO et Y1 sont utilisées en O actif. Correspondance entre les valeurs binaires des données, les sorties actives, les lignes concernées. et les fonctions correspondantes. Valeur Sortie Ligne Fonction O YO SECIU pasage au niveau "1" de la ligne de sécurité 1 Y1 SO activation du circuit SC (connexion du bus de service) 2 Y2 SN désactivation du circuit SC (déconnexion du bus de service) 3 Y3 PO Mise en route de l'unité de contrôle du bus de position. 4 Y4 PN Arrêt de l'unité de contrôle du bus de position. La sortie YO, destinée à faire passer au niveau 1 la ligne de sécurité, est maintenue active par le monostable (6) (74LS123) pendant un temps suffisamment long (1 S) pour pouvoir actionner le relais solide (8) et ouvrir la bouche d'arrêt d'urgence. Ce temps est 5 déterminé par la valeur de R et de C (5) donnée par le fabricant. La fermeture du contact du relais (8) porte la ligne de sécurité (SECU) au potentiel +5 V. Au repos, cette ligne est maintenue au niveau O par la résistance (9) de 10 K. Le monostable est restauré par l'activation de la ligne SRST à travers un inverseur (7), notamment pendant la mise sous tension du dispositif. Le passage au niveau +5 Volts de la ligne SECU provoque une interruption sur tous les microprocesseurs du dispositif. L'ouverture de la bouche d'arrêt d'urgence est provoquée par le relais (13, figure 10) qui se trouve dans le circuit de détection d'ouverture. Ce circuit va déclencher lui aussi le passage de la ligne de sécurité (SECU) au niveau +5 V pendant 20 mS. Cette impulsion est masquée par la durée de 1 seconde de l'impulsion du circuit GF. Circuit SC: Circuit de connexion et de déconnexion du bus de service. Figure 13: Ce circuit est destiné à isoler le bus système "0" de l'unité de service du reste du dispositif, lorsque l'unité de service n'est pas en communication avec un contrôleur d'axe. Au repos (bus de service désactivé) - Les lignes d'adresses et de données sont flotantes côté bus de service "S" et "vues" comme des charges simples côté bus "0". - Les lignes de commande et de contrôle sont maintenues à leur niveau inactif côté bus de service "S" et "vues" comme des charges simples côté bus "0". Lorsque le bus de service S" est activé, toutes les lignes sont passantes. La connexion et la déconnexion du bus de service sont commandées par le cuircuit GF à travers les lignes S0 et SN. Un niveau 1 sur la35 ligne de restauration (SRST) désactive le bus de service. Le maintien de l'état actif ou inactif jusqu'à la commande suivante du circuit GF est réalisé par une bascule (13) de type D (74LS74A) utilisée dans son mode asynchrone. La ligne 50 à O actif fait passer la sortie Q à 1 et la sortie -Q à O. Après que cette ligne soit repassée au niveau inactif 1, la bascule conserve les valeurs de Q et -Q. La ligne SN ou la ligne SRST qui ont un niveau 1 actif, à travers le OU à sortie inversée (14), font passer les sorties Q et -Q de la bascule respectivement aux niveaux O et 1. Compte tenu du nombre de charges sur les sorties de la bascule, ces signaux sont amplifiés par des séparateurs (9 et 10). En fait, il s'agit de 2 entrées et 2 sorties prises sur un coupleur bidirectionnel tO (74LS245) dont la direction et l'autorisation de sortie sont en permanence au niveau O. Ceci n'est pas figuré sur le schéma, seule la fonction amplification est représentée. La sortie Q, à travers son amplificateur (10) va porter au niveau O (inactif) ou "1" (actif) une des 2 entrée de chacun des 8 opérateurs ET (12) qui reçoivent sur leur deuxième entrée les lignes de contrôle du bus "0" qui sont à 1 actif (11). Lorsque la sortie Q est à O, toutes les lignes de contrôle côté bus "S" sont à O. Lorsqu'elle est au niveau 1, les sorties sont au même niveau que les entrées. La sortie -Q, à travers son amplificateur (9) va porter au niveau 1 (inactif) ou O (actif) une des 2 entrées de chacun des 16 opérateurs OU (6) qui reçoivent sur leur deuxième entrée les lignes de contrôle du bus "0" qui sont à O actif (5). Lorsque la sortie -Q est à 1, toutes les lignes de contrôle côté bus "S" sont à 1. Lorsqu'elle est au niveau O, les sorties sont au même niveau que les entrées. La porte logique OU (7) suit le même raisonnement, mais sa sortie est tournée en direction de l'unité de service. La ligne de contrôle est une ligne entrante (READY). La sortie -Q commande aussi la sortie des coupleurs bidirectionnels (1 et 2) qui traitent les lignes adresses et données. Le coupleur (1) (74LS245) qui interface les lignes adresses 16 à 19 est bloqué en transmission. Sa broche de direction est au niveau 1 permanent. Les 2 coupleurs (2) (74LS245) qui interfacent les lignes adresses et données O àl15 sont commandés en direction par la sortie de la ligne transmission/réception (SDT/R). Lorsque la sortie -Q est à 1. les 3 coupleurs sont en direction "transmission" et leur sortie en haute impédance. Lorsque la sortie -Q est à O, les 3 coupleurs ont leur sortie en basse impédance, la direction des 2 coupleurs d'adresses et données (2) est commandée par la ligne SDT/R. Les temps de passage de l'état inactif à l'état actif de ce circuit et inversement n'ont aucune importance puisque l'utilisation du bus de service par l'unité de service se fait en 3 temps: 1) écriture sur l'unité du circuit GF de la valeur 1 (connexion) 2) lecture ou écriture sur l'unité de contrôle d'axe concerné 3) écriture sur l'unité du circuit GF de la valeur 2 (déconnexion) Les décalages induits par ce cuicuit sur les signaux n'ont aucune influence sur l'exploitation du bus de service du fait que toutes les lignes subissent à peut près le même retard. 1ro L'ensemble des lignes de contrôle (8) et des lignes d'adreses et de données (4) constitue le bus de service "S" qui est distribué à tous les contrôleurs d'axes du dispositif. Une 3ème entrée et sortie sont prises sur le coupleur déjà utilisé comme amplificateur (9 et 10) pour amplifier le signal de restauration générale (15) pris sur le bus "0" et distribué par la ligne SRST. Le circuit UC: Unité de contrôle du bus de positions. Figure 14: Le circuit est destiné à gérer les signaux du bus de positions et à exécuter la lecture permanente de la référence position des axes. Il reçoit les signaux de 4 lignes: P0: pour mettre en route la lecture permanente PN: pour arrêter la lecture permanente SRST: pour effectuer les restaurations nécessaires après la mise sous tension. : SECU: pour effectuer les actions nécessaires en cas d'arrêt d'urgence, notamment la reprise de la lecture perma- nente. Il est constitué d'un microprocesseur (4) cadencé à 8 MHz, en configuration minimum, et connecté selon les indications du constructeur avec un générateur intégré de signaux d'horloge (3), un contrôleur programmable d'interruptions (6) et une mémoire morte (5) à travers le bus "U" (7). Il est également connecté par ce bus au circuit TU, non représenté sur cette figure. Le générateur de signaux d'horloge (3) reçoit la référence de fréquence 24 MHz du quartz (2). L'information de restauration générale du dispositif est donné par la ligne SRST à travers l'inverseur (1). Il est configuré en "prèt permanent" et delivre au microprocesseur le signal d'horloge à 8 MHz. le signal "prèt" et le signal de restauration général synchronisé avec le signal d'horloge. Le contrôleur programmable d'interruptions (6) reçoit les signaux PN et P0 du circuit générateur de fonctions GF. Sa fonction est, lorsque il reçoit un signal sur une de ces 2 lignes, de: 1) générer une interruption du microprocesseur par la broche INTR 2) de recevoir l'accusé de réception de l'interruption sur le bus 'U" 3) de répondre à la procédure INTA par un code conventionnel envoyé sur le bus suivant que le signal vient de la ligne P0 ou de la ligne PN. 0 La mémoire morte (5) est constituée de 16 K dans les adresses basses et de 64 K dans les adresses hautes. La première partie contient les tables de vecteurs d'interruptions, la deuxième partie contient: - Les routines d'initialisation du contrôleur programmable - d'interruption (exécutées à la restauration générale). - La routine d'attente (exécutée à la restauration générale et sur interruption provenant de PN). - La routine de lecture permanente de la position des axes (exécutée sur interruption provenant de P0 ou de la ligne de sécurité SECU). Il n'y a pas de retranscription des informations dans la mémoire. La lecture des informations des axes qui n'existent pas dans le dispositif donne des valeurs abérantes, mais elle ne sont jamais utilisées. Ceci de manière à pouvoir ajouter des contrôleurs d'axe sans avoir à modifier la routine de lecture permanente. Cette routine de lecture permanente comporte les instructions suivantes: 1) initialisation du registre de répétition (4 cycles d'horloge) 2) préfixe de répétition (2 cycles) 3) lecture de 16 éléments binaires de mémoire vers un registre interne (16 cycles) 4) transfert inconditionnel (15 cycles) Ce qui donne pour chaque axe avec une durée de cycle d'horloge égale à 125 nS: - durée d'un signal de lecture: 250 nS. - espace entre la lecture des 16 éléments de poids fort et les 16 éléments de poids faible: 2000 nS - période de rafraichissement des informations d'un axe: 250 625 nS. Ceci représente la durée du cycle complet du relevé de positions pour les 62 axes et détermine la cadence pour chaque axe: environ 3990 relevés par seconde. Ce sont ces signaux de lecture qui après passage par le circuit TU, seront véhiculés par le bus de position "P". Circuit TU: Isolation ou connexion du bus de positions P" sur le bus "U" Figure 15: Ce circuit est destiné 1) en fonction d'une comparaison des adresses envoyées sur le bus "U" par le circuit UC avec les adresses des axes, à retransmettre ou non les signaux sur le bus de positions. 2) détecter sur les données un nombre négatif et provoquer une interruption sur l'unité de service. Compte tenu des spécifications des adresses d'axes: a) Il n'y a pas de comparaison d'adresse avec une limite haute et une limite basse, mais seulement une sélection sur une plage de 256 adresses consécutives, la première se terminant par 00 et la dernière par FF. La sélection se fait sur les éléments binaires 8 à 19 des adresses. b) L'élément binaire de position O des adresses est ignoré, la lecture se faisant 2 octets par 2 octets. Une fois la sélection effectuée, seules les lignes d'adresse 1 à 7 sont transmises sur le bus de positions. Les adresses et les données sont démultipléxées et envoyées par les 7 lignes TA et les 16 lignes TD vers le circuit T0 dans lequel elles rejoignent les lignes du bus de l'unité de service qui subissent le même traitement pour former le bus de positions. Suivant le résultat de la sélection, les transmetteurs passent en haute ou en basse impédance, la direction des lignes de données est déterminée par la ligne DT/R du bus 'U". Le niveau logique des lignes de données est inversé. Les lignes de contrôle TR et TW vont donner dans le circuit T0 les lignes PR et PW qui sont les lignes de contrôle simplifiées du bus de position. Dans le cas de non transmission (sélection invalide et haute impédance), les 2 lignes TR et TW sont maintenues au niveau inactif 1. Dans le cas de transmission (sélection valide et basse impédance), la ligne de contrôle TR pour la lecture ou TW pour l'écriture passe au niveau actif O pour la durée du signal d'origine URD ou UWR (2 cycles d'horloge de l'unité de contrôle du bus de positions). Ce circuit est constitué: - d'un étage de démultiplexage des adresses. - d'un étage de comparaison d'adresse - d'un circuit de génération des signaux TR et TW. - d'un étage de transmetteurs haute et basse impédance des adresses - d'un étage de transmetteurs double direction haute et basse impédance pour les données - d'un étage de détection des nombres négatifs. La séparation et la mémorisation des adresses sont réalisées par les 3 registres de bistables (1,2 et 3) (74LS373) connectées aux 20 lignes d'adresses du bus "U", UAO à UA19. L'affichage est fait par le signal envoyé sur la ligne UALE. La ligne UM/I0 qui représente la sélection mémoire ou unité d'entrée/sortie est aussi mémorisée sur une position libre du dernier registre de bistable (3) pour des raisons de compatibilité avec d'autres types de microprocesseurs. Ceci permet l'instalation dans le circuit UC d'un microprocesseur plus rapide, mais dont le signal mémoire/unité est multipléxé avec d'autres informations dans le cycle de lecture/ecriture. La comparaison d'adresse est réalisée sur les éléments 8 à 19 par 2 comparateurs (74LS688) en cascade (5 et 6) actionnant leur sortie au niveau O sur égalité avec les positions 8 à 19 d'une valeur cablée. Les 2 groupes de micro-inverseurs (7) permettent de modifier manuellement la plage d'adresses à sélectionner. La validation des comparateurs est commandée après inversion (4) par la position "mémoire" de la ligne UM/I0. Le résultat de la sélection va conditionner les circuits suivants. La génération du signal de lecture sur TR est réalisée par la porte OU (14). Le passage au niveau actif O de la ligne TR est conditionné par une égalité sur la tranche d'adresses et par le passage au niveau 0 de la ligne URD. La génération du signal d'écriture sur TW est réalisée par la porte OU (13). Le passage au niveau actif O de la ligne TW est conditionné par une égalité sur la tranche d'adresses et par le passage au niveau O de la ligne UWR. La transmission des éléments 1 à 7 de l'adresse sélectionnée est réalisée par le coupleur de bus bidirectionnel 3 états (9) (74LS245). Sa direction est bloquée en transmission permanente, la validation de ses sorties est conditionnée par le résultat de la sélection d'adresse. Les positions 1 à 7 de l'adresse sont prélevées sur les sorties du premier registre de bistables (1) et transmises sur le groupe de lignes TA pour former dans le circuit T0 les positions PAl à PA7 du bus de positions. La transmission des données est réalisée par les 2 coupleurs de bus bidirectionnels 3 états (10) (74LS640). Leur direction est déterminée par le niveau de la ligne UDT/R, la validation de leurs sorties est conditionnée par la sélection d'adresse et par le passage au niveau O de la ligne UDEN. Ces 2 conditions sont vérifiées par la porte OU (8). Le circuit de détection de valeur négative (O en poids fort dans le premier groupe de 2 octets, puisque les niveaux logiques des donées sont inversés) est réalisé par la porte OU (11) à 4 entrées et à sortie inversée (74LS54). La première entrée est constituée par la première ligne d'adresse envoyée sur le bus de position (Ai). La deuxième entrée est constituée par la validation de sortie des coupleurs. Cette validation n'intervient que pendant la transmission ou la lecture de données. La troisième entrée est neutralisée. La quatrième entrée est constituée par la ligne de poids fort (D15) des données du bus de positions. La sortie, active au niveau 1. déterminée par les 3 conditions précédentes est connectée directement à la broche INTO du microprocesseur de l'unité de service. Ce passage au niveau actif va être interprété par le contrôleur intégré du microprocesseur et va déclancher une interruption gérée par celui-ci. Circuit T0: Isolation ou connexion du bus "0" sur le bus de positions "P". Figure 16 Ce circuit est destiné: 1) en fonction d'une comparaison des adresses envoyées sur le bus "0" par l'unité de service avec les adresses des axes, à retransmettre ou non les signaux sur le bus de positions. 2) Mixer ces signaux avec ceux du circuit TU. 35. Compte tenu des spécifications des adresses d'axes: a) Il n'y a pas de comparaison d'adresse avec une limite haute et une limite basse, mais seulement une sélection sur une plage de 256 adresses consécutives, la première se terminant par 00 et la dernière par FF. La sélection se fait sur les éléments binaires 8 à 19 des adresses. b) L'élément binaire de position O des adresses est ignoré, la lecture se faisant 2 octets par 2 octets. Une fois la sélection effectuée, seules les lignes d'adresse 1 à 7 sont transmises sur le bus de positions. Les adresses et les données sont démultipléxées et connectées aux 7 lignes TA et aux 16 lignes TD qui viennent du circuit TU pour former le bus de positions. Suivant le résultat de la sélection, les transmetteurs passent en haute ou en basse impédance, la direction des lignes de données est déterminée par la ligne 0DT/R du bus "0". Les lignes de contrôle PR et PW sont les lignes de contrôle simplifiées du bus de position. Dans le cas de non transmission (sélection invalide et haute impédance), les 2 lignes de contrôle sont maintenues au niveau inactif 0. Dans le cas de transmission (sélection valide et basse impédance), la ligne de contrôle PR pour la lecture ou PW pour l'écriture passe au niveau actif 1 pour la durée du signal d'origine 0RD ou 0WR (2 cycles d'horloge de l'unité de service). Ce circuit est constitué: - d'un étage de démultiplexage des adresses. - d'un étage de comparaison d'adresse - d'un circuit de génération des signaux PR et PW et de mixage avec les lignes TR et TW venant du circuit TU. - d'un étage de transmetteurs haute et basse impédance des adres- ses. - d'un étage de transmetteurs double direction haute et basse impédance pour les données La séparation et la mémorisation des adresses sont réalisées par les 3 registres de bistables (1,2 et 3) (74LS373) connectées aux 20 lignes d'adresses du bus "0", 0A0 à 0A19. L'affichage est fait par le signal envoyé sur la ligne 0ALE. La comparaison d'adresse est réalisée sur les éléments 8 à 19 par 2 comparateurs (74LS688) en cascade (5 et 6) actionnant leur sortie au niveau O sur égalité avec les positions 8 à 19 d'une valeur cablée. Les 2 groupes de micro-inverseurs (7) permettent de modifier manuellement la plage d'adresses à sélectionner. La validation des comparateurs est réalisée après inversion (4) par la position "mémoire" de la ligne 0M/IO. Le résultat de la sélection va conditionner les circuits suivants. La génération du signal PR est réalisé par la porte OU (13) dont la sortie active au niveau O est conditionnée par une égalité sur la tranche d'adresses (5 et 6) et par le passage au niveau actif O de la ligne 0RD. La sortie de cette porte est inversée par le ET à sortie inversée (11) qui la mixte avec la ligne TR venant du circuit TU. La génération du signal PW est réalisé par la porte OU (15) dont la sortie active au niveau O est conditionnée par une égalité sur la tranche d'adresses (5 et 6) et par le passage au niveau actif O de la ligne 0WR. La sortie de cette porte est inversée par le ET à sortie inversée (14) qui la mixe avec la ligne TW venant du circuit TU. Compte tenu du nombre important de charges sur ces lignes, les signaux PR et PW sont amplifiés par le coupleur de bus bidirectionnel (12) (74LS245) dont la direction et la sortie sont au niveau O permanent. La transmission des positions 1 à 7 de l'adresse sélectionnée est réalisée par le coupleur de bus bidirectionnel 3 états (9) (74LS245). Sa direction est bloquée en transmission permanente, la validation de ses sorties est conditionnée par le résultat de la sélection d'adresse. Pendant que les sorties sont en haute impédance, les 7 résistances de 700 Ohms (16) maintiennent les lignes au niveau 1. Les positions 1 à 7 de l'adresse sont prélevées sur les sorties du premier registre de bistables (1) et transmises pour former les positions PAl à PA7 du bus de positions. La transmission des données est réalisée par les 2 coupleurs de bus bidirectionnels 3 états (10) (74LS640). Leur direction est déterminée par le niveau de la ligne 0DT/R, la validation de leurs sorties est conditionnée par la sélection d'adresse et par le passage au niveau O de la ligne ODEN. Ces 2 conditions sont vérifiées par la porte OU (8). Pendant que les sorties sont en haute impédance, les 16 résistances de 700 Ohms (17) maintiennent les lignes au niveau 1. * 3-0 Les lignes TA sont connectées aux lignes adresses et les lignes TD sont connectées aux lignes données. La figure 17 illustre les signaux de commande et d'adresses sur le bus de positions connecté au bus de l'unité de service par le circuit T0. La base de temps est le signal d'horloge dont la période est de 80 nS. Le cycle de lecture ou d'écriture s'étend sur 4 périodes d'horloges (1, 2, 3 et 4). Les signaux 0ALE, 0M/I0, 0WR, 0RD, 0A16-19 et 0ADO-15 correspondent aux signaux envoyés par le microprocesseur de l'unité de service. Le signal (5) figurant une égalité d'adresse devient actif soit après le passage au niveau 1 de la ligne 0M/I0, soit après l'établissement de l'adresse démultiplexée. mini maxi temps (6) d'activation du signal (5) après 0M/I0 ou adresses 60 nS temps (7) d'activation du signal PR ou PW après 0RD ou 0WR 20 35 nS durée minimum de signal PR ou PW 116 nS temps (8) d'établissement des adresses après le signal (5) 12 25 nS Dans le cas ou le bus de positions est connecté au bus de l'unité de contrôle UC, les temps mini et maxi sont identiques, seuls sont alongés les temps disponibles pour l'exploitation, le temps de base étant de 125 nS au lieu de 80 nS. lTO Contrôleurs d'axes - Figure 18 Chaque contrôleur d'axe est constitué par une unité autonome avec son microprocesseur (CPU), sa mémoire (MEM), son coprocesseur matéhmatique (NPX), sa carte d'axe (AXE) et sa carte resolveur (RLV). L'ensemble CPU et MEM est constitué par la carte "coprocesseur" d'origine du micro-ordinateur industriel. Le contrôleur d'axe qui commande le plateau comporte 2 cartes supplémentaires correspondantes aux sorties digitales de 2 dispositifs de mesures non figurées. Le microprocesseur (CPU) communique avec les autres éléments par son bus (3) appelé bus d'axe "A". Le bus dessiné (4) sur la figure 18 entre la carte d'axe et la carte résolveur représente des interconnexions spécialisées imposées par le fabricant de ces éléments. La carte d'axe commande et contrôle directement les circuits servo-moteurs (5) et les entrées/sorties digitales, la carte résolveur fourni les signaux de références et analyse les déphasages en retour de la machine (6). L'ensemble de ces éléments étant des composants du commerce, ils ne font l'objet d'aucune description spécifique, excepté en ce qui concerne les lignes du bus d'axe "A"' et les lignes complémentaires du microprocesseur (CPU). La fonction du contrôleur d'axe est d'exécuter le programme d'application qui concerne son axe et qui lui aura été fourni par l'unité de service. La liaison avec le bus de service (1) s'effectue au travers du circuit de liaison BL. Au fur et à mesure de l'exécution de son programme, une nouvelle référence de position va être calculée ou mesurée par le contrôleur d'axe. Cette nouvelle valeur va être mise à la disposition des autres contrôleurs d'axes sur le bus de position (2), par le circuit RE. Le contrôle de l'avancement du programme, les variations de vitesses et tous les autres éléments qui déterminent les actions de l'axe sont élaborés par le microprocesseur (CPU) en fonction des informations envoyées sur le bus de positions par les autres contrôleurs d'axes. La liaison avec le bus de position (2) s'effectue au travers du circuit tampon RE. Ce circuit permet aussi le transfert des interruptions entre l'unité de service et les contrôleurs d'axe et vice versa. o0 La carte CPU, figure 19 comporte. outre la mémoire dynamique (MEM): 1) une partie de mémoire morte qui contient les routines d'initialisation et de sécurité du dernier niveau, 2) les circuits de gestion du bus "A" qui est un bus standard, et les circuits de gestion des lignes complémentaires "C" (restauration générale, interruptions mascables et interruptions non mascables), 3) les circuits de génération de signaux d'horloge cadencés à 12,5 MHz par un quartz à 25. 4) le contrôleur programmable d'interruption intégré au micropro- cesseur. Une seule ligne "pret" (ARDY) est utilisée pour synchroniser un ou plusieurs circuits RE dans les phases de lecture d'informations par le microprocesseur. Circuit BL: liaison entre le bus de service "S" et le bus d'axe "A". Figure 20: Ce circuit est destiné à permettre le transfert de données du microprocesseur de l'unité de service vers le microprocesseur d'un contrôleur d'axe et inversement. Un seul contrôleur d'axe peut, à un instant donné, communiquer avec l'unité de service. Pendant cette communication, les autres contrôleurs d'axes continuent leur fonctionnement. Chacun des 2 microprocesseurs "voit" l'autre comme une unité d'entrée/sortie sur son bus. L'échange est bilatéral et s'effectue suivant un protocole conversationnel. L'initiative de l'échange et le choix du contrôleur d'axe premier servi sont réalisés par l'unité de service en fonction des demandes d'interruptions passées par les circuits tampons et de priorité programmées. L'échange se fait 2 octets par 2 octets, ce qui nécessite des adresses d'unités d'entrées/sorties paires. L'adresse du circuit côté contrôleur d'axe doit être unique sur le bus d'axe "A", par contre, elles peuvent être identique d'un contrôleur à l'autre, ce qui est le cas dans le dispositif. L'adresse du circuit côté unité de service doit être unique sur tout le bus de service et sur tout le bus système '0" de l'unité de service. Dans le dispositif, les adresses sont prises dans la tranche 8000 à 807E ce qui délimite 64 adresses paires possibles et permet d'adresser un axe en multipliant son adresse sur le bus de positions par 2 et en ajoutant la valeur hexadécimale 8000. Un seul circuit de ce type peut être installé dans chaque contrôleur d'axe. Il est constitué par 2 interfaces programmables de périfériques montées tête-bêche (2 et 3) suivant le schéma du fabricant. L'une est connectée au bus de service "S" (1), l'autre au bus d'axe "A" (4). Ce circuit est monté sur une carte au format double en hauteur pour être à cheval sur le bus de service, les circuits complémentaires, le bus de position et le bus d'axe. Des circuits annexes sont montés sur cette carte - transfert de la ligne SECU (5) vers la ligne complémentaire du microprocesseur qui correspond à l'entrée de l'interruption non mascable (NMI) pour le contrôleur d'axe. - transfert de la boucle d'arrêt d'urgence (6) vers le fond de panier qui la prolonge jusqu'à la carte d'axe. L'absence de la carte dans son logement provoque l'ouverture de la boucle, se qui est nécessaire dans la mesure ou cette carte transfert les lignes d'interruptions et la ligne de sécurité. - transfert de la sortie INTO de la première carte du circuit tampon RE vers l'entrée INTO des lignes complémentaires du micropro- cesseur. - maintient au niveau 1 de la ligne ARDY par une résistance de 5K (11). Cette ligne est utilisée par les circuits tampons RE. - transfert de la ligne de restauration générale SRST avec l'entrée RES des lignes complémentaires du microprocesseur, avec pos- sibilité d'effectuer manuellement une restauration du contrôleur d'axe par action sur un interrupteur à poussoir accessible sur le côté face avant de la carte. Le circuit qui permet cette restauration est constitué par un inverseur (7) qui pilote une entrée d'une porte ET (10) en fonction de la ligne de restauration générale SRST. L'autre entrée de la porte ET est maintenue au niveau 1 par la résistance de 10K (8) avec son condensateur de 1 MF. Une action manuelle sur le poussoir (9) fait passer cette entrée au niveau O, ainsi que la sortie du ET, ce qui déclanche une restauration limité au seul contrôleur d'axe. Circuit tampon RE: Exploitation des informations véhiculées par le bus de positions. Ce circuit permet à un contrôleur d'axe d'obtenir les informations élaborées par un ou plusieurs autres axes sans qu'il n'y ait aucun partage de bus ni de synchronisation. Il permet aussi à ce même contrôleur d'axe de distribuer sa propre information aux autres. l'O Il permet une liaison logique et non pas électrique entre le bus de position "P" et le bus d'axe "'A". La liaison est utilisée dans les 2 sens. Il utilise pour réaliser cette liaison logique un système de mémoire à double étage. Pour chaque sens de communication, chacun des deux étages est connecté à un des 2 bus, et lorsqu'il y a modification d'une mémoire, un "drapeau" est positionné pour mémoriser cet évènement. Si l'étage récepteur n'est pas occupé, il y a mise à jour immédiate et le "drapeau" est annulé. Si l'étage récepteur est occupé, la mise à jour est différée jusqu'à la fin de l'occupation. La mise à jour est alors effectuée et le "drapeau" restauré. Aucun contrôle de l'exploitation par le contrôleur d'axe de l'information mise à sa disposition n'est effectué. Ceci dépend de la logique du programme d'application exécuté par le contrôleur d'axe. En effet, celui-ci peut ne pas tenir compte des informations qui lui sont destinées. Ce circuit est constitué de 2 parties indépendantes - La première est destinée à répondre à une lecture mémoire envoyée par l'unité de contrôle du bus de positions ou par l'unité de service sur le bus de positions. L'infomation retournée est celle qui aura été mémorisée lors d'une précédente écriture par le contrôleur d'axe sur son propre bus. -La seconde partie est destinée à enregistrer l'information envoyée par la première partie équivalente d'un autre axe lorsque l'adresse de cet autre axe correspond à une valeur pré-enregistrée par le programme du contrôleur d'axe. Les 2 parties travaillent simultanément dans le même cycle de bus. Chacune de ces 2 parties est montée sur une carte séparée, d'un format double en hauteur pour pouvoir être connectée à cheval sur le bus de position et sur le bus du contrôleur d'axe. Cette disposition permet de monter dans un même contrôleur d'axe plusieurs cartes de chaque type (sous réserve que les adresses doient différentes). La duplication de cartes correspondant à la première partie n'est d'aucune utilité excepté dans le cas o la position d'un axe n'est pas mesurée suivant une direction, mais par une combinaison de plusieurs directions. Ce n'est pas le cas dans le dispositif. 0 La duplication de cartes correspondant à la deuxième partie permet au programme de contrôle d'axe de disposer de références multiples. Dans le dispositif, il y en a 2 par contrôleur d'axe. Première partie: Réponse à une lecture du bus de positions. - Figure 21: 3 circuits composent cette première partie: 1) le circuit RC qui réalise la sélection d'adresse sur le bus de position (1). 2) le circuit RS qui réalise la sélection d'adresse sur le bus d'axe (2). 3) le circuit RM qui comporte les 2 étages de mémoire et le "drapeau". Ce circuit RM est dupliqué de manière à traiter les 2 premiers octets sur un circuit et les 2 derniers octets sur l'autre. La commande de sortie sur le bus de positions est envoyée aux circuits RM par le circuit RC via la ligne 01 pour les 2 premiers octets et par la ligne 02 pour les 2 derniers. Le signal d'occupation est envoyé aux 2 circuits RM par le circuit RC via la ligne BY. La commande de mémorisation des données sur le bus d'axe est envoyé aux circuits RM par le circuit RS via la ligne W1 pour les 2 premiers octets et par la ligne W2 pour les 2 derniers. Circuit RC: Sélection de l'adresse de l'axe pour envoi de la réponse sur le bus de position. Figure 22: Ce circuit compare les éléments 2 à 7 de l'adresse du bus de positions (PA2 à PA7) avec une adresse cablée de 6 éléments binaires qui représente l'adresse de l'axe. La comparaison s'effectue sur une commande de lecture aussi bien que sur une commande d'écriture. En cas d'égalité avec l'adresse de l'axe et pour une commande de lecture, la ligne 01 devient active si la ligne PAl de l'adresse est à zéro, dans le cas contraire, c'est la ligne 02 qui devient active. En cas d'égalité avec l'adresse de l'axe et pour une commande d'écriture, une ligne INTO est activée. Cette ligne est retransmise par le fond de panier à la carte contenant le circuit BL. Ceci n'est valable que pour la première carte de ce type, s'il y en a plusieurs, les sorties INTO des autres seront ignorées. La fonction de cette ligne est de provoquer une interruption du microprocesseur d'axe. Parallèlement à la comparaison avec l'adresse de l'axe, les lignes PA2 à PA7 sont comparées à zéro. En cas d'égalité, et pour une commande d'écriture seulement, il y a aussi activation de la ligne INTO. - En cas d'égalité avec l'adresse de l'axe seulement, il y a activation de la ligne d'occupation BY. ADRESSE LECTURE ECRITURE =0 INTO =0 INTO =1 BY =1 BY =1 01 =1 01 =1 02 =1 02 =1 =Adresse INTO =0 INTO =1 de l'axe BY =0 BY =0 Al =0t 01 =0 01 =l { 02 =1 02 =l Al= l{ 01 =1 { 02 =0 ni 0, ni = INTO =0 INTO =0 BY =1 BY =1 01 =1 01 =1 01 =1 02 =1 INTO est actif au niveau 1, BY, 01 et 02 sont actifs au niveau O. Ce circuit est constitué: - d'un étage d'amplification - d'un étage de comparaison d'adresse - d'un circuit pour déterminer la ligne de commande à activer. L'amplification est réalisée par 2 boitiers amplificateurs (1 et 2) (74LS744). La ligne PAl, une fois amplifiée est dirigée directement vers le circuit de sélection premier ou deuxième groupe de 2 octets. La comparaison s'effectue sur les positions 2 à 7 amplifiées grace à 2 comparateurs (74LS688). Le premier (3) effectue la comparaison avec une adresse donnée par des micro-inverseurs (15). Ces micro-inverseurs permettent de modifier manuellement l'adresse de l'axe. La validation de ce comparateur est permanente. Le deuxième comparateur (6) effectue la comparaison avec O. Sa validation est faite par la ligne PW après amplification (2) et inversion (5). L'égalité de l'adresse de l'axe détectée par le comparateur (3) active la ligne d'occupation BY et à travers un inverseur (4), le circuit de $0 commande de sortie. Le circuit de commande de sortie (11, 12, 13, et 14) réagit si 2 conditions sont remplies (13): 1) le résultat de la comparaison est une égalité 2) la commande est une lecture e5 ensuite, 2 cas sont possibles: 1) AI est à O (ler groupe de 2 octets) la ligne 01 passe à O grace à la fonction OU (14) 2) AI est à 1 (2ème groupe de 2 octets): la ligne 02 passe à O grace à l'inverseur (11) et à la fonction OU (12). L'égalité de l'adresse de l'axe ET (8) une commande d'écriture OU (9) une écriture (5) sur une adresse à O (6 et 7) déclenchent une interruption du microprocesseur (10) du contrôleur d'axe par sa broche INTO. Circuit RS: Sélection des 2 adresses d'entrée/sortie pour prendre en compte la nouvelle valeur de la référence de position d'un axe. Figure 23: Les adresses d'unités d'entrées/sorties sont exprimées sur 16 lignes. Ce circuit compare les lignes AAO à AA15 du bus du contrôleur d'axe avec 2 adresses de 16 éléments binaires modifiables manuellement. Ces 2 adresses correspondent aux 2 groupes de 2 octets qui composent la position de l'axe. Elles sont toujours paires (écriture de 16 éléments binaires). L'évolution de la position de l'axe fait qu'en général, le 2ème groupe de 2 octets représentant les poids faibles de la référence est plus souvent modifié que le ler groupe. Dans ce cas, une seule écriture à l'adresse du 2ème groupe suffit pour mettre à jour la position. En cas d'égalité sur l'adresse, et pour une commande d'écriture entrée/sortie uniquement, il y a activation soit de la ligne W1, soit de la ligne W2. Pour simplifier le circuit, les 8 éléments binaires de poids fort des 5. 2 adresses sont identiques. Le circuit comprend: - un étage pour démultiplexer les adresses du bus "A" - un étage de comparaison d'adresses - un circuit de commandes Le démultiplexage des adresses est réalisé par 2 registres de bistables (74LS373) sur les lignes AADO à AAD15 du bus du contrôleur d'axe. Leur affichage est commandé par la ligne AALE. Le premier (1) mémorise les poids forts (A8 à A15), le second (3) mémorise les poids faibles (AO à A7). Les 3 comparateurs sont des 74LS688. La comparaison d'adresse s'effectue d'abord sur les poids forts, à condition que la commande soit une écriture pour unité d'entrée/sortie. Cette condition est vérifiée par la porte OU (2) qui va valider le20 comparateur (6). Ce dernier compare Ies positions A8 à A15 de l'adresse mémorisées par le registre (1) avec 8 micro-inverseurs (4) qui permettent de définir manuellement les 8 premiers éléments binaires des adresses à sélectionner. La sélection sur les poids faibles est réalisée par 2 comparateurs (7 et 10) qui comparent chacun de leur côté les lignes AO à A7 mémorisées par le registre (3) avec les valeurs indiquées par les micro-inverseurs (5 et 9). Ces 2 groupes de micro-inverseurs permettent de définir manuellement les poids faibles des 2 adresses à sélectionner.30 La validation de ces 2 comparateurs est faite par le résultat de la comparaison des poids forts (6). Le circuit de commandes se résume à 2 portes OU (8 et 11) à sorties inversées qui n'activent les sorties W1 ou W2 suivant le résultat des comparaisons que pendant la durée du signal d'écriture35 sur la ligne AWR. Ce n'est que pendant ce signal que les données sont présentes sur les lignes AADO à AAD15 du bus "A". Circuit RM: Mémoire à double étage. Figure 24: Ce circuit assure le passage des informations du bus "A" du contrôleur d'axe vers le bus "P" de positions.40 Ce circuit ne traite que 16 éléments binaires de données, il est donc dupliqué pour traiter les 32 éléments binaires de l'information de position. Les lignes Wl et 01 commandent le premier, les lignes W2 et 02 commandent le second. Chacun des 2 circuits reçoit la ligne d'occupation BY. Ce circuit est composé: - d'un étage de coupleurs sur le bus "'A" - d'un étage mémoire niveau bus "A" - d'un "drapeau" pour mémoriser toute action d'écriture. - d'un étage mémoire niveau bus "P" - d'un circuit qui effectue ou qui diffère la mise à jour de l'étage "P" TO par l'étage "A" - d'un étage de coupleurs sur le bus "P". Si la ligne BY est active à O, celà signifie que les coupleurs du bus "P" sont en train de transférer les informations de l'étage mémoire niveau "P". La mise à jour doit être différée jusqu'au passage au niveau 1 inactif de la ligne BY. Par construction du circuit RC, les opérateurs logiques ne pouvant avoir un temps de réponse minimum égal à 0, le signal d'occupation couvre entièrement la durée d'un signal 01 ou 02 qui commande l'exploitation de la mémoire au niveau "P". L'étage de coupleurs (1 et 2) sur le bus "A" est réalisé par 2 coupleurs bidirectionnels 3 états (74LS245) dont la direction est maintenue en permanence. Leur validation de sortie est effectuée par la ligne AM/I0. La sélection d'adresses effectuée par le circuit RS étant validée par la condition écriture sur unité d'entrée/sortie, le signal sur W1 ou W2 intervient après la stabilisation des données à la sortie des coupleurs. Le premier des coupleurs (2) connecté sur les lignes AADO à AAD7 transmet les données DO à D7, le second (1) qui est connecté sur les lignes AAD8 à AAD15, les données D8 à D15 sur les registres qui constituent l'étage de mémoire niveau bus "A". L'étage mémoire au niveau bus "A" est constitué de 2 registres (3) de bistables (74LS373) qui affichent par la commande W1 ou W2 les informations présentées à leurs entrées par les coupleurs (1 et 2) de l'étage précédent. Le "drapeau" est constitué par une bascule (9) de type D (74LS74A) fonctionnant en mode synchrone sur front de montée d'horloge pour le passage à 1 et en mode asynchrone par le "clear" pour le passage à O de sa sortie Q. Le font de montée d'horloge est constitué par le signal de la ligne W1 ou W2, la donnée en entrée est au nivau 1 permanent. Le "clear" est mis à O par la ligne de commande de mise à jour (10) après inversion (11). L'étage mémoire du niveau bus "P" est constitué de 2 registres (4) de bistables (74LS373) qui affichent par le signal envoyé sur la ligne de mise à jour (10) les données présentées à leurs entrées par les 2 registres (3) de l'étage mémoire du niveau bus "A". Le circuit qui commande la mise à jour immédiate ou différée à comme entrées: 1) Le signal d'occupation BY 2) la commande d'écriture Wl ou W2 3) la sortie Q du "drapeau" (9) Il sort sur la ligne (10) le signal de mise à jour. Dans le cas ou BY est au niveau 1 (inactif): - Un signal sur Wl ou W2 va positionner le "drapeau (9) et à travers le ET (6) et le OU (8) activer la ligne (10) de mise à jour. - Au passage, le "drapeau" est restauré par l'inverseur (11). Dans le cas ou BY est au niveau O (actif): - Un signal sur Wl ou W2 va positionner le "drapeau" (9). - Au moment ou BY repasse au niveau i (inactif), la sortie Q du "drapeau" active à travers le ET (7) et le OU (8) la ligne (10) de mise à jour. - Le 'drapeau" est restauré par le signal sur la ligne (10) de mise à jour après inversion (11). Le temps de maintien minimum du signal sur la ligne (10) de mise à jour est déterminé par la succession des éléments suivants - l'inverseur (1 1) - le "drapeau" (9) - le ET (7) - le OU (8) Ce qui donne en temps: mini maxi - activation du "clear' après montée de la ligne (10): 9 20 propagation du 'clear" sur la sortie Q: 13 40 - retombée de la ligne de mise àjour (10) après Q: 20 40 - fin de l'impulsion de 'clear' après inversion: 8 20 - durée de l'impulsion du 'clear": 41 100 - durée de rimpulsion sur la ligne de mise àjour (10): 42 100 - durée minimum de restauration de la bascule (9): 25 - durée minimum de l'affichage desregistres de bistables (4): 20 Le bilan le plus défavorable donne un temps minimum pour le signal sur la ligne (10) de 42 nS qui couvre la durée minimum d'affichage des registres (4) qui composent l'étage de mémoire du niveau bus *PE. Les 2 signaux BY et W ayant leur origine dans des microprocesseurs différents et non synchronisés. toutes les configurations sont possibles sur le plan des temps. BY peut très bien passer du niveau O (actif) au niveau 1 (inactif) pendant que W est actif. Dans ce cas, la mise à jour commence avec BY. Inversement, BY peut passer du niveau 1 (inactif) au niveau O (actif) pendant que W est actif. Dans ce cas: TO - si la différence de temps a été suffisamment grande pour restaurer le "drapeau", la mise à jour est faite. - si la différence de temps a été trop courte pour restaurer le "drapeau", la mise à jour est différée. Dans tous les cas, la durée minimum du signal de mise à jour couvre - la durée minimum de prise en compte des données par les registres de bistables (4) puisque le "drapeau" est positionné sur front de montée du signal W1 ou W2. Sur le plan théorique et en supposant que le déphasage des signaux sur BY et W corresponde avec les retards des différents circuits, la situation la plus défavorable consiste à faire passer les informations d'un bus à l'autre directement à travers les 4 étages. Ceci n'a aucune importance car dans cette situation, les données sont stables. L'utilité de différer la mise à jour est d'empêcher le transfert sur le bus "P" de données en cours d'établissement sur le bus 'A", donc de ne pas permettre la mise à jour immédiate lorsque W s'établit alors que BY est déjà actif. L'étage de coupleurs (5) sur le bus "P" est réalisé par 2 coupleurs bidirectionnels 3 états (74LS640) dont la direction est parmanente et la validation de leur sortie est commandée par les lignes 01 ou 02. Il transmettent les informations des registres mémoire (4) aux lignes correspondantes PDO à PD15 du bus de position "P". Seconde partie des circuits tampon RE: Enregistrement d'une référence de position. Figure 25: 35. - 3 circuits composent cette seconde partie 1) le circuit EC qui compare les adresses du bus de positions "P" (1) avec celle fournie par le circuit ES. 2) le circuit ES qui sélectionne l'adresse sur le bus d'axe "A" (2) pour l'exploitation de la référence enregistrée et qui traite l'adresse de l'axe émetteur de cette référence. 3) le circuit EM qui comporte 2 étages de mémoire et un "drapeau". Ce circuit, réciproque du circuit RM, est dupliqué de manière à traiter les 2 groupes de 2 octets de la référence. La commande de sortie sur le bus d'axe est envoyée aux 2 circuits EM par le circuit ES via la ligne E1 pour les 2 premiers octets et par la ligne E2 pour les 2 derniers. Le signal d'occupation pour les circuits EM est la commande de sortie elle même dans la mesure ou l'exploitation d'un groupe de 2 octets permet la mise à jour du second. Une confirmation de mise à jour est retournée par les circuits EM au circuit ES via les lignes Cl1 et C2. La commande de mémorisation sur le bus de positions est envoyée aux circuits EM par le circuit EC via la ligne S1 pour les 2 premiers octets et par la ligne S2 pour les 2 derniers. L'adresse à comparer est envoyée au circuit EC par le circuit ES via les lignes AD. Une ligne d'occupation FR est envoyée au circuit ES par le circuit EC pour éviter la modification de l'adresse pendant la comparaison. Le circuit ES bloque l'exploitation de la référence par le contrôleur d'axe après une modification d'adresse et tant que les 2 groupes de 2 octets n'auront pas été mis à jour. C'est le seul cas d'arrêt du microprocesseur d'un contrôleur d'axe. Circuit EC: Sélection de l'adresse de l'axe demandé par le contrôleur qui contient ce circuit. Figure 26: Ce circuit compare les éléments 2 à 7 de l'adresse du bus de positions (PA2 à PA7) avec les 6 éléments binaires de poids faible * d'un octet fournit par le circuit ES (groupe de lignes AD). La comparaison s'effectue sur une commande de lecture. En cas d'égalité entre l'adresse du bus de positions et l'adresse fournie par le circuit ES, la ligne Si devient active si la ligne PAl de l'adresse est à O, dans le cas contraire, c'est la ligne S2 qui devient active. A chaque commande de lecture sur PR, la ligne d'occupation FR est activée pour empêcher une comparaison avec des données instables. Ce circuit est composé: - d'un étage d'amplification de l'adresse - d'un étage de comparaison - d'un circuit pour déterminer la ligne de commande à activer L'amplification est réalisée par un boîtier (1) amplificateur (74LS744) connecté sur les lignes PAl à PA7 du bus de positions. La comparaison s'effectue sur les éléments 2 à 7 sorties de l'amplificateur (1) avec les positions O à 5 des lignes AD qui viennent du circuit ES. Les positions 6 et 7 sont ignorées. Le comparateur (3) (74LS688) est validé par la ligne PR après inversion (2). En cas d'égalité, - Si Ai (ligne PAl amplifiée) = O (ler groupe de 2 octets): la ligne S1 passe au niveau actif 1 grace à la porte OU (6) à sortie inversée. - Si A1 = 1 (2ème groupe de 2 octets): La ligne S2 passe au niveau actif 1 grace à l'inverseur (4) et à la porte OU (5) à sortie inversée. Circuit ES: Sélection des 2 adresses d'entrée /sortie pour envoi de 15. la réponse à une lecture sur le bus d'axe "A" et pour prendre en compte une éventuelle modification de l'adresse de l'axe - Figure 27 et 28: Les adresses d'entrées/sorties sont exprimées sur 16 éléments binaires. Ce circuit compare les lignes AAO à AA15 du bus du contrôleur d'axe avec 2 adresses de 16 éléments binaires modifiables manuellement. Pour simplifier le circuit, et par convention, les 8 éléments binaires de poids fort des 2 adresses sont identiques. Ces 2 adresses correspondent aux 2 groupes de 2 octets qui composent la référence de position de l'axe recherché. Elles sont toujours paires. Pour une commande de lecture - une égalité avec l'adresse du premier groupe active la ligne El. - une égalité avec l'adresse du deuxième groupe active la ligne E2. Pour une commande d'écriture, et sur une égalité avec l'adresse du premier groupe seulement, il y a mémorisation des données des lignes O à 7 du bus par le procédé de mémoire à double étage. La ligne d'occupation FR est envoyée par le circuit EC. Au cours de cette mémorisation, il y a positionnement de 2 35. "sémaphores" pour empêcher l'exploitation par le contrôleur d'axe de valeurs non encore remises à jour à partir de la nouvelle adresse d'axe. C'est le seul cas de synchronisation d'un contrôleur d'axe avec les informations de référence du bus de position. Ce circuit reçoit les confirmations de mise à jour des 2 circuits EM par les lignes Cl et C2, ce qui permet de restaurer les "sémaphores" correspondants. Tant que les 2 "sémaphores" ne sont pas restaurés, ce circuit envoie au microprocesseur du contrôleur d'axe le signal 'non prêt" sur la ligne ARDY. Ce circuit comprend - un étage pour démultiplexer les adresses du bus "A". - un étage de comparaison d'adresses - un circuit de mémorisation des adresses d'axes - un circuit de commandes. Le démultiplexage des adresses est réalisé par 2 registres de bascules (74LS373) sur les lignes AADO à AAD15 du bus "A" du contrôleur d'axe. Leur affichage est commandé par la ligne AALE. f5 Le premier (1) mémorise les poids forts (A8 à A15), le second (3) mémorise les poids faibles (AO à A7). La comparaison d'adresse s'effectue d'abord sur les poids forts, à condition que la commande de lecture ou d'écriture soit pour une unité d'entrée/sortie. Cette condition est vérifiée par les 3 opérateurs logiques (2) qui vont valider le comparateur (6) (74LS688). Ce dernier compare les positions A8 à A15 de l'adresse mémorisée par le registre (1) avec 8 micro-inverseurs (4) qui permettent de définir manuellement les 8 premiers éléments binaires des adresses à sélectionner. La sélection sur les poids faibles est réalisée par 2 comparateurs (7 et 10) (74LS688) qui comparent chacun de leur côté les lignes AO à A7 mémorisées par le registre (3) avec les valeurs indiquées par les microinverseurs (5 et 9). Ces 2 groupes de micro-inverseurs permettent de définir manuellement les poids faibles des 2 adresses à sélectionner. La validation de ces 2 comparateurs est faite par le résultat de la comparaison des poids forts (6). Le circuit de mémorisation de l'adresse de l'axe dont le contrôleur souhaite exploiter la position est identique dans son principe au circuit RM, excepté que les données qui ne portent que sur 8 éléments binaires, ne sont pas envoyées sur le bus "P" mais mises à disposition du circuit EC. La ligne d'occupation utilisée ici est la ligne FR envoyée par le circuit EC. Ce circuit est composé - d'un étage de coupleurs sur le bus "A" - d'un étage mémoire niveau bus "A" - d'un "drapeau" pour mémoriser toute action d'écriture. - d'un étage mémoire niveau "circuit EC" - d'un circuit qui effectue ou qui diffère la mise à jour de l'étage circuit EC" par l'étage du niveau bus "A" L'étage de coupleurs (11) sur le bus "A" est réalisé par 1 coupleur bidirectionnel 3 états (74LS245) dont la direction est maintenue en permanence. Sa validation de sortie est effectée par la sélection d'adresse (7) et (8) par une écriture. L'étage mémoire au niveau bus "A" est constitué d'un registre (17) de bistable (74LS373) qui affiche par la commande de validation de l'étage précédent après inversion (12) les informations présentées à ses entrées par le coupleur (11) de l'étage précédent. Le "drapeau" est constitué par une bascule (13) de type D (74LS74A) fonctionnant en mode synchrone sur front de montée d'horloge pour le passage à 1 et en mode asynchrone par le "clear" pour le passage à O de sa sortie Q. Le front de montée d'horloge est constitué par le signal de validation, la donnée en entrée est au nivau 1 permanent. Le "clear" est mis à O par la ligne de commande de mise à jour après inversion (18). L'étage mémoire du niveau "circuit EC" est constitué d'l registre (20) de bistable (74LS373) qui affiche par le signal envoyé sur la ligne de mise à jour les données présentées à ses entrées par le registre (17) de l'étage mémoire du niveau bus "A". Le circuit qui commande la mise à jour immédiate ou différée (14. et 16) a comme entrées: 1) Le signal d'occupation FR 2) la commande d'écriture pour l'adresse sélectée. 3) la sortie Q du "drapeau'" (13) Il sort le signal de mise à jour, qui est utilisé, ainsi que la commande d'écriture, à travers le OU (19) pour aller positionner les 2 "sémaphores" dans le circuit de commandes. Ceci pour assurer au contrôleur d'axe des informations réellement fiables dès sa demande de modification de l'adresse de l'axe dont la référence de position est à enregistrer. Le circuit de commandes (figure 28) reçoit - des comparateurs les 2 signaux résultant de leur comparaison - du circuit de mémorisation de l'adresse le signal pour positionner ensemble les 2 "sémaphores". - des 2 circuits extérieurs EM les confirmations de mise à jour C 1 et C2 qui vont chacune à leur tour restaurer le sémaphore" correspondant. Il envoi aux 2 circuits EM leur commande respective (El et E2) de réponse sur le bus "A" et au microprocesseur du contrôleur d'axe l'information "prêt" ou "non prêt" sur la ligne ARDY. Le résultat venant des comparateurs arrivent sur 2 portes OU (22 et 23) qui n'activent leur sortie suivant le résultat des comparaisons que pendant la durée de la commande de lecture sur ARD. Chacune de ces 2 sorties va commander un des 2 circuits EM, par les lignes El et E2, à condition que le "sémaphore" correspondant ne soit pas positionné. Cette condition est réalisée par les fonctions rO OU (24 et 26). Les 2 "sémaphores" sont des bascules (21 et 27) de type D (74LS74A) fonctionnant sur front de montée d'horloge pour le passage à 1 de la sortie Q et par le "clear" à O pour la remise à O. La donnée en entrée est au niveau 1 permanent. , Leur restauration est provoquée par les lignes Cl et C2 à travers leurs inverseurs respectifs (28 et 31). Lorsque l'une des sorties des portes (22 ou 23) déterminant une adresse égale et la commande de lecture est active, le circuit prend le contrôle de la ligne ARDY. Ceci est réalisé par le ET (25) qui dans ce cas fait passer la sortie du séparateur 3 états (29) en basse impédance. Ce séparateur (74LS125) envoi alors sur la ligne ARDY le niveau qui est à la sortie de la porte ET à sortie inversée (30) qui passe au niveau actif 1 lorsque l'une des deux lignes El ou E2 passe au niveau actif O, c'est à dire lorsque le "sémaphore" correspondant est restauré. Pendant tout le temps que le "sémaphore" d'une sortie sélectionnée est positionné, la ligne ARDY sera maintenue au niveau O par le séparateur (29). Dans cette situation de "non prêt", le microprocesseur du contrôleur d'axe va inserrer des cycles d'attente dans le cycle de bus. Pendant cette attente, toutes les opérations sur le bus sont suspendues, les lignes de contrôle restant dans l'état. Circuit EM: Mémoire à double étage. Figure 29: Ce circuit assure le passage des informations du bus "P" de positions vers le bus "A" du contrôleur d'axe. Ce circuit ne traite que 16 éléments binaires de données, il est donc dupliqué pour traiter les 32 éléments binaires de l'information de position. Les lignes SI et El commandent le premier, les lignes S2 et E2 commandent le second. Pour chacun des 2 circuits, la ligne d'occupation est représenté par le signal d'écriture sur El ou E2. Ce circuit est composé: - d'un étage d'amplification sur le bus "P" - d'un étage mémoire niveau bus "P" - d'un "drapeau" pour mémoriser toute action d'écriture. - d'un étage mémoire niveau bus "A" - d'un circuit qui effectue ou qui diffère la mise à jour de l'étage "A" par l'étage "P" to - d'un étage de coupleurs sur le bus "A". L'étage d'amplificateurs (1 et 2) sur le bus "P" est réalisé par 2 amplificateurs inverseurs (74LS540). Le premier amplificateur (2) connecté sur les lignes PDO à PD7 transmet les données DO à D7, le second (1) qui est connecté sur t5 les lignes PD8 à PD15, les données D8 à D15 sur les registres qui constituent l'étage de mémoire niveau bus "P". L'étage mémoire au niveau bus "P" est constitué de 2 registres (3) de bistables (74LS373) qui affichent par la commande Si ou S2 les informations présentées à leurs entrées par les amplificateurs (1 et 2) de l'étage précédent. Le "drapeau" est constitué par une bascule (9) de type D (74LS74A) fonctionnant en mode synchrone sur front de montée d'horloge pour le passage à 1 et en mode asynchrone par le "clear" pour le passage à O de sa sortie Q. Le font de montée d'horloge est constitué par le signal de la ligne Si ou S2, la donnée en entrée est au nivau 1 permanent. Le "clear" est mis à O par la ligne de commande de mise à jour (10) après inversion (11). L'étage mémoire du niveau bus "A" est constitué de 2 registres (4) de bistables (74LS373) qui affichent par le signal envoyé sur la ligne de mise à jour (10) les données présentées à leurs entrées par les 2 registres (3) de l'étage mémoire du niveau bus "P". Le circuit qui commande la mise à jour immédiate ou différée à comme entrées: 1) La commande d'exploitation E1 ou E2 comme signal d'occupa- tion. 2) la commande de mémorisation SI1 ou S2 3) la sortie Q du "drapeau" (9) Il sort sur la ligne (10) le signal de mise à jour. 4o Le fonctionnement est identique à celui du circuit RM. Pour illustrer le fonctionnement du bus de position, les figures 30 et 31 donnent l'enchaînement des signaux côté contrôleur d'axe pour la fourniture d'une référence de position et côté unité de service, et circuits tampons pour l'exploitation de cette référence. Ce sont les cas les plus défavorables sur le plan des temps de réaction des circuits. Cycle de mise à jour d'une référence de position (2 octets) par un contrôleur d'axe dans son circuit RM - figure 30: La base de temps est le signal d'horloge dont la période est de 80 nS. Le cycle d'écriture s'étend sur 4 périodes d'horloges. (1, 2, 3 et 4) Les signaux AALE, AM/I0, AAD0-15 et AWR correspondent aux signaux envoyés par le microprocesseur du contrôleur d'axe. Le signal (7) correspond aux sorties des coupleurs connectées sur les lignes AAD0-15 du bus "A". Le signal W1/W2 est celui envoyé par le circuit RS pour déclencher la mise à jour de la référence de position. Le signal (13) représente les données en sortie des registres de bistables du niveau bus "A". Le signal (14) représente l'impulsion sur la ligne de mise à jour qui commande les registres de bistables du niveau bus "P". Comme les signaux de données (13) et de mise à jour du 2ème étage (14) sont induits par le signal de mise à jour du ler étage (W1 ou W2), ils sont représentés 2 fois. Une fois à partir du temps d'activation minimum de W1 ou W2 (6), une autre fois à partir du temps d'activation maximum (5). mini maxi temps (7) d'établissement des sorties après M/I0 12 25 nS temps (8) d'activation de W1 ou W2 après AWR par circuit RS 41 83 nS temps (9) désactivation de W1 ou W2 derrière AWR 16 24 nS temps (10) de sortie des données des bistables après Wl ou W2 12 25 nS temps (11) d'activation de la ligne de mise /jour après WlouW2 16 30 nS temps (12) d'une impulsion de mise à jour différée 42 100 nS temps (12) d'une impulsion de mise à jour non différée 75 124 nS 35. Cycle de lecture par l'unité de service de la référence de position. Figure 31: Le signal d'horloge et les signaux 0ALE, 0M/I0 et 0RD sont ceux de l'unité de service. Les signaux PR et PA1-7 sont ceux générés par le circuit T0. Les signaux BY et 01 ou 02 sont générés par les circuits RC des circuits tampons sur une égalité d'adresse. La réponse des circuits RM est figurée par le signal sur les lignes PDO15. La zone hachurée correspond aux temps minimum de préaffichage (9) et de maintien (10) des données pour le microprocesseur. Le signal S1 ou S2 est généré par le circuit EC, il déclenche l'enregistrement en parallèle des données par les circuits EM. maxi temps (5) d'activation de la ligne BY derrière les adresses: 30 nS temps (6) d'activation de la ligne 01 ou 02 derrière BY: 55 nS temps (7) d'activation de la ligne 01 ou 02 derrière PR: 35 nS temps (8) d'établissement des données après 01 ou 02: 28 nS temps total maxi d'établissement des données après 0RD: 98 nS ou après 0M/I0: 198 nS temps (11) d'activation de la ligne Si ou S2 après PR: 44 nS On note que les circuits EM, commandés par les lignes S1 ou S2, commencent l'enregistrement avant que les données soient stabilisées. Implantation physique des contrôleurs d'axes: Figure 32: La figure indique l'arrangement des cartes d'un contrôleur d'axe et les bus en transparence par l'arrière. A l'extrémité, la carte résolveur (1) et la carte d'axe (2) qui sont réunies sur la face avant par un connecteur souple fourni avec les cartes. Elles sont liées dans le fond de panier par le bus (13) spécialisé pour ces cartes avec le connecteur (14) qui relie ce bus aux dispositif d'asservissement. La sortie des cables se fait sur les côtés du dispositif. Ces 2 cartes sont connectées sur le bus "A" (9) d'interface standard du contrôleur d'axe. La carte coprocesseur mathématique (3) et la carte du microprocesseur (4) sont connectées sur le bus "A" (9) et sur leurs lignes complémentaires "C" (10). L'ordre de ces 2 cartes n'a pas d'importance. Les 2 cartes d'enregistrement (5 et 6) de la référence de position des autres axes sont montées à cheval sur le bus "A" (9) d'interface standard et sur le bus "P" (11) de positions. L'ordre et l'emplacement de ces 2 cartes sont indifférents pour peu que ce soit dans la zone o les 2 bus sont accessibles. La carte réponse (7) aux lectures de références de positions de l'axe est aussi à cheval sur le bus "A" (9) et le bus "P" (11). Son emplacement est obligatoirement à côté de la carte de liaison (8) dans la mesure o il n'y a qu'une seule carte de ce type dans le contrôleur d'axe. C'est le circuit imprimé du fond de panier qui réalise la continuité de la ligne d'interruption entre la carte réponse (7) et la carte de liaison (8) au niveau des connecteurs du bus de positions. D'autres cartes de ce type peuvent être éventuellement ajoutées au 0 dispositif dans un emplacement libre o les 2 bus sont accessibles. La carte de liaison (8) est connectée à cheval sur les bus "A" (9), "C" (10), "P" (11) et sur le bus "S" (12) de service. Une seule carte de ce type peut être montée dans le contrôleur d'axe. Son emplacement est imposé. 1-5 Dans un panier à cartes standard, il y a 2 contrôleurs d'axes. Les bus "P" et "S" sont distribués par le milieu, les sorties vers la machine (connecteur 14) se font par les extrémités. L'énergie est distribuée par un côté. Cette distribution, commune au 2 contrôleurs d'axes n'est pas représentée sur la figure. Les cartes du 2ème contrôleur d'axe ne sont pas non plus représentées. Leur disposition est symétrique par rapport au connecteur (15) du bus de positions et au connecteur (16) du bus de service. La ligne (17) qui joint le bus de service (12) au bus spécifique (13) , des cartes d'axe est la boucle d'arrêt d'urgence qui est distribuée à tous les axes. Cette ligne comprend 2 pistes: l'aller et le retour. La figure 33 représente, vue de l'arrière, la géographie générale du circuit imprimé du fond de panier qui contient 2 contrôleurs d'axes (X etY). 3o Les emplacements des cartes sont numérotés de 1 à 24. L'arrivée de l'alimentation (1) est unique pour les 2 contrôleurs d'axes. Les 2 bus (31 et 32) d'interface standards couvrent chacun 10 emplacements ce qui laisse 2 emplacements libres pour chaque contrôleur. C'est dans ces 2 emplacements, pour le contrôleur de l'axe A, non représenté, que sont installées les cartes de sorties digitales d'un dispositif de mesure d'outil par palpage et d'un dispositif de mesure optique. En 29 et 30 sont les lignes complémentaires des microprocesseurs. Le bus de position (28) est distribué en parallèle aux 2 contrôleurs. Le bus de service (26) est lui aussi distribué en parallèle aux 2 contrôleurs mais ne couvre qu'un minimum d'emplacement. Les bus spécialisés (25 et 27) sont le plus éloignés possible des autres bus de manière à éviter les interférences. Les lignes 34 et 35 représentent la bouche d'arrêt d'urgence. Pendant la mise sous tension du dispositif, la ligne de restauration générale SRST est activée par l'unité de service à travers le circuit Sc. Lorsque cette ligne est restaurée, tous les microprocesseurs du dispositif effectuent leurs diagnostiques internes, puis exécutent les instructions d'initialisation enregistrées dans la partie morte de leur mémoire respective. Ceci correspond: - Pour les contrôleurs d'axe à une attente de lecture sur leur circuit de liaison. - Pour l'unité de service au chargement du programme initial et des programmes de mise en route et de diagnostiques à partir de son unité de disque. Après les diagnostiques et l'initialisation de ses périfériques, l'unité de service met en fonction l'unité de contrôle du bus de position à travers le circuit GF. Dans un deuxième temps, elle rentre en communication avec le premier axe et lui fournit à travers le bus de service son programme initial et les programmes de diagnostiques. Le contrôleur d'axe qui était en attente reçoit ces programmes et les exécute. Ceci correspond à la mise en route et au diagnostique des cartes d'axe du contrôleur. Ensuite, le contrôleur d'axe charge sa propre adresse dans les registres adresses de ses circuits tampons et envoi une valeur échantillon comme référence de position. En retour, les circuits tampons doivent lui fournir la même information. Ceci permet de tester la circulation des informations sur le bus de positions et le fonctionnement des circuits tampon. La même séquence est renouvelée pour plusieurs configurations binaires de la référence. A la fin du test, le contrôleur d'axe renvoi à l'unité de service le résultat du diagnostique. Celle-ci vérifie alors qu'il y ait eu une interruption déclanchée par le passage à 1 du poids fort de la référence. Le contrôleur d'axe se remet en attente sur son circuit de liaison. L'opération est renouvelée pour tous les axes du dispositif. Ensuite, l'unité de service arrête l'unité de contrôle du bus de positions et envoi à chaque axe une commande d'écriture sur ce même bus pour tester le mécanisme d'interruptions dans le sens unité de service vers contrôleur d'axe. Par le bus de service, l'unité de service interroge chaque contrôleur d'axe sur le résultat de ce test. Lorsque les circuits sont testés, l'unité de service déclenche un arrêt d'urgence par la ligne de sécurité, puis recommence , l'ensemble des tests. Les interruptions déclanchées en retour permettent de vérifier les circuits et les programmes de sécurité. L'arrêt d'urgence restauré manuellement permet de poursuivre la phase de mise en route, et notamment le chargement dans les li0 contrôleurs d'axe des programmes qui vont effectuer la prise de référence zéro. Ces programmes attendent un ordre de départ manuel au clavier de l'unité de service avant tout déplacement. A ce stade de la mise en route, l'unité de service interroge i5 l'opérateur avant de démarrer la séquence automatique de relevés de défauts géométriques et dimentionnels de la machine. Cette procédure implique en effet le montage manuel ou automatique d'un dispositif optique fournissant 2 points de mesure suivant 2 directions perpendicualires. La distance et l'orientation de ces 2 points sont connues comme des caractéristiques de l'outil de mesure. Cette procédure va permettre de relever pour chaque position d'un axe seul en mouvement les 2 écarts de chacun des 2 points de mesure par rapport à la référence optique. Dans cette opération, la référence de position distribuée sur le bus P" est la position réelle de l'axe comptée en centièmes de miimètres à partir de l'origine (0 -2 cm) ou en 50 000 ème de radian pour les axes en rotation. La position sur le bus de positions et les 4 valeurs d'écart sur le bus de service sont relevées en continu par l'unité de service qui les enregistre sur son disque. La procédure, exécuté dans chaque sens de déplacement, est renouvelée axe après axe, dans l'ordre croissant de leurs degrés de liberté par rapport au bâti de la machine. L'ensemble des relevés, transmis à l'ordinateur connecté, détermine pourchaque point de mesure une trajectoire limitée aux extrémités par les fins de course ou fermée pour les axes en rotation. Les trajectoires des 2 points de mesure constituent une surface ou un volume quelconque dans l'espace définissant pour un axe ses erreurs de position et d'orientation par rapport à la référence optique. Par calcul, la position et l'orientation des références optiques (une même référence étant utilisée dans 2 directions) sont déterminées par rapport aux axes théoriques de travail, ce qui permet de translater les surfaces et les volumes, et d'exprimer les erreurs de positionnement et d'orientation de chaque axe par rapport à son axe théorique et suivant 2 directions orthogonales. Après compilation de ces données, une table est construite représentant les erreurs dans les 3 dimentions pour tous les points d'un volume défini par les limites de position des axes. Le nombre de points ainsi définis dans le volume dépend de la course de chaque axe mesurée en intervalles de relevés. Cette table est archivée. TrO Si la procédure ne peut pas être exécutée, c'est la table la plus récente qui sera prise en compte. Au moment de la génération des programmes d'axes, la géométrie de la pièce ayant été positionnée dans le volume, sont élaborées des tables de corrections destinées à chaque contrôleur d'axe, et calculées suivant la direction de l'axe et par rapport à la référence de position utilisée pour le travail en cours. Les informations contenues dans ces tables, associées aux mesures d'outils réalisées par palpage. vont permettre aux contrôleurs d'axes de corriger les défauts de la machine. Des algorithmes traitant les déformations dûes aux efforts de coupe ou engendrées par les phénomènes thermiques ou d'inertie peuvent être ajoutés aux routines de correction. Les possibilités et l'amplitude des corrections restent limitées par la forme des pièces et le type d'outils. L'amplitude des erreurs admissibles de la machine est limiitée par la capacité de l'outil de mesure optique. L'analyse comparative des différentes versions de la table des erreurs permet de surveiller l'évolution de la machine dans le temps, et de gérer d'une manière plus précise la maintenance préventive. La vérification de la chaine de mesures et de corrections peut être faite en recommençant la procédure de relevés avec les routines et les tables de corrections en fonction. Si les conditions de vitesse et de température sont approximativement identiques, les variations enregistrées restent dans l'intervalle de tolérance. A ce point, la procédure de mise en route du dispositif est terminée. Les contrôleurs d'axes ont leurs programmes de sécurité chargés et sont prêts à fonctionner. L'unité de service envoi alors les programmes pré-enregistrés sur son disque et qui correspondent aux initialisations de la machine outil. L'ensemble est prêt à recevoir les commandes de l'ordinateur connecté. En cours de fonctionnement, l'unité de service reçoit de l'ordinateur les programmes d'axes, la géométrie de la pièce recalculée à partir du zéro machine et les tables de correction. Avant exécution, l'unité service fait une vérification du contenu des programmes d'axes avec la géométrie de la pièce et les paramètres limites de la machine, ceci de manière à diminuer les risques de colision, de vitesse excessive ou de surcharge. Pour l'exécution, l'unité de service distribue à chaque contrôleur d'axe ses tables de correction et son programme ou une partie de ce programme en fonction de l'occupation mémoire. Pendant le déroulement des programmes. l'unité de service transmet les commandes (STOP, DEPART, etc. ) aux contrôleurs et relève à interval de temps régulier leurs références de positions. Ces références de positions servent d'une part à afficher l'état de la machine à l'écran du dispositif. et d'autre part à transmettre à l'ordinateur connecté des informations sur l'avancement des opérations. Le chargement des programmes ou des parties de programmes peut se faire en temps masqué dans une partie de la mémoire des 2o contrôleurs d'axes pendant que le programme précédemment.. DTD: chargé dans une autre partie s'exécute. En fin de programme ou de partie de programme, les contrôleurs d'axes alertent l'unité de service par une interruption. Les éventuelles procédures de mise hors tension concernent uniquement la machine outil ou l'automate et ne sont pour le dispositif que des programmes d'axes spécifiques. La technique d'adressage utilisée sur le bus de positions autorise la mise en service d'un élément binaire supplémentaire se qui porte la capacité du dispositif à 128 axes. La conception même du dispositif permettant de transmettre d'un axe à plusieurs autres des références qui changent de nature et de format selon les besoins de l'application autorise l'utilisation de "marqueurs" pour les démarrages. les changements de vitesses et les arrêts d'axes. Ces marqueurs facilitent la gestion des anticipations par calculs sur des paramètres réels et au dernier niveau de la chaine cinématique (contrôleur d'axe). L'assujetissement des axes les uns aux autres pouvant être modifié à volonté par l'application et à n'importe quel endroit d'une trajectoire diminue considérablement les erreurs de poursuite et les vibrations pouvant avoir une influence sur l'état de surface de la pièce usinée. La trajectoire d'un outil n'étant plus définie par une succession de droites et d'arcs de cercles ou d'élipses dans le programme d'application, mais par la combinaison de mouvements résultant de l'exécution de programmes d'application dans chaque contrôleur d' axe, les changements de vitesses et les arrêts inutiles pour un axe sont supprimés. Il n'y a plus de décélérations parasites. * Les fonctions d'interpolation étant supprimés au niveau du dispositif, toutes les routines habituellement développées par le constructeur de la machine outil ne sont plus nécessaires. o' Chaque contrôleur d'axe étant capable d'exécuter des fonctions mathématiques très élaborées et très différentes d'un axe à l'autre, il n'y a plus de limitation de la commande numérique pour usiner des formes complexes. La génération des programmes d'axe est très facilement automatisée dans la mesure ou ils ne sont que l'expression d'une fonction mathématique définissant l'intersection d'un volume avec le plan de travail de l'axe. Le volume représente la pièce à chaque stade de l'usinage compris entre le brut et la pièce finie. La définition point par point d'une trajectoire reste cependant possible. Les vitesses de coupe, le nombre et la profondeur des passes, le sens de travail restent des éléments déduits par calcul des paramètres des outils et de la machine, des caractéristiques de la matière, de la forme et des dimensions de la pièce et des méthodes de travail. La conception du dispositif supprime le language couramment utilisé pour programmer les trajectoires d'outils et qui avait quelques limites quand le nombre d'axes était important. Le fonctionnement du dispositif avec tels programmes déjà existants est parfaitement possible. il permet en outre toutes les formes de compatibilités ce qui supprime les modifications lors de l'évolution de la machine outil et préserve ainsi le patrimoine de lrutilisateur. L'évolution des machines et leur adaptation aux besoins ne sont plus limitées dans la mesure ou l'adjonction d'un axe ne pose plus aucun problème et o la géométrie des pièces et les paramètres de travail restent les seuls éléments permanents. REVENDICATIONS 1) Dispositif pour commander et contrôler les mouvements et les actions de machines ou d'automates qui effectuent des déplacements dans l'espace et dont la ou les trajectoires, du ou des éléments à déplacer doivent être maintenues à l'intérieur de volumes définis suivant plusieurs directions avec des accélérations et des vitesses contrôlées caractérisé en ce qu'il comporte plusieurs circuits indépendants de traitement automatique de l'information (contrôleurs d'axe) obéissant à des programmes différents, chacun de ces programmes définissant les trajectoires et les paramètres TO d'accélération et de vitesse suivant une direction différente. 2) Dispositif selon la revendication 1 caractérisé en ce qu'il comporte un ensemble de lignes électriques constituant un bus (P) véhiculant les informations de coordination de mouvement et commandé par un microprocesseur uniquement affecté à cette T5 tache. 3) Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comporte des circuits spécialisés d'échange bidirectionnel d'information (RE) entre des circuits de traitement automatique indépendants, chacun de ces circuits n'étant pas relié à un ou plusieurs autres par un bus commun ou une liaison quelconque nécessitant un fonctionnement synchronisé sur ce bus commun ou cette liaison pour les taches de commande et de contrôle de mouvement. 4) Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comporte des circuits mémoire vive (RE) dont la lecture et l'écriture de l'information de l'un de ces circuits dans un ou plusieurs autres s'effectuent sur le même bus pendant le même cycle par comparaison de l'adresse circulant sur le bus avec des adresses mémoires programmables. 5) Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comporte une ligne spécialisé (SECU) pour l'information logique de l'arrêt d'urgence avec son circuit pour générer cette information et en ce qu'il permet le traitement par programme de cette information logique.