DE2124983C2 - Numerische Bahnsteuerung für eine Werkzeugmaschine - Google Patents
Numerische Bahnsteuerung für eine WerkzeugmaschineInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33088—Clock
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33098—Several nc machines, dnc, cnc
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33268—D-A, A-D
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34053—Counters, tellers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34132—Choosing largest, major coordinate axis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34153—Linear interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34156—Slope control, delta x, y proportional to x, y
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34179—Variable interpolation speed or resolution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35286—Run tape without machining, tape proving, dry run, test run
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35436—Means, manual input, input reference, hand wheel
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35481—Display, panel
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36366—Data, read in, distribution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36368—Tape reader
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37175—Normal encoder, disk for pulses, incremental
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41021—Variable gain
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41091—Alignment, zeroing, nulling, set parallel to axis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41241—Anti-coincidence, synchronizer
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41245—Discrimination of direction
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41363—Excess in error, error too large, follow up error
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41469—Servo loop with counter, see figure SE-fifteen
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43006—Acceleration, deceleration control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43009—Acceleration deceleration for each block of data, segment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43158—Feedrate override
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43183—Speed control, input is the reference, but no feedback
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49164—Corner, making corner
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50019—Zero, null offset
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50048—Jogging
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50083—Power loss, measures again loss of power
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50193—Safety in general
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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- i»
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-
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
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.
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)
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:
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)
| 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)
| 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)
| 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 |
-
1970
- 1970-05-22 US US39940A patent/US3699317A/en not_active Expired - Lifetime
-
1971
- 1971-04-22 CA CA111014A patent/CA932842A/en not_active Expired
- 1971-05-19 DE DE2124983A patent/DE2124983C2/de not_active Expired
- 1971-05-21 NL NL7107022A patent/NL7107022A/xx not_active Application Discontinuation
- 1971-05-24 FR FR7118644A patent/FR2090234B1/fr not_active Expired
- 1971-05-24 GB GB1660171A patent/GB1354606A/en not_active Expired
Cited By (2)
| 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 |