è.9 13941 1 2007330 La présente invention a pour objet un dispositif permettant de marquer sur un graphique des points correspondant à des données numériques représentant des lignes ou des courbes» L'interprétation des signaux à la sortie d'un calcula-5 teur numérique que l'on doit utiliser pour résoudre des problèmes scientifiques, a donné lieu à une grande activité au cours des dernières années. Les solutions obtenues à partir d'un calculateur numérique consistent généralement en une série d'éléments numériques nécessitant une interprétation détaillée faisant perdre beau-10 coup de temps. Il serait très intéressant de pouvoir afficher visuellement la solution représentée par ces indications numériques sans que l'on doive avoir recours à une interprétation faite par des spécialistes. Le brevet américain 3 199 111 décrit un dispositif anté-15 rieur assurant la représentation graphique des données numériques. Ce dispositif antérieur comprend essentiellement un instrument traceur se déplaçant .par stades successifs sous le contrôle de plusieurs moteurs à avance pas-à-pas. Cette avance pas-à-pas est déterminée par les signaux numériques représentant la -fonction dont 20 on veut obtenir un tracé» L'un des inconvénients du dispositif traceur .antérieur que l'on vient de décrire consiste dans l'absence d'un tracé régulier et continu. Cet inconvénient est dû à la nature intermittente ou discontinue du mécanisme traceur. Le tracé obtenu apparaît.sous 25 la forme d'une succession dréléments définissant la configuration désirée. . - Un autre inconvénient d'un tel dispositif traceur intermittent du type décrit consiste en ce qu'il fQ.nc.tiannè- à ,vitefsse constante. Pour un grand,nombre drapplications telles que le tracé 3D de lignes ou de. courbes o.ù .La courbure n'est péë très importante, on pourrait utiliser une vitesse d'exécution du tracé supérieure permettant un tracé rapide des données particulières fournies à 1'entrée. Le dispositif traceur conforme à l'invention supprime 35 le premier de ces inconvénients en utilisant un mécanisme d'entraînement continu du traceur, constitué par un système asservi hybride comparant numériquement les signaux d'incréments de posi 13941 2 2007330 tions désirés avec les signaux: d'incréments de p.ositions actuelles, de manière à produire un signa 1 d'erreur numérique. Ce dernier est transformé en signal analogique .servant à entraîner le moteur de positionnement en x et y. 5 Le second inconvénient rappelé ci-dessus est écarté en soumettant la vitesse du traceur à un moment quelconque à une valeur désirée ou pilotée. La vitesse commandée est calculée en se basant sur la courbure à considérer et sur les limites- de l'accélération imposées au mécanisme traceur. Cette vitesse-commandée 10 reçoit ainsi sa valeur optimum, considérée comme la vitesse de tracé la meilleure pour les possibilités du dispositif et les exigerr?-ces correspondant aux données fournies. La présente invention permet donc l'exécution d'un graphique continu correspondant à des données numériques, ainsi que 15 la production d'un graphique constituant le tracé des données numériques à une vitesse d'exécution, optimum basée sur la courbure des données et les possibilités d'accélération du dispositif* Ces caractéristiques de l'invention ainsi que d'autres; apparaîtront clairement à la lecture de la description-, suivante, 20 cette lecture devant être associée à l'examen des dessins ci-joints sur lesquels : - la figure 1 est un graphique représentant une courbe typique faisant apparaître les paramètres de la courbe à considérer dans le cas de la présente invention; 25 -.la figure 2 représente la courbe des accélérations en , . î - * > fonction des' vitesses; - les figures 3 et 4 sont.des- schémas" des circuits utilisés conformément à l'invention; '* - les figures 5 à 16 forment un tableau des opérations 30 successives à effectuer sur certaines quantités à partir d'un calculateur numérique à tous usages. D'une manière résumée, les données à porter sur un graphique sont obtenues sous forme, numérique à la sortie d'un calculateur numérique. Ces données fournies à la sortie peuvent être. 35 'désignées comme une série de points de données. On.détermine la courbure entre les points de données et la vitesse optima pour le 69 13941 3 ,2007330 tracé de cette courbure en tenant compte des limites physiques imposées à la vitesse et à 1'accélération, limites imposées par la masse du mécanisme traceur à déplacer et par le couple à la sortie des moteurs utilisés pour l'entraînement de ce mécanisme traceur. 5 La vitesse optima ainsi obtenue est comparée à la vitesse effective du traceur pour provoquer une commande d'accélération positive ou négative. Les segments reliant les points de données sont établis approximativement par une technique définissant la courbe par des 10 polynômes du troisième degré. On produit ainsi des polynômes du troisième degré pour les points de données en X et en Y, où la distance forme la variable indépendante. On calcule également la distance entre les points de données. La forme géométrique des segments est ainsi définie et elle est tracée par résolution des poly-15 nômes du troisième degré à une vitesse déterminée par. les commandes d'accélération positive ou négative engendrées par la fonction de vitesse optima. Théorie du fonctionnement - Sur la figure 1, les points de données, numériques à mar-20 quer sont représentés par les points xo, yo, xl, yl, x2, y2 et x3, y3 sur une courbe. La présente invention applique une technique définissant la courbe par interpolation afin d'entraîner le style traceur le long de la courbe séparant les points de données. Las polynômes suivants du troisième degré définissent les 25 segments de courbe entre les points de données» (1) x = x.. + a z + l/2b z2 + l/6c z^. JL X X X * (2} y = y^ + a^z + l/2b^z^ + l/6a^z^ La variable z est une variable factice ayant les dimen-30 sions d'une longueur et elle sert à définir les équations paramétriques en x et en y. Les coefficients ax, bx, ex et ay, by et cy sont constants pour le segment de courbe établi entre deux points de données. Par définition (3) (ds)2 = (dx)2 -fc (dy)2 35 où s désigne la cfistance effective le long du segment et x et y la distance le long des abscisses et des ordonnées respectivement. è9 13941 4 2007330 Pour définir les relations entre s> x et y conformément à l'équation (3), il est évident que î (4) [ ds \ = - - et (s) (5) ds. = \l (a +b z+ l/2c: z2)2 + (a +b z + l/2c. z2 ) \/ x x x y y y 10 Une série de limitations est imposée aux caractéristiques de la courbe pour la définir entre les points de données. Ces limitations déterminent la valeur des constantes ax, bx:r. ex et ay, by» cy. Les limitations sont choisies de telle manière que î 1. La courbe interpolée doit passer exactement par les 15 points de données tels que xl, yl et x2, y2; 2. la courbe d'interpolation doit présenter au point de départ et au point terminal des pentes exactement égales à la pente des cordes tracées entre les points de données précédant et suivant; 20 3. la dérivée dz/ds de la variable factice z par rap port à la distance le long du trajet' S est égale à l'unité aux deux extrémités de la courba ( c'est-à-dire en xl, yl et en x2, yZ) et au milieu de la courbe, c'est-à-dire pour z = z 2/2, z2 étant la valeur de z .au point x2, y2« Cette limitation est choisie pour 25 permettre à dz/dt d'être approximativement égale à ds/dt et limiter les modifications de courbure dans le segment. Les limitations sont exprimées mathématiquement comme suit t (6) x = x2 at z = z2 30 (7Î y = y2 at z = z2 35 (8) dy dx (9) dx = tan X L = tan „ y2 yQ x2 ~ XQ y3 - *1 X3 ~ X1 è 5 2007330 (u) ds dz ds =- -1. z = z. (12) dz ds = 1 z = z2 10 15 20 25 30 35 Les limitations des équations (6) et (7) obligent la courbe à passer par les points, de données x2, y2. La forme des é-quations (l) et (2) oblige la courbe à.passer par xi, yl pour z = 0. Les limitations des équations (8) et (9) obligent la pente de la courbe, au début et à la fin,: à être exactement, égale à la pente des cordes comme décrit sous le ne 2 ci-dessus» Les limitations correspondant aux équations (10) à (12) obligent l'allure de la variation de z par rapport à s à être égale à l'unité au commencement, à la fin et au milieu du segment. Pour satisfaire à la technique d'établissement de la courbe, il faut développer des solutions donnant les sept quantités suivantes : ax, ay, bx, by, ex, cy et z2, cette dernière quantité étant la valeur de z à la fin du segment. Les sept équations suivantes doivent être résolues pour obtenir cette valeur : (13) (14) dx dz dy dz a = cos x sxn ï Q. 2 3 (15) pour , z = Zg *2 = *■£ +. + ^^^x22 + ^^CxZ2 (l£) pour z = z~ y-. + a z y 2 + l/2b Z„2 + l/6c z/ y 2 (17) dx dz (18) dy dz (18.5) = a + b z0 + 1/2c z_ x x 2 x 2 a +-b z0. + l/2c z0 y y 2 y 2 cos y 2 jr. = sm in^f. 2 2 + b 2 + l/2 c 2 x — x — ■1 +( a + h- y y 2 + l/2c y _2_ 2 2 = 1 ( c'est-à-dire ds = 1 pour z dz 69 13941 2007330 1D Les équations (iS) et (lé) sont des; versions modifiées des équations (1) et (2) pour z = Z2« On peut dériver les équations (13) ët (14) comme suit s (19) sinXj - dy dz pour Z; (20) cosX" 1 = dx pour z = 0 dz (21) coâ'û t = dx = a & 'b „z + l/2c z J ~r~ x x x dz 1 2 2 (22) sin)f„ = dv = a +*h z + l/2c z ^2 dz y y y En supposant z = 0 -, (23) cos^f ^ = a^, et (24}sirîjj ! = ay 15 On dérive les équations (17) et (18) d'une manière ana logue aux équations (15) et (16). Cependant, z = Z2« : La solution simultanée de ces équations en termes de z avec les limitations imposées donne les résultats suivants : 20 (25) (26) ax = CQS^1 ay = sxn 25 (27) b =- _2_ 5C Z2 (28) h = 2- y 3 2 - 1^ ~ cos^^ ~ 2 cos$\ 2 — N 2 3 ^ ^2 ~ - sin^^ ~ 2 sin^^ 30 U9Î Cx = A cosfi. - + cos 35 (30) c =-~ V z 2 y 2 sin^g + sin^i - 2 ^ y2 ~ yj ^ Pour résoudre en z, on. considérera la dérivée que l'on peut développer comme suit : - - . è$ 13941 7 2007330 (32) ds2 = dx^ + dy2 dz dz dz ce que l'on peut développer comme suit s (32) ds dz - £ z. 10 = 1/8 _2 2 18 V (x2 " *1> + (*2 " yl) (>=2 ~ xl^ (cos^^-f casif2)+(y2 - Ïi)ïsin!fl+ sin^ï + 1 + cos ( Ï2 ~ \ ~ ^ Remarquer l'évaluation des équations ci-dessus pour z2/2. Ainsi : 15 20 35 (33) 7-cos ()f2 -^2) + 6z, + (y2~yi^ (sin^jL + sin)f2) -18 (x2 - x1)(cosY1+ cos!f2) 2 2 (x2-Xi) + (j^"^) = 0 (34) et z2 « 1 a où : "I - |t) " °E 25 (35) a = 7-cos(jf2 -5^ (36) h = 3 2 30 (37) c = 18 (x2-Xiî (cos^1 + 003^2) + (i^-y^) (sin^+sin^^ - (x2-Xlî + (y2~yl5' Le calcul des angles ^ nécessite-un point précédent et un point suivant pour chaque segment de ligne. Etant donné que l'angle au début de la courbe 0, et l'angle a la fin de la courbe ^ ne comportent pas de tels points, il faut choisir une règle pour définir ces angles. Cette règle consiste en ce que les angles entre les tangentes à la courbe et les lignes droites re- M 13941 8 2007330 liant les points de données sont égaux aux deux extrémités du segment. Ainsi, pour le segment initial : (38) £ q = 2 tan"1 5^ - yQ - tan"1 y2~yo t; ~ X„-X 5 1 o 2 o et pour le segment initial : (39) )fn ..Ztani-1 . tan"1 Xn~itn_z X -X , X -X _ n n-l . rt. n-2 10 où yn, xn représentent le point final de la courbe... Commande de la vitesse - La figure 2 est un. graphique donnant l'accélération en fonction de la vitesse avec saturation, cette courbe étant basée sur les caractéristiques du moteur, le poids du bras, l'inertie» 15 etc.. La vitesse totale est réglée de telle manière que l'enveloppe de saturation de la figure 2 ne puisse être dépassée par l'accélération et la vitesse commandées. La vitesse et l'accélération totales commandées sont maintenues au-dessous des possibilités suivant chaque axe. Ainsi, lorsque le segment en cours, d'exécution 20 se trouve d'une manière prédominante en x ou y, le mécanisme traceur sera capable de suivre la commande et, lorsque le segment est tracé en d'autres directions» il existe une marge pour les possibilités du traceur au-delà des commandes possibles. Pour simplifier encore la commande, les commandes d'accé-25 lératian tangentielle sont restreintes à des valeurs assurant une accélération suffisante pour la courbure "en aval". On calcule la vitesse possible du fonctionnement du dispositif tout en assurant une accélération suffisante de la courbure en aval. Cette vitesse est fonction, de la courbure du segment considéré. Si la vitesse 30 effective du mécanisme est supérieure à la vitesse calculée9 le mécanisme subira une accélération négative et dans le cas opposé, il subira une accélération, positive. La technique de prévision utilisée définit une accélération à commander qui soit susceptible de maintenir la courbure dé-35 sirée à la vitesse maxima, tout en permettant une accélération; négative et un arrêt, le cas échéant. 69 13941 9 2007330 Une technique de prévision est réalisée de la manière suivante : 1. On détermine une distance-en aval dont*' la ■ longueur soit suffisante pour permettre au mécanisme traceur de s'arrêter 5 à partir d'une vitesse maxima. 2. On calcule la courbure maxima pour tous-les segments à l'intérieur de cette distance. 3. La commande d'accélération est déterminée de manière à correspondre à la vitesse nécessaire pour tracer la courbure cal-10 culée maxima. Les équations pour déterminer .les commandes d'accélération sont dérivées de la manière suivante : Supposons î v = vitesse effective du mécanisme traceur 15 v = vitesse de commande c . CXc : capacité d'accélération du traceur pour v = v $n = composante normale de l'accélération = accélération tangentielle disponible après avoir réservé °i n à la courbure en aval pour v^. 20 La composante normale de l'accélération est donnée par : 2 (40) Ci = kv , k étant la courbure. . n D'après les principes du calcul intégral et différentiel, k = d if ds lorsque fâ* est l'angle d'inclinaison entre l'horizontale et la tan-25 gente en un point de la courbe et s la distance le long de la courbe. L'expression de k en fonction de z est donnée par ,41) k - ; D'après la figure 1, la tangente des angles ^ ^ ou est égale à d\£ , la pente de la courbe étant telle que. : dx (42) à if = d_ tg"1 dy ou -dz dz dx (43) d^ = d_ tg 1 çh£ / dx dz dz dz / dz 30 35 69 13941 10 2007330 qui se réduit à : (44) k = dx d^v - çh£ d2x ^ f dz ^ ^ ,dz dz2 dz dz2 ' ldz I 5 D'après les première et deuxième dérivées des équations (1) et (2) (45) k = 10 2 (b a -a, b ) + (a c ~ac)z + 1/2 (b c - b c )z y x y x x y y. x x y y x î (s ) L'examen des ordres de grandeur à partir des valeurs ty- 3 piques démontre que (dz\ peut être égal à l'unité sur l'ensemble , , \ds/ du segment. Les limitations (10) à (12) rendent dz égal à l'unité ciS; 15 au début, à la fin et au milieu du segment. La valeur de k est calculée au début et à la fin du segment et on choisit la plus grande des deux valeurs obtenues. Le maximum local de k obtenu à l'intérieur des segments est négligé pour simplifier le calcul 20 (46) o(= k v 2 • max c Cette équation, ainsi que lréquation. : (47) (K- - t c^max. ( v -v) v max 22 et en supposant v v c max .(48) 2v - - ^ max + 1/ / oÇ max \ 2 + 4 k v 1/ t k v max max * V max max / QjmaxJ \ ^msx 30 L'équartion (48J représente la vitesse v commandée tout en prévoyant une accélération oÇ pour continuer la courbure k max à la vitesse v. . . •• L'équation (47) représente les possibilités du servomécanisme lorsqueest l'accélération maxima pour une vitesse max . 35 zérb et v est la vitesse maxima pour une accélération zéro. TT13X^ _ - . é9 13941 11 2007330 Rapport entre les longueurs de démarrage et d'arrSt -La commande complète du mécanisme traceur nécessite la connaissance des longueurs de démarrage et d'arrêt nécessaires en fonction de. la vitesse et de l'accélération. 5 L'appareillage est disposé de telle manière que la va leur définit par suite la forme de la courbe donnant le rapport vitesse/accélération ( figure 2 ). En accroissant v^, la longueur de démarrage et d'arrêt nécessaire pour obtenir une vitesse v ne peut être réduite aux max ^ 10 dépens d'accélérations plus importantes. Dans les limites correspondant à un maximum pour y- ,, la longueur de démarrage est infinie et les accélérations sont au minimum. La longueur de démarrage est égale à la longueur d'arrêt dans tous les cas et est exprimée par 15 (49) z = 1 Vmax 20 30 max v_ - v + v In 0 c Vq étant la vitesse de démarrage pour z v la vitesse à la distance z et v une constante Pour l'accélération- vn = 0: v et v constante et le □ max c signe de vmgx est supposé positif. En cas d'accélération, négative, Y vn = v î v = 0 et v est égal à la même constante, ûmax 0 max c 3 * tandis que le signe de v est négatif. max 3 25 &max L'équation ci-dessus est dérivée de l'équation (47Î par une double intégration, par rapport à z et en remarquant que (50) 0\ — du = dv fdz\ = dv r , dt dz \dtj dz où est l'accélération. Opérations du calculateur - Une partie des équations définies ci-dessus est résolue sur un calculateur numérique der type général tel que l''I8I4 360. Les figures 5 à 12 montrent la suite des opérations destinées à 35 donner les quantités ax, ay, bx, by, ex, cy, z et vc: pour l'exécution d'une courhe» 69 13941 12 2007330 - - * ~ 10 15 20 25 Les tableaux suivants décrivent le programme susceptible de développer ces quantités. TABLEAU I Nom Type de courbe INSRP MQU VELC TRAN5 GETCO 30 0UT 35 Langage FORTRAN Assemblage ORGANISATION DU PROGRAMME ELEMENTAIRE Rôle Calculs Manipulation des don-nées* conversion des mots complets en demi-mots'et introduction dans une zone de mémpire commune. Assemblage' Manipulation des données pour reloger les 1000 mots supérieurs de la'mémoire commune dans 1000 mots inférieurs. Assemblage Manipulation des données; conversion de mots complets en demi-mots que l'on place en un: point déterminé de la . mémoire commune. Assemblage: Manipulation des données, déplacement d'un mot vers le bas de 100 mots d'une mémoire particulière, d'où résulte l'effacement du premier mot. Assemblage Manipulation de données. Retrouver 12 mots d'une mémoire commune déterminée, transformer en 23 mots complets et amener en des emplacements déterminés suivant le .programme FORTRAN. Déplacer un nombre ; déterminé de mots: jusqu'à 12. dans la mémoire commune en partant d'un emplacement déterminé. : Introduire un nouveau demi-mot commandant la vitesse des mots dans un nombre déterminé de segments en partant d'un emplacement déterminé, de la .mémoire commune Assemblage l/O Inscrire le nomb're déterminé de mots complets sur un ruban magnétique en partant du premier mot de la mémoire connue® 69 13941 13 2007330 20 25 30 35 DRIG FROTRAW Calcul, Utilise INSRP et DUT pour ins-- cription sur le ruban afin.de déplacer le chariot avec le style traceur soulevé jusqu'au début du tracé. Format du groupe de signaux de commande Codé Distribution de la commande Décimal Début du mot (mot de com- HexadécimaX mande moins les commandes 10 particulières) Nouvelle courbe ou ligne Attente ( dernier mot } -Le style étant soulevé 15 Pour une ligne droite 901120 Ajouter 8192 Ajouter 4096 Dans l'affirmative ajouter 1024 Dans l'affirmative ajouter 256 Fin de la courbe ou de la ligne (accélération négative) QOODCQQO Ajouter 00002000 Ajouter 00001000 Dans l'affirmative ajouter 00000400 Dans l'affirmative ajouter 00000100 Dans 1®-affirmative Dans l'affirmative ajouter 2 ajouter 0000000-2 Exemples : Ligne courbe, style en position basse, segnrent autre que le premier. Décimal Hexadécimal. 901120 OOODCOOO Ligne droite, style soulevé, premier segment ( nouvelle ligne ) Décimal -91059-2 - TABLEAU II Hexadécimal 000 D E 500 Variable X -Y XPAR " YPAR KuufJT Valeur initiale Du programme d'appel -Du programme-d'appel Description Réseau de coordonnées en X Réseau de coordonnées en Y Réseau de paramètres' de commande Du programme d'appel Réseau de paramètres de commande Du programme d'appel Nombre de points du réseau Du programme d'appel 69 13941 15 25 Variable ZA CRVMAX BUFFER A5-H 10 I M L LX KX 20 JX JSW 30 CXO CYO . vIBUF KOliW 2 NCB . IFLIP 35 14 Description. Réseau de longueurs de 'segment 2007330 Valeur initiale Néant Néant Zone entière redevenue vierge.: en aval • . Résehu de courbures en "aval-. • -Réseau de commandes du mécanisme traceur dans la- mémoire commune Fonction potir l'extraction;.-. àè la * : • longueur" du vecteur^x et'&.y Néant Premier des trois, points., en cours de calcul à un moment quelconque 1 Deuxième de ces trois points 2 Troisième de ces trois points 3 Nombre de segments à grande distance en aval I Nombre de segments dans la mémoire commune, dans .laquelle a été introduite une valeur de vitesse 1 Signal et comptage pour- réglage de vitesse maxima dans un élément à vitesse discontinue § Nombre de segments à grande distance en aval 1 Signal indiquant l'attente à la fin d'un tracé . . Coordonnées en X du dernier point de la courbe précédente Coordonnées en Y du dernier point de la courbe précédente- . ; Variable sou scrit e :d e BU F FER KOUNT-1 . . ; " Dimension maxima. de l'enregistrement de mots à inscrire; sur - le' ruban magné . tique à urt moment donné. - "990 Signal utilisé "pour les traits (.1 servant pour les parties"-non-'tracées de 1 (sans attente) Néant . .• Néant 1 la ligne .} C -" et 0 pour les parties tracées 13941 15 2007330 1D 15 20 25 30 35 Variable VMAY--AMAX LAST CLSCRV IFLAG ZI IAX IAY IXL IYL IBX IBY ICX ICY SUMS SUMZ IOUT 1 IOUT 2 IOUT 3 IOUT 4 IOUT 5 IOUT 6 IOUT 7 IOUT 8 IOUT 9 IOUT -10 IOUT 11 Description Vitesse commandée maxima Accélération normale maxima 24 Signal indiquant que le dernier point du tracé a. été atteint 0 Signal indiquant une courbe fermée O Signal, indiquant si la longueur totale de la courbe est supérieure à celle prévue 0 Longueur indéterminée demandée 0 Localisation dans la mémoire où le programme élémentaire GETCQ introduit le coefficient provenant de la mémoire commune. ( L'ordre d'apparition dans le langage FORTRAN est important et doit être tel que représenté- ) 0 Valeur initiale 16 Somme des longueurs des segments compris à une grande distance err aval à un moment donné 0 . Somme des longueurs de tous l'es segments compris à une distance réduite en aval à un moment donné 0 Mot de commande 901120 Longueur de segment . Néant Vitesse Néant Coefficient AX . Néant Coefficient AY Néant Coefficient BX Néant Coefficient BY Coefficient CX Néant Coefficient CY Néant Position en X au début d'un segment Néant Position en Y au début d'un segment Néant 69 13941 16 2007330 Description des schémas d'-opérations -Les nombres précédant chaque paragraphe se réfèrent au numéro de référence correspondant du schéma FQRTRAWl. Courbe FORTRAN . , . 5 1. Les positions en coordonnées de chaque point de don nées dans un réseau déterminé sont doublées. Ceci doit.être fait afin que le coefficient des équations paramétriques du troisième degré (1) et (2) puissent être divisées par deux après leur calcul et avant inscription; sur un ruban magnétique. Ce processus empêche 10 tout trop-plein dans l'enregistrement des coefficients, dans les, intégrateurs terminaux DDA. Ces intégrateurs seraient des intégrateurs de position AX et AY0 Le facteur d'échelle est également introduit en ce point. On peut remarquer que le facteur d'échelle est un diviseur, de telle sorte que. le facteur 4 correspondrait a 15 un tracé dont les dimensions seraient le quart de celles du tracé décrit par le réseau des données fournies. 2. Le paramètre"XPAR (6)." est un signal indiquant si le style part, de l'origine (XPAR ( 6 ) '■* 0 ) ou bien de l'extrémité d'un tracé précédent (XPAR (6) = 1 )» 20 3. Le programme élémentaire d'appel 0RIG est destiné à inscrire les instructions de tracé, sur le ruban magnétique en vue du déplacement du chariot avec le style: soulevé vers le début du tracé. L'élément précédent définit la position otà se trouve le chariot. XPAR (-7) et YPAR. (7) -servent à transférer les coordonnées 25 de l'extrémité du tracé précédent s'il existe. XPAR (3) et YPAR (3) sont les coordonnées d'origine du tracé en cours d'exécution» Les coordonnées du dernier point du tracé précédent sont données par . (51} CXO = XPAR(3) + X(l)/2 30 (52) CY0 = XPAR(3) + Y(l)/2 4. Le Tableau II comporte une liste des vaxiables donnant le nom., la description et la valeur initiale de chacune d'elles. Ces variables qui nécessitent la remise.à. une valeur d'origine y sont ainsi ramenées pendant ce stade du programme» 35 5. Le compteur J est vérifié pour obtenir son égalité avec 1. 69 13941 1T 2007330 6» La première et la dernière des valeurs de coordonnées sont vérifiées pour assurer l'égalité entre elles. Si le premier point se trouve dans la même position que le dernier, le signal CLSCRV apparaît. 5 7. Le compteur I est vérifié en vue de son égalité avec KOUiMT. 8. Les équations suivantes sont effectuées t (53} DEL X2 = X (Ml - X(J) (54} DEL Y2 = Y CM) - Y(J) 10 (55) ASQ2 = racine carrée (DEL X2) * (DEL X2) + (DEL Y2) * (DEL Y2) (56) AC0S2 = DEL X2/ASQ2 (57} ASIM2 = DEL Y2/ASQ2 9. Placer le dernier indicateur sur 1» vérifier LX pour 15 son égalité avec 1. Placer le signal I en 21 pour que LX = 1. Ceci indique que la longueur totales de la courbe est inférieure à la prévision à longue distance en aval. 10. Pour une courbe fermée, les équations suivantes sont effectuées ï 20 (58) DEL XI = X(ï} - X (KOIMZ) (55) DEL Yl = r(I) - Y (K.QUMZ) (60) DEL X2 = X(M) - X(J) (61} DEL Y2 = Y(M} - Y"(2} (62} ASQ1 = racine carrée (DEL XI * DEL XI + DEL 'Yl + DEL Yl ) 25 (63) ASQ2 = racine carrée ("DEL X2 * DEL X2 + DEL Y2 + DEL Y2 } (64) ACOS 1 = DEL Xl/ASQl (65} ASIN 1 = DEL Y1/ASQ1 ' (66} ACOS 2 = DEL X2/ASQ2 (67) ASIW 2 = DEL Y2/A5Q2 30 Si la. courbe n'est pas fermée les équations suivantes sont effectuées : • ' (68) DEL XI = X CD - X (J) (69) DEL Yl = Y (I> - Y (J) (70) DEL X2 = X(K) - X (J) 35 (71) DEL Y2 = Y(M) - Y (J) (72} ASQ1 = racine carrée (DEL XI * DEL Xl + DEL Yl'"* DEL Yl ) 69 13941 IB 2007330 (73) ASQ2 = racine carrée (DEL X2 *. DEL X2 + DEL Y2 * DEL Y2 > (74) ACOS1 = DEL Xl/ASQl (75) ASIN1 = 'DEL tl/ASQl (76) AC0S2 = DEL X2/ASQ2 5 (77) ASIN2 = DEL Y2/ASQ2 (78) ADC0S1 = ACOS1 * AC0S1 - ASINi * ASINI (79) ADSIN1 =2 + ASIN2 + ACOS1 (8D) ASINI = ADSIN1 + AC0S2 - ADCOS1 + ASIN2 (81) ACOS 1 = ADCOSI + ACBS2 + ADSIMl + ASIN2 10 11. La longueur du segment 22 et les coefficients AX, AY, BX, BYCX, CY peuvent être calculés tous à partir des équations 12 A à 12 F, 15 et 16 avec les substitutions suivantes î (823 X2 - X2 s=. DELX1 (83) Y - Y = DELY1 15 c x (84) Ces 2 = A COS 2 (85) Cos « AC0S1 (86) Sin 2 = ASIM-2 (87) Sin. x = AS.INÎ 20 12. Chacun des coefficients est vérifié en valeur abso lue. Si un coefficient BX ou BY dépasse 2 ou bien si le coefficient CX au CY dépasse 4t on effectue une dérivation pour obtenir unie suite de nouveaux calculs. 13 et. 14» On effectue les équations suivantes î 25 (88) AX = AX/2 (89) AY = AY/2 • (90) BX = BX/4 (SI) BY = DY/4 (92) CX = ETX/8 30 (93) CY = CY/8 (94) 2 = Z * 2 Lfexamen des équations (l) et (2) montre que la modification ci-dessus ne change pas les caractères géométriques de la courbe. Cependant* elle réduit la grandeur de chaque coefficient. 35 Cette suite est répétée jusqu'à ce que l'ordre de.grandeur des coefficients soit inférieur aux limites définies ci-dessus. Ces li 69 13941 19 2007330 mites sont déterminées par lg'nature de ,11 intégrateur DDA et les dimensions de leurs compteurs. De même une valeur 'trop faible dans l'enregistreur des coefficients dans les intégrateurs.B ou C aboutira à une erreur sensible après une longue durée'.d ' intégration. 5 Cette suite d'opérations aura le résultat gênant consistant à diviser par 2„ 4, etc... la vitesse du mécanisme traceur -lorsqu'il arrive à ce segment. Pour réduire l'accélération infinie qui en résulte, la vitesse du bras avant d'arriver à ce segment doit être considérablement réduite. A cet effet, le signal KX est établi de 10. manière à être égal au comptage JX du court segment disposé loin en aval. L'effet de ce signal sera discuté dans les paragraphes 35, 36 et 37. 15. Chaque coefficient est normalisé et décalé vers la gauche de 15 emplacements par les équations suivantes. Une recher-15 che systématique élémentaire inhérente IFIX sert également pour a~ mener le coefficient du point trouvé au format, de nombre entier. (95) * I0UT4 = IFIXtAX/2. * 32767.+ .5 ) (96) * I0UT5 = IFIXtAY/2. * 32767.+ ,.5) (97) IQUT6 = IFIX(BX/2. *32767.+ .5) 20 (98) IQUT7 = IFIX(BY/2. * 32767.+ .5) (99) I0UT8 = IFIX(CX/4„ * 327*67.+ .5) (Ï00) I0UT9 = IFIX(CY/4. *32767.+".5) * Il faut remarquer que, pour corriger, en tenant compte dur doublement» les valeurs du réseau en X et Y du paragraphe 1, il 25 faut effectuer les modifications suivantes dans les coefficients. (101) AX = AX/2 (102) AY = AY/2 (103) BX = BX/4 (104) BY = BY/4 30 (105) CX = CX/8 (106) CY = CY/8 La première division des coefficients ( par exemple 76 et 77 ) est effectuée dans les équations effectuées manuellement (70) et (71). L'équilibre des modifications est assuré à la suite 35 de l'étalonnage des intégrateurs DDA du mécanisme. On calcule l'information relative à la position absolue en utilisant les équations 69 13941 2.0 2007330 (107) I0UT10 = IFIX (512. * (XPAR (.3) + X(J,)/2.)) (108) I0UT11 = IFIX (512. * (YPAR(3) + Y(J)/2.)) ' - Dans ce cas, comme aussi dans-le cas de la longueur du segment la normalisation prend la forme d'une multiplication: par 5 512. Ceci est dû à ce que l'arbre numérique du mécanisme servant au codage produit 512 impulsions par pouce"(254 mm) d'avance du chariot. La longueur du segment est donc (109) I0UT2 = IFIX (Z * '512. +.5) " ; ' 16. On vérifie YPAR pour assurer son égalité avec 0. Si 10 sa valeur est 0, la ligne est continue et si elle est supérieure: à 0, la ligne est constituée par des traits. 17 à 20. On vérifie IFLIP, 5i sa valeur est zéro* le segment n'est pas tracé, le style étant soulevé» Si elle est égale à l'unité,., le segment est plein» le style étant abaissé. 15 21. L'appel INSRP transforme la valeur IOUT à des demi- groupes de signaux et les place dans la mémoire•commune comme déterminé par le tampon IBUF. IBUF augmente de .12 et si le mécanisme ■ présente-des mémoires tampon.* on. peut réduire ceci à . = 22 et-23. Si le compteur LX est supérieur à 84, tous, les 20 segments de la première partie de la mémoire commune ont leurs vitesses inscrites, prêtes à être enregistrées "sur le rubart magnétique. 24. L'appel MUV déplace 1000 group'es de'signaux en partant de"la'position BUFFER (997) à SUFFER (1). : 25 25. En partant de l'équation (18) on peut calculer la courbure en Z = 0 suivant 1'équation (110) Courbe = AX * BY + AY * BY ' Pour compenser le doublement, les positions en coordonnées* données en X et Y* la courbe 1 doit être augmentée 4 fois, 30 de telle manière que l'on ait : (111.).. Courbe . 1 = 4 a- Courbe 1 Pour Z = Z2, la courbure peut Être calculée à partir de l'équation (19) sous la forme î +(bx*cy - by + 0y} (112) Courbe 2 = Courbe 1 + 4 * (AX + CY = AY + CX) * Z / 35 Les différences entre cette équation et (18) scrnt la sui~ te de la correction rappelée ci-dessus pour, les coordonnées doublés en x et Y. 69 13941 2007330 I On prend la plus grande des deux (en valeur absolue) comme î (113) CRYMAX (JX) = AMAXI (ABS CURY1 ABS CURY2) la grande longueur en aval SUMS est accrue de la longueur 5 de ce segment (114) SUMS = SUMS + ZA (JX) 26» et 27® 1a paiite longueur en aval SUMZ est accrue de la longueur de ce segment» (115) SUMZ = SUMZ + ZA (JX) 10 28» à 31 32o le segment de queue de la petite longueur en aval SUMZ est soustraite : (116) SUMZ » SUMZ - ZA (L) 15 35» Le TRANS(AEG) de sousrroutine transfert 100 mots de 32 bits de la mémoire par abaissement d*un mot à 32 bits, transcrivant ainsi le premier moto Le premier emplacement de mot est donné par 1fargument (AECr) « Ceci permet de ne mettre en mémoire que les segments pro-20 près ou pertinents à la portion en aval de la courbe» Seules la longuetir et la courbure maximum de chaque segment pertinent sont mises en mémoire eir transférées de la sorte®, 34® Le maximum CURYMAX de cet ensemble dans la petite longueur en aval est évalué comme ï 25 (117) OURYLAX = AMAXI (ORVMAX KUMK3T ORYLAX) où. EUMMT est indexé au moyen dfune boucle DO» 35» Y MAX est pris égal à 4, 36 et 37c la fonction de ces étages est représentée sur . la figure ÎO, 30 38» Y MAX est pris égal à 16» - . 39o le calcul de YO (vitesse de c.ommande) - se déduit de II équation 23 comme suit î (118) DEM = AXMAX/(2.0 GRU1AX Y MAX) 69 13941 22 2007330 (119) VC = DEM + SORT (DEM * DEM + AMAX/CRVLAX) Pour compenser le doublement des coordonnées X et Y VC doit être doublé : VC = 2. * VC 5 40. La vitesse est amenée à une valeur de nombre entier conformément à l'étalonnage des intégrateurs. (120) I0UT3 = IFIX (VC/32.*32767. +5} Le processus systématique élémentaire VELC transforme IOUT 3 en un demi-groupe de signaux et l'amène a 1 'emplacement cotr-10 venable dans une mémoire tampon commune* Cet emplacement est donné par (121) I0C = IBUF - 12 * JX + L où 10 C est le nombre de 32 éléments de groupe mesuré à partir die 0 dans une mémoire commune. Le processus systématique élémentaire 15 VELC place le demi-groupe de signaux de vitesse dans les 16 éléments inférieurs L5B- du groupe 10 C» 42. Le segment arrière de' la ligne à grande distance en aval est soustrait de.. . - CL22) SUMS = SUMS - ZA (1) 20 Remarque î il y s toujours un premier groupe de signaux dans le réseau- en aval en raison du transfert effectué suivant le paragraphe 33. 43. Le fonctionnement de ces éléments est représenté en figure 11.. 25 44» La longueur d'arrêt peut être dérivée de 1*équation (49) STPLGH ="*V5 +(V£ * 36. * ALOG 36. - VC > / 36. Remarque : La constante 36 est déterminée par le processus systématique élémentaire. DRIE et elle sera discutée au cours 30 de la description de ce processus. La même constante apparaît sous, forme de VC dans l'équation (24) tandis que VO et V dans l'équation (24) apparaissent sous forme de VE dans .1 "équation (98). 45. Le fonctionnement de ces éléments du schéma est représenté en figure 11. 35 46.-La longueur d'arrêt est égalé à une moitié de la 69 13941 2? 2007330 longueur totale de la courbe : (123) STPLGH = SUMS/2 47. Un point de données indéterminé doit être formé de telle manière que la longueur de la courbe à partir de ce point in- 5 déterminé jusqu'à la fin de la courbe soit exactement égale à la longueur d'arrêt; ce point indéterminé tombera nécessairement en un point qui se trouve entre deux points de données existants. Le programme suivant permet de trouver ces points existants : (124)"DO 354 K = 1, JX 10 SUMS .= SUMS - ZA (K) 'IF (SUMS - STPLGH) 351,. 351, 352 352 continue 354 continue 351 continue 15 afin, que K contienne le nombre de segments à partir du début de la partie aval à' grande distance, tel que la valeur, restante de SUMS soit'inférieure à la longueur d'arrêt. Par suite, le segment indéterminé doit être introduit entre le segment K-l et le segment IC. ' De "plus, là longueur du segment K-l doit être raccourcie 20 de manière à ce que ce segment se termine au début du segment indéterminé. Etant donné que les coefficients AX, AY, BX, BY" ainsi que les positions en X et Y ont changé» il faut calculer ces valeurs pour le segment indéterminé. Ces coefficients et ces valeurs de position doivent être les mêmes que ceux se trouvant dans les comp-25 ' teurs correspondants lorsque le segment indéterminé est transmis du ruban magnétique dans le mécanisme. 48. A cet effet, les coefficients et les valeurs en position du segment K-l doivent être récupérés à partir de la mémoire tampon commune pour être transformés en groupes de signaux complets 30 et" enfin amenés au format d'un point, courant. Le processus systématique élémentaire GETC0 effectue ce travail en même temps qu'il ap-'plique la vitesse de régime VC à tous les segments de l à 1C de la courbe en aval. Le processus systématique -élémentaire GETC0 déplace ' également les segments de K à JX le long d'un segment de 9 ou 12 35 groupes de signaux * dans une mémoire tampon commune de manière à laisser de la place pour le segment indéterminé. La transformation 69 13941 24 2007330 en point courant est effectuée.en fait suivant le processus systématique élémentaire de la courbe FORTRAN. * Ceci dépend du-fait que le noyau du mécanisme forme tampon ou non. - , - , 5 Ces coefficients servent à calculer le nouveau coefficient du segment indéterminé comme .suit : . ■* ZI = SUMS + ZA (K) - STPLGH .. . -- ZA(K) = ZA(K) - ZI .... ISLOW = IBUF - 12 * JX . ... KALL = IBUF - 12 * (JX - K + 1 ) I0UT2 = IFIX (ZI * 512. + .5} • . - . . , KNT1 = JX - K + 1 KNT2 = K . CALL GETCD (BUFFER KALL, I0UT2, IAZ, BUFFER .IBUF, BUFFER ISLOW» KNTI1, KNT2, I0UT3 ). AX1 = FLOAT (IAX) / 32767. AY1 = FLOAT (IAY) /32767. BX1 = FLOAT (IBX/32767. BX1 = 2. * BX1 BYI = FLOAT (IBY} /32767 BYl = 2. * BYI CXI = FLOAT (ICX)/32767 CXI = 4» * CXI CY1 = FLOAT CY1 = 4. * CY1 Les nouveaux coefficients et les positions sont calculés à partir des équations (l) à (6) (143) XL1 = AXI * ZI +.;25 * BX1 js ZI * ZI + (1./12.) * CXI * ZI * . .... . . ZI £ ZI 30 (144) YLi = AYl * ZI +.25 * BYl * ZI *.Z1 + (1./12.) 45 CY1 a ZI * ZI as ZI (145) AYl =■ .5 * (2. * AX1 + BX1 * ZI + .5 * CXI * ZI * ZI ) (146) .AYl .= .5 * (2. * AYL + BYl * ZI + .5 * CYL * ZI vie ZI) (147) BX1 = BX1 + CXI * ZI 35 (140) BYl = BYl _+ CYl * ZI Pour amener à une valeur de nombre entier et placer le (125) (126) (127) 10 (128) (129) (130) (131) (132) 15 . .. (133) (134) (135) (136) 20 (137) (138) (139) (140) (141) 25 (142) 69 13941 25 2007330 groupe de signaux de commande convenable î (149) IDUT1 + 901122 (150) I0UT2. = IFIX (ZA K * 512. + .5) (151) IQUT4 = IFIX (AX1 * 32767. + .5) 5 (152) IOUT5 = IFIX (AYl * 32767 . + .5) (153) IOUT6 » IFIX (BX1/2. * 32767. + .5) (154) I0UT7 = IFIX (BYl/2. * 32767. + .5) (155)- 10 UT 8 = ICX (156) I0UT9 = ICY 10 (157) IOUTIO = IFIX (512. * XL1 + .5) + IXL (158) I0UT11 = IFIX (512. * YLI + .5) + IYL (159) KALL = KALL +12 CALL INSRP (IBUT1, I0UT2, I0UT3, IDUT4^ I0ÙT5, IOUTIO, IOUT11, IQUT6* I0UT7, I0UTB, IOUT9,. BUFFER KALL ) 15 La succession ci-dessus a servi à mettre en place le segment indéterminé convenable. Le groupe de signaux de commande IÔUT 1 = 901122 donne au mécanisme le signal du commencement de l'accélération négative. 49. Le rftle de ces éléments du schéma apparaît en; figure 12» 20 50. Un appel au processus systématique élémentaire DUT ins crit le IBUF plus cinq groupes de signaux de la mémoire commune sur le ruban magnétique. 51 à 54. Le rôle de ces éléments du schéma apparaît en figure 12. Pour les tracés rectilignes? bx, bys cy* ex sont' égaux à 25 zéro et fournissent une équation linéaire pour x et y® Il est évident 'que K est également égal à zéro, étant donné qu'une ligne droite n!a pas de courbure» Les figures 13 à 16 représentent le schéma de la suite des opérations pour le processus systématique élémentaire ORIG décrit 30 en- se référant à lpélément de schéma 3 de la figure 50 L'objet de ce processus consiste à déplacer le chariot avecî le style soulevé et à appliquer les accélérations pour le régime en courbe avec mise en place du groupe de signaux de commande d'attente au cas d'instructions dans ce sens. 35 Ls fonctionnement du mécanisme pour un tracé rectiligne est utilisé d'une manière exclusive. Dans ce mode de fonctionnement, 13941 26 2007330 seuls les quatre premiers groupes de signaux ou 16 éléments de chaque segment sont introduits dans.le compteur enregistreur du mécanisme» Cependant pour maintenir le format identique en. longueur à ce qu'on peut calculer pour la "courbe" et 11"inscription", 5 la longueur d'un segment à l'autre a été maintenue à 12 groupes de signaux au 48 éléments» Description du schéma des opérations - Les chiffres précédant chaque paragraphe se réfèrent au numéro des éléments représentés sur le schéma# 10 55. Le tableau I donne le nom» la description et la va leur initiale, si elle existe, des paramètres utilisés pendant ce processus systématique élémentaire» 56. Il faut remarquer que î A = Delta X = X2 - XI 15 B s Delta Y = Y2 - Yl où XI, Yl et X2, Y2 sont les points de commencement et de fi» d'une ligneo 57» On vérifie l'indicateur SW pour savoir si le programme d'appel correspond à une courbe ou à une 'inscription ou- à urae 20 attente en dehors de toute courbe ou d'inscription» La valeur donnée par- cet Indicateur doit être déterminée par le programme d'appel. " 58. Les 2000 groupes de signaux du tarapon comiausï BUFFER (IBUF) sont amenés à être égaux à des vides C égaux à 0,10-77 25 952 576 }» 59. Etant donné que le déplacement du chariot est toujours linéaire au cours ds cette- opération» on procède suivant lé mode linéaire et on amène au zéro les paramètres I0UT8 s lOUTIXê 60. L'accélération est amenée à un. maximum ( 32.767a ce 30 qui est un compte complet à 16 éléments ) en utilisant I.0UT3«> Le. groupe, de signaux de commande. 910 592 est utilisé pour une nouvelle ligne qui oblige le mé-canisnve à introduire IOUT-3- dans le compteur intégrateur d'accélération ainsi que dans le. compteur intégrateur de vitesse. I0UT6 et I0UT7 forment les. valeurs positives absolues 35 normalisées à 512 tops par pouce de 254 mm. et ramenées à des nombres entiers. Le processus systématique élémentaire IN5RP introduit 69 13941 2Î 2007330 les nombres entiers IOUT dans les demi-groupes de signaux et les amène dans la mémoire tampon» • 61. .La langueur des segments Z est égale à la racine car--. rée de A-A+B-3 ■ 5 De même: ACOS = A/Z ' - BSIN = B/Z 62. Il faut 16 pouces "ou 40 cm* pour que le chariot su-. bisse une accélération de 32 pouces ou 80 cm. par seconde et 16 10 pouces ou 40 cm. de plus sont nécessaires pour ramener l'accélération négative à 0y ( accélération constante de 32 pouces ou. B0 cm/ sec/sec: )» Si la longueur calculée du segment Z est inférieure à 32 pouces ou 80 cm, 11 accélération: -négative doit commencer exactement pour 1/2 Z. 15 63. Le fonctionnement de cet élément du schéma est repré senté en figure 14. 64. I0UT4 et I0UT5 sont les valeurs respectives de ACOS et BSIN. 65. Appeler INSRP '• 20 66. I0UT6 et 'I0UT7 sont les valeurs absolues des "positions normalisées à raison de 512 tops par pouce ( 254 mm; ); ces valeurs étant ramenées à des nombres entiers. 67. Si l'on appelle un arrêt SW = 0, le groupe de signaux de commande convenable doit être introduit sous forme de I0UT1. 25 . 67 à 73. Le rôle de ces éléments de schéma apparaît en figure 15» 74. On introduit un segment indétefminé ne commandant .... pas.de-déplacement de chariot, c'est-à-dire, ÏÛUT4 = 0 et I0UT5 = 0, tout en spécifiant uns longueur de segment I0UT2 et une vites--■ ;30 se. I0UT3v Ceci produit l'effet d'un retard en' dùrée qui permet au :v .i , chariotde se placer correctement après 'un' déplacement excessif • .:déte.rmin'é. par 11 accélération -négative élevée correspondant à l'accélération négative suivant l'élément de schéma 70. 75. Si le programme d'appel correspond à une courbe, 35 l'accélération pour un tel mode de fonctionnement doit être obtenue par ORIG. Bien que la valeur soit comptée au maximum (32 767 = 28 69 13941 2007330 10 15 20 32 pouces sec/sec ou 800 mm/sec/sec, l'accélération effective subie .par le chariot n'est égale qu'à la moitié de cette dernière, c'est-à-dire à 16 pouces ou 400 mm/sec/sec TABLEAU III Paramètre FLAG S U 25 30 35 PROCESSUS SYSTEMATIQUE ELEMENTAIRE ORIG Description? L'indicateur doit identifier un segment dont la longueur est;inférieure.à celle nécessaire pour atteindre.la,vitesse maxima L'indicateur doit identifier le programme d'appel SW = tracé de courbe. Valeur initiale 0 A B BUFFER (IBUF) IBUF IOUT (1) IOUT (2) IOUT (3)-I0UT (4) IOUT (5>-IOUT (6) ■ IOUT C7> IOUT (8 ). IOUT"(9) IOUT-(10 > IOUT (11)' Z ACOS BSIN SW =. inscription ou tracé de courbe avec attente SW = tracé de courbe Delte X. Delta ï' Désignation de la mémoire comirtune utilisée comme tampon: 1-0 ■ Emplacement de la mémoire tampon Groupe de signaux de commande-Longueur de segment Vitesse ' Gosirrus " de - la: direction • Sinus de la direction) ■ Position en X ' • - > Position, en Y ■ ' - ''Péfcamètr'é ind'ét'ermi'rt# • Paramètre - indéterminé '• : • Pâramètrïê'-'indétermitîé ' -Paramètre-' indéterminé1 - " * Longueur de segment -Cosinus de la direction Sinus de la direction, Néant tracé de courbe définissable par le Programme - _ .d'appel 0 G 0 0 69 13941 29 2007330 ZMAX Paramètre Description! Longueur de segment nécessaire pour atteindre la vitesse maxima Valeur initiale 32' 5 ZAP et revenir à zéro par accélération négative Longuetir de segment declanchaEtt l'accélération' négative pour le segment * NOTE i Tous les paramètres IDUT sont normalisés 10 et amenés à des valeurs entières: CONSTRUCTION Les signaux de sortie représentant axs hx» cxE ay» fcy» cy» z et vc qui ont été calculés, par le procédé systématique rappelé ci-dessus au moyen d'un calculateur numérique servant à tous 15 usages sont appliqués» soit directement, soit par 11 intermédiaire d'un stade utilisant un ruban magnétique 4, à des mémoires tampons des données, désignées par 5» Ces mémoires tampons servent à conserver les données à transmettre à certains éléments de 11 ensemble, comme représenté sur les figures 3 et 4, 20 Le signal commandant la vitesse vc provenant des mémoi res tampons 5 est appliqué à un compteur emmagasineur 6 et à un déclencheur logique ET 9» La sortie de ce déclencheur ET 9 est couplée avec un analyseur numérique différentiel 3 par l'intermédiaire de la fenêtre OU 10* La seconde entrée du déclencheur ET 9 forme 25 un signal de commande de charge provenant d'une source d^inrpu-lsioKs^ non représentée. Ainsi, pendant la charge» l'information binaire représentant le signal Vc est appliqué directement à l'analyseur numérique différentiel 3* 30 déclencheur OU 10 et au déclencheur £T S par l'intermédiaire d:,un autre déclencheur ET 7. Les.autres entrées de-ces déclencheurs. ET sont reliées à une source d?impulsions, non représentée, jouant le r81e d'une absence de charge. Ainsi, lorsqu'il n'y a pas de charge, le signal numérique Vc est remis en circuit dans une boucle consti-35 tuée par le compteur 6 et les déclencheurs ET 7 et ET» Cette boucle assure l'application continue des données Vc à l'analyseur numériLe compteur emmagasineur 6 est couplé par sa sortie au 69 13941 2007330 que différentiel 3 jusqu'à ce qu'il soit nécessaire d'introduire une nouvelle charge de données Vc. Les'analyseurs numériques différentiels utilisés dans, l'exécution de 1'invention forment des composantes normales éta-5 blies par la section micraélectrique de la Sté GENERAL INSTRUMENT CORPORATION à Hicksville, Long Island, Etat de New Yorlc» Etats-Unis d'Amérique. Ces composantes sont vendues sous la désignation .Type MEM 5 021. L'analyseur numérique différentiel complet comprend deux compteurs et un mécanisme assurant les additions et les 10 soustractions qui a été décrit dans l^artlcie. intitulé "Analyseur numérique différentiel intégré MI05" rédigé par J.D» CALLAN, et paru dans le numéro de Mars 67 de "Microelectronics Application Notes*1» Pour faciliter la présente description* an appellera 15 l'analyseur numérique différentiel* comprenant ces deux compteurs, un analyseur numérique différentiel complet,, tandis qu'un analyseur numérique diffêreinfi&xel ne comprenant. pas les deux compteurs fonctionne comme simple dispositif d'addition et de soustraction» Les analyseurs numériques différentiels 1 et 2 de la 20 figure 3 et 24, 25 et 26 de la figure 4, sont des analyseurs numériques différentiels complets, tandis que les compteurs sont supprimés dans l'analyseur numérique différentiel 3 qui fanssiiomne u~ niqueroent comme soustracteur. Ltanalyseur numérique différentiel 3 reçoit à ses entrées 1s signal, die commande numérique de v£tesse 25 provenant du déclencheur 00 ÎQF, Vc et le signal tie sortie provenant d'un compteur de 1'analyseur numérique différentiel .2, signai qui, comme il sera expliqué ci^après»- représente la vitesse effective v à laquelle s1 effectue le tracé.. La sortie de ltanalyseur numériqtre différentiel 3 représente ainsi v - v ». Cette sortie est appliquée C- 30 à l'entrée de 1*analyseur numérique différentiel 1 et à un servomécanisme différentiel 19 servant à. 1*addition et à. la cewparaise». Ce mécanisme 19 décèle le signe du signal différencié v~v » C Si ce signe est négatif» %? est supérieur à _% et une accélération positive est nécessaire. Si ce signal est positif, v est supérieur 35 à v^ et une accélération négative est nécessaire. Âinsic suivant le signe, l'un ou l'autre des fils de sortie 43 reçoit du courant 13941 26Ô7330 agissant sur le circuit 20 déterminant le signe de l'analyseur numérique différentiel 1, le circuit commandé 20 pouvant être un circuit classique multivibrateur. Le circuit déterminant le signe 20 sert à envoyer du courant à l'une ou à l'autre des bor-5 nés 41 ou 42, de manière à produire une' fonction du temps correspondante, positive ou négative, aux bornes 41' ou 42' à partir d'une source chronométrique non représentée. Une fonction négative du temps produira une accélération; positive, tandis qu'une fonction positive du temps produira 10 une accélération négative. Bien entendu, la vitesse effective pourrait être soustraite de la vitesse commandée dans l'analyseur numérique différentiel 3 produisant une irtversion- de signe pour obtenir lraccélération positive ou négative, comme décrit ci-dessus» 15 L'analyseur numérique différentiel ï reçoit à l'entrée les fonctions positive ou négative du temps à partir des bornes 41' et 42*, la différence entre la vitesse effective et la vitesse commandée provenant de l'analyseur numérique différentiel 3 sous formé de condition initiale, et un retour réactif provenant 20 de la sortie de l'analyseur numérique différemtiel 1 appliquée à son. entrée. L*analyseur numérique différentiel 1 satisfait à la relation suivante t (160) dv =r 3 m. (v - v dt ' c . v - 5 ' - • m 25 La quantité .fm est introduite comme un facteur pondé- , - i ï • ' » • \J - ' rateur' dans le m programme de l1 analyseur numérique dif férentiel» ' ' Le signal de sortie dv est appliqué à l'analyseur numérique différentiel 2 pair 1* iritèïm'édiair'é du déclencheur OU 16 et 3Û des deÛK déclencheurs ET 14"et 15.'L'autre entrée du déclencheur ET''15"est "reliée à la éortié' d'un circuit multivibrateur 23. Ce 'cterriier constitue âvec' le'déclencheur'Et 22 ét le déclencheur OU '21 un circuit 'de "commande déclérichént le déclencheur ET 15 pour le fermer lorsque la vitesse commandée est égale à la vitesse 35 effective v. Lorsque ces vitesses sont égales, aucun des fils 43 ne produit de signal de sortie, de telle sorte que le déclencheur 69 13941 32 2007330 OU 21 ne produit aucun: signal à la sortie, ce qui empêche le déclencheur ET 22 de produire un signal de sortie -et, par suite,, le multivibrateur 23 peut changer de condition. La seconde entrée du déclencheur ET 22 est reliée à une source d'impulsions sans char-5 ge, non représentée. Ainsi, à l'état sans charge, le.déclencheur ET 22 reçoit au moins un signal à l'entrée. Le multivibrateur 23 est ramené à sa conditions primitive par un signal appliqué à la borne dè remise en état 49» Le déclencheur ET 14 est relié à une extrémité du cir-10 cuit de commande de la courbe, constitué par le multivibrateur 13 et les déclencheurs logiques ET 11 et 12» Le déclencheur ET 11 reçoit à ses entrées un signal de déclenchement de nouvelle courbe provenant du ruban; magnétique ou du calculateur 4 et appliqué à la borne 46 et un signal de retour 15 à la condition initiale du multivibrateur%sur la borne 48» Le déclencheur ET 12 reçoit un signal de fin de courbe provenant du calculateur 4 sur sa borne 45 et sur sa borne.47 un signal de charge provenant d'une source d'impulsions non représentée» Ainsi» le multivibrateur 13 sera ramené à sa condition 20 initialef de manière à désexciter le.déclencheur ET 14 s crus, l'action du signal de sortie du déclencheur Eï 11 pendant la durée du signal de retour à la condition* initiale avec l'indication- qu'une nouvelle courbe ou un nouveau segment commence» Le déclencheur ET 14 sera excité dès qu'un signal de fin de courbe.apparaît sur la 25 borne 45. Par suite*, le signal d'accroissement de vitesse de continuera à passer de l'analyseur numérique différentiel 1 dans l'analyseur numérique différentiel 2 et cela jusqutà ce que la vitesse commandée soit égale à la vitesse effective ou bien qu'un, signal 30 de fin de courbe soit reçu» L'analyseur numérique différentiel 2 reçoit à. ses entrées le signal d'accroissement de vitesse .dv et un signal représentant le temps sur la borne 40» La sortie de .l'analyseur numérique différentiel 2 est donnée pa&L'équation 35 (161 ) dz =j dv dt ou dz = vdt 69 13941 35 2007330 L'analyseur numérique différentiel 2 contient les deux compteurs nécessaires pour l'exécution d'un intégrateur complet. Le signal dans le compteur enregistreur désigné par Y dans l'analyseur numérique différentiel 2 forme la somme des dvr crest-à-5 dire v» Il faut remarquer que le signe de dv correspondant à une accélération positive ou négative, provenant du circuit 20 définissant le signe sert à augmenter ou à réduire le compte du compteur des Y dans l'analyseur numérique différentiel 2 qui en-10 traîne v vers vc. Par suite, la vitesse des impulsions de sortie représentant dz est directement proportionnelle à la valeur de v dans le compteur des Y de l'analyseur numérique différentiel 2. Ce signal de sortie est appliqué à la borne 39 et à un compteur décompteur 17. Ce dernier emmagasine la valeur calculée de z, 15 longueur du segment» à partir des mémoires tampon des données» Cette valeur emmagasinée de z est affichée lorsque le signal de sortie du compteur décompteur est égal à zéro» La borne 39 est reliée à la borne 27 ( figure 4 ), de manière à alimenter le signal dz formant ura signal d'entrée pour 20 les analyseurs numériques différentiels reliés en série 24, 25r 26. Les autres signaux d'entrée appliqués à ces analyseurs numériques différentiels sont les coefficients ex à la borne 2B, bx à la borne 29 et ax à la borne 30» Ces coefficients sont emmagasinés dans les mémoires tampon de données 5. La liaison entre les raémoi-25 res tampon 5 et les bornes 26 à 30 n'est pas représentée pour éviter de compliquer les dessins» Les sorties des analyseurs numériques différentiels 24 à 26 sont respectivement i ex dz, (b^ + c^zjdz et (ax + bxz + i/ 2cxz^ïdz. Cette dernière expression provenant de l'équation 1 est 30 égale à dx qui est l'augmentation différentielle de la distance x à tracer. Le signal d'augmentation dx est appliqué à l'entrée du compteur emmagasineur de données 31 SUMS qui additionne les augmentations, de manière à obtenir la position commandée eim x. La 35 sortie du compteur 31 est couplée" à un soustracteur numérique 22. Ce soustracteur reçoit la différence d'augmentation entre la posx- 69 13941 3i 2007330 tion augmentée désirée et la position effective fournie par le compteur emmagasineur formant réaction 33 et le générateur d'int-pulsions 34 qui engendre lrinformation relative à la position occupée à ce moment. La différence numérique forme un signal d'er-5 reur d1augmentation qui est convertie en forme analogique dans le convertisseur 35 des données numériques en données analogiques. Ce signal analogique est amplifié dans un amplificateur classique 36 et sert à entraîner le moteur 37 qui met en place le mécanisme traceur des x. 10 Qn comprendra que la construction suivant la figure 4 est associée à une construction identique servant a produire le déplacement correspondant aux positions enr y. Les éléments 31 à 37 forment un servo-mécanisme hybricte ou différentiel assurant un mouvement régulier et continu à partir 15 d'une information intermittente relative aux positions. Il doit 6tre bien entendu, que ce servo-mécanisme fonctionne sur une base permettant les augmentations. Autrement dit,.dès que le signal dans le compteur 31 diffère de celui se trouvant dans le compteur 33, il se produit un signal d'erreur à la sortie du soustracteur 20 32. Une forme d'exécution de l'invention étant ainsi, décrite, il est évident que des modifications peuvent y Être apportées; sans que l'on sorte du principe de cette invention5. 69 13941 2007330 REVENDICATIONS 1 - Dispositif destiné à tracer des courbes à partir de données numériques, comprenant un servo-mécanisme différentiel entraînant le mécanisme traceur, trois analyseurs différentiels nuimé- 5 riques dont les signaux de sortie sont formés au rythme désiré et. qui sont reliés en série, la sortie du troisième analyseur différentiel numérique étant reliée au servo-mécanisme, et un dispositif générateur d'impulsions couplés avec les entrées des trois analyseurs de manière à produire un signal dont le rythme détermine le rythme XO de production des signaux de sortie par les analyseurs numériques. 2 - Dispositif suivant la revendication 1» caractérisé par le fait que le mécanisme traceur peut être entraîné à une vitesse déterminée dans une gamme de vitesses pour les signaux sortant des analyseurs numériques. 15 3 - Dispositif suivant la revendication 2, caractérisé par le fait que le dispositif générateur d'impulsions comporte dès moyens pour déterminer si une vitesse déterminée du mécanisme traceur est supérieure ou inférieure à la vitesse choisie dans la dite gamme, ces moyens étant couplés avec d5autres moyens produisant un 20 signal déterminant une accélération positive ou négative et appliqué au dispositif générateur d'impulsions. 4 - Procédé pour tracer des points correspondant à des données numériques au moyen d'un mécanisme traceurs consistant à définir ces points de données soins forme d'une suite d'équations en 25 polynômes, à déterminer la courbure des segments entre ces points de données, à déterminer les limites de l'accélération du mécanisme traceur, à former la vitesse de fonctionnement optima pour ce mécanisme traceur en fonction de cette courbure et de ces limites de l'accélération, à résoudre les équations en polynômes à un 30 rythme proportionnel à cette vitesse optima et à tracer ces solutions à ce même rythme au moyen de ce mécanisme traceuri 5 - Dispositif destiné à tracer les points de données numériques comprenant des moyens pour calculer la vitesse optima pour l'exécution du tracé, la distance entre les points ds données 35 et les coefficients des équations en polynômes pour les points de données, des moyens reliés à ces moyens de calcul et servant à recevoir la valeur de cette vitesse optima et à comparer celle-ci à 69 13941 36 2007330 la vitesse effective des moyens reliés aux moyens comparateurs pour engendrer un signal de commande d'une accélération positive ou négative, des moyens recevant ce dernier signal de manière à augmenter ou à réduire cette vitesse effective, d'autres moyens 5 reliés de manière à recevoir ce signal de commande d'une accélération positive ou négative afin de produire un signal d®augmerc- t tation de distance à un rythme proportionnel à cette vitesse effective, des moyens reliés de manière à, recevoir le signal die distance et à le réduire sous l'effet dp ce signal d'augmentation 10 de distance et des moyens" reliés aux moyens calculateurs pour recevoir les coefficients et le signal d'augmentation de distance et résoudre les équations en polynômes au rythme des signaux d'augmentation, de distance pendant la durée qui est nécessaire pour réduite cette distance de cette augmentation de distance et 15 des moyens pour tracer ces solutions.