DE3545795C2 - Vorrichtung zur numerischen Steuerung - Google Patents
Vorrichtung zur numerischen SteuerungInfo
- Publication number
- DE3545795C2 DE3545795C2 DE3545795A DE3545795A DE3545795C2 DE 3545795 C2 DE3545795 C2 DE 3545795C2 DE 3545795 A DE3545795 A DE 3545795A DE 3545795 A DE3545795 A DE 3545795A DE 3545795 C2 DE3545795 C2 DE 3545795C2
- Authority
- DE
- Germany
- Prior art keywords
- feed speed
- deceleration
- block
- speed difference
- axis
- 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 - Fee Related
Links
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
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43009—Acceleration deceleration for each block of data, segment
-
- 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/49—Nc machine tool, till multiple
- G05B2219/49164—Corner, making corner
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)
Description
Die Erfindung betrifft eine Vorrichtung zur numerischen
Steuerung der Bearbeitung eines Werkstückes nach dem Ober
begriff des Anspruchs 1.
Zur Steuerung der Bewegungshübe der Schneidwerkzeuge von
Werkzeugmaschinen nach Bearbeitungsprogrammen werden häufig
numerische Steuerungen (NC) verwendet, wobei die Bearbei
tungsprogramme in eine NC-Steuervorrichtung geladen werden.
Das Bearbeitungsprogramm liegt beispielsweise als
NC-Lochstreifen vor und enthält in aufeinanderfolgenden Blöc
ken Bewegungsbefehle. Wenn jede Steuerachse der Werkzeugma
schine zwischen einem (aktuellen) Block und dem nächsten
(nachfolgenden) Block bei der Ausführung der Steuerbefehle
großen Vorschubgeschwindigkeitsänderungen oder -differenzen
ausgesetzt ist, wenn der Blockübergang stattfindet, so wer
den das Servosystem und der Antriebsmechanismus für die je
weilige Steuerachse starken mechanischen Stößen ausgesetzt.
Diese Schwierigkeiten sind dann besonders problematisch,
wenn es sich um mehrachsige numerisch gesteuerte Werkzeug
maschinen handelt, bei denen mehr als drei Steuerachsen
vorhanden sind; denn es ist schwierig, eine rasche Identi
fizierung derjenigen Steuerachse zu bewirken, bei der eine
Vorschubgeschwindigkeitsänderung erforderlich ist. Wenn die
aufeinanderfolgenden Programm
blöcke Bewegungsbefehle zum Bewegen des Werkzeugs um
kleine Wegstrecken enthalten, ist die kombinierte
Achsen-Vorschubgeschwindigkeit des Werkzeugs an den Blocküber
gängen zwischen benachbarten Blöcken konstant und glatt.
Bei bestimmten Blockübergängen können jedoch einige Achsen
einer ziemlich großen Vorschubgeschwindigkeitsänderung
ausgesetzt sein.
Fig. 1 veranschaulicht, wie das Werkzeug zwischen benach
barten Programmblöcken einer Vorschubgeschwindigkeits
änderung ausgesetzt wird. Nach Fig. 1 enthält eine numerisch
gesteuerte Werkzeugmaschinenanlage (NC-Anlage) eine Werk
zeugmaschine 10 und ein auf einem Fundament ruhendes Ma
schinenbett (Bett) 12, welches der Werkzeugmaschine 10 gegenüber
liegt. Auf dem Bett 12 ist verschieblich ein Gleittisch (Tisch) 14
angeordnet, welcher in Richtung des Pfeils Z (Z-Achse) be
wegt werden kann. Auf dem Tisch 14 ist drehbar ein Dreh
tisch 16 gelagert, der in einer horizontalen Ebene in
Richtung des Pfeils B von einem Drehantrieb 16A gedreht
werden kann. Ein Werkstück W, z. B. ein Propellerblatt,
ist mit Hilfe einer Befestigungsvorrichtung 18 an dem
Drehtisch 16 montiert.
Die Werkzeugmaschine 10 enthält eine verschieblich auf
einem auf dem Fundament fixierten Bett 20 montierte Säule
22, die senkrecht zur Zeichenebene der Fig. 1 (X-Achse)
mit Hilfe einer Antriebsquelle 20A, die einen Antriebs
motor enthält, verschieblich ist. Die Säule 22 trägt
auf ihrer Vorderseite ein Tragteil 26, welches einen
Spindelkopf 24 trägt und in Richtung des Pfeils Y (Y-Achse)
entlang Gleitflächen 22A und 22B der Säule 22 verschieb
lich ist. Das Tragteil 26 wird von einer Gewindestange
28 über einen Y-Achsen-Motor 30 oben auf der Säule 22
angetrieben.
Der Spindelkopf 24 ist an der Vorderseite des Tragteils
26 montiert und wird von einem Hydraulikzylinder 32 in
Richtung des Pfeils A um eine Schwenkachse 34 verschwenkt.
Am linken Ende des Spindelkopfs 24 hält ein dort befind
licher Kopf 38 ein nach unten gerichtetes Werkzeug 36.
Der Kopf 38 ist um die Achse des Spindelkopfs 24 in
Richtung des Pfeils C in einem gewissen Winkelbereich
verschwenkbar.
Die NC-Bearbeitungsanlage besitzt sechs Steuerachsen, d.
h., die X-, die Y- und die Z-Achse sowie die drei Achsen
für die Schwenkbewegungen A, B und C.
Es sei angenommen, das Werkzeug 36 bewege sich in Rich
tung des Pfeils , während es senkrecht zu dem von
ihm gefrästen Werkstück W gehalten werde. Wenn die Vor
schubgeschwindigkeit (im folgenden auch einfach als Ge
schwindigkeit bezeichnet) F der Spitze des Werkzeugs 36
konstant ist, muß sich das Tragteil 26 entlang der
Y-Achse in negativer Richtung rasch bewegen und der
Spindelkopf 24 muß sich entlang der "Achse" der Winkel
bewegung A für das Werkzeug 36 in negativer Richtung
rasch bewegen, um eine Werkstück-Ecke CNR zu umfahren.
Dies ist ein Beispiel dafür, daß einige Steuerachsen u. U.
beträchtlichen Vorschubgeschwindigkeits-Änderungen aus
gesetzt sind.
Derartig schnelle Vorschubgeschwindigkeitsänderungen
in der Steuerachse bei der Bearbeitung kompliziert ge
krümmter Oberflächenabschnitte des Werkstücks W lassen
sich während des Stadiums der Erstellung des Bearbeitungs
programms für das Werkstück W mit Hilfe eines Computers
(bekannt als CAD/CAM) nicht voraussagen. Die einzige ver
fügbare Maßnahme im CAD/CAM-Stadium kann darin bestehen,
die gesamte Vorschubgeschwindigkeit des Werkzeugs 36 zu
reduzieren. Dies hat aber den Nachteil, daß die Gesamt
bearbeitungszeit erhöht wird. Eine andere Lösung des
Problems hoher Vorschubgeschwindigkeitsänderungen könnte
darin bestehen, die Vorschubgeschwindigkeit für jede
einzelne Steuerachse bei einem Blockübergang auf Null
herabzusetzen. Allerdings hat dieser Vorschlag den Nach
teil, daß die gesamte Bearbeitungszeit groß ist und das
Werkzeug 36 bei jedem Anhalten am Ende eines Blocks auf der
bearbeiteten Oberfläche eine Spur hinterläßt, wodurch
die Oberflächenbeschaffenheit des fertigen Werkstücks W
leidet.
Aus den oben genannten Gründen war es bislang üblich,
eine Interpolation zwischen einem aktuellen Block und
einem nachfolgenden Block für die Vorschubgeschwindigkeits
beschleunigung und -verzögerung vorzunehmen.
Fig. 2A und 2B zeigen anhand von Diagrammen, wie eine
solche Beschleunigung und Verzögerung mittels Interpola
tion bewirkt wird.
Fig. 3A und 3B zeigen den Fall, daß keine solche Beschleu
nigung bzw. Verzögerung erfolgt.
In den Beispielen nach den Fig. 2A und 2B sowie 3A und
3B enthalten die ausgeführten Programmblöcke folgende
Befehle:
G01 ist ein Befehl für eine lineare Interpolation, G91
ist eine inkrementale Eingangsgröße, und M02 bedeutet
das Programmende. Da in Fig. 3A keine Beschleunigung und
keine Verzögerung erfolgt, sind die sich ergebenden Vor
schubgeschwindigkeiten für die X- und die Y-Achse die
gleichen, wie sie ursprünglich festgelegt wurden. Aller
dings haftet dem tatsächlichen Bewegungshub des Werkzeugs 36
ein Fehler an, der zurückzuführen ist auf einen Servomotor
fehler, wie in Fig. 3B gezeigt ist. Der Fehler ist pro
portional zur Vorschubgeschwindigkeit F. Die Antriebs
systeme für die X- und die Y-Achsen erleiden starke me
chanische Stöße und Schläge, weil die Soll-Vorschubge
schwindigkeiten für die X- und Y-Achse im Zeitpunkt ti+1
abrupt abfallen und ansteigen müssen.
Im Beispiel nach den Fig. 2A und 2B werden jedoch die
Beschleunigung und die Verzögerung durch Interpolation
durchgeführt. Dies hat zur Folge, daß die auf die An
triebssysteme für die X- und die Y-Achse einwirkenden
mechanischen Stöße gedämpft werden, und sich also auch
die Servomotor-Verzögerung verringert. Allerdings ruft
der Interpolationsvorgang eine Verzögerung hervor, welcher
einer Zeitkonstanten entspricht. Die Interpolation für
eine Beschleunigung für die Y-Achse beginnt, wenn die
Interpolation für die Verzögerung für die X-Achse be
gonnen wird, hier im Zeitpunkt tk. Es gibt also ein
Zeitintervall (tk-tk+1), während dem das Werkzeug 36
gleichzeitig in Richtung der X-Achse und in Richtung
der Y-Achse angetrieben wird. Dies führt zu dem nachtei
ligen Umstand, daß der tatsächliche Bewegungsweg des
Werkzeugs 36 von dem exakten, vorgegebenen Weg abweicht.
Während der oben geschilderte Vorgang gemäß den Fig.
2A und 2B die Wirkung hat, die auf das Antriebssystem
einwirkenden mechanischen Stöße für eine oder mehrere
Steuerachsen im Blockübergang des Bearbeitungsprogramms ei
ner mehrachsigen Werkzeugmaschine zu mildern, bleibt das
Problem einer verringerten Bearbeitungsgenauigkeit unge
löst.
Aus US 3,748,563 ist eine Vorrichtung nach dem Oberbe
griff des Anspruchs 1 bekannt. Dabei sorgt eine Interpola
tion zwischen den Vorschubgeschwindigkeiten zweier aufein
anderfolgender Bearbeitungsblöcke für eine Vermeidung stoß
hafter Belastungen der Antriebsteile der Werkzeugmaschine.
Wenn sich bei der bekannten Vorrichtung das Werkzeug ent
lang eines Weges mit einem Knickpunkt bewegt, weist dies
vor und nach dem Knickpunkt im wesentlichen die gleiche Ge
schwindigkeit auf. Dazu wird die Geschwindigkeitskomponente
für die Achse, entlang der die Geschwindigkeit größer ist,
im wesentlichen beim Durchqueren des Weges konstant gehal
ten. Zur Richtungsänderung werden die Geschwindigkeitskom
ponenten der anderen Achsen herabgesetzt, wenn das Werkzeug
öden Knickpunkt erreicht. Auch diese Art der Steuerung hat
den Nachteil, daß als Folge der Interpolation zeitliche
Verzögerungen auftreten, durch welche die Bearbeitungsge
nauigkeit herabgesetzt wird.
Aufgabe der Erfindung ist es, die gattungsgemäße Vorrichtung zur numeri
schen Steuerung der Bearbeitung eines Werkstücks so weiterzuentwickeln, daß sie,
ohne die Antriebsteile der Werkzeugmaschi
ne zu belasten, eine hohe Bearbeitungsgenauigkeit ermög
licht.
Dies wird erfindungsgemäß mit der im Anspruch 1 gekenn
zeichneten Vorrichtung erreicht. In den Unteransprüchen
sind vorteilhafte Ausgestaltungen der erfindungsgemäßen Vor
richtung angegeben.
Erfindungsgemäß wurde herausgefunden, daß das numerisch ge
steuerte Werkzeug entlang eines vorgegebenen Weg bewegt
werden kann, während gleichzeitig auf die Antriebssysteme
der Steuerachsen einwirkende mechanische Stöße dadurch mi
nimiert werden, daß eine zulässige Vorschubgeschwindig
keitsdifferenz in Form eines Parameters für jede Steuerach
se zwischen benachbarten Programmblöcken festgelegt wird,
keine interpolationsabhängige Beschleunigung oder Verzöge
rung vorgenommen wird, falls die Vorschubgeschwindigkeits
änderung für jede Steuerachse zwischen den Blöcken die zu
lässige Geschwindigkeitsdifferenz nicht überschreitet, und
eine Beschleunigung bzw. eine Verzögerung durch Interpola
tion erfolgt, wenn die Vorschubgeschwindigkeitsänderung den
Wert der zulässigen Vorschubgeschwindigkeitsdifferenz über
steigt.
Durch die Erfindung werden die Genauigkeiten der bearbeite
ten Formen an den Übergängen zwischen Blöcken eines Bear
beitungsprogramms für gekrümmte Bearbeitungsflächen ver
gleichmäßigt, und zwar abhängig davon, wie kompliziert die
Oberflächenkrümmungen des Werkstücks sind, so daß eine un
zureichende oder übermäßig starke Einfräsung in das Werk
stück innerhalb eines Grenzwertes gehalten wird. Hierdurch
wird der Vorteil erzielt, daß Servomotoren und mechanische
Systeme ohne Überbeanspruchung arbeiten, indem die auf Vor
schubgeschwindigkeitsänderungen zurückzuführenden mechani
schen Stöße gedämpft werden.
Im folgenden werden Ausführungsbeispiele der Erfindung an
hand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 eine Vorderansicht einer Bearbeitungsanlage, die
von einer numerischen Steuervorrichtung nach der
Erfindung gesteuert wird,
Fig. 2A und 2B Diagramme, die verdeutlichen, wie Beschleunigung
und Verzögerung mittels Interpolation bei einem
herkömmlichen Verfahren erfolgen,
Fig. 3A und 3B
Diagramme, die die Situation veranschaulichen, in
welcher weder Beschleunigung noch Verzögerung
durchgeführt werden,
Fig. 4 ein Flußdiagramm der Signalverarbeitung
in der erfindungsgemäßen numerischen Steuer
vorrichtung,
Fig. 5 ein Blockdiagramm der erfindungsgemäßen
numerischen Steuervorrichtung,
Fig. 6 ein Diagramm, welches die Beziehung zwischen
Abtastintervallen und Zeitzonen in einer
in der erfindungsgemäßen Steuervorrichtung
verwendeten Zentraleinheit (CPU) veranschau
licht,
Fig. 7A ein Flußdiagramm eines in jedem Abtast
intervall durchgeführten Interpolations
verfahrens,
Fig. 7B eine Übersicht über verschiedene Symbole,
die in dem Blockdiagramm nach Fig. 5 und
dem Flußdiagramm nach Fig. 7A verwendet
werden,
Fig. 7C ein Diagramm, welches die Beziehung
zwischen dem von der Werkzeugspitze noch
zurückzulegenden Restweg und einem Zeit
punkt für den Beginn einer Verzögerung ver
anschaulicht,
Fig. 7D ein Diagramm, welches das zeitliche Ver
halten eines interpolierten Vorschubgeschwindigkeits-Ausgangssignals
veranschau
licht,
Fig. 8 ein Diagramm, das die Beziehung zwischen
benachbarten Bearbeitungsblöcken und
einer Vorschubgeschwindigkeitsdifferenz
zeigt,
Fig. 9A und 9B Diagramme, die die Beziehung zwischen
einem verarbeiteten Geschwindigkeits-Ausgangssignal
und einem Bewegungsweg
des Werkzeugs zeigen,
Fig. 10 bis 13 Diagramme, die die Beziehung zwischen
Vorschubgeschwindigkeiten und Zeit in
einem simulierten Experiment unter Ver
wendung der erfindungsgemäßen numeri
schen Steuervorrichtung verdeutlichen,
und
Fig. 14 bis 18 Diagramme, welche die Beziehung zwischen
den Vorschubgeschwindigkeiten und der
Zeit in einem anderen simulierten Ex
periment unter Verwendung der erfindungs
gemäßen numerischen Steuervorrichtung
darstellt.
Fig. 4 zeigt den Fluß der Signalverarbeitung in der
numerischen Steuervorrichtung. In einem
Lochstreifen 50 ist ein Bearbeitungsprogramm in Form
aufeinanderfolgender Blöcke gespeichert.
Die numerische Steuervorrichtung enthält einen Befehls
analysator 52, der Befehlsdaten in einem nächsten Block
analysiert, einen Interpolator 54 für eine Interpolation
im laufenden Block, eine Verzögerungs-Berechnungseinrichtung
56, ein Servosystem 58 und einen Servomotor 60.
Es sei angenommen, ein gewisser Block des Lochstreifens 50
enthalte folgende Befehlsdaten X: x, Y: y, Z: z, . . .
F: f. Der Befehlsanalysator 52 führt folgende Operationen
durch:
- (1) Berechnung der Abstände x, y, z, . . ., die in den ein zelnen Steuerachsen zurückgelegt werden (die Ab stände entsprechen den Befehls- oder Soll-Werten auf dem Lochstreifen bei Zugrundelegung eines inkrementalen Befehlssystems);
- (2) Berechnen des Abstands der kombinierten Achsen:
- (3) Berechnung des Reziprokwerts 1/L;
- (4) Umwandlung der Einheit für die Vorschubgeschwindigkeit f; und
- (5) Berechnung der Vorschubgeschwindigkeiten für die je weiligen Steuerachsen:
Die Verzögerungs-Berechnungseinrichtung 56 berechnet die
Beschleunigungen für die jeweiligen Steuerachsen zwischen
dem laufenden Block und dem nächsten Block auf der Grund
lage der Vorschubgeschwindigkeit Vα(n+1), die von dem
Befehlsanalysator 52 in jedem Block für die Steuerachsen
α(α= x, y, . . ., k), berechnet wurde, der laufenden Vor
schubgeschwindigkeit Vα(n) der jeweiligen Steuerachsen,
für die eine Interpolation in dem Interpolator 54 durch
geführt wird, und einer vorbestimmten zulässigen Vor
schubgeschwindigkeitsdifferenz VLα für die Steuerachsen α
zwischen den Blöcken. Die kleinste der berechneten Ver
zögerungen wird hier als Qi bezeichnet.
Der Interpolator 54 spricht an auf dem von dem Befehls
analysator 52 kommenden Bewegungsbefehl, um dem Servo
system 58 eine Soll-Vorschubgeschwindigkeit (Vorschub
geschwindigkeitsbefehl) zuzuführen. Jetzt berechnet der
Interpolator 54 die Vorschubgeschwindigkeit für jede
Steuerachse, wozu er das Produkt VnQi der kleinsten
Verzögerung Qi und die Werkzeug-Vorschubgeschwindigkeit
Vn als Werkzeug-Vorschubgeschwindigkeit verwendet.
Der Interpolator 54 bildet einen Teil einer Einrichtung,
die aus der berechneten Verzögerung einen Startpunkt für den Be
ginn der Verzögerung in dem aktuellen Block des Bearbei
tungsprogramms berechnet.
Der Interpolator 54 bestimmt außerdem die Anfangs- und
die End-Vorschubgeschwindigkeit, die bei der Interpolation
für die Beschleunigung und die Verzögerung zu verwenden
sind. Der von dem Interpolator 54 für jede Steuerachse
kommende Vorschubgeschwindigkeits-Befehl wird auf das
Servosystem 58 gegeben, welches dann eine vorgegebene
Menge elektrischer Energie an den Servomotor 60 gibt,
der zu der betreffenden Steuerachse gehört.
Fig. 5 zeigt in Form eines Blockdiagramms die funktionel
len Elemente der numerischen Steuervorrichtung (Vorrichtung) 70.
Die Vorrichtung 70 steuert eine Werkzeugmaschine 72, die eine Bedienungs
konsole 72A und Servomotoren M1, M2, . . ., Mi aufweist,
welchen den jeweiligen Steuerachsen entsprechen und von
einer Servoantriebseinheit 74 mit elektrischer Energie
gespeist werden. Signale können zwischen der Vorrichtung
70 und der Servoantriebseinheit 74, der Bedienungskon
sole 72A und einem Bandlesegerät 78 über eine Eingabe/Ausgabe-Schnittstelle
76 übertragen werden. Außerdem
ist über die Schnittstelle 76 eine Parameter-Einstelleinheit
72B an die Vorrichtung 70 angeschlossen. Obwohl die
Einheit 72B getrennt von der Bedienungskonsole 72A darge
stellt ist, kann sie in der Praxis auf dieser angebracht
sein.
Beim dargestellten Ausführungsbeispiel ist die numerische
Steuervorrichtung 70 vom CNC-Typ (numerische Computer
steuerung), und sie enthält allgemein eine zentrale Verar
beitungseinheit (CPU) 80, einen Programmspeicher 82 und ei
nen Datenspeicher 84. Die Vorrichtung 70 besitzt außerdem
einen Bezugssignalgenerator 86, der ein Taktsignal CL sowie
ein Abtastsignal mit Abtastintervallen ΔT erzeugt.
Die zentrale Verarbeitungseinheit (CPU) 80 bildet eine Ein
richtung zum Berechnen einer Vorschubgeschwindigkeitsdiffe
renz für wenigstens eine Steuerachse aus den Befehlsdaten
in aufeinanderfolgenden Blöcken des Bearbeitungsprogramms
für diese Steuerachse.
Wie in Fig 6 zu sehen ist, ist der Betrieb der CPU 80 in
Abtastintervalle AT unterteilt. Jedes Abtastintervall ΔT
setzt sich zusammen aus Zeitzonen t1, t2 und t3. In der er
sten Zeitzone t1 gibt die CPU 80 an das Servosystem 58 ein
Ausgangssignal aus und in der zweiten Zeitzone t2 vollzieht
die CPU 80 eine Interpolation mit Hilfe einer Unterbre
chung. In der Zeitzone t3 analysiert die CPU 80 die Be
fehlsdaten im nächsten Block. Da die Analyse der Befehlsda
ten im nächsten Block nicht in einem Abtastintervall abge
schlossen wird, werden die Daten eines Blocks innerhalb ei
niger Abtastintervalle verarbeitet. Die Verzögerung wird in
dieser Zeitzone t3 berechnet.
Der Datenspeicher 84 besitzt einen Speicherbereich 90, in
dem als Parameter vorab zulässige Vorschubgeschwindigkeitsdifferenz-Werte
VLX, VLY, VLZ, . . . für die Steuerachsen x,
y, z . . . der Werkzeugmaschine 72 gespeichert werden. Diese
Parameter können dadurch in den Speicherbereich 90 eingege
ben werden, daß über eine Einrichtung 72B zum Festlegen ei
ner zulässigen Vorschubgeschwindigkeitsdifferenz
eine gewünschte Steuerachse identi
fiziert und die zulässige Vorschubgeschwindigkeitsdiffe
renz für die gewünschte Steuerachse über eine Ziffern
tastatur eingegeben wird. Der Datenspeicher 84 besitzt
außerdem einen Speicherbereich 92 zum Speichern eines
Vorschubgeschwindigkeits-Wichtungsprozentsatzes K, einen
Speicherbereich 94 zum Speichern von Wegbefehlsdaten für die
jeweiligen Steuerachsen in jedem Block, und einen Spei
cherbereich 96 zum Speichern, der in den jeweiligen Ab
tastintervallen ΔT zurückzulegenden Wege. So z. B. werden
die durch Interpolation in der Zeitzone t2 im Abtastinter
vall (1) nach Fig. 6 erhaltenen Werte Δxn, Δyn, Δzn, . . .
als Servo-Ausgangssignale in der Zeitzone t1 des nächsten
Abtastintervalls (1) an die Servoantriebseinheit 74 ge
gegeben. Der Datenspeicher 84 enthält außerdem Speicher
bereiche 98, 100, 102 zum Speichern verschiedener Daten
werte, die bei den im Interpolator 54 benötigten Ope
rationen gebraucht werden. Die im Blockdiagramm nach Fig.
5 verwendeten verschiedenen Symbole sind in der Tabelle
in Fig. 7B erklärt.
Der Programmspeicher 82 nach Fig. 5 speichert ein Betriebs
programm Po als Systemprogramm für den Betrieb der nume
rischen Steuervorrichtung 70. Der Programmspeicher 82 ent
hält außerdem einen Speicherbereich P1 zum Speichern
eines Befehlsanalyseprogramms zur Verarbeitung der Daten
in dem Befehlsanalysator 52 sowie ein Verzögerungs-Berechnungsprogramm,
einen Speicherbereich P2 zum Speichern
eines Interpolationsprogramms zur Durchführung der Inter
polation in dem Interpolator 54, und einen Speicherbereich
P3 zum Speichern eines Programms für verschiedene Funk
tionen der Werkzeugmaschine, z. B. ein Anwenderprogramm
zum Erkennen von Arbeitsfehlern, z. B. von Fräs-Fehlern
sowie von Werkzeugverschleißerscheinungen.
Fig. 7A zeigt ein Flußdiagramm des Interpolationsver
fahrens, welches in jedem Abtastintervall durchzuführen
ist. Wenn die Zeitzone t2 in jedem Abtastintervall von
einer Unterbrechung ausgewählt wird, verarbeitet die
CPU 80 das Interpolationsprogramm. In einem Schritt 1 wird
abgefragt, ob ein berechneter Wert n den Wert "1" hat
oder nicht. Der Wert n=1 entspricht dem Beginn des
Interpolationsverfahrens in jedem Block, wenn n=1,
wird in einem Schritt 2 eine Anfangs-Vorschubgeschwindigkeit
V1 bestimmt. Eine Anfangs-Vorschubgeschwindigkeit 0
oder eine vorgegebene (Soll-)Vorschubgeschwindigkeit Vp
wird jetzt als Anfangs-Vorschubgeschwindigkeit V1 ausge
wählt. Wenn sich das Werkzeug bereits bewegt hat, ist V1
normalerweise nicht 0, und folglich wird V1 zu Vp ge
wählt. Dann erfolgt im Schritt 3 eine Vorschubgeschwindig
keits-Wichtung, um eine aktuelle Soll-Vorschubgeschwindigkeit
V=Vp×K zu erhalten. Wenn die kleinste Verzöge
rung Qi von der Verzögerungs-Berechnungseinrichtung 56 den
Wert "1" hat oder größer als 1 ist, erfolgt ein Sprung
vom Schritt 4 zum Schritt 8, falls nicht, schließt sich
der Schritt 5 an, in welchem geprüft wird, ob der Beginn
der Verzögerung bestimmt ist oder nicht. Wurde die Ver
zögerung bereits durch den Interpolationsvorgang begonnen,
schließt sich Schritt 7 an, in welchem die laufende Vor
schubgeschwindigkeit Vn auf einen Wert reduziert wird,
der in jedem Abtastintervall gleich einer Beschleunigung
ΔV ist.
Wenn der Beginn der Verzögerung noch nicht im Schritt 5
erfolgt ist, wird im Schritt 6 abgefragt, ob die Ver
zögerung begonnen wurde oder nicht. Insbesondere wird
im Schritt 6 bestimmt, ob der Restweg Ln im laufenden,
gerade ausgeführten Block kleiner ist als:
W²/(2·ΔV) - (VnQi)²/2·ΔV = Lst.
W²/(2·ΔV) - (VnQi)²/2·ΔV = Lst.
Der Wert Lst wird weiter unten erläutert. Wenn der Rest
weg Ln im Schritt 6 kleiner ist als Lst, erfolgt im
Schritt 7 eine Verzögerung innerhalb jedes Abtastinter
valls. Ist Ln im Schritt 6 nicht kleiner als Lst, schließt
sich Schritt 8 an, um eine Ziel-Vorschubgeschwindigkeit
zu erreichen. Wenn die Verzögerung Vn die Zielgeschwindig
keit V erreicht hat oder kleiner ist, erfolgt
Vn = Vn + ΔV.
Wenn Vn V, wird gerechnet
Vn = V.
Wenn die laufende Vorschubgeschwindigkeit Vn größer ist
als die Zielgeschwindigkeit V, gilt
Vn = Vn - ΔV.
Wenn Vn < V, gilt
Vn = V.
Wenn im Schritt 7 oder im Schritt 8 ein neuer Wert Vn
vorgegeben wird, wird im Schritt 9 ein Restweg berechnet,
indem der Zuwachs und der Rest des Interpolationsver
fahrens für die kombinierten Achsen und jede Steuer
achse addiert werden. Beispielsweise wird die Addition
Vn+RLn-1 für die kombinierte Achse durchgeführt, wobei
RLn-1 ein Wert (Bruchteil) kleiner als 1 µm des (in
einem Register gespeicherten) Rests des Ergebnisses
der vorausgehenden Addition ist. RLn ist ein Wert kleiner
als 1 µm des Ergebnisses der vorausgehenden Addition,
und ΔLn ist der ganzzahlige Anteil des Additionsergeb
nisses.
Der Schritt 9 aktualisiert außerdem den Restweg Ln für
die kombinierte Achse. Da ΔLn im nächsten Abtastinter
vall an das Servosystem gegeben wird, fragt der Schritt
10 ab, ob der vorhergehende Restweg Ln den Wert 0 hat
oder nicht. Ist Ln=0, so wird n=1 gesetzt (Schritt
11), in Vorbereitung auf die in Schritt 1 für den nächsten
Block erfolgende Prüfung, ob n=1.
Ist im Schritt 10 noch ein Restweg vorhanden, wird n im
Schritt 12 um 1 erhöht.
Nun ist ein Zyklus des Interpolationsverfahrens abge
schlossen. Fig. 7C zeigt die Beziehung zwischen dem Rest
weg Ln und einer Zeit T3 für den Beginn der Verzögerung
im Interpolationsverfahren für einen gewissen Block, be
zogen auf die Richtung, in der die kombinierte Achse, d. h.
die Spitze des Werkzeugs bewegt wird. Da die Bedingung
(Schritt 6 in Fig. 7A) zum Starten der Verzögerung in den
Zeitpunkten T1, T2 vom Restweg Ln nicht erfüllt wird,
wird die im Schritt 8 spezifizierte Ziel-Vorschubgeschwindigkeit
V als Vn ausgewählt. Wird die Bedingung des Schritts
6 im Zeitpunkt T3 erfüllt, wird die Verzögerung begonnen.
Gilt im Zeitpunkt T4 die Beziehung Ln=0, so wird die
Interpolationsausgabe in diesem Block gestoppt. Es sei
hier angemerkt, daß die Vorschubgeschwindigkeit der kom
binierten Achse im Zeitpunkt T4 den Wert VnQi hat. Der Wert
Qi (größte Verzögerung), bei dem das Verhältnis der Ge
schwindigkeitsdifferenz für jede Steuerachse zwischen die
sem Block und dem nächsten Block bereits vor der
Interpolation für diesen Block berechnet wurde, wurde ausgeführt. Der Zeitpunkt
T3 für den Start der Verzögerung wird so berechnet, daß
die laufende Vorschubgeschwindigkeit Vn im Zeitpunkt T3
beginnt, um die vorgeschriebene Beschleunigung V in
einem Interpolationsvorgang zu verringern, bis Ln=0,
wenn die Vorschubgeschwindigkeit VnQi erreicht. Die
Formel zur Ausführung dieser Berechnung ist im Schritt
6 angegeben und wird weiter unten näher erläutert.
Fig. 7D zeigt die Beziehung zwischen dem zurückgelegten
Weg S und der Zeitspanne T, die benötigt wird, bis Vn=0,
wenn die laufende Vorschubgeschwindigkeit, d. h. die in
terpolierte Vorschubgeschwindigkeit Vn mit dem Wert der
Beschleunigung (ΔV/ΔT) vermindert wird. In Fig. 7D
repräsentiert der schraffierte rechteckige Bereich den
Weg S, der nach dem Beginn der Verzögerung bei to zurück
gelegt wurde. Der Weg S ergibt sich durch folgende Be
ziehung:
S = 1/2 · Vn · T = (Vn)²/(2 · ΔV).
Die Fläche 52 in Fig. 7C bedeutet den Weg, der zurückge
legt wurde, nachdem die Verzögerung von Vn im Zeitpunkt
T3 begonnen wurde, bis hin zu einem Zeitpunkt T5, bei dem
die interpolierte Ausgabe gestoppt wird. Die Fläche S1
entspricht dem Weg, bei dem VnQi als die interpolierte
Ausgabe zwischen T4 und T5 gegeben ist. Daher gilt
S2 - S1 = (Vn)²/(2 · ΔV) - (VnQi)²/(2 · ΔV).
S2 - S1 = (Vn)²/(2 · ΔV) - (VnQi)²/(2 · ΔV).
Die CPU 80 prüft stets die Zeit (zum Start der Verzögerung),
zu der der Restweg Ln=(S2-S1) während des Interpo
lationsprozesses wird.
Ist im Schritt 4 nach Fig. 7A der Wert Qi kleiner als 1,
erfolgt ein Sprung zum Schritt 8, ohne daß eine Ver
zögerung beim Block-Block-Übergang erfolgt, da die Vor
schubgeschwindigkeitsdifferenz in den zulässigen Vor
schubgeschwindigkeitsdifferenz-Wert fällt. Der Schritt 8
ist ein Beschleunigungs- und ein Verzögerungsvorgang
ohne den Schritt 7, d. h. ohne die Bestimmung des Be
ginns der Verzögerung und als Antwort auf die Entschei
dung "Nein" im Schritt 6. Die Werte Vn+ΔV bei *1 und
Vn-ΔV bei *2 im Schritt 8 entsprechen z. B. den Bedin
gungen, bei denen der Wert R von der Bedienungsperson
variiert wird.
Fig. 8 zeigt speziell, wie die Vorschubgeschwindigkeit
für die kombinierte Achse und die Vorschubgeschwindigkei
ten für jede Steuerachse über einen Block/Block-Übergang
beeinflußt werden, wenn die Geschwindigkeitsdifferenzen
für die jeweiligen Steuerachsen x, y und z folgende
Werte haben:
|iVx - Vx′| = 1
|Vy - Vy′| = 1
|Vz - Vz′| = 5
|Vy - Vy′| = 1
|Vz - Vz′| = 5
zwischen dem N-ten Block und dem (N+1)-ten Block, wobei
die zulässigen Vorschubgeschwindigkeitsdifferenzen VLX,
VLY, und VLZ für die jeweiligen Steuerachsen 2,2 bzw.
1,5 sind. Wie in Fig. 8 bei (B), (C) und (D) gezeigt
ist, sind die Vorschubgeschwindigkeitsdifferenzen für die
X- und die Y-Achse kleiner als die zulässigen Geschwindig
keitsdifferenzen VLX, VLY, und die Vorschubgeschwindig
keitsdifferenz für die Z-Achse beträgt |Vz-Vz′|=5
und folglich größer als VLZ (=1,5). Daher wird die momen
tane Vorschubgeschwindigkeit Vn für die kombinierten
Achsen dem Verzögerungsvorgang unterworfen, ungeachtet
des Betrages von |Vn-Vn′|.
Folglich ist die kleinste Verzögerung Qi gegeben durch:
Qi = VLZ/|Vz - Vz′| × K
= 1,5/(5 × 1)
= 0,3 (= 3%) (K = 1).
Qi = VLZ/|Vz - Vz′| × K
= 1,5/(5 × 1)
= 0,3 (= 3%) (K = 1).
Wie in Fig. 8 bei (A) gezeigt ist, wird der Wert VnQi
bestimmt, und die Startposition für die Verzögerung der
kombinierten Achsen wird durch den anhand von Fig. 7 be
schriebenen Vorgang bestimmt aus einer Verzögerungslinie
lo, die einen Gradienten ΔV besitzt. Mit der in Fig. 8A
bei Po angegebenen Verzögerungs-Startposition können
die Punkte Pox, Poy und Poz entsprechend dem Punkt Po
für die X-, die Y- und die Z-Achse bestimmt werden, und
die Vorschubgeschwindigkeiten werden entlang den jeweili
gen Verzögerungslinien lx, ly bzw. lz nach Maßgabe der
interpolierten Ausgangsgrößen für die jeweiligen Steuer
achsen verkleinert. Der Block/Block-Übergang ist an
einem Punkt P1 für die kombinierten Achsen angedeutet,
und entsprechende Punkte für die jeweiligen Steuerachsen
sind mit Px1, Py1 bzw. Pz1 bezeichnet. Die Vorschubge
schwindigkeit für den nächsten Block (N+1) ist für die
kombinierte Achse mit einem Punkt P2 bezeichnet, und für
die jeweiligen Steuerachsen mit den Punkten Px2, Py2 bzw.
Pz2. Der Punkt P2 ist gegeben als Vn′Qi, wobei es sich
um das Produkt einer Soll-Vorschubgeschwindigkeit Vn′
für den nächsten Block der kombinierten Achse und der
Verzögerung Qi handelt. In ähnlicher Weise können die
Vorschubgeschwindigkeiten Vx′Qi, Vy′Qi und Vz′Qi für die
Punkte Px2, Py2, Pz2 entsprechend der X-, Y- bzw. Z-Achse
gegeben werden. Der Wert Vn=6 in Fig. 8A und die Werte
Vx, Vy und Vz in den Fig. 8B, 8C bzw. 8D sind in unter
schiedlichen Größen angegeben. Wie aus Fig. 8D er
sichtlich, gilt:
|Vz Qi - Vz′ Qi| = VLZ
für die Z-Achse, und die Vorschubgeschwindigkeit für die
Z-Achse wird bei dem Blockübergang entsprechend der Ver
zögerungslinie lz und der spezifizierten Punkte Pz1, Pz2
auf der zulässigen Vorschubgeschwindigkeitsdifferenz VLZ
gehalten.
Fig. 9A und 9B zeigen verarbeitete Vorschubgeschwindigkei
ten und einen Bewegungsweg des Werkzeugs gemäß der Er
findung. Fig. 9A und 9B entsprechen den Fig. 2A und 2B
sowie 3A und 3B. In Fig. 9A betragen die zulässigen Vor
schubgeschwindigkeitsdifferenzen für die X- und die
Y-Achse jeweils 20% von Vx bzw. Vy. Die verarbeiteten
Vorschubgeschwindigkeiten sind in der dargestellten Weise
gegeben und die interpolierten Ausgangskurven sind nicht
gestört. Wie in Fig. 9B gezeigt ist, ist lediglich der
an der Ecke vorhandene Fehler ein Servofehler, der pro
portional ist zu einer Vorschubgeschwindigkeitsänderung
in der interpolierten Ausgangs-Endgröße zwischen den
Blöcken (x2 bis y1). Dieser Fehler läßt sich sehr stark
durch Reduzieren des Parameters, d. h. der zulässigen
Vorschubgeschwindigkeitsdifferenz (0,2 Vx im vorliegenden
Beispiel) verkleinern.
Fig. 10 bis 13 zeigen die Ergebnisse eines gemäß der Er
findung simulierten Experiments. Fig. 10 zeigt die Be
fehle in den jeweiligen Blöcken. In jeder der Fig. 11 -
13 wird die X-Achse als Steuerachse verwendet, und der
durch den X-Achsen-Treibermotor fließende Strom ist für
verschiedene zulässige Vorschubgeschwindigkeitsdiffe
renzen gegenüber der X-Achse aufgetragen, wobei die
Stromwellenform einer X-Achsen-Geschwindigkeitswellenform
entspricht.
Fig. 11 zeigt Blockcodes N1, N2, . . ., N10 in dem Bear
beitungsprogramm. In Fig. 11 wird die zulässige Vor
schubgeschwindigkeitsdifferenz für die X-Achse zu 0 mm/min
gewählt, was bedeutet, daß wenn die Vorschubgeschwindig
keitsdifferenz bei einem Blockübergang für die X-Achse
ihren zulässigen Einstellwert VLX (welcher hier 0 ist)
überschreitet, die Vorschubgeschwindigkeitsdifferenz
auf den zulässigen Einstellwert reduziert wird und mithin
die Vorschubgeschwindigkeit für die X-Achse am Übergang
auf 0 reduziert wird, wenn zwischen den Soll-Vorschubgeschwindigkeiten
zwischen den Blöcken eine Differenz vor
handen ist. Wie aus den Fig. 10 und 11 entnehmbar ist,
beträgt der Soll-Weg in positiver Richtung entlang der
X-Achse 100,00 mm, und die Vorschubgeschwindigkeit F
beträgt 4000 mm/min im ersten Block N1. Die Ist-Motorgeschwindigkeit
erreicht 4000 mm/min. Im Block N2 beträgt
der Soll-Weg +50,00 mm, und die Vorschubgeschwindigkeit
F beträgt 2000 mm/min. Folglich beträgt die absolute
Vorschubgeschwindigkeitsdifferenz für die X-Achse zwischen
den Blöcken N1 und N2 |2000-4000| = 2000. Da diese abso
lute Geschwindigkeitsdifferenz größer ist als VLX (=0),
wird die Vorschubgeschwindigkeit für die X-Achse am Über
gang "1" auf 0 reduziert. Die momentane Wellenform erreicht
nicht den Nullpegel, wenn der Befehl im nächsten Block N2
an den Motor gegeben wird, bevor die Vorschubgeschwindig
keit auf 0 abfällt, und zwar wegen der Ansprechverzögerung
des Motors.
In ähnlicher Weise gibt es Geschwindigkeitsdifferenzen
an den Übergängen zwischen den Blöcken N2, N3, . . ., und
die Vorschubgeschwindigkeit wird so gesteuert, daß sie
an jedem Übergang auf 0 abfällt. Obschon sowohl die
Soll-Vorschubgeschwindigkeiten F in den Blöcken N6, N7 gemäß
Fig. 10 4000 beträgt, beträgt die Vorschubgeschwindig
keitsdifferenz + 4000--4000=8000, weil die Vorzeichen
der inkrementalen Wege entlang der X-Achse einander ent
gegengesetzt sind.
Fig. 12 zeigt eine ansprechend auf die in Fig. 10 gezeig
ten Befehle aufgezeichnete Vorschubgeschwindigkeits-Wellenform,
wobei die zulässige Vorschubgeschwindigkeits
differenz 500 mm/min beträgt. In Fig. 12 fällt die inter
polierte Soll-Vorschubgeschwindigkeit nicht zwischen be
nachbarten Blöcken auf 0 ab, und zwar aufgrund der zu
lässigen Vorschubgeschwindigkeitsdifferenz von 500 mm/min.
Ein Vergleich der Geschwindigkeitswellenformen nach den
Fig. 11 und 12 zeigt, daß die Vorschubgeschwindigkeit
vom Nullpegel entfernt ist und an den Übergängen "1",
"5" und "8" in Fig. 12 glatter variiert als die Vorschub
geschwindigkeit in Fig. 11. Da die interpolierte Ausgangs
größe nicht bei jedem Blockübergang den Nullpegel er
reicht, verkürzt sich die Zeit, die das Werkzeug zum
Zurücklegen des gesamten Weges benötigt, was durch die
Beziehung T12<T11 in den Fig. 11 und 12 bestätigt
wird.
Die Vorschubgeschwindigkeitswellenform in Fig. 13 wurde
aufgezeichnet, als die zulässige Geschwindigkeitsdiffe
renz 9999 mm/min betrug. Da die Vorschubgeschwindigkeits
differenz zwischen benachbarten Blöcken N1 bis N13 in
Fig. 10 den Wert 9999 mm/min nicht überschreitet, wird
die Vorschubgeschwindigkeitsdifferenz zwischen den be
nachbarten Blöcken direkt auf den Motor gegeben. Die
Wellenform nach Fig. 13 ist daher an jedem Blocküber
gang eine Exponentialkurve. Die Zeit T13, die für den
Durchlauf vom Block N1 zum N10 benötigt wird, ist kürzer
als die Zeit T12. In Fig. 13 gibt es eine Geschwindig
keitsänderung von 8000 mm/min innerhalb von 0,5 sec
am Übergang zwischen den Blöcken N6 und N7. In den Fig.
11 und 12 erfolgt eine solche Vorschubgeschwindigkeits
änderung in mehr als einer Sekunde. Daher kann der Ge
schwindigkeitsverlauf entsprechend der in Fig. 13 ge
zeigten Geschwindigkeitswellenform auf das Antriebs
system einwirkende mechanische Stöße verringern.
Die Fig. 14 bis 18 zeigen die Ergebnisse eines
weiteren simulierten Experiments gemäß der Erfindung.
Fig. 14 zeigt im oberen Teil ein X-Y-Koordinatensystem,
welches die Soll-Bewegungsbahnen für die Blöcke N1
bis N 13 darstellt. Fig. 14 zeigt außerdem im unteren
Teil die Befehle in den jeweiligen Blöcken N0
bis N13 für die X- und die Y-Achse sowie die absoluten
Geschwindigkeitsdifferenzen zwischen diesen Blöcken.
Fig. 14 bis 18 zeigen, daß, wenn irgendeine Ge
schwindigkeitsdifferenz zwischen Blöcken für die
X-Achse eine zulässige Geschwindigkeitsdifferenz
VLY übersteigt, die Soll-Vorschubgeschwindigkeit für die
X-Achse dadurch beeinflußt wird.
In Fig. 15 wird die zulässige Vorschubgeschwindigkeit
auf 0 mm/min gewählt. Da die Geschwindigkeitsdifferenz
zwischen benachbarten Blöcken für die X-Achse nicht 0
ist, übersteigt sie die zulässige Geschwindigkeits
differenz. Folglich wird die Vorschubgeschwindigkeit
entlang der kombinierten Achse so gesteuert, daß
sie bei jedem Blockübergang auf 0 abfällt auf Grund
der Verzögerung 0 für die Y-Achse. Bei jedem Über
gang "1" bis "8" in Fig. 15 stellen die interpolierten
Befehle die Vorschubgeschwindigkeit 0 für die X-Achse
dar, doch liegt die tatsächliche Vorschubgeschwindigkeits
wellenform für die X-Achse etwas höher als der Null
pegel, verursacht durch die Ansprechverzögerung des
Motors. Die Zeit T15 für den Durchlauf vom Block N1 zum
Block N9 beträgt etwa 17,5 sec.
Die zulässige Vorschubgeschwindigkeitsdifferenz nach
Fig. 16 wird auf VLY=500 mm/min gewählt. Die Bewegungs
befehle sind so gegeben, wie es in Fig. 14 gezeigt ist.
In Fig. 16 fällt die interpolierte Soll-Vorschubgeschwindigkeit
nicht auf den Nullpegel ab, wie bei den
Übergängen "1" und "2" gezeigt ist, und zwar deshalb
nicht, weil die absolute Geschwindigkeitsdifferenz
zwischen den Blöcken N1 und N2 für die Y-Achse
1000 mm/min beträgt, was mehr ist als VLY=500 mm/min.
Die Verzögerung für die Y-Achse beträgt 500/1000=0,5,
und die Vorschubgeschwindigkeit für die X-Achse
ändert sich nicht. Die interpolierte Vorschubge
schwindigkeit für die kombinierte Achse wird wegen
der Y-Achsen-Verzögerung von 0,5 bei den Blocküber
gängen auf 0,5 abgesenkt. Deshalb wird am Übergang
"1" die Vorschubgeschwindigkeit für die X-Achse
von 4000 mm/min abgesenkt auf 2000 mm/min. Tatsächlich
jedoch liegt die aufgezeichnete Vorschubgeschwindigkeit
höher als 2000 mm/min, weil der Motor eine Ansprech
verzögerung aufweist. Aus dem gleichen Grund reduziert
sich die Vorschubgeschwindigkeit für die X-Achse am
Übergang "2" auf 2000 mm/min (interpolierte Ausgangs
größe) unter dem Einfluß der Geschwindigkeitsdifferenz
für die Y-Achse.
Die Soll-Vorschubgeschwindigkeitsdifferenz am Übergang
"3" beträgt 5000 mm/min, wie Fig. 14 zeigt. Die
Y-Achsen-Verzögerung beträgt daher 500/(5000×K)=0,1,
und die Vorschubgeschwindigkeit für die X-Achse
von 4000 mm/min wird abgesenkt auf 4000×0,1=400
am Übergang "3". Obschon wegen der Ansprechver
zögerung des Motors die aktuelle Vorschubgeschwindig
keit nicht bis auf 400 mm/min reduziert wird, ist
die Differenz zwischen den Vorschubgeschwindigkeiten
am Übergang "3" und am Übergang "1" und "2" aus Fig. 16
ersichtlich. Die Vorschubgeschwindigkeiten an den anderen
Übergängen "4" bis "10" werden in ähnlicher Weise ge
steuert.
Die Zeit T16 für den Durchlauf vom Block N1 zum
Block N9 beträgt etwa 16 sec, was weniger ist als die
Zeit T15 in Fig. 15. Dies ist darauf zurückzuführen,
daß die interpolierte Vorschubgeschwindigkeit (unter
der Annahme, daß die Beschleunigung konstant ist)
nicht auf 0 abfällt.
Fig. 17 zeigt eine Vorschubgeschwindigkeits-Wellenform
für den X-Achsen-Motor, der von den Befehlen ange
steuert wird, wenn die zulässigen Vorschubgeschwindig
keitsdifferenzen VLX und VLY auf 1000 mm/min gewählt
werden. In Fig. 17 sind die Vorschubgeschwindigkeits
änderungen an den Übergängen zwischen den Blöcken
N1 und N2 und außerdem zwischen den Blöcken N2 und N3
eliminiert. Da die absoluten Geschwindigkeitsdifferen
zen für die Y-Achse zwischen diesen Blöcken 1000 mm/min
beträgt, wie Fig. 14 zeigt, beträgt die Verzögerung
(zulässige Geschwindigkeitsdifferenz/Geschwindigkeits
differenz ×K) = 1000/1000 = 1,0 (=100%). Mithin
ist die Antwort auf die im Schritt 4 in Fig. 7A
erfolgende Anfrage "nein", und der Verzögerungs
schritt 7 wird umgangen. Anders ausgedrückt: die
Geschwindigkeitsdifferenz von 1000 mm/min für die
Y-Achse zwischen den Blöcken N1 und N2 und den Blöcken
N2 und N3 übersteigt nicht die zulässige Geschwindigkeits
differenz, und sie wird vernachlässigt. Die Zeit T17
vom Block N1 zum Block N17 beträgt etwa 14,7 sec.
In Fig. 18 werden die zulässigen Geschwindigkeits
differenzen VLX und VLY auf 9999 mm/min gewählt.
Sämtliche Geschwindigkeitsdifferenzen für die Y-Achse
nach Fig. 14 sind kleiner als 9999 mm/min, und die
Verzögerung für die Y-Achse ist größer als 1. Daher
erfolgt keine Verzögerung bei jedem Blockübergang be
züglich der Geschwindigkeitsdifferenz für die Y-Achse.
Die Vorschubgeschwindigkeits-Wellenform für den X-Achsen-Motor
ist bei etwa 4000 mm/min flach. Die Zeit für den
Durchlauf zwischen den Blöcken ist kürzer als die
Zeit T17 in Fig. 17, obschon dies nicht gezeigt ist,
weil in Fig. 18 die Blöcke nicht klar definiert sind.
Im folgenden sollen einige Modifizierungen der vor
liegenden Erfindung angegeben werden.
Es ist nicht notwendig, daß die Parametereinstelleinheit
72B in Fig. 5 zulässige Vorschubgeschwindigkeits
differenzen für sämtliche Steuerachsen der Werkzeug
maschine 10 eingibt. Statt dessen kann lediglich eine
Steuerachse (vorzugsweise eine solche, die sehr großen
Vorschubgeschwindigkeitsänderungen unterworfen ist)
für die Steuerung anhand einer solchen zulässigen
Vorschubgeschwindigkeitsdifferenz ausgewählt werden.
Bei einer solchen Modifizierung berechnet sich die
Verzögerung Q für die einzige Steuerachse in der
Verzögerungs-Berechnungseinheit 56 nach Fig. 4.
Wenn Q<1, kann als kleinste Verzögerung Qi die
Verzögerung Q (<1) verwendet werden.
Anstatt für die Steuerung eine einzige Steuerachse
auszuwählen, können mehrere Steuerachsen (wenn auch
nicht alle) alternativ ausgewählt werden.
Die Werte für die zulässigen Vorschubgeschwindigkeits
differenzen brauchen nicht als Parameter vorzuliegen,
sie können auch vorab als Konstanten gegeben werden,
wenn eine zu steuernde Werkzeugmaschine identifiziert
werden kann.
Da die Werte für die zulässigen Vorschubgeschwindigkeits
differenzen im beschriebenen Ausführungsbeispiel als
Parameter gegeben sind, können die größten zulässigen
Vorschubgeschwindigkeiten für die jeweiligen Steuer
achsen angegeben werden. Obschon beim obenbeschriebenen
Ausführungsbeispiel die von der erfindungsgemäßen
numerischen Steuervorrichtung gesteuerte Werkzeugma
schine eine Fräsmaschine ist, ist die Erfindung nicht
auf eine Fräsmaschine beschränkt, sondern auch anwend
bar bei der Steuerung einer Laser-Werkzeugmaschine
beispielsweise. Da eine Werkzeugmaschine zur Bearbeitung
eines Werkstücks zur Erzielung einer bestimmten
Kontur durch Bewegungsbefehle von einer numerischen
Steuervorrichtung betrieben wird, unabhängig davon,
ob die Werkzeugmaschine ein Fräswerkzeug oder einen
Laserstrahl verwendet, lassen sich die grundlegenden
Merkmale der Erfindung auch bei einer solchen Werk
zeugmaschine anwenden.
Claims (15)
1. Vorrichtung zur numerischen Steuerung der Bearbeitung
eines Werkstückes nach einem Bearbeitungsprogramm, das
- - mehrere Bearbeitungsblöcke umfaßt, wobei die Vor schubgeschwindigkeit für mindestens eine Steuerachse der Vorrichtung beim Übergang von einem (aktuellen) Bearbeitungsblock (Block) auf einen nächsten (nachfolgenden) Bearbeitungsblock den Bearbeitungsge gebenheiten angepaßt wird, gekennzeichnet durch:
- - eine Einrichtung zum Festlegen (Festlege-Einrichtung) einer zulässigen Vor schubgeschwindigkeitsdifferenz für die mindestens ei ne Steuerachse,
- - eine Einrichtung zum Berechnen einer Vorschubge schwindigkeitsdifferenz für die mindestens eine Steu erachse aus den Befehlsdaten in aufeinanderfolgenden Blöcken des Bearbeitungsprogramms für die mindestens eine Steuerachse,
- - eine Einrichtung zum Berechnen einer Verzögerung (Verzögerungs-Berechnungseinrichtung) für die mindestens eine Steuerachse aus der festgelegten zulässigen Vorschubgeschwindigkeitsdifferenz und der berechneten Vorschubgeschwindigkeitsdifferenz, und
- - eine Einrichtung, die aus der berechneten Verzögerung einen Punkt für den Beginn der Verzögerung in dem ak tuellen Block des Bearbeitungsprogramms berechnet, wodurch auf der Grundlage der berechneten Verzögerung die Vorschubgeschwindigkeitsdifferenz an dem Übergang von dem aktuellen Block auf den nächsten Block des Bearbeitungsprogramms innerhalb der zulässigen Vor schubgeschwindigkeitsdifferenz gehalten wird.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß
- - die Werkzeugmaschine mehrere Steuerachsen besitzt, und daß die Festlege-Einrichtung mehrere zulässige Vor schubgeschwindigkeitsdifferenzen für die jeweiligen Steuerachsen festlegt.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet,
daß
- - die Verzögerungs-Berechnungseinrichtung eine Einrich tung zum Berechnen mehrerer Verzögerungen für die je weiligen Steuerachsen, sowie zum Spezifizieren einer der berechneten Verzögerungen enthält.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet,
daß
- - die Verzögerungs-Berechnungseinrichtung eine Einrich
tung enthält, die für die jeweilige Steuerachse, die
Verzögerung von dem aktuellen Block auf den nachfol
genden Block auf der Grundlage
- - einer in dem nachfolgenden Block für jede Steuer achse gespeicherten Soll-Vorschubgeschwindigkeit,
- - einer dem aktuellen Block für jede Steuerachse entsprechenden Ist-Vorschubgeschwindigkeit und
- - der für diese Steuerachse festgelegten Block-Block-Vorschubgeschwindigkeitsdifferenz
berechnet.
5. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß
- - die Verzögerungs-Berechnungseinrichtung eine Einrich tung aufweist zum Berechnen der Verzögerung als Ver hältnis der zulässigen Vorschubgeschwindigkeitsdiffe renz zu der Vorschubgeschwindigkeitsdifferenz zwi schen den aufeinanderfolgenden Blöcken.
6. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß
- - die Verzögerungs-Berechnungseinrichtung eine Einrich tung enthält, die als die Verzögerung das Verhältnis der zulässigen Vorschubgeschwindigkeitsdifferenz zu einer momentan vorgegebenen Vorschubgeschwindigkeits differenz, die ihrerseits durch Multiplizieren der Vorschubgeschwindigkeitsdifferenz zwischen den aufeinander folgenden Blöcken mit einem Wichtungs-Prozentsatz (K) erzeugt wird, berechnet.
7. Vorrichtung nach Anspruch 5, gekennzeichnet durch
- - eine Einrichtung, welche die berechnete Verzögerung aus den Steuerdaten für die jeweilige Steuerachse aus schließt, wenn die berechnete Verzögerung mindestens 1 beträgt.
8. Vorrichtung nach Anspruch 3, gekennzeichnet durch
- - eine Einrichtung zum Auswählen des kleinsten der be rechneten Verzögerungswerte.
9. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet,
daß
- - die Einrichtung, die den Punkt für den Beginn der Verzögerung berechnet, einen Interpolator enthält, der das Produkt des kleinsten der von der Verzögerungs-Berechnungseinrichtung gelieferten Verzöge rungswerte und der Vorschubgeschwindigkeit eines von der Vorrichtung gesteuerten Gegenstands als ein Soll-Vorschubgeschwindigkeitssignal ausgibt.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet,
daß
- - der Interpolator eine Einrichtung enthält zum Berech nen von Anfangs- und Endvorschubgeschwindigkeiten nach der Verzögerung.
11. Vorrichtung nach einem der Ansprüche 3 bis 8, dadurch
gekennzeichnet, daß
- - die Einrichtung zum Berechnen eines Startpunktes für die Verzögerung einen Interpolator aufweist,
- - wobei der Startpunkt für die Verzögerung bestimmt wird durch das Produkt der momentanen Vorschubge schwindigkeit für jede der Steuerachsen und der Vor schubgeschwindigkeitsdifferenz, welche am stärksten von der zulässigen Vorschubgeschwindigkeitsdifferenz für jede Steuerachse zwischen dem aktuellen Block und dem nachfolgenden Block des Bearbeitungsprogramms ab weicht.
12. Vorrichtung nach einem der Ansprüche 3 bis 11, dadurch
gekennzeichnet, daß
- - die Festlege-Einrichtung eine Einrichtung enthält zum Festlegen der zulässigen Vorschubgeschwindigkeitsdif ferenz für diejenige der Steuerachsen, die einer grö ßeren Vorschubgeschwindigkeitsänderung ausgesetzt ist als die anderen Steuerachsen.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet,
daß
- - jede der zulässigen Vorschubgeschwindigkeitsdifferen zen vorab als Konstante ausgewählt und eingegeben wird.
14. Vorrichtung nach einem der vorstehenden Ansprüche, da
durch gekennzeichnet, daß
- - die Vorrichtung in Verbindung mit einer Fräsmaschine eingesetzt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59278743A JPS61156309A (ja) | 1984-12-27 | 1984-12-27 | 速度段差平滑機能を備えた数値制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3545795A1 DE3545795A1 (de) | 1986-07-10 |
DE3545795C2 true DE3545795C2 (de) | 1997-10-16 |
Family
ID=17601582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3545795A Expired - Fee Related DE3545795C2 (de) | 1984-12-27 | 1985-12-23 | Vorrichtung zur numerischen Steuerung |
Country Status (4)
Country | Link |
---|---|
US (1) | US4757457A (de) |
JP (1) | JPS61156309A (de) |
KR (1) | KR900007297B1 (de) |
DE (1) | DE3545795C2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19944607A1 (de) * | 1999-09-17 | 2001-03-22 | Isg Ind Steuerungstechnik Gmbh | Satzübergreifende Geschwindigkeitsführung bei einer numerisch gesteuerten Werkzeugmaschine oder einem Roboter |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0711764B2 (ja) * | 1986-12-02 | 1995-02-08 | 東芝機械株式会社 | 加減速制御装置 |
JP2679783B2 (ja) * | 1987-01-24 | 1997-11-19 | ファナック 株式会社 | 加減速制御装置 |
JP2668876B2 (ja) * | 1987-04-09 | 1997-10-27 | トヨタ自動車株式会社 | サーボモータ制御装置 |
JPS63273108A (ja) * | 1987-04-30 | 1988-11-10 | Fanuc Ltd | 速度制御装置 |
JPH0732979B2 (ja) * | 1987-06-17 | 1995-04-12 | ファナック株式会社 | 加減速制御装置 |
JP2676793B2 (ja) * | 1988-06-30 | 1997-11-17 | トヨタ自動車株式会社 | 倣い制御ロボット |
JP2742104B2 (ja) * | 1989-08-29 | 1998-04-22 | ファナック株式会社 | 数値制御装置の送り速度制御方法 |
DE58908949D1 (de) * | 1989-09-27 | 1995-03-09 | Siemens Ag | Verfahren zur numerischen Positions- oder Bahnsteuerung. |
JPH04111006A (ja) * | 1990-08-30 | 1992-04-13 | Kobe Steel Ltd | ロボットの経路補間方法 |
JP3036143B2 (ja) * | 1991-09-02 | 2000-04-24 | 三菱電機株式会社 | 数値制御装置 |
KR0160998B1 (ko) * | 1992-09-18 | 1998-12-15 | 윤종용 | 로보트의 구동경로 계획방법 |
JPH06131029A (ja) * | 1992-10-15 | 1994-05-13 | Fanuc Ltd | 加速度定数切り換え方式 |
JP3647043B2 (ja) * | 1995-08-23 | 2005-05-11 | ファナック株式会社 | Cncの加減速制御装置及び方法 |
JPH09120310A (ja) * | 1995-10-24 | 1997-05-06 | Fanuc Ltd | 軸移動方法及び軸移動方式 |
JP4068321B2 (ja) * | 2001-09-27 | 2008-03-26 | 株式会社ジェイテクト | 加工装置の加工速度設定方法及び加工装置 |
TWI375140B (en) | 2008-10-13 | 2012-10-21 | Ind Tech Res Inst | Accumulative method for estimating a processing velocity limitation and method for controlling acceleration and deceleration before interpolation |
JP5471159B2 (ja) | 2009-08-24 | 2014-04-16 | 株式会社ジェイテクト | 工作機械の制御装置 |
JP5146512B2 (ja) | 2010-10-13 | 2013-02-20 | オムロン株式会社 | 制御装置、制御システムおよび制御方法 |
JP5417390B2 (ja) * | 2011-07-29 | 2014-02-12 | 新日本工機株式会社 | 数値制御装置 |
US9329592B2 (en) * | 2012-11-27 | 2016-05-03 | Pratt & Whitney Canada Corp. | Methods and systems for calculation of feedrate |
JP5715217B2 (ja) * | 2013-10-18 | 2015-05-07 | ファナック株式会社 | プログラムの先読み機能を備えた数値制御装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US30132A (en) * | 1860-09-25 | Improvement in hay-rakes | ||
US3110865A (en) * | 1960-04-18 | 1963-11-12 | Gen Electric | Feed rate control system |
GB1189959A (en) * | 1965-09-03 | 1970-04-29 | Olivetti & Co Spa | Improvements in Numerical Control Devices |
US3876873A (en) * | 1971-06-07 | 1975-04-08 | Haudaille Ind Inc | Machine tool control system and method |
USRE30132E (en) | 1973-07-09 | 1979-10-30 | Unimation, Inc. | Program control system for manipulator |
US4079235A (en) * | 1976-12-27 | 1978-03-14 | Mcdonnell Douglas Corporation | Computer numerically controlled threadcutting machine tool |
JPS5486887A (en) * | 1977-12-22 | 1979-07-10 | Toyoda Mach Works Ltd | Numerical controller |
IT1165716B (it) * | 1979-10-11 | 1987-04-22 | Olivetti & Co Spa | Apparecchiatura di controllo numerico adattativo per macchine utensili |
JPS57139810A (en) * | 1981-02-20 | 1982-08-30 | Shin Meiwa Ind Co Ltd | Controlling method of industrial robot and its device |
JPS57211604A (en) * | 1981-06-22 | 1982-12-25 | Fanuc Ltd | Numerical controlling method |
JPS5936811A (ja) * | 1982-08-25 | 1984-02-29 | Hitachi Ltd | ロボツトハンドの経路補間方法 |
JPS61138310A (ja) * | 1984-12-07 | 1986-06-25 | Toyoda Mach Works Ltd | ロボツト制御装置 |
-
1984
- 1984-12-27 JP JP59278743A patent/JPS61156309A/ja active Pending
-
1985
- 1985-12-23 DE DE3545795A patent/DE3545795C2/de not_active Expired - Fee Related
- 1985-12-26 US US06/813,658 patent/US4757457A/en not_active Expired - Lifetime
- 1985-12-27 KR KR1019850009899A patent/KR900007297B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19944607A1 (de) * | 1999-09-17 | 2001-03-22 | Isg Ind Steuerungstechnik Gmbh | Satzübergreifende Geschwindigkeitsführung bei einer numerisch gesteuerten Werkzeugmaschine oder einem Roboter |
Also Published As
Publication number | Publication date |
---|---|
DE3545795A1 (de) | 1986-07-10 |
KR860005268A (ko) | 1986-07-21 |
JPS61156309A (ja) | 1986-07-16 |
US4757457A (en) | 1988-07-12 |
KR900007297B1 (ko) | 1990-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3545795C2 (de) | Vorrichtung zur numerischen Steuerung | |
DE102010017763B4 (de) | Gerät zum Anzeigen des Werkzeugwegs für Werkzeugmaschinen | |
DE69015347T2 (de) | Vorschubgeschwindigkeitskontrolle. | |
DE69032694T2 (de) | Dynamische fehlerverbesserung hervorgerufen durch den servomechanismus in einem numerisch kontrollierten rechnersystem und seine verwendung in einem stetigen zyklus | |
EP1470458B1 (de) | Verfahren zur bahnsteuerung | |
DE69232294T2 (de) | Numerische Steuerungseinheit | |
DE69624093T2 (de) | Verfahren und gerät für eine numerische steuerung von werkzeugmaschinen mit achsbewegung | |
EP2188684B1 (de) | Virtuelle werkzeugmaschine zur darstellung von aktionen von bearbeitungseinheiten einer realen werkzeugmaschine | |
DE102011108282B4 (de) | Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene | |
DE102007045595A1 (de) | Verfahren und virtuelle Werkzeugmaschine zur Darstellung von Aktionen einer realen Werkzeugmaschine | |
DE3886748T2 (de) | Geschwindigkeitsregelanordnung. | |
EP2650741B1 (de) | Werkzeugmaschine | |
DE112013006980T5 (de) | Numerische Steuerungseinrichtung | |
DE102020124734A1 (de) | Simulationsgerät | |
DE4108293A1 (de) | Steuereinrichtung zum steuern eines servomotors | |
DE102019006548A1 (de) | Numerisches steuerverfahren und verarbeitungsvorrichtung | |
EP0543034B1 (de) | Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine und Werkzeugmaschine zur Ausübung des Verfahrens | |
EP0706103B1 (de) | Verfahren und Vorrichtung zur numerischen Bahnsteuerung von Werkzeugmaschinen oder Robotern | |
DE2338880A1 (de) | Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen | |
EP1977295A1 (de) | Verfahren zur achsregelung | |
DE10111476A1 (de) | NC-Einrichtung | |
EP2016471B1 (de) | Verfahren zum koordinieren von antriebsanordnungen einer werkzeugmaschine, bahnplanungseinheit und zugehörige werkzeugmaschine | |
DE102020203770A1 (de) | Steuergerät und Werkzeugmaschine | |
DE3883521T2 (de) | Regelverfahren der laserenergie. | |
DE2165862C2 (de) | Adaptive Steuerungsvorrichtung für numerisch gesteuerte Werkzeugmaschinen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |