DE1965127B2 - System für numerisch gesteuerte Werkzeugmaschinen - Google Patents
System für numerisch gesteuerte WerkzeugmaschinenInfo
- Publication number
- DE1965127B2 DE1965127B2 DE1965127A DE1965127A DE1965127B2 DE 1965127 B2 DE1965127 B2 DE 1965127B2 DE 1965127 A DE1965127 A DE 1965127A DE 1965127 A DE1965127 A DE 1965127A DE 1965127 B2 DE1965127 B2 DE 1965127B2
- 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.)
- Granted
Links
- 230000033001 locomotion Effects 0.000 claims description 37
- 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
- 238000003754 machining Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 239000012536 storage buffer Substances 0.000 claims 1
- 230000008859 change Effects 0.000 description 24
- 239000013598 vector Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 15
- 238000007792 addition Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000012937 correction Methods 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
- KRQUFUKTQHISJB-YYADALCUSA-N 2-[(E)-N-[2-(4-chlorophenoxy)propoxy]-C-propylcarbonimidoyl]-3-hydroxy-5-(thian-3-yl)cyclohex-2-en-1-one Chemical compound CCC\C(=N/OCC(C)OC1=CC=C(Cl)C=C1)C1=C(O)CC(CC1=O)C1CCCSC1 KRQUFUKTQHISJB-YYADALCUSA-N 0.000 description 1
- 101001114868 Bacillus subtilis (strain 168) 30S ribosomal protein S21 Proteins 0.000 description 1
- 101150087426 Gnal gene 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
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects 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
- 230000003252 repetitive 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 Positionsme3fühler, Verstärker, Signalformer und Bewegungsmittel für das
Werkstück oder den Schneidkopf. Alle Achsen des Systems sprechen simultan auf die Phasendifferenz
zwischen einem positionsanzeigenden Rückkopplungssignal und dem zugewiesenen Befehlspositionssignal an,
um die Bewegung entlang des gewünschten 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 Referenzzähler von einem freilaufenden Referenzoszillator
gespeist wird. Das Referenzsignal hat eine
jo 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 Ab%tandsinformation
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 ΔΧ- und Δ K-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
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
(,■> 20 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 Maschinenwerlczeug 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,53 μπι
und einer maximalen Bewegungsgeschwindigkeit von 5 χ 25,4 mm pro Sekunde einen Interpolator erfordern,
welcher 150 000 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 vet folgen zu können, weiche
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 Spezialzwe.kmaschine
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 Befehlspositionssignale
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, weiche
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,
F i g. 3 Einzelheiten der Servo-Steuerungen für die
Darstellungen in den F i g. 1 und 2,
F i g. 4 einen schsmatischen Verlauf eines Referenzsignals
und zweier Befehlspositionssignale (BS A, BS B),
F i g. 5 eine Hilfsdars( .'llung zur Erleichterung dc j
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
neuen 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 Zyklus-Steuer-Untersystems,
F i g. 11 ein schematisches Blockdiagramm des Zyklus-Steuer-Untersystems,
Fig. 12 ein schematisches Blockdiagramm für die Untersetzung der Vorschubrate,
Fig. 13 ein schematisches Blockdiagramm eines Schaltkreises für die manuell bewirkbare Vorschubrateneinstellung,
Fig. 14 ein schematisches Blockdiagramm eines servogesteuerten Werkzeugmaschinensystems mit digitaler
Rückkopplung, welches nach weiteren Gesichtspunkten der Erfindung konstruiert wurde.
Fig. i zeigt ein Blockdiagramm für ein bereits bekanntes numerisch gesteuertes Werkzeugmaschinensystem. Der Interpolator I nimmt numerische Daten auf,
welche den Bewegungsabstand jeder Achse für einen vorgegebenen 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 entsprecherd
weitere Zähler vorzusehen). Der Interpolator liefert an den X-Achsenzähler 5 .Y-Pulse und Richtungssteuersignale (RSS) und an den K-Achsenzähler 6
V-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 A'-Befehlspositionsrechtecksignals auf der Leitung 7
so benutzt, der Triggei' des V-Achsenzählers zur Erzeugung
eines V-Befehlspositionsrechtecksignals auf de,·
Leitung 8. Das Referenzsignal auf der Leitung 4 und die Beiehlspositionssignale (XBPS, YBPS) 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 Steuerinformation
zum Ar'.rieb eines beweglichen Schlittens
erzeugt. Der Block 9 umfaßt Phasendiskriminatoren, Positionsabfühler, Verstärker, Signalformer und Mittel
zur Bewegung des Werkstückes oder des Werkzeuges.
Diese zuletzt genannten Dinge sind bereits bekannt und werden aus diesem Grunde nicht näher beschrieben.
F i g. 2 zeigt das numerisch gesteuerte Werkzeugma-
t~, 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
(Impulsfinnkenzahlen), welche die zeitliche Position der Vorder- und Rückflanke eines Befehlspositionsrechtecksignals
repräsentieren. Außerdem sind ein A"-Ach- > senpositionsregister 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 Bcfehlspositionssignale in
(X BPS. V0PS;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, welche in den an den Generator 10 angeschlossenen
,Y-Achssripositiorisrc^isisr 11 bzw. K-Achs?nnosiii^n<;-register
12 zwischenzeitlich gespeichert werden. (In Maschinensystemen mit mehr als zwei Achsen müßten _>n
entsprechend auch mehrere Achsenpositionsregister vorhanden sein). Der Inhalt des X-Achsenpositionsregisters
11 wird durch eine Vergleichsschaltung 13 mit dem Inhalt des Referenzzählers 3 für jeden durch den
Oszillator 2 erhöhten Zählerstand verglichen. Sobald >-> der Vergleich auf gleich lautet, wird ein Ausgangssignal
des Vergleichers 13 auf den Trigger 15 eine Umkehr des Triggerstatus bedingen. Außerdem wird das Ausgangssignal
der Vergleichsschaltung 13 auch auf den Generator 10 geleitet, um diesen zu veranlassen, die so
nächste I FZ-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-Achsenpositionsre- r, gisters 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 ?.. 3 hervorgeht, wird das Referenzsi- 5η
gnal einem Signalformer 17 zugeführt, welcher daraufhin Zeitsignale an die PositionsmeBfühler 18 für jede
Achse des Maschinenwerkzeuges liefert Diese PositionsmeBfü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 Äusgangssignai 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.
IaG; sich besonders vorteilhaft ein Zähler verwenden,
der für dezimale Operationen mit einem 54 2 1 Code oder für Binäroperationen mit einem Binärcode
arbeitet.
Der Grund für die Verwendung eines Dczimalzählers für den Referenzzähler ist der, daß der Hochwerttrigger
hei Überschreitung der Hälfte der maximal zulässigen Zählerstufen seinen Zustand ändert (0 oder 1). Bei einem
Dreidekadenzähler, welcher die Zahlen von 0 bis 999 repräsentieren kann, wird der Hochwerttrigger der
dritten Dekade im O-Status sein, wenn der Zählerstand die Zahlen 0 bis 499 umfaßt und er wird in seinem
1-Status sein, wenn der Zählerstand von 500 bis 999 reicht. Die eine Ausgangsleitung des Hochwertträgers
wird ein Rechtecksignal führen, das eine Frequenz aufweist, welche Viooo der des Referenzoszillators
beträgt. Parü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
(1) 500 + ε
(2) 2e
(3) 500+ 3ε
aufeinanderfolgend im Achsenpositionsregister A plaziert wurden, dann würde eine Phasenverschiebung von
ε. 2ε, und 3e 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-2e
(3) 500-3ε
F i g. 4 zeigt das Referenzsignal und die Befehlssifna-Ie
A und B.
Das Problem der Steuerung jeder Achse des Maschinenwerkzeuges besteht insbesondere darin, die
IFZ aufeinanderfolgender Befehlspositionssignale im Zusammenhang mit der gewünschten Geschwindigkeit
Präzision und Richtung des Schrittweges vorauszusehen, um diese IFZ-Werte zu den entsprechenden Zeiten
in den Achsenpositionsregisters zu plazieren.
Dazu seien zunächst zwei Zähler berücksichtigt die mit verschiedenen Zählfrequenzen arbeiten:
/V1 = Zählrate vom Zähler Nr. 1
N1 = Zählrate vom Zähler Nr. 2
E1 = JV1 · t = momentaner Zählerstand vom
Zähler Nr. 1
E1 = N2 ■ t = momentaner Zählerstand vom
E1 = N2 ■ t = momentaner Zählerstand vom
Zähler Nr. 2
t = Zeit
.muciiommcn ,Vl
> .V2
/ isi der Zeitwert, zu dem die beiden Zähler den
gleichen R;md aufweisen (bei einem Anfangswerl h für
ilen langsameren Zähler). Bei Gleichheil der Zählerstände
ISl
.V1 ■ ι - h
λ; λ\
I)1IS in Cig. 5 gezeigte Achscnpositionssignal mit der
bekannten Abweichung trennet folpendiv Glriihiinu·
■v«
-v,
dabei bedeuten:
/: ι = erste IFZ. welche im Positionsrpgister zu Beginn
des Schriitvcktors für die /.te Achse zu plazieren
isi.
/; = konstant = mittlerer Zählerstand des Referenzzählers
Nk = konstant = Frequenz des Referenzoszillators
iV, ' normalisierter Wert der /ten Achse für den
.Schrittvektor (Achsengeschwindigkeitskomponente siehe Seite ). Das Zeichen N, ist das
gleiche wie das Achsenrichtungszeichen ( — vorwärts: + Umkehr).
Gleichung I dient der Berechnung der ersten IFZ. unter der Annahme des a-typischen Falles, in welchem
das Befehlspositions- und das Refercnzrechtccksignal anfänglich zum Zeitpunkt des Startes eines neuen
.Schrittvektors in Phase sind. Im allgemeinen ist E1, die
Abstandsgrübe für eine auf die erste Impulsflanke folgende Impulsflanke. Deshalb können die Flankenzahlen
des Schrittvektors durch Addition von En zum vorausgehenden Flankenwert erfolgen.
E12 = En + En
£,-., = Ej2 + En
£,4 = £,„ + En
£,-., = Ej2 + En
£,4 = £,„ + En
Für die Erzeugung sukzessiver Flankenwerte ist:
£„„, = π χ En . (3)
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 Überlaufteil 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 um. Die vernachlässigbaren
Bruchteile geben Positionsbestimmungen außerhalb der Genauigkeit von 25 μιτι an und sind
deshalb für die Servosteucrungen auch nicht erforderlieh.
Dessen ungeachtet können aber auch Servosystenic
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 mil ü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 Fin solches Servosystem
bedient sich eines Führungsgewindes für die Pnsilinnsslpiifriinp jednr Arhsr (0 his QQQ «triirrharr
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 Servosysterne 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 Achsengeschwindigkeitswechsel oder wenn in einem
Schrittvektor ein unvorhergesehener Vorschubratenwechsel auftritt.
In F i g. 6 bezeichnet die Größe £;(„_ ij die auf einen
vorausgehenden Schrittvektor nächstfolgende Impulsflanke, Em die Abschlußflanke des vorausgehenden
Schrittvektors und £V,-+!j 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 £'^+1) oder E<„+\y, 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 £y„+i) durchzuführen (diese
Größe ergab sich nach der Zeit 7ö 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:
c-
tVIiUiIg -r
+ Λ
ν,
NR
durch Auflösen der Gleichung 1 für ein theoretisches h
erhalten, welches ergeben würde den Wert für El(„^y
Der theoretische Wert von h würde der korrekte Wert für E^n+I) für /V, = 0 folgend auf Tn sein. Der zweite in
eckige Klammern eingeschlossene Term in Gleichung 4 ist ausgerichtet auf eine theoretische Flankenposition,
basierend auf ocm neuen Wert N', durch erneutes
Anwenden von Gleichung 1.
Die Gleichung 4 könnte auch folgendermaßen geschrieben werden:
'-,πι t Il - '-,im Ml
1 f
.V1
■v«
In dieser Gleichung sind N1 und N', normalisierte
IO
(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.
T = ° O,
T= Schrittausführungszeit bei normaler Werk/euggcschwindigkeit.
Die Kechtccksignale werden benutzt, um dem
Servosystem Positionsdalen mitzuteilen. Die Frequenz dieser Signale ist für eine Werkzeugmaschine fest
vorgegeben. Der Steuerparameter R, der erforderlich
inrl ict 1iiri /"I if» Qr»Hri I r wi»r\//"\l|c t ii nrll πι ιηιτ ff» C t Vl IC*» I Vf* η
nach einem Geschwindigkeitswechsel und /V« ist die Frequenz des Referenzoszillators (25OkHz). In Gleichung
1 basieren die Zeichen N* N', auf der Richtung
( — Vorwärtsbewegung, + Rückwärtsbewegung).
Auf E'ifm 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. £"', ι wird
nach Gleichung 1 errechnet für den neuen Wert W,. Für
aufeinanderfolgende Flankenwertc ergibt sich dann:
''!'(nil ~~ r-iim-ll + '-ill I ·
D = \ X2 + Y1 + Z2 .
Der Parameter γ, ist definiert als:
r, =
Es bedeuten:
ψ, = Werkstuckkonstante = Maximumrate der Phasensignalverschiebung
entlang des Schrittvektors (Phaseneinheiten/Sekunde)
Vn, = maximale (effektive) tangentiale Geschwindigkeit
an der Schneidoberfläche (inch/Sekunde)
P = Werkzeugverschiebung pro Phaseneinheit stimmt sich zu:
Es bedeuten:
Die entsprechenden Größen sind in den Gleichungen 4 und 5 benutzt worden, um zwischen den alten und den
neuen Schriüvektorwerten 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:
/V = zusätzliche A'-Bewegung
>' = zusätzliche K-Bewegung (6)
Z = zusätzliche Z-Bewegung
Jeder Verschiebewert (relative Adresse) wird angegeben 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:
R =
111)1
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 weiden 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
111)
wobei V 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:
oder zusammengefaßt:
Nx | A |
/V1- |
Y
r |
Ny f - |
Z T' |
L.
N1 |
I
J, ■ |
bo / ist der zusätzliche Bewegungsabstand für die Achse
i. Die Nf 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
b5 den Zeitpunkt 7o 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 Irnpulsflankenzahlen; ein Phasen-Analog-Untersystem und ein Untersystem
für die zyklische Steuerung.
Fig. 7 zeigt in einem schematischen Blockdiaferamm,
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 Naehfolgcbcrcchnung
von nicht mit Rechnern verbundenen numerischen Steuersystemen. Die Positionsbefehlsdaten werden von
dem Generator 10 in Flankenwerte umgewandelt. Ein neuer Satz von Flankenzahlwcrtcn kann entsprechend
vorbereitet sein oder jeder neue Wert kann auf entsprechende Anforderung vom Kontrollsteueruntersystem
erzeugt werden. Das Phasenanaloguntersystem OT nmnfii rtrvl npii(» 1 C"7 \ir\n lam C^ t*nt*mt r\r I
und transformiert diese Werte in Befehlspositionsrechtecksignale,
wJche 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 Zy klussteüeruntersystem 28
dient auf Anforderung des Phasc-nanaloguntersystems
der Verteilung des Informationsflusses zum IFZ-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 F i g. 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, welche 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, welche 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.
I ür jeden Schritt wird die gesamte BewegungsdisUinz
(D) im Zusammenhang mit Gleichung 7 errechnet. Die Sihrittausführungszeit 7" bei normaler Werkzeuggcsc!iwindigkeit
wird dann nach Gleichung 9 erhalten. Die
i> Zahl der Zyklen der Referenzsignale (R). die erforder
lieh ist für die Ausführung eines Schrittes, ergibt sich durch Multiplikation der Frequenz der Referenzsignale
ϊτϊίϊ der Schrättiiusführiin"ji/eit bsi normaler Geschwindigkeit
und durch Division durch den Vorschubratenan-
JIi teil. 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
?-j Frequenz der Referenzsignale. Alle Operationen, die
anschließend stattfinden, sind für jede Achse der Werkzeugmaschine die gleichen. In F i g. 8 sind jedoch
nur Einzelheiten des Verfahrens-Algorithmus für die X-Achse aufgeführt. Die neue normalisierte Vorschub-
so rate 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 A"-Flankenzahl. Der Wert für die neu erzeugte
Γι normalisierte Vorschubrate wird dann einem Register
oder einer Speichereinheit zugeführt, welche den Wert für die vorausgehende Vorschubrate enthält. Dadurch
wird es ermöglicht, auf beid" Werte, die normalisierte
Vorschubrate für diesen Schritt und die vorausgehende
4(i normalisierte Vorschubrate, zurückzugreifen. Die Anlaufphase
endet mit der Erzeugung der Abstandsdistanz Ex ι (nach Gleichung 1).
Impulsflankenzahlenerzeugung
4"- ^^hrend der Zeit in dpr das X-Achsenre^ster 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
■>n 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 einem Stand (000) zurückkehrt Dieser Zählerstand wird am Ende jeder Periode eines
ReferenzrechtecksignaJs eintreten. Sobald R auf den
Wert 0 abgebaut worden ist, wird der Schritt beendet.
3eendigungsphase
Wenn der letzte Datensatz bezüglich des Schrittes für
ein vorgegebenes Werkstück angezeigt wird, muß eine Korrektur für die letzte Plankenzahl 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 sein. In diesem Falle ist die neue normalisierte
Vorschubrate N',—0 und Gleichung 5 vereinfacht sich
zu der im oberen Block auf der rechten Seite von 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 einem Allzwecksteuercomputer, die relativ hochfrequenten Operationen von einer speziell für diese
Zwecke entwickelten Schaltung ausführen zu lassen. Eine derartige Ausführungsform der Erfindung wird
anhand der drei Untersysteme wie sie in F i g. 7 gezeigt sind, beschrieben.
Generator zur Erzeugung der Impulsflankenzahlen
Wie bereits erwähnt wurde, umfaßt die Erzeugung der Impulsflankenzahlen Operationen mit relativ
niedriger Geschwindigkeit (Anfangswertzuweisung und Anlaufphase) und Operationen mit relativ hoher
Geschwindigkeit (iterative Addition und Vergleich). Die Operationen, die mit verhältnismäßig niedriger Geschwindigkeit
ablaufen, sollen von der Zentraleinheit eines Allzweck-Steuercomputers und die Operationen,
die mit hoher Geschwindigkeit ablaufen, sollen von einer speziell für diesen Zweck 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 die 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
die Rechnung für die Anlaufphase von der Zentraleinheit getragen. Für jeden Schritt liefert die Zentraleinheit
an die Spezialschaltung, wie diese in Fig.9 gezeigt ist.
die Parameter: R (Anzahl von Referenzzyklen für den Schritt); En und fm (die erste Flankenzahl). Diese Daten
werden im Puffer 29 in einem mit dem Maschinenwerkzeug verbundenen Feld gespeichert. Bei jeder Anforderung
einer neuen Flankenzahl für ein Achsenpositionsregister wird vom Zyklussteuersystem (Fig.II) eine
Adresse empfangen und pla2iert in AR 30. Das bedingt
die zugeteilte Abstandsdistanz En und den zugestandenen Wert von R1 welcher nach SPR 31 einzulesen ist
von wo aus dessen Übertragung nach SR 32 erfolgt Der fortlaufende gültige Flankenwert En, (inklusive des
Überlaufteiles, des geradzahligen Teiles und der Bruchteile) wird dann nach SPR 31 gelesen. Der
kennzeichnende ganzzahlige Teil von En, wird über die
Leitung 35 zum betreffenden Achsenpositionsregister übertragen (dadurch Fig. 10). En wird dann addiert zu
Eh, durch den Addierer 33 und zurückübertragen in den
Puffer 29 über das Speicherpufferregister 31 in die
Position, die zuvor von En, eingenommen wurde. Der
Wert von R, welcher in SR 32 enthalten ist, wird mit
dem Überlaufteil des neu gebildeten Rankenwertes Ejn
im Vergleicher 34 verglichen, um zu ermitteln, wenn die endgültige Flankenzahl für diese Achse erzeugt worden
ist. Sollte dies der Fall sein, so wird die Zentraleinheit ein
2u Signal auf Leitung 36 senden. Wenn die endgültige
Fiankenzah! für jede Achse des Maschinenwerkzeugcs
erzeugt worden ist, wird die Zentraleinheit den Speicherpuffer 29 mit einem neuen Satz von Parametern
auf der Eingabeleitung 37 Vorsorgen.
Bei der gewählten Ausführungsform der Erfindung ist
es nicht erforderlich, die endgültigen erzeugten Flankcnzahlen zur Zentraleinheit zu übertragen, um
dort die· erste Flankenzahl für den nächsten Schritt errechnen zu lassen, weil anzunehmen ist daß die
jo 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 besteht 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) Ober die
4> 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
w 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
bo ü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 Decoderausgnng 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 einer Invertierung durch den Inverter 52 die Torschaltung 46 zu sperren, wodurch
verhindert wird, daß sich der Inhalt vom AAZ 45 ändert
Das Zyklussteueruntersystem arbeitet auf einer kontinuierlichen Abfragebasis für die Anforderungen
der Achsenpositionsregister. Wenn eine Anforderung auf der Leitung 43 auftritt, schaltet ein Trigger 49 in
einen anderen Zustand. Der AAZ 45. setzt durch den Vorschuboszillator 44 gespeist den ordnungsgemäßen
Vorschub durch, bis eine Obereinstimmung bezüglich des Adreßdecoders 47 und eines entsprechenden
Triggers 49 das Und-GIied 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 Achsenauresse 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 Rankenzahl von dem
Flankenerzeugungsuntersystem in die entsprechenden Achspositionsregister zu übertragen. Zum Abschluß der
Operationsfolge der Schaltung 51 wird der kontinuierliehe 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
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 Referenzsignais 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. Daraus würde die zweifache Zeit für die Arbeitsgenauigkeit der Servos resultieren. Da
jedoch eine solche Apparatur bestimmte Frequenzbandcharakteristiken bezüglich der induktiven
Komponenten der Servokreise erfordern würde, wäre ohne solche Zusätze nur ein kleiner Frequenzwechsel
zulässig.
Eine weitere Möglichkeit für die Steuerung der Vorschubrate hinsichtlich einer manuell herbeigeführten Übersteuerung ist in Fig. 13 gezeigt. Diese
Apparatur schließt einen Schalter 58 ein, welcher einen eo Leitungssatz von Triggern 60 bis 64 mit einer
Energiequelle 59 verbinden kann. Der Ausgang jedes Triggers ist mit dem Flankengenerator verbunden
(oder, falls vorhanden, mit der Zentraleinheit zur Durchführung der Rechenoperationen). Ebenso ist aber
auch der Ausgang jedes Triggers mit einem Exklusiv-Oder-Glied 65 verbunden. Der Ausgang eines Exklusiv-Oder-Gliedes 65 führt zu einem Inverter 66. dessen
Ausgang dazu benutzt wird, um ein Unterbrechitngssignal
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 de>
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 + (300)2 = 500. (7)
Unter der Annahme, daß die maximale Tangentialgeschwindigkeit (Vm—\Zo\\ pro Sekunde) und die
Genauigkeit (P= .0001 Zoll) sei, wird nach Gleichung 8
♦■' = ToöoT = 1^000
und nach Gleichung 9 die Schrittzeit
Ύ =
500
10.000
ϊ- = 0.05.
Gleichung 10 ergibt die Anzahl der Referenzzyklen als:
R = 250 (0.05) = 12.5.
(10)
Nx =
Nx =
400
0.048
0.048
-300
= 8333.3
= -6250.0.
(12)
(12)
0.048
Unter der weiteren Annahme, daß der Vorschubratenbruchteil Tür diesen Schrittvektor 0,5 ist, ergibt
sich
Nx = (0.5) (8333.3) = 4166.6
NT = -(0.5) (6250) = -3125.0 12
R =
0.5
= 24.
(15) (15)
(13)
Unter Benutzung von Gleichung 1 sind die zusätzlichen
Flankenabstände:
250
10
Exl = | __ | 500 { | - 4.1666 |
= 508.474 | |||
E1I | 500 / | 250 | |
^. 250 | + 3.1250 | ||
f | |||
^250 | |||
493.827. |
Zur Einfachheit sei angenommen, daß das Referenzsignal
und die Achsenpositionssignale anfänglich in Phaie sind. Dann ergibt die folgende Tabelle die Weite
aufeinanderfolgender erzeugter Flankenzahlen für jede Achse.
Flanken-
Nr.
JT-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 enthal- m>
ten. Diese Werte werden in die Achsenpositionsregister plaziert, wonach die Befehlspositionssignale abgeleitet
werden (F i g. 2).
Um die Richtigkeit dieser Werte zu beweisen, sei angenommen, daß der folgende Schrittvektor 0 ist. b">
Danach wäre die in Fig. 6 gezeigte Situation realisiert. 48 X- Flankenzahlen und 49 Y Flankenzahlen
wurden bis zu dem Zeitpunkt erzeugt, als der Überlauf den Wert 24 (R) erreichte. Die mit £>„+!>
in Fig. 6 bezeichneten Flanke korrespondiert mit Zf,48 oder mit
E,«dieses Beispiels, wenn
£•,(48,=406.572
E,(49)= 197.523
E,(49)= 197.523
ist. Da aber T0 das mathematische Ende des Schritnes
angibt (R=Q), muß der endgültige Flankenwert von beiden Achsen eingestellt sein auf den Geschwindigkeitswechsel
zur Zeit T0; deshalb ergeben sich nach
Gleichung 5
= 406.572 1 +
und
-4.1666
(5)
= 399.98 (400 durch Rundung)
(5)
= 199.99 (2C0 durch Rundung).
1*1 =
0.9
= 22
(13)
/; = -^- = 0.86364 (14)
und die revidierten Phasengeschwindigkeitskomponenten :
Wj = 4166.6 (.86364) = 3598.5 (15)
W; = -3125 (.863154) = -2698.9. (15)
Nach Gleichung 1 ergeben sich Flankenteilwerte zu:
E'xl = 500
250
= 507.295 (1)
In der Praxis wurden die Werte F'xf«) und £"S{«) 'n
Erwartung auf das Schrittende errechnet worden sein. Das ursprüngliche Problem stellt sich somit jetzt als ein
gleichförmiges Fortschreiten der X-Achse um + 400 Einheiten und als Retardieren der r'-Ächse um
(200—500)=300 Einheiten bei halber Maximalgeschwindigkeit dar.
B e i s ρ i e 1 2
Ungeplanter Vorschubraten wechsel
Ungeplanter Vorschubraten wechsel
Für dieses Beispiel ist ein willkürlicher Zeitwert (R= 19) von unserem vorauseilenden Beispiel gewählt,
sowie ein Moment, in welchem die neue Vorschubrate einsetzt. Ebenso sei auch angenommen, daß die
erwünschte Geschwindigkeit nach der Abschwächung angenähert 19% der gegenwärtigen Geschwindigkeit
beträgt. Dann verbleiben anstatt der 19 Referenzzyklen bis zur Schrittvollendung
250 - 3.5985.
* - 50° (-ÜÖTTäm) - 494·660
<!>
und die Einstellungen zur Startflanke zu:
20
= 084.742
= 084.575
-4.1666
250
250
=
= 432.974.
Basierend auf dem neuen Satz der Startflanken (E'fy+1)) und den Flankenabstandswerten (E'n) entsprechend
der revidierten Vorschubrate, gibt die folgende Tabelle den Flankenwertwechsel bezüglich der vorausgehenden
Tabelle an.
Flanken-Nr.
*-Achse K-Achse
1 | 4 |
8 | 5 |
9 | 5 |
10 | 6 |
11 | 26 |
12 | 27 |
53 | |
54 | |
55 | |
508 | 474 | 4 | 493 | 827 |
576 | 266 | 4 | 444 | 443 |
084 | 575 | 5 | 938 | 270 |
591 | 870 | 5 | 432 | 974 |
099 | 165 | 927 | 634 | |
898 | 260 | 26 | • | |
405 | 555 | 27 | 703 | 354 |
136 | 014 | |||
Angenommen, der folgende Schrittvektor würde zu Null, so ergeben sich für die endgültigen Flanken werte
= 405
= 399.72 = 400 (gerundet)
= 198.0
= 200.08 = 200 (gerundet I
wie in dem vorausgehenden Beispiel.
Die horizontale Zeile dieser Tabelle trennt die fi üi'tci eii Tauciienwei ic vun 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 £,(io)Utid £,<n).
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
festzustellrn. 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 Subtrahierers
in ein analoges Signal, einen Verstärker 79 für dieses analoge Signal, eine Servoantriebssteuerung 80 für den
eigentlichen Servoantrieb 81 des Maschinenwerkzeugs 82. Ebenso sind in das System ein X-. ein V- und ein Z
(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 Flankenzahlen für jede
Achse ist der totale Wert von R der Referenztaktzyklen nach den Gleichungen 7, 8, 9 und 10 von dem
Positionsgenerator 69 bestimmt, und irgendein gegebener Vorschubratenanteil eingestellt. Angenommen, die
neue Positionszahl wird zweimal während jedes Referenzzyklus angelegt, so ist R verdoppelt und die
Zahl 2R (ausgedrückt als eine ganze Zahl) ist eingeteilt in die Zani 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
anschlief, iiiden Halbzyklus (bis der Schritt beendet ist)
wird der Inhalt jedes Befehlspositionsregisters durch eine Zahl ersetzt, welche größer ist als der vorausgehende
Inhalt durch emc Größe die gleich der ersten Bcfehlspositionszahl ist. Für jeden anschließenden
geradlinigen Schritt wird eine neue erste Befehisposition 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 0-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 d;r 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
A= 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 A"-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
£„= 400/40= 10.00 £,,= -300/40= -7.50
Die folgende Tabelle zeigt die Werte von aufeinanderfolgenden Befehlspositionszahlen die erzeugt wurder
?iir jede Achse.
Positions- X Y
1044.00
1054.00
1054.00
1081.00 1073.50
1164.00
1174.00
1174.00
991.00 983.50
1244.00 | 931.00 |
1254.00 | 923.50 |
1264.00 | 916.00 |
874.00 | 1208.50 | Γ> | zu |
884.00 | 1201.00 | T2 | |
894.00 | 1193.50 | ||
904.00 | 1186.00 | ||
914.00 | 1178.50 | ||
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 wurde.
Die Vorausschau auf einen ungcplantcn
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, £#1+1), so daß Gleichung (5) für die neue
Vorschubrate für jede Achse (i) benutzt werden kann. Unter der Annahme folgender Definitionen:
Ti = erster neuer Zyklus des Referenzsignals, das
auf einen Vorschubratenwechsel folgt.
E<m) = letzte Flankenzahl für die/Ue Achsenach Ti.
Λ' = Zahl der Vorausschau-Zyklen: d. h. ein Vorausschauintervall
von 100 Millisekunden erfordert /V= 25 für ein 250 Hz Differenzsignal.
T2 = Zeitpunkt der Instituierung eines Vorschubratenwechsels.
£Vn+i) = erste Flankenzahl des Positionssignals, welches
folgt auf T2 (basierend auf einer gleichbleibenden Vorschubrate).
Das Problem liegt dann darin, die Flankenzahl F1^4. i>
erzeugen. Die gesamte Differenz zwischen F^n,; und
, gemessen im Flankeneinheiten, beträgt dann:
(M - EHm)) ( + M-N).
Der erste Klammerwert ist die Distanz zu T], die zweite ist die Distanz zwischen Ti und T2. M ist die
Referenzzählerkonstante (1000).
Die Anzahl der Flanken (B) in diesem Zwischenraum ist bestimmt durch Division des Flankenverschiebungswertes
F, ι, nach Gleichung (1):
+ D
B1 = M
£„
oder fi, =
K - E„w,
En
(16)
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 £>„+!) durch Indexierung in der
Tabelle erhalten werden.
4-, Andernfalls ist aber auch eine direkte Bestimmung nach Gleichung 17 möglich:
+ "i
(17)
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ß £ym+i) die erste Flankenzahl des neuen
Schrittvektors ist, ergibt sich
_ R-M- Ei{m+l)
■ ~ ρ ·
(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 £^n+ ij
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 iind alle aktiven Achsen kurzzeitig in Ruhestellung
gesetzt); während dor kurzzeitigen Achsenruhestellung zwischen Bewegungsbefehlen; und in anderen ähnlichem
Situationen, Unter diesen Umständen ist es erforderlich, ein kontinuierliches Befehlspositionssignal an die
Servoschleifen zu liefern; es ist aber darauf /u achten, daß dieses Signal eine konstante Phasenposition relativ
zum Referenzsignal unterstützt. Die zuoberst beschriebene Apparatur könnte auch zweckdienlich wie folgt
ausgeführt werden (siehe Fig. 2). Jedes Befehlspositionsregister arbeitet auf eine Vergleicherschaltung, um
das Moment anzuzeigen, in dem die zwei Register gleiche Werte enthalten (wenn die Achse im Nicht-Riihestellungs-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 zweiter» Flankenwert, der um h oder 500
Phaseneinheiten verschoben ist. Diese Ausgangssignale 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·
beispie! verwendete Spezialschaltung für die hochfrequenten Operationen unter bestimmten Gesichtspunkten
auch durch einen Allzweckcomputer ersetzen zu lassen. Andere gebräuchliche Variationen der Erfindung
wurden ein Zwischenspeichermedium wie ein Magnetband oder eine Magnetplatte umfassen. Solch ein
Medium könnte zur Speicherung vorberechneter Parameterwerte dienen, die als Eingabedaten zu der in
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 Zeichnungen
Claims (3)
1. Numerisch gesteuertes Werkzeugmaschinensystem für Maschinenwerkzeuge mil 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ü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 Rcfercnzzä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 gegenseitig r,i Datenübertragung verbunden ist,
welche mit dem jeweils entsprechenden Positionsregister verbunden ist
2. Anordnung nach Anspruch t, 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 (29t) 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 true DE1965127B2 (de) | 1979-07-05 |
DE1965127C3 DE1965127C3 (de) | 1980-03-13 |
Family
ID=25142132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1965127A Expired DE1965127C3 (de) | 1968-12-30 | 1969-12-27 | System für numerisch gesteuerte Werkzeugmaschinen |
Country Status (10)
Country | Link |
---|---|
US (1) | US3591781A (de) |
JP (1) | JPS4919753B1 (de) |
BE (1) | BE742109A (de) |
CH (1) | CH504719A (de) |
DE (1) | DE1965127C3 (de) |
ES (1) | ES374496A1 (de) |
FR (1) | FR2027300A1 (de) |
GB (1) | GB1274539A (de) |
NL (1) | NL6919460A (de) |
SE (1) | SE355876B (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3872369A (en) * | 1971-08-05 | 1975-03-18 | Gerber Scientific Instr Co | Pulse counting phase modulation method and apparatus for controlling a servo-mechanism |
JPS50133883A (de) * | 1974-04-08 | 1975-10-23 | ||
LU83098A1 (fr) * | 1981-01-27 | 1982-09-10 | Microtechnic Sa | Retroviseur avec positions jour et nuit |
EP0128767B1 (de) * | 1983-06-10 | 1991-02-27 | Nec Corporation | Numerisch gesteuertes Verfahren |
US5394323A (en) * | 1994-03-29 | 1995-02-28 | The University Of British Columbia | Path error control system |
US5710490A (en) * | 1996-01-02 | 1998-01-20 | Samsung Electronics Co., Ltd. | Method of reducing execution time for position command in position servo system |
Family Cites Families (3)
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 |
---|---|
CH504719A (de) | 1971-03-15 |
US3591781A (en) | 1971-07-06 |
NL6919460A (de) | 1970-07-02 |
JPS4919753B1 (de) | 1974-05-20 |
BE742109A (de) | 1970-05-04 |
SE355876B (de) | 1973-05-07 |
GB1274539A (en) | 1972-05-17 |
DE1965127C3 (de) | 1980-03-13 |
DE1965127A1 (de) | 1970-07-16 |
ES374496A1 (es) | 1972-01-01 |
FR2027300A1 (de) | 1970-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2724602C3 (de) | Einrichtung zur Gleichlaufregelung einer Zahnradbearbeitungsmaschine | |
DE1538522C3 (de) | Lageregelein richtung | |
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 | |
DE2051432A1 (de) | Numerische Werkzeugmaschinen Lageregelemnchtung | |
DE2111635A1 (de) | Einrichtung zum Umsetzen der Phasenlage eines Signals in eine Folge von Impulsen | |
DE2724664C3 (de) | Einrichtung zur Erzeugung einer Zusatzdrehbewegung eines schrägverzahnten Zahnrad-Werkstücks in einer zwangslaufgesteuerten, nach dem Schraubwälzverfahren arbeitenden Zahnrad-Bearbeitungsmaschine | |
DE2400028A1 (de) | Steuereinrichtung | |
DE2001935C2 (de) | Digitale Steuereinrichtung zur Steuerung von Vorschubbewegungen | |
DE1965127C3 (de) | System für numerisch gesteuerte Werkzeugmaschinen | |
DE2103049C3 (de) | Vorrichtung eines numerisch gesteuerten Folgesystems | |
DE1763934C3 (de) | Positionierungseinrichtung für einen beweglichen Teil einer Arbeitsmaschine, insbesondere Werkzeugmaschine | |
DE2034373A1 (de) | Steuereinrichtung zum Steuern der Geschwindigkeit des Vorschubs eines Werk zeugs | |
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 | |
DE1538524A1 (de) | Geschwindigkeitsregelschaltung | |
DE1152473B (de) | Numerische Programmsteuerung mit einem Interpolator und einem Positionierungs-Regelkris | |
DE2441279C3 (de) | Vorschubsteuerung für eine numerische Steuereinrichtung | |
DE2560651C2 (de) | ||
DE1763932B2 (de) | Vorrichtung für eine numerisch arbeitende Programmsteuerung | |
DE2422035A1 (de) | Numerisches steuersystem | |
DE2210376A1 (de) | Schaltungsanordnung zur Regelung der Bewegung eines längs eines Wegsegmentes laufenden Elementes | |
DE2060227B2 (de) | Numerische Steuerung für spanabhebende Werkzeugmaschinen mit rotierendem Werkstuck | |
DE1798023C3 (de) | Numerische Lageregeleinrichtung | |
DE3124866A1 (de) | Verfahren und einrichtung zum numerisch gesteuerten schneiden eines ein- oder mehrgaengigen gewindes in wenigstens zwei gewindeschneiddurchgaengen | |
DE2414601C3 (de) | Anordnung zum Positionieren von bewegbaren Maschinenteilen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |