Nothing Special   »   [go: up one dir, main page]

DE3545795C2 - Vorrichtung zur numerischen Steuerung - Google Patents

Vorrichtung zur numerischen Steuerung

Info

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
Application number
DE3545795A
Other languages
English (en)
Other versions
DE3545795A1 (de
Inventor
Michio Matsumoto
Numazu Jigyosho
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Publication of DE3545795A1 publication Critical patent/DE3545795A1/de
Application granted granted Critical
Publication of DE3545795C2 publication Critical patent/DE3545795C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43009Acceleration deceleration for each block of data, segment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49164Corner, 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.
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).
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
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).
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.
DE3545795A 1984-12-27 1985-12-23 Vorrichtung zur numerischen Steuerung Expired - Fee Related DE3545795C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ロボツト制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
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