-
[Technisches Gebiet]
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Transformieren
eines Teileprogramms vom G-Code-Typ in ein Teileprogramm vom STEP-NC-Sprachtyp
und spezieller ein Verfahren, welches es auf einfache Weise ermöglicht,
ein Teileprogramm vom G-Code-Typ, wie es hauptsächlich
in der Praxis benutzt wird, ohne beschwerliche Korrektur bei einem
STEP-NC-Controller anzuwenden, indem das Verfahren durch einen Prozess,
bei dem G-Codes aus dem Teileprogramm vom G-Code-Typ und Werkzeuginformationen
analysiert werden, automatisch ein Teileprogramm vom STEP-NC-Sprachtyp
erstellt, welches aus Informationen über den Bearbeitungsgang,
Fertigungs-Feature-Informationen, Informationen über die
Bearbeitungsstrategie und dergleichen zusammengesetzt ist.
-
[Stand der Technik]
-
Seit
der Entwicklung einer Dreiachsen-NC-Fräsmaschine im Jahre
1952 am MIT haben NC-Bearbeitungstechniken (engl. „numerical
control", dt. „numerische Steuerung") eine bemerkenswerte
Evolution durchlaufen und sind zu CNC-Bearbeitungstechniken (engl. „computer
numerical control", dt. „computerisierte numerische Steuerung") weiterentwickelt
worden. Gleichzeitig gab es technologische Fortschritte auf dem
Gebiet der Elektronik, darunter u. a. Mikroprozessor-Technologien.
-
Eine
CNC-Bearbeitungsmethode, die in der Praxis am häufigsten
benutzt wird, ist ein Verfahren, bei dem aus Formkonstruktionsinformationen
einschließlich Zeichnungen eines Produkts durch Software
für rechnergestützte Konstruktion/rechnergestützte
Fertigung (CAD/CAM-Software) ein Teileprogramm erstellt und das
Teileprogramm in ein mit einem CNC-Controller versehenes Maschinenwerkzeug
(im Weiteren „CNC-Maschinenwerkzeug") eingegeben und dadurch
die Bearbeitung durchgeführt wird. Bei einer solchen CNC-Bearbeitungsmethode erstellt
ein Bediener einen Prozessplan einschließlich eines Materialfeatures,
eines Spanvolumens, einer Spanfolge, zu verwen dender Werkzeuge,
Bearbeitungsbedingungen und dergleichen auf Basis von Papierzeichnungen
oder eines von einem CAD-System erstellten Produktfeatures. Auf
Basis des Prozessplans erstellt der Bediener über das CAD-System
oder einen manuellen Arbeitsgang ein Teileprogramm, welches in einem
bestimmten Code-Format (G-Code) Arbeitsgänge von Werkzeugen
und eines CNC-Maschinenwerkzeugs spezifiziert. Der CNC-Controller
steuert Arbeitsgänge des Maschinenwerkzeugs in Reaktion
auf ein eingegebenes Teileprogramm vom G-Code-Typ, so dass ein ursprüngliches
Rohmaterial zu einem Erzeugnis mit einer gewünschten Form
zerspant werden kann.
-
Der
G-Code ist eine Art Maschinensprache, die einen Arbeitsgang eines
Maschinenwerkzeugs über die Position, Geschwindigkeit und
dergleichen eines Werkzeugs oder einer Vorschubwelle ausdrückt,
und wird am häufigsten in Form eines Teileprogramms benutzt.
Da jedoch der G-Code nur lineare Bewegungen (G01) und kreisförmige
Bewegungen (G02 und G03) der Vorschubwelle unterstützt,
ist eine hochwertige Bearbeitung schwierig. Da der G-Code ferner
nicht über geometrische Informationen zu einem Produkt
verfügt, eignet er sich nicht für Fünfachsen-Bearbeitung
oder Hochgeschwindigkeitsbearbeitung. Da der G-Code ferner nicht über verschiedene
prozessbezogene Informationen verfügt, können
Bearbeitungsbedingungen, die anhand der tatsächlichen Bearbeitung
optimiert werden, nicht ans CAD/CAM zurückgeführt
werden. Da darüber hinaus jeder Hersteller von Maschinenwerkzeugen
mit einem anderen G-Code-System arbeitet, gestaltet sich der Datenaustausch
zwischen verschiedenen Systemen schwierig, und daher wird zusätzliche Nachverarbeitung
benötigt, um Daten austauschen zu können.
-
In
jüngster Zeit betrachtet die Fachwelt mit verstärktem
Interesse die STEP-NC-Sprache, der ein STEP-Datenmodell (engl. „Standard
for the Exchange of Product Model data", dt. „Standard
für den Austausch von Produktmodelldaten") zugrunde liegt, als
neue Programmiersprache, die diese Probleme lösen kann.
Die STEP-NC-Sprache definiert Prozessplaninformationen, die axiale
Bewegungen erzeugen können, wie etwa Feature-Informationen,
Bearbeitungsfolgen, Bearbeitungsmethoden und Werkzeuginformationen,
anstatt die axialen Bewegungen direkt anzugeben. Daher lässt
sich eine hochwertige Bearbeitung erzielen, und die Bearbeitungsinformationen
können auf einer CAD/CAM/CNC-Prozesskette bidirektional
ausgetauscht werden. Da ferner die STEP-NC-Sprache ein internationaler
Sprachstandard und unabhängig vom konkreten CNC-Controller ist,
besteht der Vorteil, dass keine Nachverarbeitung aus Kompatibilitätsgründen
benötigt wird.
-
STEP-NC-Controller,
die ein in einer solchen STEP-NC-Sprache hergestelltes Teileprogramm analysieren
und dann direkt axiale Bewegungen erstellen, haben nahezu Pra xisreife
erreicht. Wenn ein solcher STEP-NC-Controller künftig in
ein technisches Fachgebiet neu eingeführt werden wird,
werden die Nutzer mit dem Problem konfrontiert sein, zahlreiche
Programme, die bis dato mit dem G-Code hergestellt worden sind,
in STEP-NC-Programme umwandeln zu müssen. Es besteht somit
eine hohe Wahrscheinlichkeit, dass die Inkompatibilität
zwischen dem G-Code und dem STEP-NC-Programm ein Hindernis für
die Ausweitung des Einsatzes der STEP-NC-Controller darstellen wird.
-
[Offenbarung]
-
[Technisches Problem]
-
Die
vorliegende Erfindung wurde erdacht, um die zuvor genannten Probleme
zu lösen. Dementsprechend liegt der vorliegenden Erfindung
als Aufgabe zugrunde, ein Teileprogramm-Umwandlungsverfahren zu
schaffen, welches ein Teileprogramm vom G-Code-Typ und Werkzeuginformationen
automatisch in ein Teileprogramm vom STEP-NC-Sprachtyp umwandelt
und es dadurch möglich macht, Teileprogramme vom G-Code-Typ, wie
sie in der Praxis hauptsächlich eingesetzt werden, auf
einfache Weise bei einem STEP-NC-Controller anzuwenden.
-
[Technische Lösung]
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird die Aufgabe durch ein Verfahren
zum Transformieren eines G-Codes in ein STEP-NC-Teileprogramm gelöst,
welches folgende Schritte umfasst: Empfangen eines zum Erstellen
des STEP-NC-Teileprogramms benötigten G-Code-Teileprogramms,
von Werkzeuginformationen und von Informationen zu einem NC-Controller
(engl. „numerical controller", dt. "numerische Steuerung"),
der dazu in der Lage ist, einen entsprechenden G-Code zu analysieren;
Analysieren des empfangenen G-Code-Teileprogramms entsprechend dem
Typ des NC-Controllers und Erstellen von G-Code-Blockinformationen;
Ermitteln eines ausgezeichneten Blocks unter Verwendung der G-Code-Blockinformationen, Gruppieren
von G-Code-Blöcken entlang einer Grenze des ausgezeichneten
Blocks und Partitionieren des gesamten Teileprogramms auf Arbeitsschrittbasis
dergestalt, dass das gesamte Teileprogramm in einen Setup-Arbeitsschritt
und mehrere Bearbeitungs-Arbeitsschritte kategorisiert wird; Erstellen
von Werkzeuginformationen, Informationen über die Maschinenfunktionen
und Informationen über die Bearbeitungstechnologie für
jeden der Bearbeitungs-Arbeitsschritte unter Verwendung der dem
Bearbeitungs-Arbeitsschritt entsprechenden G-Code-Blockinformationen
und Erstellen von internen Informationen zu den Bearbeitungs-Arbeitsschritten
unter Verwendung der erstellen Informationen, wobei die internen
Informationen Folgendes aufweisen: ein Mittel zum Erstellen von
Informationen über den Bearbeitungsgang zum Kategorisieren
von Bearbeitungsgängen in Vorschneiden und Fertigschneiden,
ein Mittel zum Erstellen von Fertigungs-Feature-Informationen zu
einem entsprechenden Bearbeitungs-Arbeitsschritt durch Entfernen
eines aus einem Materialbereich auszuschneidenden Bereiches mittels
einer Boole'schen Operation sowie ein Mittel zum Erstellen von Informationen über
die Bearbeitungsstrategie einschließlich einer Anfahrstrategie,
einer Rückfahrstrategie und einer Bearbeitungsstrategie eines
Werkzeugs; und wenn alle internen Informationen jedes der Bearbeitungs-Arbeitsschritte
erstellt worden sind: Anordnen der Bearbeitungs-Arbeitsschritte
in derselben Folge wie die im G-Code-Teileprogramm ausgeführten
Bearbeitungsgänge, um auf diese Weise das STEP-NC-Teileprogramm
zu erstellen.
-
[Vorteilhafte Auswirkungen]
-
Das
Verfahren zum Transformieren eines G-Codes in ein STEP-NC-Teileprogramm
gemäß der vorliegenden Erfindung ermöglicht
es, ein Teileprogramm vom G-Code-Typ, wie es in der Praxis hauptsächlich
benutzt wird, auf einfache Weise ohne zusätzliche manuelle
Arbeitsgänge auf einen STEP-NC-Controller anzuwenden. Es
besteht somit der Vorteil, dass der Aufwand an Zeit und Arbeitskraft bei
der Einführung von STEP-NC-Controllern merklich gesenkt
werden kann.
-
Des
Weiteren wird gemäß der vorliegenden Erfindung
Nutzern, die mit den neuen Programmierverfahren, die bei dem STEP-NC-Controller
zum Einsatz kommen, nicht vertraut sind, ein Verfahren an die Hand
gegeben, mit dem sie Programme zum Ansteuern eines STEP-NC-Controllers
auf herkömmliche Weise erstellen können. Somit
besteht der Vorteil, dass das Verfahren der vorliegenden Erfindung dazu
beitragen kann, STEP-NC-Controllern zu einer weiteren Verbreitung
zu verhelfen.
-
[Beschreibung der Zeichnungen]
-
1 ist
eine Ansicht, die die Konfiguration eines Bearbeitungssystems zeigt,
auf welches ein Verfahren zum Transformieren eines G-Codes in ein STEP-NC-Teileprogramm
gemäß der vorliegenden Erfindung angewendet wird.
-
2 ist
ein Flussdiagramm, welches das Verfahren zum Transformieren eines
G- Codes in ein STEP-NC-Teileprogramm gemäß einer
Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
3 ist
eine Tabelle, die eine Datenstruktur für Blockinformationen
zeigt.
-
4 ist
ein Flussdiagramm, das speziell den in 2 gezeigten
Schritt des Erstellens interner Informationen für die einzelnen
Arbeitsschritte veranschaulicht.
-
5 ist
ein Flussdiagramm, das speziell den in 4 gezeigten
Schritt des Erstellens von Informationen über den Bearbeitungsgang
veranschaulicht.
-
6 ist
eine Tabelle, die Bedingungen für das Bestimmen von Vor-/Fertigschneiden
anhand des Typs des Arbeitsgangs sowie die Typen detaillierter Arbeitsgänge
in Abhängigkeit vom Ergebnis dieser Bestimmung zeigt.
-
7 ist
ein Flussdiagramm, das speziell den in 4 gezeigten
Schritt des Erstellens von Fertigungs-Feature-Informationen veranschaulicht.
-
8 ist
eine Tabelle, die ein Verfahren zum Abbilden von Fertigungs-Features
anhand der Bearbeitungsgänge und profildefinierenden Elemente zeigt.
-
9 ist
eine Ansicht, die die Schneidkantenwinkel eines in einem STEP-NC-Datenmodell
definierten Außen- oder Innendurchmesser-Konturdrehwerkzeugs
zeigt.
-
10 ist eine Ansicht, die die in 9 gezeigten
Schneidkantenwinkel zeigt und zeigt, wie die Schneidkanten in Abhängigkeit
von einer Bewegungsbahnrichtung bestimmt werden.
-
11 ist eine Ansicht, die Schneidkanten eines
Einstechwerkzeugs und eines Bohrwerkzeugs zeigt.
-
12 ist ein Flussdiagramm, das speziell den
in 4 gezeigten Schritt des Erstellens von Informationen über
die Bearbeitungsstrategie veranschaulicht.
-
[Bester Modus]
-
Nachstehend
werden bevorzugte Ausführungsformen der vorliegenden Erfindung
anhand der beigefügten Zeichnungen im Detail beschrieben.
-
1 ist
eine Ansicht, die die Konfiguration eines Bearbeitungssystems zeigt,
auf welches ein Verfahren zum Transformieren eines G-Codes in ein STEP-NC- Teileprogramm
gemäß der vorliegenden Erfindung angewendet wird.
-
Ein
G-Code-Umwandler 300 ist eine Vorrichtung zum Umwandeln
eines G-Codes unter Verwendung eines Verfahrens zum Transformieren
eines G-Codes in ein STEP-NC-Teileprogramm gemäß der vorliegenden
Erfindung. Wie in 1 gezeigt ist, empfängt
der G-Code-Umwandler von einem CAM oder einem Nutzer verschiedenartige
Informationen 10 einschließlich eines G-Code-Teileprogramms, verarbeitet
die empfangenen Informationen 10 und gibt ein Teileprogramm
vom STEP-NC-Sprachtyp 400 aus.
-
Die
in den G-Code-Umwandler 300 eingegebenen Informationen 10 umfassen
ein G-Code-Teileprogramm 11, Werkzeuginformationen 12,
NC-Controller-Informationen 13, Informationen über
die endgültige Form 14 und Informationen über
das bearbeitete Material 15. Das G-Code-Teileprogramm 11,
die Werkzeuginformationen 12 und die NC-Controller-Informationen 13 sind
hier zwingend erforderliche Eingabeinformationen zum Erstellen des
STEP-NC-Teileprogramms 400, und die Informationen über
die endgültige Form 14 sowie die Informationen über
das bearbeitete Material 15 sind zusätzliche Informationen,
die optional eingegeben werden können.
-
Das
G-Code-Teileprogramm 11 ist ein Teileprogramm vom G-Code-Typ,
das in das STEP-NC-Teileprogramm 400 umgewandelt werden soll,
und vorzugsweise wird ein korrektes Programm vorbereitet, das keine
unnötigen Werkzeuge und Werkzeugwege enthält,
um Fehler während des Umwandlungsprozesses zu vermeiden.
-
Die
Werkzeuginformationen 12 sind Informationen in Bezug auf
alle in dem G-Code-Teileprogramm spezifizierten Bearbeitungswerkzeuge;
sie enthalten Informationen über die Werkzeugtypen ebenso
wie Informationen über die Spezifikationen von Werkzeughalter
und Einsätzen. Werkzeuge werden nach ihrem Typ kategorisiert
in Werkzeuge für Außendurchmesser-Vor- und -Fertigschneiden,
Innendurchmesser-Vor-/Fertigschneiden, Einstechen, Bohren, Gewindeschneiden,
Rändeln und dergleichen. In der Praxis werden vorzugsweise
Informationen über die Hersteller aufgenommen, da für
das Drehen verschiedene Typen von Werkzeugen benutzt werden und
jeder Hersteller andere Spezifikationen hat. Außerdem umfasst
die Werkzeughalterspezifikation die Typen und geometrischen Informationen
von Werkzeughaltern (z. B. PCLNR2525-M12), und die Einsatzspezifikation
umfasst die Typen und geometrischen Informationen über
die Einsätze (z. B. CNMG12040).
-
Die
NC-Controller-Informationen 13 umfassen Informationen zu
den Controller-Herstellern, Controller-Typen, ob Drehen oder Fräsen
ausgeführt werden soll, die Anzahl der zu steuernden Achsen und
dergleichen; diese Informationen werden benutzt, um ergänzend
zu den allgemeinen G-Codes die controllerherstellerspezifischen
Codes korrekt analysieren zu können.
-
Die
Informationen über die endgültige Form 14 sind
eine CAD-Datei für eine endgültige Form, wobei
es sich um zusätzliche Informationen handelt, die zur Annehmlichkeit
für den Nutzer bereitgestellt werden. Obwohl die Informationen über
die endgültige Form nicht zu den Eingabeinformationen gehören, können
die Informationen über die endgültige Form gemäß der
vorliegenden Erfindung durch das Verfahren zum Transformieren eines
G-Codes in ein STEP-NC-Teileprogramm erstellt werden.
-
Die
Informationen über das bearbeitete Material 15 umfassen
Informationen über den geometrischen Typ, die Größe
und die Qualität eines bearbeiteten Materials; es handelt
sich hierbei um zusätzliche Informationen, die praktischerweise
dazu benutzt werden, Fertigungs-Feature-Informationen zu erstellen,
die nachstehend beschrieben werden. Das Format des von dem G-Code-Umwandler 300 ausgegebenen
STEP-NC-Teileprogramms 400 entspricht ISO 10303 Teil 21 (Datei
in Klartextcodierung). Das STEP-NC-Teileprogramm umfasst Arbeitsschritte, die
nach aufeinanderfolgend ausgeführten Bearbeitungsgängen
kategorisiert sind, und jeder der Arbeitsschritte verfügt über
Informationen zu einem Bearbeitungsgang, einem Fertigungs-Feature,
zur Geometrie, zu einer Bearbeitungsstrategie, zur Bearbeitungstechnologie,
zu den Maschinenfunktionen und zu einem Maschinenwerkzeug. Außerdem
entspricht ein Datenmodell des STEP-NC-Teileprogramms 400 im
Wesentlichen ISO 14649. Da das Datenmodell der ISO
14649 dem Modell der ISO 10303-AP238 strukturell
sehr ähnlich ist und sich nur in der Ausdrucksform unterscheidet,
ist es wünschenswert, auch das Datenmodell der ISO
10303-AP238 aufzunehmen.
-
Ein
solches STEP-NC-Teileprogramm 400 wird von dem G-Code-Umwandler 300 über
ein Netz wie etwa ein lokales Netz (LAN) oder das Internet oder über
ein Datenübertragungskabel wie etwa ein RS-232-Kabel an
ein STEP-NC-System 500 übermittelt, welches einen
STEP-NC-Controller 510 und eine STEP-NC-Speichereinheit 520 aufweist.
Der STEP-NC-Controller 510 analysiert das eingegebene STEP-NC-Teileprogramm 400,
erstellt daraus einen Werkzeugweg und steuert gemäß dem
Werkzeugweg einen NC-Arbeitsgang, um die Bearbeitung auszuführen.
-
Die
STEP-NC-Speichereinheit 520 ist eine Datenbank zum Ablegen
des an den STEP-NC-Controller 510 übermittelten
oder innerhalb der STEP-NC-Speichereinheit selbst erstellten STEP-NC-Teileprogramms
und erlaubt dem STEP-NC-Controller 510, ein benötigtes
Teileprogramm abzurufen, das seinerseits für die Bearbeitung
benutzt wird. Wie oben beschrieben wurde, ist der G-Code-Umwandler 300 bei
dieser Ausführungsform separat von dem STEP-NC-System 500 konfiguriert.
Der G-Code-Umwandler 300 kann jedoch auch in das STEP-NC-System 500 oder
in Offline-CAM-Software zur Unterstützung des STEP-NC-Systems 500 integriert
werden.
-
Nachstehend
wird anhand von 2 ein Verfahren zum Umwandeln
eines G-Codes in ein STEP-NC-Teileprogramm gemäß einer
Ausführungsform der vorliegenden Erfindung beschrieben.
Die detaillierten Prozesse der Umwandlung werden hier in Verbindung
mit deren Anwendung bei einer Zweiachsen-Drehbank beschrieben.
-
Die
Datenstruktur der STEP-NC-Sprache umfasst eine Projektentität
auf oberster Ebene zum Gewinnen eines fertigen Erzeugnisses mittels
Bearbeitung durch einen CNC-Controller sowie Arbeitsplanentitäten
auf niedrigeren Ebenen zum Ausführen der Bearbeitung für
ein Setup, durch welches die Position eines Werkstücks
konstant gehalten wird. Außerdem sind innerhalb der einzelnen
Arbeitspläne auf Basis der Arbeiten objektorientierte Arbeitsschritte
definiert. Die einzelnen Arbeitsschritte enthalten jeweils die Definition
eines durch Ausführung des jeweiligen Arbeitsschrittes
zu bearbeitenden Features und alle zur Bearbeitung des Features
erforderlichen Prozessinformationen. Ein STEP-NC-Teileprogramm enthält
mehrere Arbeitsschritte, und die entsprechenden Arbeitsschritte
werden je nach der Kapazität des Controllers aufeinanderfolgend
oder parallel abgearbeitet. Dementsprechend umfasst das Verfahren zum
Umwandeln eines G-Codes in ein STEP-NC-Teileprogramm den Schritt
des Analysierens eines G-Code-Programms und des sequentiellen Umwandelns
des G-Code-Programms in ein STEP-NC-Teileprogramm-Format.
-
Als
Erstes werden Informationen wie etwa ein G-Code-Teileprogramm, Werkzeuginformationen und
NC-Controller-Informationen eingegeben (S10).
-
Als
Nächstes wird das eingegebene G-Code-Teileprogramm auf
Basis des Typs des NC-Controllers analysiert, und es werden G-Code-Blockinformationen
erstellt (S20). Das G-Code-Teileprogramm umfasst Blöcke,
von denen jeder eine zu einem Zeitpunkt von dem NC-Controller abgearbeitete
Syntaxeinheit darstellt. Die Blockinformationen, die eine in 3 gezeigte
Datenstruktur aufweisen, können durch Analysieren von T-,
S-, F-, M-Codes und dergleichen sowie des G-Codes in dem Block erstellt werden.
Wie in 3 gezeigt ist, enthält die Datenstruktur
der Blockinformationen einen G-Code-Wert, einen Vorschubendpunkt,
einen Vorschubstartpunkt, einen Vorschubradius, eine Vorschubgeschwindigkeit,
eine Spindeldrehzahl, eine maximale Spindeldrehzahl, eine Werkzeugnummer,
einen Werkzeugkorrekturtyp, einen Werkzeugkorrekturwert, eine Bewegungsbahnrichtung
und eine Bewegungsbahnlänge. Die Bewegungsbahnrichtung
ist hier die Richtung eines Vektors von dem Vorschubstartpunkt bis
zum Vorschubendpunkt, und die Bewegungsbahnlänge entspricht
der Länge des Vektors. Hierbei wird bevorzugt, wenn der
G-Code-Wert richtig codiert und dann zusammen mit den Werten der
T-, S-, F- und M-Codes zusätzlich zum G-Code gespeichert
wird.
-
Zum
Beispiel laute das G-Code-Teileprogramm N01 G50 S420; N02 G97 S205
T0100 M01; NO3 G00 X85.0 2180.0; N04 G01 X85.0 Z0.0 F0.2, und der
Controller sei ein Typ aus der FANUC-0-Serie. Die dem Block N04
entsprechenden Blockinformationen lauten dann G-Code = 01, Vorschubendpunkt
= X85.0 Z0.0, Vorschubstartpunkt = X85.0 Z180.0, Vorschubradius
= 0, Vorschubgeschwindigkeit = 0.2, Spindeldrehzahl = 205, maximale
Spindeldrehzahl = 420, Werkzeugnummer = 01, Werkzeugkorrekturtyp
= aus, Werkzeugkorrekturwert = X0.0 Z0.0, Bewegungsbahnrichtung
= X0.0, Z-180.0 und Bewegungsbahnlänge = 180.
-
Wenn
der Schritt des Erstellens der Blockinformationen S20 abgeschlossen
ist, werden die erstellten Blöcke gruppiert, und es werden
Informationen über einen Arbeitsschritt erstellt, bei dem
es sich um eine Basis-Arbeitseinheit des STEP-NC-Datenmodells handelt.
Das gesamte Teileprogramm wird auf Arbeitsschrittbasis entlang der
Grenze eines ausgezeichneten Blocks partitioniert, an welchem ein
benutztes Werkzeug, eine Spindeldrehzahl, eine Vorschubgeschwindigkeit,
eine Bearbeitungsrichtung oder ein Bearbeitungsbereich geändert
wird (S50).
-
Die
entsprechenden durch einen solchen ausgezeichneten Block partitionierten
Arbeitsschritte lassen sich als Setup-Arbeitsschritte und Bearbeitungs-Arbeitsschritte
kategorisieren. Ein Setup-Arbeitsschritt verfügt nur über
Einstellungsinformationen über ein Koordinatensystem, absolute
oder relative Befehle, Vorschub pro Minute oder Rotation, ständige
Kontrolle der Oberflächengeschwindigkeit oder Fehlen einer
ständigen Kontrolle, Einstellung eines Anfangsursprungs,
Spindeldrehzahl, Verwendung von Schneidöl und dergleichen.
Somit ist es nicht erforderlich, einen Bearbeitungsweg nachzuverfolgen.
Aus dem Setup-Arbeitsschritt lassen sich Informationen über
die Bearbeitungstechnologie, Informationen über die Maschinenfunktionen
und dergleichen gewinnen, die später beschrieben werden. Die
bei dem Setup-Arbeitsschritt erstellten Informationen wirken sich
auf die nachfolgenden Bearbeitungs-Arbeitsschritte aus, so dass
die Bearbeitungs-Arbeitsschritte auf Werte der Informationen über
die Bearbeitungstechnologie oder Informationen über die
Maschinenfunktionen eingestellt werden können. Falls ein
weiterer Setup-Arbeitsschritt auftaucht, werden die nachfolgenden
Bearbeitungs-Arbeitsschritte neu auf die Informationen aus dem neuen
Setup-Arbeitsschritt eingestellt. Bei dem Bearbeitungs-Arbeitsschritt
handelt es sich um eine Gruppe von Blöcken, die Anweisungen
zur Bearbeitung durch Vorschub eines Werkzeugs enthalten; dies ist
der Schritt, der die eigentliche Bearbeitung ausführt.
Jeder der Bearbeitungs-Arbeitsschritte ist ein Arbeitsschritt, der
als Bearbeitungsgang definiert werden kann. Die in dem Bearbeitungs-Arbeitsschritt enthaltenen
Blöcke weisen G-Codes wie etwa die Codes G00, G01, G02,
G03 und dergleichen auf und sorgen für den Eilvorschub
oder Schneidvorschub eines Werkzeugs.
-
Ein
Verfahren zum Partitionieren der gesamten Blöcke des Teileprogramms
in Arbeitsschritte wird nun im Einzelnen beschrieben.
-
Die
primäre Partitionierung erfolgt durch Suchen von Blöcken
in dem G-Code-Teileprogramm, die ausschließlich Einstellungsinformationen über
ein Koordinatensystem, absolute oder relative Befehle, Vorschub
pro Minute oder Rotation, ständige Kontrolle der Oberflächengeschwindigkeit
oder Fehlen einer ständigen Kontrolle, Einstellung eines
Anfangsursprungs, Spindeldrehzahl, Verwendung von Schneidöl
und dergleichen enthalten, durch Kategorisieren dieser Blöcke
als Setup-Arbeitsschritte und durch Unterteilen der verbleibenden
Blöcke entlang der Grenze eines ausgezeichneten Blocks,
an welchem ein Bearbeitungswerkzeug gewechselt wird. Der Grund für
die Durchführung der primären Partitionierung
besteht zum einen darin, dass die Blöcke sich in Blockgruppen
der gröbsten Kategorien gruppieren lassen, da die Bediener
beim Erstellen eines Teileprogramms normalerweise die Werkzeugwechsel während
der Bearbeitung zu minimieren versuchen, und zum anderen darin,
dass die Analyse der Bearbeitungsmethode auch in Abhängigkeit
vom Werkzeug variiert, da die Bearbeitungsmethode mit dem Werkzeugtyp
variiert. Anschließend erfolgt ein sekundäres
Partitionieren der jeweiligen bei der primären Partitionierung
partitionierten Blöcke entlang der Grenze eines ausgezeichneten
Blocks, an welchem eine Vorschubgeschwindigkeit oder eine Spindeldrehzahl
geändert werden. Da die Änderung der Vorschubgeschwindigkeit
oder Spindeldrehzahl eine Änderung der Qualität
einer bearbeiteten Oberfläche nach sich zieht, werden die
Vorschubgeschwindigkeit oder die Spindeldrehzahl normalerweise nicht
innerhalb desselben Arbeitsgangs verändert. Unter den Blöcken,
die in eine über die primäre Partitionierung gewonnene
Blockgruppe fallen und dasselbe Werkzeug benutzen, bieten Blöcke,
an denen die Vorschubgeschwindigkeit oder die Spindeldrehzahl geändert
werden, einen Hinweis darauf, dass eine andere Bearbeitung ausgeführt
werden soll. Somit werden ausgezeichnete Blöcke, an denen
die Vorschubgeschwindigkeit oder die Spindeldrehzahl geändert werden,
zu Grenzen für die sekundäre Partitionierung.
An den jeweiligen bei der sekundären Partitionierung partitionierten
Blöcken erfolgt entlang der Grenze eines ausgezeichneten
Blocks, an welchem die Bearbeitungsrichtung oder der Bearbeitungsbereich
geändert werden, eine tertiäre Partitionierung. Auch
wenn zur Bearbeitung dasselbe Werkzeug mit derselben Vorschubgeschwindigkeit
und Spindeldrehzahl benutzt wird, kann sich die Bearbeitungsrichtung
(z. B. Flächenbearbeitung senkrecht zur z-Achse und Außendurchmesser-Konturschneiden parallel
zur z-Achse) unterscheiden. Außerdem steht, auch wenn die
zuvor genannten Bedingungen identisch sind, ein anderer Bearbeitungsbereich
für einen anderen Arbeitsschritt. Somit wird eine Operation
durchgeführt, bei der nach aus gezeichneten Blöcken
gesucht wird, an denen sich der Bearbeitungsbereich ändert.
Jede der Blockgruppen, die schließlich nach diesen Partitionierungsoperationen
partitioniert sind, wird als Arbeitsschritt festgelegt, d. h. als Basis-Arbeitsgang-Einheit,
und definiert konkret einen Bearbeitungsgang für den Bearbeitungs-Arbeitsschritt.
Falls in dem G-Code-Teileprogramm ein Code mit festem Zyklus existiert,
wird hier der Arbeitsschritt durch einen zusätzlichen Analyseprozess
des Zykluscodes erstellt.
-
Nachdem
der Schritt des Partitionierens des Teileprogramms in Arbeitsschritte
S50 auf diese Weise abgeschlossen worden ist, werden für
jeden Bearbeitungs-Arbeitsschritt unter Verwendung der dem Bearbeitungs-Arbeitsschritt
entsprechenden G-Code-Blockinformationen interne Informationen für
den Bearbeitungs-Arbeitsschritt erstellt, wozu Werkzeuginformationen,
Informationen über die Bearbeitungstechnologie, Informationen über
den Bearbeitungsgang, Fertigungs-Feature-Informationen und Informationen über
die Bearbeitungsstrategie zählen (S100).
-
Nachdem
durch sequentielles Ausführen von Schritt S100 für
alle Bearbeitungs-Arbeitsschritte alle Informationen über
die Bearbeitungs-Arbeitsschritte erstellt und alle Blöcke
des G-Code-Teileprogramms analysiert worden sind, werden die Bearbeitungs-Arbeitsschritte
in derselben Folge angeordnet wie die Bearbeitungsgänge,
die in dem G-Code-Teileprogramm durchgeführt werden. Die
angeordneten Arbeitsschritte werden sequentiell in eine Arbeitsplanentität
aufgenommen, und die Arbeitsplanentität wird abschließend
in die Projektentität aufgenommen, wodurch ein komplettes
STEP-NC-Teileprogramm entsteht (S800).
-
Als
Nächstes wird das in Schritt S800 erstellte STEP-NC-Teileprogramm
einem Nutzer angezeigt, damit dieser das STEP-NC-Teileprogramm überprüfen
und bestätigen kann (S900). Vorzugsweise werden Informationen
wie etwa Bearbeitungsgänge, deren Fertigungs-Features und
dergleichen über eine graphische Benutzerschnittstelle
(GUI) visuell bestätigt und dabei korrigiert.
-
Nachstehend
wird der in 2 gezeigte Schritt des Erstellens
von internen Informationen zu den einzelnen Bearbeitungs-Arbeitsschritten
anhand von 4 im Einzelnen beschrieben.
-
Als
Erstes werden unter Verwendung von Werkzeuginformationen, die in
Eingabeinformationen enthalten sind, für ein Werkzeug,
das in einem entsprechenden Bearbeitungs-Arbeitsschritt benutzt wird,
Werkzeuginformationen erstellt, die in einem STEP-NC-Datenmodell
definiert sind (S200). Ein M-Code aus den G-Code-Blockinformationen
zu den entsprechenden Bearbeitungs-Arbeitsschritten wird analysiert,
und es werden Informationen über die Maschinenfunktionen,
die sich auf den M-Code beziehen, erstellt (S300). Außerdem
werden durch Bezugnahme auf die G-Code- Blockinformationen Informationen über
die Bearbeitungstechnologie einschließlich einer Vorschubgeschwindigkeit,
einer Spindeldrehzahl, einer maximalen Spindeldrehzahl und dergleichen
erstellt (S400). Diese Schritte müssen nicht sequentiell
durchgeführt werden, und alle Informationen werden in der
Reihenfolge ihrer Beschreibung im G-Code-Block erstellt.
-
Als
Nächstes werden durch Bezugnahme auf die Werkzeuginformationen,
die Informationen über die Maschinenfunktionen und die
Informationen über die Bearbeitungstechnologie, die in
den Schritten S200 bis S400 erstellt wurden, Informationen über
den Bearbeitungsgang erstellt, die gemäß Werkzeugtyp
und Bearbeitungsrichtung in die Arbeitsgänge Flächenbearbeitung,
Außendurchmesser-Konturschneiden, Einstechen, Bohren und
Innendurchmesser-Konturschneiden kategorisiert und anschließend
je nachdem, ob Vorschneiden ausgeführt werden soll, und
gemäß einer Spindeldrehzahl und einer Vorschubgeschwindigkeit
in Vorschneiden und Fertigschneiden unterkategorisiert werden (S500).
-
Wenn
der Schritt des Erstellens von Informationen über den Bearbeitungsgang
S500 abgeschlossen ist, werden durch Bezugnahme auf die G-Code-Blockinformationen,
den Typ des Bearbeitungsgangs aus den Informationen über
den Bearbeitungsgang und den Werkzeugtyp und das Werkzeug-Feature
aus den Werkzeuginformationen ein durch einen Interpolationsvorschub
des Bearbeitungs-Arbeitsschritts zu entfernender Bereich sowie ein
Bearbeitungsprofil berechnet, und anschließend werden auf
Basis von Geometrieinformationen, die aus dem Bearbeitungsprofil
erzeugt wurden, Fertigungs-Feature-Informationen erstellt (S600).
Zusätzlich werden durch Bezugnahme auf den Typ des Bearbeitungsgangs
aus den Informationen über den Bearbeitungsgang und den
Werkzeugtyp aus den Werkzeuginformationen und unter Verwendung eines
Interpolationsvorschubvektors und eines Eilvorschubvektors, die
aus den G-Code-Blockinformationen gewonnen werden, Informationen über
die Bearbeitungsstrategie einschließlich einer Anfahr-/Rückfahrstrategie
für ein Werkzeug und einer Bearbeitungsstrategie, die sich
auf eine Bearbeitungsmethode bezieht, erstellt (S700), wodurch der
Schritt des Erstellens interner Informationen zu einer Bearbeitungs-Arbeitsschritt-Einheit
S100 abgeschlossen wird.
-
Nachstehend
wird der in 4 gezeigte Schritt des Erstellens
von Informationen über den Bearbeitungsgang anhand von 5 im
Einzelnen beschrieben. Als Erstes werden ein Bearbeitungs-Arbeitsschritt
und zugehörige Blockinformationen empfangen, die bei den
Schritten des Analysierens eines G-Codes und des Partitionierens
der Arbeitsschritte erstellt wurden (S510), und es wird der Werkzeugtyp des
entsprechenden Arbeitsschritts bestimmt (S520).
-
Falls
der Werkzeugtyp in Schritt 520 ein Außendurchmesser-Konturschneidwerkzeug
ist, wird zunächst bestimmt, ob eine Bearbeitungsrichtung parallel
zur x-Achse verläuft (S530). Falls die Bearbeitungsrichtung
nicht parallel zur x-Achse verläuft, wird der entsprechende
Typ des Arbeitsgangs als Außendurchmesser-Konturschneiden
erkannt. Andernfalls wird der Typ des Arbeitsgangs als Flächenbearbeitung
erkannt.
-
Falls
der Werkzeugtyp bei dem Schritt des Bestimmens eines Werkzeugtyps
S520 ein Einstechwerkzeug ist, wird ein Bearbeitungsweg untersucht und
bestimmt, ob die entsprechende Bearbeitung ein zu bearbeitendes
Material trennt (S540). Hierbei wird der x-Wert eines Interpolationsvorschub-Endpunkts eines
Einstechwerkzeugs untersucht.
-
Wenn
der x-Wert kleiner als null ist, wird bestimmt, dass das zu bearbeitende
Material getrennt werden soll. Falls in Schritt S540 bestimmt wird,
dass das zu bearbeitende Material getrennt werden soll, wird ein
entsprechender Typ des Arbeitsgangs als Flächenbearbeitung
erkannt. Andernfalls wird der Arbeitsgang als Einstechen erkannt
(S550). Falls bei dem Schritt des Bestimmens eines Werkzeugtyps S520
der Werkzeugtyp ein Innendurchmesser-Konturschneidwerkzeug, ein
Bohrwerkzeug, ein Gewindeschneidwerkzeug oder ein Rändelwerkzeug
ist, wird der entsprechende Typ des Arbeitsgangs als Innendurchmesser-Konturschneiden,
Bohren, Gewindeschneiden bzw. Rändeln erkannt.
-
Auf
diese Weise wird der Typ des Arbeitsgangs gemäß dem
Werkzeugtyp erkannt, und es werden Arbeitsganginformationen dazu
erstellt (S650).
-
Danach
wird gemäß dem Typ des Arbeitsgangs eine Schneidmethode
bestimmt, die in Vorschneiden und Fertigschneiden kategorisiert
wird (S560), und gemäß dem Typ des Arbeitsgangs
eines entsprechenden Arbeitsschrittes werden detaillierte Arbeitsganginformationen
und zugehörige Attributwerte erstellt (S570). Nachstehend
werden anhand von 6 die Bedingungen für
die Bestimmung von Vor- oder Fertigschneiden der einzelnen Arbeitsgangtypen
in den Schritten S560 und S570 sowie ein Verfahren zum Bestimmen
eines detaillierten Arbeitsgangtyps anhand der Bedingungen beschrieben.
In dem Falle, dass der Typ des Arbeitsgangs Außendurchmesser-Konturschneiden,
Flächenbearbeitung oder Innendurchmesser-Konturschneiden
ist, wird der Arbeitsgang als Fertigschneiden bestimmt, falls in
einem vorhergehenden Arbeitsschritt bereits ein Vorschneiden eines
identischen Bearbeitungstyps für einen identischen Bearbeitungsbereich
existiert, falls ein Fertigschneidwerkzeug benutzt wird oder falls
in einem entsprechenden Arbeitsschritt eine höhere Spindeldrehzahl
und eine geringere Vorschubgeschwindigkeit als beim Vorschneiden
eingestellt sind. Andernfalls wird der Arbeitsgang als Vorschneiden erkannt.
-
Andererseits
wird im Falle, dass der Typ des Arbeitsgangs Einstechen ist, der
Arbeits gang als Fertigschneiden bestimmt, falls in einem entsprechenden
Arbeitsschritt bereits Vorstechen für einen identischen
Bearbeitungsbereich existiert oder falls in einem entsprechenden
Arbeitsschritt eine höhere Spindeldrehzahl und eine niedrigere
Vorschubgeschwindigkeit eingestellt sind als beim Vorschneiden. Andernfalls
wird der Arbeitsgang als Vorschneiden erkannt.
-
Hierbei
werden geometrische Informationen zu einem Fertigungs-Feature, die
in einem vorhergehenden Arbeitsschritt erstellt worden sind, mit
geometrischen Informationen verglichen, die aus einem Vorschubstartpunkt
und einem Vorschubendpunkt aus den Blockinformationen zu einem aktuellen
Bearbeitungs-Arbeitsschritt gewonnen worden sind. Falls die beiden
geometrischen Informationen fast gleich sind, wird bestimmt, dass
in demselben Bearbeitungsbereich identische Bearbeitung vorliegt.
-
In
dem Falle, dass der Bearbeitungstyp Außendurchmesser-Konturschneiden,
Flächenbearbeitung, Einstechen oder Innendurchmesser-Konturschneiden
ist, wird abhängig davon, ob die bei dem Schritt des Bestimmens
von Vor-/Fertigschneiden S560 bestimmte Schneidmethode Vorschneiden oder
Fertigschneiden ist, ein detaillierter Arbeitsgang als Außendurchmesser-Konturvorschneiden,
Außendurchmesser-Konturfertigschneiden, Vorstechen, Fertigstechen,
Innendurchmesser-Konturvorschneiden oder Innendurchmesser-Konturfertigschneiden erkannt.
Außerdem wird in dem Fall, dass der Bearbeitungstyp Bohren
ist, der Arbeitsgang als Zentrierbohr-Arbeitsgang erkannt, falls
ein Zentrierbohrwerkzeug dafür benutzt wird, als vorbereitender
Arbeitsgang in ein Material eine kleine Vertiefung einzuarbeiten.
Falls ein allgemeines Bohrwerkzeug benutzt wird, wird der Arbeitsgang
als Bohrarbeitsgang erkannt.
-
Jeder
der wie oben beschrieben erkannten detaillierten Arbeitsgänge
weist unterschiedlich definierte interne Attributwerte auf. Bei
dem Schritt des Erstellens detaillierter Arbeitsganginformationen S570
werden die internen Attributwerte eines erkannten detaillierten
Arbeitsgangs durch Bezugnahme auf die Blockinformationen in einem
entsprechenden Arbeitsschritt bestimmt.
-
Nachstehend
wird der in 4 gezeigte Schritt des Erstellens
von Fertigungs-Feature-Informationen anhand von 7 im
Einzelnen beschrieben.
-
Zunächst
wird aus Feature-Informationen zu einem zu bearbeitenden Material
ein zu bearbeitender Bereich bestimmt (S610). Im Falle eines ersten Bearbeitungs-Arbeitsschritts
wird, falls die zuvor erwähnten Eingabeinformationen 10 Feature-Informationen 15 des
zu bearbeitenden Materials enthalten, entsprechend den Materialinformationen
ein zu bearbeitender Materialbereich erstellt. Falls die zuvor erwähnten
Eingabeinformationen keine Feature-Informationen 15 enthalten,
wird ein passender zu bearbeitender Materialbereich unter Beachtung
eines Startpunkts eines ersten Eilvorschubs eines G-Code-Teileprogramms
bestimmt. Ein nach der Ausführung eines vorherigen Bearbeitungs-Arbeitsschritts verbliebener
zu bearbeitender Materialbereich wird als zu bearbeitender Materialbereich
für einen nachfolgenden Bearbeitungs-Arbeitsschritt benutzt.
-
Als
Nächstes wird auf Basis des Werkzeugtyps und der Bewegungsbahnrichtung
eines Interpolationsvorschubes eine Schneidkante bestimmt (S620).
Mit Schneidkante ist eine Kante eines Werkzeugs gemeint, die beim
Ausführen der Bearbeitung mit einem zu bearbeitenden Material
in Kontakt gebracht werden soll. Ein Verfahren zum Bestimmen einer
Schneidkante für die einzelnen Werkzeugtypen wird weiter
unten im Detail beschrieben.
-
Nachdem
in Schnitt S620 eine Schneidkante bestimmt worden ist, wird ein
Bereich eines zu bearbeitenden Materials bestimmt, der von der Schneidkante
des Werkzeugs gemäß einem Interpolationsvorschub
abgetragen werden soll (S630). Der zu bearbeitende Bereich wird über
eine Boole'sche Subtraktionsoperation aus dem Material entfernt,
wodurch ein Bearbeitungsprofil für das am Ende verbleibende
Material gewonnen wird (S640). Die Profilinformationen umfassen
hierbei Informationen über die Typen, Positionen, Richtungen
und dergleichen von Linien, die das Profil definieren.
-
Danach
werden unter Verwendung der Profilinformationen zu dem Material,
das in Schritt S640 gewonnen wurde, Fertigungs-Feature-Informationen erstellt,
die im STEP-NC-Datenmodell definiert sind. Wie in 8 gezeigt
ist, erfolgt die Abbildung von Fertigungs-Features anhand eines
Typs des Bearbeitungsgangs, der Anzahl der ein Profil definierenden
Segmente oder Bögen, des Typs eines das Profil definierenden
Elements und der Neigung des das Profil definierenden Elements (S650).
Das heißt: Falls der Bearbeitungsgang Flächenbearbeitung,
Außendurchmesser-Konturschneiden oder Innendurchmesser-Konturschneiden
ist, wird der Bearbeitungsgang abhängig von der Anzahl
der profildefinierenden Elemente und dem Typ und der Neigung eines Segments
oder Bogens auf die im STEP-NC-Datenmodell definierten circular_face
(kreisförmige Fläche), outer_diameter (Außendurchmesser), revolved_round
(Umdrehung rund), revolved_flat (Umdrehung eben) oder general_revolution
(allgemeine Umdrehung) abgebildet. Im Falle von Einstechen wird
der Bearbeitungsgang auf groove (Stechen) abgebildet, und im Falle
von Bohren wird der Bearbeitungsgang auf round_hole (Rundloch) abgebildet.
Bei den profildefinierenden Elementen handelt es sich hier um Elemente,
die nach dem Ausschließen der profildefinierenden Elemente
eines Materials vor der Bearbeitung aus dem gesamten Profil des Materials
nach dem Bearbeiten übrig bleiben; gemeint sind also profildefinierende
Elemente, die durch die Bearbeitung neu erzeugt werden. Wenn beispielsweise
bei dem Schritt des Erstellens von Informationen über den
Bearbeitungsgang S500 ein Arbeitsschritt als Außendurchmesser-Konturvorschneiden
erkannt wird und außerdem bei dem Schritt des Erstellens
von Bearbeitungsprofilinformationen aus einem zu bearbeitenden Bereich
S640 erkannt wird, dass er über drei profildefinierende
Elemente verfügt, bei denen es sich jeweils um einen Segmenttyp
handelt, so wird der Bearbeitungsgang auf general_revolution (allgemeine
Umdrehung) abgebildet, wie in 8 gezeigt
ist.
-
Zu
den Informationen, die bei dem Schritt des Abbildens eines Bearbeitungs-Features
unter Verwendung eines Bearbeitungsprofils S650 gespeichert werden
sollen, gehören der Typ eines abgebildeten Features und
Informationen zu geometrischen Features, die das Profil definieren,
d. h., Subinformationen über das abgebildete Feature, wie
etwa Koordinaten des Ursprungs des Profils, Geraden, bei denen es
sich um einen Segmenttyp handelt, der das Profil definiert, und
Koordinaten und Richtungen von Punkten für die Geraden.
-
Nachstehend
wird anhand der 9 bis 11 ein
Verfahren zum Bestimmen einer Schneidkante bei der Bearbeitung beschrieben.
-
9 ist
eine Ansicht, die die Schneidkantenwinkel eines in einem STEP-NC-Datenmodell
definierten Außen- oder Innendurchmesser-Formdrehwerkzeugs
zeigt,
-
10 ist eine Ansicht, die die in 9 gezeigten
Schneidkantenwinkel zeigt und zeigt, wie die Schneidkanten in Abhängigkeit
von einer Bewegungsbahnrichtung bestimmt werden, und 11 ist eine Ansicht, die Schneidkanten
eines Einstechwerkzeugs und eines Bohrwerkzeugs zeigt.
-
Wie
in 9 gezeigt ist, wird eine Kante, die an einer Seite
eines Einsatzes 610 eines Außen- oder Innendurchmesser-Konturschneidwerkzeugs 600 ausgebildet
ist, als Seitenschneidkante 611 bezeichnet, und ein Betrag
eines Winkels zwischen der Seitenschneidkante und der z-Achse wird
Seitenschneidkantenwinkel θs genannt. Weiterhin wird eine Kante,
die an einer Stirnseite des Einsatzes 610 ausgebildet ist,
Stirnschneidkante 612 genannt, und ein Betrag eines Winkels
zwischen der Stirnschneidkante und der z-Achse wird Stirnschneidkantenwinkel θe genannt.
-
Eine
Schneidkante, die für die Bearbeitung benutzt wird, wird
durch eine Bewegungsbahnrichtung und einen Schneidkantenwinkel bestimmt. Wenn,
wie in 10(a) gezeigt, die Bewegungsbahnrichtung
zwischen (180° – Seitenschneidkantenwinkel) und
(180° + Stirnschneidkantenwinkel) liegt, wird die Seitenschneidkante
als Schneidkante bestimmt. Wenn, wie in 10(b) gezeigt,
die Bewegungsbahnrichtung zwischen (90° + Seitenschneidkantenwinkel)
und (360° + Stirnschneidkantenwinkel) liegt, wird die Stirnschneidkante
als Schneidkante bestimmt. Wenn, wie in 10(c) gezeigt, die
Bewegungsbahnrichtung zwischen (180° + Stirnschneidkantenwinkel)
und (90° + Seitenschneidkantenwinkel) liegt, wird eine
Kombination aus der Stirnschneidkante und der Seitenschneidkante
als Schneidkante bestimmt.
-
Die
Schneidkanten eines Einstechwerkzeugs und eines Bohrwerkzeugs entsprechen
den Spitzen der Werkzeuge, wie in 11 gezeigt
ist.
-
Nachstehend
werden anhand von 12 detaillierte
Prozeduren des in 4 gezeigten Schritts des Erstellens
von Informationen über die Bearbeitungsstrategie S700 beschrieben.
-
Als
Erstes werden ein entsprechender Bearbeitungs-Arbeitsschritt und
die diesem entsprechenden Blockinformationen abgerufen (S710).
-
Dann
werden unter Rückgriff auf den Bearbeitungs-Arbeitsschritt
und die Blockinformationen Informationen über eine Anfahrstrategie
und eine Rückfahrstrategie für den entsprechenden
Arbeitsschritt erstellt (S720).
-
Hierbei
werden die Anfahrstrategieinformationen für den Bearbeitungs-Arbeitsschritt
erstellt, falls vor einem ersten Interpolationsvorschub innerhalb des
entsprechenden Arbeitsschrittes ein Eilvorschubblock existiert.
Die in dem STEP-NC-Datenmodell definierte Anfahrstrategie wird nach
dem Typ eines von Eilvorschubblöcken erzeugten Vorschubvektors
kategorisiert. Die Anfahrmethode wird als Tauchwerkzeugachse erkannt,
falls der Vorschubvektor senkrecht zur Werkzeugachse verläuft;
als Tauchrampe, falls der Vorschubvektor eine Neigung aufweist;
als Tauchhelix, falls der Vorschubvektor ein Bogen ist und als Tauchzickzack,
falls der Vorschubvektor zickzackförmig ist. Außerdem
wird die Rückfahrstrategie des Bearbeitungs-Arbeitsschritts
erstellt, falls nach einem letzten Interpolationsvorschub innerhalb
des entsprechenden Arbeitsschritts ein Eilvorschubblock existiert,
und der Typ und das Erkennungsverfahren davon sind identisch mit
Typ und Erkennungsverfahren der Anfahrstrategie.
-
Wenn
der Schritt des Erstellens der Anfahr- und Rückfahrstrategien
S720 abgeschlossen ist, wird der Typ eines bei dem entsprechenden
Arbeitsschritt benutzten Werkzeugs bestimmt (S730).
-
Falls
in Schritt S730 bestimmt wird, dass das bei dem entsprechenden Arbeitsschritt
benutzte Werkzeug ein Innen- oder Außendurchmesser-Konturschneidwerkzeug
ist, wird unter Beachtung einer Bearbeitungsrichtung gemäß einer
Kombination aus einem Eilvorschub und einem Interpolationsvorschub eine
Bearbeitungsstrategie etabliert (S740). Die Bearbeitungsstrategie
wird als bidirektionales Drehen etabliert, falls die Bearbeitung
in entgegengesetzten Richtungen erfolgt, als unidirektionales Drehen,
falls die Bearbeitung nur in eine Richtung erfolgt, und als Konturdrehen,
falls nur ein Interpolationsvorschub entlang einem Profil einer
endgültigen Form durchgeführt wird.
-
Hierbei
wird bidirektionales Drehen nur dann erlaubt, wenn ein Werkzeug
von neutralem Typ benutzt wird, und das Konturdrehen entspricht
einem Fall, in dem ausschließlich Interpolationsvorschübe aufeinanderfolgend
angeordnet sind und ein Werkzeug den Interpolationsvorschüben
entlang dem Profil des endgültigen Features ausgesetzt
wird. Nachdem der Schritt des Etablierens einer Bearbeitungsstrategie
S740 abgeschlossen worden ist, werden entsprechende Informationen über
die Bearbeitungsstrategie erstellt und zugehörige Attributwerte
gesetzt (S750), wodurch der Schritt des Erstellens der Informationen über
die Bearbeitungsstrategie S700 abgeschlossen wird. Zu diesem Zeitpunkt
sind die zugehörigen Attributwerte je nach den Typen der
Bearbeitungsstrategien anders; sie werden aus Blockinformationen
eines Bearbeitungs-Arbeitsschritts gewonnen.
-
Falls
andererseits bei dem Schritt des Bestimmens eines Werkzeugtyps S730
der Werkzeugtyp als Einstechwerkzeug bestimmt wird, wird die Bearbeitungsstrategie
automatisch als Mehrschritt-Einstechstrategie erkannt, und dann
wird der Schritt des Erstellens der Informationen über
die Bearbeitungsstrategie S750 durchgeführt.
-
Die
vorliegende Erfindung, die vorstehend beschrieben wurde, ist nicht
auf die zuvor erwähnten Ausführungsformen und
die beigefügten Zeichnungen beschränkt. Dem Fachmann
ist augenscheinlich, dass diverse Ersetzungen, Modifikationen und Änderungen
an ihr gemacht werden können, ohne vom technischen Gedanken
und dem Schutzumfang der vorliegenden Erfindung abzuweichen.
-
[Gewerbliche Anwendbarkeit]
-
Das
Verfahren zum Umwandeln eines G-Codes in ein STEP-NC-Teileprogramm
gemäß der vorliegenden Erfindung schafft ein Teileprogramm-Umwandlungsverfahren,
welches dazu in der Lage ist, ein Teileprogramm vom G-Code-Typ automatisch
in ein Teileprogramm vom STEP-NC-Sprachtyp umzuwandeln, und es dadurch
ermöglicht, ein Teileprogramm vom G-Code-Typ, wie es hauptsächlich
in der Praxis benutzt wird, ohne einen zusätzlichen manuellen
Arbeitsgang auf einfache Weise bei einem STEP-NC-Controller anzuwenden.
-
Ferner
wird Nutzern, die mit Teileprogrammen vom STEP-NC-Sprachtyp nicht
vertraut sind, ein Verfahren an die Hand gegeben, mit dem sie Programme
zum Ansteuern eines STEP-NC-Controllers auf herkömmliche
Weise erstellen können, so dass solche Benutzer sich leicht
an den STEP-NC-Controller gewöhnen können, wenn
dieser neu eingeführt wird.
-
ZUSAMMENFASSUNG
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Transformieren
eines Teileprogramms vom G-Code-Typ in ein Teileprogramm vom STEP-NC-Sprachtyp
und spezieller ein Verfahren, welches es auf einfache Weise ermöglicht,
ein Teileprogramm vom G-Code-Typ, wie es hauptsächlich
in der Praxis benutzt wird, ohne beschwerliche Korrektur auf einen
STEP-NC-Controller anzuwenden, indem das Verfahren durch einen Prozess,
bei dem G-Codes aus dem Teileprogramm vom G-Code-Typ und Werkzeuginformationen
analysiert werden, automatisch ein Teileprogramm vom STEP-NC-Sprachtyp
erstellt, welches aus Informationen über den Bearbeitungsgang,
Fertigungs-Feature-Informationen, Informationen über die
Bearbeitungsstrategie und dergleichen zusammengesetzt ist.
-
Ein
Verfahren zum Transformieren eines G-Codes in ein STEP-NC-Teileprogramm
umfasst die folgenden Schritte: Empfangen eines G-Code-Teileprogramms,
eines NC-Controllers und von Werkzeugen; Erstellen von G-Code-Blockinformationen;
Partitionieren des gesamten Teileprogramms auf Arbeitsschrittbasis;
Erstellen von Informationen über die Bearbeitungsstrategie
und Erstellen des STEP-NC-Teileprogramms durch Anordnen der Bearbeitungs-Arbeitsschritte.
-
- 10
- Eingabeinformationen
- 12
- Werkzeuginformationen
- 300
- G-Code-Umwandler
- 500
- STEP-NC-System
- 520
- STEP-NC-Speichereinheit
- 11
- G-Code-Teileprogramm
- 13
- Controller-Informationen
- 400
- STEP-NC-Teileprogramm
- 510
- STEP-NC-Controller
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - ISO 10303 [0031]
- - ISO 14649 [0031]
- - ISO 14649 [0031]
- - ISO 10303-AP238 [0031]
- - ISO 10303-AP238 [0031]