DE1965127C3 - System für numerisch gesteuerte Werkzeugmaschinen - Google Patents
System für numerisch gesteuerte WerkzeugmaschinenInfo
- 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
Links
- 230000033001 locomotion Effects 0.000 claims description 38
- 239000000872 buffer Substances 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 230000010363 phase shift Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 239000012536 storage buffer Substances 0.000 claims 1
- 230000008859 change Effects 0.000 description 26
- 239000013598 vector Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 238000007792 addition Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 4
- 238000003754 machining Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101001114868 Bacillus subtilis (strain 168) 30S ribosomal protein S21 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- JTJMJGYZQZDUJJ-UHFFFAOYSA-N phencyclidine Chemical class C1CCCCN1C1(C=2C=CC=CC=2)CCCCC1 JTJMJGYZQZDUJJ-UHFFFAOYSA-N 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/19—Numerical 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/39—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/41—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/41—Numerical 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/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34121—Edge 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-
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)
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
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
E1 = N1 ■ t = momentaner Zählerstand von
Zähler Nr. 2
f = Zeit
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
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
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:
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)
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
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.
Λ = 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
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.
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
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.
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
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
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
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
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
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)
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
, 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
= 405.555 |J 25Ö~"J
= 399.72 = 400 (gerundet)
=I 98.0.4[.+ 2^]
= 200.08 = 200 (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
Konturenbefehl
Angenommen in einer Zweiachsen-Konturenmaschine sei der Schrittvektor gegeben durch:
X= +400 Einheiten
Y= —300 Einheiten
Y= —300 Einheiten
und der Wert von R wäre bestimmt worden zu
R= 193
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
£,.,= -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
884.00
894.00
904.00
914.00
1044.00
1054.00
1054.00
1164.00
1174.00
1174.00
1208.50 1201.00 1193.50 1186.00 1178.50
1081.00
1073.50
1073.50
991.00
983.50
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.
' 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
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
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)
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.
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)
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)
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 |
-
1968
- 1968-12-30 US US787643A patent/US3591781A/en not_active Expired - Lifetime
-
1969
- 1969-11-14 GB GB55766/69A patent/GB1274539A/en not_active Expired
- 1969-11-17 FR FR6940270A patent/FR2027300A1/fr not_active Withdrawn
- 1969-11-24 BE BE742109D patent/BE742109A/xx unknown
- 1969-12-12 ES ES374496A patent/ES374496A1/es not_active Expired
- 1969-12-24 NL NL6919460A patent/NL6919460A/xx not_active Application Discontinuation
- 1969-12-26 JP JP44104448A patent/JPS4919753B1/ja active Pending
- 1969-12-27 DE DE1965127A patent/DE1965127C3/de not_active Expired
- 1969-12-29 SE SE17951/69A patent/SE355876B/xx unknown
- 1969-12-30 CH CH1938269A patent/CH504719A/de not_active IP Right Cessation
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 |