DE1513474A1 - Numerische Bahnsteuerung - Google Patents

Numerische Bahnsteuerung

Info

Publication number
DE1513474A1
DE1513474A1 DE19651513474 DE1513474A DE1513474A1 DE 1513474 A1 DE1513474 A1 DE 1513474A1 DE 19651513474 DE19651513474 DE 19651513474 DE 1513474 A DE1513474 A DE 1513474A DE 1513474 A1 DE1513474 A1 DE 1513474A1
Authority
DE
Germany
Prior art keywords
interpolator
interpolation
control according
functions
equidistant
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.)
Pending
Application number
DE19651513474
Other languages
English (en)
Inventor
Morelj Dipl-Ing Aleksander
Kraegeloh Dr-Ing Werner
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.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of DE1513474A1 publication Critical patent/DE1513474A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36573X, y, z and tooloffset values or direction values
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50334Tool offset, diameter correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Complex Calculations (AREA)

Description

  • Numerische Bahnsteuerung Die Erfindung bezieht sich auf eine numerische Bahnsteuerung für Werkzeug- und ähnliche Maschinen zum Erzeugen ebener Kurven mit variabler Krümmung. Insbesondere ist die erfindun@sgemäße Steuerung für eine von der Eingabe der Bahndaten gesonderte Eingabe einer relativen derkzeugversetzun; vorgesehen. Ein wesentlicher Teil einer numerischen Bahnsteuerung ist ein digitaler Interpolator. Dieser hat die Aufgabe, ein I-Yerczeug (z. B. einen Fräser, einen Schneidbrenner, einen Zeichenstift) auf einer bestimmten, freizügig programmierbaren Bahn relativ zu einem Jerkgtück - als solches ist beispielsweise auch eine Zeichnung zu verstehen - zu führen. Die Bahn wird bei digitaler Steuerunan der Maschine selbst nicht durch eine Linie, sondern durch eine Punktfol_;e festgelegt, die so dicht sein muß, daß eirB sche-rbar kontinuierliche Bewegung entobht. Der Berechnung dieser Punktfolge dienen kleine Spezialrechner, die erwähnten Interpolatoren (oder Funktionsgeneratoren). In der Regel beschränkt man sich auf möglichst wenige verschiedenartige Interpolationsfunktionen, um den Aufwand niedrig zu halten. Am meiste n.werden Geraden alleine (Automatik", Januar 1960, Seiten 6 bis 13) oder Geraden und Kreise, seltener Parabeln, Hyperbeln., Ellipsen und Polynome verwendet ("Regelungstechnikt' 1965, Heft 3, Seiten 115 bis 123). Neuerdings wurde auch die Anwendung sogenannter "natürlicher Polynome" für diesen Zweck bekannt ("YDI-Zeitschrift" 104, 1962, Nr. 35, Seiten 1806 bis 1813). - . Die Gerade allein reicht grundsätzlich zur Approximation jeder beliebigen Kurve aus. Es sind aber soviele kleine Stücke nötig, daß zu ihrer Berechnung ein Digitalrechner unumgänglich ist. Der Kreis als diejenige gekrümmte Kurve, die sich am einfachsten zeichnen und maschinell fertigen läßt, kommt in der Technik sehr häufig vor. Deshalb ist es sinnvoll, als weitere Interpolationskurve den Kreis einzuführen. Noch bessere Interpolationsmöglichkeiten bieten Kurven mit variabler Krümmung, z. B. die Kegelschnitte und Polynome. Diese haben jedoch im Gegensatz zum Kreis in der Regel keine enge Beziehung zu den üblichen Konstruktions- und Herstellungsverfahren, lassen sich aber mit Interpolatoren verhältnismäßig leicht erzeugen. Dagegen erfordern die natürlichen Polynome einen sehr hohen Aufwand, ohne daß sie in der Anwendung weitere Vorteile bietens ihre Eigenschaft, unabhängig vom Koordinatensystem immer die gleiche Approximation einer punktweise gegebenen Funktion
    zu liefern, ist technisch nichybedeutsam.
    Die Werkstückkontur und die Bahn des Fräsermittelpunktes bei der Bearbeitung sind äquidistant, ebenso wie die Bahnen der Mittelpunkte von Fräsern verschiedener Durchmesser zueinander Äquidistante sind (Fig. 1). Wenn also der Interpolator in der Zage ist, eine zu der programmierten Kurve äquidistante Kurve zu erzeugen, genügt die Programmierung der Kontur; der Fräserdurchmesser wird dann in der Werkstatteingestellt. Entsprechend kann eine Bahn, die für einen ganz bestimmten Fräserdurchmesser berechnet ist, für den tatsächlich vorhandenen Präser modifiziert werden. Das bedeutet, daß nicht für jeden Werkzeugwechsel bzw. Nachschliff ein neuer Programmträger hergestellt werden muß. Falls die Werkzeugversetzung zudem sowohl in positivem als auch in negativem-Sinn eingegeben werden kann, können aufgrund ein und derselben, auf dem Programmträger festgelegten Kurve in bekannter Weise sowohl Innen- als auch Außenkonturen bearbeitet werden, was z. B. für die Herstellung von Freß- und Stanzwerkzeugen besonders vorteilhaft ist. Bei der Approximation der Werkstückkontur durch Geraden und Kreise ist es nicht schwierig, auf die Bahn des Werkzeugmittelpunktes überzugehen, da die äquidistanten Kurven wieder Geraden bzw. Kreise sind. Werden jedoch zur Verbesserung der Approximation der Kontur Interpolationskurven mit veränderlicher Krümmung verwendet, so steigt der Umfang der erforderlichen Rechenarbeit beim Übergang auf -die Bahn des Werkzeugmittelpunktes ganz erheblich an. Bei den bisher verwendeten Interpolationskurven dieser Art sind nämlich die Äquidistanten analytisch vollkommen anders aufgebaut, als eben die Interpolationskurven selbst. Es sind zwar bereits-Bahnsteuerungen bekannt geworden, bei denen auch in solchen fällen eine Werkzeugversetzun@@ aufgrund besonders eingegebener Daten erfolgen kann ("Regelun,;stechnik" 1965, Heft 3, Seiten 115 bis 123). Der erforderliche Aufwand für die Steuereinrichtung ist jedoch ganz erheblich. Man hat daher zum Teil die Bahn des Werkzeugmittelpunktes unmittelbar programmiert, und auf eine nachträgliche BerücKsichtigung des Werkzeugdurchmessers verzichtet, oder man läßt nur Korrekturen sehr kleiner Abweichungen des V'Jerkzeugdurchmessers gegenüber dem*Nenndurchmesser zu. Die Erfindung geht nun von dem Gedanken aus, Interpolationskurven zu verwenden, deren Äquidistanten analytisch gleichartig wie die Interpolationskurven selbst aufgebaut sind. Die Erfindung besteht demnach in einer numerischen Steuerung für Werkzeug-und ähnliche Maschinen, durch die BahZien in durch Programmeingabemittel festgelegten Abschnitten aufgrund von auf demselben Programmeingabemittel festgelegten Interpolationsfunktionen approximiert werden und bei der eine Korrekturmöglichkeit vorgesehen ist, um in Abhängigkeit von einer durch gesonderte Eingabemittel eingebbaren Werkzeugversetzung eine zu der programmierten Bahn äquidistante Bahn festzulegen, und ist dadurch gekennzeichnet, daß ein Interpolator vorgesehen ist, in welchem für die abschnittsweise Approximation Funktionen verwendet werden, die analytisch gleichartig aufgebaut sind wie ihre Äquidistanten.
  • Dadurch wird erreicht, daß sich die äquidistanten Kurven nur im Wert-cines Funktionsparameters unterscheiden. Die erfindungsgemäß verwendeten Interpolationsiunktionen werden im folgenden einfach "Äquidistanzfunktionen" genannt. Als Spezialfälle sind in ihnen auch Kreis und Gerade enthalten. Die Darstellung im kartesischen, oder im Polarkoordinatensystem bietet keinen Ansatzpunkt für die Gewinnung der Xquidistanzfunktionen. Ihre kennzeichnende Eigenschaft ist nämlich, daß sie konzentrische Krümmungskreise in einander entsprechcnden Punkten besitzen. Die erfindungsgemäßen Äquidistanzfunktionen genügen somit alle dem Schema ,@ f @N) + a t1) Dabei bedeutet den Krümmungsradius,L.den Winkel zwischen der Normalen in dem betri,chteten Punkt und einer beliebigen, festen Geraden g, a eine Konstante, die allein sich mit dem Abstand ändert, also für jede einer Schar von Äquidistanten eine andere ist.
  • Die in Verbindung mit den folgenden Erläuterungen stehenden Figurgn stellen dar:
    Figur 2 ein Stück einer Interpolationskurve in einem rechtwinklig
    . gen Koordinatensystem; .
    Figur 3 einige Beispiele von bevorzugten erfindungsgemäperi Inter-
    polationskurven;
    Figur 4 einige Transformationen ins und 1;
    Figur 5 verschiedene Interpolationskurven durch zwei Punkte;
    Figur 6 eine unbrauchbare Interpolationskurve durch zwei Punkte;
    Figur 7 die Struktur eines erfindungsgemäßen Interpolators;
    Figur B_den Aufbau .einer erfindungsgemäßen Steuerung in sche-
    matischer Form;
    Figur 9 einander entsprechende Stücke einer Grundbahn und einer
    Äquidistanten dazu;
    Im folgenden werden zunWlst die erfindungogemäßen Äquidistanz-
    funktionen sowie einige ihrer möglichen Transformationen und
    Verwendungsfälle mathematisch betrachtet.
    Für die Transformation aus einem y , ,r-System in ein rechtwinkli-
    ges Kcordinatensystem ( x) y-System) gilt gemäß Figur 2, wenn
    die Richtung von g in die positive x-Richtung fällt:
    dx = -da sing _ -@ sing dZ
    dy'= de aosr _ cos "c dV (2)
    mit (1) ergibt sich:
    x = - .@f (Z#) sinT dir + a cosv + c
    y = lf (Z) cosZ' d V + a sinZ` + e (3)
    Diese Funktionen sind also, abgesehen von den Integrationskonstanten c und e, aus zwei Teilen, nämlich einer speziellen Grundkurve, die durch f (@) bestimmt wird, und einem Kreis mit dem Radius a zusammengesetzt. Der Parameter r gibt für zusammengehörige Punkte beider Kurven die Neigung der Normalen an. Durch Änderung von a um &R ergibt sich also die gewünschte Verschiebung jedes Punktes um AR cosi und AR sinV. Mit den folgenden einfachen Ansätzen für f (V) ergeben sich für die erfindungsgemüße abschnittsweise Approximation beliebiger Bahnen besonders geeignete Kurven:
    a) S = a = tonst ergibt Kreise x = xo - a + a cosÜ
    y = yo + a sinV
    b) Y = a + bv' ergibt Äquidistgriten zur Kreisevolvente
    x = x0 - a + a cosg + b (G cosc - sin?)
    y = yo + a sinV + b (C sinG + 'tos ä -1).
    c) = a + b e~ ergibt Äquidistanten zur logarithmischen
    Spirale
    N H
    x = xo - a - 2 + a tos V + -b@ e4 tos (G + '@4 )
    y = yo - 2 + a sinc + b ev sin(V + #)
    2
    d) # = a + b sin z ergibt. Äquidistanten zu,#Zykloide
    x = xo - a + a cosV + # (sin2G - 2V)
    y = yo + a sinV - b (cos2 i - 1) (4)
    In den Gleichungen für x ist xö-a mit c aus-(3) identisch, ebenso ist in den-Gleichungen für y y. mit e identisch. Beispiele der oben bezeichneten Kurven sind in Figur 3 wiedergegeben.
  • Für die Interpolationskurven bestehen noch Variationsmöglichkeiten: Eine Drehung der Kurven um den @Vinkelc(# entsteht durch die Transformation VK- = V - c(. (Gü kann als Winkel zwischen der Bezugsgeraden g und der positiven x-Achse gedeutet werden). Eine solche Drehung bedingt einen etwas größeren Aufwand im Interpolator, gibt aber noch größere Freizügigkeit bei der Anwendung von Interpolationskurven.
  • Bei der Transformation V * _ - (Figur 4a) ändert sich gemäß Gleichung (2) nur das Vorzeichen von dy, wodurch eine Spiegelung an der x-Achse hervorgerufen wird. Die Vorzeichen von dx und dy werden durch die Transformation r x-- = V + i , also durch Drehung um 180o, geändert (Figur 4b);'dGmit ist gleichbedeutend die Transformation = -, was 'auch geometrisch verständlich ist (Figur 4c).
  • Die Beispiele b bis d erfindungsgemäßer Interpolationsfunktionen zeigen Funktionen mit 4 Freiheitsgraden. Sie können beispielsweise durch zwei Funkte und die Richtungen in diesen Punkten bestimmt werden: Für die Funktionen x _ gx .(al by cy 4) und y = gy (a, b, e , v ) seien die Punkte (x" y,) und (x2, y2) mit den Normalenrichtungen i bzw.- yi2 gegeben. Durch Einsetzen in die obigen Gleichungen ergeben sich dann vier Bestimmungsgleichungen für die vier Unbekannten, a, b, c und e. Die Gleichungen sind, da die Winkelfunktionen für i und 7'2 bekannt sind, in den Unbekannten linear und lassen sich somit leicht auflösen.
  • Würde eine Drehung um den Winkelc-teingeführt, so entstünden erheblich kompliziertere Gleichungen, welche die Kreisfunktionen vonczenthielten. Trotzdem wäre eine Lösung noch mit erträglichem Aufwand möglich, wenn von einem dritten Punkt die Abszisse oder Ordinate und die Neigung vorgegeben wären..Würden4 indessen beide Koordinaten, x3 und y3 dieses Punktes vorgeschrieben, so müßten sechs Gleichungen angesetzt werden, welche die Neigung 3 als sechste Unbekannte enthielten. Das gären im allgemeinen aber analytisch nicht lösbare (transzendente) Gleichungen, da sich-nicht eliminieren läßt. Aus dem gleichen Grunde ist es bei dem zuerst betrachteten System mit vier Unbekannten nicht möglich, drei Punkte und eine Richtung oder vier Punkte vorzuschreiben.' Allgemein ist es daher am zweckmäßigsten, eine Funktion mit vier Freiheitsgraden zu wählen, und sie durch die Vorgabe von zwei Punkten und zwei'Neigungen in diesen Punkten zu be=. stimmen. Notfalls müssen die Neigungen beim Programmieren besonders berechnet werden, z.B. bei einer Punktfolge mit Hilfe von Appromaxitionspolynomeri höheren Grades.
  • Die Winkel dürfen nicht modulo 25'u, sondern müssen eindeutig angegeben werden. In Figur 5 beispielsweise nimmt rV, zwischen den Punkten P, und P2 längs der Kurve Ki von V, > 0 auf tV, 2 < 0 ab. Würde anstelle von C2 der Winkel 3 V2 + 21t eingesetzt, so würde eine Kurve in der Art von K2 entstehen.
  • ep Weiterhin ist darauf zu achten, daß S im betrachteten Bereich nicht das Vorzeichen ändert, weil sonst bei in gleichem,Sinne vreiterlaufendem V eine Spitze in der Approximationskurve auftreten würde (Figur 6). Gegebenenfalls ist der Approximationsbereich zu verkleinern,oder eine andere Funktion zu wählen.
  • Im folgenden wird ein für die erfindungsgemäße Steuerung in Frage kommender Interpolator erörtert.
  • Die Äquidistanzfunktionen liegen in Parameterforrm vor. Zum technischen Protlcm hat der Parameter V keinerlei Beziehung; er ist vielmehr eine rein geometrische Hilfsgröße: , Bei der Berechnung dient er als unabhängige Variable, die fortlaufend in kleinen Schritten d7 verändert wird. Wegen der endlichen Größe von dV wird. bei der numerischen Rechnung die Integration durch eine Summation ersetzt. Bei den abhängigen Variablen x und y interessieren allerdings nicht alle zugehörigen Werte, da die Maschinenschritte eine Mindestgröße, beispielsweise 0,01 mm, besitzen, die größer als die vom Winkelschritt d2' hervorgerufene Änderung gewählt wird.-die Änderungen dx und dy werden demgemäß fortlaufend addiert, aber die Maschine erhält immer nur dann einen Vorschubbefehl, wenn die Summe die Grenze eines neuen Maschinenschrittes überschreitet oder, anders ausgedrückt, wenn auf die zugehörige Stelle des betreffenden Registers ein Additionsüberlauf kommt. Für den Bearbeitungsvorgang ist natürlich außer der Bahnform auch die Bahngeschwindigkeit, die aus der Längs-und Querbewegung resultiert, vorzuschreiben. Dadurch wird die Winkelgeschwindigkeit dV/dt,-@d.h. das Produkt aus der Größe und der Frequenz der dT -Änderungen eindeutig festi.-clegt. Aus der Vorschubgeschwindigkeit v = ds/dt = S dc/dt ergibt sich'die Taktfrequenz f = 1/dt = v/f # dz. Auf ihre Erzeugung braucht hier im einzelnen nicht eingegangen zu werden, da Taktgeneratoren allgemein bekannt sind. Es sei nur vermerkt, daß erfindungsgemäß die Abhängigkeit f -1/@ beispielsweise durch Zuschalten von Kgpazitäten in einem Zeitglied, am Grundtaktgcnerator eingestellt werden--kann. Dieses Vdrfah ren ist schon vom Kreisinterpolatorher bekannt, lediglich mit der Unterschied, daß dort y abschnittsweise konstant ist. Die einfachste und flexibelste Bahnberechnung im Interpolator geht von den Differentialgleichungen (2) aus. Hierzu werden zunächst die Koordinaten eines Einheitskreises (sin ~ , cos'?7) berechnet, die dann mit multipliziert werden. Figur 7 zeigt als Beispiel in schematischer Form einen Interpolator mit-der Struktur eines üblichen Digitalrechners; die Speicherinhalte des Speichers Sp lassen sich bei diesem von außen einstellen und mit Hilfe eines Rechenwerkes RVl und eines ,, Steuerwerkes Stt'! verknüpfen. Sp* stellt eine Gruppe von Pufferspeicherregistern dar. Von den einzelnen Speicherinhalten ., wird später noch die Rede sein.
  • Die Veränderungen des Einheitskreises (sinV , cos c) als ' folge der Winkeländerung d Z sind d(sinc ) = cosV dV d(cosIC) = -sinc dV Mit dV als Zehnerpotenz 10-n (bzw. Zweierpotenz 2 n bei dualer Struktur) sind zur Ausführung lediglich Additionen mit Stellenverschiebung erforderlich: Werden sint und cos V z.23. fünfstellig ausgewertet - der maximale Radius kann dann 99 999 r -Einheiten sein - und wird dV = 10-5 gewählt, so ist jede Veränderung.kleiner als die ausgewertete Einheit. Die eigentliche Addition erfolgt also nur in den mit dem Index "r" bezeichneten Restregistern, in dem gewählten Beispiel also in der sechsten bis zehnten Stelle. Eine Änderung d(sin V )
    tritt erst dann nach außen hin in Erscheinung, wenn ein Addi-
    tionsüberlauf auf die kleinste gewertete Stelle (10 5), d.h.
    auf das Hauptregister erfolgt. In den folgenden Gleichungen
    wird die.scm Überlauf die Bezeichnung d(sin") beigelegt, wenn
    d(sinrL ) als tiultiplikator auftritt; durch den Überlauf
    wird nämlich die jeweilige Rechenoperation ausgelöst. Ent-
    sprechendes gilt für die anderen Änderungen (Prinzip des so-
    genannten "Digital Differential Analyser").
    Demgemäß bedeutet (2), nämlich
    dx - - sin.7.` dz'= -S d(cos 7)
    dy = c' cos:' d':_ d(sin
    daß in dem gewählten Beispiel 10-5 von.x subtrahiert
    wird, wenn in dem Register "cos "' ein Additionsübertrag
    auf die Stelle 10 5 erfolgt, und daß 10-5 ' zu y addiert
    wird, wenn in dem Register "sinZ" ein Additionsübertrag
    auf die Stelle 10-5 erfolgt. Wenn konstant ist, wird auf
    diese Weise ein Kreis mit dem Radius 5^ erzeugt. Bei den übri-
    gen Äquidistanzfunktionen ändert sich dagegen um endlich
    kleine Schritte dy . In den.Beispielen a) bis d) erfindungs-
    gemäßer Interpolationsfunktionen ist
    dr = 0 für i = a = const (a)
    die ^ b d V für = a + b t'_ . (b)
    d@ = ( - a) dTfür@= a + b ev (c) dS = b d(sinT) fürs = a + b sint' (d) . (5) Der erfindungsgemäße Interpolator kann daher durch einfache Varianten im Ablaufprograsan@auf Kreise und verschiedene Äquidistanzfunktiorien eingestellt werden, daneben aber auch auf Geraden mit dx = cosd, dV und dy = sind. d V.
  • Das Steuerprogramms muß für jedes Kurvenstück folgende Daten enthalten: Die Art der Kurve; Die kennzeichnenden Größen im Anfangspunkt (Krümmungsradius , b oder (@ - a) je nach Art der Funktion und zweckmäßigerweise sin Va und cos ä); Daten für den Endpunkt (x e und y. oder 4x und ay je nachdem, ob mit absoluten oder mit fortlaufenden Maßen gearbeitet wird).
  • für diese Größen sind zweckmäßigerweise Pufferspeicher vorgesehen, damit beim Übergang zwischen den Kurvenabschnitten keine Unterbrechungen auftreten.
  • Bei der hier durchgeführten1'numerlschen Integration" sind Rundungbfehler praktisch nicht zu vermeiden. Das Problem der Genauigkeit existiert in gleicher Weise bei allen Interpo- . lationsfunktionen und wird deshalb hier nicht besonders behandelt. Es sei nur erwähnt, daß in günstigen Fällen die tatsächlich erzeugte Funktion durch Auflösen der Differenzengleichungen, nach denen der Interpolator arbeitet, exakt erfaßt werden-können, so daß daraus eine maximal zulässige Länge der Interpolationsabschnitte angegeben werden kann. .Andererseits können aus den analytisch integrierten Lösungen. (3)-andere Differenzengleichungen hergeleitet werden, mit denen genauere Lösungen erzielbar sind. Hierbei steigt jedoch ebenso wie bei sonstigen bekannten Verfahren mit höherer Genauigkeit der Aufwand an iiaterial und/oder Redrnzeit erheblich. Rundungsfehler müssen stets hingenommen werden, denn bei der Lösung von Differenzengleichungemrußte an sich die Stellenzahl im Zuge der Rechnung fortwährend anwachsen. Die Fehler, die sich beim Durchlaufen jedes einzelnen Kurvenabschnittes in der Praxis-ein"stellen können, werden jedoch dadurch in engen Grenzen gehalten, daß die Länge der einzelnen Stücke begrenzt ist. Damit sich bei beliebig langen Programmen diese Fehler nicht aufsummieren können, muß der Endpunkt eines Jeden Abschnittes unbedingt durch seine Koordinaten - nicht etwa durch YJinkelfuntionen - festgelegt werden. Der Rechnungsgang ist am Schluß jedes Interpolationsabschnittes in jedem Fall so zu modifizieren, daß der Endpunkt tatsächlich erreicht wird. Auch dieses Problem tritt bei jeder numerischen Bahnsteuerung in Erscheinung und kann auf eine der bekannten Arten gelöst werden, so daß hier nicht näher darauf eingegangen werden muß. In Figur 8 ist ein Beispiel einer erfindungsgemäßen Bahnsteuerung in detaillierterer Form dargestellt, bei welchem auch die Mittel zur Berechnung einer zu der programmierten Bahn äquidistanten Bahn zu erkennen sind. Die Darstellung ist ein Blockdiagramm. Die verbindenden Linien stellen dabei keine Zeitungen im eigentlichen Sinne; sondern Wirkungslinien
    d. z. e
    dar, bei denen/jeweilige Hauptwirkungsrichtung durch Pfeile
    angegeben ist.
  • Es sind zwei Eingabeeinheiten 1 und 2 vorhanden. Durch die erste, 1, die beispielsweise in einem lochstreifenleser besteht, werden alle Daten eingegeben, mit denen die programmierte Bahn festgelegt ist, sowie Daten zur Bestimmung der Vorschubgeschwindigkeit. Die Bahndaten, im betrachteten Fall die Koordinatei differenzen Ax und c;y zwischen dem Anfangs-und dem Endpunkt eines jeden Interpolationsabschnittes, Sinus und Cosinus des Anfangswinkels va und des Endwinkels _-e der Bahnnormalen, der Krümmungsradius der programmierten Bahn im Anfangspunkt @a sowie b bzw.' -@'a - a, die als Parameter in den Gleichungen (5) für d auftreten,. für die betreffende Interpolaticnsfunktion, gelangen von der Eingabeeinheit 1 in eine Gruppe von Pufferspeicherregistern 3 bis 10, wo sie bis zur weiteren Verarbeitung gespeichert werden. Durch die Eingabeeinheit 2, die zum Zwecke der Eingabe insbesondere Drucktasten oder Drehschalter besitzt, wird die Werkzeugversetzung Aß eingegeben und gelangt in das
    Pufferspeicherregister 11.
    Falls :4,R :3- 0 ist, werden die Vierte äx, c,y und @«a in den Re-
    gistern 3, 4 und 10 mit Hilfe des Korrekturrechners 20 durch
    die entsprechenden Werte der korrigierten Bahn zr.x*, L@y*-und
    ;a* ersetzt. Der Inhalt des Registers 9 bleibt in jedem Fall
    unverändert, da AR als weitere Konstante in der Funktion
    f -) + a (Gleichung (1)) auf d-" keinen Einfluß hat.
    Daraus folgt auch, daß in jedem Fall d-* = d.? ist.
    Für j;x* und @iy* gilt nach Figur 9:
    i
    ,_;x* =@c - x a + :'xe = J.x - LR cos va + -1`R cos @:e
    -y* = 2.y + Cya - `ye = @y + L#R sin ja - AR sin ;@e (6 )
    Die Werte Xe und - ye, die gleichzeitig die Werte .`xa und
    des folgenden Interpolationsabschnittes darstellen, können,
    um nicht erneut berechnet werden zu müssen, in Speichern 12
    bzw. 13 gespeichert werden. Dies gilt auch, fall die pro-
    grammierte Bahn zwischen zwei aufeinanderfolgenden Abschnit-
    ten einen Knick aufweist, wenn jeder Knickpunkt - wie es
    ohnehin für die Korrekturrechnung zweckmäßig ist - von vorne-
    herein als Kreis vom Radius 0 programmiert wird.
    Die Pufferspeicherregister 3 bis 6 sowie 9 und 10 stehen mit
    Arbeitsspeichern 14 bis 19 in Verbindung,.deren Inhalt im
    Zuge der Interpolationsrechnung ausgehend von den aus den
    Pufferspeichern stammenden'Anfangswerten schrittvieise ver- '
    ändert wird. .
    Die Interpolationsrechnung gdht in diesem Beispiel aus von
    den Gleichungen (2) : dx* = - da* sin v = - *»sing d V
    dy* = da* cos t = * cos T d,t (2a)
    Dabei ist
    3a * + #dJ*.
    Mit dem Index "" sind dabei sämtliche Größen belegt, in die
    entweder selbst die Versetzung 11R Eingang gefunden hat oder
    die auf solche Grüßen zurückgehen.
    Wie bereits ausgeführt, sind unter d g* sowie d x* und dy*
    bei der hier stattfindenden numerischen Integration keine
    echten Differentiale, sondern Differenzen zu verstehen, de-
    nen endlich große Elementarschritte d ü des i'linkels L zugrunde
    -liegen. In den Registern 14 und 15 werden die Differenzen
    dx* und dy* fortwährend von &x* bzw. Ay* subtrahiert bis
    der Registerinhalt zu 0 wird. Daraufhin wird die Impulsaus-
    gabe für den. betreffenden Interpolationsabschnitt abge-
    brochen, da dann der Endpunkt erreicht ist.
    Die Arbeitsspeicher 14 bis 19 sind aus den früher dargeleg-
    ten Gründen (Addition mit Stellenverschiebung) für die dop-
    pelte Zahl der Stellen n, mit denen die Maschine normaler-
    weise arbeitet,.susgelegt oder es sind Bußerden noch Rest-
    register vorhanden, wie sie in Figur 7 mit der Index "r1' be-
    zeichnet sind.
    Der Inhalt der einzelnen Arbeitsspeicher ist folgender:
    Speicher 16:
    sinT- = Bin Va + id(sinti)
    mit d(sinV) = cosi dZ
    Für cosV wird der augenblicklich im Speicher 17 vorhandene
    Wert genommen.-
    Speicher 17: -
    cos rc = cos t'a + id(cos9)
    mit d(cosi) _ - sini dV
    Für sinV wird der augenblicklich im Speicher 16 vorhandene
    Wert genommen.
    Speicher 18:-
    b oder - a, je nachdem, vrelcher Art die vorge-
    gebene Interpolationsfunktion ist.
    Dabei ist - a = Ya - a. + Yd _ @a - a + Zd P*
    := @'`@ a) di unter Verwendung des zuletzt in
    :l-er I3 befindlichen Wertes g - a.
    * Y * +
    a
    mit- d * = 0
    b4@#i. = b dV
    bz,x@ . = ( - a) d G a aus Spedier 18)
    b b d (s i n c) .
    Dabei tritt d_ (sin Z,) nach den früheren Ausführungen als I,1.ul-
    tiplikator erst in Erscheinung, wenn bei der laufenden Addi-
    ticri von cosc d7 ein Übertrag auf die kleinste gewertete
    ü ü:elle, nämlich 10-x1 erfolgt. Entsprechendes gilt auch
    für die @knderungen dx* und dy* in den Speichern 14 bzw. 15.
    Der Inhalt dieser Speicher ist folgender:
    Speicher 14: .
    Ax* - #-dx* mit dx* = -@ d(cosr)
    Speicher 15:
    A y* - ) dy* rait dy* = @- d (sinV)
    Die eigciitl iche interpolatiorisrechnung wird scmit unmittel-
    bar für die zur programmierten Bahn äquidistante Bahn durchgeführt.
  • Der betrechtete Interpolator kann ohne weiteres euch Geraden erzeugen. Für eine Gerade mit der Neigung lassen sich nämlich die Änderungen dx* und dy* folgendermaßen ausdrücken: dx* = coscc d dy* = sinn, d Diese beiden Ausdrücke weisen eine große formale Ähnlichkeit mit den Ausdrücken (2a) auf, so daß sie leicht in derselben Interpolator gebildet werden können. Für die Vorschubgeschwir_-digkeit v gilt in diesem Falle Dieser Ausdruck ist also mit dem früher erwähnten identisch für den Fall daß@ = 1 gesetzt wird.
  • An den Ausgängen +X und +Y bzw. -X und -Y des Interpolationsrechners erscheint jeweils dann ein Impuls, wenn sich die letzte gewertete Stelle der Speicher 14 bzvr. 15 um eine Einheit ändert. Die an diesen Ausgängen erscheinenden Impulse werden in der angeschlossenen tlaschine, beispielsweise durch Schrittmotoren, in Einheztsvorschubschritte in den betreffenden Koordinatenrichtungeri umgesetzt.
  • In der Anordnung nach Figur 8 ist ferner noch ein Steuerwerk 22 vorgesehen, welchem in der bei numerischen Rechnern üblichen ,leise die Koordination sämtlicher Einzelorgane obliegt, und das den Rechenablauf nach Maßgabe der durch das Programmeingc.bemittel bestimmten Interpolationsfunktion steuert. Weiterhin ist ein Zeitgeber 23 vorhanden, der den bereits erwähnten Taktgenerator enthält. Diesen Taktgenerator wird in der vorher erwähnten Weise der im Speicher 19 vorhandene Wert"> eingegeben, durch den die Taktfrequenz beeinflußt wird. Der Zeitgeber 23 enthält weiterhin Mittel, in denen die Taktfrequenz in bekannter ,leise mit einen der prograrmierten Vorschubgeschwindigkeit proportionalen Faktor multipliziert wird.
  • Grundsätzlich können die erfindungsgemäß auftretenden Rechenoperationen sowohl in der bei Digital-Rechnern üblichen Art, d.h. unter Verwendung von besonderen Speichern, bei- _ spielsweise Magnetkernspeichern oder Laufzeitspeichern, in Verbindung mit einen Rechen- und Steuerwerk oder in beliebiger anderer Weise ausgeführt werden, u.U. auch mit sogenannten Pulsfrequenzmultiplizierern in Verbindung mit Zählregistern. Andererseits kann, wenn genügend schnelle Sch@:ltkygise und Speicher verwendet werden, ein und derselbe Rechner sowohl für die Berechnung der auf Grund'der eingegebenen Versetzung korrigierten Daten als auch für die Interpolaticn selbst verwendet werden. Die Korrekturrechnung bedingt dann allerdings eine - in. allgemeinen unschädliche - kurze Unterbrechung der Impulsausgabe zwischen zwei aufeinanderfolgenden Dearbeitungsabschnitten.

Claims (1)

  1. P a t e n t a n s p r ü c h e 1. @uineris,-:he Steuerung für Werkzeugmaschinen und ähnliche i@,iäschwnen, durch die Bahnen in ,durch Programmeingabemittel festgelegten Abschnitten aufgrund von.auf demselben Programm- e eingaberriittel festgelegten Interpolationsfunktionen mit Hilfe eines Interpolators approximiert werden und bei der eine Korrektur- vorgesehen ist, um in Abhängigkeit von einer durch gesonderte Eingabemittel eingebbaren @,iPerkzeubversetzung eine zu der programmierten Bahn äquidistante Bahn festzulegen, dadurch gekennzeichnet, daß in dem Interpolator für die abschnittsweise Approximation Funktionen verwendet werden, die analytisch gleichartig aufgebaut sind wie ihre Äquidistanten. 2. Steuerung, nach Anspruch 1, gekennzeichnet durch einen Interpolator, der Äquidistanten zu Zykloiden als Interpo- lationsfuni,--tionen verwendet. 3. Steuerunnach einem der Ansprüche 1 oder 2, gekenn- zeichnet durch einen Interpolator, der Äquidistanten zu Kreisevolventen als Interpolationsfunktionen verwendet. :.;-. Steuerun nach einem der vorhergehenden Ansprüche, ge- zennzeichnet durch einen lnterpolator, der Äquidistanten
    zu logarithmischen Spiralen als Interpolationsfunktionen verwendet. 5. Steuerung nach einen der Ansprüche 2 bis 4, gekennzeichnet durch einen Interpolator, der außerdem die Verssendung von Kreisen als Interpolationsfunktionen gestattet. 6. Steuerung nach einem der Ansprüche 2 bis 5, gekennzeichnet durch einen Interpolator, der außerden die Verwendung von Geraden als Interpolationsfunktionen gestattet. 7. Steuerung nach einen der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Interpolation in der Interpolator aufgrund von innerhalb der Steuerung korrigierten Eingabewerten des Programres von vorneherein für die korrigierte Bahn durchgeführt wird. B. Steuerung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Programmeingabe sowie der Ir,-terpolationsrechnung kartesische Koordinaten zugrunle liegen und daß auch die Impulsausgabe entsprechend kartesischen Koordinaten erfolgt. Steuerung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Interpolator nach Art eines Digitalrechners mit Speichern aufgebaut ist. 10. Steuerung nach Anspruch 9, dadurch gekennzeichnet, daß Arbeitsspeicher (16, 17) vorgesehen sind für Sinus und Ccsinus des @"linkels, den die Normale der Interpolationskurve mit einer festen Geraden einschließt, ein Speicher (1£3) für Parameter der Interpolationsfunktionen bzw. solche Daten derselben, aus denen diese Parameter berechnet vierden können, ein Speicher (19) für de:,- Krümmungsradius der Interpolaticnskurve sowie Speicher (1q., 15) in denen die Koordinaten des laufenden Punktes oder die Differenz zwischen den Koordinaten des laufenden Punktes und des Endpunktes eines jeden Interpolationsabschnittes auftreten. 11. Steuerung nach einen der vorhergehenden Ansprüche, gekennzeichnet durch einen Interpolator, in der I,tultiplikationsoperationen durch Additionen mit Stellenverschiebungen ersetzt sind. 12. Steuerung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die Speicher Zählregister sind und daß Multiplikationen durch Pulsfrequenzmultiplizierer durchgeführt werden, deren Ausgangsimpulse in den Zählregistern auflaufen. 13. Steuerung nach einer.. der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Interpolator auch zur Berechnung der korrigierten Eingabedaten, in der Weise Verwendung findet, daß zu Beginn eines jeden Interpolationsabschnittes in den Interpolator zunächst die korrigierten Vierte ermittelt werden und anschließend aufgrund dieser korrigierten Vierte die Interpolationsrechnung durchgeführt wird. 14. Steuerung nach einem der vorhergehenden .Ansprüche, ds@--durch gekennzeichnet, daB Mittel vorgesehen sind, durch welche die Ausgabegeschwindigkeit des Interpolators in Abhüngigkeit von einem durch das Programm eingegebenen Viert sowie vom jeweiligen Krümmungsradius der Interpolationsfunktion gesteuert wird.
DE19651513474 1965-06-15 1965-06-15 Numerische Bahnsteuerung Pending DE1513474A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DES0097629 1965-06-15

Publications (1)

Publication Number Publication Date
DE1513474A1 true DE1513474A1 (de) 1969-10-23

Family

ID=7520869

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19651513474 Pending DE1513474A1 (de) 1965-06-15 1965-06-15 Numerische Bahnsteuerung

Country Status (1)

Country Link
DE (1) DE1513474A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2911376A1 (de) * 1978-03-24 1979-09-27 Toshiba Machine Co Ltd Verfahren und anordnung zur steuerung der ausrichtung eines werkzeugs
EP0319586A1 (de) * 1987-06-24 1989-06-14 Fanuc Ltd. Verfahren zur geschwindigkeitssteuerung einer evolventen-interpolation
EP0328674A1 (de) * 1987-07-30 1989-08-23 Fanuc Ltd. Numerische steuereinheit

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2911376A1 (de) * 1978-03-24 1979-09-27 Toshiba Machine Co Ltd Verfahren und anordnung zur steuerung der ausrichtung eines werkzeugs
EP0319586A1 (de) * 1987-06-24 1989-06-14 Fanuc Ltd. Verfahren zur geschwindigkeitssteuerung einer evolventen-interpolation
EP0319586A4 (en) * 1987-06-24 1990-12-27 Fanuc Ltd Involute interpolation speed control method
EP0328674A1 (de) * 1987-07-30 1989-08-23 Fanuc Ltd. Numerische steuereinheit
EP0328674A4 (en) * 1987-07-30 1990-12-27 Fanuc Ltd Numerical controller

Similar Documents

Publication Publication Date Title
DE2745914A1 (de) Numerische steuerung fuer die treibereinrichtung von schrittmotoren
DE2822346C2 (de) Elektrische numerische Programmsteuerung für Kurbelwellenfräsmaschinen und Kurbelwellen-Schleifmaschinen
EP0477397B2 (de) Verfahren zur Ermittlung von Werkzeugbahnkonturen bei numerisch gesteuerten Maschinen
DE102018007773A1 (de) Numerisches Steuergerät
DE2114225C2 (de) Digitale Funktionsgeneratoranordnung
DE2051432A1 (de) Numerische Werkzeugmaschinen Lageregelemnchtung
DE2052123A1 (de) Digitale Schaltungsanordnung für eine Erosionsmaschine
DE2103049C3 (de) Vorrichtung eines numerisch gesteuerten Folgesystems
DE1513474A1 (de) Numerische Bahnsteuerung
DE2702498B2 (de) Vorrichtung zur numerischen Steuerung des Anfangspunktes des Gewindeschneidvorganges für mehrgängige Gewinde
DE2052161A1 (de) Schaltungsanordnung für eine Elektroerosionsmaschine zum Steuern der relativen Bewegung zwischen mindestens einer Elektrode und mindestens einem Werkstück
DE2828285A1 (de) Verfahren und vorrichtung zur erzeugung und verarbeitung elektrischer impulse
DE2560651C2 (de)
DE2430104C3 (de) Numerisch arbeitende Programmsteuerung
DE2226547B2 (de) Numerisch arbeitende Programmsteuerung für eine Werkzeugmaschine
DE2418360B2 (de) Numerische werkzeugkorrektur bei einer werkzeugmaschinensteuerung
DE1763932B2 (de) Vorrichtung für eine numerisch arbeitende Programmsteuerung
DE2434454A1 (de) Verfahren und vorrichtung zur erstellung und durchfuehrung eines programms an einer numerisch gesteuerten werkzeugmaschine
DE1944058A1 (de) Schaltung zum Zaehlen von Impulsen
DE1763438A1 (de) Elektronische Werkzeugmaschinensteuerung
DE2210376A1 (de) Schaltungsanordnung zur Regelung der Bewegung eines längs eines Wegsegmentes laufenden Elementes
DE2422035A1 (de) Numerisches steuersystem
DE3527488C2 (de)
DE2313707B2 (de) Numerische Lageregeleinrichtung für eine Werkzeugmaschine zum Schneiden eines Gewindes mit sich ändernder Steigung in ein rotierendes Werkstück
DE2928076A1 (de) Steuereinrichtung fuer strickmaschinen