DE2124983C2 - Numerische Bahnsteuerung für eine Werkzeugmaschine - Google Patents

Numerische Bahnsteuerung für eine Werkzeugmaschine

Info

Publication number
DE2124983C2
DE2124983C2 DE2124983A DE2124983A DE2124983C2 DE 2124983 C2 DE2124983 C2 DE 2124983C2 DE 2124983 A DE2124983 A DE 2124983A DE 2124983 A DE2124983 A DE 2124983A DE 2124983 C2 DE2124983 C2 DE 2124983C2
Authority
DE
Germany
Prior art keywords
speed
control
path
segment
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2124983A
Other languages
English (en)
Other versions
DE2124983A1 (de
Inventor
Alan E. Pittsburgh Pa. Middleditch
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.)
Westinghouse Electric Corp
Original Assignee
Westinghouse Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Westinghouse Electric Corp filed Critical Westinghouse Electric Corp
Publication of DE2124983A1 publication Critical patent/DE2124983A1/de
Application granted granted Critical
Publication of DE2124983C2 publication Critical patent/DE2124983C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-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 program data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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/33Director till display
    • G05B2219/33088Clock
    • 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/33Director till display
    • G05B2219/33098Several nc machines, dnc, cnc
    • 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/33Director till display
    • G05B2219/33268D-A, A-D
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34053Counters, tellers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34132Choosing largest, major coordinate axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34153Linear interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34156Slope control, delta x, y proportional to x, y
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34179Variable interpolation speed or resolution
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35286Run tape without machining, tape proving, dry run, test run
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35436Means, manual input, input reference, hand wheel
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35481Display, panel
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36366Data, read in, distribution
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36368Tape reader
    • 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/37Measurements
    • G05B2219/37175Normal encoder, disk for pulses, incremental
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41021Variable gain
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41091Alignment, zeroing, nulling, set parallel to axis
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41241Anti-coincidence, synchronizer
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41245Discrimination of direction
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41363Excess in error, error too large, follow up error
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41469Servo loop with counter, see figure SE-fifteen
    • 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/43006Acceleration, deceleration control
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43158Feedrate override
    • 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/43183Speed control, input is the reference, but no feedback
    • 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
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50019Zero, null offset
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50048Jogging
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50083Power loss, measures again loss of power
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50193Safety in general
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Description

1. Die taktgesteuerte Recheneinheit ist ein zentra- 2» ler Digitalrechner (12), dem die programmierten Lagesollwertdaten und die Lageistwertdaten zugeführt sind, der sowohl den Soll-Istwert-Vergleich als auch alle notwendigen Interpolationsrechnungen durchführt. >■>
2. Der Digitalrechner (12) weist mindestens einen Dateneingang auf, der mit einer Programmänderungsvorrichtung (42,40,36) verbunden ist, in deren Speicher (42) Daten für die Änderung der Geschwindigkeit des Antriebs an besonde- ren Punkten der durchzulaufenden Bahn einprogrammiert sind.
3. Die Lagemeßeinrichtung ist ein digitaler Positionsabtaster (28, Fig. 1; 204, 206, 207, 209, F i g. 4), dessen Ausgang mit dem Eingang eines ι ■> Zählers (30, F i g. 1; 211, 213, F i g. 4) verbunden ist, der die Lageistwertdaten an den Digitalrechner (12) gibt, der Rückstell- und Abrufsignale in den durch den Interpolationstakt bestimmten Abtastpunkten (C4, Rl, CO, R6, C 5, RO, -to CO, R 6, F i g. 4) an den Zähler (30) liefert.
2. Numerische Bahnsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Abberufung des Zählers (30) in festen Zeitabständen erfolgt oder alternativ immer dann ausgeführt wird, wenn der Maschinenschlitten einen bestimmten Streckenabschnitt durchlaufen hat.
3. Numerische Bahnsteuerung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Änderung >n der Antriebsgeschwindigkeit derart programmierbar ist, daß die Geschwindigkeitsführungsgröße vor jeder Bahnrichtungsänderung verkleinert und danach vergrößert wird.
4. Numerische Bahnsteuerung nach Anspruch 3, ~>i dadurch gekennzeichnet, daß die Geschwindigkeitsführungsgrößen-Erniedrigungen und -Erhöhungen in Form von linear ansteigenden bzw. abfallenden Sollwertsigpalen erfolgen.
5. Numerische Bahnsteuerung nach Anspruch 4, t>n dadurch gekennzeichnet, daß die Geschwindigkeitsführungsgrößen-Erniedrigung stets zunächst bis auf einen Geschwindigkeitswert von Null erfolgt.
6. Numerische Bahnsteuerung nach einem der Ansprüche 1—5, dadurch gekennzeichnet, daß der M Digitalrechner derart betreibbar ist, daß er eine Geschwindigkeitserniedrigung ausführt, wenn die Differenz zwischen den Axialgeschwindigkeiten von zwei aufeinanderfolgenden Segmenten der Bahn größer als ein vorbestimmter Verzögerungswert, multipliziert mit der Abtastperiode, ist
Die Erfindung betrifft eine numerische Bahnsteuerung für eine Werkzeugmaschine mit mindestens einem Maschinenschlitten, der entlang zumindest zweier Achsen beweglich ist, wobei für jede Achse ein geschwindigkeitsgesteuerter Vorschubantrieb vorgesehen ist, dessen Führungseingang mit dem Ausgang einer numerischen Steuereinrichtung verbunden ist, die Teil eines Lageregelkreises ist und eine von einem Taktgeber mit veränderlicher Taktfrequenz gesteuerte Recheneinheit aufweist, die aufgrund von programmierten Lagesollwertdaten den Verlauf der Bahn in Form von Bahnsollwertsignalen vorgibt, wobei für jede Achse eine Lagemeßeinrichtung vorgesehen ist.
Eine derartige Bahnsteuerung ist aus der US-PS 34 18 549 bereits bekannt. Typisch für derartige numerische Bahnsteuerungen ist der analoge Geschwindigkeitsregelkreis, dem der Ausgang der numerischen Steuerung als Führungsgröße zugeführt ist. Für die Interpolation der Bahnsollwerte ist ein Rechner 86 vorgesehen. Dieser Rechner führt keinen Soll-Ist-Vergleich durch, sondern dieser Vergleich erfolgt erst hinter dem Rechner. Dies liegt daran, weil es sich hier um einen reinen Interpolationsrechner handelt. Ob die Ermittlung des Ist-Wertes für die Lage der Maschinenschlitten digital oder analog erfolgt, geht aus den Unterlagen nicht hervor.
Die beschriebene Werkzeugmaschine hat eine Handeinstellung 88, mit der die Zuführungsrate eingestellt werden kann. Diese Handeinstellung beeinflußt einen Taktgeber, der seinerseits den Interpolator ansteuert. Mit jedem Takt des Taktgebers gibt der Interpolator eine Sprungführungsgröße ab, die über eine mit »Mischer« bezeichnete Schaltung dem analogen Regelkreis zugeführt wird. Damit nun die Genauigkeit der Werkzeugsteuerung an Bahndiskontinuitäten, wie sie beispielsweise an den Ecken auftreten, erhöht wird, also Bahnfolgefehler verkleinert werden, muß die Geschwindigkeit von Hand so niedrig eingestellt werden, daß die trotzdem noch auftretenden Bahnfolgefehler toleriert werden können. Das führt dazu, daß die Arbeitsgeschwindigkeit der Werkzeugmaschine für Arbeiten, die nur geringe Bahnfolgefehler zulassen, drastisch verringert wird.
Aufgabe der Erfindung ist es, die bekannte Werkzeugmaschine dahingehend zu verbessern, daß ohne nachteilige Arbeitsgeschwindigkeitsverringerung Bahnfolgefehler verkleinert werden.
Gelöst wird die Aufgabe gemäß dem Kennzeichen des Hauptanspruches durch die Kombination von drei Merkmalen.
Das erste Merkmal betrifft die taktgesteuerte Recheneinheit und ist aus der Zeitschrift »Werkstatt und Betrieb«, 1968, Heft 9, Seite 555, an sich bereits bekannt. Auch dort ist ein Digitalrechner für die direkte Steuerung von Werkzeugmaschinen vorgesehen, dem, wie aus dem Text zu Bild 1 entnommen werden kann, die programmierten Lagesollwertdaten und die Lageistwertdaten zugeführt sind. Der Rechner führt sowohl den Soll-Ist-Vergleich durch, wie auch notwendige Interpolationsrechnungen.
Das zweite Merkmal, nämlich daß der Digitalrechner
einen Dateneingang aufweist, der mit einer Programmänderungsvorrichtung verbunden ist, ist nicht vorbekannt. Jedoch läßt sich das erste Merkmal wie auch dieses zweite Merkmal aus dem Inhalt der in der DE-OS 19 53 662 offenbarten älteren Anmeldung entnehmen. Nähere Angaben über die Art der Änderung der Geschwindigkeit sind der älteren Anmeldung jedoch nicht zu entnehmen.
Im dritten Merkmal wird über die Lagemeßeinrichtung ausgesagt, daß es sich um einen digitalen Positionsabtaster handelt, der einen Zähler ansteuert, der die Lageistwertdaten zunächst speichert und dann an bestimmten, durch einen Interpolationstakt bestimmten Abtastpunkten die Lageistwertdaten an den Digitalrechner gibt. Nach jedem Takt stellt der Digitalrechner den Zähler zurück. Eine solche Maßnahme ist bekannt aus der Zeitschrift »Brown-Boveri-Mitteilungen«, 1967, Band 54, Nr. 8, insbesondere Seite 439, Bild 2 mit zugehörigem Text. Dort wird der Zähler 3 von einem Rechenregister 6 angesteuert und zurückgestellt. Es handelt sich dort um eine Streckensteuerung.
Beim Gegenstand des Anspruchs 1 wird also die Funktion des Interpolators 86 gemäß der US-PS 34 18 549 mit in den Rechnerteil hineinintegrier', wie dies schon bei der Bahnsteuerung nach der Zeitschrift »Werkstatt und Betrieb« vorgesehen war. Mit der digitalen Istwerterfassung, die aus den Brown-Boveri-Mitteilungen am angegebenen Ort bekannt ist und der entsprechenden Beschallung des Zählers wird eine im Takt des Interpolationsrhythmus erfolgende Lageabtastung ermöglicht. Schließlich schafft die Programmänderungsvorrichtung, die auf den Interpolationsteil des zentralen Rechners einwirkt, die Möglichkeit, vor Erreichen von bsstimmten Punkten der Bahn die Geschwindigkeit so zu beeinflussen, daß möglichst geringe Bahnfolgefehler auftreten. Die Aufgabe, ohne nachteilige Arbeitsgeschwindigkeitsverringerung Bahnfolgefehler zu verringern und damit die Genauigkeit der hergestellten Werkstücke zu verbessern, ist damit erreicht.
Die Abrufung des Zählers erfolgt vorzugsweise in festen Zeitabständen, was die Konstruktion und die Programmierung vereinfacht. Die Abrufung kann alternativ aber auch dann ausgelöst werden, wenn der Maschinenschlitten einen bestimmten Streckenabschnitt durchlaufen hat. Letzteres erfordert zwar höheren Hardwareaufwand, erlaubt andererseits aber flexibleres Arbeiten.
Als besonders günstig hat es sich erwiesen, wenn die Änderung der Antriebsgeschwindigkeit derart programmierbar ist, daß die Geschwindigkeitsführungsgröße vor jeder Bahnrichtungsänderung verkleinert und danach vergrößert wird. Diese Geschwindigkeitsführungsgrößen-Erniedrigungen und -Erhöhungen können insbesondere als konstante Geschwindigkeitsänderungen in den Lagesollwertdaten enthalten sein.
Vereinfachungen hinsichtlich Aufbau und Einsparung bei der Rechenzeit (Vermeidung von Wurzelrechnungen) ergeben sich, wenn die Geschwindigkeitsführungsgrößen-Erniedrigung zunächst stets bis auf einen Geschwindigkeitswert von Null erfolgt, selbst wenn dieses an sich nicht notwendig wäre.
Um die Anzahl der erforderlichen Rechnungen möglichst klein zu halten und dadurch die Rechengeschwindigkeit erhöhen zu können, ist es außerdem günstig, wenn der Digitalrechner derart betreibbar ist, daß er eine Geschwindigkeits-Erniedrigung erst dann ausführt, wenn die Differenz zwischen den Axialgeschwindigkeiten von zwei aufeinanderfolgenden Segmenten der Bahn großer ist als ein vorbestimmter Verzögerungswert, multipliziert mit der Abtastperiode.
Vor einer genaueren Beschreibung einer Ausführungsform der vorliegenden Erfindung seien noch einige allgemeinere Bemerkungen hinsichtlich numerischer Bahnsteuerungen für Werkzeugmaschinen gemacht. Derartige Steuerungen ermöglichen einen automatischen Betrieb von Maschinen, wobei die relative Bewegung zwischen dem Werkstück und dem Werkzeug (Maschinenschlitten) durch gespeicherte Bahnpositionsdaten definiert werden, die beispielsweise zur Herstellung eines bestimmten Werkstückes, eines Zuschnitts für ein Bekleidungsstück od. dgl. erforderlich sind. So geben bei einer numerischen Punkt-für-Punkt-Sleuerung einzelne Lage- oder Positionsdaten aufeinanderfolgende Punkte an, an denen Bearbeitungsvorgänge der Maschinen nacheinander stattfinden sollen, wobei zwischen den einzelnen Punkten meist keine maschinelle Bearbeitung stattfindet.
Bei der komplizierteren Bahnsteuerung, auf die sich die vorliegend? Erfindung bezieht, definieren die Positionsdaten aufeinanderfolgender bestimmter Punkte die aufeinanderfolgenden Segmente der gewünsch :en Werkstückkontur. Die Relativbewegung zwischen dem Werkzeug und dem Werkstück wird dabei über die gesamte, segmentweise definierte Kontur des Werkstückes aktiv gesteuert. Die Bewegungssteuerung längs den Segmenten zwischen den einzelnen Bahnpunkten erfolgt mit Hilfe des Interpolationsvermögens der numerischen Steuerung. Die Folgegenauigkeit und damit die Qualität der Werkstückkontur hängt somit entscheidend von der Genauigkeit ab, mit der das Werkzeug bzw. der Maschinenschlitten zwischen den einzelnen Bahnpunkten geführt wird.
Ausgangspunkt für die numerische Bahnsteuerung ist zunächst die Zeichnung oder eine andere geometrische Beschreibung des herzustellenden Teils. Durch die insoweit festgelegte Werkzeugbahn wird dann eine ausreichende Anzahl von linearen und/oder bogenförmigen Bahnabschnitten bestimmt, die so eng gelegt werden, daß unter Einhaltung der geforderten Toleranz eine Annäherung an die Kontur des herzustellenden Werkstückes gewährleistet wird. Anhand dieser Punkte erzeugt dann die Bahnsteuerung durch Interpolation die Daten, die für die Werkzeugsteuerung zwischen den Punkten erforderlich sind.
Die numerische Steuerung arbeitet entweder mit linearer Interpolation, wenn die Bahn eine gerade Linie darstellt oder eine Kurve mit freier Form vorgegeben ist, die durch eine Reihe von geradlinigen Segmenten angenähert ist. Es ist aber auch möglich, die Interpolation mittels Kreisabschnitten oder gar Parabel- oder Ellipsenabschnitten anzunähern, wenn dies Vorteile ergibt, z. B. eine größere Segmentlänge ermöglicht.
Damit die numerische Steuerung an unterschiedlichen Maschinen angepaßt werden kann, müssen entsprechende Werkzeugmaschinendaten bei der numerischen Steuerung berücksichtigt werden. So muß beispielsweise sichergestellt sein, daß die vorgesehenen Relativbewcgungen zwischen Werkzeug und Werkstück nicht zu Verschiebungen führen, die über die Maschinenschlitteigrenzen hinausführen oder zu Kollisionen Anlaß geben.
Es wurde bereits eingangs dargelegt, daß zur Erhöhung der Arbeitsgeschwindigkeit ohne unzulässige Toleranzverschlechterung die erfindungsgemäße Steue-
rung die Fähigkeit besitzt, dann, wenn lineare und/oder bogenförmige Segmente zu groß werden, beispielsweise an Ecken, an der Einlaufseite dieses Eckbereiches einen Punkt auf der Bahn zu bestimmen, an dem die Vorschubgeschwindigkeit verringert wird, um so den Eckbereich mit niedrigerer Geschwindigkeit durchfahren zu können und damit ein Überschwingen infolge zu hoher Geschwindigkeit zu verringern oder gar ganz zu beseitigen. Befindet sich dieser Verlangsamungspunkt auf dem Segment, das vor der Einlaufstelle des Eckbereichs liegt, so wird dieser Punkt gewählt, um die Anweisung für die Geschwindigkeitsverringerung zu geben, d. h., daP im Berechnungsvorgang für dieses Segment ergänzende Daten hinzugefügt werden. Liegt dagegen der Verlangsamungspunkt an einer Bahnstelle, die noch vor dem an den Eckbereich angrenzenden Segment liegt, so muß der Datenblock des ersten vorangegangenen Segmentes aufgegriffen werden, um so die notwendigen Anweisungen für die Geschwindigkeitsverringerunj dieses Segmentes zu erhalten. Möglicherweise müssen sogar die Anweisungen für das zweite vorangehende Segment aufgegriffen und um Daten für die Herabsetzung der Geschwindigkeit im Bereich des zweiten vorangehenden Segmentes ergänzt werden, falls dann ein weiterer Verlangsamungspunkt an einer vor dem ersten vorangehenden Segment liegenden Stelle der Bahn notwendig wird. Mit zunehmender Anzahl von Segmenten, deren Daten für eine Nachverarbeitung erneut aufgegriffen werden, wird die Datenverarbeitung naturgemäß immer komplizierter.
Sobald für ein lineares oder bogenförmiges Segment ein Eckbereichsverlangsamungspunkt festgelegt worden ist, werden Anweisungen zur schrittweisen Verringerung der Geschwindigkeit in beispielsweise einem oder mehreren (beispielsweise bis zu 5) zeitlich voneinander getrennten Schritten durchgeführt, d. h.. daß der Maschinenschlitten zwischen den einzelnen Änderungen jeweils einen konstanten Geschwindigkeitswert annehmen kann. Die verschiedenen Anweisungen zur Verringerung der Achsengeschwindigkeit werden derartig erzeugt, daß die Maschinenachsengeschwindigkeiten in einem Verhältnis schrittweise verringert werden, das zur Einhaltung der vorgegebenen Neigungen und auch zur Einhaltung der vorgegebenen Werkzeugausrichtung notwendig ist, soweit die Werkzeugdrehachsen betroffen sind. Ähnliche Gesichtspunkte gelten naturgemäß auch für die schrittweise Geschwindigkeitsänderung beim Anfahren und Anhalten längs eines linearen oder bogenförmigen Segmentes.
Wird für die Ansteuerung des Maschinenschlittens ein
innerer G^SCbwinfiigkeit^rpirplkrpK mit fp^lPr ofjpr hoher Regelverstärkung verwendet, erfolgt die Ansteuerung vorzugsweise mittels mehreren (beispielsweise bis zu 5) Geschwindigkeitsverringerungsdatenblökken zur Herabsetzung der Geschwindigkeit vor einem Eckbereich auf eine vorbestimmte Eckbereichsgeschwindigkeit und mit bis beispielsweise zu 10 Geschwindigkeitserhöhungsdatenblöcken für die Zunahme der Geschwindigkeit nach Durchlaufen eines Eckbereiches. Daß für Regelkreise mit hoher Verstärkung größere Datenmengen für die stufenweise Änderung der Geschwindigkeit notwendig sind, ist dadurch bedingt, daß bei derartig höherer Regelverstärkung auch eine höhere Neigung zum Überschießen in Eckbereichen besteht.
Es werden somit nicht nur die statischen Eigenschaften der Werkzeugmaschine berücksichtigt, sondern
auch deren dynamische Kennwerte.
Durch die besondere Ansteuerung der inneren, den Maschinenschlitten bewegenden Regelschleife kann eine hinsichtlich Voreilung und Nacheilung kompensierte geschwindigkeitsgesteuerte Regelschleife hoher Verstärkung verwendet werden, die den die jeweilige Achse antreibenden Motor sowie eine Abfühleinrichtung für die Schlittengeschwindigkeit umfaßt. Diese innere Regelschleife ist wiederum Teil einer äußeren Bahnpositionsregelschleife, die die Position der vorgegebenen Bahn (Sollwert) mit der tatsächlichen Position entlang der Maschinenachse (Istwert) vergleicht und den Differenzwert zur Erzeugung eines Geschwindigkeitsbefehls für die innere Geschwindigkeitsregelschleife erzeugt.
Dieser Posätionsregelkreis ist im Gegensat/ zum inneren Geschwindigkeitsregelkreis durch eine niedrige Verstärkung gekennzeichnet und arbeitet meist unter Integrationssteuerung mit Proportionalbetrieb. Numerische Befehlsdaten für die einzelnen linearen Segmente werden in entsprechende Sägezahneingangsdaten für die Achsenpositionsregelkreise übersetzt und daraus in geeigneter Weise bewertete und synchronisierte Geschwindigkeitsbefehlsdaten für die verschiedenen Bewegungsachsen erzeugt, um einen dem Segmentsteigungswert entsprechenden Schnittbahnsteigungswert zu erzielen. Kreisbogenförmige Bahnen lassen sich mittels Kreisinterpolatoren verwirklichen, für die mittels digitalen Schaltungsaufbaus angenäherte sinusförmige Zeitfunktionen mit 90° Phasenverschiebung als Positionsregeleingänge erzeugt werden. Durch die Integralsteuerung mittels Sägezahnsignal eilt die tat-
CQchlii^hp ^r*hnittnr*citl/~r» länfrc linporer Co(»rrjor>t£» ζ$£Τ
vorgegebenen Schnittposition um einen bestimmten konstanten Betrag (Folgefehler) nach, der der Größe der Positionsregelverstärkung umgekehrt proportional ist. Ein ähnlicher Folgefehler ergibt sich auch bei kreisförmigen Segmenten.
Paßt man die numerische Bahnsteuerung an die Positionsregelkreisverstärkung an, die für die gewünschte Vorschubgeschwindigkeit zu klein ist, so kann zwar das Überschießen in den Eckbcreichcn kleingehalten werden, doch wird wegen eines Unterschießens im Eckbereich trotzdem die Eckbereichsgenauigkeit unzureichend sein. Dieses Unterschießen tritt auf, wenn die vorgegebenen Geschwindigkeiten für die an einen Eckbereich angrenzenden Segmente wirksam werden. Mit zunehmender Positionsregelverstärkung nimmt die Neigung zu einem Überschießen in einem Eckbereich und damit zu Eckbereichsungenauigkeiten für eine vorgegebene Vorschubgeschwindigkeit zu, so daß die Einhaltung von gewünschten Werkstücktoleranzen im Eckbereich der Bearbeitungsbahn erst dadurch erreicht werden kann, daß erfindungsgemäß die Geschwindigkeit vor dem Eckbereich schrittweise verringert und hinter dem Eckbereich ggf. wieder angehoben wird.
Es ist günstig, wenn der für die Positionsregelschleife eingesetzte Positionsfühler von einer inkremental oder absolut arbeitenden Vorrichtung gebildet wird, die mit bestimmter Auflösung arbeitet, die die kleinste Änderung einer linearen Verschiebung oder Winkelverschiebung darstellt, die vom Meßwertwandler erfaßt wird. Derartige Meßwandler liefern Impulsfolgen, bei denen jeder Impuls eine bestimmte Bahnverschiebung von z. B. 0,0025 mm repräsentiert Die Impulsfrequenz stellt somit ein Geschwindigkeitssignal dar, das unter Verwendung beispielsweise von binären Vorwärts-/ Rückwärtszählern integriert werden kann und so eine
Position oder Lage auf der Bahn wiedergibt.
Für die vorliegende Erfindung ist es ohne wesentlichen Belang, ob der innere Geschwindigkeitsregelkreis analog oder digital arbeitet. Üblich ist die analoge Arbeitsweise. Demgegenüber muß der äußere Positionsregelkreis in seinen wesentlichen Bereichen jedoch erfindungsgemäß digital arbeiten, dies z. B. auch, um das Auftreten von Drifterscheinungen u. dgl. zu vermeiden.
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels näher erläutert, das in den Zeichnungen dargestellt ist, wobei teilweise die in der Computertechnologie üblichen englischsprachigen Bezeichnungen verwendet wurden.
Es zeigt
F i g. 1 stark schematisiert das Schaltbild einer Ausführungsform der numerischen Bahnsteuerung für eine Werkzeugmaschine mit 5 Achsen (X, Y, Z, A, B),
Fig.2 eine schematische Darstellung von 6 Bewegungsmöglichkeiten eines Maschinenschlittens,
F i g. 3 eine perspektivische Ansicht einer herkömmlichen Fräsmaschine mit 5 Bewegungsachsen,
Fig.4A—4C in drei Teilbildern schematisch die Schaltung einer numerischen Bahnsteuerung gemäß der Erfindung für eine längs zweier Achsen arbeitende Drehbank,
F i g. 5 in perspektivischer Vorderansicht eine derartige zweiachsige Drehbank (Vertikal-Revolverkopfdrehbank), die mittels der erfindungsgemäßen Bahnsteuerung nach F i g. 4A—4C betrieben werden kann,
Fig. 6A—6H Kurvendarstellungen zur Erläuterung der Arbeitsweise des Standes der Technik sowie der neuartigen Bahnsteuerung,
F i g. 7 und 8 die in F i g. 4 dargestellten Blöcke L92 und L94 (207, 209), die die von den Wandlern abgegebenen Impulse codieren und mit dem Taktgeber synchronisieren,
Fig.9A—9B schematisch den in Fig.4A dargestellten Zähler (281,282) für die Achsenposition,
F i g. 10 schematisch den Block L35—L36 der F i g. 4C (der den Taktgeber 312 darstellt),
Fig. 11 ein Schaltbild der in Fig.4B dargestellten Unterbrechungs- und Adressierblöcke L66, L67 (Bezugszahl 79),
Fig. 12 Schaltbilder der in Fig.4B dargestellten Blöcke L78, L79 (Eingangs-Interface) und L80 (Eingangs-Expander), die in F i g. 4B Bezugszahlen 361 bzw. 292 tragen,
Fig. 13 ein schematisches Schaltbild eines Eingabe-/ Ausgabe-Adressen-Interface, das in Fig.4B mit den Blockbezeichnungen L63— L64 bzw. mit der Bezugszahl 77A versehen ist.
i* i g. 1-Γ/-1— i-tu SCiicmäiiSCiic oCiiäiiuiiuer einer Ausgangs-Interface-Anordnung (Blöcke L2, L3) und eines Ausgangs-Expanders (Blöcke L4, L5), die in Fig.4B außerdem mit den Bezugszahlen 330,340 versehen sind,
Fig. 15 ein schematisches Schaltbild einer dem Taktgeber nachgeschalteten Kommutator- und Bezugswertanordnung mit den in Fig.4C erkennbaren Blockbezeichnungen L37, L38 bzw. Bezugszahl 500,
Fig. 16 ein schematisches Schaltbild des in Fig.4C mit der Blockbezeichnung L42 versehenen Puffers und Digital-/Analogdecodierers,
Fig. 17A—17B ein schematisches Schaltbild eines Digital-/Analog-Schalters und Verstärkers, der in Fig.4C mit den Blockbezeichnungen L43 und L44 versehen ist,
Fig. 18 ein Funktionsdiagramm zur Veranschaulichung der Betriebsweise, gemäß der numerische
Befehlsdaten vom Eingabelochstreifen zum Rechner fließen,
Fig. 19 ein Flußdiagramm des Rechnerhauptprogramms, das einen Teil von zwei größeren Programmteilen des Rechners bildet,
F i g. 20 ein Flußdiagramm zur Darstellung des einen Teil des Hauptprogramms darstellenden automatischen Zyklusprogramms,
Fig.21 eine grafische Darstellung eines kurzen Zeitabschnitts aus dem Programmlauf, aus dem hervorgeht, wie sich die Computerbetriebszeiten gegenseitig beeinflussen,
F i g. 22 drei aufeinanderfolgende Segmente einer spanabhebend zu bearbeitenden Kontur,
Fi g. 23 das Flußdiagramm eines Teil des Hauptprogramms bildenden Vorberechnungsprogramms,
F i g. 24A das Flußdiagramm eines Teil des Vorprogramms bildenden Beschleunigungs-Prüfprogramms,
F i g. 24B ein Flußdiagramm eines Teil des Vorprogramms bildenden Abschnittberechnungsprogramms,
F i g. 25 ein Flußdiagramm eines Teil des Hauptprogramms bildenden Schlittenbewegungssteuerungsprogramms,
F i g. 26 bestimmte drei aufeinanderfolgenden Abtastperioden zugeordnete Größen, die in der durch die Bahnbefehlsdaten vorgegebenen Bahn aufeinanderfolgen.
Im einzelnen zeigt F i g. 1 ein schematisches Schaltbild der erfindungsgemäßen numerischen Bahnsteuerung für eine Werkzeugmaschine. Die Bahnsteuerung 10 umfaßt einen programm- und taktgesteuerten Digitalrechner 12, der als Führungs- und Steuerungsanordnung für äußere Regelkreise 14 dient, die den einzelnen Maschinenschlitten X, Y, Z, A, B zugeordnet sind. Bestimmte Funktionen des Digitalrechners können im übrigen auch durch festverdrahtete Steuereinrichtungen verwirklicht sein.
Wie die in F i g. 2 dargestellte schematische Darstellung erkennen läßt, kann eine Werkzeugmaschine 6 Koordinatenachsen aufweisen, nämlich die zueinander orthogonalen Achsen X, Y und Z sowie die Drehachsen A, B und C um die orthogonalen Achsen. Eine Werkzeugmaschine kann Bewegungsachsen aufweisen, die einigen oder auch allen dieser Bezugskoordinatenachsen der Fig.2 entsprechen. Üblicherweise haben Werkzeugmaschinen bis zu fünf Bewegungsachsen, so auch die in F i g. 3 dargestellte Profil- und Kontur-Fräsmaschine, die längs der Achsen X, Y, Z, A und B beweglich ist
Der zu jeder Bewegungsachse gehörige Regelkreis 14 stellt einen äußeren, über den Digitalrechner 12 geschlossenen Lageregelkreis 16 dar, der neben dem Digitalrechner 12 einen Digital-/Analogumsetzer 18 zur Umsetzung der von dem Digitalrechner 12 abgegebenen Bewegungs-Befehlsdaten in ein analoges Befehlssignal enthält, das eine Geschwindigkeit darstellt Dieses Geschwindigkeits-Befehlssignal wird als Führungsgröße einem inneren Geschwindigkeitsregelkreis 16 zugeführt, der neben einem Addierer 20, der die Differenz zwischen dem Geschwindigkeitsführungssignal und dem von einem Tachogenerator T gelieferten Geschwindigkeits-Istwert-Signal bildet und diese Differenz einem Verstärker 24 zuführt, dessen Signal zur Ansteuerung eines Maschinenschlittenantriebs 26 dient Dieser Antrieb, beispielsweise ein Elektromotor, bewegt in geeigneter Weise, beispielsweise über ein Getriebe oder eine Leitspindel, die mit dem Maschinenglied für die zugehörige Achse gekoppelt ist den
entsprechenden Schlitten. Statt eines inneren analogen Geschwindigkeitsregelkreises kann natürlich auch ein digitaler Regelkreis oder auch eine Schrittmotoransteuerung vorgesehen werden, falls dies in besonderen Anwendungsfällen vorteilhafter ist. Der innere Geschwindigkeitsregelkreis arbeitet somit — abgesehen von der ihr zugeführlen Führungsgröße — unabhängig von der äußeren, rechnergesteuerten Lageregelung, weil die innere Schleife eine sehr kurze Reaktionszeit erfordert, die von der Recheneinheit unter Umständen nicht erreicht werden kann. Steht allerdings ein sehr schneller Rechner zur Verfügung, könnte auch der innere Regelkreis digital arbeiten und durch einen Rechner gesteuert werden.
Für den Lageregelkreis 16 werden Lagerückführungssignale durch einen geeigneten Meßwertwandler .28 erzeugt, der mit der Antriebswelle für die Schlittenbewegung oder auch mit dem Schlitten selbst verbunden sein kann. Die von dem Meßwertwandler 28 erzeugten digitalen Rückführungssignale werden über einen im folgenden noch näher erläuterten Achsen-Positions-Rückführungszähler 30 der Recheneinheit 12 zugeführt, die ihrerseits wieder über den Digital-/Analog-Umsetzer 18 die Führungsgröße für den inneren Geschwindigkeitsregelkreis 22 liefert, so daß sich ein geschlossener digitaler Lageregelkreis ergibt. Werden Schrittmotoren für einzelne der Achsen verwendet, ist eine Abfühlung der Schlittenlage nicht erforderlich, da die Schrittmotoren die Lage ihrerseits festlegen. In diesem Falle ist ein geschlossener Lageregelkreis im herkömmlichen Sinne nicht vorhanden.
Um die Anforderungen an die Speicherkapazität des Digitalrechners 12 sowie dessen relative Einschaltdauer zu verringern und damit unter Umständen ein wirtschaftlicheres Arbeiten des Digitalrechners 12 für die numerische Echtzeit-Bahnsteuerung zu erhalten, ist in die Rückführungsleitung des Lageregelkreises 16 der schon erwähnte Zähler 30 vorgesehen, der den Zählerausgang während einzeln aufeinanderfolgender Abtastperioden unter der Steuerung des Digitalrechners 12 (über Leitung 32) diesem Digitalrechner 12 zuführt. Vorzugsweise erfolgt das Abrufen des Zählers 30 durch den Rechner 12 in festen Zeitabständen, jedoch kann bei einigen Anwendungsfällen es günstiger sein, statt dessen eine veränderliche Austastzeit gewählt werden, z. B. dann, wenn mit einer festen Entfernungsaustastung gearbeitet wird.
Die Anwendung von Kleinrechnern (Mikroprozessoren) kann vorgesehen werden, wodurch sich die Kosten für die numerische Bahnsteuerung erheblich reduzieren lassen. Die Anwendung derartiger Mikroprozessoren ist insbesondere deshalb möglich, weil der geforderte Speächerra-Jüi durch die Verwendung des Zählers 30 stark reduziert ist Anwendbar ist diese Art von numerische Bahnsteuerung nicht nur für die in Fig.3 dargestellte Fräsmaschine, es können auch mehrachsige vertikale Revolverdrehbänke und mehrachsige horizontale Bohrmaschinen wie auch mehrköpfige Spannvorrichtungen und ähnliche Anlagen gesteuert werden.
Die programmierten Lagesollwertdaten für den Rechner 12 sind in einer Kernspeichereinheit gespeichert und ermöglichen Echtzeitsteuerung wie auch die Lieferung von Befehlen, die nicht direkt die Bewegung der verschiedenen Schlitten der Werkzeugmaschine betreffen. Programmaufbau und Programminhalt können den jeweiligen Anforderungen angepaßt werden, jedoch hat sich für den Einsatz von Mikroprozessoren die Verwendung von Assembler-Sprachen für das
Programm als nützlich erwiesen, weil dadurch Kernspeicherraum und Programmablaufzeit eingespart werden können. Es ist auch vorgesehen, in den Programmablauf des Rechners 12 durch Hardware-Unterbrechungssignale einzugreifen. Alle nicht die Bewegung der Maschinenschlitten betreffende Programmfunktionen und alle den Gesamtablauf steuernde Programmfunktionen werden im wesentlichen ohne Überschneidung mit den Programmfunktionen zur Schlittenbewegungssteuerung abgewickelt.
Bei der Erzeugung der Steuerungssignale für die Schlitten- oder Werkzeugbewegung arbeitet das Programm als linearer, kreisbogenförmiger oder sonstiger (nichtlineare) Interpolator auf der Basis inkrementeller oder auch absoluter numerischer Eingangssteuerdaten, um für jede Bewegungsachse die entsprechenden Führungsgrößen zu erzeugen. Aufeinanderfolgende Punkte der durch die programmierten Lagesollwertdaten vorgegebenen Bahn werden mit der vorgewählten Abtastrate erzeugt und mit den in entsprechender Weise abgetasteten Rückführungslagedaten während aufeinanderfolgender Arbeitsperioden verglichen. Die Lageabweichung (Bahnfehler) wird durch Vergleich ermittelt und kann dann auf digitalem Wege mit oder ohne Verstärkung kompensiert werden, so daß am Ausgang des Rechners 12 eine Geschwindigkeitsführungsgröße für den Geschwindigkeitsregelkreis 22 zur Verfügung steht.
Um die Bearbeitungsbahn für jede Achse, die in Segmente aufgeteilt ist, möglichst glatt zu gestalten und ein Oberschießen an Ecken zu verhindern, wird vor Erreichen des Eckbereichs eine Verzögerung und hinter dem Eckbereich eine Beschleunigung erzeugt, so daß die Unstetigkeitsstellen infolge stufenweiser Geschwindigkeitsänderungen in der Bearbeitungsbann im wesentlichen vermieden und so eine bessere Schnittbahngenauigkeit erzielt werden kann, bei gleichzeitiger höherer Lageregelkreisverstärkung oder verringerter Abtasttaktfrequenz oder auch Gesamtverbesserung aller dieser Systemeigenschaften. Die Segmentgeschwindigkeitskurve sowie die Kurven höherer Ableitung weisen Unstetigkeitsstellen auf, die nicht beseitigt sind, da die Fähigkeit zum Ausgleichen derartiger Unstetigkeiten in Kurven höherer Ableitung mit zunehmender Ordnung dieser Ableitung rasch abnimmt. Wegen der großen Flexibilität einer programmgesteuerten Ansteuerung läßt sich jedoch die Glättung auch von Kurven höherer Ableitung durch entsprechende Steuerbefehle für die vorzugebende Bahn verwirklichen, wenn die Anwendung dies erfordern sollte. Obwohl durch das Abtasten längs der durch die Steuerbefehle vorgegebene Bahn Unstetigkeitsstellen entstehen, ist diese Abtastgeschwindigkeit doch so hoch gewählt, daß das Überschwingen niedrig genug gehalten werden kann, um Bahnabweichungen, ähnlich den zuvor beschriebenen, aufgrund der stufenweisen Geschwindigkeitsänderung im wesentlichen vermieden werden.
Die Verstärkungsfaktoren der einzelnen Lageregelkreise für die verschiedenen Achsen lassen sich aufeinander abstimmen, um so eine lineare Bahnsegment-Schnittgenauigkeit zu erhalten. Infolge der verbesserten Genauigkeit in Eckbereichen kann auch eine höhere Lageregelkreisverstärkung zur Anwendung gelangen, um so unter entsprechend höherer Werkzeugbelastung genauere Bahnführung und verringerte Driftempfindlichkeit bezüglich der Abstimmung der verschiedenen Verstärkungsfaktoren für die Achsen zu erhalten. Die Lageregelkreisverstärkung läßt sich m der
Datenvorverarbeitung (Bezugszahl 40 in F i g. 1) modifizieren, zudem kann durch Flexibilität des Rechenprogramms auch durch Querverkoppelung der einzelnen Lageregelkreise der Regelbetrieb derart modifiziert werden, daß eine Abstimmung der Verstärkungsfaktoren der einzelnen Achsen aufeinander vermieden oder zumindest verringert wird.
Die dem Betrieb des Rechners 12 zugeordneten, Schlittenbewegungsvorgänge nicht direkt betreffenden Funktionen umfassen die Erzeugung von Signalen für Anzeigevorrichtungen 34, das Reagieren auf Signale, die von der Bedienungstafel oder von an den Maschinen befindlichen Kontakten geliefert werden, des weiteren betreffen sie die Werkzeugwahl, die Spindeldrehzahl, die Kühlmittelzufuhr und andere ähnliche Funktionen, die mit der Werkzeugmaschine im Zusammenhang stehen. Derartige Befehle erreichen den Digitalrechner 12 über ein Unterbrechungssystem 38 sowie über eine Operatorsteuerung 44. Zweckmäßig ist auch ein Befehlsdateneingang 36, der beispielsweise von einem Lochstreifenleser oder einem Magnetbandleser oder auch von einem anderen Dateneinkopplungssystem gebildet sein kann, das z. B. dem Digitalrechner 12 die von der Datenvorverarbeitung gelieferten Daten weiterleitet.
Die Datenvorverarbeitungseinheit 40 stellt z. B. einen eigenen Rechner 40 dar, der mit einem Plattenspeicher 42 zusammenarbeitet, in welchem Daten für die Weitergabe an den Digitalrechner 12 gespeichert sein können.
Anhand der Fig. 6A — 6H soll nun verdeutlicht werden, wie die verbesserte Bahnsteuerung erreicht wird. Die Fig. 6A zeigt ein lineares Segment 50 einer Sollbahn in der A"V-Ebene. Zwischen den durch die Datenvorverarbeitung 40 festgelegten Endpunkten A (Xi, Yi) und B (X2, Y2) muß nun eine Interpolation ausgeführt werden, um die Steuerungssignale für die Maschinenschlittensteuerung zu erhalten. Um die Bahnsegmentneigung zu erhalten, die für eine lineare Bewegung von Punkt A zum Punkt B erforderlich ist, ergibt sich das Verhältnis von V'-Achsengeschwindigkeit zu X-Achsengeschwindigkeit:
Vx
(I)
Wie durch die Istwertlage des Maschinenschlittens Pm angedeutet, verlangt ein Bahnfehler von 0, daß das Verhältnis der Achsenfehler (e)folgendermaßen lautet:
A. = J^
e, Vx
(H)
Als »Bahnfolgefehler« wird hier die Entfernung längs des Bahnsegmentes von der Bezugsposition Pr zur tatsächlichen Position Pm bezeichnet Der Punkt Pmc repräsentiert eine Lage für das Werkzeug, die infolge eines Schnittbahnfehlers auftreten könnte.
In Fig.6B ist eine aus linearen Segmenten zusammengesetzte Bahn 52 in der XK-Ebene dargestellt, wie auch die Art und Weise, in der sie durch zueinander synchronisierte X-Achsen-/ Y-Achsen-Sollwertdaten 54 bzw. 56 erzeugt wird. Die Neigungen (Geschwindigkeiten) der Bereiche 58 und 60 dieser X- und V-Bahnen 54, 56 weisen zueinander ein solches Verhältnis auf, daß sie die vorgegebene Neigung für das Segment 62 auf der Bahn 52 erzeugen. Die Neigungen der Bereiche 64 und 66 der X- und ^Bahnen 54 bzw. 56 weisen wiederum ein solches Verhältnis auf, daß sich die gewünschte Sollwertneigung für das Segment 68 auf der Bahn 52 ergibt usw. Eine von einer numerischen Bahnsteuerung herkömmlicher Art erzeugte Schnittlinie ist durch die gestrichelte Linie 70 angedeutet. Der Punkt 72 zeigt dabei einen Unterschießfehler im Eckbereich und der Punkt 74 einen Überschießfehler im Eckbereich.
F i g. 6C zeigt in größeren Einzelheiten ein Sägezahnverfahren zur Erzeugung von Sollwertbahndaten aufeinanderfolgender linearer Segmente. Zwischen den aufeinanderfolgenden Segmenten XA-XB und XB-XC unterschiedlicher Neigung tritt am Eckbereichspunkt XB eine Unstetigkeit auf. In F i g. 6D ist die entsprechende zeitliche Abhängigkeit der zugehörigen
Geschwindigkeit— wiedergegeben. Die sprunghafte
Veränderung der Geschwindigkeit ist deutlich erkennbar.
Statt der in Fig. 6D dargestellten Geschwindigkeitsänderung mit großer Sprunghöhe, lassen sich auch gemäß F i g. 6H kleinere Sprungstufen verwenden, die dann zu einer bahn gemäß F i g. 6G führen würden.
Anstatt die Geschwindigkeit sprunghaft zu ändern, was wegen der mechanischen Eigenschaften der Werkzeugmaschine unter Umständen zu störenden Abweichungen aufgrund von Überschießen und Unterschießen führt, erfolgt gemäß F i g. 6F die Geschwindigkeitsänderung nicht sprunghaft, sondern beispielsweise stetin ansteigend bzw. abfallend, wobei die Geschwindigkeit gemäß Fig. 6F bis auf 0 abgesenkt und dann wieder ansteigend erhöht wird, wodurch sich die in F i g. 6E dargestellte geglätiete Kurve ergibt, mit einem gekrümmten Segmentabschnitt Xa — Xa 1, einem geradlinigen Bereich X.-, ·. — X.μ. einem wiederum gekrümmten Bereich X^^-Xa- einem weiteren gekrümmten Bereich Xb- Xb \ und einem geradlinigen Abschnitt Xbj—Xo
Ähnlich verbesserte Steuerungen lassen sich bei den übrigen Achsen der Werkzeugmaschine anwenden.
Es sei nun auf größere Einzelheiten der numerischen Bahnsteuerung eingegangen und dazu auf die drei Figuren F i g. 4A, 4B und 4C verwiesen, die zusammen in größeren Einzelheiten die erfindungsgemäße Bahnsteuerung zeigen. Im Mittelpunkt steht ein Digitalrechner 12, der von einer Leistungsversorgung 82 mit Energie versorgt wird und in der Lage ist, eine Revolverdrehbank 64 gemäß F i g. 5 zu steuern, die zwei Bewegungsachsen X und Z aufweist Demzufolge sind für diese beiden Achsen jeweils ein Regelkreis vorgesehen.
Der Digitalrechner 12 umfaßt einen z. B. einen Mikroprozessor 86 darstellenden Zentralrechner, der die für die Revoiverdrehfaank notwendigen Echtzeitbewegungssteuerbefehle wie auch die Befehle, die nicht mit der Bewegung zusammenhängen, erzeugt Der hier dargestellte Zentralrechner kann beispielsweise eine Kernspeicherzykluszeit von 3 MikroSekunden aufweisen und mit einer Wortlänge von 16 Bit arbeiten. Es können 64 gepufferte Eingangs- und Ausgangskanäle vorhanden sein, während die Größe des Kernspeichers zwischen 4K und 32K liegen könnte, je nach Art der gesteuerten Werkzeugmaschine und den auszuführenden Funktionen. Zusätzlich zum Kernspeicher kann auch ein Großspeicher Verwendung finden.
Selbstverständlich können auch andere Digitalrechner, die gegenwärtig auf dem Markt sind, Verwendung finden.
In weiteren Zeichniinupn werHpn Ηητιη pin^Mrn»
Blöcke der F i g. 4A—4C näher erlSutert, wobei durch in den Blöcken eingetragene Kennzeichnungen wie K. L und Z die Blockäquivalrnz verdeutlicht werden soll. Gestrichelte Linien um eine Schaltungsanordnung in einer Figur bedeuten, daß dieser Schaltungsteil auf einer > gedruckten Leiterplatte angeordnet ist, selbstverständlich kann aber auch eine andere Anordnung gewählt werden. Durch die die Herstellungskosten verringernde Modulbauweise kann es vorkommen, daß bestimmte Teile eines Moduls bei bestimmten Anwendungen nicht ι u erforderlich sind.
Zur Dateneingabe können beliebige entsprechende Vorrichtungen verwendet werden, hier ist es ein Lochstreifenleser 90, der beispielsweise fotoelektrisch abgetastet wird. Auf die Darstellung von Einzelheiten ι > dieser Abtastung sowie die Prüfung auf Fehler sei verzichtet, ebenso wie auf die zugehörigen, vom Bedienungspult aus zu steuernden Betriebsvorgänge, siehe in F i g. 4A u. a. die Blöcke 115 und 92.
Wie weiter in den Fig.4A—4C dargestellt wird, -i> werden die Lagerückführungssignale, die in den Wandlern 204, 206 (siehe dazu auch die beiden F i g. 7 und 8) über Codierstufen 207 und 209 sowie Zähler 211 und 213 (siehe Fig.9A und 9B) dem Eingang des Zentralrechners 86 zugeleitet. Der äußere Lageregel- -' kreis ist somit über diesen Rechner geschlossen. Als Meßwertwandler 204, 206 dienen beispielsweise herkömmliche fotcdektrische Schalteinrichtungen mit einer Auflösung von 0,0025 mm, jedoch können auch Koordinatenwandler oder andere geeignete Wandler in Verwendung finden, die ggf. in Verbindung mit geeigneten Schaltungsanordnungen Rückführungsimpulse und deren Bearbeitung ermöglichen.
Für die X- sowie auch für die V-Achse werden gleiche Meßwandler benutzt, so daß im folgenden nur der X-Meßwandler näher beschrieben wird. Dieser X-Meßwandler 204 erzeugt gemäß F i g. 7 einen <?iX4Z>Impuls und einen ÄFF-Impuls von gleicher Frequenz (im vorliegenden Fall einen Impuls pro 0,0025 mm Verschiebung), jedoch sind beide Impulse um 90° zueinander phasenverschoben. Nach jeder Wellenumdrehung wird ein MKRAnvpuXs abgegeben, um einen absoluten Nullwert zu erhalten. Diese Rückführungssignale QUAD, REF und MKR werden einer Verknüpfungsschaltung zugeführt, die Rauschunterdrückungsfilter fF und NAND-Stufen 208—218 zur Impulsformung und NAND-Stufen 220—224 zur Invertierung umfaßt.
In einem weiteren, in F i g. 8 dargestellten Codier- und Synchronisierungs-Verknüpfungskreis gelangen diese Signale sowie deren Umkehrungen an Flipflop-Scha1-tungen 228, 230 sowie zu weiteren NAND-Stufen 232—242. In der Schaltung ist auch ein Richtungsdiskriminator 226 enthalten, der die Drehrichtung feststellt und entweder zu Addier-Impulsen oder Subtrahier-Impulsen führt.
Diese werden in weiteren NAND-Stufen 244 bzw. 248 verarbeitet und in Füpflop-Einrichtungen 246 bzw. 250 gespeichert. Weitere NAND-Stufen 252-262 führen zur Taktsteuerung. Am Ausgang der NAND-Stufen 254 und 260 stehen Addier-Impulsfolgen XAD bzw. Subtra- w) hier-lmpulsfolgen IS zur Verfügung. Die Rückstellung des Diskriminators 226 erfolgt durch NAND-Stufe 256 oder 262. Der untere Teil der in F i g. 8 dargestellten Platte wird hier nicht verwendet.
Die Impulsfolgen für die .,Y-Achse werden in einen <j> Achsenzähler erfaßt, der in der F i g. 9A bzw. 9B näher dargestellt ist. (Entsprechende Anordnungen sind für die V-Achse vorhanden.) Der Achsenzähler besitzt eine Zählkapazität von 12 Bit, so daß insgesamt 2047 Impulse gezählt werden können. Tatsächlich werden hier nur etwa 250 Impulse benötigt, wenn eine Bearbeitungsgeschwindigkeit von bis zu 375/min erreicht werden soll und eine Taktfrequenz von 100 Hz benutzt wird Die Schaltung ermöglicht somit auch höhere Taktgeschwindigkeiten oder Bearbeitungsgeschwindigkeiten.
Wie den F i g. 9A und 9B zu entnehmen ist, gelangen die Rückführungsimpulse (Addition) XAD an eine NAND-Stufe 264 und werden in einem Achsen-Positions-Flipflop-NAND-Register 266 registriert. Die entsprechenden Subtrahier-Impulse 15 gelangen über eine NAND-Stufe 311 an ein Achsen-Positions-NAND-Flipflop-Register 270. Die Registerausgänge sind über weitere NAND-Stufen 271 —273 bzw. 274—276 mit der in Fig.9A dargestellten Zählschaltung gekoppelt, die von Vorwärts-/Rückwärtszählern 277—279, etwa vom Typ TI 74193, gebildet werden.
Die jeweiligen Zählerausgangsstufen sind mit NAND-Stufen 280-291 verbunden, die Bit-Signale IEA 0—IEA X1 für die Eingabe in den Zentralrechner 86 über einen Eingangs-Expander 292 (siehe dazu auch die F i g. 12) oder auch für andere Zwecke erzeugen. Ein REA D-Signal bereitet die NAND-Stufen 281—291 für Bit-Ausgänge an den Zentralrechner vor, wenn die zwischenzeitlich aufsummierte Rückführungsimpulszählung zur Steuerung der Schlittenbewegung abgetastet werden soll. Die Bit-Ausgänge IEA X2—IEA 15 werden in ähnlicher Weise durch NAND-Stufen 293—296 erzeugt, die mit der letzten Ausgangsstufe des Zählers 279 verkoppelt sind. Die letzten beiden Ausgangsstufen des Zählers 279 sind mit einem Logikkreis 297 (F i g. 9B) verbunden, der einen Vergleich durchführt und ein Signal AXIS OVERFLOW an die in Fig.4 mit der Bezugszahl 79 versehene Unterbrechungs- und Adressierstufe liefert und die Maschine stillsetzt, wenn ein Schaltkreis oder ein Fehler bewirkt, daß die dritte Zählerstufe angestoßen wird. Signale UPM und DNM speisen NAND-Glieder 298 und 299, die von den Flipflop-Registern 266 und 270 stammen, um so Laufprobleme zu vermeiden. Das Computer-Bit-Signal OXA6 dient dazu, ein Überlaufregister 301 im Logikkreis 297 zurückzustellen. Das READ-S\gna\ wird von einem Pufferglied 303 in Fig.9B in Abhängigkeit von der Zufuhr eines Adressensignals C4 und Rl zu einer NAND-Stufe 304 zu Beginn einer jeden Abtastperiode erzeugt. Gleichzeitig wird ein NAND-Flipflop 305 gesetzt, um eine vorübergehende Speicherung von Rückführungsimpulsen in dem Lage-NAND-Flipflop-Register 266 oder 270 über das Signal RM zu sorgen und dadurch den Verlust von Rückführungslageimpulsen während der kurzen Computerlesezeitdauer zu vermeiden. Nach der Übertragung der während der vorangegangenen Abtastperiode angesammelten Zählung an den Computer geht das Signal READ auf 0 und zwei /K-Flipflops erzeugen ein Signal B zusammen mit dem Signal A am Eingang der NAND-Stufe 306. Im Anschluß an den nächsten 7/4-Impuls ändert RM den Zustand am Eingang der NAND-Stufen 307 und 268, so daß der vorübergehende Speicherzustand der Flipflop-Register 266 und 270 aufgehoben wird und eine fortlaufende Rückführung-Impulszählung möglich wird. Dadurch werden alle vorübergehend gespeicherten Impulse gezählt, bevor der nächste Rückführungsimpuls erzeugt werden kann.
Das ß-Signal ist außerdem an eine NAND-Stufe 308 angekoppelt, um nach dem nächsten 7B-Taktimpuls ein Signal CCLR zu erzeugen. Dadurch werden die Zähler
277—279 in jeder Rückführungs-Datenabtastperiode auf 0 zurückgestellt, bevor vorübergehend gespeicherte Rückführungsimpulse zur Zählung freigegeben werden.
Fig.9B zeigt weiter einen Logikkreis 309 zur Ignorierung von Rückführungsimpulsen bei Rückkehr der Maschine zu Nullbetrieb. Der Legikkreis 309 enthält einen NAND-Flipflop 310, das ein Signal IGNORE zur Beaufschlagung der Impulsrückfflhrungs-NAND-Stufen 264 und 311 und als Ausgang das Signal XNULL erzeugt
Damit die Abtastperiode für den Zentralrechner 86 und die damit in Zusammenhang stehenden Beschleunigungs- und Verzögerungsvorgänge an Segmenten in Eckbereichen zeitlich festgelegt werden können, sind sehr genaue Zeitsignale notwendig, die außerdem für eine Kommutierung von Bit-Gewichtungssignalen bei der Digital-/Analog-Umwandlung bei der Ausgangssignalerzeugung des Zentralrechners 86 notwendig sind und außerdem für verschiedene andere Zwecke der Gesamtanordnung dienen. Aus diesem Grunde wird nicht ein üblicher Rechentaktgeber verwendet, sondern ein Spezialtaktgeber, wie er in Fig.4C mit der Bezugszahl 312 dargestellt ist und in größeren Einzelheiten der F i g. 10 entnommen werden kann. Der Taktgeber 312 weist einen herkömmlichen Quarzoszillator 313 auf, der über ein Pufferglied 314 ein 4-M Hz-Signal erzeugt, das einen herkömmlichen BCD-Vorwärtszähler 315, etwa vom Typ SC 7490, ansteuert. Pufferglieder 316 und 317 erzeugen hier nicht benötigte Signale. Der Zählerausgang an einem Ausgangspunkt 318 ist ein 400-KHz-Signal, das in BCD-Zählerstufen 319—322 um jeweils einen Faktor 10 auf 400 Hz herabgeteilt wird. Das 400-Hz-Signal speist einen getakteten Flipflop 324, der ein 100-Hz-Unterbrechungssignal zur Speisung der Unterbrechungsstufe 79 abgibt und der auch die Austastperiode des Zentralrechners 86 steuert.
Zur Zeitsteuerung der Schaltlogik ist es erwünscht, einen zweiphasigen Zeitimpulsausgang zu erhalten. Daher wird das 4-MHz-Signal auch dem Eingang eines Phasenteilers 325 zugeleitet, der von zwei getakteten Flipflops 326 und 327 zu je zwei Ausgangspuffergliederr^ 328 und 329 gebildet wird. Taktimpulsfolgen TA und TB von 1 MHz speisen die NAND-Stufe 301, um ein 1-MHz-Signal zur Kommutierung in der Digital-/Analogkonverterschaltung 18 (Fi g. 1) zu erhalten, wie das nachstehend noch in Verbindung mit Fig. 17A, 17B beschrieben wird. Die beiden phasenverschobenen Taktimpulsfolgen werden außerdem den Lagerückführungszählern 211 und 213 und den Rückführungs-Codierstufen 207,209 zugeführt, siehe auch F i g. 7.
Wie schon erwähnt, sind die Eingangssignale, die Zentralrechner-Unterbrechungsvorrang über den Datenanforderungsschaltki eis 38 (F i g. 4B) fordern, das 100-Hz-Abtastsignal vom Taktgeber 312, das Rückführungszählsignal AWS OVERFLO W von entweder der X- oder der Z-Achse sowie ein Lochstreifen-Einlesesignal »TAPE CHARACTER«, (siehe Fig.4A). Wie aus F i g. 11 hervorgeht, werden die X- und Z-Achsen-Überlaufsignale entsprechenden NAND-Stufen zugeführt, die ein ODER-Glied 333 bilden, um das Einzelachsen-Überlaufsignal COFzu erzeugen. Die weiteren Leitungen zu dem im einzelnen angegebenen ODER-Kreis 333 werden hier nicht verwendet, werden aber für Werkzeugmaschinen mit mehr als zwei Bewegungsachsen benötigt. So sind auch die übrigen ODER-Kreise 333 für diesen Zweck als Reserve vorgesehen.
Die Signale COF, TAPE CHARACTER und das 100-Hz-Takisignal (lOOQ werden jeweils einem Verstärker 335 mit NAND-Stufen 337 und 339 und einem herkömmlichen Transistorverstärker 341 zur Eingabe in den Zentralrechner 86 zugeführt Wenn der Rechner zur gepufferten Eingabe des Lochstreifenzeichens bereit ist, spannen die Signale BCOLO und ROWO5 einen Transistor 357 in Vorv/ärtsrichtung vor, so daß ein NAND-Gatter 359 betätigt und ein NAND-Signal SR SAD erzeugt wird, das eine Lochstreifenzeichen-NAND-Stufe 125 in Fig.9 ansteuert Zwei ähnliche Datenanforderungs-Unterbrechungs-Transistorkreise sind dargestellt werden hier jedoch nicht benutzt
Allgemeines Adressieren für das Annehmen und Weiterleiten der Eingabedaten sowie das Weiterleiten der Ausgabedaten wird durch eine Gruppe von Zeilen und eine Gruppe von Spalten von Adressensignalen R0—R7 und CO—Cl erreicht die von der Eingangs-/ Ausgangs-Adressenlogik 77a der Fig.4A—4C erzeugt werden. Verschiedene Kombinationen dieser Signale legen die Eingangs- oder Ausgangslage für die Datenübertragung fest. Wie in Fig. 13 gezeigt ist, werden die R-Adressensignale RO—R7 über gleiche Gatter-Kreise 343 erzeugt, die jeweils eine Zenerdiode 345 sowie ein Pufferglied 347 enthalten. Die C-Adressensignale CO— Cl gelangen zu gleichen Gatter-Kreisen 349, die in Reihe geschaltet eine Zenerdiode 351, eine NAND-Stufe 353 und ein Pufferglied 355 enthalten. Die verschiedenen Eingangs-/Ausgangsadressen und der Datengehalt der zu diesen einz-elnen Adressen gehörenden Wörter sind in einer Tabelle festgehalten, die hier zur Straffung der Beschreibung nicht wiedergegeben ist.
Zur Verkopplung der Dateneingaben mit dem Zentralrechner dienen auf Halbleiterbasis beruhende logische Verknüpfungseinrichtungen, die in Fig.4B, Bezugszahl 361, eingetragen und in F i g. 12 in gröberen Einzelheiten dargestellt sind. Es können 16-Bit-Eingangswörter eingeführt werden, die in der externen Eingabeschaltungsanordnung erzeugt werden, wenn
■to sich der Zentralrechner 86 in dem programmierten Betrieb befindet. Jeder Eingangs-Bit-Kanal umfaßt einen Schnittstellenkreis 363 mit einem Leistungs-Gatter 365, das ein Bit-Signal in der Wortgruppe von Bit-Signalen IDO-ID15 erzeugt. Die /DÄO-Bezeichnungen stellen Bit-Signal-Masse-Rückführungen dar.
Ein Eingangs-Expanderkreis 292, gleichfalls in Fig. 12 dargestellt, ist mit seinen Ausgängen an die Eingänge der entsprechenden Leistungs-Gatter-Bit-Kanäle der Schnittstellenkreise 363 angeschlossen. Jeder
so Bit-Kanal zu den zugeordneten Eingangs-Schnittstellenkreis 363 ist mit Eingangs-Bit-Kanälen über zwei NAND-Stufen 369 und 371 gekoppelt. Der Eingangswortkanal durch die Eingangs-Bit-Schnittstellen-Schaltkreise 361 setzt sich dementsprechend aus Zweiwort-Kanälen am Eingang des Eingangs-Expanderkreises 292 zusammen, die jeweils von Bit-Signalen IEA 0—lEA 15 bzw. 1EB0—IEBX5 gebildet sind. Jede der Bitlagen in den entsprechenden Wörtern IEA und IEB bilden eine ODER-Leitung, mit der die zugeordneten Eingänge
bo gekoppelt sind.
Eine ähnliche Anordnung findet sich am Ausgang des Zentralrechners 86 und dient zur Verkoppelung mit verschiedenen rechnergesteuerten Schaltungen. Es sei dazu auf den Block 330 und den Block 340 in Fig. 4B
b5 und die entsprechende Detaildarstellung der Fig. 14A, 14B verwiesen. Diese Figur zeigt eine Ausgangs-Bit-Schnittstellen-Schaltplatte 330, die die vom Zentralrechner 86 abgegebenen 16-Bit-Ausgangswörter aufnimmt,
um die Maschinenschlittenbewegung betreffende oder auch nicht betreffende Befehle weiterzuleiten. Jeder Bit-Kanal in dieser Platte 330 enthält ein Pufferglied 332, dem über eine Zenerdiode 334 das zugeordnete Bit-Signal von der Wortgruppe aus Bit-Signalen > ODO-ODiS zugeführt wird. Die Pufferglieder 332 erzeugen wiederum einen aus Bit-Signalen OEO-OE15 gebildeten Wortausgang. Die Rechnerausgangskanäle ODR 0— ODR15 sind Masse-Rückführungen für die Bit-Signale. ι ο
Die Platte 330 ist mit einer Ausgangs-Bit-Expander-Schaltplatte 340 verkoppelt, wie das allgemein in der Fig.4B und insbesondere im einzelnen in Fig. 14B dargestellt ist Jedes der Ausgangssignale OEO-OE ί5 speist zwei Pufferglieder 342 und 344, so daß jeder Bit-Kanal in zwei parallele Bit-Kanäle aufgeteilt wird, um eine Logikkreis-Expansion in zwei Wortkanäle zu erhalten. Die resultierenden Ausgangs-Bitsignale für die entsprechenden Ausgangswortkanäle von der Ausgangs-Bit-Expander-Schaltplatte 340 sind mit XA 0— XA 15 und XBO-XB 15 bezeichnet. Allgemein werden die Bitsignale in dem OXB-Wort durch einen folgenden Schaltungsaufbau für die Steuerung der Schlittenbewegung und die Bitsignale im OE4-Wort durch eine nachfolgende Schaltung für die Erzeugung von Steuerstgnalen für Nichtbewegungsvorgänge geleitet.
Wie aus der Fig.4A—4C hervorgeht, werden die keine Bewegung betreffenden Befehle von der Schaltplatte 340 zu mehreren gleichartigen Übertragungspuffer-Glied-Schaltplatten 346 geleitet, in diesem Fall zu Jo insgesamt 4 Übertragungspuffer-Glied-Schaltkreisen 348, 350, 352 und 354, die das jeweilige Nichtbewegungsbefehls-Ausgangswort weiterleiten, aufnehmen und halten, so daß die viel schnellere Zentralrecheneinheit 86 fortfahren kann, das nächste Nichtbewegungs- oder Bewegungsbefehls-Ausgangswort zu erzeugen. Der Aufbau dieser Schaltplatten 346 ist aus Vereinfachungsgründen nicht näher dargestellt. Gleiches gilt für die diesen Schaltungen nachgeschalteten Blöcke, die beispielsweise Anzeigelampen und Steuerungsrelais umfassen, denen Isolationsglieder (362—372) sowie Treiberstufen (L17, L18, L19 bzw. 396) vorgeschaltet sind. Mit derartigen Relais werden die Spindeldrehzahl sowie verschiedene Funktionen der Werkzeugmaschine, wie z. B. die Werkzeugwahl, gesteuert.
Außerdem ist noch eine Lese-Treiberstufe (L29, L30) mit nachgeschalteter Lese- bzw. Wiedergabe-Einrichtung L32 zu erkennen. Hier können Achseninformationen mit Hilfe eines Wahlschalters dargestellt werden, Bogenverschiebungen und Werkzeugverschiebungen sowie Schneidkompensationen. Auch Werkzeugverschiebungen sind darstellbar, wozu der Block L33 in F i g. 4C dient.
Die zur Ausführung von Schlittenbewegungsbefehlsdaten längs der X-Achse und Z-Achse verwendete Schaltung ist allgemeiner in F i g. 4A bis 4C und mehr ins einzelne gehend in den Fig. 15, 16 und 17A—17B gezeigt. Eine Kommutator- und Bezugswert-Platine 500, siehe F i g. 15, erzeugt Bit-Gewichtungssignale und eine genau temperaturstabilisierte Bezugsspannung, die ω für die Steuerung der Schlittenbewegungen längs der X-Achse und der Z-Achse benötigt wird. Jede Achsensteuerung umfaßt eine Puffer- und Decodierplatine 502, siehe Fig. 16, die eine Impulsfolge mit einer Frequenz erzeugt, die dem Lagefehler proportional ist, wie er durch das von den Bits OXBO-OXBH und einem Vorzeichen-Bit OXB14 gebildete Computer-Ausgangswort festgelegt ist. Ein Verstärker 504 (Fig. 17A) enthält den Schaltungsaufbau, der benötigt wird, um Schalteingangssignale an eine Verstärkerstufe abzugeben, von der eine analoge Ausgangsspannung erhalten werden kann, die dem digitalen Lagefehlerbefeh! proportional ist Die analoge Ausgangsspannung dient als Geschwindigkeits-Befehlssignal, das mit einem RückfÜhrangs-Geschwindigkeitssignal verglichen wird, um ein Geschwindigkeitsfehlersignal zu erhalten. Eine kompensierte Leistungsverstärker-Schaltung 506 spricht auf das Geschwindigkeits-Fehlersignal an und erzeugt ein Stromsignal einer Höhe, die zum Antrieb eines elektrischen Drehmomentmotors notwendig ist, der seinerseits ein hydraulisches Ventil (nicht dargestellt) betätigt. Die Fluidströmung und die Drehzahl des antreibenden hydraulischen Motors (nicht dargestellt) werden dadurch dem Geschwindigkeitsfehler proportional gemacht, so daß die befohlene Bewegung zwischen dem Werkzeug und dem Werkstück mittels des zugeordneten Maschinenschlittens realisiert werden kann. Da X- und Z-Achsen-Steuerung im wesentlichen gleich sind, wird nachstehend nur die X-Achsen-Steuerung kurz beschrieben.
Wie die Fig. 15 zeigt, weist die Kommutator- und Bezugs-Platine 500 einen temperaturstabilisierten Spannungsregelkreis 510 auf, der Bezugsspannungen von plus 5 Volt und minus 5 Volt erzeugt, um den Analog-Ausgangsverstärker 504 zu speisen. Die Bezugsspannung wird von einem integrierten Baustein 512 erzeugi, welcher einen Verstärker 514 speist, der wiederum als integrierter Baustein vorliegen könnte. Des weiteren ist aus der Platine 500 eine Schaltung 516 zum Gewichten der Computer-Bewegungs-Steuerungs-Ausgangs-Bits vorgesehen, um die Erzeugung einer Lagefehler-Impulsfolge bei einer Frequenz zu ermöglichen, die dem durch das Computer-Ausgangs-Befehlswort angezeigten Lagefehler proportional ist. Die Gewichtungssignale sind Impulsfolgesignale ß 1 Cl — B6Cl, die von dem Taktsignal 1 MHz abgeleitet und mit unterschiedlichen Impuls-Frequenzen erzeugt werden.
Das Taktsignal 1 MHz (in den Zeichnungen mit 1 MC bezeichnet) speist eine NAND-Stufe 518, die wiederum an Flipflop-Stufen 520, 525 und 524 angeschlossen ist, die untereinander und mit UN D-Stufen 526, 528 verbunden sind. Die Flipflops 518,520 und 522 erzeugen Ausgangssignale 500 kHz, 250 kHz und 125 kHz. Zwei Binär-Zähler 530 und 532 (integrierte Schaltkreise) bilden einen 6-Bitzähler, der mit dem Ausgang des Flipflops 522 verkoppelt ist. Es werden somit nur die Binär-Zähler-Bitanschlüsse A-F benutzt, und die Impulsfolgen an diesen Anschlüssen haben unterschiedliche Frequenzen (z. B. im Verhältnis von 32/16/8/4/2/1), aber die Impulserzeugungs-Zeitintervalle sind dieselben von Impulsfolge zu Impulsfolge.
Um die Impulse in den Impulsfolgen trotz Beibehaltung derselben Frequenzen zu kommutieren, werden die Signale A, B, C, D, fund Fan NAND-Stufen 536, 538, 540,542 bzw. 544 geleitet, um eine erhöhte Treiberfähigkeit zu erhalten. In den entsprechenden Impulsfolge-Schaltkreiskanälen B—Fführen Paare von NAND-Stufen 546 und 548,550 und 552,554 und 556,558 und 560 sowie 562 und 564 eine UND-Funktion aufgrund unterschiedlicher Kombinationen der Eingangs-Impulsfolgen aus, um die Ausgangs-lmpulsfolgen ß5Cl — ßlCl zu erzeugen. Die Impulsfolge A wird einfach durch NAND-Stufen 534 und 535 geleitet.
Mittels NAND-Stufen 566 und 568 kann ein X-Achsen-Impulssignal PM\ erzeugt werden, das dazu
dient, die gewichteten Impulse in Rechteckform zu bringen, die in der X-Achsen-Pu ff er- und Decodier-Platine 502 erzeugt werden. Ähnliche Signale werden für jede andere der gesteuerten Bewegungsachsen erzeugt.
Die Bewegungs-Platine 502, siehe Fig. 16, weist ein Sinus-Flipflop-Register 570, ferner ein von Flipflops 572—582 gebildetes Lagefehler-Register mit oberem Anschluß für höchstwertige, durch die Bitsignale OXB6—OXBXX repräsentierte Ziffern und ein von Flipflops 584—594 gebildetes Lagefehler-Register mit niedrigerem Anschluß für die von den Bitsignalen OXNO- OXB5 repräsentierten niedrigerwertigen Ziffern auf. Gewichtungs-NAND-Stufen 598—608 und 610—620 erzeugen entsprechende gewichtete Impulsfolgen für Bit-Ka.näle, die einen Ein-Bit-Eingang haben. Die dem oberen Anschluß entsprechenden gewichteten Impulsfolgen werden durch die NAND-Stufe 622 und die dem niedrigeren Anschluß entsprechend gewichteten Impulsfolgen werden durch eine NAND-Stufe 624 addiert NAND-Stufen 626 und 628 erzeugen die den oberen und unteren Anschlüssen entsprechende Lagefehler-Impulsfoige XPMD und XPLD, wenn in dem Flipflop 570 ein positives Vorzeichen registriert wird. NAND-Stufen 630 und 632 erzeugen die dem oberen bzw. dem unteren Anschluß entsprechenden Lagefehler-Impulsfolgen XNMDund XNLD, wenn ein negatives Vorzeichen von dem Flipflop 570 registriert wird. Die Impulsfolge PAi] wird durch eine NAND-Stufe 534 invertiert und dem Eingang der NAND-Stufen 626,628, 630 und 632 zugeführt, um die gewichteten Lagefehler-Impulsfolgen in der zuvor erwähnten Weise auf Rechteckform zu bringen. Die Impulsfolgen XPMDund IPLD und die Impulsfolgen XNMD und XNLD haben Frequenzen, die der Größe der Lagefehlerzählung proportional sind, die von dem Lagefehler-Register aus dem letzten Computer-Ausgangs-Bewegungs-Steuerungswort gespeichert wurde.
Entsprechend der Fig. 17A sind herkömmliche Transistor-Impuls-Verstärkerkreise 640, 642, 644 und 646 vorgesehen, um die laufende Größe der entsprechenden Eingangs-Impulsfolgen auf ein Niveau anzuheben, das zur Speisung der Leistungs-Verstärkerschaltung 506 ausreicht. Von jedem aktivierten Verstärkerkreis 640—646 werden zwei Verstärker-Ausgangs-Impulsfolgesignale erzeugt, die Schaltkanäle 648—654 (Fig. 17B) speisen, die an der Verbindungsstelle 656 summiert werden. Diese Verbindungsstelle 656 liegt am Eingang eines stabilisierten Ausgangsverstärkers 653, vorzugsweise aus integrierten Schaltungen 660 und 662 aufgebaut.
Die entsprechenden Schaltkanäle enthalten reihengeschaltete Feldeffekttransistoren Q17 und (?19, deren Quellenelektrode mit der stabilisierten Plus-5-Volt-Bezugsspannung verbunden sind, sowie Transistoren Q 21 und Q 23, deren Quellenelektroden mit der stabilisierten Minus-5-Volt-Bezugsspannung in Verbindung stehen. Die Senken-Elektroden der Feldeffekttransistoren Q17, QX9, Q 21 und ζ>23 sind über Feldeffekttransistoren Q18, Q 20, Q 22 und Q 24 an eine gemeinsame Leitung angeschlossen. In den jeweiligen Schaltkanälen liegen Eingangs-Summierwiderstände R 37, R 39, /?41 und R 42, und entsprechende Widerstands-Kondensatorkreise 664,666, 668 und 670 glätten die Eingangs-Spannungssignale für die Ausgangsverstärker 658. Die Schaltkanäle 648 und 650 führen jeweils Lagefehler-Impulsfolgen zu dem Eingang des Ausgangsverstärkers 658, die jeweils zu den gewichteten Bits von dem oberen Anschlußregister und dem unteren Anschlußregister in Fig. 16 proportional sind, wenn ein positiver Lagefehler vorhanden ist In ähnlicher Weise führen die Schaltkanäle 652 und 654 negative Impulsfolgen zum Eingang des Ausgangsverstärkers 658, die entsprechend
"> den gewichteten Bits von dem oberen Anschluß- bzw. dem unteren Anschlußregister Fig. 16 proportional sind, wenn ein negativer Lagefehler auftritt.
Der Ausgangsverstärker 658 weist außerdem Rückkoppelungsfilter 672 zur Spannungsglättung und Kon-
Ki densatoren C5, CS, CXX und C12 zur Rauschunterdrückung auf. Eingangswiderstände R 52, R 53 und R 55 sowie Potentiometer P1 sorgen für Null-Abgleich. Die Größe des analogen Spannungsausganges des Verstärkers 658 ist dem Lagefehler-Registerinhalt proportio-"> nal, und sein Vorzeichen ist das in dem Lagefehler-Register gespeicherte Zeichen.
Die analoge Lagefehlerspannung gelangt über ein Verstärkungs-Anpassungspotentiometer P2 als Geschwindigkeitsbefehlssignal zu einer Summierstelle 674 am Eingang eines herkömmlichen Gleichspannungs-Servo-Vorverstärkers 676, siehe Fig. 17B, der durch eine Rückführungschaltung 678 voreilungs-/nacheilungskompensier* ist Der Vorverstärker 676 hat zwei integrierte Schaltkreisverstärker als Stufen. Ein X-Ach-
r> sen-Tachogenerator 673 ist mit dem Ausgangsmotorantrieb 508 verkoppelt und erzeugt ein der Antriebsgeschwindigkeit proportionales Signal, das an einer Summierstelle 674 mit dem Geschwindigkeitsbefehlssignal summiert wird, so daß sich ein Geschwindigkeits-
ii) fehlersignal ergibt. Der Eingang des Verstärkers 676 bildet dementsprechend den Eingang der Geschwindigkeitsregelstufe der Werkzeugmaschinen-Bewegungs-Regelschleife, also in F i g. 1 die aus den Bauteilen 20,22, 24,16,26 und 20 gebildete Schleife.
r> Ein herkömmlicher hydraulischer Servo-Leistungsverstärker 680 erzeugt ein laufendes Ausgangssigna! in Abhängigkeit von dem Spannungsausgang des Servo-Vorverstärkers 676, um den elektrischen Drehmomentmotor 508 proportional zum Geschwindigkeiisfehle:"
-to anzutreiben. Der Leistungsverstärker 680 kann für die erste Stufe einen integrierten Schaltkreisverstärker und in der zweiten Stufe einen Verstärker mit einem geeigneten Paar komplementärer Transistoren darstellen.
3 Im folgenden sei nun die Arbeitsweise der erfindungsgemäßen numerischen Bahnsteuerung näher erläutert. Der Zentralrechner 86 wird von einem im Kernspeicher des Rechners enthaltenen Programm betrieben. Bei einer Taktfrequenz von beispielsweise 100 Hz und
ίο einem in Assembler-Sprache geschriebenen Programm läßt sich (bei Vermeidung einer Ausführungsprogrammsteuerung) die Schlittensteuerung mit der geforderten Lagegenauigkeit, die Dateneingabe, die Schnittstellensteuerung sowie auch die Bedienungspultschnittstellensteuerung mit einem Mikroprozessor ausführen, der einen 4K-Kernspeicher besitzt. Um eine vorgewählte Geschwindigkeitsauflösung von 5% bei einer Minimalgeschwindigkeit von 0,25 mm/min zu erhalten, ist bei den Lageberechnungen eine Lagegenauigkeit von 10~7
bo notwendig. Um diese Lagegenauigkeit sowie Ausfahrstrecken von bis zu 2500 mm zu erhalten, ist somit für die Berechnung ein Lagebereich von 109 erforderlich. Dieser große Bereich bedingt die Verwendung von Zinern mit 30 Bit, d. h. eine Arithmetik, die die doppelte
b5 Genauigkeit aufweist, wie eine 16-Bit-Maschine. Eine derartige Arithmetik ist recht zeitaufwendig, und es ist daher im vorliegenden Falle als günstiger erachtet worden, die Berechnungen durch Verwendung iterati-
ver Rechenverfahren zu vereinfachen. Der sich ergebende Abbrechfehler wird klein genug gehalten, um den Geschwindigkeits-Genauigkeits-Anforderungen zu genügen.
Um die Anforderungen an Kernspeicherkapazität und Taktfrequenz zu verringern, wird im beschriebenen Ausfiihrungsbeispiel kein Ausführungsprogramm benutzt, obwohl sich dadurch der Programmaufbau in Verbindung mit den Eingabedatenanforderungen schwieriger gestaltet.
In diesem Fall enthält das Programm jedoch vorzugsweise ein Schlittenbewegungs-Steuerungsprogrammteil, das synchron mit der Taktgeschwindigkeit von z. B. 100 Hz abläuft, sowie ein Hauptprogrammteil, das zyklisch zwischen Abläufen des Schlittenbewegungs-Steuerungsprogramms läuft.
Das synchrone Schlittenbewegungs-Steuerungsprogramm soll nicht mehr als etwa 40% der relativen Einschaltdauer des Rechners beanspruchen, bei einer Taktfrequenz von 100 Hz also weniger als maximal 4 ms. Das Hauptprogramm läuft daher üblicherweise während der halben Betriebszeit des Rechners, um die für die nicht mit der Schlittenbewegung in Zusammenhang stehende Steuerung erforderlichen Funktionen sowie auch die Funktionen auszuführen, die den Ablauf der Schlittenbewegungs-Steuerungsprogrammteile unterstützen.
Wie in Fig. 18 dargestellt ist, werden beim Betrieb des Computers zunächst Daten von einem Lochstreifen 700 an einen Zwischenspeicher 702 geleitet, der Teil des Kernspeichers ist. Die Daten werden dort gespeichert, bis ein Decodierprogramm 704 diese Daten decodiert und an einen weiteren, ebenfalls Teil des Kernspeichers bildenden Zwischenspeicher 706 weitergibt. Zwei weitere Zwischenspeicher 708, 710 ermöglichen die Speicherung von drei aufeinanderfolgenden Blöcken decodierter Streifendaten. Bei der Bahnbewegung entsprechen diese drei Blöcke (J+1, J, J-I) drei aufeinanderfolgenden Segmenten der vorgegebenen Bahn. Ein Block mit decodierten Lochstreifendaten wird vom Zwischenspeicher 706 an den Zwischenspeicher 708 und von dort an den Zwischenspeicher 710 gemäß dem aufeinanderfolgenden Einlesen von Blöcken in den Zwischenspeicher 702 und der Decodierung innerhalb des Blockes 704 weitergeschoben.
Ein Vorberechnungsprogramm 7t2 führt zur entsprechenden Taktzeit auf Basis des Inhalts des Speichers 708 (Segment J) Vorberechnungen aus, unter Umständen unter Berücksichtigung der die angrenzenden Segmente /+ 1 bzw. /— 1 betreffenden Daten, die in den Blöcken 706 bzw. 710 gespeichert sind.
Die durch diese Vorberechnung ermittelten Segmentdaten werden in Arbeits-Zwischenspeichern 714, 716 oder 717 gespeichert, um sie für den Echtzeiteinsatz in Verbindung mit dem Schlittensteuerungsprogramm 718 bereit zu haben. Wie aus F i g. 18 zu erkennen ist, enthält der Zwischenspeicher 714 die Daten für das Segment / während die Arbeitsspeicher 716 und 717 die vorberechneten Daten für das Segment /— 1 bzw. J—2 enthalten. Mit Ausführung des Schlittensteuerungsprogramms 718 werden numerische Ausgangsbefehle 720 als Geschwindigkeits-Führungsdaten zur Verfügung gestellt
Durch den in Fig.4B dargestellten Block 38 ist es möglich, einen Oberlauf eines Zwischenspeichers festzustellen und für diesen Fall den Betrieb der Befehlsdateneingabe oder Verarbeitung wegen einer Fehlfunktion abzubrechen. Auch bei Ausfall der Energiezufuhr läßt der Zentralrechner 86 ein entspre
chendes Unterprogramm ablaufen, durch den sichergestellt wird, daß die gerade anstehenden Daten im permanenten Kernspeicher sichergestellt und für einen späteren Neustart zur Verfugung gehalten werden.
Arbeitszeit für den Kernspeicher und für die Befehlsausführung werden verringert, wenn das Programm zur Eingabe in den Zentralrechner 86 in einer Assembler-Sprache geschrieben wird. Die Verwendung komplizierterer Sprachen, wie Fortran, in Verbindung mit einem zugehörigen Compiler, wären zwar für den Programmierer bequemer, bei Werkzeugmaschinen-Anwendungen mit Mikroprozessoren ergeben sich jedoch wegen des dafür notwendigen hohen Kernspeicherraumbedarfs und hoher Taktfrequenzen unter Umständen Schwierigkeiten. Bei Verwendung von Assembler-Sprachen genügen Mikroprozessoren, die nur 32 relative Anweisungen einschließlich Addieren, Subtrahieren, Multiplizieren und Dividieren ausführen können. Es genügt, wenn der Mikroprozessor eine Addieranweisung in etwa 5 Mikrosekunden und eine Multiplizieranweisung in etwa 35 Mikrosekunden ausführt.
Bei in einer Assembler-Sprache abgefaßtem Programm können die arithmetischen Operationen am zweckmäßigsten mit festen Komma durchgeführt werden. Das inhärent große Digitalrechner-Register sorgt im wesentlichen für die Beseitigung der zuvor erwähnten Einschränkungen hinsichtlich der Registergröße, jedoch muß bei Verwendung von Festkomma-, Binär-Arithmetik bei der Programmvorbereitung darauf geachtet werden, daß die Daten nicht aus den Registergrößen hinauslaufen.
Es sei nun anhand der Fig. 19 das Hauptprogramm näher erläutert. Es beginnt mit einem Block 730, der bewirkt, daß über Leitung 384 (siehe Fig.4A) Daten vom Lochstreifen abgelesen werden. Im nächsten Block 732 wird die Stellung des Betriebsartenwählschalters festgestellt. Im Block 734 wird mit der bisher durchgeführten Betriebsart verglichen und bei Abweichung zur Vorbereitung der neuen Betriebsart die Bewegung aller Achsen (Block 740) gestoppt Ansonsten wird in dem bisherigen Betrieb fortgefahren, wobei die Blöcke 742—754 diese verschiedenen Betriebsarten darstellen (automatische Taktsteuerung; Einzeltakt-Steuerung; manuelle Dateneingabe [MDI] usw.).
Die beiden ersten Programmarten, AUTOMATIC- und EINZEL-ZYKLUS, sind in Fig.20 in Form eines Flußdiagramms wiedergegeben. Block 742 entspricht den besonderen Kontakteingängen, wie Grenzschaltern, Relaiskontakten usw., die zur Überwachung des synchron ablaufenden Schlittensteuerungsprogramms dienen. Der Block 758 überprüft, ob Dateneingänge vorhanden sind und leitet im betreffenden Fall den von diesen Daten geforderten Programmablauf mittels Block 760 ein. Dabei weisen die verschiedener Betriebsarten unterschiedliche Prioritäten auf, wie in der Fig.20 erkennbar wird. Falls keine Eingänge bedient werden müssen, läuft das Programm über den Block 761 und verzweigt sich dort je nach Betätigungszustand für den Startknopf. Ist der Startknopf gedruckt läuft das Programm über Block 764 zwecks Ermittlung, ob die Speicherblöcke 706,708 und 710 korrekt geladen sind. Falls dies zutrifft, werden im Block 766 die Vorberechnungen durchgeführt und die für das Schlittensteuerurigsprogramm benötigten Daten erzeugt
Ist die Vorberechnung noch nicht durchführbar, läuft das Programm zum Verzweigungsblock 768, durch den
ggf. die Datenumwandlung eingeleitet wird, siehe die «locke 770-778.
Der Block 762 erfaßt den Fall, daß Lochslreifendaten nicht zur Verfügung stehen.
In Fig. 21 ist eine grafische Veranschaulichung eines kurzen Teils des Programmablauf}, zur näheren Erläuterung dargestellt. Zum Zeitpunkt 800 beginnt das Mauptprogramm zu arbeiten. In rascher Folge werden die Darstellungs-Ausgänge für die Bedienungstafel erzeugt und der Betriebsart-Wählschalter abgelesen. Dann wird überprüft, ob alle Anzeigen ordnungsgemäß sind und zutreffendenfalls im Zeitintervall 802 das Vorberechnungsprogramm durchgeführt. Zum Zeitpunkt 804 wird dieses Vorberechnungsprogramm durch eine Datenanforderungsunterbrechung für einen Lochstreifeneingang unterbrochen. Das Vorberechnungsprogramm läuft bis zum Zeitpunkt 806, wo es unterbrochen wird, um den Ablauf des dritten Steuerungsprogramms zu ermöglichen. Währenddessen wird ein weiteres Lochstreifenzeichen an der Stelle 808 in den Zentralrechner 86 eingegeben. Das Schlittensteuerungsprogramm sollte zu diesem Zweck jedoch nicht unterbrochen werden, bis die Geschwindigkeits-Führungsgröße erzeugt ist.
Während des letzten Teils des Schlittensteuerungsprogramms werden die vom Hauptprogramm festgelegten Kontakteingänge geprüft und erforderlichenfalls Anzeigen gesetzt. Nach beendetem Lauf des Schlittensteuerungsprogramms beginnt das Hauptprogramm erneut bei einem Zeitpunkt 810. Das Vorberechnungsr-r'gramm fährt dann fort, die Zwischenspeicher für die codierten Zeichen zu füllen, wenn zwei weitere Lochstreifenzeiciien in den Zentralrechner 86 eingegeben werden. Zum Zeitpunkt 812 wird das Hauptprogramm erneut unterbrochen, um das Schlittensteuerungsprogramm erneut ablaufen zu lassen. Dessen Ablauf erfordert weniger Zeit als der vorangegangene Ablauf, und bei seiner Beendigung erfolgt zum Zeitpunkt 814 eine Rückkehr zum Hauptprogramm.
Von besonderer Bedeutung ist das schon erwähnte Vorberechnungsprogramm, das so ausgelegt ist, daß in Echtzeit die für möglichst günstige Schlittenführung notwendige Beschleunigung bzw. Verzögerung während der einzelnen Segmente durchgeführt werden.
Die Beschleunigung bzw. Verzögerung erfolgt vorzugsweise in Form von sägezahnförmigen Geschwindigkeitsänderungen. Wie schematisch aus Fig. 22 hervorgeht, erfolgen die Vorberechnungen anhand der Daten des jeweiligen Segmentes / unter Einbeziehung des vorhergehenden Segmentes /—1 sowie des nachfolgenden Segmentes /+1.
jedes dieser Segmente ist in höchsten drei Abschnitte aufgeteilt, nämlich in einen Beschleunigungs-Abschnitt D1, einen Abschnitt D 2— D1 konstanter Geschwindigkeit und in einen Verzögerungs-Abschnitt DZ—D2. Dadurch werden Unstetigkeiten in der Bahn beseitigt, es verbleiben nur Unstetigkeiten in der Ableitung nach der Zeit Jedoch haben Unstetigkeiten höherer Ordnung verhältnismäßig wenig Einfluß auf die Bahngenauigkeit. Gleiches gilt für die Unstetigkeiten, die durch die Abtastung entstehen, weil die Abtastfrequenz so hoch liegt, daß praktisch ein kontinuierlicher Bahnverlauf erreicht wird.
Unterschreitet die für ein bestimmtes /-Segment erforderliche Geschwindigkeitsänderung eine bestimmte Grenze, ist also eine Beschleunigung oder Verzögerung unnötig, wird der entsprechende Abschnitt des /-Segmentes auf die Länge Null gebracht Wird bei
linearer Interpolation eine Verzögerung jedoch für notwendig gehalten, werden die Achsengeschwindigkeiten am linde des /Segmentes verringert, und zwar vorzugsweise auf den Wert Null, um auf diese Weise die Achsenbeschleunigungen auf das richtige Verhältnis zueinander bringen zu können und so die vorgegebene Neigung des nächsten Segmentes zu bekommen. Dadurch kann es erforderlich werden, den festgelegten Verzögerungswert in dem /-Segment zu vergrößern, beispielsweise im Falle eines Kurvenendes freier Form, wo die Segmentlänge sehr klein sein und die gesteuerte Verzögerung nur während eines einzelnen Segmentes stattfinden kann. Dadurch würde normalerweise eine höhere Verzögerung als festgelegt notwendig, jedoch tritt dadurch im Eckbereich nur eine sehr kleine Qualitätsminderung auf.
Überschreitet die programmierte Vorschubgeschwindigkeit einen vorgegebenen Maximalwert, kann sie verringert werden. Wenn die festgelegte Vorschubgeschwindigkeit bei der Bewegung durch das /-Segment mit der festgelegten Beschleunigung nicht erreicht werden kann, so wird die Geschwindigkeit für dieses /-Segment entsprechend herabgesetzt Die sich ergebende vorgegebene Vorschubgeschwindigkeit wird als nicht erreichbar ermittelt wenn eine Einstellung auf diesen Wert nicht möglich ist. Sie wird innerhalb des /-Segmentes £>3 auf Null herabgesetzt wenn eine Verzögerung notwendig ist. Wenn die Vorschubgeschwindigkeit herabgesetzt wird, wird die Länge des zweiten Abschnittes D 2— DX des /-Segmentes vorzugsweise auf Nu!! gebracht Wenn in dem /-Segment eine Verzögerung notwendig ist nicht jedoch eine Beschleunigung, und die Geschwindigkeit bei der spezifizierten Verzögerung nicht innerhalb des /-Segmentes auf Null herabgesetzt werden kann, wird der Verzögerungswert entsprechend vergrößert.
Bei der Durchführung des Schlittensteuerungs-Algorithmus werden Quadratwurzelberechnungen nach Möglichkeit vermieden, um Rechenzeit einzusparen. Wenn Vorschubgeschwindigkeitsänderungen erforderlich sind, werden jedoch gewöhnlich Quadratwurzelberechnungen notwendig, um die neue Vorschubgeschwindigkeit zu bestimmen. Man kann derartige Wurzelbestimmungen jedoch vermeiden, indem der Abstand berechnet wird, in dem die neue Geschwindigkeit bei der spezifizierten Verzögerung auf Null verringert werden kann. Wenn somit Vorschubgeschwindigkeitsänderungen notwendig sind, werden die Anfangsgeschwindigkeiten für die verschiedenen Abschnitte des /-Segmentes nicht während des Ablaufs des Vorberechnungsprogramms berechnet Außerdem wird die Notwendigkeit zur Beschleunigung anstelle des Vergleichs von Geschwindigkeiten mit Hilfe des Vergleichs von Entfernungen ermittelt
Fig.23 zeigt ein Flußdiagramm für das Vorberechnungsprogramm im Falle linearer Interpolation mit Beschleunigung und Verzögerung in der Betriebsart »AUTOM ATIC« oder »EINZEL-ZYKLUS«.
Wie Block 830 zeigt, erfordern die für das /-Segment durchzuführenden Berechnungen zunächst, daß die längs der X-Achse zu durchlaufenden Strecken sowie die Vorschubgeschwindigkeit aus den Daten der Zwischenspeicher 706, 708 und 710 ermittelt werden. Als nächstes wird im Block 832 die schnellste Achse (Index I) der vorhandenen Achsen / (X oder Z) in dem Segment /+1 festgestellt Diese Achse / wird dadurch ermittelt daß die Achse festgestellt wird, die die größte Lageänderung in dem Segment /+1 erfordert Sodann
2f)
werden die Steigungen für alle Achsen /in bezug auf die schnellste Achse / in dem Segment /+1 im Block 834 entsprechend der folgenden Gleichung ermittelt:
= Δ F'-J
tan,..,
In dieser Gleichung bedeuten F,j die vorgegebenen Zuwachsverschiebungen, im vorliegenden Falle also ,4A" oder AZ. Da hier nur eine X- und eine Z-Achse vorhanden ist, ist eine von diesen Achsen die schnellste Achse, so daß dementsprechend für das Segment /+1 nur ein Tangenswert errechnet werden muß.
Die für jede lineare Achse und jede Drehachse in dem Segment /+ 1 erforderliche Geschwindigkeit wird dann in den Blöcken 836 bzw. 838 bestimmt, um feststellen zu können, ob am Ende des Segmentes /eine Verzögerung entsprechend der bevorzugten Verzögerungsprüfung notwendig ist. Auf eine mathematische Darstellung sei jedoch verzichtet. Wie schon erwähnt, erfolgt eine Verzögerung, um die durch den Gradienten der vorgegebenen Bahn repräsentierte Geschwindigkeit am Ende jedes Segmentes auf Null zu verringern, sofern die Geschwindigkeitsänderung nicht klein ist (Block 840). Im Block 842 wird dann festgestellt, ob zu Beginn eines /-Segmentes eine Beschleunigung erforderlich ist. Wenn die Endgeschwindigkeit des vorhergehenden Segmentes /— I =0 ist, muß beschleunigt werden. Ist sie nicht 0 und bekannt, wird wiederum geprüft, ob die Geschwindigkeitsänderung groß genug ist, um eine Beschleunigung zu rechtfertigen.
Da die Endgeschwindigkeit für das Segment /— 1 unter Umständen nicht bekannt ist, weil die festgelegte Geschwindigkeit in dem Segment J-X nicht erreicht wurde und dementsprechend die Endgeschwindigkeit nicht berechnet wurde, kann zur Vermeidung von Quadratwurzelberechnungen auch ein anderes Rechenverfahren angewendet werden, bei dem die Geschwindigkeiten von Segment zu Segment auf Basis der Halteabstände in dem Segment /— 1 bei dem festgelegten Beschleunigungswert berechnet werden.
Die F i g. 24A zeigt weiter ins einzelne gehend das im Block 842 vorgesehene Beschleunigungsprüfprogramm, das dazu dient, festzustellen, ob zu Beginn des Segmentes / für die verschiedenen Bedingungen, die hinsichtlich der Achsen-Geschwindigkeiten am Ende des Segmentes /— 1 gelten können, eine Beschleunigung erforderlich ist Nach Eintritt in das Programm werden vorübergehende Arbeitsabstände TMPi und TMP2 in der mit Block 844 angedeuteten Weise als Anfangswert festgelegt Die festgelegte Geschwindigkeit in dem Segment /-1 wird im Block 846 gepnjft die festgelegte Geschwindigkeit 'm dem Segment / in den Blöcken 848 und 850 und der Wert des vorübergehenden Arbeitsabstandes 77WP1 in den Blöcken 852 und 854 bei der Bestimmung des Endwertes für die Zuordnung zu der Arbeitsgröße TMP 1 im Block 856. Drei der logischen Flußverbindungen führen ebenfalls durch einen Block 855, wo TMP2 vor der Einwirkung auf den Block 856 negativ gemacht wird. Als nächstes wird im Block 858 bestimmt ob die Geschwindigkeitsänderung zu klein ist In diesem Falle wird die nächste Achse in der mit Block 860 angedeuteten Weise geprüft Wenn die Geschwindigkeitsänderung für den letzten Achsenlauf des Programms zu klein ist, wird durch Block 862 eine Nicht-Beschleunigungs-Anzeige festgelegt Für jeden Achsenlauf des Beschleunigungsprüfprogramms, bei dem die Geschwindigkeitsänderung in dem Block 858
als nicht zu klein ermittelt wird, wird durch den Block 864 eine Beschleunigungsbestimmung gemacht. Nach Abschluß der Beschleunigungsbestimmung im Block 862 oder 864 erfolgt ein Rücklauf zum Vorberechnungsprogramm. Der nächste Block 866 sorgt für die Initialisierung des Arbeits-Zwischenspeichers, in den die endgültigen Arbeitsdaten für das Schlittensteuenmgsprogramm eingegeben werden sollen.
Alle bei der Bestimmung der Notwendigkeit einer Beschleunigung mittels des Blockes 842 verwendeten Abstände können mit einfacher Genauigkeit an einem Binärpunkt von Null gespeichert werden. Gegenüber der Verzögerungsprüfung erfolgt die Beschleunigungsprüfung vorzugsweise für die /— 1-Segment modifizierten Geschwindigkeiten, weil bei Basierung auf ursprünglich festgelegte Geschwindigkeiten eine Verringerung der Geschwindigkeit dann die Bahnfehler aufgrund dem Eckbereich folgenden Überschwingens vergrößern würde. Die Beschleunigungsprüfung auf der Basis modifizierter Geschwindigkeiten ist möglich, da nur auf die vorhergehenden und die laufenden Segmente bezogene Daten erforderlich sind.
Es sei bemerkt, daß die Verzögerungsprüfung vorzugsweise unter Verwendung der ursprünglich spezifizierten Geschwindigkeiten erfolgt, um einen einzelnen Durchlauf des Vorberechnungsprogramms verwenden zu können. Jedoch kann die Laufgeschwindigkeit des /-Segmentes anschließend infolge zu großer Geschwindigkeit verringert werden. Wenn sich eine Verzögerung als überflüssig erwiesen hat. sorgt die Geschwindigkeitsverringerung lediglich für eine Herabsetzung des Eckbereich-Überschießens.
Im Block 866 werden bestimmte Größen auf Anfangswerte gebracht, die hier nicht im einzelnen aufgeführt werden sollen. Als nächstes werden dann im Block 868 die Größen D \j, D 2, und DZ, bestimmt, die gemeinsam die Länge der drei Abschnitte bestimmen. die das /-Segment ausmachen. Wenn keine Beschleunigung erfolgen soll, wird Dl, = 0 eingestellt. Wenn keine Verzögerung erfolgen soll, wird die Größe D 2, = D3j gemacht, wobei D 3, die Länge des /-Segmentes ist, siehe F i g. 22. Ferner wird die am Ende des Beschleunigungsabschnittes erforderliche Geschwindigkeit V20j zusammen mit dem Halteabstand D3—D2 des dritten Abschnittes registriert. Die Größen V20> Di, D2 und D 3 werden alle zur Initialisierung bei Beginn eines jeden Abschnittes im Echtzeitbetrieb des Schlittensteuerungsprogramms benötigt Der in Form der Geschwindigkeit am Ende des Segmentes und des festgelegten Verzögerungswertes ausgedrückte Halteabstand wird für den nächsten Durchlauf des Yorberechr.ungEprogramms für das Segment/+1 benötigt
Die in dem Block 868 durchzuführenden Segmentparameter-Bestimmungen werden durch eine Reihe von Bedingungen verkompliziert Darauf sei hier jedoch nicht näher eingegangen.
In der F i g. 24B ist ein detailliertes Flußdiagramm des Logikgehaltes eines in dem Block 868 verwendeten Programmabschnitts wiedergegeben. Auf eine nähere Erläuterung sei jedoch verzichtet
In Fig.25 ist ein Flußdiagramm für das Schlittensteuerungsprogramm wiedergegeben. Zu Beginn der Abtastperiode (n+1) wird der Zustand des Hauptprogramms durch Block 930 mit genügend Einzelheiten gespeichert, so daß eine Wiederaufnahme genau dort möglich ist, wo es unterbrochen wurde, nachdem erst einmal das Schlittensteuerungsprogramm angelaufen
ist. Wie schematisch in K i g. 26 sowie in Block 932 der Fig. 25 dargestellt ist, werden die Achsen-Positionsrückführungs-Zähler (211 und 213) unmittelbar abgelesen, um die Lageänderung Pn., für alle Achsen während der gerade beendeten Abtastperiode zu ermitteln. In Fig. 26 ist die beendete Abtastperiode mil η und die gerade eingeleitete Abtastperiode mit n+ 1 bezeichne!. Als nächstes bestimmt der Block 934 die absolute Lage aller Achsen am Ende der Abiastperiode π entsprechend der folgenden Gleichung:
Mit Rücksicht auf die Genauigkeit der numerischen Operationen können die Eingangswerte für die Lage und die inkrementeüe Lageänderung mit doppelter Genauigkeit mit einem binären Nullpunkt gespeichert werden. Das Kernspeicherbild der absoluten Schlittenpositionen kann durch Addieren der einfach genauen Lagerückführung zu dem doppelt genauen Kernspeicherbild der vorhergehenden Position erhallen werden.
Im Block 936 wird bestimmt, ob die Rückführungsschleife zur Steuerung geschlossen werden sollte. Wenn nicht, erzeugt ein Block 938 einen Geschwindigkeitsbefehl Null für alle Bewegungsachsen, während ein Block 940 Anfragen für Eingangsspeisung in der in Verbindung mit dem Hauptprogramm beschriebenen Weise liefert. Der Schlittensteuerungsprogrammablauf wird dann beendet, das Hauptprogramm dagegen erneut in Gang gesetzt. Zur Durchführung der Schlittensteuerung müssen Anzeigen mittels des Initialisieruiigsvorganges sowie durch Gleichheit zwischen den absoluten Achsenlagewerten und den Bezugsachsenlagewerten des ersten Programmlaufes gesetzt werden.
Um Transportverzögerungen möglichst zu minimieren und so die Systemstabilität zu unterstützen, wird vorzugsweise durch den Block 938 als nächstes der Lagefehler für jede Achse und ein entsprechender Ausgangs-Geschwindigkeitsbefehl mit oder ohne Beaufschlagung der Puffer- oder Decodierschaltplatte 502 in den externen Achsenbewegungssteuerungen erzeugt. Der Lagefehler PE wird durch Subtraktion entsprechend der folgenden Gleichung bestimmt (siehe auf Fig. 26):
Die Größe Dn in der obigen Gleichung ist die vorgegebene Lage für den Anfang der gegenwärtigen Abtastperiode n+1 entsprechend der Berechnung in der vorhergehender. Abtastperiode n, d. h„ Dn ist die absolute Position am Ende der n-ten Abtastperiode. In der ersten Abtastperiodenberechnung ist DnJ = Pnj- Mit Rücksicht auf Genauigkeitsüberlegungen können die Geschwindigkeitsführungsdaten durch Subtraktion der doppelt genauen Schlittenlagen von den vorgegebenen Lagen doppelter Genauigkeit und, je nach Anwendungsfall, Multiplikation des Ergebnisses mit einem Verstärkungsfaktor erhalten werden. Als nächstes bestimmt der Block 940, ob der Vorschub-Halt-Druckknopf betätigt worden ist Wenn dies zutrifft, geht das Programm unmittelbar zum Block 942, um dort eine nachstehend beschriebene Wirkung auszuüben. Wenn der Vorschub-Halt-Druckknopf nicht betätigt worden ist, geht der Programmablauf zum Block 944, wo ein Wert für die schnellste Achsengeschwindigkeit durch einen Additionsvorgang ermittelt wird.
Es sei darauf hingev/iesen, daß die vorstehenden Erläuterungen sich auf eine lineare Bewegung beziehen. Jedoch können Drehbewegungen in identischer Weise ermittelt werden, wenn von Winkelgrößen ausgegangen wird.
Nach der Bestimmung der schnellsten Achsengeschwindigkeit ermittelt ein Block 946 durch Addition für den Beginn der nächsten Abtastperiode η+ 2 die aufsummierte Segmentbefehlslage der schnellsten Achse.
Wenn der laufende Segmentabschnitt bei Einsatz der im Block 946 ermittelten vorgegebenen aufsummierten Segmentlage nicht abgeschlossen wird, läßt der Block 948 das Programm zum Block 950 weiterlaufen, wo die vorgegebenen aufsummierten Segmentlagen für die anderen Achsen für die nächste Äbtastpcriodc η + 2 bestimmt werden. Bei Beendigung der Abschnittsbestimmung vergleicht der Block 948 die neu vorgegebene aufsummierte Segmentlage mit dem durch das Vorberechnungsprogramm festgelegten Abschnittsendabstand D 1, D 2 oder D 3. Wie zuvor erwähnt, werden die erforderlichen Abstände der übrigen Achsen durch Multiplikation des Abstandes der schnellsten Achse mit den entsprechenden Segmentsteigiingen Si in der Gleichung
berechnet. Alle Steigjngen werden durch Teilung zweier Zahlen doppelter Genauigkeit und Speicherung des Bruchergebnisses einfacher Genauigkeit an einer Binärstelle von 15 ermittelt. Da die erforderliche Lage jeder Achse für jeden Abtastaugenblick auf die Lage der schnellsten Achse belegen ist, nimmt der Fehler in dem Bahnbezug nicht infolge kumulativer Abrundungsfehler zu. Ferner wird für das Ende des Segmentes dieselbe Toleranz wie für jeden anderen Punkt gefunden, da es durch einen Vergleich von Strecken in dem Block 948 erfaßt wird.
Wenn der Abschnitt eine konstante festgelegte Geschwindigkeit hat, sind die in den Blöcken 946 und 950 festgelegten Abschnittslagen von Abtastperiode zu Abustperiode gleich. Wenn der Abschnitt einen festgelegten konstanten Beschleunigungswert oder Verzögerungswert hat, ist der Betrag der bei der Ermittlung in den Blöcken 946 und 950 berücksichtigten Geschwindigkeitsänderung von Abtastperiode zu Abtastperiode ebenfalls gleich. Wenn, wie durch Block 952 ermittelt, von linearer Interpolation Gebrauch gemacht wird, werden die absoluten vorgegebenen Lagen für alle Achsen dann in dem Block 954 ermittelt, um bei der nächsten Abtastpcnodc <~-f2 in den Lageregelkreis eingeführt zu werden. Dazu werden die absoluten vorgegebenen Lagen für alle Achsen durch Addition der vorgegebenen aufsummierten Segmentlagen zu den Koordinaten des Anfangspunktes des Segmentes gewonnen. Als nächstes bestimmt der Block 956 die laufende Vorschubübersteuerung in Obereinstimmung mit einem entsprechenden Wahlschalter. Durch Auswertung der in dem Block 956 gemachten Ermittlung wird die bei den Berechnungen verwendete effektive Zeitperiode proportional zu einer Änderung der Vorschubgeschwindigkeit gemacht Insbesondere wird in dem Block 944 die zu durchlaufende Strecke (VDT) proportional zu den Vorschubgeschwindigkeits-Obersteuerungs-Änderungen geändert, während der Strekkenänderungswert (ACCDTDT) entsprechend dem Quadrat der Geschwindigkeits-Vorschubübersteuerunp
modifiziert wird. Fur den Fall des Vorschubhaltens werden Änderungen in dem vorgegebenen Lagebezugswert durch den direkten Prcgrammfluß von dem Block 940 zu dem Block 942 verhindert. Im Block 942 werden die CCI-Eingänge für die Rückführung zum Hauptprogramm verarbeitet
Bei kreisbogenförmigen oder anderen nichtünearen Interpolationen verwendet der Block 953 einen geeigneten Algorithmus zur Bestimmung der individuell vorgegebenen aufsummierten Segmentlage für die nächste Abtastperiode. Diese Werte werden dann in dem Block 954 anstelle der auf Basis linearer Interpolation berechneten Werte verarbeitet. Vorzugs-BO
weise wird der durch Block 952 gebildete Zweig füi nichtlineare Interpolation hinter den Blöcken 944, 94f und 950 für lineare Interpolation angeordnet, um die verschiedenen Bewegungen zu synchronisieren.
Wenn ein bestimmter Abschnitt im Begriff ist beendet zu werden, und das laufende Segment nicht beendet wird, wie das mit dem Block 949 angedeutet ist, so sorgt Block 951 für eine Initialisierung des nächsten Abschnittes in dem laufenden Segment in bestimmter, hier nicht näher erläuterter Weise. Wird jedoch das Segment wie mit dem Block 949 angedeutet beendet, sorgt Block 953 für die Initialisierung des nächsten Segmentes.
Hierzu 27 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Numerische Bahnsteuerung für eine Werkzeugmaschine mit mindestens einem Maschinenschlitten, der entlang zumindest zweier Achsen beweglich ist, wobei für jede Achse ein geschwindigkeitsgesteuerter Vorschubantrieb vorgesehen ist, dessen Führungseingang mit dem Ausgang einer numerischen Steuereinrichtung verbunden ist, die Teil eines ι ο Lageregelkreises ist und eine von einem Taktgeber mit veränderlicher Taktfrequenz gesteuerte Recheneinheit aufweist, die aufgrund von programmierten Lagesollwertdaten den Verlauf der Bahn in Form von Bahnsollwertsignalen vorgibt wobei für jede π Achse eine Lagemeßeinrichtung vorgesehen ist, gekennzeichnet durch die Kombination folgender Merkmale:
DE2124983A 1970-05-22 1971-05-19 Numerische Bahnsteuerung für eine Werkzeugmaschine Expired DE2124983C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US3994070A 1970-05-22 1970-05-22

Publications (2)

Publication Number Publication Date
DE2124983A1 DE2124983A1 (de) 1971-12-02
DE2124983C2 true DE2124983C2 (de) 1982-04-01

Family

ID=21908191

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2124983A Expired DE2124983C2 (de) 1970-05-22 1971-05-19 Numerische Bahnsteuerung für eine Werkzeugmaschine

Country Status (6)

Country Link
US (1) US3699317A (de)
CA (1) CA932842A (de)
DE (1) DE2124983C2 (de)
FR (1) FR2090234B1 (de)
GB (1) GB1354606A (de)
NL (1) NL7107022A (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2825925A1 (de) * 1977-07-04 1979-01-11 Gfm Fertigungstechnik Numerische bahnsteuerung fuer eine werkzeugmaschine, insbesondere eine kurbelwellenfraesmaschine
DE2936251A1 (de) * 1978-10-04 1980-04-10 Gfm Fertigungstechnik Steuereinrichtung fuer eine maschine zum fraesen oder schleifen von kurbelwellen

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4370720A (en) * 1970-12-28 1983-01-25 Hyatt Gilbert P Coordinate rotation for numerical control system
US4396976A (en) * 1972-09-11 1983-08-02 Hyatt Gilbert P System for interfacing a computer to a machine
US4870559A (en) * 1969-11-24 1989-09-26 Hyatt Gilbert P Intelligent transducer
US4531182A (en) * 1969-11-24 1985-07-23 Hyatt Gilbert P Machine control system operating from remote commands
US4829419A (en) * 1970-12-28 1989-05-09 Hyatt Gilbert P Microcomputer control of machines
US4364110A (en) * 1970-12-28 1982-12-14 Hyatt Gilbert P Computerized machine control system
US3746845A (en) * 1970-08-06 1973-07-17 Bendix Corp Numerical control system
US4310878A (en) * 1970-12-28 1982-01-12 Hyatt Gilbert P Digital feedback control system
US4686622A (en) * 1970-12-28 1987-08-11 Hyatt Gilbert P Computer system architecture using serial communication
USRE29685E (en) * 1972-04-06 1978-06-27 The Foxboro Company Process control system
US3909600A (en) * 1972-06-26 1975-09-30 Cincinnati Milacron Inc Method and apparatus for controlling an automation along a predetermined path
IT1078641B (it) * 1976-09-14 1985-05-08 Olivetti & Co Spa Perfezionamenti a un centro di lavorazione autoadattativo per automazione programmabile
US4137463A (en) * 1977-06-16 1979-01-30 P.R. Mallory & Co. Inc. Control system utilizing momentary switching devices
US4281379A (en) * 1978-12-18 1981-07-28 Mcdonnell Douglas Corporation Computer driven control system for a numerically controlled machine tool
EP0070654A3 (de) * 1981-07-10 1984-10-24 Gould Inc. Bewegungssteuerung
JPS5835607A (ja) * 1981-08-27 1983-03-02 Fanuc Ltd 数値制御装置
US4506335A (en) * 1982-06-10 1985-03-19 Cincinnati Milacron Inc. Manipulator with controlled path motion
US6205372B1 (en) * 1993-07-28 2001-03-20 Thurston/Amt Partnership System for adapting an automatic screw machine control achieve computer numeric control
US5508596A (en) * 1993-10-07 1996-04-16 Omax Corporation Motion control with precomputation
US6774598B1 (en) * 1999-09-08 2004-08-10 Dr. Johannes Heidenhain Gmbh Method and circuitry for producing nominal position values for a closed loop position control of a numerically continuous-path controlled machine
US7274997B1 (en) * 2002-08-20 2007-09-25 Goldman Craig E Method of measuring discrete, incremental feedback from motion devices
US7321799B2 (en) * 2003-05-14 2008-01-22 D-Box Technologies Inc. Flexible interface for controlling a motion platform
KR100873901B1 (ko) * 2004-10-22 2008-12-15 삼성전자주식회사 모션 제어기의 위치 프로파일 생성 장치 및 그 방법
JP4256353B2 (ja) * 2005-02-17 2009-04-22 ファナック株式会社 サーボ制御装置及びサーボ系の調整方法
US7904182B2 (en) 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
JP4099503B2 (ja) * 2005-12-19 2008-06-11 ファナック株式会社 回転軸の定位置停止制御装置
KR100707376B1 (ko) * 2005-12-29 2007-04-13 두산인프라코어 주식회사 이송속도 오버라이드 기능을 갖는 터렛 서보 제어장치 및방법
US8050800B2 (en) * 2007-10-21 2011-11-01 Ge Intelligent Platforms, Inc. Method and system for meeting end conditions in a motion control system
US8688258B2 (en) * 2008-09-11 2014-04-01 Rockwell Automation Technologies, Inc. Method of controlling a machine tool
US8432119B2 (en) * 2010-04-14 2013-04-30 Babcock & Wilcox Technical Services Y-12, Llc Method and apparatus for characterizing and enhancing the functional performance of machine tools
US8610393B2 (en) 2010-04-14 2013-12-17 Babcock & Wilcox Technical Services Y-12, Llc Method and apparatus for characterizing and enhancing the dynamic performance of machine tools
JP6386871B2 (ja) * 2014-10-22 2018-09-05 オークマ株式会社 工作機械用数値制御装置
CN108227631B (zh) * 2016-12-12 2020-12-15 发那科株式会社 数值控制装置以及数据结构
CN111861236B (zh) * 2020-07-27 2023-10-27 东北大学 一种棒材精整工艺数据同步方法
CN117798731B (zh) * 2024-02-29 2024-05-10 张家港市卓氏鑫辉机电设备制造有限公司 一种异形弯管智能加工系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3072833A (en) * 1959-03-20 1963-01-08 Seeco Inc Apparatus for electronic programming of three channel machine tool automatic controltape
US3246125A (en) * 1960-03-21 1966-04-12 Warner Swasey Co Numerical control system for a machine tool
US3204132A (en) * 1962-02-07 1965-08-31 Bendix Corp Contouring system accelerationdeceleration control
US3418549A (en) * 1962-03-19 1968-12-24 Rohr Corp Combined numerical and torque control for a work and feed machine tool
US3443178A (en) * 1964-03-04 1969-05-06 Pratt & Whitney Inc Servo system
US3400314A (en) * 1965-05-27 1968-09-03 Gen Electric Numerical positioning control system
GB1189959A (en) * 1965-09-03 1970-04-29 Olivetti & Co Spa Improvements in Numerical Control Devices
DE1763654A1 (de) * 1967-07-12 1972-02-10 Houdaille Industries Inc Numerisches Steuersystem fuer Werkzeugmaschinen
US3573738A (en) * 1968-01-15 1971-04-06 Ibm Demand computer system for machine tool control
US3569814A (en) * 1969-01-17 1971-03-09 Ibm Programmed digital servo control including repeated command updating whereby output function becomes smoothly varying

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2825925A1 (de) * 1977-07-04 1979-01-11 Gfm Fertigungstechnik Numerische bahnsteuerung fuer eine werkzeugmaschine, insbesondere eine kurbelwellenfraesmaschine
DE2936251A1 (de) * 1978-10-04 1980-04-10 Gfm Fertigungstechnik Steuereinrichtung fuer eine maschine zum fraesen oder schleifen von kurbelwellen

Also Published As

Publication number Publication date
NL7107022A (de) 1971-11-24
FR2090234A1 (de) 1972-01-14
CA932842A (en) 1973-08-28
FR2090234B1 (de) 1976-12-03
GB1354606A (en) 1974-06-05
US3699317A (en) 1972-10-17
DE2124983A1 (de) 1971-12-02

Similar Documents

Publication Publication Date Title
DE2124983C2 (de) Numerische Bahnsteuerung für eine Werkzeugmaschine
DE2636148C2 (de) Verfahren zur Bahnsteuerung eines Elementes mittels linearer oder zirkularer Interpolation
DE2822346C2 (de) Elektrische numerische Programmsteuerung für Kurbelwellenfräsmaschinen und Kurbelwellen-Schleifmaschinen
DE2754945A1 (de) Digitalfunktionsdrehmelder fuer absolute winkelstellungen
DE3404127A1 (de) Steuerschaltung fuer einen schrittmotor
DE2744082A1 (de) Rechnergestuetzt numerisch gesteuerte gewindeschneidmaschine
DE2422102A1 (de) Numerische steuerung zur erzeugung einer parabolischen auskehlung
DE2757689C2 (de) Numerische Steuereinrichtung zur Steuerung einer Werkzeugmaschine
DE3026928A1 (de) Positionsregler mit rueckfuehrung fuer numerisch gesteuerte maschinen
DE112016007167B4 (de) Numerische Steuervorrichtung
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
EP0543034B1 (de) Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine und Werkzeugmaschine zur Ausübung des Verfahrens
DE2632151C3 (de) Positioniersteuerung
DE3243759A1 (de) Verfahren und einrichtung zur bildung von winkel und/oder winkelgeschwindigkeit eines stromrichtergespeisten antriebes
DE2643148C2 (de)
EP0184036B1 (de) Numerische Steuerung für Werkzeugmaschinen
DE2052503A1 (de) Verfahren und Vorrichtung zur Kompensation eines Fehlers in einem numerischen Steuerungssystem
DE2412375C2 (de) Elektrische Programmsteuerung für Kurbelwellenfräsmaschinen
DE19600882C1 (de) Verfahren zur dezentralen Steuerung eines Motorantriebs
DE2219705A1 (de) Numerische Werkzeugmaschinensteuerung
DE1965127C3 (de) System für numerisch gesteuerte Werkzeugmaschinen
DE2430104C3 (de) Numerisch arbeitende Programmsteuerung
DE1299918B (de) Lageregelungsverfahren und Vorrichtung zur numerischen Bahnsteuerung
DE2516132C2 (de) Elektrische Programmsteuerung für Kurbelwellenfräsmaschinen
DE1104590B (de) Anordnung zur numerischen Steuerung der gegenseitigen Verstellung von zwei zusammenwirkenden Elementen einer Werkzeugmaschine

Legal Events

Date Code Title Description
D2 Grant after examination
8363 Opposition against the patent
8365 Fully valid after opposition proceedings
8339 Ceased/non-payment of the annual fee