DE1965127C3 - System für numerisch gesteuerte Werkzeugmaschinen - Google Patents

System für numerisch gesteuerte Werkzeugmaschinen

Info

Publication number
DE1965127C3
DE1965127C3 DE1965127A DE1965127A DE1965127C3 DE 1965127 C3 DE1965127 C3 DE 1965127C3 DE 1965127 A DE1965127 A DE 1965127A DE 1965127 A DE1965127 A DE 1965127A DE 1965127 C3 DE1965127 C3 DE 1965127C3
Authority
DE
Germany
Prior art keywords
axis
register
machine tool
signal
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE1965127A
Other languages
English (en)
Other versions
DE1965127A1 (de
DE1965127B2 (de
Inventor
James Gerald Putnam County N.Y. Brenza (V.St.A.)
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

Die Erfindung betrifft ein numerisch gesteuertes Werkzeugmaschinensystem für Maschinenwerkzeuge mit jeweils einer oder mehreren Bewegungsachsen, bei dem für jede dieser Bewegungsachsen aus den digitalen die Länge und Richtung eines Bearbeitungsschrittes kennzeichnenden Daten Befehlspositionssignale erzeugt werden, deren Phasenverschiebung gegenüber Referenzsignalen der Steuerung der Bewegung des Werkstücks oder des Maschinenwerkzeuges dient, und welches einen oszillatorgespeisten Referenzzähler und ein Positions-Register für jede Bewegungsachse aufweist zur zwischenzeitlichen Speicherung der von einer Rechen-Anordnung aus den Angaben für einen Bearbeitungsschritt errechneten Steuerinformation.
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.
Eines davon ist das Referenzsignal mit einer vorgegebenen Frequenz, das andere davon ist das Befehlspositionssignal, dessen Phase gegenüber der des Referenzsignals eine Verschiebung aufweisen kann. Diese 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 simuitan auf die Phasendifferenz zwischen einem positionsanzeigenden Rückkopplungssignal und dem zugewiesenen Befehlspositionssignal an, um die Bewegung entlang des gewünschten Schrittpfades zu bewirken.
Das Referenzsignal begründet die Zeitgebung für alle Achsen des Maschinenwerkzeuges. Dieses Signal wird Positionsmeßfühlern jeder Achse zugeführt, die ein Rückkopplungssignal erzeugen, welches die exakte Position des Werkzeuges bzw. des Werkstückes angibt. Das Referenzsignal enthält man zumeist über einen einem Referenzzähler nachgeschalteten Trigger; wobei der Refcrenzzähler 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 seinem Eingang ebenfalls mit dem Referenzoszillator verbunden ist. Zusätzliche Eingänge für jedes Achsenpositionsregister kommen 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 repititive Addition. Angenommen, es wäre ein geradliniges Segment in zwei Koordinatenrichtungen zu schneiden, wobei zlx=8333 Einheiten und Ay=- 6250 Einheiten beträgt. Üblicherweise wurden die AX- 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 Überlauf eintritt. Wenn die gewünschte Maschinenwerkzeuggenauigkeit 2,54 μΐη (d.h., jede Einheit = 2,54 μπι) ist und die maximale Bewegungsgeschwindigkeit des Maschinenwerkzeuges 5 χ 25,4 mm pro Sekunde beträgt, so würde für jede Bewegungsachse des Maschinenwerkzeuges der lineare
bo Interpolator benötigt werden, um 50 000 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
h, 0 000 Additionen 10 000 für jede der X- und V-Achsen erforderlich sein, um in 2/io 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 2^3 um und einer maximalen Bewegungsgeschwindigkeit von 5 χ 25,4 mm pro Sekunde einen Interpolator erfordern, welcher 150000 Additionen pro Sekunde (50 000 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 Allzweckcomputer 750 000 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 Systems einer dieser Spezialinterpolatoren erforderlich sein.
Es ist darum Aufgabe der Erfindung, ein Werkzeugmaschinensystem vorzusehen, bei dem Hoch- und niederfrequente Rechenvorgänge kostengünstig ausgeführt werden können und welches eine einfache Anordnung zur Erzeugung der Befehlspositionssigaale aufweist
Die Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil des Anspruches 1 genannten Maßnahmen gelöst
Der mit der Erfindung erzielte technische Fortschritt ergibt sich aus der Aufgabenstellung.
Danach ist jedes Positions-Register 11, 12 mit einer Vergleichsschaltung verbunden, wobei bei Gleichheit des Inhaltes des Referenzzählers — von dem die Referenzsignale ableitbar sind — und des Positions-Registers über eine der Vergleichsschaltung nachgeschaltete Triggerschaltung 15, 16 ein Befehlspositionssignal erzeugbar ist; während zur Bestimmung der den Zeitpunkt des Anstiegs und Abfalls des Pegels der Befehlspositionssignale entsprechenden Steuerinformation eine niederfrequent arbeitende Rechenschaltung mit einer hochfrequent arbeitenden Additionsschaltung zur gegenseitigen Datenübertragung verbunden, welche mit dem jeweils entsprechenden Positionsregister verbunden ist.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher beschrieben: Es zeigt
F i g. 1 ein schematisches Blockdiagramm einer numerisch gesteuerten Werkzeugmaschine als Stand der Technik,
F i g. 2 ein schematisches Blockdiagramm der erfindungsgemäßen numerisch gesteuerten Werkzeugmaschine,
Fig.3 Einzelheiten der Servo-Steuerungen für die Darstellungen in den F i g. 1 und 2,
F i g. 4 einen schematischen Verlauf eines Referenzsignals und zweier Befehlspositionssignale (BS A, BS B),
Fig. 5 eine Hilfsdarstelliing zur Erleichterung des Verständnisses für die Erzeugung von Zahlenwerten, die die Zeitpunkte des Anstiegs des Pegels eines Befehlspositionssignals kennzeichnen. (Diese Zahlenwerte werden im folgenden Impulsflanken IFZ genannt).
Fig.6 eine Hilfsdarstellung zur Erleichterung des Verständnisses, wie die IFZ-Korrektur zu Beginn eines neutn Schnittes durchgeführt wird,
F i g. 7 ein schematisches Blockdiagramm für die drei Hauptuntersysteme,
F i g. 8 ein Programmablaufplan für den Algorithmus der Erfindung,
ίο Fig.9 ein schematisches Blockdiagramm für das I FZ-Generator- Untersystem,
F i g. 10 ein schematisches Blockdiagramm des Phase-Analog-Untersystems,
F i g. 11 ein schematisches Blockdiagramm des Zy-
klus-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,
F i g. 14 ein schematisches Blockdiagramm eines servogesteuerten Werkzeugmaschinensystems mit digitaler Rückkopplung, welches nach weiteren Gesichtspunkten der Erfindung konstruiert wurde.
F i g. 1 zeigt ein Blockdiagramm für ein bereits bekanntes liumerisch gesteuertes Werkzeugmaschinensystem. Der Interpolator I nimmt numerische Daten auf, welche den Bewegungsabstand jeder Achse für einen vorgegebenen Schnitt repräsentieren. Aus diesen Daten wird für jede Bewegungsachse eine Folge von Pulsen erzeugt; wobei jeder Puls ein Bewegungsinkrement 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 V-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 A"-Achsenzähler 5 ^f-Pulse und Richtungssteuersignale (RSS) und an den V-Achsenzähler 6 K-Pulse und ebenfalls Richtungssteuersignale. Die von dem Interpolator empfangenen Impulse werden von dem betreffenden Zählerstand addiert oder subtrahiert so wie es im Zusammenhang mit den vorgegebenen Richtungssteuersignalen erforderlich ist Der Trigger des X-Achsenzählers wird zur Erzeugung eines X-Befehlspositionsrechtecksignals auf der Leitung 7
so benutzt, der Trigger des V-Achsenzählers zur Erzeugung eines K-Befehlspositionsrechtecksignals auf der Leitung 8. Das Referenzsignal auf der Leitung 4 und die Befehlspositionssignale (X BPS, V ßPSJ 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 dem Referenzsignal eine Steuerinfoi'mation zum Antrieb eines beweglichen Schlittens erzeugt. Der Block 9 umfaßt Phasendiskriminatoren,
bo 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.
F i g. 2 zeigt das numerisch gesteuerte Werkzeugma-
b5 schinensystem. 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 Vorder- und Rückflanke eines Befehlspositionsrechtecksignals repräsentieren. Außerdem sind ein X-Achsenpositionsregister 11 und V-Achsenpositionsregister
12 zur Speicherung der IFZ vorgesehen. Mit jedem dieser Achspositionsregister ist eine Vergleichseinheit
13 bzw. 14 verbunden, an die jeweils ein binärer Trigger
15 bzw. 16 zur Erzeugung der Befehlspositionssignale (XBPS, YBPS) angeschlossen ist.
Dem IFZ-Generator 10 werden numerische Daten zugeführt, welche den Bewegungsabstand für jede Achse des Maschinenwerkzeuges für einen vorgegebenen Schritt darstellen. Der Generator 10 erzeugt diesen numerischen Daten entsprechend eine Serie von IFZ, weiche 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 -Y-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 plazieren. Am Ausgang des Triggers 15 tritt das A"-Befehlspositionssignal (X BPS) auf. Entsprechendes gilt natürlich auch für den Vergleich des Zählerstandes des V-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 Befehlspositionssignals (YBPS) bedingt wird. Die an den Ausgängen der Vergleicherschaltungen 13 bzw. 14 auftretenden Signale werden dazu benutzt, dem Generator 10 anzudeuten, daß neue IFZ für den folgenden auszuführenden Schritt 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 F i g. 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 es 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 entprechende 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 Rückführsignal auf der Leitung 25 in Phase mit dem 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 dezimale 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 0-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 vor: 500 bis 999 reicht Die eine Ausgangsleitung des Hochwertträgers wird ein Rechtecksignal führen, das eine Frequenz aufweist welche '/ία» der des Referenzoszillators beträgt Darüber hinaus können im Zusammenhang mit dieser Erfindung auch andere brauchbare Zähler verwendet werden. Im folgenden wird der Algorithmus beschrieben, der der Arbeitsweise des erfindungsgemäßen numerisch gesteuerten Werkzeugmaschinensystems 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
0Κ500+ε
(2)
(3) 500 + 3ε
aufeinanderfolgend im Achsenpositionsregister A plaziert wurden, dann würde eine Phasenverschiebung vor ε, 2ε, und 3ε für die drei aufeinanderfolgenden Flanken des Signals A eintreten. Ebenso könnnte die Phasenverschiebung auch in der umgekehrten Richtung auftreten wie bei dem Signal B
(1) 500-ε
(2) 1000-2ε
(3) 500-3ε
F i g. 4 zeigt das Referenzsignal und die Befehlssigna Ie Λ und &
Das Problem der Steuerung jeder Achse de: Maschinenwerkzeuges besteht insbesondere darin, die IFZ aufeinanderfolgender Befehlspositionssignale irr Zusammenhang mit der gewünschten Geschwindigkeit Präzision und Richtung des Schrittweges vorauszusehen, um diese IFZ-Werte zu den entsprechenden Zeiter in den Achsenpositionsregisters zu plazieren.
Dazu seien zunächst zwei Zähler berücksichtigt di« mit verschiedenen Zählfrequenzen arbeiten:
N1 = Zählrate vom Zähler Nr. 1
Af2 = Zählrate vom Zähler Nr. 2
E1 = N1-1 = momentaner Zählerstand von
Zähler Nr. 1
E1 = N1 ■ t = momentaner Zählerstand von
Zähler Nr. 2
f = Zeit
angenommen /Vl > N2
/V1 · ι = (N2 ■ t) + /ι
/ ist der Zeitwert, zu dem die beiden Zähler den gleichen Rand aufweisen (bei einem Anfangswert Λ für den langsameren Zähler). Bei Gleichheit der Zählerstände ist
^1 ^2 ... N1-N2-
Das in F i g. 5 gezeigte Achsenpositionssignal mit der bekannten Abweichung genügt folgender Gleichung:
En = h
NR
N0 + N1
(D
dabei bedeuten:
En = erste IFZ, welche im Positionsregister zu Beginn des Schrittvektors für die üe Achse zu plazieren ist.
Λ = konstant = mittlerer Zählerstand des Referenzzählers
Nr = konstant = Frequenz des Referenzoszillators
N, = normalisierter Wert der /ten Achse für den Schrittvektor (Achsengeschwindigkeitskomponente siehe Seite ). Das Zeichen M 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 Referenzrechtecksignal anfänglich zum Zeitpunkt des Startes eines neuen Schrittvektors in Phase sind. Im allgemeinen ist Eu die Abstandsgrüße für eine auf die erste Impulsflanke folgende Impulsflanke. Deshalb können die Flankenzahlen des Schrittvektors durch Addition von En zum vorausgehenden Flankenwert erfolgen.
En = En + En
Ea = En + En Eix = E1,, + En
E11n, = £,·,„_,, + E1-, . (2)
Für die Erzeugung sukzessiver Flanken werte ist:
E,(n) = π χ En . (3j
Gleichung 2 wird jedoch gegenüber Gleichung 3 bevorzugt angewendet, da eine Addition gewöhnlich einfacher auszuführen ist, als eine Multiplikation.
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 25 μηι. Die vernachlässigbaren Bruchteile geben Positionsbestimmungen außerhalb der Genauigkeit von 25 μίτι an und sind deshalb für die Servosteuerungen auch nicht erforderlieh. 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 eventuellen Überlaufes nicht benutzten Teile der errechneten IFZ brauchen in diesem System nicht benutzt zu werden, weil 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 Positionssteuerung für die eigentliche Rotation wird extern zum Servosystem für die schrittweise arbeitenden Servos oder mit einer zusätzlichen Logik für absolute Seryosysteme durchgeführt. Im letzteren Fall könnte der Überlaufteil für eine IFZ in einer direkten Servosteuerung benutzt werden. Der Hauptfall für die Erzeugung des ersten Flankenwertes für den neuen Schrittvektor tritt dann ein, wenn das Befehlspositions- und das Referenzrechtecksignal außerphasig sind bezüglich benachbarter Schrittvektoren oder während eines durch manuelle Übersteuerung hervorgerufenen Geschwindigkeitswechsels für einen Schrittvektor. In diesen Fällen ist eine Ausrichtung auf die erste Impulsflanke des neuen Schrittvektors erforderlich.
In F i g. 6 wurde angenommen, daß der Geschwindigkeitswechsel zu einem Zeitpunkt 7ö eintritt. Eine solche Bedingung kann dann auftreten, wenn die Werkzeugmaschine gestartet oder gestoppt wird, wenn ein früherer Schrittvektor ausgeführt oder ein neuer Schrittvektor begonnen wird, verbunden mit einem Achsengeschwindigkeilswechsel oder wenn in einem Schrittvektor ein unvorhergesehener Vorschubratenwechsei auftritt.
In Fig.6 bezeichnet die Größe E,(„_i) die auf einen vorausgehenden Schrittvektor nächstfolgende Impulsflanke, E^n; die Abschlußflanke des vorausgehenden Schrittvektors und Ejn+1> die die theoretisch mögliche Position für die auf die Zeit 7ö folgende Flanke unter der Annahme, daß kein Geschwindigkeitswechsel erfolgt. Das Problem liegt dann in der Erzeugung einer dieser benachbarten Flankenposition /TVn+η oder E*,* 11 je nach dem, ob die Geschwindigkeit anwächst oder abfällt
Das Verfahren für die Erzeugung dieser Werte liegt darin, zunächst eine Subtraktion des Teiles der Phasenverschiebung zu E^1+1) durchzuführen (diese Größe ergab sich nach der Zeit 7o aufgrund des vorausgehenden Schrittvektors) und dann eine Addition einer Phasenverschiebungskomponente durchzuführen, die auf der neuen Geschwindigkeit nach 7ö basiert so daß sich folgende Beziehung ergibt:
N'
N*
Nr
In Gleichung 4 wird die Größe
£lln+11L Afc J
durch Auflösen der Gleichung 1 für ein theoretisches h erhalten, welches ergeben würde den Wert für E^n+1)· Der theoretische Wert von Λ würde der korrekte Wert für E'n„+\) für M=O folgend auf 7ö sein. Der zweite in eckige Klammern eingeschlossene Term in Gleichung 4 ist ausgerichtet auf eine theoretische Flankenposition, basierend auf dem neuen Wert N'i durch erneutes Anwenden von Gleichung 1.
Die Gleichung 4 könnte auch folgendermaßen geschrieben werden:
iln + ll —
In dieser Gleichung sind M und Λ/', normalisierte Geschwindigkeitskomponenten der /ten Achse vor und nach einem Geschwindigkeitswechsel und Nr ist die Frequenz des Referenzoszillators (250 kHz). In Gleichung 1 basieren die Zeichen M. M', auf der Richtung (— Vorwärtsbewegung, + Rückwärtsbewegung).
Auf FV«+i) folgende Flanken sind dann durch Summierung des festen Flankeninkrementwertes E'n erzeugt, bis das Ende des Schrittes erreicht ist oder bis der nächste Geschwindigkeitswechsel erfolgt. E'n wird nach Gleichung 1 errechnet für den neuen Wert N'i. Für aufeinanderfolgende Flankenwerte ergibt sich dann:
Um) — *-Ί'(ιη-1
D = \/X2 + Y2 + Z2.
Der Parameter Ψι ist definiert als:
(inch/Phaseneinheit) und deshalb gleich der Präzisionsspezifikation; die Präzisionsanforderung kann variiert werden, um eine Toleranzspezifikation für die einzelnen Teile zu erhalten.
Die Bewegungsdistanz (D) dividiert durch die Phasengeschwindigkeit (φ,) ergibt die Schrittausführungszeit.
Die entsprechenden Größen sind in den Gleichungen 4 und 5 benutzt worden, um zwischen den alten und den neuen Schrittvektorwerten zu differenzieren.
Die Normalisierung ist hauptsächlich deshalb erforderlich, um die Schrittvektorparameter zu modifizieren hinsichtlich einer gleichförmigen Werkzeuggeschwindigkeit, die unabhängig von den Bewegungsabständen ist. Deshalb ist der zusätzliche Bewegungsabstand für jede Achse gegeben durch die Eingabedaten als:
X = zusätzliche A'-Bewegung
Y = zusätzliche V-Bewegung (6)
Z = zusätzliche Z-Bewcgung
Jeder Verschiebewert (relative Adresse) wird angege-'ben in Einheiten der gewünschten Werkstückgenauigkeit (d. h„ eine Einheit = 2,54 μπι, 0,25 μηι etc.). Der Bewegungsabstand für einen Schrittvektor (D) für ein Dreiachsenwerkzeug mit linearen Verschiebewerten von jeder Achse ist:
T= Schrittausführungszeit bei normaler Werkzeuggeschwindigkeit.
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 Schrittvervollständigung festzusetzen, bestimmt sich zu:
R=J- T.
(10)
Es bedeuten:
R = Anzahl von Perioden der Referenzsignale, die erforderlich sind für die Ausführung eines
Schrittes bei normaler Geschwindigkeit
f = Referenzsignalfrequenz
T = Schrittzeit in Sekunden
Da der Schritt in einer Zeit ausgeführt werden muß, die einer ganzzahligen Größe von Referenzsignalperioden besteht, muß R als ganze Zahl 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 \R\ wird
(H)
wobei T' gewöhnlich aus Gleichung 10 durch einfache Division durch /bestimmt wird.
Jetzt ist es möglich, die normalisierte Phasenverschiebegeschwindigkeitskomponente für jede Achse auf einfache Weise zu erzeugen:
Nr =
Ny =
Nx =
T'
Z^
T'
oder zusammengefaßt:
r, =
Es bedeuten:
ψ/ = Werkstückkonstante = Maximumrate der Phasensignalverschiebung entlang des Schrittvektors (Phaseneinheiten/Sekunde)
Vn, = maximale (effektive) tangentiale Geschwindigkeit an der Schneidoberfläche (inch/Sekunde)
P = Werkzeugverschiebung pro Phaseneinheit bo I ist der zusätzliche Bewegungsabstand für die Achse /. Die M-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 T0 festzusetzen (siehe F i g. 6, Schnittende). Bei Benutzung des 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.
F i g. 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 einer Verarbeitungseinheit für eine Nachfolgeberechnung von nicht mit Rechnern verbundenen numerischen Steuersystemen. 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 Phasenanaloguntersystem 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 Maschinenwerkzeuges so anzuweisen und zu koordinieren, daß der gewünschte Schritt ausgeführt werden kann. Eine 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 Phasenanaloguntersystems der Verteilung des Informationsflusses zum I FZ-Generator. Die Logik schließt eine Adreßsteuerung für jede Achse ein, um ein Multiplexing des IFZ-Generator-Untersystem zu allen aktiven Achsen zu gestatten.
Den Algorithmus der Informationsverarbeitung zeigt das Blockdiagramm in Fig.8. Der Signalablaufplan kann in vier verschiedene Hauptsektionen eingeteilt werden:
1. Anfangswertzuweisung, welche für jedes zu bearbeitende Stück sofort durchgeführt wird:
2. Anlaufphase, weiche für jeden auf dem Werkstück auszuführenden Schritt durchgeführt wird;
3. Impulsflankenzahlenerzeugung, welche mehrere Male für jeden Schritt ausgeführt wird; und
4. Beendigungsphase, weiche zum Abschluß eines Werkzeugschrittes durchgeführt wird.
Anfangswertzuweisung
Wenn die Bearbeitung eines Werkstückes einzuleiten ist, müssen dem System bestimmte Werkstückparameter zugeführt werden:
/ = Frequenz der Referenzsignale
Λ = mittlerer Zählerwert des Referenzzählers
Nr= Frequenz des Referenzoszillators
φ, = Maximalrate der Phasen-Signalverschiebung des Maschinenwerkzeuges.
Da laut Gleichung 5 die erste Flankenzahl eines Schrittes einen Korrekturfaktor bezüglich der letzten Flankenzahl des vorausgehenden Schrittes 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 F i g. 8 ist die vorausgehende Flankenzahl gleich dem Wert h gesetzt und die normalisierte Vorschubrate für jede Achse gleich dem WertO.
Die Anlaufphase
Die numerischen Daten für jeden Schritt 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 erhalten werden, die Vorschubrate gleich 0 zu setzen. Für jeden Schritt wird die gesamte Bewegungsdistanz (D) im Zusammenhang mit Gleichung 7 errechnet Die Schrittausfü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 Schrittes, ergibt sich durch Multiplikation der Frequenz der Referenzsignale mit der Schrittausfü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 Schrittausfü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 Schritt wird nach Gleichung 12 und die erste Flankenzahl 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 weiche den Wert für die vorausgehende Vorschubrate enthält Dadurch wird es ermöglicht auf beide Werte, die normalisierte Vorschubrate für diesen Schritt und die vorausgehende normalisierte Vorschubrate, zurückzugreifen. Die Anlaufphase endet mit der Erzeugung der Abstandsdistanz Εχ ι (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 Anforderung von irgendeinem der
so Achsenpositionsregister vorliegen, ist der Generator freigestellt für eine weitere Programmverarbeitung. Diese Simultanverarbeitung 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 Εχ\ zu diesem letzten Flankenwert erzeugt Der dabei auftretende arithmetische Überlauf wird mit dem Wert R verglichen, um zu bestimmen, ob der Schritt beendet worden ist oder nicht Wenn der Schritt 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 Schritts beginnt wieder die Anlaufphase durch Lösen des nächsten Datenblockes.
Ebenso wäre es aber auch möglich, das Ende eines geradlinigen Schrittes dadurch anzuzeigen, daß der
Referenzzähler zu eine-n Stand (OOC) zurückkehrt. Dieser Zählerstand wird am Ende jeder Periode eines Referenzrechtecksignals eintreten. Sobald R auf den Wert 0 abgebaut worden ist, wird der Schritt beendet
Beendigungsphase
Wenn der letzte Datensatz bezüglich des Schrittes 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 Schritt 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 seia 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 F i g. 8 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 Schritt 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 eineir 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 F i g. 7 gezeigt sind, beschrieben.
Generator zur Erzeugung der Impulsflankenzahlen
35
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 entwickelten Schaltung ausgeführt werden.
F i g. 9 zeigt das Blockdiagramm für diese Schaltung. Sie enthält einen Speicherpuffer 29, ein Adreßregister (AR) 30, das mit dem 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 dte Erzeugung der aufeinanderfolgenden Flankenzahlen während der Ausführung eines Schrittes 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 (CPU) vorgenommen wird (nicht gezeigt). Ebenso wird auch t,o die Rechnung für die Anlaufphase von der Zentraleinheit getragen. Für jeden Schritt liefert die Zentraleinheit an die Spezialschaltung, wie diese in Fi g. 9 gezeigt ist, die Parameter: R (Anzahl von Referenzzyklen für den Schritt); En und £n,(die erste Flankenzahl). Diese Daten b5 werden im Puffer 29 in einem mit dem Maschinenwerkzeug verbundenen Feld gespeichert. Bei jeder Anforderung einer neuen Flankenzahl für ein Achsenpositions register wird vom Zyklussteuersystem (Fig. II) eine Adresse empfangen und plaziert in AR 30. Das bedingt die zugeteilte Abstandsdistanz £,1 und den zugestandenen Wert von R, welcher nach SPR 31 einzulesen ist von wo aus dessen Übertragung nach SR 32 erfolgt Der fortlaufende gültige Flankenwert Em (inklusive des Uberlaufteiles, des geradzahligen Teiles und der Bruchteile) wird dann nach SPR 31 gelesen. Der kennzeichnende ganzzahlige Teil von Em wird über die Leitung 35 zum betreffenden Achsenpositionsregister übertragen (dadurch Fig. 10). En wird dann addiert zu E1n durch den Addierer 33 und zurückübertragen in den Puffer 29 über das Speicherpufferregister 31 in die Position, die zuvor von E„ eingenommen wurde. Der Wert von R, welcher in SR 32 enthalten ist, wird mit dem Überlaufteil des neu gebildeten Flankenwertes Em im Vergleicher 34 verglichen, um zu ermitteln, wenn die endgültige Flankenzahl für diese Achse erzeugt worden ist Sollte dies der FaI! 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 .!9 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 erzeugten Flankenzahlen zur Zentraleinheit zu übertragen, um dort die erste Rankenzahl für den nächsten Schritt 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 F i g. 10 ist ein schematisches Blockschaltbild dieses Untersystems gezeigt. Es besieht aus dem Referenzzählerschaltkreis, 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 Phasenanaloguntersystems würden für jede Achse ein einzelnes Achsenpositionsregister und einen Vergleicher vorsehen.
Zyklussteueruntersystem
Das Zyklussteueruntersystem, so wie es in F i g. 11 gezeigt wird, enthüllt einen freilaufenden Vorschuboszillator 44, welcher einen Achsenadreßzä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.
Den Eingang eines jeden Und-Gliedes 48 bildet ein Trigger 49, welcher über die Anforderungsleitung 43 von dem Phasen-Analog-Untersystem gesetzt wird
(Fig. 10). Der Ausgang eines jeden Und-GIiedes 48 bildet jeweils einen Eingang zum Oder-Glied 50, welches dazu benutzt wird, den Zyklussteuerungszeitgeber 51 zu starten und nach eiaer 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 Übereinstimmung bezüglich des Adreßdecoders 47 und eines entsprechenden Triggers 49 das Und-Glied 48 leitend macht Das Ausgangssignal des Oder-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 Flankenerzeugungsuntersystem in die entsprechenden Achspositionsregister 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
F i g. 12 zeigt das Blockdiagramm einer Schaltung, die eine zusätzliche Steuerung der Vorschubrate für das Maschinenwerkzeug gestattet. Zwischen dem Oszillator 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 Referenzsignals und des entsprechenden Befehlspositionssignals bedingt. So würde z. B. ein Vorschubratenfaktor von 0,5 die Frequenz der Rechteckwellen, die vom Referenzzähler 56 empfangen werden, halbieren. Düraus würde die zweifache Zeit für die Ärbeitsgenauigkeit der Servos resultieren. Da jedoch eine solche Apparatur bestimmte Frequenzbandcharak.eristiken 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 hinsichtlich einer manuell herbeigeführten Übersteuerung ist in Fig. 13 gezeigt. Diese Apparatur schließt einen Schalter 58 ein, welcher einen Leitungssatz von "Yiggern 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 Anteil 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 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 1
Konturbefehl
Das folgende numerische Beispiel demonstriert die Logik für eine gewöhnliche Positionssteuerung einer Zweiachsenkonturenmaschine.
Angenommen, ein neuer Schrittvektor sei gegeben zu:
X = +400 Einheiten
Y = -300 Einheiten
Aus Gleichung 7 folgt der Bewegungsabstand
D = I (40O)2 + (3O0)2 = 500 . (7)
Unter der Annahme, daß die maximale Tangentialgeschwindigkeit (Vn,= 1 Zoll pro Sekunde) und die Genauigkeit (P= .0001 Zoll) sei. wird nach Gleichung 8
♦■· = -ööor = ia(X)0
und nach Gleichung 9 die Schrittzeit
500
T =
10,000
= 0.05.
(8)
(9)
Gleichung 10 ergibt die Anzahl der Referenzzyklon R als:
R = 250 (0.05) = 12.5.
Bei einer gewählten ganzen Zahl R = 12 wird
= 0.048
(II)
Nx =
Nx =
400
0.048
-300
= 8333.3
= -6250.0.
(12)
(12)
0.048
Unter der weiteren Annahme, daß der Vorschubratenbruchteil für diesen Schrittvektor 0,5 ist, ergibt sich
Nx = (0.5) (8333.3) = 4166.6 N,. = -(0.5) (6250) = -3125.0 12
R =
0.5
= 24.
(15) (15)
(13)
Unter Benutzung von Gleichung 1 sind die zusätzlichen Flankenabstände:
Exl = 500 f-
250
250 - 4.1666
= 508.474
£,., = 500
250
r)·
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 Flankenzahlen für jede Achse.
Flanken-
Nr.
A'-Achse
K-Achse
1 1 508 474 0 493 827
2 1 016 948 1 987 654
3 2 525 422 1 481 481
4 2 033 896 2 975 308
5 4 542 370 4 469 135
9 5 576 266 4 444 443
10 084 740 5 938 270
11 10 9 432 097
20 12 169 480 12 876 540
25 15 711 850 14 345 675
30 17 254 220 17 814 810
35 20 796 590 19 283 945
40 23 338 960 22 753 080
46 23 389 804 23 716 042
47 24 898 278 23 209 869
48 406 752 24 703 696
49 197 523
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 Schrittvektor 0 ist.
Danach wäre die in Fig.6 gezeigte Situation realisiert. 48 -Y-Flankenzahlen und 49 Y Flanken/ahlen wurden bis zu dem Zeitpunkt erzeugt, als der Überlauf den Wert 24 (R) erreichte. Die mit £>„+]) in Fig.6 bezeichneten Flanke korrespondiert mit £^48 oder mit Ey^dieses Beispiels, wenn
Ex (48) = 406.572
Eym= 197.523
ist. Da aber 7o das mathematische Ende des Schrittes angibt (R = O), muß der endgültige Flankenwert von beiden Achsen eingestellt sein auf den Geschwindigkeitswechsel zur Zeit To; deshalb ergeben sich nach
Gleichung 5
E'
*<48)
= 406.572 1 +
und
; = -^- = 0.86364
-4.1666
.150 J
399.98 (400 durch Rundung)
(5) 5 und die revidierten Phasengeschwindigkeitskomponenten :
K = 4166.6 (.86364) = 35*8.5 (!5)
N'y. = -3125 (.86364) = -2698.9. (15) (5) Nach Gleichung 1 ergeben sich Rankenteilwerte zu:
= 199.99 (200 durch Rundung).
15
In der Praxis würden die Werte E'lW und E7^49) in Erwartung auf das Schrittende errechnrt worden sein. Das ursprüngliche Problem stellt sich somit jetzt als ein gleichförmiges Fortschreiten der Λ-Achse um + 400 Einheiten und als Retardieren der V-Achse um (200—500) = 300 Einheiten bei halber Maximalgeschwindigkeit dar.
Beispiel 2 25 _
Ungeplanter Vorschubratenwechsel
Für dieses Beispiel ist ein willkürlicher Zeitwert (R= \9) von unserem vorauseilenden Beispiel gewählt, sowie ein Moment, in welchem die neue Vorschuorate jo 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 Schrittvollendung = 50°
" 50°
250
250 + 2.6989
Λ =
und die Einstellungen zur Startflanke
494.660 (1) zu:
+11 —
= 084.575
432.097 fl +
-3.1250
, 250
2.6989
1*1 =
0.9
= 22
(13) = 432.974.
Basierend auf dem neuen Satz der Startflanken (E'j(n+\)) und den Flankenabstandswerten (E'n) entsprechend der revidierten Vorschubrate, gibt die folgende Tabelle den Flankenwertwechsel bezüglich der vorausgehenden Tabelle an.
Flanken-
Nr.
Jf-Achse X-Achse
1 508 474 4 493 827
8 4 4
9 5 576 266 5 444 443
10 5 084 575 5 938 270
11 6 591 870 432 974
12 26 099 165 26 927 634
53 27 898 260 27
54 405 555 703 354
55 136 014
Angenommen, der folgende Schrittvektor würde zu Null, so ergeben sich für die endgültigen Flanken werte
^n<t«r, 3.5985Ί
= 405.555 |J 25Ö~"J
= 399.72 = 400 (gerundet)
=I 98.0.4[.+ 2^]
= 200.08 = 200 (gerundet)
(5)
(5)
wie in dem vorausgehenden Beispiel.
Die horizontale Zeile dieser Tabelle trennt die früheren Tabellenwerte von den auf den Vorschubratenwechsel folgenden. Es ist zu bemerken, daß die Ausführung des Geschwindigkeitswechsels mit der ersten Flanke von jedem Achsenpositionssignal einsetzt, das auf den Moment folgt, in welchem das Referenzsignal zu Null zurückbleibt. In diesem Beispiel sind, wie in der Tabelle gezeigt wird, die zugewiesenen Flanken Ex^0)und E^wy.
Der optimale Zeitpunkt, mit einem ungeplanten Vorschubratenwechsel zu beginnen, liegt etwas willkürlich und ist abhängig von der spezifischen Ausführung des Systems. Im allgemeinen kann auf eine Anfrage hin eine geeignete Zeit gewählt werden, um die augenblickliche Verarbeitungsanforderungen 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).
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ückkopplungsservosysteme
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 F i g. 13 gezeigt Der Positionsgenerator 69 empfängt Achsenbewegungsdaten für jeden Schritt 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 Positionswerte 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 umrandten Blocks) 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-Analogwandler 78 für die Konvertierung des Ausgangssignals des Subtrahierer: in ein analoges Signal, einen Verstärker 79 für diese: s analoge Signal, eine Servoantriebssteuerung 80 für den eigentlichen Servoantrieb 8t des Maschinenwerkzeug: 82. Ebenso sind in das System ein X-, ein Y- und ein 2 (83, 84, 85)-Positionsfühler eingeschlossen, welche die tatsächliche Position des Maschinenwerkzeuges feststellen und diese Information an die Register 73, 74, 75 liefern. Bei der Erzeugung der Fiankenzahlen für jede Achse ist der totale Wert von Ader Referenztaktzyklen nach den Gleichungen 7, 8, 9 und 10 von dem Positionsgcncrator 68 bestimmt, and 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 eine ganze Zahl) 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 Schritt 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 Schritt 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 Schritt 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 erforderlich ist Der O-Status des Triggers 88 wird dazu benutzt dem 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 R = 0 ist ist geradlinige Schritt auch beendet
Beispiel 3
Konturenbefehl
Angenommen in einer Zweiachsen-Konturenmaschine sei der Schrittvektor gegeben durch:
X= +400 Einheiten
Y= —300 Einheiten
und der Wert von R wäre bestimmt worden zu
R= 193
Die Abrundung der Größe R auf die nächsthöhere ganze Zahl führt zu R (Integer)=20.
Ebenso sei auch angenommen, daß als Folge des vorausgehenden geradlinigen Schrittes das X-Befehlspositionsregister den Wert 864 und das y-Befehlsposi-
tionsregister den Wert 1216 enthält. Da 2/? = 40 ist, ergibt sich als erste Befehlspositionszahl für jede Achse
Fu= 400/40= 10.00
£,.,= -300/40=-7.50
Die folgende Tabelle zeigt die Werte von aufeinanderfolgenden Befehlspositionszahlen die erzeugt wurden für jede Achse.
Positions-
874.00
884.00
894.00
904.00
914.00
1044.00
1054.00
1164.00
1174.00
1208.50 1201.00 1193.50 1186.00 1178.50
1081.00
1073.50
991.00
983.50
Vorschubrate für jede Achse (i) benutzt werden kann. Unter der Annahme folgender Definitionen:
71 = erster neuer Zyklus des Referenzsignals, das
auf einen Vorschubratenwechsel folgt.
' Ei(m) - letzte Flankenzahl für die /.te Achse nach 71.
/V = Zahl der Vorausschau-Zyklen: d. h. ein Vorausschauintervall von 100 Millisekunden erfordert JV= 25 für ein 250 Hz Differenzsignal.
'" T2 = Zeitpunkt der Instituierung eines Vorschubratenwechsels.
£/(7i+1) = erste Flankenzahl des Positionssignals, welches folgt auf Γ2 (basierend auf einer gleichbleibenden Vorschubrate).
Das Problem liegt dann darin, die Flankenzahl £,fn+i) zu erzeugen. Die gesamte Differenz zwischen Ei(m) und T2, gemessen im Flankeneinheiten, beträgt dann:
Der erste Klammerwert ist die Distanz zu 71, die zweite ist die Distanz zwischen 71 und T2. M ist die Referenzzählerkonstante (1000).
r> Die Anzahl der Flanken (B)\n diesem Zwischenraum ist bestimmt durch Division des Flankenverschiebungswertes £,i,nachGleichung(l):
= M(N+I)- Eiim)
J» ' En
oder
η _
1 ~
(16)
1244.00 931.00
1254.00 923.50
1264.00 916.00
Nach der Erzeugung der 40. Befehlspositionszahl wird R auf 0 abgebaut worden sein, was das Ende eines Schrittes bedeutet und die X-Achse des Maschinenwerkzeuges wird sich 400 Einheiten in die positive Richtung bewegt haben, während die V-Achse 300 Einheiten in die negative Richtung bewegt v/urde.
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, im Vorschub die Flankenzahlen zu erzeugen, die erforderlich sind für jede Achse, um einen gewünschten Schritt 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 Millisekunden als voraussichtliches Intervall 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, £>n+i), so daß Gleichung (5) für die neue K ist als Konstante für das Werkzeug gewählt worden. Um die erste auf T2 folgende Flanke ausfindig zu machen, wird der Bruchteil von B vernachlässigt und die nächsthöhere ganze Zahl gewählt.
Wenn die aufeinanderfolgenden Flankenwerte in einer Tabelle zusammengestellt worden sind, können die korrekten Werte für £,(„+1) durch Indexierung in der Tabelle erhalten werden.
Andernfalls ist aber auch eine direkte Bestimmung nach Gleichung 17 möglich:
£f(m) + Bi ■ En .
(17)
>o Um die Flankenzahlen zu erzeugen, die für die Ausführung eines neuen Schrittes erforderlich sind, kann unabhängig vom Geschwindigkeitswechsel eine einfache Regel angewendet werden. Unter der Annahme, daß Enm+\) die erste Flankenzahl des neuen Schrittvektors ist, ergibt sich
ö, =
RM-
(18)
Darin ist R wieder die Zahl der Referenzzyklen laut Gleichung 10. Der Bruchteil von B ist wieder vernachlässigt; ebenso ist die nächsthöhere ganze Zahl gewählt worden, um nach Gleichung 17 den Wert Eqn+^ zu errechnen.
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 ä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 F i g. 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 Schrittvektors, 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 Referenzsignals zwei Ausgangsimpule 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
r> erzeugen am Binärtrigger ein kontinuierliches Befehlspositionssignal mit einer O-Phase, solange die Ruheleitung im aktiven Zustand verbleibt.
Im Rahmen anderer Ausführungsformen der Erfindung ist es möglich, die im beschriebenen Ausführungs-
H) beispiel verwendete Spezialschaltung für die hochfrequenten Operationen unter bestimmten Gesichtspunkten auch durch einen Allzweckcomputer ersetzen zu lassen. Andere gebräuchliche Variationen der Erfindung würden ein Zwischenspeichermedium wie ein Magneiband oder eine Magnetplatte umfassen. Solch ein Medium könnte zur Speicherung vorberechneter Parameterwerte dienen, die als Eingabedaten zu der in F i g. 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.
Hierzu 7 Blatt Zcichnunnen

Claims (3)

Patentansprüche:
1. Numerisch gesteuertes Werkzeugmaschinensystem für Maschinenwerkzeuge mit jeweils einer oder mehreren Bewegungsachsen, bei dem für jede dieser Bewegungsachsen aus den digitalen die Länge und Richtung eines Bear'oeitungsschrittes kennzeichnenden Daten Befehlspositionssignale erzeugt werdenderen Phasenverschiebung gegenüber Referenzsignalen der Steuerung der Bewegung des Werkstückes oder des Maschinenwerkzeuges dient und welches einen oszillatorgespeisten Referenzzähler und ein Positions-Register für jede Bewegungsachse aufweist zur zwischenzeitlichen Speicherung der von einer Rechen-Anordnung aus den Angaben für einen Bearbeitungsschritt errechneten Steuerinformation, dadurch gekennzeichnet, daß jedes Positions-Register (11,12) mit einer Vergleichsschaltung (13,14) verbunden ist, und daß bei Gleichheit des Inhaltes des Referenzzählers (3) — von dem die Referenzsignale ableitbar sind — und des Positions-Registers (11, 12) über eine der Vergleichsschaltung nachgeschaltete Triggerschaltung (15,16) ein Befehlspositionssignal erzeugbar ist und daß zur Bestimmung der den Zeitpunkt des Anstiegs und Abfalls des Pegels der Befehlspositionssignale entsprechenden Steuerinformation eine niederfrequent arbeitende Rechenschaltung mit einer hochfrequent arbeitenden Additionsschaltung zur gegenseitigen Datenübertragung verbunden ist, welche mit dem jeweils entsprechenden Positionsregister verbunden ist.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß zur Speicherung der Rechenwerte 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.
3. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß zur Untersetzung der Vorschubrate für das Maschinenwerkzeug zwischen dem Referenzoszillator (2) und dem Referenzzähler (3) ein durch ein Register (57) steuerbarer Impulsuntersetzer (54) geschaltet ist und/oder eine Reihe manuell ansteuerbarer Triggerschaltungen mit jeweils unterschiedlicher Untersetzung vorgesehen ist.
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 DE1965127A1 (de) 1970-07-16
DE1965127B2 DE1965127B2 (de) 1979-07-05
DE1965127C3 true 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
DE3484150D1 (de) * 1983-06-10 1991-04-04 Nec Corp 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
DE1965127A1 (de) 1970-07-16
CH504719A (de) 1971-03-15
US3591781A (en) 1971-07-06
FR2027300A1 (de) 1970-09-25
BE742109A (de) 1970-05-04
GB1274539A (en) 1972-05-17
NL6919460A (de) 1970-07-02
JPS4919753B1 (de) 1974-05-20
ES374496A1 (es) 1972-01-01
SE355876B (de) 1973-05-07
DE1965127B2 (de) 1979-07-05

Similar Documents

Publication Publication Date Title
DE2124983C2 (de) Numerische Bahnsteuerung für eine Werkzeugmaschine
DE2712169A1 (de) Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter
DE1763946B2 (de) Positionierungseinrichtung für einen beweglichen Teil einer Arbeitsmaschine, insbesondere Werkzeugmaschine
DE1538522C3 (de) Lageregelein richtung
DE2138815A1 (de) Numerische Werkzeugmaschinensteue rung
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
DE1965127C3 (de) System für numerisch gesteuerte Werkzeugmaschinen
DE2001935C2 (de) Digitale Steuereinrichtung zur Steuerung von Vorschubbewegungen
DE2724664C3 (de) Einrichtung zur Erzeugung einer Zusatzdrehbewegung eines schrägverzahnten Zahnrad-Werkstücks in einer zwangslaufgesteuerten, nach dem Schraubwälzverfahren arbeitenden Zahnrad-Bearbeitungsmaschine
DE1301920B (de) Anordnung zur numerischen Steuerung der Bewegung eines Gegenstandes
DE1763934C3 (de) Positionierungseinrichtung für einen beweglichen Teil einer Arbeitsmaschine, insbesondere Werkzeugmaschine
DE2030711A1 (de) Steuervorrichtung mit einer Interpoliereinheit zur kontinuierlichen Einstellung eines beweglichen Elements, beispielsweise einer Werkzeugmaschine
DE2034373A1 (de) Steuereinrichtung zum Steuern der Geschwindigkeit des Vorschubs eines Werk zeugs
DE2643148A1 (de) Steuereinrichtung bei einer rechnergefuehrten steuerung einer numerisch gesteuerten werkzeugmaschine
EP0672976B1 (de) Elektronische Steuereinrichtung für Einzelantriebe von Bearbeitungsmaschinen und Verfahren zum Steuern der Einzelantriebe
DE2246375B2 (de) Numerisch gesteuerte gewindeschneideanlage
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)
DE1152473B (de) Numerische Programmsteuerung mit einem Interpolator und einem Positionierungs-Regelkris
DE1538595C3 (de) Numerisch arbeitende Programmsteuerungsanordnung für Werkzeugmaschinen
DE2441279C3 (de) Vorschubsteuerung für eine numerische Steuereinrichtung
DE1763932B2 (de) Vorrichtung für eine numerisch arbeitende Programmsteuerung
DE2210376A1 (de) Schaltungsanordnung zur Regelung der Bewegung eines längs eines Wegsegmentes laufenden Elementes

Legal Events

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