DE1524194C - Arrangement for the interpolate of a trajectory - Google Patents

Arrangement for the interpolate of a trajectory

Info

Publication number
DE1524194C
DE1524194C DE1524194C DE 1524194 C DE1524194 C DE 1524194C DE 1524194 C DE1524194 C DE 1524194C
Authority
DE
Germany
Prior art keywords
register
elements
divisor
memory
comparison
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
Other languages
German (de)
Inventor
Rolf 6453 Seligenstadt Heikenberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Licentia Patent Verwaltungs GmbH
Original Assignee
Licentia Patent Verwaltungs GmbH
Publication date

Links

Description

Die Erfindung bezieht sich auf eine Anordnung zur Interpolation einer Bahnkurve aus vorgegebenem Anfangspunkt, Endpunkt und Kurvengleichung mit einem ein digital arbeitendes Rechenwerk und ein Leitwerk zur Steuerung der Rechenvorgänge aufweisenden Inneninterpolator, bei dem nach Erreichen des Endpunktes der jeweilige Interpolationsvorgang beendet wird.The invention relates to an arrangement for interpolating a trajectory curve from a predetermined one Starting point, end point and curve equation with a digital arithmetic unit and a Having tail unit for controlling the arithmetic operations Internal interpolator, in which the respective interpolation process after reaching the end point is terminated.

Bei Bahnsteuerungen, beispielsweise für numerisch gesteuerte Werkzeug- oder Zeichenmaschinen, ge- ίο schieht die automatische Ermittlung der Fülle von Lagesollwerten mit Hilfe eines Interpolators aus wenigen Angaben einer Konstruktionszeichnung, in der im allgemeinen nur charakteristische Punkte vermaßt und die Form der Verbindungslinie der einzelnen Punkte dargestellt ist. Ein Interpolator ist ein Rechengerät, das zwischen einem gegebenen Anfangspunkt und einem Endpunkt einer Kurve unter Berücksichtigung der Gleichung dieser Kurve Zwischenpunkte mit einem Abstand errechnet, der dem geforderten Auf- so lösungsvermögen entspricht. Mit elektronischen Mit- , teln können Interpolatoren hoher Rechengeschwindigkeit gebaut werden. Jede vollständig automatisierte Bahnsteuerung benötigt einen Interpolator. Der Interpolator- kann in den Bereich der Programmierung, also außerhalb der unmittelbar zu der zu steuernden Maschine gehörenden Einrichtung, eingefügt, werden. In diesem Fall spricht man von Bahnsteuerungen mit Außeninterpolator. Bei Bahnsteuerungen mit Inneninterpolator ist der Interpolator im Bereich der zur Maschinensteuerung gehörenden Programmverarbeitung untergebracht.In the case of path controls, for example for numerically controlled machine tools or drawing machines, ίο the automatic determination of the abundance of nominal position values takes place with the help of an interpolator from a few Details of a construction drawing in which generally only characteristic points are measured and the shape of the line connecting the individual points is shown. An interpolator is a computing device that between a given starting point and an end point of a curve under consideration Using the equation of this curve, intermediate points are calculated with a spacing that corresponds to the required layout solvency corresponds. With electronic means, interpolators can compute at high speeds be built. Every fully automated path control requires an interpolator. The interpolator can be used in the area of programming, that is, outside of the device directly belonging to the machine to be controlled, inserted. In this case one speaks of path control with external interpolator. For contouring controls with internal interpolator is the interpolator in the area of the program processing belonging to the machine control housed.

Die Erfindung befaßt sich mit einem Interpolator der letztgenannten Art, d. h. mit einem digital arbeitenden Inneninterpolator. Einem solchen Interpolator fällt einmal die Aufgabe zu, eine analytische Beschreibung eines Kurvenabschnittes durch Anfangs-, Endpunkt und Kurvengleichung in eine punktmäßige Darstellung umzurechnen, und zum anderen, die räumliche Darstellung in eine zeitliche Darstellung durch eine aufeinanderfolgende Vorgabe entsprechender Koordinatensollwerte überzuführen.The invention is concerned with an interpolator of the latter type, i. H. with a digital one Internal interpolator. Such an interpolator the task falls on the one hand, an analytical description of a curve section through the start and end point and to convert the curve equation into a point representation, and on the other hand, the spatial representation in a temporal representation by a successive specification corresponding Transfer coordinate setpoints.

Für eine lineare Interpolation zwischen durch Programm vorgegebenen Anfangs- und Endpunkt ist die folgende Formel bekannt (W. Simon: »Die numerische Steuerung von Werkzeugmaschinen, C. Hanser Verlag, München, 1963, S. 195 bis 204):For a linear interpolation between the start and end points specified by the program, the following formula is known (W. Simon: »The numerical control of machine tools, C. Hanser Verlag, Munich, 1963, pp. 195 to 204):

= Xa= Xa

V=znV = zn

V=oV = o

V = OV = O

Xe XaXe Xa

5555

Hierin ist η die Anzahl der Schritte, die vom Anfangspunkt Pa zum Endpunkt Pe zu machen sind, und n — l ist die Anzahl der interpolierten Punkte. Die Zahl η ist durch die maximal auftretende Entfernung ta Pe und das geforderte Auflösungsvermögen der Anlage bestimmt. Obige Formeln können in bekannter Weise mittels digital arbeitender Summier-, Subtraktions- und Divisionswerken nachgebildet werden. Die Rechenwerke für die Division werden besonders einfach, wenn η ein Vielfaches von 2 ist. Die Division einer Dualzahl durch eine Potenz von 2 läßt sich nämlich durch eine entsprechende Stellenverschiebung realisieren.Herein, η is the number of steps to be taken from the starting point Pa to the end point P e , and n-1 is the number of interpolated points. The number η is determined by the maximum occurring distance ta Pe and the required resolution of the system. The above formulas can be reproduced in a known manner by means of digitally operating summing, subtracting and dividing units. The arithmetic units for the division are particularly simple when η is a multiple of 2. The division of a binary number by a power of 2 can be implemented by shifting the positions accordingly.

Es ist weiter bereits ein digital arbeitender Interpolator bekannt (deutsche Auslegeschrift 1219 717), bei dem zur Interpolation keine Division, sondern Additionen und Subtraktionen vorgenommen werden. Die Additionen bzw. Subtraktionen erfolgen dabei in Abhängigkeit von dem Erfüllen einer Ungleichung. Bei Gleichheit der beiden Größen der Ungleichung soll der Endpunkt der zu interpolierenden Kurve erreicht sein. Die Koeffizienten der beiden Größen sind durch die Tangente an der zu interpolierenden Kurve iri deren Endpunkt bestimmt.A digitally working interpolator is also known (German Auslegeschrift 1219 717), in which no division, but additions and subtractions are made for interpolation. The additions or subtractions take place depending on whether an inequality is fulfilled. If the two quantities of the inequality are equal, the end point of the curve to be interpolated should be reached. The coefficients of the two quantities are determined by the tangent to the curve to be interpolated iri its end point.

Der Erfindung liegt die Aufgabe zugrunde, eine Anordnung zur Interpolation einer Bahnkurve zu schaffen, bei der von bekannten Interpolationsformeln und nicht von zu Schwierigkeiten führenden Sonderbedingungen auszugehen ist und bei der trotzdem ein Divisionswerk vermieden wird.The invention is based on the object of providing an arrangement for interpolating a trajectory create, in the case of known interpolation formulas and not of special conditions that lead to difficulties is to be assumed and in which a division plant is nevertheless avoided.

Diese Aufgabe wird bei der eingangs angegebenen Anordnung erfindungsgemäß dadurch gelöst, daßThis object is achieved according to the invention in the arrangement specified at the outset in that

a) dem Rechenwerk ein Divisorregister nachgeschaltet ist, in das ein Binärwert n" eingeschrieben wird, der aus dem im Rechenwerk ermittelten '( Werta) the arithmetic unit is followed by a divisor register into which a binary value n " is written which is derived from the '( value

ri = I Xe — xa^\ + I ye ya \ ri = I Xe - x a ^ \ + I y e - y a \

abgeleitet wird;is derived;

b) jeder Koordinatenachse ein Summenregister zugeordnet ist, in dem die entsprechenden Koordinaten-Differenzwerte .b) each coordinate axis is assigned a sum register in which the corresponding coordinate difference values .

Ax = I xe — Xa I bzw. Ay — I ye — ya \ Ax = I x e - Xa I or Ay - I y e - y a \

fortlaufend mittels des Rechenwerkes addiert werden;are added continuously by means of the arithmetic unit;

c) Vergleichsglieder vorhanden sind, mittels derer die Inhalte jedes Summenregisters mit demc) comparison elements are available, by means of which the contents of each sum register with the

. Divisorregisterinhalt verglichen werden;. Divisor register contents are compared;

d) den Vergleichsgliedern jeder Koordinate zugeordnete Sollwertspeicher nachgeschaltet sind, wobei im Falle eines Vergleichsergebnisses »Summenregisterinhalt ^ DiyiSorregisterihhalt« gesteuert durch das Leitwerk der in dem Sollwert- ( speicher enthaltene Wert um eine Einheit geändert wird und vom Inhalt des Summenregisters der Divisorregisterinhalt subtrahiert wird.d) the comparison elements for each coordinate are connected downstream of the setpoint memory, whereby in the case of a comparison result »sum register content ^ DiyiSorregisterihhalt« controlled by the control unit, the value contained in the set value ( memory) is changed by one unit and the content of the divisor register is subtracted from the content of the sum register.

Nach dieser Lösung wird die bei bekannten Interpolationsverfahren erforderliche Division durch η vorteilhafterweise dadurch umgangen, daß die Koordinaten-Differenzwerte A χ bzw. Ay fortlaufend addiert und in Einheiten von n" .ausgemessen werden. Es ist somit nur noch ein Rechenwerk für Addition erforderlich. Bei der Ermittlung von ri läßt sich günstigerweise ausnutzen, daß ri lediglich einen Mindestwert nicht unterschreiten darf, der durch die geforderte Bearbeitungsgenauigkeit bestimmt ist. ri kann daher auf einfache Weise durch eine Addition der Koordinaten-Differenzwerte von Anfangs- und Endpunkt ermittelt werden.According to this solution, the division by η required in known interpolation methods is advantageously avoided in that the coordinate difference values A χ or Ay are continuously added and measured in units of n " . Thus, only one arithmetic unit is required for addition identifying ri can be advantageously exploited that ri may not fall below only one minimum value which is determined by the required machining accuracy. ri can thus in a simple manner by an addition of the coordinate difference values are determined from the start and end point.

Die Freizügigkeit in der Bestimmung von ri führt zu einer bevorzugten Ausführungsform der Erfindung, gemäß der das »Divisor«-Register pro Dekade χ nur aus drei den Bits 2° · 10*, 21 ■ 10* und 22 · 10* zugeordneten Speicherelemente besteht, deren Ausgänge und Ausgänge von entsprechenden Bits im Summenregister zugeordneten Speicherelementen Vergleichselemente beaufschlagen. The freedom in determining ri leads to a preferred embodiment of the invention, according to which the "divisor" register per decade χ consists of only three memory elements assigned to bits 2 ° · 10 *, 2 1 · 10 * and 2 2 · 10 * exists, whose outputs and outputs of corresponding bits in the summation register assigned memory elements act on comparison elements.

Es kann also vorteilhafterweise das ermittelte ri auf ein n" aufgerundet werden. Für das Divisorregister werden dadurch weniger Speicherelemente pro Dekade, beispielsweise drei, benötigt, um die aufgerundeten Werte dazustellen. Zweckmäßigerweise wird der aufgerundete Wert nur noch durch ein Bit dargestellt. Dann ergibt sich eine sehr einfache Schaltung für die Vergleichseinheit. The determined ri can therefore advantageously be rounded up to an n " . As a result, fewer memory elements per decade, for example three, are required for the divisor register in order to represent the rounded values. The rounded value is expediently represented by only one bit a very simple circuit for the comparison unit.

In einer bevorzugten Schaltung zur Erzielung der Aufrundung werden die Speichereingänge der Speicherelemente des »Divisor«-Registers mit der Wertigkeit 2°. ίο*; 21^lO* und 22VlO* einer Dekade χ vom Rechenwerk her durch die Bits 22 · 1O1-"1 oder 23.io*-i; 2°-10* und 21 · 10s angesteuert und die negierten Ausgänge der Speicherelemente beaufschlagen die Löscheingänge der Speicherelemente niederer Wertigkeit innerhalb einer Dekade und über ein Und-Glied zusammengefaßt ebenfalls die Löscheingänge aller Speicherelemente niederer Dekaden.In a preferred circuit for achieving the rounding up, the memory inputs of the memory elements of the “divisor” register are assigned the valence 2 °. ίο *; 2 1 ^ lO * and 2 2 VlO * of a decade χ from the arithmetic unit through the bits 2 2 · 1O 1- " 1 or 23.io * -i; 2 ° -10 * and 2 1 · 10 s controlled and the negated Outputs of the storage elements act on the clearing inputs of the lower-valued storage elements within a decade and, combined via an AND element, also the clearing inputs of all storage elements of lower-valued decades.

Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet. .
j *\ Nachfolgend wird ein Ausführungsbeispiel der Erfindung an Hand der Zeichnung näher erläutert. Die Darstellung beschränkt sich dabei auf die wesentlichen Teile. ■ .
Further developments of the invention are characterized in the subclaims. .
An exemplary embodiment of the invention is explained in more detail below with reference to the drawing. The representation is limited to the essential parts. ■.

Es sei davon ausgegangen, daß ein nicht gezeigtes, an sich bekanntes Rechenwerk eines Interpolators binär-dezimal organisiert ist. Bei einem geforderten Verfahrweg von 10 m und einer geforderten Bearbeitungsgenauigkeit von 0,01 mm für die Maschine entspricht dies einem Auflösungsvermögen von 10-6. Es sind somit sechs Dekaden erforderlich, die durch 24 Bits binär dezimal verschlüsselt dargestellt werden. Im Ausführungsbeispiel sind der Einfachheit halber nur die dritte und vierte Dekade (Hunderter und Tausender) der zum Rechenwerk und zu den weiteren Teilen eines an sich bekannten Inneninterpolators hinzukommenden Einrichtungen herausgezeichnet.It is assumed that an arithmetic unit of an interpolator, which is not shown and is known per se, is organized in binary-decimal form. When a required travel distance of 10 m and a required processing accuracy of 0.01 mm for the machine, this corresponds to a resolution of 10. 6 Six decades are required, which are represented in binary decimal format using 24 bits. In the exemplary embodiment, for the sake of simplicity, only the third and fourth decades (hundreds and thousands) of the devices added to the arithmetic unit and to the other parts of an internal interpolator known per se are shown.

Ein Summenregister 1 und ein Vergleichsglied 2 . sind jeweils einmal für jede Koordinate vorhanden, während nur ein »Divisor«-Register 3 für beide Koordinaten vorhanden ist. Zur Darstellung einer Zahl im Summenregister 1 dienen in bekannter Weise Flip-Flops FF mit Speicher- und Löscheingang sowie einem negierten und einem nichtnegierten Ausgang. Im Ausführungsbeispiel sind nur ein Summenregister 1 und ein Vergleichsglied 2 dargestellt. Es sei angenommen, daß es sich um das der x-Koordinate zugeordnete Summeriregister SMX und Vergleichsglied VGX handelt.A sum register 1 and a comparison element 2. are available once for each coordinate, while only one "divisor" register 3 is available for both coordinates. To represent a number in the sum register 1, flip-flops FF with storage and clearing inputs and a negated and a non-negated output are used in a known manner. In the exemplary embodiment, only one sum register 1 and one comparison element 2 are shown. It is assumed that the summation register SMX and comparison element VGX assigned to the x coordinate are involved.

Das »Divisor«-Register 3 ist ähnlich aufgebaut, jedoch fehlt jeweils das dem höchsten Bit einer Dekade zugeordnete Flip-Flop. Ferner sind Verbindungen zwischen Ausgängen. und Löscheingängen der Flip-Flops vorgesehen, so daß die negierten Ausgänge der Speicherelemente FF die Löscheingänge der Speicherelemente niederer Wertigkeit innerhalb einer Dekade und über ein UND-Glied zusammengefaßt ebenfalls die Löscheingänge aller Speicherelemente FF niederer Dekaden beaufschlagen. Weiterhin beaufschlagen das höchste und zweithöchste Bit einer Dekade, die jeweils vom Rechenwerk angeliefert werden, über ein ODER-Glied den Speichereingang des das niedrigste Bit einer nächsthöheren Dekade darstellenden Flip-Flops. Durch diese schaltungstechnischen; Maßnahmen wird eine Aufrundung einer vom Rechenwerk ermittelten Größe ri auf eine Größe n" erreicht, die nur noch durch ein Bit dargestellt wird.The "divisor" register 3 has a similar structure, but the flip-flop assigned to the highest bit of a decade is missing. There are also connections between outputs. and clear inputs of the flip-flops are provided so that the negated outputs of the memory elements FF apply to the clear inputs of the memory elements of lower significance within a decade and, combined via an AND element, also act on the clear inputs of all memory elements FF of lower decades. Furthermore, the highest and second highest bit of a decade, which are each supplied by the arithmetic unit, are applied via an OR element to the memory input of the flip-flop representing the lowest bit of the next higher decade. Through this circuitry; Measures, a size ri determined by the arithmetic unit is rounded up to a size n ″, which is only represented by one bit.

Ein Zahlenbeispiel: Die ermittelte Größe ri hat den Wert 1100. Es werden vom Rechenwerk die Eingänge 2° · 102 und 2° · 103 des Devisorregisters 3 mit einem Signal beaufschlagt. Diese Eingänge sind jedoch den Flip-Flops mit den Wertigkeiten 2l · 102 und 21 · 103 zugeordnet. Durch Markierung des Flip-Flops entsprechend dem Bit 21 · ΙΟ3 werden alle Markierungen der Bits geringerer Wertigkeit gelöscht. Dies geschieht durch die Rückführung des jeweils negierten Ausganges eines jeden Flip-Flops auf die Löscheingänge der Flip-Flops niederer Wertigkeit. Durch die Markierung des Bits 21 · 103 zeigt der negierte Ausgang des zugeordneten Flip-Flops 0-Signal. Die jeweiligen Löscheingänge aller Flip-Flops niederer Wertigkeit der gleichen Dekade und die Flip-Flops aller Bits niederer Dekade werden dann angesteuert und gelöscht.A numerical example: The determined variable ri has the value 1100. The arithmetic unit applies a signal to the inputs 2 ° · 10 2 and 2 ° · 10 3 of the devisor register 3. However, these inputs are assigned to the flip-flops with the values 2 l · 10 2 and 2 1 · 10 3 . By marking the flip-flop according to bit 2 1 · ΙΟ 3 , all markings of the bits of lower significance are deleted. This is done by feeding back the negated output of each flip-flop to the clearing inputs of the lower-valued flip-flops. By marking the bit 2 1 · 10 3 , the negated output of the assigned flip-flop shows a 0 signal. The respective clear inputs of all flip-flops of lower significance of the same decade and the flip-flops of all bits of lower decade are then activated and cleared.

Die Ausgänge der Flip-Flops FF gleicher Wertigkeit des Summenregisters 1 und des Divisorregisters 3 sind mit Eingängen von Vergleichselementen des Vergleichs-The outputs of the flip-flops FF of the same value of the sum register 1 and the divisor register 3 are connected to inputs of comparison elements of the comparison

ao gliedes 2 verbunden. Da infolge der Aufrundung im Divisorregister 3 eine Zahl n" nur durch ein Bit dargestellt wird, gestaltet sich der Vergleich sehr einfach. Für die Vergleichselemente werden lediglich UND-" Glieder mit zwei Eingängen benötigt. Die gesamteao link 2 connected. Since, as a result of the rounding up in divisor register 3, a number n "is only represented by one bit, the comparison is very simple. Only AND elements with two inputs are required for the comparison elements. The whole

a5 Vergleichsschaltung2 umfaßt somit nur diese UND-Glieder, deren Ausgänge über ein ODER-Glied zusammengefaßt sind.a5 comparison circuit 2 thus only comprises these AND gates, the outputs of which are combined via an OR element.

Tm folgenden soll die Wirkungsweise der dargestellten Anordnung bei einer Interpolation an Hand eines einfachen Zahlenbeispieles näher erläutert werden. Die Koordinaten des Anfangspunktes Pa seien 0, dann istIn the following, the mode of operation of the arrangement shown will be explained in more detail with an interpolation using a simple numerical example. The coordinates of the starting point P a are 0, then is

ya = 0. ya = 0.

Der Endpunkt Pe möge die KoordinatenThe end point P e may be the coordinates

jce = 700,
7, = 400 ■ . .
besitzen.
jc e = 700,
7, = 400 ■. .
own.

Das Rechenwerk ermittelt für jede Koordinate die Differenzwerte ■■■>:. The arithmetic unit determines the difference values ■■■>: for each coordinate.

Ax = I Xg Xa I = 700 Ax = I Xg - Xa I = 700

Ay = \ye —ja j = 400 . Ay = \ y e - yes j = 400.

und daraus weiter eine Größeand from that another size

ri = Ax + Ay = 700 + 400 = 1100. ri = Ax + Ay = 700 + 400 = 1100.

Die Größen' = 1100wirdindas»Divisor«-Register3 eingeschrieben und beim Einschreiben — wie vorstehend bereits erläutert wurde — aufgerundet. Dies ist bei der beschriebenen Schaltung im Falle von ri = 1100 der Wert n" = 2000.The sizes' = 1100 are written into the "divisor" register3 and rounded up when registered - as has already been explained above. In the circuit described, this is the value n "= 2000 in the case of ri = 1100.

In das Summenregister SMX bzw. SMY wird Ax = 700 bzw. Ay — 400 eingeschrieben. Im nächsten Schritt werden sowohl Ax als auch Ay um ihre eigenen Beträge erhöht, so daß sich ergibt Ax = 700 or Ay - 400 is written into the sum register SMX or SMY. In the next step, both Ax and Ay are increased by their own amounts, so that results

Ax' = 700 + 700= 1400 Ax ' = 700 + 700 = 1400

beziehungsweise · ·respectively · ·

Ay' = 400 + 400 = 800. Ay ' = 400 + 400 = 800.

Die Rechnung erfolgt im Rechenwerk des Interpolators. Ein Löschtakt beaufschlagt dann über die Taktleitung TL sämtliche Löscheingänge der Flip-Flops FF des Summenregisters 1. Im nächsten Schritt wird Ax' = 1400 in das Summenregister 1 eingeschrieben. Das Vergleichsglied 2 vergleicht fortwährend denThe calculation takes place in the arithmetic unit of the interpolator. A clearing clock then acts on all clearing inputs of the flip-flops FF of the total register 1 via the clock line TL . In the next step, Ax ' = 1400 is written into the totaling register 1. The comparison element 2 continuously compares the

Inhalt des Stimmenre,gisters 1 mit dem Inhalt des »Divisor«-Registers 3 und gibt in dem Fall, indem der Summenregisterinhalt größer oder gleich dem »Divisor«-Registerinhalt wird, ein L-Signal. Dies trifft für Ax' nicht zu. Daher werden weiterContents of the vote register 1 with the contents of the "divisor" register 3 and gives an L signal in the event that the sum register contents are greater than or equal to the "divisor" register contents. This is not the case for Ax ' . Hence will continue

Ax' + Ax = 1400 +.700 = 2100 = Ax" Ax '+ Ax = 1400 +.700 = 2100 = Ax "

berechnet, :J.v' in SMX gelöscht und Ax" in SMX eingeschrieben. Jetzt ist sowohl im Summenregister SMX als auch im »Divisore-Register 3 das Bit 21 · 103 markiert.calculated,: Jv 'deleted in SMX and Ax "written in SMX . Bit 2 1 · 10 3 is now marked in both the sum register SMX and in the divisore register 3.

Der Vergleich ergibt also, daß der Summenregisterinhalt \SMXy größer als das oberste im »Divisor«- Register stehende Bit n" = 2000 ist. Dementsprechend gibt jetzt das Vergleichsglied VGX am Ausgang des ODER-Gliedes ein L-Signal ab. Dieses L-Signal veranlaßt eine Änderung des im Sollwertspeicher SWX stehenden Wertes um eine Maschineneinheit, also von 0 auf 001, und damit eine entsprechende Bewegung des Maschinenschlittens in der .v-Koordiriate von 0 auf 001. Zugleich wird durch das Rechenwerk der »Divisor«-Registerinhalt \DRiy = 2000 von dem Summenregisterinhalt (SMXy —. 2100 subtrahiert. Die Differenz von 100 wird als neuer Summenregister- as inhalt eingeschrieben. Dieser Summenregisterinhalt wird wieder fortlaufend um Ax = 700 erhöht und der Vergleich mit „dem »Divisor«-Registerinhalt (DRiy = 2000 weiter durchgeführt, bis wieder die Bedingung \SMXy ^ \DR1> erfüllt/ ist, usw. Dies geschieht so lange, bis der Endpunkt für .\> = 700 erreicht ist. Dann wird der »Divisor«-Registerinhalt durch einen Takt auf der Taktleitung TL' gelöscht, auf Grund eines neu vorgegebenen Endpunktes und des alten Endpunktes als Anfangspunkt ein neues ri berechnet und dieses ri in das »Divisor«-Register 3 eingeschrieben. Das Verfahren läuft danach in der vorstehend beschriebenen Weise, jedoch mit neuen Zahlenwerten weiter.The comparison shows that the total register content \ SMXy is greater than the uppermost bit n " = 2000 in the" divisor "register. Accordingly, the comparison element VGX now outputs an L signal at the output of the OR element causes the value in the setpoint memory SWX to be changed by one machine unit, i.e. from 0 to 001, and thus a corresponding movement of the machine slide in the .v coordinates from 0 to 001. At the same time, the arithmetic unit generates the "divisor" register content \ DRiy = 2000 subtracted from the total register content (SMXy -. 2100. The difference of 100 is written in as the new total register content. This total register content is again continuously increased by Ax = 700 and the comparison with "the" divisor "register content (DRiy = 2000 continues until the condition \ SMXy ^ \ DR1> is / is met again, etc. This continues until the end point for. \> = 700 is reached. Then the "Divisor" register content is du rch a clock on the clock line TL 'is deleted, based on a newly specified end point and the old end point as the starting point, a new ri is calculated and this ri is written into the "divisor" register 3. The method then continues in the manner described above, but with new numerical values.

Bezüglich der v-Koordinate arbeitet das Verfahren in gleicher Weise. Hierfür sind getrennt ein Summenregister SMY und ein Vergleichsglied VGY vorgesehen, die jedoch mit dem gleichen »Divisor«-Register 3 zusammenarbeiten.The method works in the same way with regard to the v coordinate. A sum register SMY and a comparison element VGY are provided separately for this purpose, but they work together with the same “divisor” register 3.

Da aber der Verfahrweg in j-Richtung kleiner als in .v-Richtung ist, bedarf es hier mehrerer Rechenschritte im Summenregister SM Y, bis der Vergleich die Erhöhung des Sollwertspeichers SWY um 1 und damit einen Schritt der Maschine Um eine Maschineneinheit auslöst.However, since the travel in the j-direction is smaller than in the .v-direction, several computing steps are required in the sum register SM Y until the comparison triggers the increase in the setpoint memory SWY by 1 and thus one step of the machine by one machine unit.

Es liegt auf der Hand, daß das angegebene Verfahren auch auf die bekannten FormelnIt is obvious that the procedure given also applies to the known formulas

5o 5 o

IYIY

Y = Λα —Y = Λα -

Xr - 1 — Χλί Xr - 1 - Χλί

6060

für die zirkuläre Interpolation in gleicher Weise angewendet werden kann. can be used in the same way for circular interpolation.

Mit der vorstehend beschriebenen linearen Interpolation und der zirkulären Interpolation lassen sich praktisch alle technisch interessierenden Bahnkurven erzeugen.With the linear interpolation described above and circular interpolation, practically all technically interesting trajectories can be used produce.

Claims (7)

Patentansprüche: .Claims:. 1. Anordnung zur Interpolation einer Bahnkurve aus vorgegebenem Anfangspunkt (xa, ya), Endpunkt (xe, ye) und Kurvengleichung mit einem ein digital arbeitendes Rechenwerk und ein Leitwerk zur Steuerung der Rechenvorgänge aufweisenden Inneninterpolator, bei dem nach Erreichen des Endpunktes der jeweilige Interpolationsvorgang beendet wird, gekennzeichnet durch folgende Merkmale: ·1. Arrangement for interpolating a trajectory curve from a given starting point (x a , y a ), end point (x e , y e ) and curve equation with an internal interpolator that has a digital arithmetic unit and a control unit for controlling the arithmetic processes, in which, after reaching the end point the respective interpolation process is ended, characterized by the following features: a) dem Rechenwerk ist ein Divisor-Register (3) nachgeschaltet, in das ein Binärwert (n") eingeschrieben wird, der aus dem im Rechenwerk ermittelten Werta) the arithmetic unit is followed by a divisor register (3) into which a binary value (n ") is written, which is derived from the value determined in the arithmetic unit ri =' I Xe -,Xa \+\ye— JO j ri = 'I Xe -, Xa \ + \ ye— JO j abgeleitet wird;is derived; b) jeder Koordinatenachse (X, Y) ist ein Summenregister (1; SMX, SMY) zugeordnet, in dem die entsprechenden Koordinaten-Differenzwerte b) each coordinate axis (X, Y) is assigned a sum register (1; SMX, SMY) in which the corresponding coordinate difference values fortlaufend mittels des Rechenwerkes addiert werden;continuously added by means of the arithmetic unit will; c) es sind Vergleichsglieder (2) vorhanden, mittels derer die Inhalte jedes Summenregisters mit dem Divisorregisterinhalt verglichen werden;c) there are comparison elements (2) by means of which the contents of each sum register are compared with the contents of the divisor register; d) den Vergleichsgliedern (2) sind jeder Koordinate zugeordnete Sollwertspeicher (SWX, S WY) nachgeschaltet, wobei im Falle eines Vergleichsergebnisses »Summenregisterinhalt ^ Divisorregisterinhalt« gesteuert durch das Leitwerk der in dem Sollwertspeicher enthaltene Wert um eine Einheit geändert wird und vom Inhalt des Summenregisters der Divisorregisterinhalt subtrahiert wird.d) the comparison elements (2) are connected to the setpoint memory (SWX, S WY) assigned to each coordinate, with the value contained in the setpoint memory being changed by one unit in the event of a comparison result being controlled by the control unit, the value contained in the setpoint memory and the content of the total register the content of the divisor register is subtracted. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß aus bistabilen Speicherelementen (FF) aufgebaute binär-dezimal Summenregister (1) und ein aus gleichen Speicherelementen (FF) aufgebautes binär-dezimales »Divisor«-Register (3) vorgesehen sind und daß die Ausgänge von Speicherelementen (FF) für Bits gleicher Wertigkeit der Summenregister (1) und des »Divisor«-Registers (3) Vergleichselemente des jeweiligen Vergleichsgliedes (2) beaufschlagen.2. Arrangement according to claim 1, characterized in that binary-decimal sum register (1 ) constructed from bistable storage elements (FF) and a binary-decimal "divisor" register (3) constructed from the same storage elements (FF) are provided and that the Outputs of memory elements (FF) for bits of the same value of the sum register (1) and the "divisor" register (3) apply comparison elements of the respective comparison element (2). 3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß das »Divisor«-Register (3) pro Dekade χ nur aus drei den Bits 2° · 10*, 21 · 10* und 22 · 10* zugeordneten Speicherelementen besteht und daß deren Ausgänge und die Ausgänge der den entsprechenden Bits im Summenregister (1) zugeordneten Speicherelemente die Vergleichselemente beaufschlagen.3. Arrangement according to claim 2, characterized in that the "divisor" register (3) consists of only three memory elements assigned to the bits 2 ° · 10 *, 2 1 · 10 * and 2 2 · 10 * per decade χ, and that the outputs of which and the outputs of the memory elements assigned to the corresponding bits in the sum register (1) act on the comparison elements. 4. Anordnung nach Anspruch 2 und Anspruch 3, dadurch gekennzeichnet, daß die Speicherelemente als taktgesteuerte Flip-Fjops mit Speicher- und Löscheingang und negiertem und nichtnegiertem Ausgang ausgeführt sind.4. Arrangement according to claim 2 and claim 3, characterized in that the storage elements as clock-controlled flip-fjops with store and delete input and negated and non-negated Output are executed. 5. Anordnung nach Anspruch 2 bis Anspruch 4, dadurch gekennzeichnet, daß die Speichereingänge. der Speicherelemente (FF) des »Divisor«-Regi-5. Arrangement according to claim 2 to claim 4, characterized in that the memory inputs. of the storage elements (FF) of the »Divisor« regi- sters (3) mit der Wertigkeit 2° · 10*, 2l · 10* und 22 · 10* einer Dekade χ vom Rechenwerk her durch die Bits 2a · 10*-1 oder 23·10*-χ; 2° -10* und 21 · 10* angesteuert werden und daß die negierten Ausgänge der Speicherelemente (FF) die Löscheingänge der Speicherelemente (FF) niederer Wertigkeit innerhalb einer Dekade und über ein UND-Glied zusammengefaßt ebenfalls die Löscheingänge aller Speicherelemente (FF) niederer Dekaden beaufschlagen.sters (3) with the valency 2 ° · 10 *, 2 l · 10 * and 2 2 · 10 * of a decade χ from the arithmetic unit through the bits 2 a · 10 * - 1 or 2 3 · 10 * - χ ; 2 ° -10 * and 2 1 · 10 * are controlled and that the negated outputs of the storage elements (FF) are the clearing inputs of the lower-valued memory elements (FF) within a decade and also the clearing inputs of all memory elements (FF) combined via an AND element apply lower decades. 6. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Vergleichselemente aus von6. Arrangement according to claim 2, characterized in that the comparison elements from of den nichtnegierten Ausgängen der Speicherelemente gleicher Wertigkeit beaufschlagten UND-Gliedern bestehen, deren Ausgänge über ein ODER-Glied zusammengefaßt sind. .-.-'..AND gates applied to the non-negated outputs of the storage elements of the same value exist, the outputs of which are combined via an OR element. .-.- '.. 7. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß eine Taktleitung TL und eine Taktleitung TL' vorgesehen sind, über, die die Löscheingänge der Speicherelemente (FF) der Summenregister (1) nach jedem Rechenschritt und die Löscheingänge der Speicherelemente (FF) des »Divisore-Registers (3) nach jedem Interpolationsabschnitt beaufschlagt werden. 7. Arrangement according to claim 4, characterized in that a clock line TL and a clock line TL 'are provided over which the clear inputs of the memory elements (FF) of the sum register (1) after each calculation step and the clear inputs of the memory elements (FF) of the » Divisore registers (3) are applied after each interpolation section. Hierzu 1 Blatt Zeichnungen1 sheet of drawings .109 643/115.109 643/115

Family

ID=

Similar Documents

Publication Publication Date Title
DE2246968C2 (en) Device for multiplying two floating point numbers
DE2523860C3 (en) Device for digital, linear interpolation of a formulated function
DE1219717B (en) Digital interpolator
DE2745914A1 (en) NUMERICAL CONTROL FOR THE DRIVER DEVICE OF STEPPER MOTORS
DE2146982A1 (en) Programmable digital filter device
DE3507584C2 (en)
DE2244170B2 (en) Program control for direct numerical computer control of several machine tools in a manufacturing plant
DE2103049C3 (en) Device of a numerically controlled follow-up system
DE2111889C2 (en) Numerical control device for a machine tool
DE2246375C3 (en) Numerically controlled thread cutting machine
DE2034373A1 (en) Control device for controlling the speed of the advance of a tool
DE1538408B2 (en) NUMERIC PROGRAM CONTROL FOR CONTINUOUS PATH CONTROL FOR MACHINE DRIVES
DE1524194C (en) Arrangement for the interpolate of a trajectory
DE2555659C3 (en) Numerical control device for a machine tool with a path control unit for generating symmetrical paths
DE2406171B2 (en) SYNCHRONOUS MULTIPURPOSE COUNTER
DE2560651C2 (en)
DE1524194B2 (en) ARRANGEMENT FOR INTERPOLATE A PATH CURVE
DE2052161A1 (en) Circuit arrangement for an electrical discharge machine for controlling the relative movement between at least one electrode and at least one workpiece
DE2113936C3 (en) Numerical path control
DE1763932B2 (en) Device for a numerically operating program control
DE2025092B2 (en) ARRANGEMENT FOR NUMERICAL CONTROL OF A RELATIVE MOVEMENT
DE2430104B2 (en) Numerically working program control
DE2422035A1 (en) NUMERICAL CONTROL SYSTEM
DE2142636A1 (en) CALCULATING UNIT FOR THE PERFORMANCE OF DIGITAL MULTIPLICATIONS
DE1944058A1 (en) Circuit for counting pulses