DE1965127A1 - System fuer numerisch gesteuerte Werkzeugmaschinen - Google Patents

System fuer numerisch gesteuerte Werkzeugmaschinen

Info

Publication number
DE1965127A1
DE1965127A1 DE19691965127 DE1965127A DE1965127A1 DE 1965127 A1 DE1965127 A1 DE 1965127A1 DE 19691965127 DE19691965127 DE 19691965127 DE 1965127 A DE1965127 A DE 1965127A DE 1965127 A1 DE1965127 A1 DE 1965127A1
Authority
DE
Germany
Prior art keywords
axis
register
signal
machine tool
signals
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.)
Granted
Application number
DE19691965127
Other languages
English (en)
Other versions
DE1965127B2 (de
DE1965127C3 (de
Inventor
Brenza James Gerald
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1965127A1 publication Critical patent/DE1965127A1/de
Publication of DE1965127B2 publication Critical patent/DE1965127B2/de
Application granted granted Critical
Publication of DE1965127C3 publication Critical patent/DE1965127C3/de
Expired 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/39Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using a combination of the means covered by at least two of the preceding groups G05B19/21, G05B19/27 and G05B19/33
    • 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
    • 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/34Director, elements to supervisory
    • G05B2219/34121Edge generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Description

IBM Deutschland Internationale Büra-MaiAinm GetelUshaft mbH
Böblingen, 23. Dezember 1969 bl-hl
Anmelderin: International Business Machines Corporation, Armonk, N.Y. 10504 Amtl, Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: Docket YO 968 061 System für numerisch gesteuerte Werkzeugmaschinen
Die Erfindung betrifft ein numerisch gesteuertes Werkzeugmaschinensystem für Maschinenwerkzeuge mit jeweils einer oder mehreren Bewegungsachsen, bei dem für jede dieser Bewegungsachsen eine die Länge und Richtung eines geradlinigen Schnittes bestimmende den digitalen Eingabedaten entsprechende Impulsinformation in Befehlspositionssignale umgewandelt wird, deren Phasenverschiebung gegenüber Referenzsignalen der Steuerung der Bewegung des Werkstückes oder des Maschinenwerkzeuges dient.
Es ist bereits bekannt, bei numerisch gesteuerten Werkzeugsystemen Positionsinformation an die Steuerung für jede Achse des Maschinenwerkzeuges in Form von zwei Rechtecksignalen zu legen.
009829/1072
1985127
Eines davon ist das Referenzsignal mit einer vorgegebenen Frequenz, das andere davon ist das Befehlspositionssignal, dessen Phase gegenüber der des Referenzsignales eine Verschiebung aufweisen kann, üiese Phasenverschiebungen stehen mit der relativen gewünschten Bewegung des Werkstückes gegenüber der des Schneidkopfes des Maschinenwerkzeuges in einem unmittelbaren Zusammenhang. Die Steuerungen für das Maschinenwerkzeug umfassen für jede Achse einen Phasendiskriminator, einen Positionsmeßfühler, Verstärker, Signalformer und Bewegungsmittel für das Werkstück oder den Schneidkopf. Alle Achsen des Systems sprechen simultan auf die Phasendifferenz zwischen einem positionsanzeigenden Rückkopplungssignal und dem zugewiesenen Befehlspositionssignal an, um die Bewegung entlang des gewünschten Schnittpfades zu bewirken.
Das Referenzsignal begründet die Zeitgebung für alle Achsen des Maschinenwerkzeuges. Dieses Signal wird Positionsaeöfühlern jeder Achse zugeführt, die ein Rückkopplungssignal erzeugen, welches die exakte Position des Werkzeuges bzw. des Werkstückes angibt. Das Referenzsignal erhält man zumeist über einen einem Referenzzähler nachgeschalteten Trigger; wobei der Referenzzäh- j ler von einem freilaufenden Referenzoszillator gespeist wird· Das Referenzsignal hat eine Frequenz, die gleich der Frequenz des Referenzoszillators geteilt durch die Anzahl der Zählbedingungen des ReferenzZählers ist· Für jede Achse des Maschinenwerkzeuges gibt es einen Achsenpositionszähler, welcher an
009829/1072
Docket YO 968 061
seines Eingang ebenfalls mit dem Referenzoszillator verbunden ist. Zusätzliche Eingänge für jedes Achsenpositionsregister können von einem linearen Interpolator. Diese zusätzlichen Eingänge führen Pulsfolgen, welche eine Abstandsinformation enthalten und Pulse, die eine Richtungsanzeige bedeuten. Abhängig · von der Richtungsanzeige werden entweder die Abstandsinformationspulse zum Inhalt des Achsenpositionszählers addiert oder davon subtrahiert. Das Befehlspositionssignal wird über einen dem Achsenpositionszähler nachgeschalteten Trigger erhalten. Die linearen Interpolatoren dienen der Anzeige des Abstandes durch repetitive Addition. Angenommen, es wäre ein geradliniges Segment in zwei Koordinatenrichtungen zu schneiden, wobei Δχ = 8333 Einheiten und Ay = -6250 Einheiten beträgt. Üblicherweise wurden die ÄX- und ^Y-Werte in relativ gleichförmige Folgen von 8333 und 6250 Pulsen umgewandelt; wobei eine Addition jeder dieser Zahlen in ein separates Vierpositionsregister 10 000 mal erfolgt und die Erzeugung eines Pulses jedesmal bei einem Ober- | lauf eintritt· Wenn die gewünschte Maschinenwerkzeuggenauigkeit 0,1 ail (d.h.,' jede Einheit = 0,1 mil) ist und die maximale Bewegungsgeschwindigkeit des Maschinenwerkzeuges fünf Zoll pro Sekunde beträgt, so würde für jede Bewegungsachse des Maschinenwerkzeuges der lineare Interpolator benötigt werden, um 50000 Additionen pro Sekunde zu ermöglichen und die Steuersignale zu erzeugen, die die Maschine in die Lage versetzen, mit nahezu ■maximaler Bewegungsgeschwindigkeit zu arbeiten. Im Falle des oben gegebenen Beispieles würden 20000 Additionen (10000 für jede
009829/1072
Docket YO 968 061
der X- und Y-Achsen erforderlich sein, um in 2/10 Sekunden zu bewirken, was die Maschine mit ihrer Maximalgeschwindigkeit, arbeitet. Der Nachteil dieser bekannten Systeme hängt mit der Geschwindigkeit, mit welcher arithmetische Operationen ausgeführt werden müssen, zusammen. Wenn das Maschinenwerkzeug nahe seiner maximalen Bewegungsgeschwindigkeit arbeitet, wird es unpraktisch sein, einen programmierbaren Computer für die Interpolationszwecke zu benutzen. So würde z.B. eine Dreiachsenmaschine mit einer Arbeitsgenauigkeit von 0,1 mil und einer maximalen Bewegungsgeschwindigkeit von fünf Zoll pro Sekunde einen Interpolator erfordern, welcher 150000 Additionen pro Sekunde (50000 Additionen pro Sekunde für jede Achse) ausführen könnte. Wenn ein Allzweckcomputer als Interpolator benutzt würde, ist es naheliegend anzunehmen, daß die letzten fünf Programmschritte für jede Addition dafür verwendet würden, um Verfolgen zu können, welche Achse gerade in Aktion ist und um verschiedene Üblich anfallende Aufgaben zu erledigen. Aus diesem Grunde müßte ein AlIzweckcomputer 750000 Programmschritte pro Sekunde ausführen können, um ein Maschinenwerkzeug zu steuern. Das ist auch der Grund dafür, daß bei den bekannten Systemen eine Spezialzweckmaschine für die Interpolation herangezogen wird. Derartige Spezialinterpolatoren sind aber sehr teuer und außerdem würde für jedes Werkzeug des Systemes einer dieser Spezialinterpolatoren erforderlich sein.
Andere Nachteile der bisher bekannten Werkzeugmaschinensysteme Docket YO 968 061 009829/1072
liegen in der Datenverfälschung durch Störungen. Das Vorhandensein einer Störung auf einer Übertragungsleitung kann dazu führen, daß das System vorhandene Pulse nicht anerkennt oder das System die Störungen selbst als Pulse wertet. Diese Umstände können dazu führen, daß die Genauigkeit der Werkstückbearbeitung gegenteilig beeinflußt wird. In einigen der bekannten Systeme wurde deshalb dieses Störungsproblem dahingehend gelöst, daß die Auflösungsgenauigkeit größer als die für die Werkstückbe- . " arbeitung geforderte Genauigkeit ist. Eine solche Lösung ist aber hinsichtlich der damit verbundenen ansteigenden Kosten des Maschinensystemes als nachteilig zu werten. Der Erfindung liegt deshalb die Aufgabe zugrunde, ein numerisch gesteuertes Werkzeugmaschinensystem zu schaffen, bei dem diese Nachteile nicht auftreten.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß ein die digitalen Eingabedaten aufnehmender Generator zur Erzeugung i von den Zeitpunkten des Anstiegs und Abfalls des Pegels eines Befehlspositionssignales entsprechenden Zahlenwerten vorgesehen ist, welche jeweils zur zwischenzeitlichen Speicherung einem jeweils einer Bewegungsachse eines Maschinenwerkzeuges zugeordneten Achsenpositionsregister zuführbar sind und daß Vergleichsschaltungen vorgesehen sind, an deren Ausgang immer dann ein Signal für die Übertragung des den nächsten geradlinigen Schnitt kennzeichnenden neuen Zahlenwertes von dem Generator in das entsprechende Achsenpositionsregister und für die Ansteue-
Docket YO 968 061 009829/1072
rung einer bistabilen den Fegelwechsel des Befehlspositionssignales bedingenden Kippschaltung abnehmbar ist, wenn der Inhalt des Achsenpositionsregisters mit dem eines von einem Referenzoszillator gespeisten Referenzzählers übereinstimmt und daß die Referenzsignale und die Befehlspositionssignale in bekannter Weise Schaltungen zur Servosteuerung der Maschinenwerkzeuge zuführbar sind·
In einer weiteren Ausgestaltung der Erfindung erweist es sich als vorteilhaft, daß der Referenzzähler als Dezimalzähler ausgeführt ist und daß diesem Referenzzähler zur Erzeugung der Referenzrechtecksignale ein Trigger nachgeschaltet ist.
Außerdem sind in vorteilhafter Weise erfindungsgemäß zur Bestimmung der den Zeitpunkt des Anstiegs und Abfalls des Pegels der Befehlspositionssignale entsprechenden Zahlenwerte ein die niederfrequenten Rechenoperationen ausführender Allzweckdigitalcomputer und eine separate die hochfrequenten Rechenoperationen ausführende Additionschaltung vorgesehen.
Diese Additionschaltung ist in vorteilhafter Weise so ausgeführt, daß zur Speicherung der Rechenwerte für die Additionsschaltung ein Pufferspeicher vorgesehen ist, dessen Daten unter Steuerung eines Adressregisters in ein Speicherpufferregister und von dort aus direkt und über ein Speicherregister einem Addierwerk zuführbar sind, dessen Ausgang wiederum über das
Docket YO 968 061 009829/1072
Speicherpufferregister mit dem Pufferspeicher verbunden ist.
Nach einer weiteren Ausgestaltung der Erfindung sind Möglichkeiten für die Untersetzung der Vorschubrate in vorteilhafter Weise dahingehend vorgesehen, daß zwischen dem Referenzoszillator und dem Referenzzähler ein durch über ein Register steuerbarer Impulsuntersetzer geschaltet ist und/oder daß eine Reihe manuell ansteuerbarer Triggerschaltungen mit jeweils unterschiedlicher Untersetzung vorgesehen sind.
Docket to 968 061 0098 29/1072
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher beschrieben:
Es zeigen:
Fig. 1 ein schematisches Blockdiagramm einer numerisch gesteuerten Werkzeugmaschine als Stand der Technik,
Fig. 2 ein schematisches Blockdiagramm der erfindungsgemäßen numerisch gesteuerten Werkzeugmaschine,
Fig. 3 Einzelheiten der Servo-Steuerungen für die Darstellungen in den Fign. 1 und 2,
Fig. 4 einen schematischen Verlauf eines Referenzsignales und zweier Befehlspositionssignale (BSA, BSB),
Fig. 5 eine Hilfsdarstellung zur Erleichterung des Verständnisses für die Erzeugung von Zahlenwerten, die die Zeitpunkte des Anstiegs des Pegels eines Befehlspositionssignales kennzeichnen. (Diese Zahlenwerte werden im folgenden Impulsflankenzahlen IFZ genannt).
Fig. 6 eine Hilfsdarstellung zur Erleichterung des Verständnisses, wie die IFZ-Korrektur zu Beginn eines
Docket YO 968 061 0 0 9 8 2 9/1072
neuen Schnittes durchgeführt wird,
Fig. 7 ein schematisches Blockdiagramm für die drei Hauptuntersysterne,
Fig. 8 ein Programmabiaufρlan für den Algorithmus der Erfindung,
Fig. 9 ein schematisches Blockdiagramm für das IFZ-Generator-Untersystem,
Fig. 10 ein schematisches Blockdiagramm des Phase-Analog-Unter systems,
Fig. 11 ein schematisches Blockdiagramm des Zyklus-Steuer-Untersystems,
Fig. 12 ein schematisches Blockdiagramm für die Untersetzung der Vorschubrate,
Fig. 13 ein schematisches Blockdiagramm eines Schaltkreises für die manuell bewirkbare Vorschubrateneinstellung,
Fig. 14 ein schematisches Blockdiagramm eines servogesteuerten Werkzeugmaschinensystems mit digitaler Rückkopplung, welches nach weiteren Gesichtspunkten der Erfindung
Docket YO 968 061 009829/1072
- ίο -
konstruiert wurde.
Fig. 1 zeigt ein Blockdiagramm für ein bereits bekanntes numerisch gesteuertes Werkzeugmaschinensystem. Der Interpolator I nimmt numerische Daten auf, welche den Bewegungsabstand jeder Achse für einen vorgegebenen geradlinigen Schnitt repräsentieren. Aus diesen Daten wird für jede Bewegungsachse eine Folge von Pulsen erzeugt; wobei jeder Puls ein Bewegungsinkresent darstellt. Außerdem erzeugt der Interpolator auch ein Signal für die Bewegungsrichtung. Der Referenzoszillator 2 liefert Signale an einen Referenzzähler 3, an dem ein Trigger zur Erzeugung von Referenzrechtecksignalen auf der Leitung 4 angeschlossen ist. Ebenso wird der Ausgang des Referenzzählers 2 auch auf den X-Achsenzähler 5 und dem Y-Achsenzähler 6 geführt. (In einer Maschine mit mehr als zwei Achsen wären entsprechend weitere Zähler vorzusehen). Der Interpolator liefert an den X-Achsenzähler 5 X-Pulse und Richtungssteuersignale (RSS) und an den Y-Achsenzähler 6 Y-PuIse und ebenfalls Richtungssteuersignale· Die von dem Interpolator empfangenen Impulse werden von dem betreffenden Zählerstand addiert oder substrahiert, so wie es im Zusammenhang mit den vorgegebenen Richtungssteuersignalen t erforderlich ist. Der Trigger des X-Achsenzählers wird zur Erzeugung eines X-Befehlspositionsrechtecksignales auf der Leitung 7 benutzt, der Trigger des Y-Achsenzählers zur Erzeugung eines Y-Befehlspositionsrechtecksignales auf der Leitung 8· Das' Referenzsignal auf der Leitung 4 und die Befehlspositionssignale
Docket YO 968 061 Q09829/1072
(X BPS, Y BPS) auf den Leitungen 7 und 8 werden den Servosteuerungen 9 für das Maschinenwerkzeug zugeführt. Dort wird aufgrund der sich ändernden Phasendifferenz zwischen dem Befehlspositionssignal und den Referenzsignal eine Steuerinformation zum Antrieb eines beweglichen Schlittens erzeugt. Der Block 9 umfaßt Phasendiskriminatoren, Positionsabfühler, Verstärker, Signalformer und Mittel zur Bewegung des Werkstückes oder des Werkzeuges* Λ Diese zuletzt genannten Dinge sind bereits bekannt und werden aus diesem Grunde nicht näher beschrieben.
Fig· 2 zeigt das erfindungsgemäße numerisch gesteuerte Werkzeugmaschinensystem. Teile dieses Systemes können identisch sein mit Teilen, wie diese bereits in bekannten Systemen benutzt werden: z.B. der Referenzoszillator 2, der Referenzzähler 3 und die Servosteuerungen 9 für das Maschinenwerkzeug. Das erfindungsgemäße System enthält einen Generator zur Erzeugung der IFZ (Impulsflankenzahlen), welche die zeitliche Position der Vor- ( der- und Rückflanke eines Befehlspositionsrechtecksignales repräsentieren. Außerdem sind ein X-Achsenpositionsregister 11 und Y-Achsenpositionsregister 12 zur Speicherung der IFZ vorgesehen· Mit jedem dieser Achsenpositionsregister ist eine Vergleichseinheit 13 bzw. 14 verbunden, an die jeweils ein binärer Trigger IS bzw. 16 zur Erzeugung der Befehlspositionssignale (X BPS, Y BPS) angeschlossen ist.
Dem IFZ-Generator IO werden numerische Daten zugeführt, welche Docket YO 968 061 0 0 9 8 2 9/1072
den Bewegungsabstand für jede Achse des Maschinenwerkzeuges für einen vorgegebenen geradlinigen Schnitt darstellen. Der Generator
10 erzeugt diesen numerischen Daten entsprechend eine Serie von IFZ, welche in den an den Generator 10 angeschlossenen X-Achsenpositionsregister 11 bzw. Y-Achsenpositionsregister 12 zwischenzeitlich gespeichert werden. (In Maschinensystemen mit mehr als zwei Achsen müßten entsprechend auch mehrere Achsenpositionsregister vorhanden sein). Der Inhalt des X-Achsenpositionsregisters
11 wird durch eine Vergleichsschaltung 13 mit dem Inhalt des ReferenzZählers 3 für jeden durch den Oszillator 2 erhöhten Zählerstand verglichen. Sobald der Vergleich auf gleich lautet, wird ein Ausgangssignal des Vergleichers 13 auf den Trigger 15 eine Umkehr des Triggerstatus bedingen. Außerdem wird das Ausgangssignal der Vergleichsschaltung 13 auch auf den Generator 10 geleitet, um diesen zu veranlassen, die nächste IFZ-Zahl für
•den folgenden Schnitt im X-Achsenpositionsregister 11 zu platzieren. Am Ausgang des Triggers 15 tritt das X-Befehlspositionssignal (X BPS) auf. Entsprechendes gilt natürlich auch für den Vergleich des Zählerstandes des X-Achsenpositionsregisters 12 durch die Vergleichsschaltung 14 mit dem Zählerstand des Referenzzählers 3. Diese Vergleichsschaltung 14 erzeugt dann ein Ausgangssignal, wenn der Vergleich auf gleich lautet, dieses Ausgangssignal wird sowohl dem Generator 10 als auch dem Trigger 16 zugeführt, wodurch ein Pegelwechsel des Befehlspositionssignales (Y BPS) bedingt wird. Die an den Ausgängen der Vergleicherschaltungen 13 bzw. 14 auftretenden Signale werden dazu benutzt,
Docket YO 968 061 0 0 9 8 2 9/1072
dem Generator 10 anzudeuten, daß neue IFZ für den folgenden auszuführenden Schnitt an die entsprechenden Achsenpositionsregister zu liefern sind·
In Fig. 3 sind zusätzliche Einzelheiten der Servosteuerungen 9 für ein Maschinenwerkzeug 19 gezeigt. Wie aus dieser Fig. 3 hervorgeht, wird das Referenzsignal einem Signalformer 17 zugeführt, welcher daraufhin Zeitsignale an die Positionsmeßfühler 18 für jede Achse des Maschinenwerkzeuges liefert. Diese Positionsmeßfühler geben Signale ab, die der tatsächlichen Position des Maschinenwerkzeuges entsprechen. Für jede Bewegungsachse des Maschinenwerkzeuges gibt einen Positionsmeßfühler, dessen Positionsausgangssignal über einen Signalformer auf einen Phasendiskriminator 21 geführt wird. Dieser Phasendiskriminator 21 empfängt an seinem zweiten Ausgang das Befehlspositionssignal. Beide Signale, sowohl das aktuelle vom Positionsmeßfühler gelieferte Positionssignal und das Befehlspositionssignal werden im Phasendiskriminator 21 miteinander verglichen, der ein der Phasendifferenz entsprechendes Ausgangssignal abgibt. Das Phasendifferenzsignal wird über den Verstärker 22 der Servoantriebssteuerung 23 zugeführt, welche auf den eigentlichen Servoantrieb 24 wirkt, um die entsprechende Achsenbewegung für das Maschinenwerkzeug zu veranlassen. Obwohl zuvor nur die Steuerung für die X-Achse beschrieben wurde, gelten diese Ausführungen im übertragenen Sinne für jede andere Achse der Maschinenwerkzeugsteuerung. Die Bewegung einer Werkzeugachse hört dann auf, wenn das
Docket YO 968 061 0 0 9 8 2 9/1072
Rückführsignal auf der Leitung 25 in Phase mit de« Befehlspositionssignal ist.
In Systemen dieses Typs, bei denen der einem Zähler nachgeschaltete Trigger ein Rechtecksignal erzeugt» läßt sich besonders vorteilhaft ein Zähler verwenden, der für dezinale Operationen mit einem 5 4 2 1 Code oder für Binäroperationen mit einem Binärcode arbeitet.
Der Grund für die Verwendung eines Dezimalzählers für den Referenzzähler ist der, daß der Hochwerttrigger bei Überschreitung der Hälfte der maximal zulässigen Zählerstufen seinen Zustand ändert (0 oder 1). Bei einem Dreidekadenzähler, welcher die Zahlen von 0 bis 999 repräsentieren kann, wird der Hochwerttrigger der dritten Dekade im O-Status sein, wenn der Zählerstand die Zahlen 0 bis 499 umfaßt und er wird in seinem 1-Status sein, wenn der Zählerstand von 500 bis 999 reicht. Die eine Ausgangsleitung des Hochwerttriggers wird ein Rechtecksignal führen, das eine Frequenz aufweist, welche 1/1000 der des Referenzoszillators beträgt. Darüber hinaus können im Zusammenhang mit dieser Erfindung auch andere brauchbare Zähler verwendet t werden. Im folgenden wird der Algorithmus beschrieben, der der Arbeitsweise des erfindungsgemäßen numerisch gesteuerten Werkzeugmaschinensystemes zugrunde liegt. Dazu sei angenommen, daß das Referenzsignal systematisch den Stand des ReferenzZählers zwischen den Werten 0 und 5000 verändert. Wenn die Werte
Docket YO 968 061 009829/1072
(1) 500 *€
(2) 2€
(3) 500 + 3£
aufeinanderfolgend im Achsenpositionsregister A plaziert wurden, dann würde ein Phasenshift von £, 2£, und 3f für die drei aufeinanderfolgenden Flanken des Signales A eintreten. Ebenso könnte die Phasenverschiebung auch in der umgekehrten Richtung auftreten, wie bei dem Signal B
(1) 500 -E
(2) 1000 -2C
(3) 500 -3ff
Fig« 4 zeigt das Referenzsignal und die Befehlssignale A und B.
Das Problem der Steuerung jeder Achse des Maschinenwerkzeuges besteht insbesondere darin, die IFZ aufeinanderfolgender Befehlspositionssignale im Zusammenhang mit der gewünschten Geschwindigkeit, Präzision und Richtung des Schnittweges vorauszusehen, um diese IFZ-Werte zu den entsprechenden Zeiten in den Achsenpositionsregisters zu plazieren.
Dazu seien zunächst zwei Zähler berücksichtigt, die mit verschiedenen Zählfrequenzen arbeiten:
N s Zählrate vom Zähler Nr. 1 N * Zählrate vom Zähler Nr. 2 E| * N * t s momentaner Zählerstand vom Zähler Nr. 1
Docket YO 968 061 009829/1072
-ΙΟl·' = N * t. - momentaner Zählerstand vom Zähler Nr. 2 i 2
t = Zeit
angenommen H1 -£:: N2 N * t = (N2 . t)+ h
•f S ™ .
t. ist der Zeitwert, zu dem die beiden Zähler den gleichen Rand aufweisen (bei einem Anfangswert h für den langsameren Zähler).
Bei Gleichheit der Zählerstände ist
N1
E=E = N1 ' t = h * TT——ϊτ-1 2 1 ~ 2
Das in Fig. 5"gezeigte Achsenpositionssignal mit der bekannten Abweichung genügt folgender Gleichung:
NR
E = h * — CD
B l1 N + N.
w Ri
dabei bedeuten:
E... = erste IFZ, welche im Positionsregister zu
Beginn des Schnittvektors für die i.te Achse zu plazieren ist,
h = konstant = mittlerer Zählerstand des Referenzzählers
N = konstant = Frequenz des Referenzoszillators
Docket: YO 968 061 0 0 9 8 2 9/1072
- - 17 -
M. a normalisierter Wert der i.ten Achse für den
Schnittvektor (Achsengeschwindigkeitskomponente siehe Seite ). Das Zeichen N. ist das gleiche wie das Achsenrichtungszeichen (-vorwärts; + Umkehr) .
Gleichung 1 dient der Berechnung der ersten IFZ, unter der Annahme des a-typischen Falles, in welchem das Befehlspositions-. ™ und das RefererizTechtecksignal anfänglich zum Zeitpunkt des Startes eines neuen Schneidvektors in Phase sind. Im allgemeinen ist E... die Abstandsgröße für eine auf die erste -Impulsflanke folgende Impulsflanke. Deshalb können die Flankenzahien des Schneidvektors durch Addition von E.. zum vorausgehenden Flankenwert erfolgen.
Ei2 = Ei1 + Ei1
Ei5 - Ei2 + Ei1
Ei4 = Ei3 + Ei1 I
E. , . = E. , +E11 (2)
i(n) i(n-1) i1 *· J
Für die Erzeugung sukzessiver Flankenwerte ist:
Ei(n) = " X Ei, C31
Gleichung 2 wird jedoch gegenüber Gleichung 3 bevorzugt angewendet, da eine Addition gewöhnlich einfacher auszuführen ist, als eine Multiplikation.
Docket YO 968 061 0 0 9 8 2 9/1072
In den Gleichungen 2 oder 3 wird der ganzzahlige Teil der errechneten Flankenzahl benutzt, wobei der ganzzahlige Oberlaufteil und die Bruchteile bezüglich der Speicherung in den Achsenpositionsregistern vernachlässigt werden.
Die Bruchteile werden deshalb nicht benutzt, weil das Servosystem für eine vorher festgelegte Vorschubgenauigkeit konstruiert ist, bei der diese Bruchteile unberücksichtigt bleiben können. In diesem Beispiel beträgt die Vorschubgenauigkeit 0,1 mil. Die vernachlässigbaren Bruchteile geben Positionsbestimmungen außerhalb der Genauigkeit von 0,1 mil an und sind deshalb für die Servosteuerungen auch nicht erforderlich. Dessen ungeachtet können aber auch Servosysteme mit höherer Vorschubgenauigkeit konstruiert sein. In einem solchen Falle müßten auch die Bruchteilkomponenten der IFZ zur Steuerung benutzt werden. Um die bei aufgelaufenen Abrundungsfehlern in Frage gestellte gewünschte Genauigkeit nicht zu gefährden, werden die Bruchteile der IFZ in aufeinanderfolgenden Reihen mit übertragen.
Die aufgrund eines evtl. Überlaufes nicht benutzten Teile der errechneten IFZ brauchen in diesem System nicht benutzt zu werden, i/eil ein zusätzliches Servosystem angenommen wurde. Ein solches Servosystem bedient sich eines Führungsgewindes für die Positionssteuerung jeder Achse (0 bis 999 steuerbare Positionen pro Umdrehung). Die Pos itionssteuerung für die eigentliche Rotation wird extern zum Servosystem für die schrittweise
Docket YO 968 061 009 829/1072 eAo ORIGINAL
arbeitenden Servos oder mit einer zusätzlichen Logik für absolute Servosysteme durchgeführt. Im letzteren Fall könnte der Oberlaufteil für eine IFZ in einer direkten Servosteuerung benutzt werden. Der Hauptfall für die Erzeugung des ersten Flankenwertes für den neuen Schnittvektor tritt dann ein, wenn das Befehlspositions- und das Referenzrechtecksignal außerphasig sind bezüglich benachbarter Schneidvektoren oder während eines durch manuelle Übersteuerung hervorgerufenen Geschwindigkeitswechsels für einen Schneidvektor. In diesen Fällen ist eine Ausrichtung auf die erste Impulsflanke des neuen Schneidvektors erforderlich.
In Fig. 6 wurde angenommen, daß der Geschwindigkeitswechsel zu einem Zeitpunkt T eintritt. Eine solche Bedingung kann dann auftreten, wenn die Werkzeugmaschine gestartet oder gestoppt wird, wenn ein früherer Schneidvektor ausgeführt oder ein neuer Schneidvektor begonnen wird, verbunden mit einem Achsengeschwin- ( digkeitswechsel oder wenn in einem Schneidvektor ein unvorhergesehener Vorschubratenwechsel auftritt.
In Fig. 6 bezeichnet die Größe E. die auf einen vorausgehenden Schneidvektor nächstfolgende Impulsflanke, E., . die Ab-
i CnJ
schlußflanke des vorausgehenden Schneidvektors und E- , n+^\ die theoretisch mögliche Position für die auf die Zeit T folgende Flanke unter der Annahme, daß kein Geschwindigkeitswechsel erfolgt. Das Problem liegt dann in der Erzeugung einer dieser be-
Docket YO 968 061 009 8-2 9 / 1-0 7 2,
nachbarten Flankenposition E1., ... oder E. ., je nach dem, ob die Geschuindigkeit anwächst oder abfällt.
Das Verfahren für die Erzeugung dieser Werte liegt darint zunächst, eine Subtraktion des Teiles des Phasenshiftes zu E. ,·n+f) durchzuführen (diese Größe ergab sich nach der Zeit TQ aufgrund des vorausgehenden Schneidvektors) und dann eine Addition einer Phasenshiftkomponente durchzuführen, die auf der neuen Geschwindigkeit nach TfJ basiert, so daß sich folgende Beziehung ergibt:
N,
N + N. R ι
LNR
C4)
In Gleichung 4 wird die Größe E.
N +N4
R *■
durch Auflösen
der Gleichung 1 für ein theoretisches h erhalten, welches ergeben würde den Wert für E . Der theoretische Wert von h würde der korrekte Wert für E1Jfn+I") ^"r N' = ^ folgend auf T sein. Der zweite in eckige Klammern eingeschlossene Term in Gleichung 4 ist ausgerichtet auf eine theoretische Flankenposition, basierend auf dem neuen Wert Nf· durch erneutes Anwenden von Gleichung 1,
Die Gleichung 4 könnte auch folgendermaßen geschrieben werden:
(5)
Nf,
1 +
Docket YO 968 061
009829/ 1 072
8AO ORIGINAL
- 21 In dieser Gleichung sind N. und N1. normalisierte Geschwindig-
X X
keitskomponenten der i.ten Achse vor und nach einem Geschwindig· keitswechsel und NR ist die Frequenz des Referenzoszillators (250 kHz). In Gleichung 1 basieren die Zeichen N-, N*. auf der Richtung (- Vorwärtsbewegung, + Rückwärtsbewegung) .
Auf E'w n folgende Flanken sind dann durch Summierung des festen Flankeninkrementwertes E'.. erzeugt, bis das Ende des Schnittes erreicht ist oder bis der nächste Geschwindigkeitswechsel erfolgt, E1υ wird nach Gleichung 1 errechnet für den neuen Wert N1.. Für aufeinanderfolgende Flankenwerte ergibt sich dann:
Die entsprechenden Größen sind in den Gleichungen 4 und 5 benutzt worden, um zwischen den alten und den neuen Schneidvektorwerten zu differenzieren.
Die Normalisierung ist hauptsächlich deshalb erforderlich, um die Schneidvektorparameter zu modifizieren hinsichtlich einer gleichförmigen Werkzeuggeschwindigkeit, die unabhängig von den Bewegungsabs bänden ist. Deshalb ist der zusätzliche Bewegungsabstand für jede Achse gegeben durch die Eingabedaten als:
X = zusätzliche X-Bewegung
Y = zusätzliche Y-Bewegung (6J
Z = zusätzliche Z-Beiiregung
Docket YÜ 968 061 009829/1072
Jedes Displacement wird angegeben in Einheiten der gewünschten Werkatückgenauigkeit (d.h., eine Einheit = 1/10 mil, 1/100 mil, etc.). Der Bewegungsabstand für einen Schneidvektor (D) für ein Dreiachsenwerkzeug mit linearen Displacements von jeder Achse ist:
D = VX2 + Y2 + Z2 (7)
Der Parameter ψ ist definiert als:
V (8)
vt·
Es bedeuten:
y = Werkstückkonstante = Maximumrate der Phasensignalverschiebung entlang des Schneidvektors (Phaseneinheiten/Sekunde)
Vm = maximale (effektive) tangentiale Geschwindigkeit an der Schneidoberfläche (inch/Sekünde)
P = WerkzeugVerschiebung pro Phaseneinheit
(inch/Phaseneinheit) und deshalb gleich der Präzisionsspezifikation; die Präszisionsanforderung kann variiert werden, um eine Toleranz· Spezifikation für die einzelnen Teile zu erhalten.
Die Bewegungsdistanz (D), dividiert durch die Phasengeschwindigkeit (^) ergibt die Sehneidausführungszeit.
Docket YO 968 061 009829/1072
T = Schnittausfülirimgszeit bei normaler Werkzeuggeschwindiglceit.
Die Rechtecksignale werden benutzt, um dem Servosystem Positionsdaten mitzuteilen. Die Frequenz dieser Signale ist für eine Werkzeugmaschine fest vorgegeben. Der Steuerparameter R, der erforderlich ist, um die Schnittvervollständigung festzusetzen, bestimmt sich zu:
R = f · T (10)
lis bedeuten:
R = Anzahl von Perioden der Referenzsignale, die
erforderlich sind für die Ausführung eines Schnittes bei normaler Geschwindigkeit
f = Referenzsignalfrequenz
T = Schnittzeit in Sekunden ^
Da der Schnitt in einer Zeit ausgeführt werden muß, die einer ganzzahligen Größe von Referenzsignalperioden besteht, muß R als Integer bestimmt werden. Die sich ergebenden Bruchteile nach Gleichung 10 werden deshalb vernachlässigt oder auf den nächsthöheren ganzzahligen Wert aufgerundet. Mit dem ganzzahligen Wert von Ir| wird
UM (11)
T. . —
Docket Yü 968 061 009829/1072
wobei T1 gewöhnlich aus Gleichung 10 durch einfache Division durch f bestimmt wird.
Jetzt ist es möglich, die normalisierte Phasenshiftgeschwindigkeitskomponente für jede Achse auf einfache Weise zu erzeugen:
X
NX = ~T'
Y T1
oder zusammengefaßt
I ist der zusätzliche Bewegungsabstand für die Achse i. Die N.-Werte sind erforderlich in den Gleichungen 1, 4 und 5 für die Erzeugung der Flanken der Befehlspositionssignale. Der Wert von R errechnet sich nach Gleichung 10. Er wird benutzt durch die Steuerlogik, um den Zeitpunkt TQ festzusetzen (siehe Fig. 6, Schnittende). Bei Benutzung des erfindungsgemäßen Werkzeugmaschinensystems für eine dynamische Steuerung des Werkzeugmaschinenrevolverkopfes sind drei Untersysteme erforderlich: Ein Untersystem zur Erzeugung der Impulsflankenzahlen; ein Phasen-Analog-Untersystem und ein Untersystem für die zyklische Steuerung.
i-ocket YO 968 061 009 829/107 2
BAD ORIGINAL
Fig. 7 zeigt in einem schematischen Blockdiagramm, in welcher Art und Weise die drei Untersysteme miteinander verbunden sind. Das Untersystem 26 zur Erzeugung der Impulsflankenzahlen empfängt numerische Steuereingabedaten für jedes Teil während des Bearbeitungsprozesses. Diese Daten entsprechen denen eines Postprocessors für OFF-line numerische Steuersysteme. Die Positionsbefehlsdaten werden von dem Generator 10 in Flankenwerte umgewandelt. Ein neuer Satz von Flankenzahlwerten kann entsprechend vorbereitet sein oder jeder neue Wert kann auf entsprechende Anforderung vom Kontrollsteueruntersystem erzeugt werden. Das Phaseanaloguntersystem 27 empfängt neue IFZ von dem Generatoruntersystem und transformiert diese Werte in Befehlspositionsrechtecksignale, welche für die Servoleitungen als Eingangssignale dienen. Diese Signale dienen dazu, die Bewegung der Achse des Maschinemferkzeuges so anzuweisen und zu koordinieren, daß der gewünschte Schnitt ausgeführt werden kann. Ein Anzahl von Maschinenwerkzeugen, jedes mit mehreren Achsen und , für verschiedene Arbeitsvorgänge, können unter simultaner Steuerung liegen. Das Zyklussteueruntersystem 28 dient auf Anforderung des Phasenananlüguntersystems der Verteilung des Informationsflusses zum IFZ-üenerator. Die Logik schließt eine Adresssteuerung für jede Achse ein, um ein Multiplexing des IFZ-Generator-Un-tersystems zu allen aktiven Achsen zu gestatten»
Den Algorithmus der Informationsverarbeitung zeigt das Blockdiagramm in Fig. 8. Der SignalablaufpLan kann in vier verschie-
Docket YO 968 061 Q09829/1072 e*D
dene Hauptsektionen eingeteilt werden: 1. Anfangswertzuweisung, welche für jedes zu bearbeitende Stück sofort durchgeführt wird; 2. Anlaufphase, welche für jeden auf dem Werkstück auszuführenden geradlinigen Schnitt durchgeführt wird; 3. Impulsflankenzahlenerzeugung, welche mehrere Male für jeden geradlinigen Schnitt ausgeführt wird; und 4. Beendigungsphase, welche zum Abschluß eines Werkzeugschnittes durchgeführt wird.
AnfangswertZuweisung
Wenn die Bearbeitung eines Werkstückes einzuleiten ist, müssen dem System bestimmte Werkstückparameter zugeführt werden: f = Frequenz der Referenzsignale
h = mittlerer Zählerwert des Referenzzählers Np = Frequenz des Referenzoszillators
y s Maximalrate der Phasen-Signalverschiebung des Maschinenwerkzeuges. .
Da laut Gleichung 5 die erste Flankenzahl eines geradlinigen Schnittes einen Korrekturfaktor bezüglich der letzten Flankenzahl des vorausgehenden geradlinigen Schnittes und der vorausgehenden normalisierten Vorschubrate für jede Achse einschließt, ist es wünschenswert, in der Anfangswertzuweisungsphase eine vorausgehende Flankenzahl und normalisierte Vorschubrate für jede Achse zu selektieren. Nach Fig. 8 ist die vorausgehende Flankenzahl gleich dem Wert h gesetzt und die normalisierte Vorschubrate für jede Achse gleich dem Wert O.
Docket YO 968 061 Q Q 9 8 2 9 / 1 0 7 2
Die AnIaufphase
Die numerischen Daten für jeden geradlinigen Schnitt schließen die Größe der Verschiebung für jede Achse und einen Vorschubraten(VR)anteil ein, wenn gewünscht ist, daß das Werkzeug nicht mit seiner maximalen Vorschubgeschwindigkeit arbeitet. Die letzten Daten für jedes Werkstück geben an, daß der Arbeitsgang ausgeführt worden ist. Eine solche Anweisung könnte z.B. dadurch g erhalten werden, die Vorschubrate gleich 0 zu setzen. Für jeden geradlinigen Schnitt wird die gesamte Bewegungsdistanz (D) im Zusammenhang mit Gleichung 7 errechnet. Die Schnittausführungszeit T bei normaler Werkzeuggeschwindigkeit wird dann nach Gleichung 9 erhalten. Die Zahl der Zyklen der Referenzsignale (R), die erforderlich ist für die Ausführung eines Schnittes, ergibt sich durch Multiplikation der Frequenz der Referenzsignale mit der Schnittausführungszeit bei normaler Geschwindigkeit und durch Division durch den Vorschubratenanteil. Da nur eine ganzzahlige Anzahl von Zyklen der Referenzsignale benutzt werden " kann, muß R auf einen ganzzahligen Wert gerundet werden. Die korrigierte Schnittausführungszeit T' ergibt sich dann durch Division des ganzzahligen Wertes von R durch die Frequenz der Referenzsignale. Alle Operationen, die anschließend stattfinden, sind für jede Achse der Werkzeugmaschine die gleichen. In Fig. 8 sind jedoch nur Einzelheiten des Verfahrens-Algorithmus für die X-Achse aufgeführt. Die neue normalisierte Vorschubrate für diesen Schnitt wird nach Gleichung 12 und die erste Flanken-
Docket YO 968 061 0 0 9 8 2 9/1072
zahl nach Gleichung 5 erzeugt unter Berücksichtigung der vorausgehenden normalisierten Vorschubrate für die X-Achse und die vorausgehende X-Flankenzahl. Der Wert für die neu erzeugte normalisierte Vorschubrate wird dann einem Register oder einer Speichereinheit zugeführt, welche den Wert für die vorausgehende Vorschubrate enthält. Dadurch wird es ermöglicht, auf beide Werte, die normalisierte Vorschubrate für diesen Schnitt und die vorausgehende normalisierte Vorschubrate, zurückzugreifen. Die Anlaufphase endet mit der Erzeugung der Abstandsdistanz E (nach Gleichung 1).
Impulsflankenzahlenerzeugung
Während der Zeit, in der das X-Achsenregister keine Anforderung für eine neue Flankenzahl stellt, ist der IFZ-Generator frei, um eine entsprechende Verarbeitung bezüglich der Y- und Z-Achse durchzuführen. Wenn keine Anforderungen von irgendeinem der Achsenpositionsregister vorliegen, ist der Generator freigestellt für eine weitere Programmverarbeitung. Dieses Multiprocessing kann auf bereits bekannte Unterbrechungs- und Kanalvorrangtechniken abgestellt sein. Wenn das X-Achsenpositionsregister eine neue Flankenzahl anfordert, wird die zuvor erzeugte neue Flankenzahl in dieses Register übertragen und die nächste Flankenzahl durch Addition von Εχ-j zu diesem letzten Flankenwert erzeugt. Der dabei auftretende arithmetische Oberlauf wird mit dem Wert R verglichen, um zu bestimmen, ob der gerad-
Docket YO 968 061 0 0 9 8 2 9/1072
linige Schnitt beendet worden ist oder nicht. Wenn der Schnitt noch nicht beendet wurde, wird die neue gebildete Flankenzahl in das Register übertragen, welches zu diesem Zeitpunkt noch die vorausgehende Flankenzahl enthält. Nach Beendigung eines geradlinigen Schnitts beginnt wieder die Anlaufphase durch Lesen des nächsten Datenblockes.
Ebenso wäre es aber auch möglich, das Ende eines geradlinigen Λ Schnittes dadurch anzuzeigen, daß der Referenzzähler zu einem Stand (000) zurückkehrt. Dieser Zählerstand wird am Ende jeder Periode eines Referenzrechtecksignales eintreten. Sobald R auf den Wert 0 abgebaut worden ist, wird der geradlinige Schnitt beendet.
Beendigungsphas e
Wenn der letzte Datensatz bezüglich des Schnittes für ein vorgegebenes Werkstück angezeigt wird, muß eine Korrektur für die letzte Flankenzahl vorgenommen werden, die für jede Achse erzeugt wurde. Diese Korrektur korrespondiert mit der Erzeugung der Flankenzahlen für einen nächsten Schnitt mit einer Vorschubrate von 0 für jede Achse. Wie in Fig. 8 gezeigt wird, kann z.B. der letzte Satz durch die Zuordnung eines Vorschubratenanteiles von 0 gekennzeichnet sein. In diesem Falle ist die neue normalisierte Vorschubrate N*. = 0 und Gleichung 5 vereinfacht sich zu der im oberen Block auf der rechten Seite von Fig. 8
Docket YO 968 061 009829/1072
angegebenen Form. Nachdem für jede Achse die endgültige Flankenzahl erzeugt worden ist, wird diese auf Anforderung hin in dem zugewiesenen Achsenpositionsregister plaziert. Dann wird der Schnitt vervollständigt.
Es dürfte verständlich sein, daß ein numerisch gesteuertes Werkzeugsystem nach den erfindungsgemäßen Grundsätzen auf verschiedene Art und Weise ausgeführt sein kann. Im Zusammenhang mit der vorgezogenen Ausführungsform der Erfindung ist es wünschenswert, die relativ niederfrequenten Operationen von einem Allzwecksteuercomputer, die relativ hochfrequenten Operationen von einer speziell für diese Zwecke entwickelten Schaltung ausführen zu lassen. Eine derartige Ausführungsform der Erfindung wird anhand der drei Untersysteme wie sie in Fig. 7 gezeigt sind, beschrieben.
Generator zur Erzeugung der Impulsflankenzahlen
Wie bereits erwähnt wurde, umfaßt die Erzeugung der Impulsflankenzahlen Operationen mit relativ niedriger Geschwindigkeit (Anfangswertzuweisung und Anlaufphase) und Operationen mit relativ hoher Geschwindigkeit (iterative Addition und Vergleich). Die Operationen, die mit verhältnismäßig niedriger Geschwindigkeit ablaufen, sollen von der Zentraleinheit eines Allzweck-Steuercomputers und die Operationen, die mit hoher Geschwindigkeit ablaufen, sollen von einer speziell für diesen Zweck ent- -
Docket YO 968 061 009829/1072
wickelten Schaltung ausgeführt werden.
Fig. 9 zeigt das Blockdiagramm für diese Schaltung. Sie enthält einen Speicherpuffer 29, ein Adressregister (AR) 30, das mit den Puffer 29 verbunden ist, ein Speicherpufferregister (SPR) 31 für die Übertragung der Daten in und aus dem Speicher, ein Speicherregister (SR) 32, einen Addierer 33 für die Erzeugung der aufeinanderfolgenden Flankenzahlen während der Ausführung ™ eines geradlinigen Schnittes und einen Vergleicher 36. Für jedes zu bearbeitende Werkstück ist die Ausrechnung mit einer Anfangswertzuweisung verbunden, die in bekannter Weise durch die Zentraleinheit vorgenommen wiri (nicht gezeigt). Ebenso wird auch die Rechnung für die Anlaufphase von der Zentraleinheit getragen. Für jeden geradlinigen Schnitt liefert die Zentraleinheit an die SpezialSchaltung, wie diese in Fig. 9 gezeigt ist, die Parameter: R(Anzahl von Referenzzyklen für den geradlinigen Schnitt); E-- und E. (die erste Flankenzahl). Diese Daten werden im Puffer t 29 in einem mit dem Maschinenwerkzeug verbundenen Feld gespeichert. Bei jeder Anforderung einer neuen Flankenzahl für ein Achsenpositionsregister wird vom Zyklussteuersystem (Fig. 11) eine Adresse empfangen und plaziert in AR 30. Das bedingt die zugeteilte Abstandsdistanz E^1 und den zugestandenen Wert von R, welcher nach SPR 31 einzulesen ist, von wo aus dessen Obertragung nach SR 32 erfolgt. Der fortlaufende gültige Flankenwert E. (inklusive des Oberlaufteiles, des geradzahligen Teiles und der Bruchteile) wird dann nach SPR 31 gelesen. Der kenn-
Docket YO 968 061 009829/1072
zeichnende ganzzahlige Teil von E. wird über die Leitung 35 zum betreffenden Achsenpositionsregister übertragen (Fig. 10)., E... wird dann addiert zu E^n durch den Addierer 33 und zurückübertragen in den Puffer 29 über das Speicherpufferregister in die Position, die zuvor von E. eingenommen wurde. Der Wert von R, welcher in SR 32 enthalten ist, wird mit dem Oberlaufteil des neu gebildeten Flankenwertes E^n im Vergleicher 34 verglichen, um zu ermitteln, wenn die endgültige Flankenzahl für diese Achse erzeugt worden ist. Sollte dies der Fall sein, so wird die Zentraleinheit ein Signal auf Leitung 36 senden. Wenn die endgültige Flankenzahl für jede Achse des Maschinenwerkzeuges erzeugt worden ist, wird die Zentraleinheit den Speicherpuffer 29 mit einem neuen Satz von Parametern auf der Eingabeleitung 37 versorgen.
Bei der gewählten Ausführungsform der Erfindung ist es nicht erforderlich, die endgültigen erzeugen Flankenzahlen zur Zentraleinheit zu übertragen, um dort die erste Flankenzahl für den nächsten geradlinigen Schnitt errechnen zu lassen, weil anzunehmen ist, daß die Zentraleinheit zuvor die letzte Flankenzahl in einer Weise bestimmte, wie im Zusammenhang mit den Gleichungen 17 und 18 zu erkennen ist.
Phase-Analog-Untersystem
In Fig. 10 ist ein schematisches Blockschaltbild dieses Untersystemes gezeigt. Es besteht aus dem Referenzzählerschaltkreis,
Docket YO 968 061 009829/1072
welcher einen freilaufenden Referenzoszillator 38 und einen Referenzzähler 39, ein Achsenpositionsregister 40 und einen Vergleichsschaltkreis 41 sowie einen Trigger 42 für jede Achse enthält. N-simultan arbeitende Achsen können gesteuert sein durch Untergruppen, die jedem Maschinenwerkzeug zugeordnet sind. Neue Flankenzahlen sind ausgehend von dem Flankenzahlenuntersystem (Fig. 9) über die Leitung 35 in die Achsenpositionsregister 40 zu plazieren. Sooft einer der Vergleichsschaltkreise " 41 ein Signal abgibt, welches den Trigger 42 zu einem Pegelwechsel veranlaßt, wird das Signal auch zum Zyklussteuersystem (Fig. 11) über eine der Leitungen 43 übertragen, um die Lieferung einer neuen Flankenzahl an das Positionsregister einzuleiten.
Andere Ausführungsformen des Phasenanaloguntersystemes würden für jede Achse ein einzelnes Achsenpositionsregister und einen Vergleicher vorsehen. |
Zyklussteueruntersystem
Das Zyklussteueruntersystem, so wie es in Fig. 11 gezeigt wird, enthält einen freilaufenden Vorschuboszillator 44, welcher einen Achsenadresszähler (AAZ) 45 über die Torschaltung 46 speist. Der AAZ arbeitet auf einen Dekoder 47 mit einer Mehrzahl von Ausgängen, von denen jeder ein Signal führt, wenn der AAZ 45 die Pufferadresse betrifft von den Daten für eine Maschinenwerkzeugachse, die verbunden mit dem einzelnen Decoderausgang ist.
Docket YO 968 061 0 0 9 8 2 9/1072
Den Eingang eines jeden Und-Gliedes 48 bildet ein Trigger 49, welcher über die Anforderungsleitung 43 von dem Phasen-Analοg-Untersystem gesetzt wird (Fig. 10). Der Ausgang eines jeden Und-Gliedes 48 bildet jeweils einen Eingang zum Oder-Glied 50, welches dazu benutzt wird, den Zyklussteuerungszeitgeber 51 zu starten und nach einer Invertierung durch den Inverter 52 die Torschaltung 46 zu sperren, wodurch verhindert wird, daß sich der Inhalt vom AAZ 45 ändert.
Das Zyklussteueruntersystem arbeitet auf einer kontinuierlichen Abfragebasis für die Anforderungen der Achsenpositionsregister· Wenn eine Anforderung auf der Leitung 43 auftritt, schaltet ein Trigger 49 in einen anderen Zustand. Der AAZ 45 setzt durch den Vorschuboszillator 44 gespeist den ordnungsgemäßen Vorschub durch, bis eine Obereinstimmung bezüglich des Adressdecoders 47 und eines entsprechenden Triggers 49 das Und-Glied 48 leitend macht. Das Ausgangssignal desOder-Gliedes 50 wird dazu verwendet, den Zyklussteuerungszeitgeber 51 zu starten; während zu der gleichen Zeit das Signal vom Inverter 52 die Torschaltung 46 sperrt und damit weitere Vorschübe durch den AAZ 45 verhindert und die Achsenadresse bewahrt.
Die verschiedenen Ausgänge des ZyklussteuerungsZeitgebers 51 werden in bekannter Art und Weise unter Hinzuziehung entsprechender Torschaltungen dazu benutzt, auf eine Anforderung hin die >. Adressen von den Achsenpositionsregistern an das Generatoruntersystem zu liefern und die nächste Flankenzahl von dem
009829/1072
Docket YO 968 061
Flankenerzeugungsuntersystem in die entsprechenden Achsenpositionsregister zu übertragen. Zum Abschluß der Operationsfolge der Schaltung 51 wird der kontinuierliche Ausgang dieser Schaltung aktiviert, wodurch eines der Und-Glieder 53 ein Abschalten des Anfragetriggers 49 bewirkt. Auf diese Art und Weise wird die Torschaltung 46 aktiviert und die Suche für die nächste Anforderungsbedingung wird fortgesetzt.
Vorschubratensteuerung
Fig. 12 zeigt das Blockdiagramm einer Schaltung, die eine zusätzliche Steuerung der Yorschubrate für das Maschinenwerkzeug gestattet. Zwischen dem Oscillator 55 und dem Referenzzähler 56 ist eine Schaltung zur Vorschubuntersetzung 54 geschaltet. Diese Schaltung 54 arbeitet unter Steuerung eines Vorschubanteilregisters 57 als Impulsuntersetzer. Dadurch ist ein Wechsel .der Frequenz des Referenzsignales und des entsprechenden Befehlspositionssignales bedingt. So würde z.B. ein Vorschubratenfaktor von 0,5 die Frequenz der Rechteckwellen, die vom Referenzzähler 56 empfangen werden, halbieren. Daraus würde die zweifache Zeit für die Arbeitsgenauigkeit der Servos resultieren. Da jedoch eine solche Apparatur bestimmte Frequenzbandcharakteristiken bezüglich der induktiven Komponenten der Servokreise erfordern würde, wäre ohne solche Zusätze nur ein kleiner Frequenzwechsel ' zulässig.
Eine weitere Möglichkeit für die Steuerung der Vorschubrate Docket YO 968 061 009829/1072
hinsichtlich einer manuell "herbeigeführten Übersteuerung ist in Fig. 13 gezeigt. Diese Apparatur schließt einen Schalter 58 ein, welcher einen Leitungssatz von Triggern 60 bis 64 mit einer Energiequelle 59 verbinden kann. Der Ausgang jedes Triggers ist mit dem Flankengenerator verbunden (oder, falls vorhanden, mit der Zentraleinheit zur Durchführung der Rechenoperationen). Ebenso ist aber auch der Ausgang jedes Triggers mit einem Exklusiv-Oder-Glied 65 verbunden. Der Ausgang eines Exklusiv-Oder-Gliedes 65 führt zu einem Inverter 66, dessen Ausgang dazu benutzt wird, um ein Unterbrechungssignal an die Zentraleinheit zu liefern.
Wenn der Schalter auf Automatik (selbst.) gesetzt ist, werden die Vorschubratenanteile im Zusammenhang mit den Eingabedaten für das System bestimmt. In jeder anderen Schalterstellung ist jedoch durch die Schalterstellung selbst der Anteilt der Vorschubrate festgelegt. Wenn zu irgendeiner Zeit die Schalterstellung wechselt, kann eine Zeitperiode auftreten, in der zwei Trigger gleichzeitig gesetzt sind. Auf diese Art und Weise entfällt jedoch ein Ausgangssignal am Exklusiv-Oder-Glied 56, wodurch der Ausgang des Inverters 66 an die Zentraleinheit ein Unterbrechungssignal sendet. Dann wird die Zentraleinheit den neuen Anteil der Vorschubrate bestimmen und über die Leitung 67 jene Trigger zurücksetzen, die nicht mit dem neuen Anteil der Vorschubrate korrespondieren. Der Wert des neuen Anteils der Vorschubrate wird durch ein Signal auf der Leitung 68 an die Zentraleinheit
009829/1072
- 37 vermittelt.
Numerische Beispiele
Die in den Beispielen aufgeführten Zahlen sind nur angenähert. Sie dienen der Demonstration der Erfindung, wobei deren Genauigkeit nicht über das für diese Demonstration erforderliche Maß hinausreicht.
Beispiel Nr. 1 - Konturbefehl
Das folgende numerische Beispiel demonstriert die Logik für eine gewöhnliche Positionssteuerung einer Zweiachsenkonturenmaschine.
Angenommen, ein neuer Schneidvektor sei gegeben zu:
X = +400 Einheiten
Y = -300 Einheiten
Aus Gleichung 7 folgt der Bewegungsabstand
D = VC400)2 + (300) =500 (7)
Unter der Annahme, daß die maximale Tangentialgeschwindigkeit (Vm = 1 Zoll pro Sekunde) und die Genauigkeit (P = .0001 Zoll) sei, wird nach Gleichung 8
= = 10,000 (8)
.0001
und nach Gleichung 9 die Schnittzeit
T =ϊδ7§δ§ ■ °·05
Docket YO 968 061 009829/1072
Gleichung 10 ergibt die Anzahl der Referenzzyklen R als:
R - 250 * CO.05) =12.5 (10)
Bei einem gewählten Integer R * 12 wird
12
T' « 250 « 0.040 ^11)
- 8333·3
" -6250·0
Unter der weiteren Annahme, daß der Vorschubratenbruchteil für diesen Schneidvektor 0,5 ist, ergibt sich
Nv « (0.5). (8333.3) » 4166.6 (15)
N « -(0.S) (6250) « -3125.0 (15)
R- Η*"" (13)
Unter Benutzung von Gleichung 1 sind die zusätzlichen Flankenabstände:
Exl - 500
( 250
^ 250-4.Ί
500.474
500
250+3.1250
- 493.827
Zur Einfachheit sei angenommen, daß das Referenzsignal und die Achsenpositionssignale anfänglich in Phase sind. Dann ergibt die folgende Tabelle die Werte aufeinanderfolgender erzeugter
Docket YO 968 061 009829/1072
Flankenzahlen für jede Achse.
Flanken-Nr.
X-Achse
Y-Achse
1
2
3
4
5
1
1
2
2
508
016
525
033
542
474
948 0
422 1
896 1
370 2
493
987
481
975
469
9
10
11
4
5
576
064
266 4
740 4
5
444
938
432
20 10 169 *
480 9
876
25 12 711 850 12 345
30 . 15 254 220 14 814
35 17 796 590 17 283
40 20 33 U 9fiO 19 753
46
47
40
49
23
23
24-
389
119 H
406
HO 4 22
278 23
752 23
24
716
209
703
19 7
540
Die ganzzahligen Teile der Tabellenwerte sind in einer durch Doppellinien abgegrenzten Spalte enthalten. Diese Werte werden in die Achsenpositionsregister plaziert, wonach die Befehlspositionssignale abgeleitet werden (Fig. 2).
Um die Richtigkeit dieser Werte zu beweisen, sei angenommen, daß der folgende Schnittvektor O ist.
Docket YO 968 061 00985 9/1 072
Danach wäre die in Fig. 6 gezeigte Situation realisiert. 48 X Flankenzahlen und 49 Y Flankenzahlen wurden bis zu dem Zeitpunkt erzeugt, als der Überlauf den Wert 24 (R) erreichte. Die mit E., , x in Fig. 6
Λ ' i(n+l)
bezeichnete Flanke korrespondiert mit E „ oder mit E „Λ dieses Bei-
x48 y49
Spieles, wenn
E , . = 406.572 χ (48)
E , . = 197.523 y(49)
ist. Da aber T das mathematische Ende des Schnittes angibt (R = 0), muß der endgültige Flankenwert von beiden Achsen eingestellt sein auf den Geschwindigkeitswechsel zur Zeit T ; deshalb ergaben sich nach Gleichung 5
E'*(48) " 406·572
1 + -4.1666
250
(5)
= 399. 98 (400 durch Rundung)
y(49)
= 197.523
1 +
+ 3. 125 250
(5)
= 199.99 (200 durch Rundung)
In der Praxis würden die Werte E' ,.o. und E' .... in Erwartung auf
x(48) y(49) e
das Schnittende errechnet worden sein. Das ursprüngliche Problem stellt sich somit jetzt als ein gleichförmiges Fortschreiten der X-AchseN + Einheiten und als Retardieren der Y-Achs^m (200 - 500) = -300 Einheiten
009829/1072
YO 9-68-061
6AD ORIGINAL
Bei halber Maximalgeschwindigkeit dar.
Beispiel 2 - Ungeplanter Vorschubratenwechsel
Für dieses Beispiel ist ein willkürlicher Zeitwert (R = 19) von unserem vorausgehenden Beispiel gewählt ,sowie ein Moment, in welchem die neue Vorschubrate einsetzt. Ebenso sei auch angenommen, daß die erwünschte Geschwindigkeit nach der Abschwächung angenähert 19 % der gegenwärtigen Geschwindigkeit beträgt. Dann verbleiben anstatt der 19 Referenzzyklen
bis zur Schnittvollendung
Ri =
19
0.9
= 22
f = ~ = 0.86364
und die revidierten Phasengeschwindigkeitskomponenten:
N' = 4166.6 (.86364) = 3598.5 χ v '
N' = -3125 (.86364) =-2698.9
Nach Gleichung 1 ergeben sich Flankenteilwerte zu:
250 >
250-3.5985; = '
E' , = 500
xl
295
E'yl " 50° (l·494·660
und die Einstellungen zur Startflanke zu:
x(10)
E'y(n+irE'y(ll)
= 084.742 = 084.575
= 432.097
1 +
1 +
( 250 I
(3. 1250 \ I 250 /
250 =.432.974
009829/1072
-3.5985)
50 /
+
J
(13) (14)
(15) (15)
YO 9-68-061
Basierend auf dem neuen Satz der Startflanken (E*., .» und den Flankenabstandswerten(E' )/entsprechend der revidierten Vorschubrate, gibt die folgende Tabelle den Flankenwertwechsel bezüglich der vorausgehenden Tabelle an.
Flanken-Nr.
X-Achse
Y-Achse
1 508 474 493 827
8 4
9 5 576 266 4 444 443
10 5 084 575 4 938 270
11 :
• ι
591 870 5 432 974
12
*
: 099 165 5 927 634
53 27 898 260
54 405 555 26 703 354
55 27 136 014
Angenommen, der folgende Schnittvektor würde zu Null, so ergeben sich für die endgültigen Flankenwerte
009829/1072
YO 9-68-061
.43.
ν' - 4ης ςςς Γ ι 3·5985
Ε χ(54) - 405* 555 \1 - ^5(T
E' ,-_. = 198
y(55)
nix Γι χ 2»698
·014 I1+I5T
= 399.72 = 400 (gründet)
" = 200. 08 = 200 (gerundet)
wie in den vorausgehenden Beispiel.
Die horizontale Zeile dieser Tabelle trennt die früheren Tabellen-
werte von den auf den Vorschubratenwechsel folgenden. Es ist zu bemerken, A
daß die Ausführung des Geschwindigkeitswechsels mit der ersten Flanke von jedem Achsenpostions signal einsetzt, das auf den Moment folgt, in welchem das Referenzsignal zu Null zurückkehrt. In diesem Beispiel sind, wie in der Tabelle gezeigt wird, die zugewiesenen Flanken E .... und
Der optimale Zeitpunkt, mit einem ungeplanten Vorschubratenwechsel zu beginnen, liegt etwas willkürlich und ist abhängig von der spezifischen Ausführung des Systemes. Im allgemeinen kann auf eine Anfrage hin eine geeignete Zeit gewählt werden, um die augenblicklichen Verarbeitungsanf orderung en an das System herabzusetzen, wobei aber auch gleichzeitig die sich auf die Antwort hin einstellenden Anforderungen vom Operator beachtet werden können. Wenn z.B. eine Ein-Sekunden-Antwort erforderlich war, dann sollte der Wechsel in den Datenstrom vor der fünfhundertsten Folgeflanke verlagert sein, da die Flanken einen Abstand von ungefähr zwei Millisekunden haben (für ein 250 Hz Referenzsignal).
YO 9-68-061
0098 29/1072
Die Zahlen in den beiden Tabellen sind auf drei Dezimalstellen gerundet worden. Die sich aus der Abrundung ergebenden Fehler liegen innerhalb der gewöhnlich zu akzeptierenden Toleranzen.
Digitale Rückkopplung s servo sy sterne
Die für die Erzeugung der Befehlspositionsinformation beschriebene Methode stützt sich darauf, daß ein analoger Positionsmeßfühler (linear oder rotierend arbeitend) benutzt wird, um die tatsächliche Werkzeugposition festzustellen. Ein solches Werkzeugmaschinensystem mit digitalen Rückkopplungsservos ist in Fig. 13 gezeigt. Der Positionsgenerator 69 empfängt Achsenbewegungsdaten für jeden geradlinigen Schnitt in einer Weise, wie es für den'IFZ-Generator beschrieben wurde. Der Positionsgenerator erzeugt Befehlspositionsinformationen und plaziert diese in entsprechenden Zeiten in die X-, Y- und Z-Befehlspositionsregister 70, 74, 75. Die Positionsregister 73, 71, 72 für die tatsächliche X-, Y- und Z-Position enthalten jeweils die digitalen Positions werte der zugehörigen Achsen. Die Ausgänge jedes Befehlspositionsregisters und des Positionsregisters für die tatsächliche Position des Werkzeuges werden auf die Servosteuerungen und das Maschinenwerkzeug 76 (innerhalb des gestrichelt umrandeten Blockes)geführt. Die Servosteuerungen werden hauptsächlich für jede Achse ein Subtrahierer 77 zur Bestimmung der Differenz des Inhaltes zwischen den Registern mit der tatsächlichen und gewünschten Position enthalten; außerdem einen Digital-Analog wandler 78 für die Konvertierung des Ausgangs signale s des Subtrahierers in ein analoges Signal, einen Verstärker 79 für dieses analoge
- 009829/1072
YO 9-68-061 .
Signal, eine Servoantriebs steuerung 80 für den eigentlichen Servoantrieb 81 des Maschinenwerkzeuges 82. Ebenso sind in das System ein X-, ein Y- und ein Z (83, 84, 85)-Positionsmeßfühler eingeschlossen, welche die tatsächliche Position des Maschinenv/erkzeuges feststellen und diese Information an die Register 73, 74, 75 liefern. Bei der Erzeugung der Flankenzahlen für jede Achse ist der totale Wert von R der Referenztaktzyklenkiach den Gleichungen 7, 8, 9 und 10 von dem Positions generator bestimmt,
YO 968 06, 009829/1072
und irgendein gegebener Vorschubratenanteil eingestellt. Angenommen, die neue Positionszahl wird zweimal während jedes Referenzzyklus angelegt, so ist R verdoppelt und die Zahl 2R (ausgedrückt als ein Integer) ist eingeteilt in die Zahl oder die erwünschten Bewegungseinheiten für jede Achse, um die gewünschte Bewegung während jedes Halbzyklus zu erreichen. Eine solchermaßen erzeugte Zahl für jede Achse ist die erste Befehlspositionszahl für diese Achse. Wenn der erste geradlinige Schnitt beginnt, wird die erste Befehlspositionszahl in dem zugewiesenen Befehlspositionsregister plaziert werden. Einen halben Zyklus später, wird sie zweimal in jedem Befehlspositionsregister plaziert sein. Nach jedem anschließenden Halbzyklus (bis der Schnitt beendet ist) wird der Inhalt jedes Befehlspositionsregisters durch eine Zahl ersetzt, welche größer ist als der vorausgehende Inhalt durch eine Größe die gleich der ersten Befehlspositionszahl ist. Für jeden anschließenden geradlinigen Schnitt wird eine neue erste Befehlsposition für jede Achse durch den Positionsgenerator erzeugt sein und wiederholt zum vorausgehenden Wert in jedem Befehlspositionsregister addiert sein (bzw. subtrahiert davon) und das Resultat wird in dem zugewiesenen Befehlspositionsregister plaziert werden. Die Taktgebung für dieses System obliegt einem Taktgeber 86, der einen Oszillator 87 enthält, welcher bei der doppelten Referenzfrequenz auf einen Binärtrigger 88 arbeitet. Der 0 und 1 Ausgangsstatus des Triggers wird dazu benutzt, dem Positionsgenerator 69 zweimal während jedes Referenzzyklus anzuzeigen, daß eine neue .% Befehlsposition bezüglich der Befehlspositionsregister 70 bis 72
Docket YO 968 061 0 0 9 8 2 9 /10 7 2
erforderlich ist. Der O-Status des Triggers 88 wird dazu benutzt, den Positionsgenerator 69 anzuzeigen, daß ein Referenzzyklus beendet wurde· In dem Ausführungsbeispiel dieser Erfindung wird der gespeicherte Wert von R während der Zeit, in der ein Referenzzyklus beendet wurde um 1 erniedrigt. Wenn RsO ist, ist der geradlinige Schnitt auch beendet*
Beispiel 3 - Konturenbefehl
Angenommen in einer Zweiachsen-Konturenmaschine sei der Schneidvektor gegeben durch:
X κ -t-400 Einheiten
Y « -300 Einheiten
und der Wert von R wäre bestimmt worden zu R = 19.3
Die Abrundung der Größe R auf den nächsthöheren Integer führt zu R (Integer) * 20.
Ebenso sei auch angenommen, daß als Folge des vorausgehenden geradlinigen Schnittes das X-Befehlssitionsregister den Wert 864 und das Y-Befehlspositionsregister den Wert 1216 enthält. Da 2R * 40 ist* ergibt sich als erste Befehlspotiionszahl für jede Achse
E1x = 400/40 s 10.00
E1 « -300/40 « -7.50
Die folgende Tabelle zeigt die Werte von aufeinanderfolgenden Befehlspositionszahlen die erzeugt wurden für jede Achse.
Docket YO 968 061 0 0 9 829/1072
Positions Nr,
1 2 3 4 5
R74.00 004.00 094.00 904.00 914.00
1200.50 1201.00 119 3.50 1106.00 1178.50
18 19
30 31
1044.00 1054.00
1164.00 1174.00
1081.00 1073.50
991.00 983.50
38 1244.00 931.00
39 1254.00 923.50
40 1264.00 916.00
Nach der Erzeugung der 40. Befehlspositionszahl wird R auf 0 abgebaut worden sein, was das Ende eines geradlinigen Schnittes bedeutet und die X-Achse des Maschinenwerkzeuges ltfird sich Einheiten in die positive Richtung bewegt haben, während die Y-Achse 300 Einheiten in die negative Richtung bewegt wurde.
Die Vorausschau auf einen ungeplanten Vorschubratenwechsel
Dieses Problem erhebt sich dann, wenn es gewünscht ist, eine geeignete Folgeperiode zu wählen, während der ein ungeplanter Vorschubratenwechsel auszuführen ist oder wenn es erwünscht ist,
Docket YO 968 061
009829/10
im Vorschub die Flankenzahlen zu erzeugen, die erforderlich sind für jede Achse, um einen gewünschten Schnitt auszuführen. Eine Verschiebung der Einleitung des Vorschubratenwechsels um einige Folgeperioden läßt genügend Zeit, den Wechsel der Flankenzahlen zu bestimmen, ohne daß dabei der kontinuierliche Ablauf gestört wird. Dieses Vorausschau-Intervall muß kurz genug sein, aber wiederum dazu ausreichen, daß der Operator in einer akzeptablen Antwortzeit den Vorschubratenwechsel bewirken kann. So könnten z.B. 100 f Millisekunden als voraussichtliches Intervall ausgewählt ausgewählt worden sein, wobei die Antwortzeiten gut innerhalb der menschlichen Reaktionszeit liegen. Da bei jeder Achse ein separater Datenstrom hinzukommt, liegt das Problem jetzt darin, eine entsprechende Anzahl von Flanken zu finden, Ε·;/-η+η » so ^aß Gle*~ chung (5) für die neue Vorschubrate für jede Achse (i) benutzt werden kann. Unter der Annahme folgender Definitionen:
T1 = erster neuer Zyklus des Referenzsignales,
daß auf einen Vorschubratenwechsel "
folgt.
E. - .. = letzte Flankenzahl für die i.te Achse nach i(m)
N = Zahl der Vorausschau-Zyklen: d.h. ein
Vorausschauintervall von 100 Millisekunden erfordert N = 25 für ein 250 Hz Differenzsignal.
T, = Zeitpunkt der Instituierung eines Vorz
Docket YO 968 061 009829/1072
Schubratenwechsels.
Eifn+1) = erste Flankenzahl des Positionssignales, welches folgt auf T ^ (basierend auf einer gleichbleibenden Vorschubrate).
Das Problem liegt dann darin, die Flankenzahl E.. +1^ zu erzeugen. Die gesamte Differenz zwischen E·, ^ und T-, gemessen in Flankeneinheiten, beträgt dann:
+ M ' N
Der erste Klammernwert ist die Distanz zu T1, die zweite ist die Distanz zwischen T und Τ,·. M ist die Referenzzählerkonstante
1 2
(1000).
Die Anzahl der Flanken (B) in diesem Zwischenraum ist bestimmt durch Division Des Falnkenverschiebungswertes E^-j, nach Gleichung
M(N+I) - E
1OO
■B. =
K-E
B, = i(m)
K ist als Konstante für das Werkzeug gewählt worden. Um die erste auf T- folgende Flanke ausfindig zu machen, wird der Bruchteil von
Docket YO 968 061 009829/1072
- 51 -B vernachlässigt und der nächsthöhere Integerwert gewählt.
Wenn die aufeinanderfolgenden Flankenwerte in einer Tabelle zusammengestellt worden sind, können die korrekten Werte für E., +1·. durch Indexierung in der Tabelle erhalten werden.
009829/1072
Andernfalls ist aber auch eine direkte Bestimmung nach Gleichung 17 möglich:
E s E + B · E i(+1) i(m) Di . ^1
Um die Flankenzahlen zu erzeugen, die für die Ausführung eines neuen Schnittes erforderlich sind, kann unabhängig vom Geschwindigkeitswechsel eine einfache Regel angewendet werden. Unter der •Annahme, daß E., _ die erste Flankenzahl des neuen Schnittvektors ist, ergibt sich
R · M - E.
B1=
Darin ist R wieder die Zahl der Referenzzyklen laut Gleichung 10. Der Bruchteil von B ist wieder vernachlässigt; ebenso ist der nächsthöhere Integerwert gewählt worden, um nach Gleichung
17 den Wert E., „ zu errechnen. i(+1)
Achsenruhestellung
Die Achsenruhestellung ist als eine Zeitperiode definiert, in welcher kein Phasenvorschub für die einzelne Achse erfolgt. Eine derartige Bedingung kann wie folgt auftreten: Wenn während der Ausführung einer Konturinstruktion, bei der eine oder mehrere Achsen keine zusätzliche Verstellung erfordern, das Fehlersignal eine Grenze übersteigt (in diesem Falle sind alle aktiven Achsen kurzzeitig in Ruhestellung gesetzt); während der kurzzeitigen Achsenruhestellung zwischen Bewegungsbefehlen; und in anderen
Docket Yü 968 061 0 0 9 8 2 9/1072
ähnlichen Situationen. Unter diesen Umständen ist es erforderlich, ein kontinuierliches Befehlspositionssignal an die Servoschleifen zu liefern; es ist aber darauf zu achten, daß dieses Signal eine konstante Phasenposition relativ zum Referenzsignal unterstützt. Die zuoberst beschriebene Apparatur könnte auch zweckdienlich wie folgt ausgeführt werden (siehe Fig. 2). Jedes Befehlspositionsregister arbeitet auf eine Vergleicherschaltung, um das Moment anzuzeigen, in dem die zwei Register gleiche Werte Λ enthalten (wenn die Achse im Nicht-Ruhestellungs-Mode ist). Nach Beendigung eines Schnittvektors, wenn also die Achsenruhestellung für eine einzelne Achse vorliegt, könnte eine "Ruheleitung" zu der Vergleichsschaltung verlaufen, welche eine Freigabe des Hochwerttriggers des betreffenden Achsenpositionsregisters bedingte. Wenn ein symmetrischer Code für das Achsenpositionsregister benutzt würde, wird die Vergleichsschaltung pro Periode des Referenzsignales zwei Ausgangsimpulse abgeben. Diese Ausgangsimpulse werden alternierend wiederholt bis zum letzten Flankenwert, der im Achsenpositionsregister plaziert ist und bis zum zweiten Flankenwert, der um h oder 500 Phaseneinheiten verschoben ist. Diese Ausgangssignale erzeugen am Binärtrigger ein kontinuierliches Befehlspositionssignal mit einer 0-Phase, solange die Ruheleitung im aktiven Zustand verbleibt.
Im Rahmen anderer Ausführungsformen der Erfindung ist es möglich, die im beschriebenen Ausführungsbeispiel verwendete Spezialschaltung für die hochfrequenten Operationen unter bestimmten
Docket YO 968 061 Q09829/ 1 072
Gesichtspunkten auch durch einen Allzweckcomputer ersetzen zu lassen. Andere gebräuchliche Variationen der Erfindung würden ein Zwischenspeichermedium wie ein Magnetband oder eine Magnetplatte umfassen. Solch ein Medium könnte zur Speicherung vorberechneter Parameterwerte dienen, die als Eingabedaten zu der in Fig. 9 gezeigten Schaltung dienen. Das Magnetband oder die Magnetplatte könnten wiederholt zur Fertigung identischer Teile benutzt werden, wobei es nicht nötig ist, ständig die entsprechenden Parameter neu zu erzeugen. Weiterhin wäre es auch denkbar, vorgefertigte komplette Tabellen zur Dateneingabe in das System zu benutzen. Auf diese Weise könnte Maschinenzeit eingespart und der BearbeitungsVorgang wirtschaftlicher gestaltet werden.
Docket YO 968 061 009829/1072

Claims (7)

  1. PATENTANSPROCHE
    Numerisch gesteuertes Werkzeugmaschinensystem für Maschinenwerkzeuge mit jeweils einer oder mehreren Bewegungsachsen, bei dem für jede dieser BewegungSachsen eine die Länge und Richtung eines geradlinigen Schnittes bestimmende den digitalen Eingabedaten entsprechende Impulsinformation in Befehlspositionssignale umgewandelt wird, deren Phasenver- % Schiebung gegenüber Referenzsignalen der Steuerung der Bewegung des Werkstückes oder des Maschinenwerkzeuges dient, dadurch gekennzeichnet, daß ein die digitalen Eingabedaten aufnehmender Generator (10) zur Erzeugung von den Zeitpunkten des Anstiegs und Abfalls des Pegels eines Befehlspositionssignales entsprechenden Zahlenwerten vorgesehen ist, welche jeweils zur zwischenzeitlichen Speicherung einem jeweils einer Bewegungsachse eines Maschinenwerkzeuges zugeordneten Achsenpositionsregister (11, 12) zuführbar sind und daß Vergleichsschaltungen (13, 14) vorgesehen sind, an deren Ausgang immer dann ein Signal für die Übertragung des den nächsten geradlinigen Schnitt kennzeichnenden neuen Zahlenwertes von dem Generator (10) in das entsprechende Achsenpositionsregister (11, 12) und für die Ansteuerung einer bistabilen den Pegelwechsel des Befehlspositionssignales be-, dingenden Kippschaltung (15, 16) abnehmbar ist, wenn der Inhalt des Achsenpositionsregisters mit dem eines von einem Referenzoszillator (2) gespeisten ReferenzZählers (3) übereinstimmt und daß das Referenzsignal und die Befehlsposi-
    009829/1072
    Docket YO 968 061
    tionssignale in bekannter Weise Schaltungen (9) zur Servosteuerung der Maschinenwerkzeuge zufühlbar sind.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Iteferenzzähler (3) ein Dezimal zäh ler ist.
  3. 3t Anordnung nach einem der Ansprüche 1 bis 2, dadurch gekennrzeichnet, daß dem Referenzzähler zur Erzeugung von Referenz· Rechtecksignalen ein Trigger nachgeschaltet ist.
  4. 4. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die in die Achsenpositionsregister (11, 12) übertragbaren den Zeitpunkt des Anstiegs und Abfalls des Pegels eines Befehlspositionssignales entsprechenden Zahlenwerte einen Genauigkeitsgrad haben, der gleich dem kleinstmöglichen Vorschubschritt der.Maschinenwerkzeug- oder Werkstückantriebssteuerung ist.
  5. 5. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß zur Bestimmung der den Zeitpunkt des Anstiegs und Abfalls des Pegels der Befehlspositionssignale entsprechenden Zahlenwerte ein die niederfrequenten Rechenoperationen ausführender Allzweck-Digital-Computer und eine separate die hochfrequenten Rechenoperationen ausführende Additionsschaltung vorgesehen sind.
    Docket YO 968 061 009829/1072
  6. 6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß zur Speicherung der Rechem?erte für die Additionsschaltung ein Pufferspeicher (29) vorgesehen ist, dessen Daten unter Steuerung eines Adreßregisters (30) in ein Speicherpufferregister (31) und von dort aus direkt und über ein Speicherregister (32) einem Addierwerk zuführbar sind, dessen Ausgang wiederum über das Speicherpufferregister (31) mit dem Pufferspeicher (29) verbunden ist. Λ
  7. 7. Anordnung nach einem der Ansprüche 2 bis 3, dadurch gekennzeichnet, daß zur Untersetzung der Vorschubrate für das Maschinenwerkzeug zwischen dem Referenzoszillator (2) und dem Referenzzähler (3) ein durch über ein Register (57) steuerbarer Impulsuntersetzer (54) geschaltet ist und/oder eine Reihe manuell ansteuerbarer Triggerschaltungen mit jeweils unterschiedlicher Untersetzung vorgesehen ist,
    ö. Anordnung nach Anspruch I9 dadurch gekennzeichnet, daß in den Schaltungen (9) zur Servosteuerung mit Referenzsignalen gesteuerte Positionsmeßfühler (18) für jede Achse eines jeden Maschinenwerkzeuges (19) vorgesehen sind9 an denen die tatsächlichen Position des Werkzeuges bzw. Werkstückes kennzeichnende Positionssignale abnehmbar und neben dem Befehlspositionssignal jeweils einem Phasendiskrirainator (21) zuführbar sind, dessen Ausgang mit den Servoantrieben (23, 24) des Maschinenwerkzeuges verbunden ist»
    Docket YO 968 36 ; θ 0 I* S 2 ö / 1 0 7 2 ßAD ORIGINAL
    Leerseite
DE1965127A 1968-12-30 1969-12-27 System für numerisch gesteuerte Werkzeugmaschinen Expired DE1965127C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US78764368A 1968-12-30 1968-12-30

Publications (3)

Publication Number Publication Date
DE1965127A1 true DE1965127A1 (de) 1970-07-16
DE1965127B2 DE1965127B2 (de) 1979-07-05
DE1965127C3 DE1965127C3 (de) 1980-03-13

Family

ID=25142132

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1965127A Expired DE1965127C3 (de) 1968-12-30 1969-12-27 System für numerisch gesteuerte Werkzeugmaschinen

Country Status (10)

Country Link
US (1) US3591781A (de)
JP (1) JPS4919753B1 (de)
BE (1) BE742109A (de)
CH (1) CH504719A (de)
DE (1) DE1965127C3 (de)
ES (1) ES374496A1 (de)
FR (1) FR2027300A1 (de)
GB (1) GB1274539A (de)
NL (1) NL6919460A (de)
SE (1) SE355876B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3872369A (en) * 1971-08-05 1975-03-18 Gerber Scientific Instr Co Pulse counting phase modulation method and apparatus for controlling a servo-mechanism
JPS50133883A (de) * 1974-04-08 1975-10-23
LU83098A1 (fr) * 1981-01-27 1982-09-10 Microtechnic Sa Retroviseur avec positions jour et nuit
EP0128767B1 (de) * 1983-06-10 1991-02-27 Nec Corporation Numerisch gesteuertes Verfahren
US5394323A (en) * 1994-03-29 1995-02-28 The University Of British Columbia Path error control system
US5710490A (en) * 1996-01-02 1998-01-20 Samsung Electronics Co., Ltd. Method of reducing execution time for position command in position servo system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2937325A (en) * 1958-04-21 1960-05-17 Thompson Ramo Wooldridge Inc Error compensated servo-mechanism
US3349229A (en) * 1963-07-08 1967-10-24 Gen Electric Apparatus to permit both contouring and numerical positioning operations with a common control system
US3374359A (en) * 1963-10-25 1968-03-19 Gen Time Corp Phase shift device

Also Published As

Publication number Publication date
FR2027300A1 (de) 1970-09-25
NL6919460A (de) 1970-07-02
CH504719A (de) 1971-03-15
BE742109A (de) 1970-05-04
ES374496A1 (es) 1972-01-01
DE1965127B2 (de) 1979-07-05
SE355876B (de) 1973-05-07
JPS4919753B1 (de) 1974-05-20
DE1965127C3 (de) 1980-03-13
US3591781A (en) 1971-07-06
GB1274539A (en) 1972-05-17

Similar Documents

Publication Publication Date Title
DE2124983C2 (de) Numerische Bahnsteuerung für eine Werkzeugmaschine
DE1763946B2 (de) Positionierungseinrichtung für einen beweglichen Teil einer Arbeitsmaschine, insbesondere Werkzeugmaschine
DE2712169A1 (de) Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter
DE2636148A1 (de) Verfahren und vorrichtung zur numerischen steuerung eines elementes auf seinem bewegungsweg
DE2724602C3 (de) Einrichtung zur Gleichlaufregelung einer Zahnradbearbeitungsmaschine
DE1788015A1 (de) Numerische Steuerung zur Erzielung einer kontinuierlichen gemeinsamen Steuerung der Stellung eines oder mehrerer Elemente einer Werkzeugmaschine oder einer anderen Anordnung entlang einer oder mehrerer geradliniger Achsen und um eine Drehachse
DE2111635C2 (de) Einrichtung zum Umsetzen der sich im Vergleich zu einer Bezugsphasenlage ändernden Phasenlage eines periodischen Eingangssignals in eine Folge von Impulsen
DE2051432A1 (de) Numerische Werkzeugmaschinen Lageregelemnchtung
EP0543034B2 (de) Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine und Werkzeugmaschine zur Ausübung des Verfahrens
DE2052123A1 (de) Digitale Schaltungsanordnung für eine Erosionsmaschine
DE1965127A1 (de) System fuer numerisch gesteuerte Werkzeugmaschinen
DE2001935C2 (de) Digitale Steuereinrichtung zur Steuerung von Vorschubbewegungen
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
DE1948490B2 (de) Schaltungsanordnung zur numerischen Steuerung der Bewegung eines verstellbaren Organs längs einer Bahnkurve, insbesondere zur numerischen Steuerung der Bewegung des Werkzeug- oder Werkstückträgers einer Werkzeugmaschine
DE1763934C3 (de) Positionierungseinrichtung für einen beweglichen Teil einer Arbeitsmaschine, insbesondere Werkzeugmaschine
DE2643148C2 (de)
DE2034373A1 (de) Steuereinrichtung zum Steuern der Geschwindigkeit des Vorschubs eines Werk zeugs
DE2111889A1 (de) Numerische Regeleinrichtung
DE2052161A1 (de) Schaltungsanordnung für eine Elektroerosionsmaschine zum Steuern der relativen Bewegung zwischen mindestens einer Elektrode und mindestens einem Werkstück
DE2430104C3 (de) Numerisch arbeitende Programmsteuerung
DE2560651C2 (de)
DE2060227A1 (de) Digitale Regeleinrichtung fuer eine numerisch geregelte Werkzeugmaschine
DE1549634B1 (de) Anordnung zur numerischen bahnsteuerung insbesondere bei einer werkzeugmaschine
DE1763932B2 (de) Vorrichtung für eine numerisch arbeitende Programmsteuerung
DE2422035A1 (de) Numerisches steuersystem

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee