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 Verfahrens

Info

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
Application number
DE19803026378
Other languages
English (en)
Other versions
DE3026378A1 (de
Inventor
Gerald E. Malone Wis. Paveglio jun.
Lawrence C. Fond du Lac Wis. Pöhlman
Richard L. Fond du Lac Wis. Werdin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giddings and Lewis LLC
Original Assignee
Giddings and Lewis LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giddings and Lewis LLC filed Critical Giddings and Lewis LLC
Publication of DE3026378A1 publication Critical patent/DE3026378A1/de
Application granted granted Critical
Publication of DE3026378C2 publication Critical patent/DE3026378C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/182Numerical 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/186Generation 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.
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
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.
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 |
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,
'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
•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.
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
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-
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.
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
ίο 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-
Ϊ'- 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.
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
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.
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 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.
Tabelle AA
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
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
Überführung eines G36-Blocks aus dem Puffer In
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.
Tabelle BB
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
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
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)

Patentansprüche:
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,
(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.
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
(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),
(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
(D) zur Einleitung der Änderung und zur Durchführung der Änderung des vierten Signals (ZCP), und
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.
DE19803026378 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 Expired DE3026378C2 (de)

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)

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

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