DE3026378C2 - Verfahren zum Einschneiden eines Gewindesteigungssegmentes in die zylindrische Oberfläche eines Werkstücks sowie numerisches Steuersystem zur Durchführung des Verfahrens - Google Patents
Verfahren zum Einschneiden eines Gewindesteigungssegmentes in die zylindrische Oberfläche eines Werkstücks sowie numerisches Steuersystem zur Durchführung des VerfahrensInfo
- Publication number
- DE3026378C2 DE3026378C2 DE19803026378 DE3026378A DE3026378C2 DE 3026378 C2 DE3026378 C2 DE 3026378C2 DE 19803026378 DE19803026378 DE 19803026378 DE 3026378 A DE3026378 A DE 3026378A DE 3026378 C2 DE3026378 C2 DE 3026378C2
- Authority
- DE
- Germany
- Prior art keywords
- signals
- axis
- segment
- workpiece
- slope
- 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—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/182—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by the machine tool function, e.g. thread cutting, cam making, tool direction control
- G05B19/186—Generation of screw- or gearlike surfaces
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
Die Erfindung bezieht sich auf ein Verfahren der Im Oberbegriff des Anspruchs 1 genannten Art sowie ein
2n numerisches Steuersystem zur Durchführung des Verfahrens.
Ein derartiges Verfahren 1st aus der DE-OS 27 44 082 bekannt. Bei diesem bekannten Verfahren hat das
Werkstück selbst keine Bezugslage, und es werden Gewindegänge in das Werkstück eingeschnitten, die an jeder
beliebigen Winkellage des Werkstücks anfangen und enden können. Durch eine entsprechende Programmierung
wird dafür Sorge getragen, daß die Gesamtheit der Gewindegänge in einer vorgegebenen axialen Höhe liegt. Bei
diesem bekannten Verfahren ist es nicht möglich, lediglich kurze Abschnitte eines Gewindeganges, d. h. Steigungssegmente,
In das Werkstück einzuschneiden, und es Ist weiterhin nicht möglich, aufeinanderfolgende Steigungssegmente
mit unterschiedlichen Steigungen und Anfangswinkelstellungen in das Werkstück einzuschneiden.
Der Erfindung Hegt die Aufgabe zugrunde, ein Verfahren und ein numerisches Steuersystem der eingangs
genannten Art zu schaffen, das die beliebige Ausbildung von Steigungssegmenten mit ausgewählten Startwinkelpositionen
und Steigungen ermöglicht.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruchs 1 bzw. 12 angegebenen Merkmale
gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
Das erfindungsgemäße Verfahren bzw. das Steuersystem ermöglicht es, Gewindesteigungssegmente mit vorgegebenen und vorher auswählbaren Start-Wlnkelstellungen, Steigungsverhältnissen und Winkelabmessungen In einem Werkstück auszubilden, wobei die Bearbeitung durch Ausführung von speziellen Steigungssegment-Datenblöcken erfolgt, die in einem Teilprogramm enthalten sind und die bewirken, daß das numerische Steuersystem in einer Betriebsart arbeitet, die von den bekannten Betriebsarten von Drehmaschinen für den Vorschub, die Positionierung, die lineare Interpolation, die kreisförmige Interpolation oder das Gewindescheiden abweicht.
Das erfindungsgemäße Verfahren bzw. das Steuersystem ermöglicht es, Gewindesteigungssegmente mit vorgegebenen und vorher auswählbaren Start-Wlnkelstellungen, Steigungsverhältnissen und Winkelabmessungen In einem Werkstück auszubilden, wobei die Bearbeitung durch Ausführung von speziellen Steigungssegment-Datenblöcken erfolgt, die in einem Teilprogramm enthalten sind und die bewirken, daß das numerische Steuersystem in einer Betriebsart arbeitet, die von den bekannten Betriebsarten von Drehmaschinen für den Vorschub, die Positionierung, die lineare Interpolation, die kreisförmige Interpolation oder das Gewindescheiden abweicht.
Bei dem erfindungsgemäßen Verfahren bzw. dem numerischen Steuersystem ist es möglich, in ein Werkstück
eine Anzahl von Steigungssegmenten einzuschneiden, die jeweils an einer auswählbaren Start-Wlnkelstellung
Innerhalb des gesamten Winkelbereichs von 360° beginnen und sich über einen Umfang von weniger als 360°
erstrecken, so daß beispielsweise eine Nut nach Art eines unterbrochenen Gewindes in einfacher Welse in
einem Werkstück ausgebildet werden kann.
Es ist weiterhin möglich, Steigungssegmente auszubilden, die zwischen Steigungssegmenten ohne eine Steigung
eingefügt sind, wobei die sich auf diese Welse ergebenden Nuten mit Vorteil für Kabeltrommeln oder
dergleichen anwendbar sind.
5n Weiterhin ist es in vorteilhafter Weise leicht möglich, aufeinanderfolgende kurze Steigungssegmente in ein
Werkstück einzuschneiden, wobei die aufeinanderfolgenden verschiedenen Start-Winkelstellungen, Steigungen,
Richtungen der Steigungen und Erstreckungswinkel der Steigungssegmente vollständig durch ein Teilpgrogramm
vorbestimmt sind, so daß eine Vielzahl von nützlichen und wünschenswerten Formen auf der Oberfläche
eines zylindrischen Werkstückes ausgebildet werden kann. Beispiele für eine derartige Oberflächenbearbeitung
sind das Einarbeiten von Ölnuten in zylindrische Lager cder in spezieller Weise geformte Schlitze in zylindrischen
Nocken.
Ausführungsbeispiele der Erfindung werden im folgenden anhand der Zeichnungen noch näher erläutert.
In der Zeichnung zeigt
In der Zeichnung zeigt
Fig. 1 eine verallgemeinerte schematische Darstellung einer Ausführungsform des numerischen Steuerwi
systems für die Steuerung einer als Beispiel dienenden Drehmaschine,
F i g. 2 ein schematisches Blockschaltbild einer Ausführungsform einer numerischen Steuer-, Interpolationsoder Direktoreinrichtung zur Durchführung des Verfahrens, wobei dieser Interpolator allgemeiner in Fig. 1
dargestellt ist,
F i g. 3 eine Blockdarstellung bestimmter Signalspeicherregister oder adressierbarer Wortplätze in einem Speleher
für den Interpolator nach Flg. 2,
Flg. 4 ein Ablaufdiagramm, das einen Teil des Haupt-Befehlsprogramms zeigt, das in dem Speicher nach den
Flg. 2 und 3 enthalten ist und das den numerischen Steuer-Interpolator in einen derartigen Zustand versetzt,
daß er die erfindungsgemäße Gewindesteigungssegment-Bearbeitung ausführt,
Flg. 5 ein Ablaufdiagramm, das einen anderen Teil des Haupt-Befehlsprogramms zeigt, das In dem Speicher
des numerischen Steuer-Interpolators nach den Flg. 2 und 3 enthalten Ist, um Operationen entsprechend einzelner
Merkmale der Erfindung auszuführen,
Flg. 6 und 7 Ablaufdiagramme, die Teile des Haupt- oder Ausführungsprogramms zeigen, das in dem Speicher
nach den Flg. 2 und 3 enthalten Ist und die Ausführung von Operationen gemäß der Erfindung bewirkt,
wobei diese Teile vereinfachte Versionen eines abschließenden Servosteuersystems darstellen, das ausführlicher
In der US-Patentschrift 40 41 287 beschrieben Ist,
Fig. 8 eine Draufsicht auf ein ein Beispiel bildendes Werkstück, das so bearbeitet wird, daß Seiltrommelnuten
gebildet werden, wie sie In der US-Patentschrift 26 20 996 beschrieben sind,
Flg. 8 A eine abgewickelte Oberflächenansicht des Werkstücks nach Flg. 8,
Flg. 9 und 9 A eine Draufsicht bzw. eine Abwicklung eines typischen nach dem erfindungsgemäßen Verfahren
bearbeiteten Werkstückes unter Verwendung des erfindungsgemäßen Steuersystems,' wobei das Werkstück
In diesem Fall eine zylindrische Lagerung mit einer Ölnut in der Innenoberfläche 1st,
Fig. 10 eine Abwicklung der Oberfläche eines zylindrischen Werkstückes, in der eine Nut maschinell eingearbeitet
Ist, die eine Winkelerstreckung von weniger als 360° aufweist und aus miteinander verbundenen Gewindesteigungssegmenten
mit unterschiedlichen Steigungsverhäitnissen besteht.
Flg. 11 eine Abwicklung der Oberfläche eines weiteren zylindrischen Werkstückes, in das ein weiteres
Beispiel einer Nut eingearbeitet wurde, die mit Hilfe einer speziellen, jedoch typischen Folge von Teilprogramm-Gewindesteigungssegment-Datenblöcken
hergestellt wurde,
Flg. 12 eine der Flg. 11 ähnliche Ansicht, die jedoch die Abwicklung eines Werkstückes zeigt, in das eine
andere spezielle Nut eingearbeitet wurde, die mit Hilfe einer anderen typischen Folge von Steigungssegment-Teilprogrammblöcken
hergestellt wurde,
Fig. 13 eine Abwicklung der Oberfläche eines zylindrischen Werkstücks, das miteinander verbundene Gewindesteigungssegmente
und Segmente mit einer Steigung von Null aufweist, die bei der Ausführung eines typischen
Tellpgrogramms gebildet wurden.
Um das Verständnis der Im folgenden beschriebenen Ausführungsformen zu erleichtern, wird Im folgenden I
kurz eine Übersicht über die grundlegende Organisation und Betriebsweise eines typischen numerischen Konturierungssystems
anhand einer Drehmaschine gegeben, bevor ausführlich auf die Ausführungsformen und ihre
vorteilhafte Betriebsweise eingegangen wird.
30 A. Ein Beispiel einer Werkzeugmaschine
Zur Erläutei jng einer Anwendung, für die die vorliegende Erfindung vorteilhaft ist, wird hler die Steuerung
der Bewegung beschrieben, die ein gesteuertes Bauteil oder ein Schneidwerkzeug gegenüber einem in Drehung
angetriebenen Werkstück In einer Drehmaschine ausgeführt. Die vertikale Revolver-Drehmaschine 10 nach
Fig. 1 ist typisch für eine Vielzahl von verschiedenen Arten von Drehmaschinen, die in Abhängigkeit von
aufeinanderfolgenden Blöcken von Teil-Programmdaten gesteuert werden können. Die dargestellte vertikale
Revolver-Drehmaschine schließt einen Werkstücktisch 11 ein, der um eine vertikale Achse 12 drehbar ist und
ein koaxial befestigtes Werkstück 13 mit einer Drehoberfläche (zylindrisch oder bogenförmig, bei Betrachtung r,
als Schnitt unter rechten Winkeln zur Achse) halten. Derartige Werkstücke werden hier allgemein als »zylin- 40 I
drisch« bezeichnet, obwohl sie sich in Axialrichtung verjüngen können, um die Form eines Kegels oder der J
Spitze eines Geschosses aufzuweisen. Ein Schneidwerkzeug 14 1st in einem Werkzeugstößel 15 befestigt und |
zusammen mit diesem In Vertikalrichtung beweglich, wobei der Werkzeugstößel 15 in vertikalen (nicht gezeig- f
ten) Führungen auf einem Schlitten 16 verschiebbar ist, der seinerseits in Horizontalrichtung entlang der *■
Führungsbahnen einer Schiene 17 verschiebbar 1st, die an entgegengesetzten Enden durch mit Abstand angeordnete
vertikale Säulen 18 und 19 gehaltert ist. Das Schneidwerkzeug 14 kann daher entlang der vertikalen Z-Achse
und entlang der horizontalen J-Achse gegenüber dem Werkstück 13 bewegt werden, während dieses um
die Drehachse 12 in Drehung versetzt wird. Es 1st jedoch verständlich, daß lediglich die Relativbewegung des
Schneidwerkzeuges 14 und des Werkstückes 13 wesentlich ist; die Drehbearbeitung zur Formung des Werkstückes
13 kann genauso gut dadurch ausgeführt werden, daß das Werkstück stationär gehalten wird, während
das Schneidwerkzeug 14 um die Achse 12 in Drehung versetzt wird, und es ist in gleicher Welse möglich, das |
Schneidwerkzeug Ϊ4 stationär zu haken, während das Werkstück 13 seihst entlang der X- oder Z-Achse bewegt -
wird. Aus Zweckmäßigkeitsgründen wird die Drehstellung und die Bewegung des Werkstückes 13 gegenüber m,
dem Schneidwerkzeug 14 als 0-Achse bezeichnet, well die Winkelstellung und die Winkelgeschwindigkeit des i
Werkstückes als Signal übertragen oder gesteuert werden, wie dies weiter unten erläutert wird. Es ist in der
Werkzeugmaschinenindustrie allgemein üblich, die Drehachse als die »5-Achse« zu bezeichnen, doch wird das
Symbol θ hier verwendet, um eine Verwechslung mit dem Buchstaben B zu vermeiden, der als allgemeine
Bezeichnung für »Puffer« in der folgenden Beschreibung verwendet wird. Das Symbol θ wird daher in dieser
Beschreibung zur Bezeichnung (in Grad oder anderen Einheiten) der Winkelposition einer gedachten Bezugsmarkierung 13o an dem Werkstück gegenüber der Richtung eines Radius verwendet, der sich von der Achse 12 so
zur Schneidkante des Schneidwerkzeuges 14 erstreckt. Wenn die Bezugsmarkierung 13a mit einer Bezugsmarkierung
11a auf dem Werkstücktisch 11 ausgerichtet ist (wie dies dargestellt 1st), so stellt die Angabe der
Winkelstellung des Werkstücktisches gleichzeitig die Winkelstellung des Werkstückes selbst dar. >
Durch geeignete Bemessung der X- und Z-Achsen-Komponenten der Befehlsbewegung und -geschwindigkeit
kann eine Bewegung des Schneidwerkzeuges 14 gegenüber dem Werkstück entlang einer Bewegungsbahn und 65 |
In einer Tiefe hervorgerufen werden, die erforderlich ist, damit eine gewünschte Kontur in das Werkstück
eingeschnitten wird. Um diese gewünschte Relativbewegung zwischen dem Werkstück 13 und dem Schneidwerkzeug
14 entlang der horizontalen Z-Achse hervorzurufen, schließt der Schlitten 16 eine (nicht gezeigte)
Mutter ein, die mit einer Leitspindel 20 In Eingriff steht, die auf der Führungsschiene 17 gehaltert Ist und über
geeignete (nicht gezeigte) Getriebe von einem In seiner Drehrichtung umkehrbaren Servomotor MX angetrieben
wird. Wenn dieser Servomotor In der einen oder anderen Richtung unter unterschiedlichen Geschwindigkeiten
™ In Drehung versetzt wird, wird der Schlitten 16 in Horizontalrichtung in einer +X- oder -X-Rlchtung und mit
Geschwindigkeiten bewegt, die durch die Drehzahl des Motors bestimmt sind. In entsprechender Welse trägt
der Werkzeugstößel 15 eine (nicht gezeigte) Mutter, die mit einer Leitspindel 24 In Eingriff steht, die vertikal
In dem Schlitten 16 angeordnet 1st und von einem in seiner Drehrichtung umkehrbaren Servomotor MZ
angetrieben wird, so daß eine Ansteuerung dieses Motors In der einen oder anderen Richtung das Schneidwerkzeug
14 In den +Z- oder -Z-Rlchtungen bewegt. Schließlich ist der Werkstücktisch 11 drehbar auf einem statlonären
Baistell 25 gelagert und mit einem Ringzahnrad versehen, das über ein Ritzel 26 von einem eine änderbare
Drehzahl aufweisenden und In seiner Drehrichtung umkehrbaren Motor ΜΘ angetrieben wird, so daß der
Werkstücktisch In der einen oder anderen Richtung (Im Uhrzeigersinn oder Im Gegenuhrzeigersinn) und mit
der gewünschten Geschwindigkeit angetrieben werden kann.
Die Motoren MX, MZ und ΜΘ bilden die abschließenden Lelstungselementc der A-, Z- und O-Servosysteme.
Die Motoren MX, MZ und ΜΘ bilden die abschließenden Lelstungselementc der A-, Z- und O-Servosysteme.
Diese Motoren werden mit jeweiligen Spannungen Vx, Vz, Ve gespeist, die von jeweiligen Leistungsverstärkern
30, 31, 32 geliefert werden. Der letztere Verstärker 1st ein algebraischer Summlerverstärker, der sein primäres
Eingangssignal Vd' von einem Verstärker 33 und ein Geschwlndigkeits-Rückführungsslgnal von einem Tachometer
34 empfängt, der von dem Werkstücktisch 11 und in zeltlich festgelegter Beziehung mit diesem angetrieben
wird. Allgemein gesprochen, arbeiten die drei Motoren MX, MZ und MQ mit Geschwindigkeiten und Rich-
2(1 tungen, die proportional zu den Größen und Polaritäten der Ihnen zugeführten Ansteuer-Glelchspannungen Vx
V1 und V6 sind. Wie dies noch zu erkennen ist, wird die Geschwindigkeit oder Drehzahl des Werkstücktisches 1Ϊ ||
durch eine Geschwlndlgkelts-Servowlrkung gesteuert, während die Bewegungen entlang der A"- und Z-Achsen
durch eine Posltions-Servowirkung, jedoch mit genauen Geschwindigkeiten gesteuert werden.
Um ein Signal für die tatsächlichen Positionen des Schneidwerkzeuges 14 entlang der X- :ind Z-Achsen zu |
Um ein Signal für die tatsächlichen Positionen des Schneidwerkzeuges 14 entlang der X- :ind Z-Achsen zu |
liefern, kann irgendein geeignetes Postlons-Rückführungselement verwendet werden. Als Beispiel sind hler
Resolver RX und RZ gezeigt, die mechanisch mit den Leitspindeln 20 und 24 gekoppelt sind, doch können avcii
die gut bekannten rotierenden oder lineraren Rückführungselemente vom Inductosyn-Typ verwendet werden.
Die Resolver RX und RZ liefern ihre Signale an übliche Analog'/Digital-Konverter, die hier als J-Dlgltalislerer
35 und Z-Dlgitallslerer, 36 dargestellt sind. Diese Digitalisierer liefern kontinuierlich Signale an Mehrleiter-Ausgangsieltungen
In digitaler binärer oder BCD-Schrelbwelse, wobei die numerischen Werte XAP und ZAP die
momentane »tatsächliche Ä"-AchsenposlUon« bzw. die »tatsächliche Z-Achsenposition« darstellen. Die Verwendung
dieser Signale wird aus der folgenden Beschreibung erkennbar.
In gleicher Welse wird die Winkelposition des Werkstücktisches 11 und des Werkstücktisches 13 kontinuierlich
durch ein Signal In Digitalformat mit Hilfe irgendwelcher geeigneter Einrichtungen dargesteiit. Obwohl
entweder ein rotierendes Inductosyn-Bautell oder in Impulsgenerator, die in zeitlicher Beziehung zur Drehung
des Werkstücktisches angetrieben werden und einen Vorwärts-Rückwärts-Zähler ansteuern, für diesen Zweck
verwendet werden, zeigt das Beispiel nach Flg. 1 einen Resolver Rd, der mit der herabhängenden Spindel des
Werkstücktisches 11 gekoppelt 1st. Das Ausgangssignal von dem Resolver RQ durchläuft damit eine volle
Perlode für jede Drehung des Werkstücktisches 11, und dieses Signal wird einem Analog-/Dlgltal-Konverter
zugeführt, der hler als 0-Achsen-DigitallsIerer 38 dargestellt 1st. Zu Erläuterungszwecken sei angenommen, daß
der Digitalislerer 33 derart ausgebildet 1st, daß sein Ausgangssignal QAP die Zifferndarstellung von 0 bis 3999
durchläuft, wenn sich der Werkstücktisch 11 von einer Null-Bezugsposition aus über 359,91° bewegt. Das digital
übertragene Ausgangssignal OAP wandelt daher den Erstreckungsbereich einer Umdrehung oder 360° in 4000
Teile oder Teilungen um, wobei jede Teilung 360/4000° entspricht. Die Maßstabseinheiten des jeweiligen
Postionssignals ΘΑΡ werden im folgenden als »Teilungen« bezeichnet. Bei diesem Beispiel weisen die Signale
QAP bei jeweiligen Winkelstellungen des Werkstücktisches 11 und des Werkstückes 13 von 0°, 90°, 180° oder
270° Werte von 0, 1000, 2000 bzw. 3000 auf. Es ist selbstverständlich, daß auch andere Dlgitallsier-Anordnungen
mit unterschiedlichen Teilungen oder Maßstabsfaktoren verwendet werden können, um kontinuierlich und
in Digitalformat die tatsächliche Winkelstellung des Werkstücktisches und des Werkstückes durch die Signale
ΘΑΡ darzustellen.
B. Ein Beispiel für ein numerisches Steuersystem
Aus Gründen der Vollständigkeit wird hier ausdrücklich auf die Beschreibung und die Zeichnungen der US-Patentschriften
36 56 124 (Literaturstelle A), 37 27191 (Literaturstelle B), 40 41287 (Literaturstelle C) und
37 98 427 (Literaturstelle D) verwiesen. Auf diese Welse 1st es nicht erforderlich, umfangreiche Einzelheiten zu
erläutern, und es wird im folgenden angenommen, daß numerische Steuersysteme gemäß den vorstehend
genannten Literaturstellen dem Leser geläufig sind.
Unter erneuter Bezugnahme auf Flg. 1 ist zu erkennen, daß ein numerischer Interpolator oder Umsetzer 40
61) aufeinanderfolgende Blöcke von Eingangsdaten empfängt, die ein »Teilprogramm« bilden, das eine gewünschte
Bewegungsbahn definiert, über die sich das Schneidwerkzeug 14 gegenüber dem Werkstück 13 bewegen soll,
um dieses zu bearbeiten und zu formen. Jeder Block von Teilprogrammdaten definiert ein Segement dieser
Bewegungsbahn und die Segmente (die in einem üblichen System linerare Bewegungen oder kreisförmige Bögen
sein können) werden aufeinanderfolgend ausgeführt, während das System auf aufeinanderfolgende Blöcke
anspricht. Obwohl die Blöcke von Eingangssignalen aufelanderfolgend von einem Lochstreifenleser 41 in gut
bekannter Weise durch intermittierendes Starten und Stoppen des Lochstreifenlesers 4! zugeführt werden
können (wie dies in der Literaturstelle A und der Literaturstelle B beschrieben 1st), ist es zweckmäßiger und
vorzuziehen, alle Blöcke eines gesamten Teilprogramms von einem Lochstrelfen über den Lochstreifenleser 41
In den Teilprogramm-Abschnitt eines Speichers elnzulesen, der In dem Interpolator 40 angeordent 1st. Alternativ
kann eine manuelle Dateneingabeeinheit 42 mit einer (nicht gezeigten) Tastatur dazu verwendet werden,
Blöcke von Teilprogrammdaten In den Programmabschnitten des Speichers in dem Interpolator oder Direktor 40
einzugeben. Wie dies bekannt und allgemein üblich 1st, kann der numerische Steuer-Interpolator dann aus
seinem Teilprogrammabschnitt des Speichers jeden aufeinanderfolgenden Block von Teilprogramm-Befehlsdaten
entnehmen, wenn dieser Block von Informationen benötigt wird. Wenn ein vorgegebener Teilprogrammblock
von Daten im Tellprogramm-Spelcherabschnltt des Rechnerspeichers entnommen wird, wird er zunächst In
einen Pufferspeicherabschnitt überführt. Die Teilprogrammdaten können vorverarbeitet werden, um bestimmte
Umwandlungen durchzuführen, und sie werden dann von dem Pufferspeicherabschnitt in den sogenannten
Speicherabschnitt für den »aktiven Block« überführt. Die Signale des aktiven Blockes, der Im dem aktiven Teil
des Speichers enthalten 1st, werden in dem Interpolationsvorgang verwendet, um die abschließenden Geschwindlgkeltsbefehlsslgnale
XVC, ZVC und QVC zu erzeugen, die digital und numerisch die befohlenen Geschwindigkeiten
darstellen, mit denen dann Bewegungen entlang der X-, Z- und Θ-Achsen erfolgen sollen. Diese letzteren
Signale, XVC, ZVC und QVC werden Digital-/Analog-Konvertem 45, 46, 47 zugeführt, die ihrerseits Glelchspannungs-Elngangsspannungen
mit entsprechenden Vorzeichen und entsprechender Größe an die Eingänge der Endverstärker 30, 31, 33 liefern.
Der in Fig. 1 gezeigte Interpolator oder Direktor 40 unterscheidet sich von dem Interpolator nach den Literaturstellen
A und B dadurch, daß er die Verbesserungen gemäß der vorliegenden Erfindung einschließt, die
weiter unten ausführlicher erläutert werden. Zunächst sei jedoch angenommen, daß die endgültigen Interpolator-Ausgangsslgnale
XVC und ZVC in Ihrer Art und in ihrem Zweck den Signalen XVC und YVC der Literaturstelle
C entsprechen. Während die Literaturstellen A, B und C Bewegungen entlang zweier zueinander
senkrechter Achsen, die mit X und Y bezeichnet sind, behandeln, bezeichnet die vorliegende Beschreibung diese
X-Achse als Z-Achse, und zwar lediglich deshalb, um eine Übereinstimmung mit industrieller Nomenklatur zu
erzle'en. Es sei darauf hingewiesen, daß bei einer Bezugnahme auf die Literaturstellen A, B, C und D alle darin
enthaltenen Bezugnahmen auf die /-Achse In der vorliegenden Beschreibung als auf die Z-Achse bezogen
betrachtet werden sollen.
Es sei weiterhin vorab bemerkt, daß die getrennten Digitalisierer 35, 36 und 38 nach Flg. 1 nicht tatsächlich
verwendet werden müssen. Eine bevorzugte Anordnung besteht vielmehr darin, die Signale von den Resolvern
RX, RZ und R6 über Abtast-Analog'/Dlgltal-Konverter dem Interpolator 40 zuzuführen und die Analog-/Digltal-Wandlung
durch aufeinanderfolgende Rechnungsfolgen In dem Interpolator durchzuführen. Eine derartige
Umwandlung von Resolver- oder Inductosyn-Slgnalen In Dlgltalformat In einem Rechner 1st an sich gut
bekannt. Die getrennten Digitalisierer 35, 36 und 38 sind lediglich aus Vereinfachungsgründen zur Erleichterung
des Verständnisses des Systems insgesamt dargestellt.
Unter Bezugnahme auf die vorstehenden Ausführungen soll nunmehr der Aufbau des numerischen Steuer-Interpolators
anhand eines speziellen Ausführungsbeispiels nach den F i g. 2 und 3 betrachtet werden. Obwohl
der Interpolator 40 als Analogrechner aufgebaut sein kann, der Gleichspannungen zur Anzeige von Signalwerten
(und Abtast- und Halteschaltungen als Speicher) verwendet, oder als durch Festverdrahtung programmierter
Rechner (wie dies speziell In den Literaturstellen A und B beschrieben ist), zeigen die Ausführungsbeispiele
nach den FI g. 2 und 3 einen Interpolator In Form eines digitalen Minirechners, der mit einem Haupt-Befehlsprogramm geladen ist. Die Internen Einzelheiten derartiger Rechner sind an sich für den Fachmann gut
bekannt, und es kann einer einer großen Vielzahl von derzeit auf dem Markt erhältlichen Rechnern In Verbindung
mit einem geeigneten Speicher ausgewählt werden.
Der Rechner, der den Interpolator 40 nach Fig. 1 bildet, schließt allgemein einen Taktoszillator 50 (Fig. 2)
ein, der Impulse mit relativ hoher und konstanter Frequenz einem Zeitsteuersignal-Teller 51 zuführt, der seinerseits
geeignete Zeitsteuersignale an die anderen Rechnerbauteile (unter Einschluß eines Programmzählers 60)
liefert, so daß die elementaren Schritte der Entnahme von Signalen aus dem Speicher, der Durchführung arithmetischer
Operationen und der Speicherung der Ergebnisse an geeigneten Speicheradressenplätzen In schneller
Folge entsprechend einem gespeicherten Haupt-Befehlsprogramm ausgeführt werden. Zu diesem Zweck schließt
der Interpolator oder Rechner 40 eine arithmetisch-logische Einheit (ALU) 52 ein, die von einer Eingangsleitung
52a von einem arithmetischen Eingangsregister (AIR) 53 gespeist wird. Ein Akkumulator 54 empfängt die
Ausgangs- oder »Antwort«-Signale von der ALU und überträgt sie über eine Ausgangsleitung 55, die unter
.bestimmten Umständen einen Operanden an eine zweite F.ingangssamme-lle-itung 52b für die ALU 52 zurückführt.
Das Ergebnis jeder arithmetischen (beispielsweise Addition, Subtraktion, Multiplikation, Division), logischen
oder Vergleichsoperation mit den beiden bei 52a und 52b zugeführten Operanden erscheint dann in dem
Akkumulator (wobei sein vorhergehender Inhalt ersetzt wird) und dieses Ergebnis wird hier als ANS (als Abkürzung
für Antwort) bezeichnet.
Die Vielfachleitungen oder Verbindungsleitungen nach F i g. 2 sind Mehrleiterkabel, die Mehr-Bit-Signale
führen, die in binärem oder BCD-Format numerische Werte von Variablen darstellen, die sich als Ergebnis von
Eingängen von dem Systemspeicher 56 oder von Berechnungen ändern, die von der ALU 52 durchgeführt
werden.
Zur Erleichterung der Beschreibung kann der Systemspeicher In Form von mehreren unterschiedlichen Teilen
oder Abschnitten betrachtet werden, die adressierbare Register oder Wortplätze umfassen, um verschiedene
Arten von Digitalwortsignalen zu speichern. Insbesondere und wie in Fig. 2 gezeigt, enthält ein erster Speicherabschnitt
56a Befehlsworte, die das Haupt- oder Ausführungsprogramm des Systems bilden. Ein zweiter Speicherabschnitt
566 speichert eine Anzahl von Blöcken von Teil-Programmdaten, die zusammen ein gesamtes
Teil-Programm bilden. Ein Pufferspeicherabschnitt 56c enthält die Signale, die durch Übertragung eines Blockes
von Teil-Programmdaten von dem Speicherabschnitt 566 gebildet werden, während ein aktiver Block-Spelcherabschnitt
56rf die Datenworte und Signale enthält, die den vorhergehenden Block von Teil-Programmdaten
bilden oder von diesem abgeleitet sind. Zur Erzeugung der endgültigen Ausgangssignale, die den Digltal-/Analog-Konvertern
na^.h Fig. 1 zugeführt werden, enthält ein weiterer Speicherabschnitt 56e Worte, die den
Worten entsprecher., die bereits in der Literaturstelle C beschrieben wurden. Der letzte Speicherabschnitt 56/
enthält adressleröare Speicherplätze für verschiedene Worte oder Kennzeichen (Flaggen), die im Verlauf der
Operation gelesen oder geschrieben werden können.
Der Lochstreifenleser 41 und das manuelle Dateneängabefeld 42 sind mit dem Rechner in dem Interpolator
40 Ober eine Eingangs-/Ausgangs-Schnittstelle 58 gekoppelt, die Signale an den Systemspeicher 56 sendet und
von diesem empfangt. Genauer gesagt, werden, wenn die Blöcke eines gesamten Teil-Programms mit Hilfe des
Lochstreifenlesers 41 von dem Lochstreifen gelesen werfen, die resultierenden Datensignale als lesbare Speicherworte
behandelt, in den Rechner aufgenommen und in dem Teil-Programmspeicherabschnitt 566 wieder
eingespeichert. Weiterhin sind, um einer Bedienungsperson die Werte verschiedener Variablen in dem Systemspeicher
56 darzustellen, bestimmte Worte als Festwertspeicherplätze zu behandeln, deren Inhalte über die
Eingangs-/Ausgangs-Schnittstelle 58 an eine optische numerische Anzeigeeinheit 59 überführt werfen können.
Weil die Organisation und die Betriebswelse des Rechners nach Fig. 2 bekannt ist, dürfte es ausreichend sein,
Weil die Organisation und die Betriebswelse des Rechners nach Fig. 2 bekannt ist, dürfte es ausreichend sein,
'S kurz zu bemerken, daß die Weiterschaltung eines Programmzählers 60 auf eine Adressenzahl bewirkt, daß die
Selektor-Torsteuerung 61 den Programnizahlerinhalt als Adressensignale an eine Adressensammelschlene 62
anlegt, so daß der Speicher 56 in einen Zustand gebracht wird, in dem er ein an dieser Adresse gespeichertes
Befehlswort ausliest. Die Signale erscheinen an einer Lese-Sammelschiene 64 und werden in ein Befehlsregister
65 überführt. Ein Befehlswort besteht aus zwei Teilen, nämlich einem Operationscode und einer Datenadresse.
Somit führt ein In dem Register 65 enthaltenes Befehlswort dazu, daß geeignete Signale einem Operationsdecoder
und einem Mikroprogramm-Festwertspeicher {ROM) 69 zugeführt werden, der dann geeignete, die Betriebsweise
steuernde Signale an verschiedene Teile des Rechners liefert. Der Datenadressenteil eines Befehlswortes in
dem Register 65 wird über die Selektor-Torsteuerung 61 der Adressensammelschiene 62 zugeführt, um den
Adressenwortplatz zu bezeichnen, in den Signale eingeschrieben werfen snllen oder aus dem Signale ausgelesen
werden sollen. Der Decoder 69 liefert in richtiger Weise ein Signal entweder an eine Leitung 70 oder eine
Leitung 71, um das Auslesen oder Einschreiben von Daten aus dem oder in den Systemspeicher an dem Adressenplatz
freizugeben, der dann an der Sammelschiene 62 signalisiert wird. Wenn Daten In den Speicher eingeschrieben
werfen sollen, erscheinen sie an der Sammelschiene 55, die den Ausgang des Akkumulators 54
bildet.
Der Operationsdecoder 69 liefert die Operation oder Funktion bezeichnende Signale an die ALU, so daß die
letztere entweder addiert, subtrahiert, komplementiert, vergleicht oder verschiedene andere Funktionen durchführt,
die bekannt sind. Es sei hier zur Erleichterung der Diskussion angenommen, daß die ALU einen Addierbefehl
empfängt, wenn keine weiteren Hinweise gegeben werfen.
Sobald ein Befehl von dem Befehlsabschnitt 56a des Speichers zu dem Register 65 überführt wird, bewirkt die
Sobald ein Befehl von dem Befehlsabschnitt 56a des Speichers zu dem Register 65 überführt wird, bewirkt die
•55 Adresse in diesem Befehl das Auslesen der numerischen Daten oder Operanden, die in diesem Speicherplatz
enthalten sind, auf die Sammelschiene 64. Die Operandensignale werfen dem Eingang des arithmetischen
Eingangsregisters (AIR) 53 zugeführt, daß diese Signale seinerseits dem Eingang 52a der ALU zuführt. Dies
heißt mit anderen Worten, daß ein in das Register 65 eingebrachtes Befehlswort normalerweise die »Entnahme«
eines Operanden von der gewünschten Adresse in dem Systemspeicher und die Zuführung dieses Operanden
über das arithmetische Eingangsregister 53 an einen Eingang der ALU bewirkt. Der auf diese Welse bei 52a der
Al'.' ..geführte Eingang wird als ein erster Operand behandelt, der auf einen zweiten Operanden ANS einwirkt,
der dem zweiten Eingang 526 der ALU zugeführt wirf, um eine Addition, Subtraktion oder verschiedene andere
Operationen durchzuführen. Am Ende einer arthmettschen oder logischen Folge erscheint das Ergebnis oder die
Antwort in dem Akkumulator 54 als die neue Antwort ANS und wird über die Verbindungsleitung 55 zum
Einschreiben in einen geeigneten Speicherplatz oder ein Register des Systemspeichers 56 weitergeleitet. Die
Adresse, an der diese Signale eingeschrieben werfen, wird durch ein weiteres Befehlswort bestimmt, das dem
Befehlsregister 65 zusammen mit einem »Schreibeakkumulatorausgang In den Spelcher«-Operatlonscode zugeführt
wird.
In manchen Fällen kann es wünschenswert sein, Unterbrechungen oder Sprünge zu erzeugen, die bedingen, daß die Befehlsworte in dem Speicherabschnitt 56a anders als In einer geradlinigen aufeinanderfolgenden Reihe ausgeführt werfen. Zu diesem Zweck kann eine Vorelnstell-Steuerung 78 durch den Operationsdecoder 69 In einen derartigen Zustand gebracht werfen, daß die an der Akkumulator-Ausgangssammelschlene 55 erscheinenden numerischen Signale dem Programmzähler 60 zugeführt werfen, um den letzteren auf Irgendeine festgelegte Adressenzahl voreinzustellen. Bei Fehlen einer derartigen Voreinstellung zählt der Programmzähler schritt weise als Folge der aufeinanderfolgenden Impulse, die von dem Zeitsteuerslgnal-Teller 51 empfangen werfen. Daher werfen normalerweise die Worte des Haupt-Befehlsprogramms aufeinanderfolgend von Ihren Adressenplätzen entnommen, wenn der Programmzähler 60 weitergeschaltet wird, doch kann der Programmzähler auf bestimmte Zählzustände über die Vorelnstell-Steuerung 78 voreingestellt werfen, um Unterbrechungen oder Sprünge durchzuführen. Die vorstehend beschriebene Betriebswelse und die erforderlichen Teile sind dem Fach-Mi mann auf dem Gebiet von Digitalrechnern gut bekannt. Die Beschreibung wurde hler lediglich als einführender Hintergrund für die Erfindung erläutert, die im folgenden beschriebenen wird.
In manchen Fällen kann es wünschenswert sein, Unterbrechungen oder Sprünge zu erzeugen, die bedingen, daß die Befehlsworte in dem Speicherabschnitt 56a anders als In einer geradlinigen aufeinanderfolgenden Reihe ausgeführt werfen. Zu diesem Zweck kann eine Vorelnstell-Steuerung 78 durch den Operationsdecoder 69 In einen derartigen Zustand gebracht werfen, daß die an der Akkumulator-Ausgangssammelschlene 55 erscheinenden numerischen Signale dem Programmzähler 60 zugeführt werfen, um den letzteren auf Irgendeine festgelegte Adressenzahl voreinzustellen. Bei Fehlen einer derartigen Voreinstellung zählt der Programmzähler schritt weise als Folge der aufeinanderfolgenden Impulse, die von dem Zeitsteuerslgnal-Teller 51 empfangen werfen. Daher werfen normalerweise die Worte des Haupt-Befehlsprogramms aufeinanderfolgend von Ihren Adressenplätzen entnommen, wenn der Programmzähler 60 weitergeschaltet wird, doch kann der Programmzähler auf bestimmte Zählzustände über die Vorelnstell-Steuerung 78 voreingestellt werfen, um Unterbrechungen oder Sprünge durchzuführen. Die vorstehend beschriebene Betriebswelse und die erforderlichen Teile sind dem Fach-Mi mann auf dem Gebiet von Digitalrechnern gut bekannt. Die Beschreibung wurde hler lediglich als einführender Hintergrund für die Erfindung erläutert, die im folgenden beschriebenen wird.
Flg. 3 stellt eine auseinandergezogene schematische Darstellung des Rechner-Systemspeichers 56 dar, wobei
die jeweiligen Speicherregister oder Adressenplätze mit Akronym-Bezeichnungen versehen wurden, um klarzumachen,
wie bestimmte Signale erzeugt und verwendet werfen. Jedes Speicherregister oder jeder adressierbare
Speicherplatz stellt damit eine Einrichtung zur Erzeugung eines vorgegebenen Satzes von Signalen dar, die In
Ihrem Wert durch programmierte Berechnungen oder Überführungsvorgänge geändert werfen können, die von
der ALU 52 unter der Steuerung des gespeicherten Haupt-Befehlsprogramms ausgeführt werfen. Der Programmbefehlsabschnitt
56a enthält eine sehr große Anzahl von Befehlsworten, die so formuliert sind, daß sich eine
30 26 378 | enthaltenen änderbaren Signale aufzustellen, so daß diese Liste dann für eine zweckmäßige Bezug- |
I
S j |
30 | I | |
geordnete | Fortschaltung durch das Hauptprogramm mit Verzweigungen und Unterbrechungen ergibt. | der folgenden Beschreibung zui Verfügung steht: | j | ||
An dieser Stelle dürfte es hilfreich sein, eine Liste von Akronymen für die verschiedenen Speicherwortplätze | Pufferspeicherabschnitt 56c | ι | 35 I | ||
und darin | Vorbereitungscode (beispielsweise GOO, GOl, G02, G03, G36) für die Art der auszuführenden | \ | j | ||
nähme In | Bewegung (MODAL) | 5 U | |||
die X-Achsen-Endpositionskoordinate für das Pufferblocksegment |
%
ι |
% | |||
GB: | die Z-Achsen-Endpositionskocrdinate für das Pufferblocksegment (mit YEP in den Literaturstellen | \ | 40 1 | ||
A bis D bezeichnet) | ΐ | I | |||
XEP: | gleich XEP, jedoch für den vorhergehenden Block | ίο ι |
■I
> |
||
ZEP: | gleich ZEP, jedoch für den vorhergehenden Block | ι*· | |||
die X-Achsen-Komponente oder -Bewegung für den Pufferblock | 5 | ||||
XEP1, | die Z-Achsen-Komponente oder -Bewegung für den Pufferblock (entspricht JBUF in den Literatur | j | y | ||
ZEP1,: | stellen A bis D) | I | I | ||
IBUF: | die Bewegungsbahn-Vorschubgeschwindigkeit für den Pufferblock (nicht für G36 verwendet) | 15 Ϊ | % | ||
KBUF: | die Bewegungsbahn-Segmentlänge = ^P +K2 (nicht für G36 verwendet) | I | 1 | ||
Hilfsfunktioncodes (MODAL) | f | 50 I | |||
FBUF: | Werkstücktisch-Drehzahl (in U/min) (MODAL) | f | i| | ||
D: | das programmierte Steigungsverhältnis in Zoll pro Drehung (MODAL) | I | |||
MB: | das skalierte programmierte Steigungsverhältnis In Zoll pro Teilung (MODAL) | 20 I | \ | ||
S: | die gewünschte Winkel-Startlage (in Grad) für einen Steigungs-Segmentblock im Puffer | I | 55 I | ||
E: | wie 0, jedoch maßstäblich auf Einheiten von »Teilungen« bezogen | "i | I | ||
BES: | wie B6SL, jedoch für den »vorhergehenden« Block | s | i | ||
0: | eine Flagge, die durch einen G90- oder G9l-Code gesetzt oder gelöscht wird, der In einem Daten | I | |||
BOSL: | block empfangen wird, um die Programminformation als absolut oder inkremental zu bezeichnen | 60 !j | |||
BOSL,,: | eine Pufferflagge, die gesetzt wird, wenn der G36-Code in GB empfangen wird. | I | I | ||
FL9Q: | Aktiver Speicherabschnitt 56rf | \ | I | ||
wie GB, jedoch für den aktiven Block | I | ||||
BFL36: | wie XEP, jedoch für den aktiven Block | 65 I ! 1 ι« |
|||
wie ZEP, jedoch für den aktiven Block (der mit YCEP in den Literaturstellen A bis D bezeichnet | |||||
G: | ist) wie IBUF, jedoch für den aktiven Block |
||||
XCEP: | wie KBUF, jedoch für den aktiven Block (der mit J in den Literaturstellen A bis D bezeichnet 1st) | ||||
ZCEP: | wie FBUF, jedoch für den aktiven Block | ||||
I: | die wiederholt änderbare X-Achsen-Befehlspositlon | ||||
K: | die iterativ änderbare Z-Achsen-Befehlsposition (mit YCP in den Literaturstellen A bis D bezeich | ||||
FA: | net) | ||||
XCP: | das Bewegungslnkrement entlang der X-Achse pro AT | ||||
ZCP: | das Bewegungslnkrement entlang der Z-Achse pro ΔΤ (mit ΔΥ in den Literaturstellen A bis D | ||||
bezeichnet) | |||||
ΔΧ: | das Winkellnkrement, über das sich das Werkstück tatsächlich in der vorhergehenden Zeitsapnne | ||||
ΔΖ: | von ΔΤ bewegt hat | ||||
wie BdSL, jedoch für den aktiven Block | |||||
ΔΘ: | die tatsächliche jeweilige Position des Werkstückes (in Teilungen), die durch Abtasten von OAP | ||||
unter Intervallen von ΔΤ erhalten wurde | |||||
OSL: | wie OAPH, stellt jedoch die Winkelposition während der vorhergehenden ΛΓ-Periode dar | ||||
OAPH: | wie BES, jedoch für den aktiven Block | ||||
wie die BFL36-Flagge, jedoch für den aktiven Block | |||||
OAPHn: | Abschließender Ansteuerabschnitt 56e | ||||
die gewünschte Werkstücktisch-Drehzahl, die numerisch so sakliert ist, daß sich ein Wert für V8 | |||||
AFL36: | ergibt, daß der Werkstücktisch mit einer Drehgeschwindigkeit angetrieben wird, die im wesentli | ||||
chen gleich 5 Ist | |||||
OVC: | wie XAP in der Literaturstelle C | ||||
wie YAP in der Literaturstelle C | |||||
die tatsächliche Winkelposition (In Teilungen) des Werkstücktisches oder des Werkstückes | |||||
XAP: | Alle anderen Speicherworte und Symbole sind gleich denen, die in der Literaturstelle C angegeben sind, wobei | ||||
ZAP: | »Z« für »y« eingesetzt ist. 9 |
||||
OAP: |
Abschnitt 56/ für verschiedene Daten
51 bis 516: Einzelblt-Flaggen, die äquivalent zu den Signalen 51 bis 516 sind, die von dein £üß-Zähler in der
Literaturstelle B erzeugt werden
fc, bis *4: vorgegebene gespeicherte numerische Konstanten
36: die gespeicherte Konstante 36
36: die gespeicherte Konstante 36
FLIP: eine Elnzelblt-Flagge, die gesetzt wird, um die Vervollständigung einer »erster Durchgang«-Iteratlon
bei der Ausführung eines (736-Stelgungssegmentblockes
ίο Die diagonalen Linien an den Ecken bestimmter Rechtecke nach Flg. 3 sollen anzeigen, daß das Wort, das In
diesem Register gespeichert und signalisiert wird, eine vorgegebene numerische Konstante ist Selbstverständlich
kann jede gespeicherte Konstante leicht dadurch eingestellt werden, daß in diesen Wortspeicherplatz über die
manuelle Dateneingabetastatur ein anderer Wert eingegeben wird.
In der vorstehenden Liste von Akronymen und in Flg. 3 sind die Pufferworte XEP, ZEP, IBUF. KBUF, FBUF
und D die gleichen Symbole und variablen Zahlen, wie sie In den Literaturstellen A und B beschrieben sind,
wobei darauf hingewiesen sei, daß das Symbol »y« In den Literaturstellen A und B In der vorliegenden
Beschreibung durch das Symbol »Z« ersetzt ist. Das gleiche trifft bezüglich der Speicherworte XCEP, ZCEP, I,
K, FA, XCP, ZCP, AX und AZ für den aktiven Block zu. Weiterhin sind die Symbole und Speicherwortplätze in
dem abschließenden Ansteuerspeicherabschnitt 56e nach Flg. 3 die gleichen, wie sie In der Literaturstelle C
verwendet werden. Die Symbole und Signale in dem Pufferspeicherabschnitt, die bisher nicht In den Literaturstellen
A bis D verwendet wurden, sind 5, E, BE5, Θ, BBSL, FL90, XEPP, ZEPpl BBSLP und BFL36. In den aktiven
Speicherabschnitt 56rf sind die numerischen Signale und Wortplätze AB, BSL, Es, QAPH. BAPHP und AFL36
neu und wesentliches Merkmal der vorliegenden Erfindung. Weiterhin sind, wie dies welter oben erwähnt
wurde, die veränderlichen numerischen Signale BVC und BAP In dem abschließenden Ansteuer-Spelcherabschnitt
56e eine wesentliche Eigenart der vorliegenden Erfindung.
Um eine Masse von Einzelheiten zu vermelden und um dennoch die Erfindung für den Fachmann vollständig
zu erläutern, sind die Programmbefehlsworte nicht im Abschnitt 56a nach Flg. 3 bezeichnet, doch sind sie
In den Ablaufdiagrammen der Fig. 4 bis 7 und In den Tabellin AA und BB angegeben, die einen Teil der
Beschreibung bilden. Diese Ablaufdiagramme und Tabellen werden welter unten erläutert. Der Speicherabschnitt
Μ 566 (Flg. 3) enthält Rglster, die die aufeinanderfolgenden Datenblöcke enthalten, die ein gesamtes Teil-Programm
bilden. Dieser Speicherabschnitt kann als Äquivalent eines Lochstreifenlesers betrachtet werden, der
in der Literaturstelle A und der Literaturstelle B beschrieben ist. Das heißt, daß, sobald eine Vielzahl von
aufeinanderfolgenden Blöcken, die ein gesamtes Teil-Programm bilden, in dem Speicherabschnitt 566
% gespeichert wurde, jeder aufeinanderfolgende Block von seiner Speicherung In dem Speicherabschnitt 566 In eine
35 Speicherung im Pufferblockabschnitt 56c überführt werden kann. Lediglich die adressierbaren Wortplätze, die
Ι für ein Verständnis der vorliegenden Erfindung wesentlich sind, sind in dem Pufferblock-Speicherabschnitt 56c
nach F1 g. 3 bezeichnet.
Wie dies in den Literaturstellen A und B beschrieben ist, sind, wenn ein vorgegebener Block Bn^ von TeIl-
k Programmdaten in dem Pufferspeicheraoschnltt 56c enthalten 1st, die dem vorhergehenden Teil-Programmblock
to Bn entsprechenden Daten in dem Speicherabschnitt 56c/ für den aktiven Block enthalten. Wenn das dem aktiven
Teil-Programmblock entsprechende Wegsegment vollständig ausgeführt wurde, so wird der in dem Pufferspeicherabschnitt
enthaltene Datenblock In den aktiven Speicherabschnitt 56d überführt, und die Ausführung dieses
nachfolgenden Datenblocks beginnt unmittelbar. Während die letztere Ausführung erfolgt, wird der darauffolgende
Block ß„+2 der Tell-Programmdaten von dem Tell-Programmspelcherabschnltt 566 (oder von dem Bandleser)
In den Pufferblockabschnitt 56c überführt.
j Die Daten, die in dem aktiven Blockspeicher 56rf enthalten sind, werden kontinuierlich durch eine soge-
·, nannte »Interpolation« verarbeitet, um eine Operation entsprechend einer quer verlaufenden geradlinigen Interpolation,
einer kreisförmigen Gegenuhrzeigersinn-Interpolation oder einer kreisförmigen Uhrzeigersinn-Drehung
durchzuführen. Dies sind die gut bekannten üblichen Betriebsweisen des numerischen Steuerdirektors oder
-interpolators. Bei bekannten Systemen für Drehmaschinen war es weiterhin bekannt, eine Gewlndeschneld-Betrlebswelse
vorzusehen, mit deren Hilfe Gewinde in ein zylindrisches Werkstück eingeschnitten werden
können. Entsprechend der Industrienormen sind die vorbereiteten Codes zur Schaffung verschiedener Arten von
Operationen wie folgt:
GOO: schneller Vorschub In einer punktweisen Positionierbetriebsart
GOl: linerare Interpolation
G02: kreisförmige Interpolation im Uhrzeigersinn
G03: kreisförmige Interpolation im Gegenuhrzeigersinn
G33: Gewindeschneidbetriebsart
Die vorliegende Erfindung führt in die Technik numerischer Steuersysteme für Drehmaschinen eine vollständig
neue und abweichende Klasse von Betriebsart ein, die als »lokalisierbare kurze Steigungssegmente« bezeichnet
werden kann. Dies wird aus der folgenden Beschreibung noch besser verständlich.
Während der Ausführung eines Tell-Porgrammblockes von Daten, die In dem Speicherabschnitt 56</ für den
fi5 aktiven Block enthalten sind, werden fortschreitend erneuerte Befehlspositionssignale für die linerare Achsen (In
manchen Fällen für eine Drehachse) den änderbaren Speicherworten in dem Speicherabschnitt 56e für die
abschließende Ansteuerung eingespeist. Diese Speicherung für die abschließende Ansteuerung und die fortschreitende
Änderung der darin enthaltenen Signale verläuft entsprechend dem Verfahren und der Vorrichtung,
10 S
die ausführlich In der Literaturstelle C beschrieben ist. Der für ein Verständnis der vorliegenden Erfindung
erforderliche Teil hiervon wird im folgenden ausführlicher behandelt.
Wie es anhand der Flg. 3 zu erkennen Ist, kann der Speicherabschnitt 56/für verschiedene Daten viele adressierbare
Wortplätze enthalten, und es sind lediglich die Wortplätzs gezeigt, die für das Verständnis der Erfindung
erforderlich sind. Insbesondere sind sechzehn Worte oder Einzelbit-Flaggen vorgesehen, die in Fig. 3 mit
Sl bis SI 6 bezeichnet sind. Diese entsprechen den Signalen, die von dem £Oß-Zähler erzeugt werden, der in
den Literaturstellen A und B behandelt 1st, und sie werden zur Durchführung von Obergängen in der Betriebswelse
des Interpolators oder Direktors verwendet, wie dies In diesen Literaturstellen beschrieben Ut. Weiterhin
werden bestimmte numerische Konstanten In dem Speienerabschnitt 56/ für verschiedene Daten gespeichert
(obwohl C1IeSe Konstanten änderbar sind). Diese Konstanten sind in Fig. 3 als numerische Konstanten A1, k2, k,
und A4 dargestellt. Weiterhin ist die Konstante »36« an einem adressierbaren Speicherplatz im Abschnitt 56/
gespeichert, und es befindet sich weiterhin hier eine Elnzelbit-wErster Durchgang«-Flagge FLIP.
Wie dies unter zusammenfassender Betrachtung der Flg. 1 und 3 zu erkennen Ist, werden bestimmte Signale
außerhalb des numerischen Steuer-Interpolators oder -Direktors 40 erzeugt und als lediglich lesbare Speicherworte
behandelt, die adressiert und auf die Lese-Sammelschiene 62 gebracht werden können. Wie dies hier
gezeigt 1st, erzeugen die Digltalisierer 35, 36, 38 kontinuierlich ihre Signale XAP. ZAP und ΘΑΡ für die jeweilige
aktuelle Position, und diese Signale werden bildlich gesehen den lediglich lesbaren Speicherworten in dem Spei-
^herabschnitt 56s· für die abschließende Ansteuerung eingespeist. Wenn es daher erwünscht ist, in die ALU 52
das aktuelle Positionssignal ZAP einzulesen, so 1st es lediglich erforderlich, daß ein Lesefreigabe-Signal an das
,j Speichersystem zusammen mit Adressensignalen angelegt wird, die der Adresse des Speicherplatzes ZAP
Ϊ entsprechen. Weiterhin erzeugt, wie dies In Fig. 1 gezeigt ist, der numerische Steuerrechner abschließende
Ausgangssignale, die den X-, Z- und ö-DititaU/Analog-Wandlem 45, 46, 47 zugeführt werden. Dies ist in
J Fig. 3 gezeigt. In der »lediglich schreibbare« Speicherworte XVC, ZVC und 6VC Mehr-Blt-Slgnale kontinuierlich
an die Eingänge dieser drei Konverter liefern.
Es kann angenommen werden, daß entsprechend dem Beispiel in den Literaturstellen A und B die aufelnanderfolgenden
Zeitperioden AT, die von der Taktimpulsquelle 50 (Fig. 2) und dem Zeltsteuersignal-Teiler 51
festgelegt werden, jeweils eine Dauer von 20 ms aufweisen. Innerhalb jeder derartigen Periode werden Teilperioden
durch Zeitsteuerimpulse markiert, so daß eine Subroutine alle Zehntel von AT ausgeführt werden kann,
d. h. alle 2 ms. Weiterhin erscheinen die Rechen-Zeitsteuerimpulse mit einer sehr hohen Wiederholfrequenz, so
daß viele Entnahme-, Berechnungs- oder Spelchprschritte während jedes 2-ms-Intervalls ausgeführt werden
können. Diese speziellen Zeitperioden sind nur als Beispiel gewählt, sie können so gewählt werden, daß sie
andere spezielle Werte, wie z. B. 32 ms für die Makrobewegungsperiode AT und 4 ms für die Mlkrobewegungsperiode
ATIN aufweisen. Wie dies In der Literaturstelle A angegeben 1st, werden die Perioden AT in Teilperioden
ATIN unterteilt, wobei N irgendeine zweckmäßig gewählte ganze Zahl Ist.
Aus den Literaturstellen A und B ist es verständlich, daß das numerische Steuersystem in einen derartigen
Zustand versetzt werden kann, daß es in den normalen und bekannten Hauptbetriebswelsen einer linearen, im
Uhrzeigersinn kreisförmigen oder im Gegenuhrzeigersinn kreisförmigen Interpolation nach Empfang eines
Vorbereitungscodes GOl, G02 und G03 arbeitet. Die Literaturstelle D beschreibt die Vorschubbetriebsart, die
durch den Vomereitungscode GOO bewirkt wird. In der kreisförmigen Interpolationsbetriebsart werden die Variablen
AX, AZ, I und K alle schrittweise während aufeinanderfolgender Wiederholungen oder Iterationen der Zeit-Perioden
AT geändert, während sowohl in der linearen als auch in den kreisförmigen Interpolationscoden die
dynamisch änderbaren numerischen Signale für XCP und ZCP iterativ während jeder Perlode AT um Beträge AX
und AZ geändert werden. Zusammenfassend sollte es daher aus den hler zur Vermittlung des Ausgangspunktes
der Erfindung herangezogenen Literaturstellen A bis D verständlich sein, daß der Interpolator oder Direktor
nach den Fig. 1, 2 und 3 für übliche Bewegungsarten (GOO, GOl, G02 oder G03) so arbeitet, daß übliche
numerisch gesteuerte Operationen auf der Grundlage von aufeinanderfolgenden Blöcken des gesamten TeIl-Programms
durchgeführt werden.
Die wesentlichen Eigenschaften jedes Interpolators, auf den die vorliegende Erfindung angewandt werden
kann, sind folgende:
A. Es sind Einrichtungen zur Abmessung aufeinanderfolgender gleicher Perloden AT In tatsächlicher Zelt
vorgesehen. Siehe beispielsweise das zentrale Zeitsteuersystem nach Flg. 9 b und den Spalten 19 bis 24 in
der Literaturstelle A.
B. Es sind Einrichtungen zur Erzeugung ven Positions-Schritt- oder -Inkrementsignalen AX und AZ während
jeder Perlode AT vorgesehen. Diese Signale hängen in Ihrer Größe und Ihrem Vorzeichen nicht nur von der
Bewegungsweg-Vorschubgeschwindigkeit, die durch Block-Elngangsslgnale festgelegt 1st, sondern auch von
■ dem Winkel des Bewegungsbahn-Vektors gegenüber der X-Achse ab. Sie stellen die während jeder Periode
AT entlang der X- und Z-Achsen zurückzulegenden Strecken dar, so daß sie die Dimensionen von
Geschwindigkeiten haben, d. h. Strecke pro Zeiteinheit.
C. Es sind Einrichtungen zur Erneuerung oder Änderung der primären Positionsbefehlssignale XCP und ZCP
während jeder Zeltperlode AT um die Beträge vorgesehen, die durch die Signale AX und AZ dargestellt sind.
Siehe beispielsweise die Tabelle III in der Literaturstelle A. Die Operation kann wie folgt ausgedrückt werden:
XCP1 = XCP^1+AX (1)
ZCP1 = ZCP^ +AZ (2)
In diesen Gleichungen wird der Index »/« dazu verwendet, den Iterationsvorgang anzuzeigen, d. h. der Wert
der Variablen XCP wird während »dieser Perlode /'« gebildet und durch einen neuen Wert ersetzt, der gleich
dem Wert der gleichen Variablen XCP während der »vorhergehenden Periode /-1« zuzüglich der inkrementalen
Makrobewegung ΔΧ ist.
Selbstverständlich können numerische Interpolatoren von unterschiedlicher Art und im einzelnen unterschiedlichen Organisationen ausgewählt werden, um die primären, sich periodisch ändernden Positionsbefehls-
Selbstverständlich können numerische Interpolatoren von unterschiedlicher Art und im einzelnen unterschiedlichen Organisationen ausgewählt werden, um die primären, sich periodisch ändernden Positionsbefehls-
signale XCP und ZCP zu erzeugen. Es ist lediglich wichtig zu verstehen, daß bei der Ausführungsform der |
vorliegenden Erfindung derartige Signale normalerweise zur Verfügung stehen und periodisch geändert werden, |
um die üblichen Bewegungsarten durchzuführen, d. h. Vorschubpositionierung oder lineare oder Krelslnterpolatlon.
Bei dem speziellen, als Beispiel In den Flg. 2 und 3 gezeigten Interpolator werden die Posltionsbefehls-
i" signale XCP und ZCP für eine lineare und Kreisinterpolation in entsprechend bezeichneten Speicherregisterplätzen
erzeugt, wobei die Erneuerung der Werte dadurch durchgeführt wird, daß diese Signale aus dem Speicher
entnommen werden, daß die schrittweisen Bewegungen ΔΧ und ΔΖ entnommen werden, die zu diesen
Signalen hinzuaddiert werden sollen, und daß die resultierenden Summen als neue Werte in den Speicherregistern
XCP und YCP wieder eingespeichert werden.
C. Blockformat und Daten für das Gewindesteigungssegment
Erfindungsgemäß wird eine andere Art der Systembetriebsweise - im Gegensatz zur Vorschubsbetriebsweise
(COO), zur linearen Interpolation (GOl), zur Kreisinterpolation (G02 oder (703) und zu einer bekannten Gewin-
2(1 deschneldbetriebsart (G33) - ausgebildet, wenn bei der Ausführung aufeinanderfolgender Blöcke innerhalb eines
gesamten Teil-Programms ein Gewindesteigungs-Segmentblock von Daten auftritt. Derartige Gewlndesleigungs-Segmentblöcke
sind durch einen speziellen Vorbereitungscode gekennzeichnet, der hler willkürlich als G36
gewählt ist. Diese Arien von Teil-Programmblöcken werden hier aus Gründen der Kürze als »G36-Blöcke«
bezeichnet. Jeder derartige spezielle Gewindesteigungs-Segmentblock von Programmdaten schließt numerische
Datenworte ein, die direkt oder indirekt folgendes darstellen:
(a) die gewünschte Start-Wlnkelpositlon θ (in Grad) für ein Gewindesteigungssegment, das maschinell eingearbeitet
werden soll,
(b) das gewünschte Steigungsverhältnis E (in Zoll pro Umdrehung) für dieses Steigungssegment, und
3» (c) die gewünschte Endposition dieses Steigungssegmentes, die als eine absolute Position (ZEP) entlang der
Z-Achse ausgedrückt ist.
Für den ersten und/oder den letzten einer Folge von G36-Blöcken kann weiterhin die gewünschte Endposition
(XEP) entlang der .Y-Achse eingefügt sein, und dies führt (wie dies welter unten erläutert wird) zu
koordinierten X- und Z-Bewegungen, so daß das Schneidwerkzeug in die Nut eintritt oder aus der Nut »in der
Steigung« austritt.
Jeder derartige G36-»Gewindestelgungs-Segmentblock« kann mit 0-, ZEP- und ,YEf-Befehlen programmiert
werden, die In absoluten (Achsenpositionskoordinaten) oder Inkrementalen (Achsenkomponenten-Bewegungs-)
Werten bezeichnet sind. Das System wird in einen Zustand zur Annahme von Gewlndestelgungs-Segmentprogrammblöcken
In absolutem oder inkrementalem Format durch einen Vorbereitungsbefehl (G90 oder G91)
gebracht, der, wenn er aus dem Teil-Programmspeicher (entweder Speicherabschnitt 56ö oder ein Lochstreifenband)
herausgebracht wird, so umgesetzt wird, daß er eine Elnzelbit-Flagge setzt oder löscht, die In Fig. 3 mit |
FL90 bezeichnet ist. |
Daher kann das Wortformat für irgendeinen speziellen GSö-Code-Gewindesteigungs-Segmentblock wie folgt |
sein: |
G36 E θ ZEP XEP G90/91 |
Der Wert von »36«, der einem G36-Code zugeordnet ist, wird selbstverständlich immer empfangen oder |
5n befindet sich betriebsartenmäßig in dem Pufferregister GB, wenn ein Gewindesteigungs-Segmentblock von |
Daicii von dem Teüprcgrarnrn-Speichcr empfangen -A'ird. Die Werte von E. Θ, ZEP und XEP sind für jeden |
Block vorher auswählbar, obwohl die Steigungsverhältnis-Ziffer, die dem Wort E zugeordnet ist, in dem numerl- I
sehen Steuer-Interpolator empfangen und betriebsmäßig verarbeitet wird. Das heißt, daß, sobald ein vorgegebe- j|
ner Wert mit einem G36-Block in das Speicherregister E eingebracht wird, dieser Wert wirksam bleibt, bis ein |
« darauffolgender neuer Wert eingebracht wird. |
Es sei angenommen, daß die rechte Seite der zylindrischen Oberfläche eines Werkstücks !3 (Fig. 1) sich an jf
einer .Y-Achsen-Position von 13,43 Zoll befindet und daß sich das Werkstück nach oben zwischen Z-Achsen- |
Koordinatenpositionen von Null (in der Ebene des Werkstücktisches) bis 20 Zoll befindet Eine beispielhafte |
Folge von Steigungssegment-Teilprogrammblöcken könnte dann mit den folgenden Zahlen ausgearbeitet |
werden: I
1 | goo | £8 | θ 22,5 | ZEP | 30 | 26 378 | XEP 13,43 | G90 | |
2 | G36 | 0112,5 | ZEP | Beispiel I | XEP 13,33 | G09 | |||
BLK | 3 | 0202,5 | ZEP | 10,50 | G09 | ||||
BLK | 4 | 0292,5 | ZEP | 9,50 | GO9 | ||||
BLK | 5 | ZEP | 8,50 | XEP 13,43 | GO9 | ||||
BLK | 6 | GOO | 7,50 | XEP 23,43 | |||||
BLK | 6,50 | ||||||||
BLK | |||||||||
512
Die Ausführung der vorstehenden Teilprogramm-Blockfolge ruft erfindungsgemäß in einer Welse und aus
welter unten erläuterten Gründen das Einschneiden einer »unterbrochenen Gewindenut« in das Werkstück mit
einer Tiefe von 0,10 Zoll hervor. Flg. 13 zeigt eine Abwicklung der Werkstückoberfläche entsprechend dem
Beispiel I, wobei eine durchgehende Nut mit vier Steigungssegmenten LSI bis LSA gebildet wird, die durch drei
dazwischenliegende geradlinige oder »Nullsteigungs-«Segmente getrennt sind. Ein Nullsteigungssegment wird
nicht als Gewindesteigungssegment für die Zwecke dieser Beschreibung betrachtet, weil eine Nullsteigung keine
Steigung darstellt. Die vier Steigungssegmente LSI bis LS4 weisen jeweils eine Winkelerstreckung von 45° auf
und erstrecken sich über eine Strecke von 1,0 Zoll entlang der Werkstückachse (Z-Achse). Jedes dieser voneinander
getrennten Steigungssegmente weist eine schraubenllnlenförmige Steigung von 8 Zoll pro Umdrehung
aufgrund des Befehls »£8« auf (was auch als eine Steigung von 0,0222 Zoll pro Grad ausdrückbar ist).
Jedes Nullstelgungs-Segment (Fig. 13), das zwischen zwei Steigungssegmenten liegt, weist aufgrund des Teil-Programms
nach Beispiel I eine Winkelerstreckung von 45° auf. Dies ergibt sich daraus, daß die 0-Werte in der
Tabelle des Beispiels I die Winkel-Startpositionen für vier maschinell bearbeitete Steigungssegmente bezeichnen,
doch wird, wie dies welter unten erläutert wird, die Z-Achsen-Bewegung und ein Steigungssegment beendet,
wenn das Schneidwerkzeug die programmierte Endposition ZEP für irgendeinen speziellen Steigungssegmentblock
erreicht.
Flg. 13 zeigt, daß die Daten des Blockes BLK2 in dem vorstehenden Beispiel I zu einem Steigungssegment
führen, das an einer Winkelposition von 22,5° auf dem Werkstück beginnt, wenn sich das Schneidwerkzeug an
einer Z-Achsen-Posltlon von 10,5 Zoll befindet. Die Z-Achsen-Bewegung wird beendet, wenn das Schneidwerkzeug
eine Z-Achsen-Posltion von 9,5 Zoll erreicht. Weil die Steigung 8 Zoll pro Umdrehung beträgt, dreht sich
der Werkstücktisch über Y8 Umdrehung oder 45°, während sich das Schneidwerkzeug über eine Strecke von 1
Zoll nach unten bewegt. Daher weist das dem Block BLK 2 nach Beispiel I entsprechende Steigungssegment
eine Winkelerstreckung von 45° auf und die Endposition ist 22,5° + 45° = 67,5°. Weil das nächste Steigungssegment (Block BLK 3) nicht beginnt, bevor das Schneidwerkzeug eine Winkelposition von 112,5° auf dem
Werkstück erreicht hat, bildet das Schneidwerkzeug ein geradliniges Segment mit einer Steigung von Null aus,
das eine Winkelerstreckung von 45° aufweist, bevor das darauffolgende Steigungssegment eingeleitet wird.
Die Bedeutung der Programmdaten im Beispiel I wird bei der folgenden Beschreibung der erfindungsgemäßen
Verfahren und Vorrichtung weiter verständlich. An dieser Stelle sei jedoch bereits bemerkt, daß der Block
BLK 1 in Beispiel I lediglich dazu dient, geeignete Bedingungen zur Einleitung der gewünschten unterbrochenen
Gewindenut zu schaffen. Dieser Block bewirkt, daß das Schneidwerkzeug In der Vorschubbetriebsweise auf die
gewünschte Höhe (Z-Achsen-Position von 10,50 Zoll) eingestellt wird, an der die zusammengesetzte Nut auf
der Werkstückoberfläche begonnen werden soll, und dieser Block bewirkt weiterhin, daß die Spitze des Schneidwerkzeugs
gerade In Berührung mit der Werkstückoberfläche kommt (bei einer X-Achsen-Position von 13,43
Zoll). Weiterhin enthält der vorangehende Block BLK 1 den S12-Befehl, der von dem Steuersystem akzeptiert
wird, so daß der Werkstücktisch 11 (Fig. 1) mit der gewünschten Drehzahl von 12 U/min gedreht wird. Der
letzte Block BLK 6 In Beispiel I ist lediglich deshalb eingefügt, um das Schneidwerkzeug (in einer GOO-Betriebsart)
nach rechts vorzuschieben, so daß er ungefähr um 10 Zoll von dem Werkstück fortgezogen wird. Der GOO-Code
Im Block BLK 6 bewirkt die Aufhebung der »G36-Betriebsart«, wie dies weiter unten erläutert wird. Es sei
bemerkt, daß die Blöcke BLK 2 und BLK 5 beide X-Achsen-Endpositionsbefehle enthalten. Diese Befehle führen
dazu, daß sich die ersten und vierten Steigungssegmente von einer Tiefe von 0 auf 0,10 und von einer Tiefe
von 0,10 auf eine Tiefe von 0 verjüngen. Weil weiterhin die S(BLK I)-, G36- und E-Worte modal sind, wird
jeder der Blöcke BLK 2 bis BLK 5 ausgeführt, während sich der Werkstücktisch mit einer Drehgeschwindigkeit
von 12 U/mln dreht und während sich das Steuersystem in der Steigungssegmentbetriebsart befindet, obwohl
die Blöcke BLK 3, 4 und 5 nicht tatsächlich das G36-Wort enthalten.
Ein Programm, das dem Beispiel I vollständig äquivalent ist, jedoch mit inkrementalen Ziffern aufgebaut ist,
wird durch die folgenden Teilprogramm-Datenblöcke dargestellt:
Beispiel I'
BLK I GOO Θ 0,00 ZEP 10,50 XEP 13,43 G90 S\2
BLK 2 G36 Ei θ 22,5 JT-1,0 /-0,10 G91 G09
BLK 3 0 90 ΛΓ-1,0 GO9
BLK 4 Θ 90 K-1,0 G09
BLK 5 0 90 K-1,0 /+0,10 G09
BLK 6 GOO / +10,0
Im vorstehenden Beispiel Γ 1st der Block BLK 1 der gleiche wie Im Beispiel I. Er dient lediglich dazu, das
Schneidwerkzeug auf die gewünschte Stelle zu bringen, an der die Bearbeitung des Steigungssegmentes beginnen
soll, und er bringt das System In einen derartigen Zustand, daß sich der Werkstücktisch mit einer gewünschten \
Drehzahl von 12 U/mln (512) dreht. Der Block BLK 2 Im Beispiel Γ weist jedoch den Vorbereitungscode G91 I
auf, der angibt, daß die folgenden Programmdaten In lnkrementaler Form sind. Entsprechend Ist Im Block |
BLK 3 des Beispiels Γ die Startposition für das zweite Steigungssegment durch den Befehl »090« bezeichnet,
was bedeutet, daß das Steigungssegment LS2 (Fig. 13) an einer Winkelposition beginnen soll, die um 90°
gegenüber der Startposition des ersten Steigungssegmentes JlSl versetzt ist. Der Block BLK 2 bezeichnet durch
seinen Befehl »0 22,5«, daß das Segment LSI an einer Winkelposition von 22,5° begonnen werden soll. Der
.Block BLK 2 gibt weiterhin an, daß das entsprechende Segment LSI eine Winkelerstreckung von 45° aufweist.
Weil es in der In Flg. 13 gezeigten Welse erwünscht ist, daß auf das Segment LSI ein Nullsteigungs-Segment
von 45° folgen soll (wie dies welter oben erläutert wurde), beginnt das nächste Steigungssegment bei 112,5°. Aus
diesem Grunde sollte das Steigungssegment LS2 an einer Position beginnen, die um 90° gegenüber dem Anfang
des Segmentes LSI versetzt 1st. Dieses Winkelinkrement ist die Startposition »?WÜ« Im Block BLK 3 nach
Beispiel Γ. Die inkrementalen 0-Worte Im Beispiel Γ stellen ziffernmäßig Winkelschritte zwischen den Startpositionen
aufeinanderfolgender Steigungssegmenie dar, wie dies arn unteren Bereich der Fig. 13 angegeben ist.
In gleicher Weise stellen die Befehlsdaten für die Z- und Af-Achsen Im Beispiel Γ in Form von Werten für die
K- und /-Worte die Achsenbewegungen dar, die auszuführen sind, und nicht Achsenendpunkt-Positionen. Well
der Block BLK 2 beginnt, wenn das Schneidwerkzeug auf eine Z-Achsen-Positlon von 10,5 Zoll gebracht wurde
(mit Hilfe von BLK 1), führt ein K-Befehl von -1,0 dazu, daß sich das Schneidwerkzeug während der Ausführung
des Steigungssegmentes des Blockes BLK 2 auf eine Z-Posltlon von 9,5 Zoll bewegt. Das gleiche trifft für
die I-Befehle für die A"-Achse zu.
In den Beispielen I und Γ erscheint der Code (709 in jedem der Steigerungssegmentblöcke BLK 2 bis BLK 5.
Der »G09«-Code bewirkt die Ausführung der tatsächlichen Bewegung für jeden Block zum Ende mit »automatischer
Abbremsung auf eine Geschwindigkeit von Null«, wie dies ausführlich in den Literaiurstellen B und D
beschrieben 1st. Dies verhindert ein Hinweglaufen über den Z- oder A'-Endpunkt und wird Immer dann verwer
det, wenn ein Steigungssegment beendet werden soll, ohne daß eine Z-Achsen-Bewegung unmittelbar auf das
Ende eines Steigungssegmentes folgt (beispielsweise wenn zwei Steigungssegmente nicht aufeinander in körperlicher
Anfang-Ende-Beziehung folgen). Weil die Vorrichtungen und Verfahren zur Erzielung der »automatischen
Abbremsung auf eine Geschwindigkeit von Null« (Code G09) in den Literaturstellen B und D ausführlich
beschrieben sind, dürften keine weiteren Einzelheiten erforderlich sein, und es ist verständlich, daß jeder G36-Block
mit dem darin signalisierten G09-Code das Schneidwerkzeug gleichförmig und sanft auf eine Geschwindigkeit
von Null bringt, wenn das Schneidwerkzeug den Z- (und J-)Endpunkt eines Segmentes erreicht. Ein.
Speicherwort G09 ist in Flg. 3 gezeigt, um aus Gründen der Vollständigkeit anzuzeigen, daß dann, wenn
irgendein Block von Teil-Programmdaten, der einen G09-Code einschließt oder nicht einschließt, sich In dem
aktiven Speicherabschnitt 56 d befindet, eine Elnzelbit-»G09«-Flagge gesetzt wird, so daß sie eine »1« oder eine
»0« enthält. Das G09-Bit-Signal entspricht hier dem Signal DTZ der Literaturstellen B und D, und es wird ange-
■ nommen, daß das Setzen oder Löschen dieses Einbit-Signals erfolgt, wenn irgendein Datenblock in Irgendeiner
Betriebsart (unter Einschluß von G36) in den aktiven Speicher überführt wird.
D. Direkte Steuerung der Werkstücktlsch-Drehzahl 5
Wie es in dem vorstehenden Beispiel I angegeben war, ist die gewünschte Werkstücktisch-Drehzahl durch
eine S-Befehlsziffer dargestellt, die in irgendeinem Teil-Programmblock enthalten ist, der einem oder mehreren
Bewegungsweg-Segmentblöcken voransteht. Der 5-Befehl ist »model«. Das heißt, sobald eine S-Zlffer In dem
Pufferadressenpiatz S empfangen wurde, bleibt diese Ziffer wirksam, bis eine neue und andere S-Zlffer von
irgendeinem darauffolgenden Block empfangen wird. Wenn Pufferblockdaten zum aktiven Speicherabschnitt
56 d (Fig. 3) übertragen werden, so wird die S-Zlffer maßstäblich verändert, und eine Werkstücktisch-Geschwindigkeitsziffer
QVC wird in das entsprechende Speicherwort im Abschnitt 56 e eingeschrieben, so daß
ki-S
(3)
Die Maßstabskonstante ^1 1st im Hinblick auf die Verstärkungsfaktoren für den Konverter 47, den Verstärker
33 und den Verstärker 32 so gewählt (und In dem Speicherabschnitt 56/vorgespeichert), daß das Geschwindlgkeltsservo
eine Drehung des Werkstücktisches mit einer konstanten Winkelgeschwindigkeit hervorruft, die in
Umdrehungen pro Minute angenähert gleich der ursprünglichen Ziffer S ist. Eine hohe Präzision 1st hinsichtlich
der Werkstücktisch-Drehgeschwindigkeit nicht erforderlich, doch hält die Rückführung von dem Tachometer
34 (Fig. 1) die Werkstücktisch-Drehzahl sehr nahe an dem befohlenen Wert, selbst wenn sich die Belastung
aufgrund der Wirkung des Schneidwerkzeuges ändert.
E. Durchführung des Verfahrens für die Steigungssegment-Bearbeitung
Bei der Ausführung des erfindungsgemäßen Verfahrens und unter Berücksichtigung der vorstehenden
Beschreibung wird der Interpolator 40 durch Hauptbefehle (in dem Speicherabschnitt 56 α nach F i g. 3) in einen
derartigen Zustand gebracht, daß er eine Anzahl von Einrichtungen zur Durchführung bestimmter Funktionen
bildet und die auftretenden Verfahrensschritte ausführt. Der Digitalrechner In dem Interpolator 40 ist jedoch
nicht die einzige hierbei verwendete Vorrichtung, well die Einrichtungen zur Erzeugung jeweiliger Positionsrückführungssignale
XAP, ZAP und ΘΑΡ außerhalb des Rechners angeordnet sind, und zwar ebenso wie die
DlgitaU/Analog-Konverter 45, 46, 47 zusammen mit den Motoren MX, MZ und ΜΘ, die von den Ausgangssignalen der genannten Konverter gespeist werden. Ein sicheres Verständnis einer bevorzugten Ausführungsform der Erfindung kann am besten aus einer Erläuterung der Folge von Operationen gewonnen werden, die
wiederholt erfolgen, wobei die jeweiligen Subroutlnen des Hauptprogramms anhand der Subroutlnen-Ablaufdlagramme
nach den Flg. 5 bis 7 In Verbindung mit den ausführlicheren Programmllsten erläutert werden, die s
In den Tabellen AA und BB enthalten sind (die am Ende dieser Beschreibung enthalten sind). Die Ablaufdiagramme
und die Programmllsten zeigen ausführlich, wie der Rechner nach Flg. 2 und der zugehörige Speicher
nach FI g. 3 eingestellt und organisiert werden, um das erfindungsgemäße Verfahren durchzuführen.
Wenn einer oder eine Anzahl von aufeinanderfolgenden Steigungs-Segmentblöcken (beispielsweise wie in
Beispiel I oder Γ) In den Teilprogramm-Speicherabschnitt 56 b eingebracht wurde, führt jeder Stelgungs-Segmentblock
bei seiner Überführung in den Pufferspeicherabschnitt 56 c zu Signalen, die tatsächlich oder
Implizit und In absoluter oder Inkrementaler Form (i) den speziellen Bezeichnungscode G 36, der moral ist, (11)
ein gewünschtes Steigungsverhältnis E, das modal ist, (IiI) eine gewünschte Start-Winkelposition Θ, (Iv) eine
gewünschte axiale oder Z-Achsen-Endposltlon darstellen.
Fig. 4 und die Tabelle AA zeigen das Haupt-Befehlsprogramm (das Im Speicherabschnitt 56 α enthalten ist),
das ausgeführt wird, wenn irgendein Teil-Programmblock (in dem aktiven Speicherabschnitt 56 d) fast vervollständigt
wurde. Wie dies In den Literaturstellen A und B erläutert ist, erscheint ein Signal 5 7 (von dem EOB-Zähler
der Literaturstelle A, jedoch in dem 5 7-Flaggenwort nach Flg. 3 der vorliegenden Beschreibung), wenn
ein Übergang von einem aktiven Block zum nächsten erforderlich 1st. Daher wird In die Subroutine nach Fig. 4
und nach Tabelle AA eingetreten, wenn ein »5 7«-Slgnal erscheint. Die allgemeinen Operationen, die dann
durchgeführt werden müssen, sind: (a) Überführung der Signale in dem Pufferspeicher In den aktiven Speicher,
(b) Übertragung des nächstfolgenden Blockes des Teil-Programms vom Teil-Programmspeicher (Abschnitt 56 b)
zum Pufferspeicher, und (c) Vorverarbeitung der neuen Daten im Pufferspeicher, so daß sie für die Übertragung
In ilen aktiven Speicher bereit sind, wenn dies später erforderlich ist. Wenn dem Teil-Programmblock, der sich
derzeit im Pufferabschnitt 56 c befindet, die spezielle Steigungssegment-Bezeichnung G 36 zugeordnet ist, so ist
eine Pufferflagge BFL 36 (Elnblt-Spelcherwort) gesetzt (enthält eine »1«).
Wenn das 57-Signal am Programmschritt 100 festgestellt wird, so wird die Flagge BFL überprüft. Wenn sie
nicht gesetzt ist, verläuft die Operation auf den Schritt 102 und folgende, in denen die Blockübertragung und
die Übertragung vom Pufferspeicher zum aktiven Speicher für die normalen Bewegungsbahnsteuerungen erfolgt,
die mit COO, GOI, G02 oder G03 bezeichnet sind, wie dies ausführlich in den Literaturstellen A bis D beschrieben
ist. Dies hat die Weiterschaltung der Übergangssignale von 57 auf 58 und dann auf S9 zur Folge, was Im
Schritt 199 endet, wie dies allgemein in der Tabelle AA angegeben ist. Die maßstäbliche Veränderung des 5-Befehls
(zur Änderung des Werkstücktisch-Drehzahlsignals S in dVC) erfolgt in den Schritten 200 bis 203, um
QVC entsprechend der vorstehenden Gleichung (3) zu berechnen und einzustellen. Der Rechner nach Fig. 2
springt dann auf den Sehritt 224.
Wenn jedoch in den Schritten 100 und 101 festgestellt wurde, daß die Flagge BFL36 gesetzt ist, so erfolgt die
Übertragung vom Pufferspeicher zum aktiven Speicher entsprechend der speziellen »G36-Betriebsart« während
der Schritte 204 bis 223. In den Schritten 204, 204a wird eine »1« dem AIR 53 (Fig. 2) zugeführt und zu Null
hinzuaddiert, so daß diese »1« als ANS im Akkumulator 54 erscheint und dann in den Speicherplatz AFL36
eingeschrieben wird. Hierdurch wird die Flagge AFL36 gesetzt, so daß das System weiß, daß der in den aktiven
Abschnitt 56d überführte Block ein spezieller »Steigungssegmentw-Block ist. Während des folgenden Schrittes
205 wird eine »0« in das aktive G-Register eingeschrieben, so daß alle normalen Bewegungsbahn-Betriebsartslgnale
(GOO, GOl, usw.) gelöscht werden, die in diesem Register enthalten sein können. In den Schritten 206 bis
210 werden die Segment-Bewegungsziffern in IBUF und KBUF in die aktiven Register / und K überführt. In den
Schritten 210 bis 212 wird das S7-Signal entfernt und auf 58 weitergeschaltet. Dann werden in den Schritten
213 bis 216 die Puffer-Achsenendpunktziffern XEP und ZEP in die entsprechenden aktiven Register XCEP und
ZCEP überführt. Eine Start-Winkelpositionsziffer BdSL (die vorher gebildet wurde, wie dies weiter unten erläutert
wird) wird dem entsprechenden aktiven Register 6SL in den Schritten 217 bis 218 zugeführt, während eine
Puffer-Steigungsverhältnisziffer in BE5 dem aktiven Register £s in den Schritten 218a und 218b zugeführt wird.
Weil neue Werte von ΔΧ und ΔΖ gebildet werden, wenn die aktive Verarbeitung des übertragenen Blocks
beginnt, werden weiterhin Nullen in das aktive Register AX und AZ eingeschrieben, um diese Register in den
Schriuen 2i9, 220 zu 'löschen. Danach wird in den Schritten 221 bis 223 das SS-Signal gelöscht und das 59
Signal gesetzt, bevor auf den Schritt 224 übergegangen wird.
Nachdem der Schritt 224 auf einem der beiden in F i g. 4 gezeigten Wege erreicht wurde, entnimmt das
System dann die Daten für den nächsten Teil-Programmblock aus dem Teil-Programmspeicher (entweder Speicherabschnitt
566 oder der nächste Block auf einem Lochstreifenband über einen Bandleser). Weil dieser
Vorgang in den Literaturstellen A bis D beschrieben ist, ist er lediglich allgemein in den Schritten 224 bis 299 in
der Tabelle AA erläutert, und dieser Vorgang führt zu dem Übergang des »S-Slgnals«, das von 59 auf 51
w.eitergeschaltet wird. Wenn G90- oder G91 -Codesignale während dieser Überführung empfangen werden,
treten sie nicht in das Gß-Register ein, sondern dienen zum Setzen oder Löschen der »Absolut«-Flagge FL90
(Fig. 3).
Wenn der neue Datenblock ein Stelgungs-Segmentblock ist, führt dies dazu, daß die Ziffer »36« in das GB-Speicherwort
eingebracht (oder In diesem belassen) wird. Wenn der Wegsegmentblock im Absolut-Format ist,
führt dies dazu, daß neue Positionsbefehlsziffern bei XEP und ZEP gespeichert werden (obwohl in den meisten
Fällen die erstere Nummer XEP fehlt). Wenn der neue Wegsegmentblock Inkremental-Format aufweist, so
werden neue Achsenbewegungsziffern In IBUF und KBUF gespeichert. Weiterhin wird eine gewünschte Steigungsverhältnisziffer
in das Pufferspeicherwort E eingebracht (oder in diesem belassen), und eine neue
gewünschte Start-Wlnkelposltionsziffer wird in das Pufferspeicherwort θ überführt.
In den Schritten 300 bis 3C2 wird eine Prüfung durchgeführt, um festzustellen, ob der Teil-Programmblock,
der gerade in dem Pufferabschnitt empfangen wurde, ein Block für die spezielle Steigungssegmentbetriebsart
oder für normale Be yegungsbahn-Betriebsarten ist. Der Inhalt des Registers GB wird in den Akkumulator überführt,
und die Konstante »36« wird dann subtrahiert. Wenn im Schritt 302 der Wert von ANS gleich Null 1st,
so ist der neue Block im Puffer ein »G36«-Block, und das System springt zum Schritt 381. Wenn ANS nicht
Null ist, so ist der neue Pufferblock für eine normale Bewegungsbahn-Betriebsart bestimmt, so daß im Schritt
302a die Flagge SFL36 gelöscht wird, wenn ANS -36, -35, -34 oder -33 1st {was anzeigt, daß der Inhalt von
GB gleich GOO, GOl, G02 oder G03 ist). Danach werden in den Schritten 303 bis 380 die neuen Daten in dem
Pufferabschnitt 56c in der normalen, in den Literaturstellen A bis D beschriebenen Weise »vorverarbeitet«, und
ίο diese Vorverarbeitung endet im Schritt 414, an dem die Subroutine durchlaufen ist.
Wenn im Schritt 302 ANS gleich Null ist, was anzeigt, daß die neuen Pufferdaten einen »G36«-Block bilden,
so führt der Sprang zum Schritt 381 zu einem Setzen der Flagge BFL36 (oder einem Belassen dieser Flagge im
gesetzten Zustand). Danach werden die neuen Wegsegment-Blockdaten vorverarbeitet, und zwar in Abhängigkeit
davon, ob sie in absolutem oder inkrementalem Format empfangen wurden (d. h. ob die Flagge FL90
i> gesetzt oder gelöscht wurde). Wenn im Schritt 384 festgestellt wird, daß die Flagge FL90 den Wert »1« hat, so
werden neue Werte der Achsenbewegungen aus den absoluten Datenziffern XEP, ZEP gebildet. Dies schließt die
Verwendung von Hilfs-Speicherworten XEPp und ZEPP ein, die so ausgebildet werden, daß sie die Werte von
ZEP und XEP für den »vorhergehenden« Block enthalten (d. h. der Block, der sich nunmehr im aktiven
Abschnitt befindet). Es ist aus der Tabelle AA und aus Fig. 4 zu erkennen, daß die Berechnungen und die
Speicherung an den Schritten 385 bis 390 so erfolgt, daß sich folgende Werte ergeben:
.„„/ = XEP - XEPp (4)
KBUF=ZEP-ZEPp (5)
Wenn daher lediglich die Endpunkt-Positionsdaten in einem Absolutformat-G36-Block empfangen werden, so
werden die Wegdifferenzen / und K gebildet.
Weiterhin wird, wenn FL90=l, in den Schritten 391 bis 393 die Start-Wlnkelposltlon θ (in Grad) maß- „
stäblich verändert, um eine Pufferziffer BOSL In »Teilungen« zu erzielen. Unter der eingangs genannten |
Annahme, daß eine Umdrehung oder 360° in Form von 4000 Teilungen behandelt wird, kann Irgendeine Ziffer |
N In Grad in eine Ziffer M in Teilungen umgewandelt werden:
Λ/Teilungen = N Grad χ ^ = ii,m M (6)
360
Daher 1st die Konstante k2 (Speicherabschnitt 56/) als 11,111 gespeichert, und in den Schritten 391 bis 393
wird die umgewandelte Ziffer BBSL zu:
BdSL = Ic1- 0 = 11,111 θ (7)
Wenn beispielsweise die Befehls-Startposition 90° ist, so ist die Ziffer BOSL gleich 1000 Teilungen.
4() Wenn sich das System andererseits In der Inkrementalen Datenformat-Betriebsweise befindet und das Flaggensignal
FZ.90 im Schritt 384 den Wert »0« aufweist, so werden die Schritte 385 bis 395 übersprungen und
die Schritte 396 bis 405 ausgeführt. In diesem Fall schließen die neuen, in dem Pufferabschnitt 56c empfangenen
Daten die Ziffern IBUF, KBUF und eine Startposition θ ein, die als Schrittwinkel oder Inkrement-Wlnkel
von der Startposition des vorhergehenden Blockes zur Startposition des Blockes ausgedrückt Ist, der sich
d5 nunmehr im Puffer befindet. Entsprechend werden neue Werte von Endpunkten für den Pufferblock durch die
Operationen während der Schritte 396 bis 401 gebildet:
XEP = XEPp + IBUF (8)
ZEP = ZEPP + KBUF (9)
Danach wird unter Verwendung des »aufbewahrten« absoluten Startwinkels BOSL1, des »vorhergehenden«
Blockes ein absoluter Startwinkel aus der 0-Ziffer gebildet und in BOSL gespeichert. In den Schritten 402 bis
406 schließt die Folge zunächst die Umwandlung des inkrementalen Winkelbefehls θ In Grad In »Teilungen«
und dann die Addition zu dem »vorhergehenden« Startwinkel ein:
BOSL = BOSL^k1O (10)
Der »derzeitige« Wert von BOSL wird (Schritt 406) als neuer Wert In BOSL1, überführt, so daß er verwendet
werden kann, wenn der nächste G36-Datenblock In dem Pufferspeicher empfangen wird. Die Signale BOSL1,
ω werden sowohl im absoluten als auch Im inkrementalen Datenformat immer Im Schritt 406 in ihrem Wert
erneuert, so daß. wenn eine neue Serie von Inkrementalen G36-Datenblöcken empfangen wird, die Startposition
des ersten Steigungssegmentes aus der Startposition des letzten, vorher ausgeführten Steigungssegmentes
bestimmt wird.
In den Schritten 407 bis 409 (unabhängig davon, ob sie über den Schritt 405 oder durch Springen vom
ft5 Schritt 395 zum Schritt 406 erreicht wurden) wird das Befehls-Stelgungsverhältnls E In Zoll pro Umdrehung
maßstäblich In eine Ziffer verändert, die die Dimensionen von Zoll pro Teilung aufweist. Eine Konstante k*
wird aus dem Speicher entnommen und mit dem Steigungsbefehl E multipliziert, um BE, zu schreiben:
BE, = k*E (11)
Well hler 4000 Teilungen pro Umdrehung angenommen wurden, so 1st die Konstante A4 zu 2,5 χ 10"4 gewählt,
well:
ist, um BES In Zoll pro Teilung auszudrücken.
In den Schritten 410 bis 413 werden die Endpunkte dieses Pufferblockes für die Verarbeitung des nächsten
Blockes dadurch aufbewahrt, daß die Werte in XEP und ZEP in die Register XEPp und ZEPp überführt werden.
Die Routine nach Flg. 4 und nach Tabelle AA ist dann vollständig und wird im Schritt 414 verlassen.
Die Übertragung eines speziellen »G36«-Blockes B vom Puffer zum aktiven Speicher (Schritte 204 bis 223) ist
somit erfolgt, der nächste Block Bn+1 wird in den Pufferspeicherabschnitt überführt (Schritte 224 bis 229) und
die Teil-Programmdaten des letzteren Blockes werden »vorverarbeitet« (Schritte 381 bis 414), wie dies in Flg. 4
und Tabelle AA gezeigt ist. Wenn der Block Bn+1 im Absolut-Format ist, so werden die Werte der Achsenbewegungen
in IBUF und KBUF gebildet; wenn diese Daten in Inkremental-Format sind, so werden die Datenblock- ^
werte IBUF und KBUF zur Bildung von XEP und ZEP verwendet, und die inkremental Ziffer β wird In BBSL
in eine absolute Start-Wlnkelpositlon umgewandelt. Alie Ziffern (Θ und £), die Winkel bedeuten, werden
maßstäblich verändert, um Ziffern BEs und BOSL zu bilden, die Winkelabmessungen in Teilungen anstelle von
Grad oder Umdrehungen aufweisen.
Die Beschreibung des Pufferspeicherabschnittes 56c und die Vorverarbeitung von Teil-Programmdaten In
diesem vor der Überführung in den aktiven Abschnitt 56c wurde hler gegeben, um eine Übereinstimmung mit
den Beschreibungen in den Literaturstellen A, B und C zu erzielen. In der tatsächlichen Praxis kann es vorzuziehen
sein, diesen Pufferabschnitt 56c fortzulassen und, wenn ein Block von Daten in dem aktiven Speicher
vollständig ausgeführt wurde, den nächsten Block direkt von dem Tellprogramm-Spelcherabschnltt 566 zum
aktiven Abschnitt 56d zu überführen, wobei die gewünschten Umwandlungen oder Vorverarbeitungen während 2^
des Verlaufs der Überführung und infolge dieser Überführung erfolgen. Es kann frei gewählt werden, ob diese
Zwischenpufferung verwendet wird, und der Fachmann ist in der Lage, die »direkte Überführung mit Vorverarbeitung«
zu verwenden, wenn diese Alternative erwünscht ist.
Nach der Überführung zum aktiven Speicher (Schritte 204 bis 223) erscheinen die Pufferwerte XEP, ZEP,
IBUF, KBUF, BOSL und BES In den entsprechenden aktiven Speicherworten XCEP, ZCEP, 1, K, dSL bzw. E1.
Erflndungsgemäß sind daher Einrichtungen zur Durchführung von folgenden Verfahrensschritten vorgesehen:
Erzeugung erster Signale (Θ oder B6SL oder 6SL), die numerisch die gewünschte Start-Winkelposition eines
Steigungssegmentes darstellen;
Erzeugung zweiter Signale (E oder BES oder E1), die ein gewünschtes Steigungsverhältnis darstellen; und
Erzeugung dritter Signale (ZEP oder ZCEP), die eine gewünschte Endposition für das Steigungssegment
darstellen.
Im vorliegenden Fall stellt eine Z-Achsen-Positlon (ZCEP) den Steigungssegment-Endpunkt dar. Dies
entspricht der Erzeugung von Signalen, die einen Winkelendpunkt darstellen, well die festgelegte End-Z-Achsen-Position
In Verbindung mit dem festgelegten Steigungsverhältnis den Endposltlonswinkel des Segments
festlegt. Das heißt, daß dann, wenn die Startposition gleich 6SL ist und die Endposition gleich ZCEP für den
Block Bn 1st, die Endposition QEL wie folgt Ist:
BEL = eSL + — = 05X + ZCEPB" - ZCEPBn-\ (13)
E. F
Das erfindungsgemäße Verfahren kann daher alternativ dadurch ausgeführt werden, daß in einen G36-Datenblock.
die Winkelendposition OEL eingeschlossen 1st oder daß Signale von den Blockdaten abgeleitet werden, um
diese Position darzustellen. 5Ü
Die Winkelerstreckung Irgendeines Steigungssegmentes 1st Indirekt durch die Endposition ZCEP und die Steigung
Es festgelegt, die für Irgendeinen C36-BIock signalisiert wird. Die Differenz zwischen dem Startwinkel ftSX
und dem Endwinkel OFL 1st In einfacher Weise wie folgt:
Winkelerstreckung = OEL -dSL = ^- 6SL (13a) "
wobei K gleich ZEP - ZEP1, gemäß der Gleichung (S) 1st.
Mit den grundlegenden, In dem aktiven Speicherabschnitt 56t/ erzeugten Signalen werden kurze gleiche, &o
aufeinanderfolgende Zeltperioden AT zeitlich abgemessen und zur Ausführung einer »Interpolations«-Subroutine
(Flg. 5 und Tabelle BB) In Abhängigkeit von einem Unterbrechungssignal verwendet, das alle Δ1 (beispielsweise
alle 20 ms) erzeugt wird. Diese Interpolations-Subroutine für »normale Bewegungsbahn-Betriebsarten«
kann gleich der sein, wie sie In den Literaturstellen A bis D beschrieben 1st, doch sind die Befehle In dem Speicheralbschnitt
56a so ausgebildet, daß ein spezieller Vorgang ausgebildet wird, wenn die Datensignale In dem
aktiven Speicher ein Steigungssegment darstellen (d. h. von einem »C736«-Block eines Teil-Programms abgeleitet
wurden). Die letztere Bedingung trifft zu, wenn die aktive Flagge AFL36 gesetzt Ist.
Während jeder Perlode AT wird, wenn die Subroutine nach Fig. 5 begonnen wird, eine »Erster Durchgang«-
Flagge FLIP zunächst in den Schritten 1000, 1001 (Tabelle BB) überprüft. Wie dies welter unten erläutert wird,
wird diese Flagge gesetzt, wenn die Ausführung eines G36-Steifungssegmentes im Gange ist und ein »erster
Durchgang« vorher vollendet wurde. Wenn die Flagge FLIP nicht gesetzt ist, so wird in den Schritten 1002,
1003 die /4FL36-Flagge überprüft. Wenn diese Flagge nicht gesetzt ist, so sind die Daten In dem aktiven Spei-
eher nicht für einen Steigungs-Segmentblock bestimmt und das System läuft weiter durch die Schritte 1004 bis
1999, um die normale Interpolation für die Bewegungsb^n-Betriebsarten GOO, GOl, G02 oder G03 durchzuführen,
wie dies ausführlich in den Literaturstellen A bis D beschrieben ist. Dies führt zu einem Sprung von Schritt
1199 zum Austrittsschritt 2505 aus dieser Subroutine.
Wenn beim ersten Durchgang durch die Subroutine nach Flg. 5 jedoch festgestellt wird, daß die Flagge FLIP
Wenn beim ersten Durchgang durch die Subroutine nach Flg. 5 jedoch festgestellt wird, daß die Flagge FLIP
ίο gelöscht ist, daß jedoch die Flagge AFLZS gesetzt 1st, so springt das System vom Schritt 1003 zum Schritt 2000.
Im Schritt 2000 werden die sich dynamisch ändernden tatsächlichen oder jeweiligen Winkelpositionssignale QAP
(In Teilungen) gelesen und einem Halteregister ΘΑΡΗ zugeführt. Die »festgehaltenen« jeweiligen tatsächlichen
Positionssignale werden daher einmal pro ΔΤ (alle 20 ms) in Ihrem Wert erneuert und die Differenz zwischen
zwei aufeinanderfolgenden Werten hiervon (OAPH-OAPH1,) stellt die Winkelstrecke ΔΘ dar, die in einer Perlode
AT durchlaufen wurde. Diese Differenz wird bei jedem Durchgang (alle AT) in den Schritten 2002 bis 2003
berechnet und gespeichert, und zwar durch folgende Berechnung:
ΑΘ = ΘΑΡΗ - OAPH„ 04)
Sobald der Wert QAPH1, für die »vorhergehende Position« zur Ableitung von AQ bei »diesem Durchgang«
verwendet wurde, wird der Wert QAPH für die »derzeitige Position« als neuer Wert von QAPHP gespeichert und
bei der nächsten Iteration oder beim nächsten Durchgang durch die Subroutine verwendet. Dies erfolgt In den
Schritten 2004, 2005. Im Schritt 2006 wird die Flagge FLIP für den ersten Durchgang überprüft, um festzustellen,
ob das System bereits den ersten Durchgang oder die erste Iteration der Subroutine vervollständigt hat. In
der die Z-Achsen-Bewegung für einen aktiven Steigungs-Segmentblock begonnen wurde. Es sei im Moment
angenommen, daß dieser »erste Durchgang mit Z-Bewegung« noch nicht erfolgt ist und daß die Flagge FLIP
noch nicht gesetzt wurde. Das System vergleicht in den Schritten 20G8 bis 2010 (während jeder Perlode AT, bis
eine Erkennung erfolgt) die tatsächliche Winkelposition des Werkstückes mit der gewünschten Winkel-Startposition
für das Steigungssegment. Es verwendet die Signale QAPH und QSL, um zu bestimmen, wenn das erstere
im wesentlichen gleich dem letzteren wird. Eine genaue Gleichheit kann jedoch gegebenenfalls nicht eintreten,
weil bei einem Durchgang durch die Subroutine OAPH kleiner als QSL sein kann, während beim nächsten
Durchgang 20 ms später OAPH größer als OSL sein kann. Daher werden die Signale OAPH und OSL In einer
derartigen Weise verglichen, daß festgestellt wird, wann das letztere gerade den Wert des ersteren überschritten
hat, wenn sich die Winkelposition des Werkstückes während jeder Periode AT ändert. Zu diesem Zweck wird
eine Subtraktion durchgeführt, und die Feststellung, daß OAPH Im wesentlichen gleich QSL ist, erfolgt dadurch,
daß bestimmt wird, wann die Differenz zum erstenmal In Ihrer Größe genähert gleich dem Wlnkellnkrement AQ
wird, über das sich das Werkstück während jeder Periode AT bewegt.
Im einzelnen wird in den Schritten 2008 bis 2010 ein »Überlauf«-Wert QOR berechnet und in der folgenden
Weise gespeichert:
QOR = QAPH - QSL (15)
Der Wert 0OR, um den die »tatsächliche Position« von der gewünschten Startposition OSL abweicht, wird als
positive oder negative Ziffer in dem Akkumulator (ANS = 0OR) während des Schrittes 2010 signalisiert. Wenn
das Vorzeichen negativ Ist, so Ist OAPH
< OSL, doch könnte dies bedeuten, daß QSL klein 1st und daß QAPH
kleiner ist (es Ist gerade noch kein Überlauf erfolgt), oder daß QSL größer und OAPH kleiner ist (ein Überlauf 1st
gerade erfolgt). Wenn daher das Vorzeichen von ANS (d. h. QOR) negativ ist, so geht das System In den Schritt
2011 über. In dem die positive Konstante 4000 hinzuaddiert wird, um einen neu bezogenen positiven Wert für
den Überlauf, d. h. OAPH-QSL zu erzeugen. Wenn die Antwort nicht negativ 1st, springt das System auf den
Schritt 2012. In jedem Fall stellt das Signal ANS 0OR als positiven Wert dar, wenn der Schritt 2012 erreicht Ist,
und dieser Wert wird am Speicherplatz QOR gespeichert.
Während der Schritte 2012 bis 2015 wird bestimmt, ob der positive Überlauf kleiner als ungefähr die (Im
Schritt 2003 berechnete und gespeicherte) Werkstückdrehung ΔΘ In einem ΛΓ-Intervall 1st. Well die Drehgeschwindigkeit
des Werkstücktisches von einer Perlode ΔΤ zur nächsten geringfügig schwanken kann, wird ein
Toleranzfaktor von 25% bei der Feststellung verwendet, wann 0OR kleiner als oder gleich groß AQ Ist. Daher
werden In den Schritten 2013, 2014 die Signale AO aus dem Speicher herausgenommen und mit 1,25 multipliziert,
worauf Im Schritt 2015 die Signale QOR subtrahiert werden. Die resultierende Antwort ANS Ist Null oder
positiv, wenn:
M QOR <^ 1,25J9 (14a)
Diese Antwort ANS wird Im Schritt 2016 überprüft. Wenn sie negativ 1st, so Ist bekannt, daß die tatsächliche
Position des Werkstückes winkelmäßig (in positiver oder in negativer Richtung) um mehr als 1,25 AQ gegenüber
der befohlenen Startposition OSL versetzt Ist. Wenn die Antwort nicht negativ ist, so Ist bekannt, daß die
tatsächliche Position gleich der Startposition Ist oder diese Startposition um weniger als 1,25 zf0-überlaufen hat,
und zwar über einen Überlaufwert, der nunmehr in dem 0OR -Speicherplatz gespeichert Ist. Entsprechend
bewirkt eine negative Antwort im Schritt 2016, daß das System zum Austrittsschritt 2505 springt, und der hler
beschriebene Testvorgang wird eine Perlode ΔΤ später wiederholt, wenn erneut in die Subroutine nach Fig. 5
und der Tabelle BB eingetreten wird. Die Schritte 2017 bis 2404 können für verschiedene Iterationen der
Subroutine übergangen werden, bis der Schritt 2016 anzeigt, daß die Signale für die tatsächliche Position und die
Startposition ungefähr gleich sind.
Wenn jedoch Im Schritt 2016 während irgendeiner Iteration ANS nicht negativ ist, so w^den die Schritte
2017 bis 2031 durchgeführt, um eine Z-Achsen- (und möglicherweise eine Af-Achsen-)Bewegung einzuleiten. s
Weil die gespeicherte Überlaufzlffer BOR kleiner als die Winkellnkremente AO pro AT sein kann, mit denen
sich das Werkstück dreht, kann sich das Werkstück während der ersten Periode AT um weniger als das vorher
im Schritt 2003 gespeicherte Winkelinkrement AO drehen, wenn die Z-Achsen-Bewegung zum ersten Mal
erfolgt. Entsprechend kann es erforderlich ssin, da3 das erste Inkrement AZ der Z-Bewegung etwas kleiner ist
als dies durch den Wert AQ bestimmt ist, der während des vorhergehenden Schrittes 2003 gespeichert wurde,
damit die befohlene Steigung eingehalten wird. Daher wird für den »ersten Durchgang der Z-Bewegung«, bei
dem sich das Werkstück über einen Winkel QOR in einer Perlode von AT bewegt, die Ziffer BOR (die Im
Schritt 2012 berechnet und gespeichert wurde) als der Wert AQ1 verwendet, aus dem das erste Z-Inkrement AZ
bestimmt wird. Ip den Schritten 2017, 2018 wird der Wert BOR aus dem Speicher entnommen und als Ersatz in
dem Speicherplatz für die Signale AQ gespeichert. Wenn dieser Ersatz als A0\ bezeichnet Ist, so ist das Ergebnis
wie folgt:
AQ = AO1 = OOR = OAPH-OSl (15)
Es sei daran erinnert, daß QOR auf eine positive Ziffer neu bezogen wurde, von der bereits festgestellt wurde,
daß sie kleiner als oder gleich dem ursprünglichen Wert AQ ist (bei dem bevorzugten Verfahren, kleiner als 1,25
AO). Die Ziffer AB1, die im Speicherplatz AQ enthalten ist, 1st nunmehr ein »erster Durchgangw-Winkelinkrement,
das nicht notwendigerweise gleich dem Wert AQIAT ist, der vorher im Schritt 2003 berechnet und gespeichert
wurde. Er steht zur Verfügung und kann bei der Bestimmung,der »Erster Durchgang«-4Z- (und -AX-)-Inkremente
verwendet werden.
In den Schritten 2019 und 2020 wird die Flagge FLIP gesetzt; sie bleibt gesetzt, um anzuzeigen, daß der
»erste Durchgang« vervollständigt wurde, bis der aktive Steigungs-Segmentblock vollständig ausgeführt wurde.
In den Schritten 2021 bis 2023 wird die in einer Periode AT durchzuführende Bewegung AZ berechnet, und
zwar unter Verwendung der Signale E1, die die gewünschte Steigung darstellen. Wenn der Werkstücktisch und
das Werkstück sich um einen Winkel AO in eiiur Periode AT gegeneinander drehen und wenn sich das
Schneidwerkzeug entlang der Z-Achse um AZ bewegt, so ist die Steigung gleich:
£5 = 4? in Zo11 Pro Teilung (16)
Δ0
Damit ist
AZ = AO-E, (17)
Diese Multiplikation wird im Schritt 2023 ausgeführt, und in diesem Schritt wird weiterhin das Ergebnis ΔΖ
gespeichert. In der Praxis können mehr Speicherperloden erforderlich sein, um die Multiplikation von mehrstelligen
Ziffern durchzuführen, doch ermöglicht es die Mikroprogramm-Möglichkeit eines Rechners, daß diese
Multiplikation in Form eines einzigen Befehls mit dem Operationscode »MX« geschrieben wird.
Es sei angenommen, daß, wenn eine Serie von Steigungssegmenten ausgeführt werden soll, das Schneidwerkzeug
zunächst In eine A'-Achsen-Positlon gebracht wurde, In der es die Werkstückoberfläche fast berührt, jedoch
gerade noch einen Abstand von dieser aufweist. Sofern die Nut nicht an einem axialen Ende des Werkstückes
beginnen soll (in diesem Fall wird das Schneidwerkzeug anfangs auf eine A'-Achsen-Positlon gebracht, die gleich
der Nuttiefe ist), kann der erste Steigungs-Segmentblock daher gleichzeitige A"- und Z-Bewegungen umfassen, so
daß das Schneidwerkzeug die gewünschte Nuttiefe (A"-Achsen-Endpunkt XEP) zur gleichen Zeit erreicht, wie es
den Wert Z und die Winkel-Endpunkte (ZEP und OEL) des Steigungssegmentes erreicht. Diese »Einführung«
für das erste Steigungssegment einer zusammengesetzten Nut führt dazu, daß dieses Segment in seiner Tiefe
gleichförmig ansteigt. Um dies zu erreichen, wird die A'-Achsen-Bewegung mit der Z-Achsen-Bewegung
während jeder Periode AT derart koordiniert, daß gilt:
|! ΔΧ = ΔΖΙΙΚ (18)
Diese Multiplikation wird wahrend der Schritte 2024 bis 2026 durchgeführt, so daß die ziA'-ln.krementwerte
(zusammen mit denen für AZ) für eine nachfolgende Verwendung bereit sind. Das gleiche Verfahren wird dazu
verwendet, um das Schneidwerkzeug aus der Nut während der Bearbeitung des letzten Steigungssegmentes einer
Serie herauszubewegen. Mit Ausnahme der ersten und letzten Steigungssegmente einer Serie werden die XEP-Endpunkte
nicht geändert (sofern es nicht erwünscht ist, eine Nut zu schneiden, deren Tiefe sich ändert), und
die Größen / und AX sind automatisch gleich Null.
Wenn das den Signalen in dem aktiven Speicher entsprechende Steigungssegment tatsächlich durch maschl-
Wenn das den Signalen in dem aktiven Speicher entsprechende Steigungssegment tatsächlich durch maschl-
Ϊ'- nelle Bearbeitung hergestellt werden soll (weil im Schritt 2016 festgestellt wurde, daß QAPH im wesentlichen
?· gleich QSL ist), so wird eine Z-Achsen-Bewegung mit einer Geschwindigkeit von AZIAT (und möglicherweise
eine A'-Achsen-Bewegung mit einer Rate von AXIAT) durch die periodische Makrobewegungs-Werterneuerung
einer Befehlspositionsziffer ZCP (und möglicherweise XCP) erzeugt. Dies wird entsprechend dem ausführlich in
den Literaturstellen A, B und C beschriebenen Verfahren, das hier durch die Schritte 2027 bis 2031 angezeigt
ist, durchgeführt. Das iterative Werterneuerungsverfahren ist durch die Gleichungen (2) und (3) angegeben. Die
Ziel-Befehlspositionen XCP und ZCP ändern sich daher fortschreitend (bleiben jedoch konstant, wenn AX oder
AZ Null ist), so daß die noch zu beschreibenden Servosysteme die gewünschten X- und Z-Bewegungen hervorrufen,
die durch die Steigungssignale Es koordiniert sind, um das gewünschte Steigungssegment maschinell
einzuarbeiten.
Sobald eine Z-Achsen-Bewegung eingeleitet wurde (und die Flagge FLIP gesetzt wurde), wird, wenn die
Subroutine nach Fig. 5 und Tabelle BB wiederholt ausgeführt wird, die Überprüfung der /4fI36-Flagge In den
Schritten 1002, 1003 übersprungen, weil das System vom Schritt 1001 zum Schritt 2000 springt. Weiterhin Ist,
wenn die Flagge FlAP im Schritt 2007 als gesetzt festgestellt wird, die »Erster Durchgang«-Berechnung von
ι» BOR und Δθ\ unnötig, und es erfolgt ein Sprung zum Schritt 2021. Weil die Subroutine alle AT ausgeführt wird,
ist die Berechnung von ΔΘ in den Schritten 2002, 2003 gültig, um die Winkelgeschwindigkeit ΔΘΙΔΤτ\χ bestimmen,
und diese Geschwindigkeitsziffer kann dann In den Schritten 2021 bis 2026 zur Bestimmung des jeweils
erforderlichen Wertes von ΔΖ und andererseits AX verwendet werden. Die Ziel-Positionsbefehle ZCP (und
möglicherweise XCP) werden kontinuerlich um Werte geändert, die das Schneidwerkzeug »auf der Steigung«
i; halten.
Die einmal pro AT durch die Subroutine nach Flg. 5 durchgeführten Iterationen werden fortgesetzt, bis
Vorgriff- (»look ahead«-)Operationen anzeigen, daß die Z-Achsen-Posltionssignale ZCP im wesentlichen gleich
dem Endpunkt ZCEP geworden sind (oder XCP im wesentlichen gleich XCEP ist, wenn die A'-Achse die
»schnelle Achse« ist), und zu dieser Zeit wird das Flaggensignal an Sl auf 52 weitergeschaltet. Well diese
Vorgriffoperationen ausführlich in den Literaturstellen A und B beschrieben sind (siehe Spalten 59 bis 64 In der
Literaturstelle B), sind sie nicht ausführlich In Fig. 5 und Tabelle BB ausgeführt. Weiterhin wird, wenn eine
(J09-Abbremsung aufgerufen wird, well die aktive Speicherflagge (709 eine »1« enthält, die Bestimmung der
Werte für AZ und AX, die hier in den Schritten 2021 bis 2026 gezeigt ist, so modifiziert, daß sich die Werte ΔΖ
und AX von AT zu AT fortschreitend verringern. Weil diese Funktion ausführlich in den Literaturstellen B und
D beschrieben ist, sind Einzelheiten hier nicht In den Schritten 2021 bis 2026 angegeben, doch ist es verständlich,
daß diese Funktion auftritt, wenn die G09-FIagge gesetzt ist und durch die Vorgriff-Operation bestimmt
wird, daß der Bremsungszeitpunkt erreicht wurde. Es dürfte ausreichend sein, festzustellen, daß, bevor die
Vorgriff-Operation zur Feststellung des Endpunktes zu einem Signal dafür führt, daß ZCP ungefähr gleich
ZCEP ist, das Signal S2 den Wert »0« beibehält und das System vom Schritt 2401 (Tabelle BB) zum Austritt
aus der Subroutine im Schritt 2505 führt. Wenn dieser Zustand festgestellt wird, so wird das Signal Sl auf »0«
gelöscht, und das Signal 52 wird auf »1« gesetzt, so daß die Schritte 2402 bis 2500 ausgeführt werden, um die
Blockübertragung durchzuführen, mit dem Ergebnis, daß das Übertragungssteuersignal von 52 auf 57 weitergeschaitet
wird. Dies kann mehr als einen Durchgang durch die Subroutine nach Fig. 5 erfordern, wie dies in den
Literaturstellen A und B beschrieben ist, und das Signal 57 wird daher in den Schritten 2501 und 2502 überprüft.
Wenn es »0« ist, springt das System auf den Austrittsschritt 2505, wenn das Signal jedoch eine »1« 1st, so
geht das System auf den Schritt 2552a über, um festzustellen, ob das G09-Flaggenslgnal eine »0« oder eine »1«
ist. Im ersten Fall wird die Z-Achsen-Bewegung unmittelbar fortgesetzt (wie es weiter unten anhand der Fig. 11
und 12 erläutert wird), und das System springt vom Schritt 2552b auf die Schritte 2504 und 2505. Die Flaggen
FLXP und AFL36 bleiben gesetzt, und sobald der nächste Datenblock sich im aktiven Speicher befindet
(aufgrund der Übertragungsfunktionen nach Fig. 4), wird die Subroutine nach Fig. 5 ausgeführt, wobei die
Schritte 2008 bis 2020 übergangen werden. In diesem Fall (wenn G09 gleich »0« ist) ist es nicht erforderlich,
festzustellen, wann ΘΑΡΗ im wesentlichen gleich 0SL wird, well die Startposition eines G36-Segmentes die
Endposition des vorhergehenden G36-Segmentes ist.
Wenn andererseits im Schritt 2052b festgestellt wird, daß das G09-Flaggensignal eine »1« ist, so schreitet das
•45 System über die Schritte 2503 und 2503a fort, mit deren Hilfe die Flaggen FLIP und AFL36 gelöscht (auf »0«
gesetzt) werden. Wenn das nächste Mal in die Subroutine nach FI g. 5 eingetreten wird und wenn der neue
aktive Block kein G36-Segment definiert, so arbeitet das System normal über die Schritte 1004 bis 1198 und
springt zum Austrittsschritt 2505. Wenn der neue aktive Block ein G36-Segment definiert, wird im Schritt 1003
festgestellt, daß die Flagge AFL36 gesetzt ist, und das System führt die Schritte 2008 und folgende aus, bis festgestellt
wird, daß die tatsächliche Position QAPH im wesentlichen gleich der Startposition QSL des neuen aktiven
Blocke-, geworden ist. Bevor dies eintritt, bleiben die AX- und AZ-Werte gleich Nu!!, und ein NuHste!-
gungs-Nutteil wird in dem Werkstück ausgebildet. Dies heißt mit anderen Worten, daß, wenn der neue und
nächste Block, der in den aktiven Speicherabschnitt überführt wird, ein G36-Block ist, die hier beschriebenen
Operationen mit geänderten Daten wiederholt werden, so daß ein weiteres Steigungssegment maschinell bearbei-
*><· tet wird, wobei bei einer anderen gewünschten Winkelposition auf dem Werkstück begonnen wird und wobei
das nächste Segment unmittelbar auf das vorhergehende Segment folgt, wenn die G09-Flagge im Schritt 2052b
nicht den Wert »1« aufwies.
Zusammenfassend ist festzustellen, daß in der vorstehenden Weise dann, wenn sich jeder Block von Steigungssegment-Teilprogrammdaten
im Pufferspeicher befindet (und wenn er in den aktiven Speicher überführt <*>
wurde), erste, zweite und dritte Signale QSL, E1 und ZCEP erzeugt werden, die (a) eine gewünschte Winkel-Startposition
eines Steigungssegmentes, (b) ein gewünschtes Steigungsverhältnis und (c) eine gewünschte
Endposition darstellen (die die Winkelerstreckung des Segmentes bestimmt).
Danach werden, während aufeinanderfolgende Perioden AT abgemessen werden, vierte Signale ΘΑΡΗ während
jeder Periode AT erzeugt, die die gemessene tatsächliche Winkelposition des Werkstückes gegenüber der Rieh-
<>s tung des Schneidwerkzeuges (d. h. gegenüber einem Radius senkrecht zur Drehachse, entlang dessen das
Schneidwerkzeug 14 nach Fig. 1 liegt) darstellen. Während jeder Periode AT werden die ersten und vierten
Signale verglichen, um festzustellen, wann das letztere im wesentlichen gleich dem ersteren wird. Obwohl dies
auf verschiedene Weise durchgeführt werden kann, berechnet die vorstehend beschriebene Ausführungsform
der Vorrichtung und des Verfahrens eine Überlaufziffer QOR = QAPH - QSL bei jeder Periode AT und stellt fest,
wenn ein positiver Wert dieser Überlaufziffer zum ersten Mal kleiner als AO pro AT wird (oder in der bevorzugten
Ausführungsform kleiner als 1,25 ΔΘ wird).
Dann und lediglich dann wird die Z-Achsen-Bewegung eingeleitet. Diese Bewegung wird dadurch erreicht,
daß während jeder Perlode AT fünfte Signale AQ erzeugt werden, um die Winkeländerung in der Werkstückposition
In der Zeitspanne von einem AT darzustellen. Die zweiten uiid fünften Signale Es und AQ werden zur
Bewegung des Schneidwerkzeuges entlang der Z-Achse über eine Strecke von AZ für jede Perlode AT verwendet,
wobei AZ = AQ-E1 ist. Dies wird dadurch erreicht, daß die Z-Befehlspositlonssignale ZCP (die in der
abschließenden Z-Servosteuerung verwendet werden) um den Betrag AZ während jeder Periode AT verändert
werden.
Während der Ausführung des ersten und/oder letzten Blockes einer Folge von »G36«-Stelgungs-Segmentblöcken
wird, well diese ersten und letzten Blöcke -Y-Achsen-Daten enthalten, die eine .Y-Bewegung / hervorrufen,
die ungleich Null ist, das Schneidwerkzeug entlang der A"-Achse gleichzeitig und koordiniert mit der
Z-Achsen-Bewegung bewegt. Sechste Signale werden erzeugt, um die A"-Bewegung / darzustellen. Die zweiten,
fünften und sechsten Signale werden zur Bewegung des Schneidwerkzeuges über eine Strecke von AX während is
jeder Periode ζ)Γverwendet, wobei AX=AZ-^ = AQ ■ Es ■ ^, 1st. Dies führt dazu, daß das Schneidwerkzeug in
der Steigung bis zu einer gewünschten Nuttlefe eintritt oder sich aus dieser Nut herausbewegt. Dies bedeutet,
daß das erste und/oder letzte Segment einer Folge von Steigungssegmenten sich in der Tiefe gleichförmig und
gleichmäßig ändert.
Nachdem die Ausführung eines Steigungs-Segmentblockes begonnen hat, wird sie durch die Beendigung der 2U
AZ- (und AY-)Werterneuerung der Positionsbefehlssignale ZCP (und XCP) durch Vergleichen der dritten
Signale (ZCEP) mit den Servobefehlssignalen (ZCP) beendet, wobei mit Hilfe dieses Vergleichs bestimmt wird,
wann die letztgenannten beiden Signale ungefähr gleich werden. Das Vorgriff-Verfahren nach den Llateraturstellen
A und B umfaßt diesen Vergleich, so daß, wenn eine weitgehende Gleichheit festgestellt wird, das Signal 52
erscheint, so daß die wiederholten Iterationen durch die Subroutine von Flg. 5 gestoppt werden. Weil die
Schneidwerkzeugbewegung entlang der Z- (und Ä"-)Achse beendet wird, wenn das Schneidwerkzeug die
programmierte Schneidwerkzeug-Position ZCEP erreicht, endet das auf der Werkstückoberfläche gebildete
Segment, nachdem die Z-Achse über eine Strecke K = ZEP- ZEP1, durchlaufen wurde und das Werkstück über
einen Winkel gedreht wurde, der gleich K/Es ist.
Nachdem die Z-Bewegung (und Irgendeine A"-Bewegung) für ein vorgegebenes Steigungssegment beendet ist,
verbleibt das Schneidwerkzeug einfach im stationären Zustand, während sich der Werkstücktisch und das
Werkstück welter drehen, sofern nicht der nächste darauffolgende Teil-Programmblock unmittelbar eine Z-
und/oder ,^-Bewegung aufruft. Aufgrund dieser Tatsache wird ein Nullsteigungs-Segment automatisch in das
Werkstück, ausgehend von der Endposition eines programmierten Steigungssegmentes, zur Anfangsposition des
nächsten programmierten Steigungssegmentes eingeschnitten. Daher können Nullsteigungs-Segmente mit
Vorteil zwischen aufeinanderfolgenden Steigungssegmenten und ohne die Notwendigkeit eines getrennten Teil-Programmblockes
für jedes Nullsteigungs-Segment eingefügt werden. Diese Nullsteigungs-Segmente werden
automatisch ausgebildet, wenn der G09-Code in den ersten Block von G36-Daten und den nächsten Blockbefehl
an der Startposition QSL eingefügt ist, der gegenüber der Endposition des ersten Blockes versetzt Ist. Wenn
jedoch ein G09-Code in einem ersten Block von (736-Daten fehlt, so führt das System den folgenden Block
unmittelbar aus, weil die Startposition des zweiten Segmentes gleich der Endposition des ersten Segmentes ist.
F. Abschließende Servobewegungssteuerung
Jedesmal, wenn sich die Befehlspositionssignale XCP oder ZCP als Ergebnis der Operationen ändern, die
vorstehend für einen »GSow-Steigungs-Segmentblock von Programmdaten beschrieben wurden, werden sie
entsprechend den Lehren der Literaturstelle C zur Ansteuerung der Motoren MX und MZ derart verwendet, daß
die X- und Z-Achsen-Positionen des Schneidwerkzeuges 14 mit einer »weichen« Servowirkung nachlaufen. Dies
ist wünschenswert, weil zu Beginn eines Steigungssegmentes die Werte von AZ und AX von Null auf irgendeinen
endlichen Wert springen und sich die Positionsbefehlssignale um nennenswerte Beträge ändern, die
Achsenbeschleunigungen hervorrufen. Am Ende eines Steigungssegmentes ändern sich die Werte von AZ und
AX von endlichen Werten auf Null, sofern nicht der nachfolgende Datenblock eine unmittelbar fortgesetzte
Bewegung entlang der Z- oder A'-Achsen aufruft. In dem Fall, In dem zwei aufeinanderfolgende Steigungssegmente
durch einen Teil mit einer Steigung von Null getrennt werden soll, wird eine automatische »Abbremsung
auf Null« ausgeführt, wie dies in den Literaturstellen B und D beschrieben ist. Wenn sich die Bewegung unmittelbar
nach dem Ende eines Steigungssegmentes fortsetzt, ist die Abbremsung oder Beschleunigung nicht so
extrem, daß sie nicht bei ausreichender Genauigkeit hingenommen werden kann, wenn das Servosteuerverfahren
der Literaturstelle C verwendet wird.
Die Fig. 6 und 7 sind im wesentlichen identisch zu den Fig. 5 und 6 der Literaturstelle C und weichen von
dieser Literaturstelle C lediglich dadurch ab, daß die wahlweisen Merkmale des (a) automatischen Ausgleichs
oder der Beseitigung von Servoabwelchungen und (b) des Übertragens der Reststellen als Ziffern XVCR und
ZVCR fortgelassen werden, die in der Literaturstelle C beschrieben sind. Daher erscheinen Hauptprogrammlisten
für die Ablaufdiagramme der Fig. 6 und 7 dieser Beschreibung als unnötig und sind hier nicht beschrieben,
da sie in den Tabellen I und II der Literaturstelle C ausführlich angegeben sind. Im einzelnen können die
Schritte 106 bis 113 und 122 bis 129 aus dieser Tabelle I der Literaturstelle C fortgelassen werden, wobei sich
dann ein Ablaufdiagramm ergibt, das der vorliegenden Flg. 6 entspricht, wobei sich eine Subroutine ergibt, in
die unter ΛΤ420 ms-)Unterbrechungsintervallen eingetreten wird. In gleicher Weise können die Schritte 9 bis 11
und 20 bis 22 aus der Tabelle II der Literaturstelle C fortgelassen werden, so daß diese Tabelle dann im
wesentlichen eine Subroutine darstellt, die der vorliegenden Flg. 7 entspricht (wobei daran zu erinnern ist, daß
überall »Z« anstelle von »y« gesetzt ist), und In diese Subroutine wird alle ATIlQ oder als 2 ms über eine
Unterbrechung eingetreten.
Die beschriebene Ausführungsform des Systems verwendet daher vorzugsweise die Positionssignale XCP und ZCP, die erzeugt werden, wenn ein Steigungssegmentblock ausgeführt wird, um Verzögerungen XLAG und ZLAG zwischen XCP und ZCP einerseits und den sekundären Befehlssignalen XSCP und ZSCP andererseits einzuführen. Dabei sei auf die Operationen bei 80 und 81 in Flg. 6 hingewiesen, die als Ergebnis der Hauptbefehle in dem Spelcherabschnitt 56a während jeder Periode AT durchgeführt werden, nachdem die Signale XCP und ZCP entsprechend der Fig. 5 in Ihrem Wert erneuert wurden.
Die beschriebene Ausführungsform des Systems verwendet daher vorzugsweise die Positionssignale XCP und ZCP, die erzeugt werden, wenn ein Steigungssegmentblock ausgeführt wird, um Verzögerungen XLAG und ZLAG zwischen XCP und ZCP einerseits und den sekundären Befehlssignalen XSCP und ZSCP andererseits einzuführen. Dabei sei auf die Operationen bei 80 und 81 in Flg. 6 hingewiesen, die als Ergebnis der Hauptbefehle in dem Spelcherabschnitt 56a während jeder Periode AT durchgeführt werden, nachdem die Signale XCP und ZCP entsprechend der Fig. 5 in Ihrem Wert erneuert wurden.
Weiterhin werden während jeder Perlode AT Servoschritte berechnet und als Signale geliefert:
XS = GF XLAG (19)
ZS = GF ZLAG (20)
Siehe die Darstellungen bei 82 und 83 in Fig. 6. Vorwärtssteuerziffern XFDFD und ZFDFD werden während
jeder Perlode AT berechnet und als Signal geliefert, wie dies In der Literaturstelle C erläutert ist und bei 84 und
85 in der vorliegenden Fig. 6 dargestellt ist.
Eine Mlkrobewegungs-Subroutine wird während jedes kürzeren Intervalls ATIN, beispielsweise alle 2 ms,
erreicht, wie dies in der Literaturstelle C erläutert und in der vorliegenden Fig. 7 gezeigt ist. Die sekundären X-
2(1 und Z-Befehlsslgnale werden um Beträge AXSIlO und AZSIlO weitergeschaltet, wie dies bei 86 in Flg. 7
gezeigt ist, um laufende Werte von XSCPM und ZSCPM zu bilden. Alle 2 ms werden Fehler XPER und ZPER
signalisiert und gespeichert (bei 87 in Fig. 7), wobei die aktuellen Positionssignale XAP und ZAP verwendet
werden, die in den Digitalisierern 35 und 36 (Fig. 1 und 3) erzeugt werden. Dann werden die abschließenden
Geschwindigkeitsbefehle XVC und ZVC aus den Fehlersignalen XPER und ZPER (mit Verstärkungsfaktoren
GPX und GPZ) und den Vorwärtssteuersignalen XFDFD und ZFDFD (wie dies bei 88 in Fig. 7 gezeigt ist) abgeleitet.
Diese Ziffern werden In die Speicherplätze XVC und ZVC »eingeschrieben« und von diesen kontlnuierKa ||
den Konvertern 45 und 46 (Fig. 1 und 3) zugeführt, so daß die Motoren MX und MZ bewirken, daß sich das B
Schneidwerkzeug in Übereinstimmung mit den sich ändernden Positionsbefehlen bewegt, wobei diese Vorgänge
vollständig in der Literaturstelle C beschrieben sind. Pj
3»
G. Beispiele für Nutformen
Das »Teil-Programm« nach den vorstehenden Beispielen I und Γ zeigt, wie eine zusammengesetzte Nut aus
vier Steigungssegmenten LSI bis LS4, die durch vier Nullsteigungselemente (Fig. 13) getrennt sind, ausgebildet
werden kann, in dem lediglich einige wenige Blöcke von Programmdaten ausgearbeitet werden. Das sich ergebende
Werkstück kann beispielsweise als kreisförmiger Nocken erwünscht und verwendbar sein, der eine Dreh- i
bewegung in eine Linearbewegung umwandelt, die einem Nockenfolger erteilt wird, der In der Nut läuft. Es sei |
erwähnt, daß eine Nut mit gewünschter Tiefe selbstverständlich durch eine Folge von flachen Schnitten oder
Einstichen durch das Schneidwerkzeug gebildet werden kann. Um einen zweiten Durchgang des Schneidwerk -
4(i zeuges in der Nut nach Fig. 13 hervorzurufen, 1st es lediglich erforderlich, daß das Schneidwerkzeug auf eine ^
Z-Achsen-Höhe von 10,5 ZoH zurückgeführt wird, auf eine A'-Startposltion von 13,33 bewegt und dann durch
Wiederholen der Blöcke BLKS 2 bis 6 des Beispiels Γ gesteuert wird. |
Die Ausbildung einer ähnlichen Nut in einem zylindrischen Werkstück 90 ist in F i g. 8 gezeigt, wobei die
Abwicklung dieser Oberfläche in Flg. 8A gezeigt ist. Jeder Nutteil von 360° schließt zwei Steigungssegmente
90a, 906 mit einer Winkelerstreckung von 90° und zwei dazwischen eingefügte Nullsteigungssegmente 90c, 9Od
mit einer Winkelerstreckung von 90° auf. Jöder 360°-Abschnitt folgt auf den vorangehenden, so daß eine
schraubenlinienförmige zusammengesetzte Nut gebildet wird, die als »unterbrochenes Gewinde« bezeichnet
werden kann. Um eine Kabeltrommel maschinell zu bearbeiten, die in vorteilhafter Welse zur Aufnahme eines
Kabels oder Seils gemäß der US-Patentschrift 26 20 996 verwendbar ist, würde das Schneidwerkzeug zunächst
5» gerade zur oberen Oberfläche einer Trommel, die an einer Position von Z = 20 angenommen sei (d. h. des Werkstücks
nach Fig. 1), und auf einer .Y-Achsen-Position gebracht, die dem gewünschten »Boden« der Nut
entspricht. Der Werkstücktisch 12 würde so eingestellt, daß er mit einer gewünschten Winkelgeschwindigkeit S
angetrieben wird. Die erforderliche Folge von Tell-Programinblöcken würde (wenn eine Steigung von 2 Zoll pro
Umdrehung in den Segmenten erwünscht ist) wie folgt:
55
BLK 1 C36 El θ 0 ZEP 19,5 G90
BLKl BLK 3 6Ii BLK 4
BLKS
Diese Folge kann für so viele schraubenlinienförmige 360°-Nutteile wiederholt werden, wie dies erwünscht Ist.
Obwohl jede »Umdrehung« der quasi-schraubenlinienförmigen Nut zwei Steigungssegmente und zwei NuIlflS
Steigungssegmente enthält, sind lediglich zwei Blöcke, jeweils mit einem G09-Code, erforderlich, damit die Z-Achsen-Bewegung
am Ende jedes Steigungssegmentes beendet wird, um einen Nullsteigungsabschnitt der Nut
zu beginnen. Jedes Steigungssegment 90a oder 906 weist eine Steigung von 2 Zoll pro Umdrehung auf (und
weil es sich über 0,5 Zoll In einer Z-Rlchtung erstreckt, eine Winkelerstreckung von 90°), doch hat das gesamte
θ | 180 | ZEP 19,0 | G09 |
θ | 0 | ZEP 18,5 | (709 |
θ | 180 | ZEP 18,0 | G09 |
ZEP 17,5 | G09 |
quasl-schraubenlinienförmige »unterbrochene Gswinde« eine effektive Steigung von 1 Zoll pro Umdrehung.
Die Flg. 9 und 9a zeigen ein weiteres typisches Werkstück 91 und die Abwicklung der Innenoberflüche
dieses Werkstückes. In diesem Fall soll das Werkstück als Lagerhülse mit einer Ölhaltenut 92 in der Innenoberfläche
verwendbar sein, die sich über einen Winkelbereich von 180° und In Axialrichtung über eine Gesamtslrecke
von 1,5 Zoll erstreckt. Wenn sich das Schneidwerkzeug im Inneren des Werkstückes befindet, erzcugl
die nachstehende Folge von Steigungssegment-Teilprogrammblöcken das gewünschte Werkstück (unter der
Annahme, daß sich das Schneidwerkzeug von links nach rechts in Fig. 1 erstreckt und daß sich die Innenwand
des Werkstückes an einer X-Achsen-Position von 14,6 Zoll befindet):
SlO
BLK 1 | GOO | £12 | θ 90 | ZEP 6,0 | XEP 14,6 | G90 |
bLK2 | (736 | θ 225 | ZEP 4,5 | XEP 14,7 | C09 | |
BLK 3 | ZEP 6,0 | XEP 14,6 | G09 | |||
BLK A | GOO | XEP 14,0 | ||||
Die Blöcke BLKl und BLKA dienen lediglich dazu, das Schneidwerkzeug auf Anfangs- und Endposition zu
bringen. Die beiden »G36»-Blöcke BLK3 und BLK4 führen dazu, daß die gewünschte Ölnut mit einer Tiefe
von 0,1 Zoll In dem Nullstelgungs-Segment 92c geschnitten wird, wobei sich jedoch ein kontinuierliches
Ansteigen und Verringern der Tiefe In den beiden Steigungssegmenten 92a und 926 ergibt. Dieses Beispiel
zeigt, daß die »Steigungen« aufeinanderfolgender Segmente in unterschiedlichen Richtungen liegen können,
wobei sich das Segment 92a nach unten erstreckt, während sich das Segment 926 nach oben erstreckt, wie dies
aus den Flg. 9 und 9A zu erkennen ist.
Weitere zusammengesetzte Nuten mit einer Gesamt-Winkelerstreckung von weniger als 360° sind in den
Fig. 10, 11 und 12 dargestellt, die Abwicklungen von zylindrischen Werkstückoberflächen zeigen. Unter
Vernachlässigung der vorbereiteten Operationen, die das Schneidwerkzeug zu Anfang benachbart zur Werk-Stückoberfläche
bringen und die das Schneidwerkzeug von dieser fort bewegen, können die folgenden einfachen
Teil-Programmfolgen verwendet werden:
30
/-0,05 G91 G09
G09 / + 0,05 G09
35
XEP U,9 (790
40
XEP 12,0 G09
45
Bemerkung: Es ist in den Fig. 11 und 12 angenommen, daß sich die Werkstückoberfläche bei
X= 12,0 befindet und die Nut mit einer Tiefe von 0,1 Zoll geschnitten wird.
X= 12,0 befindet und die Nut mit einer Tiefe von 0,1 Zoll geschnitten wird.
Für das Beispiel nach Fig. 12
BLKl G36 £5,76 050 ZEP 6,8 XEP 11,9 G90
BLK 2
E 2,88 ZEP 6,0
BLK 3 £"5,76 ZEP 6,8
BLKA £2,88 ZEP 6,0 XEP 12,0
Fig. 10 und das Teil-Programmbeispiel hierfür zeigen, daß aufeinanderfolgende Steigungssegmente, die durch
Nullsteigungssegmente getrennt sind, nicht die gleiche Steigung aufweisen müssen. Die Steigungssegmente
für BLKl und BLK2 haben Steigungsverhältnisse von 1 Zoll/Umdrehung, während das Steigungssegment für
BLK3 ein Steigungsverhältnis von 2 Zoll/Umdrehung aufweist. Weiterhin müssen aufeinanderfolgende
Steigungssegmente nicht die gleiche Winkelerstreckung aufweisen, und sie müssen nicht durch Nullsteigungssegmente
getrennt sein, die die gleiche Winkelerstreckung aufweisen, obwohl dies in dem Beispiel nach Fig. 10
der Fall ist.
Die Fig. 11 und 12 zeigen eine Nut, die frei gesprochen als »wellige Nut« bezeichnet werden kann, und diese
Figuren zeigen, daß es nicht erforderlich ist, daß aufeinanderfolgende Steigungssegmente durch Nullsteigungs-Nutabschnitte
getrennt sind. In den beispielhaften Teil-Programmen für die FIg. 11 und 12 werden keine G09-Codes
für die automatische Abbremsung auf eine Geschwindigkeit von Null verwendet, weil, wenn die Z-
23
Für das | Beispiel | nach Fig. | 10 | K + 0,0833 |
BLK 1 | G36 | £1 | 030 | K - 0,0833 |
BLK 2 | Θ60 | K+ 1,66 | ||
BLK 3 | £2 | (960 | ||
Für das | Beispiel | nach Fig. | 11 | ZEP 8,5 |
BLKl | G36 | £3,6 | 050 | ZEP 8,0 |
BLK 2 | ZEP 8,5 | |||
BLK 3 | ZEP 8,0 | |||
BLKA | ZEP 8,5 | |||
BLK 5 | ZEP 8,0 | |||
BLK 6 | ||||
Achsen-Bewegung für ein Segment endet, sie unmittelbar für das nächste Segment wieder aufgenommen wird
(hier in der entgegengesetzten Richtung). Wenn, wie in den Fig. 11 und 12 gezeigt, die Startposition eines Steigungssegmentes
die gleiche wie die End-Winkelposition des vorhergehenden Steigungssegmentes sein soll, so
werden die Steigungssegmente sozusagen mit Anfang und Ende jeweils aneinandergehängt. Weil die Startposition
BSL für das SLK2-Segment gleich der Endposition für das BLKl -Segment ist (dies trifft auch für BLKI bis
BLKZ, BLKZ bis BLKA usw. zu), ist es nicht erforderlich, daß der zweite Datenblock in jedem anelnandergrenzenden
Paar von Steigungssegmenten eine programmierte Startpositionsziffer θ enthält, und es ist weiterhin
auch nicht erforderlich, eine neue Ziffer in dem Speicherwort BSL zu erzeugen. Wie dies weiter oben erwähnt
wurde, bedeutet das Fehlen eines G09-Codes, daß der nächstfolgende Nutabschnitt als ein Steigungssegment zu
Ό bearbeiten ist (und nicht als ein Nullsteigungsabschnitt), so daß, wenn das erste Segment eines Paares vollendet
wurde, die Flaggen FLIP und AFLZd nicht gelöscht werden. Wenn der nächste Block von G36-Daten in den
aktiven Speicherabschnitt überführt wird, ist es bekannt, daß sich das Schneidwerkzeug am Ende des ersten
Segmentes und damit an der Startposition für das zweite Segment des Psares befindet. Entsprechend ist der
Test, der bestimmt, wann ΘΑΡΗ im wesentlichen gleich BSL wird, nicht erforderlich und bei der ersten Iteration
Ii der Subroutine nach Fig. 5 (und Tabelle BB) bei in dem aktiven Speicher befindlichen zweiten Segmentdaten
werden die Schritte 2008 bis 2020 einfach übersprungen, weil die Flagge FLXP noch gesetzt ist. Daher weisen
ΔΖ <und gegebenenfalls ΔΧ) einen endlichen Wert auf und dienen zar schrittweisen Änderung von ZCP (und
gegebenenfalls XCP) während dieser allerersten Iteration der Subroutine nach Fig. 5 für das zweite Segment.
Weil jedoch die aktiven Speicherdaten für das zweite Segment eines Paares Werte für E oder ZCP oder XCP
enthalten können, die gegenüber denen für das erste Segment geändert werden, kann die Steigung und/oder die
Richtung (+Z oder -Z) und/oder die Winkelerstreckung des zeiten Segmentes von dem ersten Segment eines
Paares abweichen.
Es ist daher verständlich, daß die Programmdatenblöcke, die weiter oben für die Beispiele nach den Fig. 11
und 12 angegeben wurden, lediglich ein Startpositionswort oder einen Wert θ für das erste Segment einer Folge
von aneinander angrenzenden Paaren enthalten müssen. Wenn ein Segment vollständig bearbeitet wurde,
beginnt das maschinelle Bearbeiten des zweiten Segmentes unmittelbar, wenn auch mit einer geänderten Richtung
und/oder Steigung. Durch Ändern der Richtung der Z-Achsen-Bewegung von einem G36-Block zum
nächsten (wie in den Beispielen nach den Fig. 11 und 12), wird das Vorzeichen des Steigungsverhältnisses im
Ergebnis von Segment zu Segment umgekehrt, so daß die wellenförmige Form geschaffen wird. In Fig. U
3Ί weisen alle Segmente die gleiche Steigung und Winkelerstreckung auf, während Fig. 12 erkennen läßt, wie
einfach das Steigungsverhältnis und/oder die Winkelerstreckung von Block zu Block geändert werden kann.
Während das Steigungsverhältnis für die ersten und dritten Segmente in Fig. 12 5,76 Zoll/Umdrehung beträgt,
beträgt es 2,88 Zoll/Umdrehung für die zweiten und vierten Segmente. Die Erstreckung der ersten und dritten
Segmsnte ist 50°, während die Erstreckung des zweiten und vierten Segmentes gleich 100° 1st.
H. Achsenvertauschung zur maschinellen Bearbeitung von Nuten in Oberflächen,
die quer zur Drehachse verlaufen
die quer zur Drehachse verlaufen
Die Ausführungsformen des Verfahrens und der Vorrichtung wurden bisher unter Bezugnahme auf das
* maschinelle Einarbeiten oder Herstellen von Steigungssegmenten (mit oder ohne dazwischenliegenden Nullslelgungsabschnitten)
in Drehoberflächen auf Werkstücken beschrieben, die mit Hilfe des Werkstücktisches 11
U ,£,.!( um eine Drehachse in einer Drehmaschine angetrieben werden. Die »Drehoberflächen« (die hler aus
Gründen der Kürze als »zylindrisch« bezeichnet wurden) können bogenförmig in dem Sinn sein, daß sie sich
nicht vollständig über 360° um das Werkstück herum erstrecken, und sie können sich nach Art der Oberflächen
eines Kegels verjüngen oder geneigt sein, anstatt Oberflächen eines echten Zylinders zu bilden.
Die beschriebenen Ausführungsformen des Verfahrens und der Vorrichtung ergeben jedoch die. weitere überraschende
und vorteilhafte Möglichkeit des maschinellen Bearbeitens oder Hersteilens von »Stelgungssegementen«
In den Endflächen oder Flanschen, die allgemein In einer Ebene quer zur Drehachse 12 eines In Drehung
angetriebenen Werkstückes liegen. Das naheliegendste Beispiel für das, was hler als »quer verlaufende Oberfläehe«
bezeichnet wird. Ist die obere Endfläche eines massiven zylindrischen Werkstückes, das in Axialrichtung
senkrecht stehend auf dem Werkstücktisch nach Flg. 1 befestigt ist. Ein weiteres Beispiel ist ein spulenförmlges
Werkstück mit einen axialen Abstand aufweisenden Flanschen, wobei jeder Flansch eine obere und untere
Oberfläche aufweist, die in einer horizontalen Ebene senkrecht zur Drehachse 12 liegen. Wenn nun das
Schneidwerkzeug 14 der Drehmaschine zunächst auf eine Z-Achsen-Posltlon gebracht wird, daß es einen
Schnitt auf die gewünschte Tiefe (beispielsweise 0,1 Zoll) ausführt, wenn es mit dieser »quer verlaufenden Oberfläche«
eines Werkstückes In Eingriff kommt, und wenn die A"-Achsen-Bewegung (anstelle der Z-Achsen-Bewegung)
mit der Werkstücktisch- und Werkstück-Drehbewegung koordiniert wird, so kann ein »Steigungssegment«
In diese quer verlaufende Oberfläche eingearbeitet werden. Wenn das Segment an einer Winkelposition
von beispielsweise 30° an dem Werkstück beginnen soll, kann eine Startposition von 030 In einem G36-Tell-
«i Programmblock enthalten sein. Wenn das Segment eine Steigung von 2 Zoll/Umdrehung aufweisen soll, kann
ein Wort £2 in diesem Block enthalten sein. Wenn das Segment schließlich eine Winkelerstreckung von 45°
aufweisen soll, kann ein ,Y-Achsen-Endpunkt XEP in diesem Block enthalten sein, um die A"-Achsen-Abweichung
als 0,25 Zoll zu definieren.
Wenn ein derartiger Block von Teil-Programmdaten In dem Rechnerspeicher 56 signalisiert wird, Ist es ledlg-
<·< Hch erforderlich, daß alle Signale für die .Y-Achse mit denen für die Z-Achse vertauscht werden, und das
Schneidwerkzeug bildet dann ein »Steigungssegment« In der quer verlaufenden Oberfläche, das In Radlalrlchtung
»geneigt« oder spiralförmig mit einer Steigung oder Ganghöhe von 2 Zoll/Umdrehung verläuft und sich
von einer 30°-Position zu einer 75°-Posltion auf dem Werkstück erstreckt. Dies heißt mit anderen Worten, daß
das erfindungsgemäße Verfahren und die Vorrichtung in genau der gleichen Weise angewandt werden können,
wie es welter oben beschrieben wurde, wobei jedoch alle X- und Z-Achsen-Daten und -Signale vertauscht
werden, wenn Irgendeine zusammengesetzte Nut mit einem oder mehreren radialen Steigungssegmenten In einer
quer verlaufenden Oberfläche auf einem Werkstück erwünscht lsi. Die zusammengesetzte Nut kann leicht so
programmiert werden, daß sie Nullsteigungsabschnitte einschließt, die zwischen Steigungssegmenten eingefügt
sind, oder sie kann aneinander anschließende, miteinander verbundene Steigungssegmente aufweisen. Jedes
Steigungssegment kann eine vorgegebene Start-Winkelposltion, ein vorgegebenes Sielgungsverhältnis und eine
vorgegebene Erstreckung· aufweisen (die Winkelerstreckung wird insgesamt durch die A'-Achsen-Abweichung
oder -Erstreckung in Verbindung mit dem Steigungsverhältnis bestimmt). Die ersten und letzten Segmente einer
Folge (oder selbst anderer Segmente innerhalb der Folge) können sich In ihrer Tiefe ändern, wenn eine Z-Achsen-Bewegung
gleichzeitig mit der primären .Y-Achsen-Bewegung hervorgerufen wird.
Dieses alternative Verfahren zur Herstellung von Steigungssegmenten in »quer verlaufenden Oberflächen« Ist
so leicht verständlich, wie das Vertauschen von X- und Z-Daten und -Signalen allgemein üblich ist, so daß
weitere Einzelheiten und Beschreibungen hier unnötig erscheinen. Die Erfindung erstreckt sich damit genauso
auf die letztgenannte Betriebsweise, da diese Betriebsweise äquivalent zur Bearbeitung von Steigungssegmenten
in der Drehoberfläche von in Drehung angetriebenen Werkstücken ist. Die Bearbeitung von quer verlaufenden
Oberflächen ergibt sich automatisch, wenn in der gesamten vorstehenden Beschreibung anstelle der .Y- oder Z-Achse
die Z- und .Y-Achse eingesetzt wird.
Zusammenfassend ist festzustellen, daß das vorstehend beschriebene Verfahren sowie das Steuersystem zur
Durchführung des Verfahrens eine neue Betriebsart zur Steuerung von Drehmaschinen ermöglicht. Diese
Betriebsart weicht von den bekannten »Gewindeschneid«-Betrlebsarten dadurch ab, daß die Startposition, die
Endposition und die Steigung für jedes einzelne Steigungssegment vorherbestimmt werden kann, obwohl die
Winkel-Endposition Insgesamt von dem gewählten Steigungsverhältnis und der gesamten Z-Achsen-Strecke
abhängt. Als Folge dieser Möglichkeit und im Unterschied zu der in der Technik gut bekannten Gewindeschneidtechnik
kann eine Anzahl von Steigungssegmenten, die entweder direkt aneinander angrenzen oder
durch Nullsteigungs-Segmente getrennt sind, in einer Winkelerstreckung von 360° oder weniger ausgebildet
werden. Die Nullsteigungs-Segmente erfordern keine getrennten Programmblöcke, und die aufeinanderfolgenden
Blöcke der Programmdaten sind In einfacher Weise mit relativ wenigen Alpha-Vorsatzworten aufzustellen.
Die Anwendungen dieser neuen Klasse von Steuervorgängen sind vielfältig. Als Beispiel kann das beschriebene
Verfahren und das Steuersystem zur Herstellung einer Kabeltrommel mit quasi-schraubenlinienförmigen
Nuten verwendet werden, wobei jede 360°-Winkelerstreckung sowohl Stelgungs- als auch Nullsteigungs-(»gerade«)Segmente
einschließt. Es können weiterhin Schlitze oder Nuten in zylindrische Nocken eingearbeitet
werden, und zwar mit fast jeder gewünschten Form, um die Axialposition des Nockenfolgers auf die Drehposltion
des Nockens zu beziehen. Weiterhin können Ölnuten in gewünschten Formen In Lagerhülsen ausgebildet
werden. Andere Anwendungen sind ohne weiteres erkennbar.
Es folgen nunmehr die Tabellen AA und BB, auf die im Vorstehenden Bezug genommen wurde.
Verallgemeinerte Liste der Befehlsschritte für Fig. 4
Schriti
Operation
Bemerkungen
(a) Eintritt, wenn 57 = 1 1st
CAR, Lese BFL36
Wenn ANS = 1 Ist, springe auf Schritt 204
Vervollständige aktiven Block und überführe Pufferinhalt in den aktiven Speicher wie in
den Betriebsarten 2 und 3 der Literaturstellen A und B. Dies schaltet 57 auf 58 und auf 59
welter
Wie in den Literaturstellen A und B, derzeitiger
aktiver Block vollständig
aktiver Block vollständig
Wie in den Literaturstellen A und B beschrieben
200 | CAR, Lese ft. |
201 | MX Lese 5 |
202 | Schreibe OVC |
203 | Springe auf Schritt 224 |
204 | CAR, Lese »1« |
ANS = k,- S
Werkstücktlsch-Servo treibt Werkstücktisch mit
5 Umdr. p. min. an
5 Umdr. p. min. an
Überführung eines G36-Blocks aus dem Puffer In
den aktiven Speicher beginnt; Flagge ANS 36
wird gesetzt
den aktiven Speicher beginnt; Flagge ANS 36
wird gesetzt
25
Fortsetzung
Schritt
Operation Bemerkungen
204a Schreibe AFL
205 CAR, Schreibe G
206 Lese IBUF
207 Schreibe /
208 CAR, Lese KBUF
209 Schreibe K
210 CAR, Schreibe
211 Lese »1«
212 Schreibe 58
213 CAR, Lese XEP
214 . Schreibe XCEP
215 CAR, Lese Z£P
216 Schreibe ZCEP
217 CVfK, Lese B6SL
218 Schreibe 9SL 218a CAR, Lese ߣs
218b Schreibe Es
219 Ο1Λ, Schreibe ΔΧ
220 Schreibe <dZ
221 Schreibe Si
222 Lese »1«
223 Schreibe 59
224 1 Übertragung des nächstfolgenden Blockes I vom Tellprogrammspeicher (Speicherabschnitt
I 566 oder Lochstrelfen) an die Pufferworte. I Wenn Code G90 oder G91 empfangen wurde,
I so setze oder lösche FL90. Weiterschalten
299 J von S9 auf 51
300 CAR, Lese GB
301 5Λ\ Lese Konstante
302 Wenn ANS = 0 ist, springe auf Schritt
302a Lösche Flagge BFL36, wenn ANS = -36, -35,
-34 oder -33 Ist GOO, GOl, G02, G03 werden Im G-Register
gelöscht
57-Slgnal gelöscht
58-Signal erscheint
Puffersignale werden in den aktiven Speicher überführt
AX. AZ und 58 werden auf Null gesetzt
59-Signal erscheint
Wie in den Literaturstellen A und B beschrieben
Dieser Block Ist für eine Standard-Betriebsart
26
Fortsetzung
Schritt
Operation Bemerkungen
303 Vorverarbeitung der Pufferblockdaten
I Standard-Bewegungsbahn-Belriebsarten
380 Springe auf Schritt
381 Lese »I«
382 Schreibe BFL
383 CAR. Lese FL90
384 Wenn ANS = 0 ist, springe auf Schritt
385 CAR, Lese XEP J86 SX, Lese XEP1,
387 Schreibe IBUF
388 CAR, Lese ZEP
389 SX, Lese ZEP1,
390 Schreibe KBUF
391 CAR, Lese fe
392 MX, Lese θ
393 Schreibe BdSL
394 Keine OP
395 Springe auf Schritt
396 Lese XEPp
397 Lese IBUF
398 Schreibe XEP
399 CAR, Lese
400 Lese KBUF
401 Schreibe
402 CAR, Lese Ar2
403 MA1. Lese θ
404 Lese ßftSZ,,,
405 Schreibe BOSL
406 Schreibe BOSL1,
407 C4/?, Lese Ar4
408 MX, Lese £
409 Schreibe BE,
für Wie in den Literatursteüen A und B beschrieben
Flagge BFL 36 ist gesetzt
Blockdaten in Inkrementalformat
Bilde IBUF und KBUF aus Absolutpositionsworten
XEP und ZEP unter Verwendung der
Endpunktpositionen des vorhergehenden Blockes
Verändere θ in Grad maßstäblich auf B0SL in
Teilungen
BdSL = W= 11,1110
Bilde XE/3 und Zf/3 aus inkrementalen Bewegungsschrittworten
IBUF und /*ißt/F unter
Verwendung der Endpunktpositionen des vorherhergehenden Blockes
Bilde Absolutwerte von BdSL in Teilungen aus der inkrementalen Ö-Ziffer in Grad
B8SL = BOSL1,
■ θ
Zwischenspeichern von BdSL als nächster Wert BOSL1,
Skalierung E auf BES in Zoll/Teilung
BE5 = Ar4 · E
Fortsetzung
Schritt
Operation
Bemerkungen
410 | CAR, Lese XEP |
411 | Schreibe XEPp |
412 | CAR, Lese ZEP |
413 | Schreibe ZEP1, |
414 | Austritt bis zurr |
Zwischenspeicherung der derzeitigen Endpunkte für spätere Verwendung als vorhergehende
Endpunkte
Bemerkung: Dieses Programm kann an verschiedenen Punkten durch die Subroutine der Tabelle BB unterbrochen werden
Das Symbol CAR ist der Befehl »Lösche Akkumulatorregister« (setze ANS = 0).
Das Symbol ANS bezieht sich auf den Ausgang, der vom Akkumulator 54 geliefert wird.
Die Symbole SX, MX bzw. DX bezeichnen »Subtraktion«-, »Multiplikation«- und »Dlvlslonsw-Operatlonscodes für die ALU.
Das Fehlen einer /fZ.[/-Operation bezeichnet den Befehl: »addiere ankommenden Operanten zu ANS und signalisiere die
Summe als neuer Wert für ANS.
Der Befehl »Lese« bedeutet, daß ein signalisiertes Wort von seinem Speicher zum /iLt/-Elngang gebracht wird.
Der Befehl »Schreibe« bedeutet die Überführung des Wertes ANS an die angegebene Speicherwortadresse.
Verallgemeinerte Liste der Befehlsschritte für Fig. 5
Schritt
Operation
Bemerkungen
(a) Eintritt bei jedem AT durch Unterbrechung
CAR, Lese FLIP
Wenn ANS = 1 ist, springe auf Schritt 2000 CAR, Lese AFL 36
Wenn ANS = 1 ist, springe auf Schritt 2000
Wenn ANS = 1 ist, springe auf Schritt 2000
Führe übliche Bewegungsinterpolation wie in Die Bewegung erfolgt In der COO-, GOI-, G02~
den Literaturstellen A, B, C durch oder G03-Betriebsart
1000 1001 1002 1003 1004
I
1198 1199 2000 2001 2002 2003 2004 2005
1198 1199 2000 2001 2002 2003 2004 2005
2006 2007 2008 2009
Springe auf Schritt 2505 CAR, Lese ΘΑΡ Schreibe ΘΑΡΗ
SX, Lese ΘΑΡΗρ
Schreibe ΔΘ CAR, Lese ΘΑΡΗ
Schreibe ΘΑΡΗρ
CAR, Lese FLIP
Wenn ANS = 1 ist, springe auf Schritt 2021
CAR, Lese ΘΑΡΗ
SX, Lese BSL
Halte abgetasteten Wert von ΘΑΡ fest
ΔΘ = ΘΑΡΗ - OAPHn
Zwischenspeicherung von ΘΑΡΗ als 0APHn für
nächste Iteration
Starte ersten Durchgang der .40-Bestlmmung
ANS = eOR = ΘΑΡΗ =
28
30 26 378 | Fortsetzung | Führe Vorgriff (Look-Ahead) gemäß Litera turstelle A und B durch, um Vervollständi gung dieses Segmentes festzustellen. Wenn ZCP = ZCEP ist, wird Sl auf Sl gebracht |
29 | Bemerkungen | | | Siehe Spalten 59 bis 65 in Literaturstelle B | ί I |
Schritt Operation | 2400 CAR, Lese S2 | a I |
j | ||||
2010 Wenn ANS nicht negativ Ist, springe auf Schritt 2012 |
2401 Wenn /4//S = 0 ist, springe auf Schritt 2505 | ANS stellt nunmehr positiven Wert für dOR dar | ANS=AX=AZ-IZK | | ] i |
|||
2011 Lese Konstante 4000 | 2402 I Vervollständige Übergang und schalte S2 auf J Sl weiter wie in Literaturstelle A und B 2500 j 2501 CAR, Lese 57 |
Speichere BOR | i | ||||
2012 Schreibe BOR | 2502 Wenn ANS = 0 ist, springe auf Schritt 2505 | ANS = XCP = XCP^ +AX | | |||||
2013 CAR, Lese ΔΘ | ANS= 1,25^0 | 1 | |||||
2014 MX, Lese Konstante 1,25 | ANS = 1,25. AB-BOR ist negativ, wenn BOR
< 1,25/10 |
I | |||||
2015 SX, Lese 0OR | ANS = XCP = XCP^ +ΔΖ | | ||||||
2016 Wenn ANS negativ ist, springe auf Schritt 2505 |
I | ||||||
2017 CAR, Lese 6OR | ΔΘ ist nunmehr gleich dem Winkelinkrement Δθ\ = BOR des ersten Durchganges |
||||||
2018 Schreibe ΔΘ | |||||||
2019 CAR, Lese »1« | Setze Flagge FLIP | ||||||
2020 Schreibe FLiP | |||||||
2021 CAR, Lese ΔΘ | |||||||
2022 MX, Lese Es | ANS = AZ = AB ■ E5 | ||||||
2023 Schreibe Δζ | |||||||
2024 MA1, Lese / | |||||||
2025 DX, Lese AT | |||||||
2026 Schreibe ΔΧ | |||||||
2027 Lese XCf1M | |||||||
2028 Schreibe XCP | |||||||
2029 G4Ä, Lese ΔΖ | |||||||
2030 Lese ZCTV1 | |||||||
2031 Schreibe ZCP | |||||||
2032 I I I |
Fortsetzung
Schritt
Operation
Bemerkungen
2052a CAR, Lese C09
2052b Wenn ANS =0 Ist, springe auf 2504
2503 CAR, Schreibe FLIP 2503a Schreibe AFL 36
2504 Beginne Eintritt in die Routine nach Tabelle AA
2505 Austritt bis zur nächsten ΛΓ-Unterbrechung
Lösche Flagge FLIP Lösche Flagge AFL 36
Hierzu 8 Blatt Zeichnungen
Claims (13)
1. Verfahren zum Einschneiden eines Steigungssegmentes in die zylindrische Oberfläche eines Werkstükkes,
das relativ zu einem Schneidwerkzeug um eine Drehachse (Θ-Achse) In einer Drehmaschine angetrieben
wird, die erste und zweite Einrichtungen zum Antrieb dfci Schneidwerkzeuges relativ zu dem Werkstück
entlang von X- und Z-Achsen aufweist, die senkrecht bzw. parallel zur Ö-Achse verlaufen, wobei das Verfahren
folgende Schritte umfaßt:
(A) Die Erzeugung
ln (1) erster Signale (E), die das gewünschte Steigungsverhältnis für das Segment bezeichnen, und
(U) zweiter Signale (ZCEP), die die Z-Achsen-Endposltlon für das Segment darstellen,
aus einem Datenblock,
aus einem Datenblock,
(B) die Erzeugung dritter Signale (QAP), die sich dynamisch ändern, um die aktuelle 0-Achsenposltion des
Werkstücks relativ zum Schneidwerkzeug darzustellen,
(C) die Erzeugung vierter Signale (ZCP), die eine Z-Achsen-Befehlspositlon darstellen und die zweiten
Antriebseinrichtungen so ansteuern, daß die aktuelle Z-Achsenposltlon des Schneidwerkzeugs dynamisch
In Übereinstimmung mit diesen vierten Signalen gehalten wird,
(D) die Abmessung aufeinanderfolgender Kurzzeitperioden (AT) und die Verwendung der ersten und dritten
Signale während jeder dieser Perioden zur dynamischen Änderung der vierten Signale (ZCP) um einen
inkremental Betrag (AZ), der gleich ΕΔΘ Ist, worin ΔΘ die Änderung (OAPi-BAP1^) der dritten
Signale während einer Perlode AT 1st, ausgehend von einem Zeitpunkt, in dem die Spindel eine vorgegebene
Startwinkelstellung erreicht hat, und
(E) die Beendigung der dynamischen Änderung der vierten Signale (ZCP), wenn die vierten Signale (ZCP)
im wesentlichen gleich dem zweiten Signalen (ZCEP) werden.
dadurch gekennzeichnet, daß
(Fl) daß der Datenblock ein Stelgungssegment-Datenblock 1st, der ein einzelnes Steigungssegment definiert,
(F2)daß aus dem Steigungssegment-Datenblock fünfte Signale (OSL) erzeugt werden, die eine jeweils
gewünschte Ö-Achsen-Startwlnkelstellung für das Steigungssegment darstellen, und
(F3) daß die Änderung der vierten Signale gemäß Schritt (D) normalerweise gesperrt und dann und nur dann eingeleitet wird, wenn die aktuelle 0-Achsen-Posltion, die durch die dritten Signale (OAP) dargestellt ist.
(F3) daß die Änderung der vierten Signale gemäß Schritt (D) normalerweise gesperrt und dann und nur dann eingeleitet wird, wenn die aktuelle 0-Achsen-Posltion, die durch die dritten Signale (OAP) dargestellt ist.
Im wesentlichen gleich der Startwinkelstellung des Steigungssegmentes wird, die durch die fünften
Signale (OSL) dargestellt ist,
so daß ein Steigungssegment an einer Winkelposition OSL auf dem Werkstück beginnt und an einer End-Wlnkelposltion
QEL endet, wobei die Winkelerstreckung des Segmentes gleich QEL-QSL und gleich
(ZCEP-Zi)ZE 1st, worin E u<id ZCEP durch die ersten und zweiten Signale dargestellt sind und Zi der Wert
der vierten Signale (ZCP) zu dem Zeltpunkt 1st, zu dem die Änderung eingeleitet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dab der Schritt (D) der dynamischen Änderung
der vierten Signale die folgenden Schritte umfaßt:
(Dl)Erneuerung des Wertes der dritten Signale (QAP) während jeder der aufeinanderfolgenden Zeitperloden
AT, um die dann vorhandene 0-Achsen-Winkelpositlon des Werkstückes relativ zur Ausrichtung des
Schneidwerkzeuges darzustellen,
(D2)Verglelchen der fünften und dritten Signale während jeder der aufeinanderfolgenden Zeltperloden AT, zumindest so lange, bis eine Erkennung erfolgt, daß das dritte Signal (QAP) Im wesentlichen gleich dem fünften Signal (QSL) wird, und
(D2)Verglelchen der fünften und dritten Signale während jeder der aufeinanderfolgenden Zeltperloden AT, zumindest so lange, bis eine Erkennung erfolgt, daß das dritte Signal (QAP) Im wesentlichen gleich dem fünften Signal (QSL) wird, und
(D3)Einleiten der dynamischen Änderung der vierten Signale (ZCP) um den Inkrementalen Betrag AZ
5(1 während jeder folgenden Perlode AT In Abhängigkeit von dieser Erkennung.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine Anzahl von aufeinanderfolgenden,
jedoch nicht notwendigerweise aneinander angrenzenden Steigungssegmenten mit jeweils vorauswählbarer
und vorbestimmter Winkelposition, Steigung und Winkelerstreckung In die Oberfläche eines Werkstückes
ss eingeschnitten wird, und daß das Verfahren die folgenden weiteren Schritte umfaßt:
(1) Speichern einer Anzahl von aufeinanderfolgenden Steigungssegment-Datenblöcken, die jeweils numerische
Darstellurgen von (a) einem gewünschten Steigungsverhältnis, (b) einer gewünschten Z-Achsen-Endpositlon
oder einer Z-Achsenstrecke, und (c) einer gewünschten Start-Wlnkelstellung einschließen,
6(1 (2) Entnehmen des entsprechenden Steigungssegment-Datenblockes aus dem Speicher, wenn ein vorgegebenes Steigungssegment ausgeführt werden soll, und Verwendung des Steigungssegment-Datenblockes zur Erzeugung der ersten, zweiten und fünften Signale (E, ZCEP und QSL),
6(1 (2) Entnehmen des entsprechenden Steigungssegment-Datenblockes aus dem Speicher, wenn ein vorgegebenes Steigungssegment ausgeführt werden soll, und Verwendung des Steigungssegment-Datenblockes zur Erzeugung der ersten, zweiten und fünften Signale (E, ZCEP und QSL),
(3) Ansprechen auf die Signale zur Durchführung des Einleitens der dynamischen Änderung entsprechend
Schritt (F3) zur Durchführung der Änderung der vierten Signale entsprechend Schritt (D) und zur Been-
ftS dlgung der Änderung entsprechend Schritt (E), und
(4) nachfolgendes Entnehmen eines weiteren Stelgungssegment-Datenblockes aus dem Speicher und
Wiederholen der Schritte (2) und (3) für diesen weiteren Datenblock.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß zumindestens einer der Steigungssegment-Datenblöcke
eine gewünschte Startwinkelstellung darstellt, die größer als die End-Winkelpositlon des vorhergehenden
Steigungssegment-Datenblockes 1st, so daß ein Null-Stelgungssegment zwischen den beiden Steigungssegmenten
auf dem Werkstück eingefügt wird.
5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß jeder Steigungssegment-Datenblock
•sine Z-Achsen-Bewegung mit dem gleichen Vorzeichen darstelK und jeweils eine gewünschte Startwlnkelstel-
„ lung enthält, die größer als die Endwlnkelposltion des vorhergehenden Datenblockes Ist, so daß eine quasl-
. ϊ schraubenlinlenförmlge Nut nach Art eines »unterbrochenen Gewindes« auf dem Werkstück, ausgebildet
wird.
,1
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß jeder Stelgungssegmeni-Datenblock sich auf
s einen Umfangswlnkel bezieht, der kleiner als 180° 1st.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß jeder Steigungssegment-Datenblock den gleichen
Umfangswinkel definiert.
8. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß einige der Steigungssegment-Datenblöcke
Darstellungen dss Steigungsverhältnisses und der Z-Achsen-Endposition einschließen, die zusammen ein
Steigungssegment mit einem Umfangswlnkel von weniger &!s 360° definieren, so daß eine Anzahl von
getrennten Steigungssegmenten innerhalb eines Winkelbereiches von 360° um das Werkstück herum ausgebildet
wird.
9. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß einige der Steigungssegment-Datenblöcke
Darstellung von Z-Achsen-Bewegungen enthalten, die Ihr Vorzeichen von Datenblock zu Datenblock ändern.
10. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß abwechselnde Steigungssegment-Datenblöcke
Darstellungen der Z Achsen-Bewegungen mit wechselnden Vorzeichen enthalten, daß die dargestellte
Startwinkelstellung für einen Datenblock die gleiche wie die Endwinkelposition eines vorhergehenden Datenblockes
Ist, und daß der Umfangswlnkel jedes Datenblockes kleiner als 360° ist, so daß eine »wellenförmige«
Nut in dem Werkstück ausgebildet wird.
11. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß der erste oder der letzte Steigungssegment Datenblock
eine numerische Darstellung einer Bewegungskomponente / einschließt, über die eine Bewegung
entlang der .Y-Achse erfolgen soll, und daß aus dem ersten oder letzten Block sechste Signale (I) erzeugt
werden, die diese AVAchsenbewegung darstellen.
12. Numerisches Steuersystem für eine Drehmaschine zur Durchführung des Verfahrens nach einem der
vorhergehenden Ansprüche, bei dem ein Schneidwerkzeug und ein Werkstück relativ zueinander um eine
Drehachse (0-Achse) angetrieben werden und die Drehmaschine erste und zweite Antriebseinrichtungen zur
Bewegung des Schneidwerkzeuges relativ zum Werkstück entlang von X- und Z-Achsen aufweist, die
senkrecht bzw. parallel zur Drehachse verlaufen, und bei dem ein Steigungssegment In die Oberfläche des
Werkstücks eingeschnitten wird, wobei das Steuersystem folgende Teile umfaßt:
(A) auf einen Programm-Datenblock ansprechende Einrichtungen zur Erzeugung von
(I) ersten Signalen (E), die das gewünschte Steigungsverhältnis für das Segment bezeichnen, und
(H) zweiten Signalen (ZCEP), die die Z-Achsen-Endposition für das Steigungssegment darstellen,
(B) während des Betriebes der Drehmaschine wirksame Einrichtungen zur Erzeugung dritter Signale (ΘΑΡ),
die sich dynamisch ändern, um die aktuelle 0-Achsenposltion des Werkstückes relativ zum Schneidwerkzeug
darzustellen,
(C) Einrichtungen zur Erzeugung vierter Signale (ZCP), die eine Z-Achsen-Befehlspositlon darstellen und
die die zweiten Antriebseinrichtungen so ansteuern, daß die aktuelle Z-Achsen-Posltion des Schneidwerkzeuges
Im wesentlichen in Übereinstimmung mit diesen vierten Signalen gehalten wird,
(D) Einrichtungen zur Abmessung aufeinanderfolgender Zeitperioden (AT), die auf die ersten und dritten
Signale während jeder dieser Zeltperloden ansprechen, um dynamisch die vierten Signale (ZCP) um
einen Inkrjmentalen Betrag (AZ) zu ändern, der gleich E ■ θ Ist, worin ΔΘ gleich einer Änderung
(ΘΑΡΓΘΑΡ,Λ) der dritten Signale während einer Zeitperlode AT ist, ausgehend von einem Zeitpunkt, In
dem die Spindel eine vorgegebene Startwinkelstellung erreicht, und
(E) Einrichtungen zur Beendigung der dynamischen Änderung der vierten Signale (ZCP), wenn die vierten
Signale (ZCP) Im wesentlichen gleich den zweiten Signalen (ZCEP) werden, dadurch gekennzeichnet
daß
(Fl) der Programm-Datenblock durch einen Steigungssegment-Datenblock gebildet 1st, der ein einzelnes Stei-
gungssegment definiert, (F2)daß Einrichtungen vorgesehen sind, die aus dem Steigungssegment-Datenolock fünfte Signale (6SL)
erzeugen, die die gewünschte 0-Achsen-StartwInkelstellung für das Steigungssegment darstellen, und
(F3)daß Einrichtungen vorgesehen sind, die normalerweise die Änderung der vierten Signale durch die
Einrichtungen (D) sperren und eine derartige Änderung einleiten, wenn und nur wenn die tatsächliche
0-Achsen-Posltlon, die durch die dritten Signale (ΘΑΡ) dargestellt 1st, im wesentlichen gleich der durch
die fünften Signale (051) dargestellten Startwinkelstellung des Steigungssegmentes wird, so daß ein Steigungssegment
an einer Winkelposition (6SL) auf dem Werkstück beginnt und an einer Endwlnkelposltlon
(OEL) endet, wobei der Umfangwinkel des Steigungssegmentes gleich BEL-OSL und gleich
(ZCEP-Z1)ZE Ist, worin E und ZCEP durch die ersten und zweiten Signale dargestellt sind, -während Z,
der Wert des vierten Signals (ZCP) zu der Zelt ist, zu der die Änderung eingeleitet wird.
13. Steuersystem nach Anspruch 12, dadurch gekennzeichnet, daß
(G) Einrichtungen zum Lesen eines Steigungssegment-Datenblockes aus einem Speicher, wobei jeder Datenblock
numerische Darstellungen von (a) einem gewünschten Steigungsverhältnis, (b) einer gewünschten
Z-Achsen-Endposltlon oder einer Z-Achsen-Bewegung und (c) einer gewünschten Startwinkelstellung
umfaßt, um die ersten, zweiten und fünften Signale (E, ZCEP und 0SL) für einen vorgegebenen Block
zu erzeugen,
(H) Einrichtungen zur Überführung der ersten, zweiten und fünften Signale an die Einrichtungen (F3) und
(H) Einrichtungen zur Überführung der ersten, zweiten und fünften Signale an die Einrichtungen (F3) und
(D) zur Einleitung der Änderung und zur Durchführung der Änderung des vierten Signals (ZCP), und
in (I) Einrichtungen vorgesehen sind, die
in (I) Einrichtungen vorgesehen sind, die
(1) die Änderung der vierten Signale durch die Einrichtungen (D) beendigen, wenn die vierten Signale
(ZCP) Im wesentlichen gleich den zweiten Signalen (ZCEP) werden, und die
(Ii) die Einrichtungen (G) derart steuern, daß der nächste Datenblock einer Serie von Steigungssegment-Datenblöcken
aus dem Speicher ausgelesen wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5627879A | 1979-07-11 | 1979-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3026378A1 DE3026378A1 (de) | 1981-01-15 |
DE3026378C2 true DE3026378C2 (de) | 1985-10-10 |
Family
ID=22003359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19803026378 Expired DE3026378C2 (de) | 1979-07-11 | 1980-07-11 | Verfahren zum Einschneiden eines Gewindesteigungssegmentes in die zylindrische Oberfläche eines Werkstücks sowie numerisches Steuersystem zur Durchführung des Verfahrens |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3026378C2 (de) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3727191A (en) * | 1971-03-15 | 1973-04-10 | Giddings & Lewis | Acceleration-deceleration for numerical control |
DE2602187A1 (de) * | 1976-01-21 | 1977-08-04 | Cone Blanchard Machine Co | Rechnergesteuerte profilbearbeitungs- werkzeugmaschine |
US4079235A (en) * | 1976-12-27 | 1978-03-14 | Mcdonnell Douglas Corporation | Computer numerically controlled threadcutting machine tool |
-
1980
- 1980-07-11 DE DE19803026378 patent/DE3026378C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE3026378A1 (de) | 1981-01-15 |
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 | |
DE3640987C1 (de) | Numerisches Steuersystem fuer hochdynamische Prozesse | |
DE2429586A1 (de) | Numerisch gesteuerte werkzeugmaschine und verfahren zur durchfuehrung von zerspanungsgaengen | |
DE102017001783B4 (de) | Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht | |
DE2422102A1 (de) | Numerische steuerung zur erzeugung einer parabolischen auskehlung | |
DE102017102749A1 (de) | Automatische Trajektorienerzeugung zur Ansteuerung eines Antriebssystems | |
DE2823571A1 (de) | Einrichtung zur positionssteuerung | |
DE2142848A1 (de) | Schaltungsanordnung zur Regelung der Bewegung eines längs eines Weges laufenden Elementes | |
DE1763946A1 (de) | Verbesserungen in numerischen Steuerungseinrichtungen | |
DE2138815A1 (de) | Numerische Werkzeugmaschinensteue rung | |
DE1069750B (de) | Anordnung zur digitalen Steuerung | |
DE2632151C3 (de) | Positioniersteuerung | |
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 | |
DE3026378C2 (de) | Verfahren zum Einschneiden eines Gewindesteigungssegmentes in die zylindrische Oberfläche eines Werkstücks sowie numerisches Steuersystem zur Durchführung des Verfahrens | |
EP0417337B1 (de) | Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine oder eines Roboters | |
DE2103049B2 (de) | Vorrichtung eines numerisch gesteuerten folgesystems | |
EP1025469B1 (de) | Verfahren zur steuerung einer cnc-werkzeugmaschine | |
DE2219705A1 (de) | Numerische Werkzeugmaschinensteuerung | |
DE2560651C2 (de) | ||
DE2052161A1 (de) | Schaltungsanordnung für eine Elektroerosionsmaschine zum Steuern der relativen Bewegung zwischen mindestens einer Elektrode und mindestens einem Werkstück | |
EP0184036A1 (de) | Numerische Steuerung für Werkzeugmaschinen | |
DE2434454A1 (de) | Verfahren und vorrichtung zur erstellung und durchfuehrung eines programms an einer numerisch gesteuerten werkzeugmaschine | |
EP1753140A1 (de) | Elektronisch kommutierter Gleichstrom-Servomotor | |
DE2422035A1 (de) | Numerisches steuersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |