Beachten Sie Folgendes: WARNUNG Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und...
Inhaltsverzeichnis Einleitung ............................17 Über SINUMERIK ........................ 17 Über diese Dokumentation....................17 Dokumentation im Internet....................20 1.3.1 Dokumentationsübersicht SINUMERIK 828D ............... 20 1.3.2 Dokumentationsübersicht SINUMERIK-Bedienkomponenten ..........20 Feedback zur technischen Dokumentation ................. 21 mySupport-Dokumentation....................21 Service und Support......................22 Verwendung von OpenSSL ....................23 Einhaltung der Datenschutz-Grundverordnung ..............
Seite 4
Inhaltsverzeichnis 3.2.2.5 Ausblenden von Sätzen...................... 49 Anlegen eines NC-Programms .................... 51 3.3.1 Grundsätzliches Vorgehen....................51 3.3.2 Verfügbare Zeichen......................52 3.3.3 Programmkopf........................53 3.3.4 Programmbeispiele ......................54 3.3.4.1 Beispiel 1: Erste Programmierschritte.................. 54 3.3.4.2 Beispiel 2: NC-Programm zum Drehen ................55 3.3.4.3 Beispiel 3: NC-Programm zum Fräsen .................
Seite 6
Inhaltsverzeichnis 3.9.10.1 Gewindebohren ohne Ausgleichsfutter und Rückzugsbewegung (G331, G332) ....245 3.9.10.2 Beispiel: Gewindebohren mit G331 / G332 ............... 247 3.9.10.3 Beispiel: Programmierte Bohrdrehzahl in der aktuellen Getriebestufe ausgeben ....247 3.9.10.4 Beispiel: Anwendung des zweiten Getriebestufen-Datensatzes.......... 248 3.9.10.5 Beispiel: Keine Drehzahlprogrammierung, Überwachung der Getriebestufe....... 248 3.9.10.6 Beispiel: Getriebestufenwechsel nicht möglich, Überwachung der Getriebestufe....
Fertigungsbereiche – vom Muster- und Werkzeugbau über den Formenbau bis zur Großserienfertigung. Für weitere Informationen besuchen Sie die Internetseite zu SINUMERIK (https:// www.siemens.de/sinumerik). Über diese Dokumentation Die vorliegende Dokumentation gehört zur Gruppe der SINUMERIK-Programmierhandbücher. Programmierhandbuch "NC-Programmierung" Das Programmierhandbuch "NC-Programmierung" enthält alle Informationen, die für die Programmierung von NC-Funktionen einer SINUMERIK-Steuerung relevant sind.
Einleitung 1.2 Über diese Dokumentation Gültigkeit Die Titelseite enthält auch alle Angaben zur Gültigkeit eines Dokuments, d. h., für welche SINUMERIK-Steuerung und für welche Software-Version diese Ausgabe des Programmierhandbuchs gültig ist. Kapitelstruktur Die Beschreibungen der NC-Sprachelemente (G-Befehl, Prozedur, Funktion, ...) sind einheitlich strukturiert, die Erstellung der Inhalte erfolgt unter Berücksichtigung vordefinierter Schlüsselfragen.
Seite 19
Dieses Dokument kann Hyperlinks auf Webseiten Dritter enthalten. Siemens übernimmt für die Inhalte dieser Webseiten weder eine Verantwortung noch macht Siemens sich diese Webseiten und ihre Inhalte zu eigen. Siemens kontrolliert nicht die Informationen auf diesen Webseiten und ist auch nicht für die dort bereitgehaltenen Inhalte und Informationen verantwortlich. Das Risiko für deren Nutzung trägt der Nutzer.
1.3 Dokumentation im Internet Dokumentation im Internet 1.3.1 Dokumentationsübersicht SINUMERIK 828D Eine umfangreiche Dokumentation zu den Funktionen von SINUMERIK 828D ab der Version 4.8 SP4 finden Sie unter Dokumentationsübersicht 828D (https:// support.industry.siemens.com/cs/ww/de/view/109766724). Sie haben die Möglichkeit, die Dokumente anzuzeigen oder im PDF- und HTML5-Format herunterzuladen.
Themenseite (https://support.industry.siemens.com/cs/document/109766201/sinumerik-ein- %C3%BCberblick-der-wichtigsten-dokumente-und-links?lc=de-ww). Feedback zur technischen Dokumentation Bei Fragen, Anregungen oder Korrekturen zu der im Siemens Industry Online Support veröffentlichten technischen Dokumentation nutzen Sie den Link "Feedback senden" am Ende eines Beitrags. mySupport-Dokumentation Mit dem webbasierten System "mySupport-Dokumentation" können Sie Ihre Dokumentation auf Basis der Siemens-Inhalte individuell zusammenstellen und für die eigene...
Um eine technische Frage zu stellen, nutzen Sie das Online-Formular im Bereich "Support Request". Training Unter folgender Adresse (https://www.siemens.de/sitrain) finden Sie Informationen zu SITRAIN. SITRAIN bietet Trainingsangebote für Siemens-Produkte, Systeme und Lösungen der Antriebs- und Automatisierungstechnik. NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Einleitung 1.7 Verwendung von OpenSSL Siemens-Support für unterwegs Mit der preisgekrönten App "Siemens Industry Online Support" haben Sie jederzeit und überall Zugang zu über 300.000 Dokumenten der Siemens Industry-Produkte. Die App unterstützt Sie unter anderem in folgenden Einsatzfeldern: • Lösen von Problemen bei einer Projektumsetzung •...
Weitere Informationen finden Sie im Internet: • OpenSSL (https://www.openssl.org) • Cryptsoft (https://www.cryptsoft.com) Einhaltung der Datenschutz-Grundverordnung Siemens beachtet die Grundsätze des Datenschutzes, insbesondere die Gebote der Datenminimierung (privacy by design). Für dieses Produkt bedeutet das: Das Produkt verarbeitet oder speichert keine personenbezogenen Daten, lediglich technische Funktionsdaten (z. B.
Applikationsbeispiele entheben Sie nicht der Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb und Wartung. Security-Hinweise Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen. Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht.
Seite 26
Weiterführende Informationen zu möglichen Schutzmaßnahmen im Bereich Industrial Security finden Sie unter: https://www.siemens.com/industrialsecurity Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Produkt-Updates anzuwenden, sobald sie zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden.
Grundlagen Geometrische Grundlagen 3.1.1 Werkstück-Positionen 3.1.1.1 Bezugssystem der Positionsangaben Damit die Maschine bzw. Steuerung mit den im NC-Programm angegebenen Positionen arbeiten kann, müssen sich diese Positionsangaben auf ein Bezugssystem beziehen, das auf die Bewegungsrichtungen der Maschinenachsen übertragen werden kann. Dafür wird ein rechtshändiges kartesisches (rechtwinkliges) Koordinatensystem mit den drei Hauptachsen X, Y und Z verwendet.
Grundlagen 3.1 Geometrische Grundlagen Positionsangaben in Form kartesischer Koordinaten Der Einfachheit halber betrachten wir bei dem folgenden Beispiel nur eine Ebene des Koordinatensystems, die X/Y-Ebene: Die Punkte P1 bis P4 besitzen folgende Koordinaten: Position Koordinaten X100 Y50 X-50 Y100 X-105 Y-115 X70 Y-75 Beispiel: Werkstück-Positionen beim Drehen Bei Drehmaschinen genügt eine Ebene, um die Kontur zu beschreiben:...
Grundlagen 3.1 Geometrische Grundlagen Die Punkte P1 bis P4 besitzen folgende Koordinaten: Position Koordinaten X25 Z-7.5 X40 Z-15 X40 Z-25 X60 Z-35 Beispiel: Werkstück-Positionen beim Fräsen Bei Fräsbearbeitungen muss auch die Zustelltiefe beschrieben werden, d. h., es muss auch der dritten Koordinate (in diesem Fall Z) ein Zahlenwert zugeordnet werden. Die Punkte P1 bis P3 besitzen folgende Koordinaten: Position Koordinaten...
Grundlagen 3.1 Geometrische Grundlagen Der Polarradius ist der Abstand zwischen dem Pol und der Position. Der Polarwinkel ist der Winkel zwischen dem Polarradius und der waagrechten Achse der Arbeitsebene. Negative Polarwinkel verlaufen im Uhrzeigersinn, positive im Gegenuhrzeigersinn. Beispiel Die Punkte P1 und P2 können, bezogen auf den Pol, wie folgt beschrieben werden: Position Polarkoordinaten RP=100 AP=30...
Grundlagen 3.1 Geometrische Grundlagen Beispiel: Drehen Im Absolutmaß ergeben sich für die Punkte P1 bis P4 folgende Positionsangaben: Position Positionsangabe im Absolutmaß X25 Z-7,5 X40 Z-15 X40 Z-25 X60 Z-35 Beispiel: Fräsen NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Grundlagen 3.1 Geometrische Grundlagen Im Absolutmaß ergeben sich für die Punkte P1 bis P3 folgende Positionsangaben: Position Positionsangabe im Absolutmaß X20 Y35 X50 Y60 X70 Y20 3.1.1.5 Kettenmaß Positionsangaben im Kettenmaß (Inkrementalmaß) In Fertigungszeichnungen beziehen sich die Maße häufig nicht auf den Nullpunkt, sondern auf einen anderen Werkstückpunkt.
Grundlagen 3.1 Geometrische Grundlagen Beispiel: Fräsen Die Positionsangaben für die Punkte P1 bis P3 im Kettenmaß lauten: Im Kettenmaß ergeben sich für die Punkte P1 bis P3 folgende Positionsangaben: Position Positionsangabe im Kettenmaß Die Angabe bezieht sich auf: X20 Y35 Nullpunkt X30 Y20 X20 Y-35 3.1.2...
Grundlagen 3.1 Geometrische Grundlagen Arbeitsebenen beim Drehen / Fräsen Arbeitsebenen beim Fräsen Arbeitsebenen beim Drehen Aktivieren einer Arbeitsebene Die Arbeitsebenen werden im NC-Programm mit den G-Befehlen G17, G18 und G19 aktiviert. Der Zusammenhang ist wie folgt definiert: G-Befehl Arbeitsebene Abszisse Ordinate Applikate ≙...
Grundlagen 3.1 Geometrische Grundlagen Bezugspunkte Referenzpunkt Durch Nocken und Messsystem festgelegte Position. Der Abstand zum Maschinen-Null‐ punkt M muss bekannt sein, so dass die Achsposition an dieser Stelle exakt auf diesen Wert gesetzt werden kann. Startpunkt Per Programm festlegbar. Hier beginnt das 1. Werkzeug der Bearbeitung. Werkzeugträgerbezugspunkt Befindet sich an der Werkzeughalteraufnahme.
Grundlagen 3.1 Geometrische Grundlagen 3.1.4 Koordinatensysteme Folgende Koordinatensysteme werden unterschieden: • Maschinen-Koordinaten-System (MKS) (Seite 36) mit dem Maschinen-Nullpunkt M • Basis-Koordinaten-System (BKS) (Seite 38) • Basis-Nullpunkt-System (BNS) (Seite 39) • Einstellbares Nullpunkt-System (ENS) (Seite 40) • Werkstück-Koordinaten-System (WKS) (Seite 41) mit dem Werkstück-Nullpunkt W 3.1.4.1 Maschinen-Koordinatensystem (MKS) Das Maschinen-Koordinatensystem wird aus allen physikalisch vorhandenen Maschinenachsen gebildet.
Seite 37
Grundlagen 3.1 Geometrische Grundlagen Drehbewegungen um die Koordinatenachsen X, Y und Z werden mit A, B und C bezeichnet. Der Drehsinn der Drehung ergibt sich aus der Richtung der Drehbewegung bei Blick in die positive Richtung der Koordinatenachse: Richtung der Drehbewegung Drehsinn im Uhrzeigersinn positiv...
Grundlagen 3.1 Geometrische Grundlagen Lage des Koordinatensystems bei unterschiedlichen Maschinentypen Die Lage des Koordinatensystems, die sich aus der "Drei-Finger-Regel" ergibt, kann bei unterschiedlichen Maschinentypen unterschiedlich ausgerichtet sein, wie die beiden folgenden Beispiele zeigen: Vertikale 3-Achsen-Fräsmaschine Horizontale 4-Achsen-Fräsmaschine 3.1.4.2 Basis-Koordinatensystem (BKS) Das Basiskoordinatensystem (BKS) besteht aus drei rechtwinklig angeordneten Achsen (Geometrieachsen), sowie aus weiteren Achsen (Zusatzachsen) ohne geometrischen Zusammenhang.
Grundlagen 3.1 Geometrische Grundlagen WZ-Maschinen mit kinematischer Transformation Das BKS und das MKS fallen nicht zusammen, wenn das BKS mit kinematischer Transformation (z. B. 5-Achstransformation, TRANSMIT / TRACYL / TRAANG) auf das MKS abgebildet wird. Bei diesen Maschinen müssen Maschinenachsen und Geometrieachsen unterschiedliche Namen haben. Maschinenkinematik Das Werkstück wird immer in einem zwei- oder dreidimensionalen rechtwinkligen Koordinatensystem (WKS) programmiert.
Grundlagen 3.1 Geometrische Grundlagen Basisverschiebung Die Basisverschiebung beschreibt die Koordinatentransformation zwischen dem BKS und BNS. Mit ihr kann z. B. der Paletten-Nullpunkt festgelegt werden. Die Basisverschiebung setzt sich zusammen aus: • Externe Nullpunktverschiebung • DRF-Verschiebung • Überlagerte Bewegung • Verkettete Systemframes • Verkettete Basisframes 3.1.4.4 Einstellbares Nullpunktsystem (ENS) Einstellbare Nullpunktverschiebung...
Grundlagen 3.1 Geometrische Grundlagen Programmierbare Koordinatentransformationen (Frames) Manchmal erweist es sich als sinnvoll bzw. notwendig, innerhalb eines NC-Programms das ursprünglich gewählte Werkstück-Koordinatensystem (bzw. das "Einstellbare Nullpunktsystem") an eine andere Stelle zu verschieben und ggf. zu drehen, zu spiegeln und / oder zu skalieren. Dies erfolgt über programmierbare Koordinatentransformationen (Frames) (Seite 304).
Grundlagen 3.2 Grundlagen der NC-Programmierung 3.1.4.6 Wie hängen die verschiedenen Koordinatensysteme zusammen? Das folgende Beispiel soll die Zusammenhänge zwischen den verschiedenen Koordinatensystemen verdeutlichen: ① Eine kinematische Transformation ist nicht aktiv. D. h., das Maschinenkoordinatensystem und das Basiskoordinatensystem fallen zusammen. ② Durch die Basisverschiebung ergibt sich das Basis-Nullpunktsystem (BNS) mit dem Paletten-Null‐ punkt.
Grundlagen 3.2 Grundlagen der NC-Programmierung 3.2.1 Benennung eines NC-Programms Regeln Jedem NC-Programm muss beim Erstellen ein Programmname (Bezeichner) zugewiesen werden. Der Programmname kann unter Einhaltung folgender Regeln frei gewählt werden: • Erlaubte Zeichen: – Buchstaben: A ... Z, a ... z –...
Grundlagen 3.2 Grundlagen der NC-Programmierung Steuerungsinterne Erweiterungen Der bei der Programmerstellung vergebene Programmname wird steuerungsintern mit einem Pre- und Postfix erweitert: • Prefix: _N_ • Postfix: – Hauptprogramme: _MPF – Unterprogramme: _SPF Dateien im Lochstreifenformat Extern erstellte Programmdateien, die über die V.24-Schnittstelle eingelesen werden sollen, müssen im Lochstreifenformat vorliegen.
Grundlagen 3.2 Grundlagen der NC-Programmierung Das Adresszeichen (im Allgemeinen ein Buchstabe) definiert die Bedeutung des Befehls. Beispiele: Adresszeichen Bedeutung G-Befehl (Wegbedingung) Weginformation für Achse X Spindeldrehzahl Ziffernfolge Die Ziffernfolge ist der dem Adresszeichen zugewiesene Wert. Die Ziffernfolge kann Vorzeichen und Dezimalpunkt beinhalten, wobei ein Vorzeichen immer zwischen dem Adressbuchstaben und der Ziffernfolge steht.
Grundlagen 3.2 Grundlagen der NC-Programmierung Dazu gehören u. a.: • Befehle der NC-Hochsprache Im Unterschied zu den Befehlen nach DIN 66025 bestehen die Befehle der NC-Hochsprache aus mehreren Adressbuchstaben, z. B.: – OVR für Drehzahlkorrektur (Override) – SPOS für Spindelpositionieren • Bezeichner (definierte Namen) für: –...
Grundlagen 3.2 Grundlagen der NC-Programmierung 3.2.2.2 Satzregeln Satzanfang NC-Sätze können am Satzanfang durch Satznummern gekennzeichnet werden. Diese bestehen aus dem Zeichen "N" und einer positiven ganzen Zahl, z. B.: N40 ... Die Reihenfolge der Satznummern ist beliebig, aufsteigende Satznummern sind empfehlenswert. Hinweis Satznummern müssen innerhalb eines Programms eindeutig sein, um beim Satzsuchlauf ein eindeutiges Ergebnis zu erzielen.
Grundlagen 3.2 Grundlagen der NC-Programmierung Werkzeug Werkzeugkorrekturnummer Zusatzfunktion Hilfsfunktion Hinweis Einige Adressen können innerhalb eines Satzes auch mehrfach verwendet werden, z. B.: G…, M…, H… 3.2.2.3 Wertzuweisungen Den Adressen können Werte zugewiesen werden. Dabei gelten folgende Regeln: • Ein "="-Zeichen zwischen der Adresse und dem Wert muss geschrieben werden, wenn: –...
Grundlagen 3.2 Grundlagen der NC-Programmierung Beispiel 1: Programmcode Kommentar N10 G1 F100 X10 Y20 ; Kommentar zur Erläuterung des NC-Satzes Beispiel 2: Programmcode Kommentar ; Firma G&S, Auftrag Nr. 12A71 ; Programm erstellt von H. Müller, Abt. TV 4, am 21.11.94 ;...
Grundlagen 3.2 Grundlagen der NC-Programmierung Programmcode Kommentar N10 … ; wird abgearbeitet /N20 … ; ausgeblendet N30 … ; wird abgearbeitet /N40 … ; ausgeblendet /N50 … ; ausgeblendet /N60 … ; ausgeblendet N70 … ; wird abgearbeitet Ausblendebenen Sätzen können Ausblendebenen (max. 10) zugeordnet werden, die über die Bedienoberfläche oder das PLC-Anwenderprogramm aktivierbar sind.
Grundlagen 3.3 Anlegen eines NC-Programms Anlegen eines NC-Programms 3.3.1 Grundsätzliches Vorgehen Beim Erstellen eines NC-Programms ist die Programmierung, also die Umsetzung der einzelnen Arbeitsschritte in die NC-Sprache, meist nur ein kleiner Teil der Programmier-Arbeit. Vor der eigentlichen Programmierung sollte die Planung und Vorbereitung der Arbeitsschritte im Vordergrund stehen.
Grundlagen 3.3 Anlegen eines NC-Programms Programmkopf beim Drehen Das folgende Beispiel zeigt, wie der Programmkopf eines NC-Programms zum Drehen typischerweise aufgebaut ist: Programmcode Kommentar N10 G0 G153 X200 Z500 T0 D0 ; Werkzeugträger zurückziehen, bevor Werkzeu- grevolver geschwenkt wird. N20 T5 ;...
Grundlagen 3.3 Anlegen eines NC-Programms Vorgehensweise 1. Teileprogramm neu anlegen (Namen) 2. Teileprogramm editieren 3. Teileprogramm auswählen 4. Einzelsatz aktivieren 5. Teileprogramm starten Hinweis Damit das Programm auf der Maschine ablaufen kann, müssen Maschinendaten entsprechend gesetzt sein (→ siehe Angaben des Maschinenherstellers!). Hinweis Beim Testen eines Programms können Alarme auftreten, die erst zurückgesetzt werden müssen.
Grundlagen 3.4 Werkzeugwechsel Programmcode Kommentar N140 G0 Z200 M5 M9 ; Ausheben des Fräsers, Spindel + Küh- lung aus. N150 T="SF10" ; Voranwahl des Werkzeugs mit dem Namen SF10. N160 M6 ; Werkzeug in die Spindel einwechseln. N170 S2800 M3 M8 ;...
Seite 60
Grundlagen 3.4 Werkzeugwechsel Werkzeugwechsel bei Drehmaschinen mit Revolvermagazin Bei Revolvermagazinen an Drehmaschinen wird der Werkzeugwechsel, also das Suchen und Wechseln des Werkzeugs, nur mit dem T-Befehl aufgerufen. Werkzeugwechsel bei Werkzeugmaschinen mit Ketten-, Scheiben- oder Flächenmagazinen ① Spindel ② Greifer ③ Magazin (hier: Kettenmagazin) ④...
Grundlagen 3.4 Werkzeugwechsel Programmierung der Arbeitsebene Mit dem Werkzeugwechsel muss die entsprechende Arbeitsebene (Seite 33) programmiert werden (Grundstellung: G18). Damit wird sichergestellt, dass die Werkzeuglängenkorrektur der richtigen Achse zugeordnet ist. Aktivierung der Werkzeugkorrektur Der Werkzeugwechsel aktiviert die unter einer D-Nummer (Seite 89) gespeicherten Werkzeugkorrekturwerte.
Grundlagen 3.4 Werkzeugwechsel T<n>=<Nr> T<n>=<Name> Werkzeug abwählen Bedeutung Adresse zur Werkzeuganwahl inklusive Werkzeugwechsel und Aktivierung der Werkzeug‐ korrektur Als Wertzuweisung ist möglich: Nummer des Magazinplatzes <Nr>: Name des Werkzeugs <Name>: Hinweis: Bei der Programmierung eines Werkzeugnamens muss auf die korrekte Schreibweise (Groß-/Kleinschreibung) geachtet werden. Spindelnummer als Adresserweiterung <n>: Hinweis:...
Grundlagen 3.4 Werkzeugwechsel ① Magazinplatznummern ⑫ Im NC-Programm ist folgender Werkzeug-Aufruf programmiert: N10 T=1 Der Aufruf wird wie folgt verarbeitet: 1. Der Magazinplatz 1 wird betrachtet und dabei der Bezeichner des Werkzeugs ermittelt. 2. Die Werkzeugverwaltung erkennt, dass dieses Werkzeug gesperrt und somit nicht einsatzfähig ist.
Seite 64
Grundlagen 3.4 Werkzeugwechsel Syntax Werkzeug anwählen T=<Nr> T=<Name> T<n>=<Nr> T<n>=<Name> Werkzeugwechsel Werkzeug abwählen Bedeutung Adresse zur Werkzeuganwahl Als Wertzuweisung ist möglich: Nummer des Magazinplatzes <Nr>: Name des Werkzeugs <Name>: Hinweis: Bei der Programmierung eines Werkzeugnamens muss auf die korrekte Schreibweise (Groß-/Kleinschreibung) geachtet werden. Spindelnummer als Adresserweiterung <n>: Hinweis:...
Grundlagen 3.4 Werkzeugwechsel 3.4.2 Werkzeugwechsel bei nicht aktiver Werkzeugverwaltung 3.4.2.1 Werkzeugwechsel bei nicht aktiver WZV mit T-Nummer Mit Programmierung der T-Nummer erfolgt ein direkter Werkzeugwechsel. Anwendung Bei Drehmaschinen mit Revolvermagazin. Syntax Werkzeug anwählen T<Nr> T=<Nr> T<n>=<Nr> Werkzeug abwählen T0=<Nr> Bedeutung Adresse zur Werkzeuganwahl inklusive Werkzeugwechsel und Aktivierung der Werkzeug‐ korrektur Nummer des Werkzeugs <Nr>:...
Seite 66
Grundlagen 3.4 Werkzeugwechsel Anwendung Bei Werkzeugmaschinen mit Ketten-, Scheiben- oder Flächenmagazinen. Syntax Werkzeug anwählen T<Nr> T=<Nr> T<n>=<Nr> Werkzeugwechsel Werkzeug abwählen T0=<Nr> Bedeutung Adresse zur Werkzeuganwahl Nummer des Werkzeugs <Nr>: Wertebereich: 0 ... 32000 Spindelnummer als Adresserweiterung <n>: Hinweis: Die Möglichkeit, eine Spindelnummer als Adresserweiterung zu programmieren, ist von der Projektierung der Maschine abhängig (→...
Grundlagen 3.5 Werkzeugkorrekturen 3.4.3 Verhalten bei fehlerhafter T-Programmierung Das Verhalten bei einer fehlerhaften T-Programmierung ist abhängig von der Projektierung der Maschine: MD22562 TOOL_CHANGE_ERROR_MODE Wert Bedeutung Grundstellung! Bei der T-Programmierung wird sofort geprüft, ob die T-Nummer dem NC bekannt ist. Wenn dies nicht der Fall, wird ein Alarm abgesetzt. Die programmierte T-Nummer wird erst geprüft, wenn die D-Anwahl erfolgt ist.
Grundlagen 3.5 Werkzeugkorrekturen 3.5.2 Werkzeuglängenkorrektur Mit der Werkzeuglängenkorrektur werden die Längenunterschiede zwischen den eingesetzten Werkzeugen ausgeglichen. Als Werkzeuglänge gilt der Abstand zwischen Werkzeugträgerbezugspunkt und Werkzeugspitze: Werkzeugträgerbezugspunkt Werkzeugspitze Diese Länge wird vermessen und zusammen mit vorgebbaren Verschleißwerten in den Werkzeug-Korrekturspeicher der Steuerung eingegeben. Hieraus errechnet die Steuerung die Verfahrbewegungen in Zustellrichtung.
Grundlagen 3.5 Werkzeugkorrekturen 3.5.3 Werkzeugradiuskorrektur Kontur und Werkzeugbahn sind nicht identisch. Der Fräser- bzw. Schneidenmittelpunkt muss entsprechend des Werkzeugradius auf einer Äquidistanten zur Kontur (Werkzeugmittelpunktsbahn) verfahren werden. Dazu wird von der Steuerung während der Abarbeitung des Programms die programmierte Werkzeugmittelpunktsbahn anhand des Werkzeugradius des aktiven Werkzeugs (Werkzeug-Korrekturspeicher) so verschoben, dass die Werkzeugschneide exakt an der programmierten Kontur verfahren wird.
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugtyp Der Werkzeugtyp (Bohrer, Fräser oder Drehwerkzeuge) bestimmt, welche Geometrieangaben erforderlich sind und wie diese verrechnet werden. Schneidenlage Die Schneidenlage beschreibt die Lage der Werkzeugspitze in Bezug auf den Schneidenmittelpunkt. Die Schneidenlage wird zusammen mit dem Schneidenradius zur Berechnung der Werkzeugradiuskorrektur bei Drehwerkzeugen (Werkzeugtyp 5xx) (Seite 80) benötigt.
Grundlagen 3.5 Werkzeugkorrekturen 3.5.5 Werkzeugtypen 3.5.5.1 Werkzeugtypen und Werkzeugparameter (Übersicht) Werkzeugtypnummer und Werkzeuggruppen Jedem Werkzeugtyp ist eine eindeutige 3-stellige Nummer zugeordnet. Über die erste Ziffer (Hunderterstelle) erfolgt die Zuordnung des Werkzeugs zu einer der folgenden Technologien bzw. Werkzeuggruppen: Werkzeugtyp Werkzeuggruppe Fräser (Seite 73) Bohrer (Seite 77) ...
Grundlagen 3.5 Werkzeugkorrekturen Hinweis Insbesondere bei den Schleifwerkzeugen (400-499) sind auch nicht aufgeführte Nummern zulässig. 3.5.5.2 Fräswerkzeuge Innerhalb der Werkzeuggruppe "Fräswerkzeuge" gibt es folgende Werkzeugtypen: Fräswerkzeug nach CLDATA (Cutter Location Data) Kugelkopffräser Zylindrischer Gesenkfräser Schaftfräser ohne Eckenverrundung Schaftfräser mit Eckenverrundung Winkelkopffräser ohne Eckenverrundung Winkelkopffräser mit Eckenverrundung Planfräser Gewindefräser...
Seite 74
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugparameter Die folgenden Abbildungen geben einen Überblick, welche Werkzeugparameter bei Fräswerkzeugen in den Korrekturspeicher eingetragen werden: ① Werkzeug ② Werkzeugaufnahme ③ Werkzeugadapter Adapterbezugspunkt (bei eingestecktem Werkzeug = Werkzeugträgerbezugspunkt) Werkzeughalterbezugspunkt Geometrie - Länge 1 Adaptermaß - Länge 1 L1 + L1' Gesamtlänge L1 Radius Werkzeugparameter...
Seite 75
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugträgerbezugspunkt Werkzeughalterbezugspunkt Geometrie - Länge 1 Werkzeugradius Basismaß - Länge 1 Basismaß - Länge 2 Basismaß - Länge 3 Werkzeugparameter Bedeutung $TC_DP1 Werkzeugtyp $TC_DP3 Geometrie - Länge 1 $TC_DP6 Geometrie - Radius $TC_DP21 Basismaß - Länge 1 $TC_DP22 Basismaß...
Seite 76
Grundlagen 3.5 Werkzeugkorrekturen 2D-WRK mit Konturwerkzeugen Zur Definition von Konturwerkzeugen mit mehreren Werkzeugschneiden können der minimale und maximale Grenzwinkel angegeben werden. Die beiden Grenzwinkel beziehen sich jeweils auf den Vektor vom Schneidenmittelpunkt zum Schneidenbezugspunkt und werden im Gegenuhrzeigersinn gezählt. WZ-Winkel 1 Minimaler Grenzwinkel je Werkzeugschneide WZ-Winkel 2 Maximaler Grenzwinkel je Werkzeugschneide...
Grundlagen 3.5 Werkzeugkorrekturen ① Mit Angabe von WZ-Parameter 9 ② Ohne Angabe von WZ-Parametzer 9 3.5.5.3 Bohrer Innerhalb der Werkzeuggruppe "Bohrer" gibt es folgende Werkzeugtypen: Werkzeugtyp Spiralbohrer Vollbohrer Bohrstange Zentrierbohrer Spitzsenker Flachsenker Gewindebohrer Regelgewinde Gewindebohrer Feingewinde Gewindebohrer Withworthgewinde Reibahle NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugparameter Die folgende Abbildung gibt einen Überblick, welche Werkzeugparameter bei Bohrern in den Korrekturspeicher eingetragen werden: Werkzeugträgerbezugspunkt Länge 1 Werkzeugparameter Bedeutung $TC_DP1 Werkzeugtyp $TC_DP3 Geometrie - Länge 1 • Verschleißwerte entsprechend Erfordernis. • Übrige Werte sind auf 0 zu setzen. 3.5.5.4 Schleifwerkzeuge Innerhalb der Werkzeuggruppe "Schleifwerkzeuge"...
Seite 79
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugparameter Die folgende Abbildung gibt einen Überblick, welche Werkzeugparameter bei Schleifwerkzeugen in den Korrekturspeicher eingetragen werden: Werkzeugträgerbezugspunkt Werkzeughalterbezugspunkt Geometrie - Länge 1 Basismaß - Länge 1 Geometrie - Länge 2 Basismaß - Länge 2 Radius α Winkel der schrägen Scheibe Schneidenspezifische Parameter Bedeutung $TC_DP1...
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugspezifische Parameter Bedeutung $TC_TPG4 Minimale Scheibenbreite $TC_TPG5 Aktuelle Scheibenbreite $TC_TPG6 Maximale Drehzahl $TC_TPG7 Maximale Umfangsgeschwindigkeit $TC_TPG8 Winkel der schrägen Scheibe $TC_TPG9 Parameter-Nummer für Radiusberechnung $TC_TPG_DRSPATH Verzeichnispfad auf das Abrichtprogramm $TC_TPG_DRSPROG Abrichtprogrammname Die Längenkorrekturen Geometrie, Verschleiß und Basismaß können jeweils für die linke und rechte Scheibenkorrektur verkettet werden.
Seite 81
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugparameter Die folgende Abbildung gibt einen Überblick, welche Werkzeugparameter bei Drehwerkzeugen in den Korrekturspeicher eingetragen werden: ① Schneidenlage (1 - 9) bei Bearbeitung hinter der Drehmitte Werkzeugspitze Schneidenmittelpunkt Schneidenradius Werkzeugträgerbezugspunkt Werkzeughalterbezugspunkt Geometrie - Länge 1 Geometrie - Länge 2 Basismaß...
Seite 82
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugparameter Bedeutung $TC_DP1 Werkzeugtyp $TC_DP2 Schneidenlage Die Schneidenlage beschreibt die Lage der Werkzeugspitze P in Bezug auf den Schneidenmittelpunkt S. Die Schneidenlage wird zusammen mit dem Schneidenradius ($TC_DP6) zur Berechnung der Werkzeugradiuskorrektur bei Drehwerkzeugen be‐ nötigt. $TC_DP3 Geometrie - Länge 1 $TC_DP4 Geometrie - Länge 2 $TC_DP6...
Seite 83
Grundlagen 3.5 Werkzeugkorrekturen Längs- oder Planbearbeitung Der Freiwinkel ist abhängig von der Bearbeitungsart unterschiedlich einzugeben. Soll ein Werkzeug für Längs- und Planbearbeitung eingesetzt werden, müssen bei unterschiedlichen Freiwinkeln zwei WZ-Schneiden definiert werden. α Freiwinkel ① Längsbearbeitung ② Planbearbeitung WZ-Parameter $TC_DPV[...], $TC_DPV3 - 5[...] und $TC_DPVN3 - 5[...] : Werkzeuggrundorientierung Ist die Funktion "Parametrierbare Werkzeuggrundorientierung aktiv (→...
Grundlagen 3.5 Werkzeugkorrekturen Einstellmöglichkeiten Grundsätzlich gibt es folgende Einstellmöglichkeiten: • $TC_DPV[...] == 0 UND $TC_DPV3 - 5[...] == 0 Der Vektor für die Werkzeuggrundorientierung ergibt sich aus der aktiven Bearbeitungsebene: – G17: Z-Koordinate – G18: Y-Koordinate – G19: X-Koordinate • $TC_DPV[...] == 0 UND $TC_DPV3 - 5[...] <> 0 Der Vektor für die Werkzeuggrundorientierung ist durch $TC_DPV3 - 5[...] und $TC_DPVN3 - 5[...] vorgegeben: –...
Seite 85
Grundlagen 3.5 Werkzeugkorrekturen Beispiel $TC_DPV[...] = 2 entspricht $TC_DPV3[...] = 1 $TC_DPV4[...] = 0 $TC_DPV5[...] = 0 $TC_DPVN3[...] = 0 $TC_DPVN4[...] = 0 $TC_DPVN5[...] = 1 WZ-Parameter $TC_DPROT: Einspannwinkel Hinweis Die Einstellung von $TC_DPROT ist nur für nicht-rotationssymmetrische Drehwerkzeuge in Kombination mit bestimmten Funktionen relevant. Mit dem Werkzeugparameter $TC_DPROT wird der Einspannwinkel angegeben.
Seite 86
Grundlagen 3.5 Werkzeugkorrekturen ① Bei Spindelnulllage (SP = 0°) liegt die Schneide des eingespannten Drehwerkzeugs nicht in der G18-Ebene. ② Erst nach Drehung der Werkzeugspindel um den im Werkzeugparameter $TC_DPROT angegebenen Einspannwinkel (hier: +90°) hat die Werkzeugschneide die richtige Position für die Bearbeitung in der G18-Ebene. Imaginärer Schnittpunkt der Werkzeugspindelachse mit der XY-Ebene Anwendungsfall: Y-Drehwerkzeuge auf der Drehmaschine in Kombination mit CYCLE805...
Grundlagen 3.5 Werkzeugkorrekturen ① Bezugsrichtung ② Halterwinkel ③ Plattenwinkel ④ Einspannwinkel 3.5.5.6 Sonderwerkzeuge Innerhalb der Werkzeuggruppe "Sonderwerkzeuge" gibt es folgende Werkzeugtypen: Nutsäge 3D-Messtaster Kantentaster Monotaster L-Taster Sterntaster NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Seite 88
Grundlagen 3.5 Werkzeugkorrekturen Kalibrierwerkzeug Anschlag Pinole Lünette Werkzeugparameter Die folgende Abbildung gibt einen Überblick, welche Werkzeugparameter beim Werkzeugtyp "Nutsäge" in den Korrekturspeicher eingetragen werden: Werkzeughalterbezugspunkt Geometrie - Länge 1 Geometrie - Länge 2 Durchmesser Nutbreite Überstand Werkzeugparameter Bedeutung $TC_DP1 Werkzeugtyp $TC_DP3 Geometrie - Länge 1 $TC_DP4 Geometrie - Länge 2...
Grundlagen 3.5 Werkzeugkorrekturen Werkzeugparameter Bedeutung $TC_DP8 Überstand $TC_DP21 Basismaß Länge 1 $TC_DP22 Basismaß Länge 2 $TC_DP23 Basismaß Länge 3 • Verschleißwerte entsprechend Erfordernis. • Übrige Werte sind auf 0 zu setzen. 3.5.6 Werkzeugkorrekturen aktivieren/deaktivieren (D, D0) Den 1 bis 8 (bei aktiver WZV 12) Schneiden eines Werkzeugs können verschiedene Werkzeugkorrekturdatensätze zugeordnet werden (z. B.
Grundlagen 3.5 Werkzeugkorrekturen Bedeutung Adresse zur Aktivierung eines Korrekturdatensatzes für das aktive Werkzeug Die Werkzeuglängenkorrektur wird mit dem ersten programmierten Verfahren der zugehörigen Längenkorrekturachse herausgefahren. Achtung: Eine Werkzeuglängenkorrektur wirkt auch ohne D-Programmierung, wenn für den Werkzeugwechsel die automatische Aktivierung einer Werkzeugschneide projektiert ist (→ siehe Angaben des Maschinenherstellers).
Grundlagen 3.5 Werkzeugkorrekturen Beispiel 2: Unterschiedliche Korrekturwerte für die linke und rechte Schneide bei einem Einstechmeißel ① Einstechdrehmeißel (T2) ② Schneide D1 ③ Schneide D6 Siehe auch Werkzeugradiuskorrektur (Seite 69) Weitere Informationen Änderung der Werkzeugkorrekturdaten In der Standardeinstellung werden Änderungen der Werkzeugkorrekturdaten erst nach erneuter T- oder D-Programmierung wirksam.
Seite 92
Grundlagen 3.5 Werkzeugkorrekturen Vorteil gegenüber der Werkzeugkorrekturabwahl mit D0 ist, dass bei SUPD die Werkzeugkorrekturinformation erhalten bleibt und dadurch die erneute Aktivierung der Werkzeugkorrekturdaten durch Programmierung der D-Nummer entfällt. Anwendung findet SUPD ausschließlich zur Unterdrückung der Werkzeuglängenkorrektur, z. B. in Teileprogrammsätzen, in denen der Nullpunkt, aber nicht die Werkzeuglänge verrechnet werden soll.
Seite 94
Grundlagen 3.5 Werkzeugkorrekturen der Gruppe TOFF[<GeoAx>] andererseits verwendet werden. Ebenso dürfen in einem Satz nicht gleichzeitig TOFFL und TOFFL[1] geschrieben werden. Werden in einem Satz nicht alle drei Werkzeuglängenkomponenten programmiert, so bleiben die nicht programmierten Komponenten unverändert. Dadurch ist es möglich, Korrekturen für mehrere Komponenten satzweise aufzubauen.
Seite 95
Grundlagen 3.5 Werkzeugkorrekturen Korrektur der effektiven Werkzeuglänge in der Komponente L1 und des effektiven Werk‐ TOFFLR: zeugradius Hinweis: Bei Werkzeugen mit Eckenverrundung (Typen 111, 121, 131 und 156) korrigiert TOFFLR auch den Eckenradius. Offset-Wert <Value>: Typ: REAL Beispiele Beispiel 1: Positiver Werkzeuglängen-Offset Das aktive Werkzeug sei ein Bohrer mit der Länge L1 = 100 mm.
Seite 97
Grundlagen 3.5 Werkzeugkorrekturen Bei der Zuordnung der programmierten Offset-Werte zu den Werkzeuglängenkomponenten werden folgende Settingdaten ausgewertet: SD42940 $SC_TOOL_LENGTH_CONST (Wechsel der Werkzeuglängenkomponenten bei Ebenenwechsel) SD42950 $SC_TOOL_LENGTH_TYPE (Zuordnung der Werkzeuglängenkompensation unabhängig vom Werkzeugtyp) Haben diese Settingdaten gültige Werte ungleich 0, dann haben diese Vorrang vor dem Inhalt der G-Gruppe 6 (Ebenenanwahl G17/G18/G19) bzw. dem in den Werkzeugdaten enthaltenen Werkzeugtyp ($TC_DP1[<T–Nr.>, <D–Nr.>]).
Grundlagen 3.6 Spindelbewegung Anwendungen Die Funktion "Programmierbarer Werkzeugkorrektur-Offset" ist speziell für Kugelfräser und Fräser mit Eckenradien interessant, da diese im CAM-System oft auf Kugelmitte statt auf Kugelspitze berechnet werden. Bei der Messung des Werkzeugs wird aber in der Regel die Werkzeugspitze vermessen und als Werkzeuglänge im Korrekturspeicher hinterlegt. Für die 3D-Werkzeugradiuskorrektur bei Verwendung eines Kugelfräsers ist es sinnvoll, gleichzeitig Werkzeuglänge und -radius um den gleichen Wert zu korrigieren.
Seite 99
Grundlagen 3.6 Spindelbewegung M5 / M<n>=5 SETMS(< n>) SETMS Bedeutung Spindeldrehzahl in Umdrehungen/min für die Masterspindel S…: Spindeldrehzahl in Umdrehungen/min für Spindel <n> S<n>=...: Hinweis: Die mit S0=… angegebene Drehzahl gilt für die Masterspindel. Spindeldrehrichtung rechts für Masterspindel Spindeldrehrichtung rechts für Spindel <n>...
Seite 100
Grundlagen 3.6 Spindelbewegung Beispiel S1 ist Masterspindel, S2 ist zweite Arbeitsspindel. Das Drehteil soll von 2 Seiten bearbeitet werden. Hierfür ist eine Aufteilung der Arbeitsschritte notwendig. Nach dem Abstechen nimmt die Synchroneinrichtung (S2) das Werkstück für die abstichseitige Bearbeitung auf. Hierzu wird diese Spindel S2 als Masterspindel definiert, für sie gilt dann G95.
Seite 101
Grundlagen 3.6 Spindelbewegung Beispiel: Programmcode Kommentar N10 G1 F500 X70 Y20 S270 M3 ; Die Spindel läuft auf 270 U/min hoch, dann werden die Bewegungen in X und Y ausgeführt. N100 G0 Z150 M5 ; Spindel-Halt vor der Rückzugsbewegung in Z. Hinweis Über Maschinendatum ist einstellbar, ob die Achsbewegungen erst nach Spindelhochlauf auf Solldrehzahl bzw.
Grundlagen 3.6 Spindelbewegung 3.6.2 Werkzeug-Schnittgeschwindigkeit (SVC) Alternativ zur Spindeldrehzahl kann bei Fräsbearbeitungen auch die in der Praxis gebräuchlichere Werkzeug-Schnittgeschwindigkeit programmiert werden. ① Spindeldrehzahl ② Werkzeugradius ③ Werkzeug-Schnittgeschwindigkeit Über den Radius des aktiven Werkzeugs berechnet die Steuerung aus der programmierten Werkzeug-Schnittgeschwindigkeit die wirksame Spindeldrehzahl: S = (SVC * 1000) / (R * 2π) mit:...
Seite 103
Grundlagen 3.6 Spindelbewegung Syntax T... D... SVC[<n>]=<Value> S... M3/M4 Bedeutung Schlüsselwort zur Programmierung der Werkzeug-Schnittgeschwindigkeit SVC: Nummer der Spindel [<n>]: Mit dieser Adresserweiterung wird angegeben, für welche Spindel die program‐ mierte Schnittgeschwindigkeit wirksam sein soll. Ohne Adresserweiterung be‐ zieht sich die Angabe immer auf die aktuelle Masterspindel. Hinweis: Für jede Spindel kann eine eigene Schnittgeschwindigkeit vorgegeben werden.
Grundlagen 3.6 Spindelbewegung Hinweis Die z. B. per CAD-Systemen generierten Werkzeugbahnen von "Normwerkzeugen", welche bereits den Werkzeugradius berücksichtigen und nur die Differenz zum Normwerkzeug im Schneidenradius enthalten, werden im Zusammenhang mit der SVC-Programmierung nicht unterstützt. Beispiele Für alle Beispiele soll gelten: Werkzeughalter = Spindel (für Fräsen Standard) Beispiel 1: Fräser mit Radius 6 mm Programmcode Kommentar...
Seite 105
Grundlagen 3.6 Spindelbewegung MD20270 $MC_CUTTING_EDGE_DEFAULT = - 2 Programmcode Kommentar N10 $TC_MPP1[9998,1]=2 ; Magazinplatz ist Werkzeughalter N11 $TC_MPP5[9998,1]=1 ; Magazinplatz ist Werkzeughalter 1 N12 $TC_MPP_SP[9998,1]=3 ; Werkzeughalter 1 ist der Spindel 3 zugeordnet N20 $TC_MPP1[9998,2]=2 ; Magazinplatz ist Werkzeughalter N21 $TC_MPP5[9998,2]=4 ;...
Seite 106
Grundlagen 3.6 Spindelbewegung Programmcode Kommentar N31 $TC_DP6[2,1]=5.0 ; Radius = 5,0 mm von T2, Korrektur D1 N40 $TC_TP2[8]="WZ8" N41 $TC_DP6[8,1]=9.0 ; Radius = 9,0 mm von T8, Korrektur D1 N42 $TC_DP6[8,4]=7.0 ; Radius = 7,0 mm von T8, Korrektur D4 N100 SETMS(1) ;...
Grundlagen 3.6 Spindelbewegung Gewindebohren ohne Ausgleichsfutter (G331, G332) Die Programmierung von SVC ist auch in Verbindung mit G331 bzw. G332 möglich. Synchronaktionen Die Vorgabe von SVC aus Synchronaktionen ist nicht möglich. Schnittgeschwindigkeit und Spindeldrehzahl-Programmierungsvariante lesen Die Schnittgeschwindigkeit einer Spindel und die Drehzahl-Programmierungsvariante (Spindeldrehzahl S oder Werkzeug-Schnittgeschwindigkeit SVC) können über Systemvariablen gelesen werden: •...
Grundlagen 3.6 Spindelbewegung 3.6.3 Konstante Schnittgeschwindigkeit (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC) Bei aktiver Funktion "Konstante Schnittgeschwindigkeit" wird, abhängig vom jeweiligen Werkstückdurchmesser, die Spindeldrehzahl so verändert, dass die Schnittgeschwindigkeit S in m/min bzw. ft/min an der Werkzeugschneide konstant bleibt. ① Schnittgeschwindigkeit konstant ②...
Seite 109
Grundlagen 3.6 Spindelbewegung Bedeutung Umdrehungsvorschub (wie bei G95 (Seite 115)) und konstante Schnittgeschwindigkeit G96: Mit G96 wird automatisch G95 eingeschaltet. Falls G95 vorher noch nicht eingeschaltet war, muss bei Aufruf von G96 ein neuer Vorschubwert F... angegeben werden. Linearvorschub (wie bei G94 (Seite 115)) und konstante Schnittgeschwindigkeit G961: Linearvorschub oder Umdrehungsvorschub und konstante Schnittgeschwindigkeit G962:...
Seite 110
Grundlagen 3.6 Spindelbewegung Beispiele Beispiel 1: Konstante Schnittgeschwindigkeit mit Drehzahlbegrenzung einschalten Programmcode Kommentar N10 SETMS(3) N20 G96 S100 LIMS=2500 ; Konstante Schnittgeschwindigkeit = 100 m/min, Max. Drehzahl = 2500 U/min N60 G96 G90 X0 Z10 F8 S100 LIMS=444 ; Max. Drehzahl = 444 U/min Beispiel 2: Drehzahlbegrenzung für 4 Spindeln vorgeben Die Drehzahlbegrenzungen werden für die Spindel 1 (Masterspindel) und die Spindeln 2, 3 und 4 festgelegt:...
Seite 111
Grundlagen 3.6 Spindelbewegung Basis für die Berechnung der Spindeldrehzahl aus der programmierten Schnittgeschwindigkeit ist die ENS-Position der Planachse (Radius). Hinweis Frames zwischen WKS und ENS (z. B. programmierbare Frames wie SCALE, TRANS oder ROT) werden bei der Berechnung der Spindeldrehzahl berücksichtigt und können eine Drehzahländerung bewirken (z. B.
Seite 112
Grundlagen 3.6 Spindelbewegung Wird die Kontur im Eilgang angefahren und der nächste NC-Satz enthält einen Bahnbefehl G1/G2/G3/…, dann stellt sich bereits im Anfahrsatz G0 die Drehzahl für den nächsten Bahnbefehl ein. Andere Bezugsachse für G96/G961/G962 Bei aktiver Funktion G96/G961/G962 kann mit SCC[<Achse>] eine beliebige Geometrieachse als Bezugsachse zugeordnet werden.
Grundlagen 3.6 Spindelbewegung $P_GWPS[<n>] ; mit <n> = Spindelnummer Wert Bedeutung 0 (= FALSE) SUG ist ausgeschaltet. 1 (= TRUE) SUG ist eingeschaltet. 3.6.5 Programmierbare Spindeldrehzahlbegrenzung (G25, G26) Die in Maschinen- und Settingdaten festgelegten minimalen und maximalen Spindeldrehzahlen können per Teileprogrammbefehl verändert werden. Programmierte Spindeldrehzahlbegrenzungen sind für alle Spindeln des Kanals möglich.
Grundlagen 3.7 Vorschubregelung Vorschubregelung 3.7.1 Vorschub (G93, G94, G95, F, FGROUP, FL, FGREF) Mit diesen Befehlen werden im NC-Programm die Vorschubgeschwindigkeiten für alle an der Bearbeitungsfolge beteiligten Achsen eingestellt. Syntax F<Wert> FGROUP(<Achse_1>,<Achse_2>,...) FGREF[<Rundachse>]=<Bezugsradius> FL[<Achse>]=<Wert> Bedeutung Typ des Bahnvorschubs: Zeitreziproker Vorschub [1/min] G93: Typ des Bahnvorschubs: Linearvorschub [mm/min], [inch/min] oder [Grad/min] G94:...
Seite 116
Grundlagen 3.7 Vorschubregelung Programmcode Kommentar N120 G91 G1 G710 F100 ; Vorschub= 100mm/min bzw. 100Grad/min N130 DO $R1=$AC_TIME N140 X10 ; Vorschub= 100mm/min, Bahnweg= 10mm, R1= ca.6s N150 DO $R2=$AC_TIME N160 X10 A10 ; Vorschub= 100mm/min, Bahnweg= 14.14mm, R2= ca.8s N170 DO $R3=$AC_TIME N180 A10 ;...
Grundlagen 3.7 Vorschubregelung Beispiel 3: Schraubenlinieninterpolation Die Bahnachsen X und Y fahren mit programmiertem Vorschub, die Zustellachse Z ist Synchronachse. Programmcode Kommentar N10 G17 G94 G1 Z0 F500 ; Zustellen des Werkzeugs. N20 X10 Y20 ; Anfahren der Startposition. N25 FGROUP(X,Y) ;...
Seite 118
Grundlagen 3.7 Vorschubregelung Die Vorschubgeschwindigkeit wird unter der Adresse F angegeben. Je nach Voreinstellung in den Maschinendaten gelten die über G-Befehle festgelegten Maßeinheiten in mm oder inch. Pro NC-Satz darf ein F-Wert programmiert werden. Die Einheit der Vorschubgeschwindigkeit wird über einen der G-Befehle G93/G94/G95 festgelegt. Der Vorschub F wirkt nur auf Bahnachsen und gilt solange, bis ein neuer Vorschubwert programmiert wird.
Seite 119
Grundlagen 3.7 Vorschubregelung Hinweis Falls die Bahnlängen von Satz zu Satz sehr unterschiedlich sind, sollte bei G93 in jedem Satz ein neuer F-Wert bestimmt werden. Für die Bearbeitung mit Rundachsen kann der Vorschub auch in Grad/min angegeben werden. Vorschub für Synchronachsen Der unter der Adresse F programmierte Vorschub gilt für alle im Satz programmierten Bahnachsen, jedoch nicht für Synchronachsen.
Seite 120
Grundlagen 3.7 Vorschubregelung Eine Änderung der mit FGROUP getroffenen Einstellung ist möglich: 1. durch erneute Programmierung von FGROUP: z. B. FGROUP(X,Y,Z) 2. durch Programmierung von FGROUP ohne Achsangabe: FGROUP() Nach FGROUP() gilt der im Maschinendatum eingestellte Grundzustand. Geometrieachsen fahren jetzt wieder im Bahnachsverbund. Hinweis Achsbezeichner bei FGROUP müssen Kanalachsnamen sein.
Seite 121
Grundlagen 3.7 Vorschubregelung Rundachsen mit Bahngeschwindigkeit F verfahren (FGREF) Für Bearbeitungsvorgänge, bei denen das Werkzeug oder das Werkstück oder beide von einer Rundachse bewegt werden, soll der wirksame Bearbeitungsvorschub in gewohnter Weise als Bahnvorschub über den F-Wert programmiert werden können. Dazu muss für jede der beteiligten Rundachsen ein effektiver Radius (Bezugsradius) angegeben werden.
Grundlagen 3.7 Vorschubregelung Bei dieser Programmierung wird der programmierte F-Wert in N110 als Rundachsvorschub in Grad/min bewertet, während die Vorschubbewertung in N120 abhängig von der aktuell wirksamen G70/G71/G700/G710-Einstellung entweder 100 inch/min oder 100 mm/min ist. ACHTUNG Vorschubunterschied Die FGREF-Bewertung wirkt auch, wenn nur Rundachsen im Satz programmiert sind. Die gewohnte F-Wert-Interpretation als Grad/min gilt in diesem Fall nur, wenn der Radiusbezug entsprechend der FGREF-Voreinstellung ist: •...
Grundlagen 3.7 Vorschubregelung $PA_FGROUP[<Achse>] Liefert den Wert "1", wenn die angegebene Achse per Grundeinstellung oder durch FGROUP-Programmierung ei‐ nen Einfluss auf die Bahngeschwindigkeit hat. Wenn nicht, dann liefert die Variable den Wert "0". $P_FGROUP_MASK Liefert einen Bitschlüssel der mit FGROUP programmierten Kanalachsen, die zur Bahngeschwindigkeit beitragen sol‐...
Seite 124
Grundlagen 3.7 Vorschubregelung Mit WAITP kann im NC-Programm die Stelle gekennzeichnet werden, an der so lange gewartet werden soll, bis eine in einem früheren NC-Satz unter POSA programmierte Achse ihren Endpunkt erreicht hat. Mit WAITMC wird bei Eintreffen der angegebenen Wartemarke augenblicklich der nächste NC-Satz eingewechselt.
Seite 125
Grundlagen 3.7 Vorschubregelung Vorschub für die angegebene Positionierachse Name der zu verfahrenden Achse (Kanal- oder Geometrieachsbe‐ <Achse>: zeichner) Vorschubgeschwindigkeit <Wert>: Einheit: mm/min bzw. inch/min oder Grad/min Hinweis: Pro NC-Satz können maximal 5 FA-Werte programmiert werden. Warten auf das Verfahrende einer Positionierachse WAITP: Mit der Abarbeitung nachfolgender Sätze wird solange gewartet, bis die angege‐...
Seite 126
Grundlagen 3.7 Vorschubregelung Beispiel 2: Warten auf Verfahrende mit WAITP Palettenzuführeinrichtung Achse U: Palettenspeicher Transport der Werkstückpalette in den Arbeitsraum Achse V: Transfersystem zu einer Messstation, in der prozessbegleitende Stichproben‐ kontrollen durchgeführt werden Programmcode Kommentar N10 FA[U]=100 FA[V]=100 ; Achsspezifische Vorschubangaben für die einzelnen Positionierach- sen U und V.
Grundlagen 3.7 Vorschubregelung 3.7.3 Lagegeregelter Spindelbetrieb (SPCON, SPCOF) Mit den Befehlen SPCON bzw. SPCOF wird der Lageregelbetrieb der Spindel explizit ein- bzw. ausgeschaltet. Hinweis Das Einschalten des Lageregelbetriebs mit SPCON benötigt maximal drei Lagereglertakte. Syntax SPCON SPCON(<n>) SPCON(<n>,<m>,...) SPCOF SPCOF(<n>) SPCOF(<n>,<m>,...) Bedeutung Lageregelbetrieb einschalten SPCON:...
Grundlagen 3.7 Vorschubregelung 3.7.4 Spindeln positionieren (SPOS, SPOSA, M19, M70, WAITS) Mit SPOS, SPOSA oder M19 können Spindeln auf bestimmte Winkelstellungen positioniert werden, z. B. beim Werkzeugwechsel. SPOS, SPOSA und M19 bewirken eine temporäre Umschaltung in den Lageregelbetrieb bis zum nächsten M3/M4/M5/M41 … M45. Positionieren im Achsbetrieb Die Spindel kann auch unter ihrer im Maschinendatum bestimmten Adresse als Bahn-, Synchron- oder Positionierachse verfahren werden.
Seite 129
Grundlagen 3.7 Vorschubregelung M19 / M<n>=19 Spindel in den Achsbetrieb umschalten: M70 / M<n>=70 Bewegungsendekriterium festlegen: FINEA / FINEA[S<n>] COARSEA / COARSEA[S<n>] IPOENDA / IPOENDA[S<n>] IPOBRKA / IPOBRKA(<Achse>[,<Zeitpunkt>]) ; Programmierung im eigenen NC-Satz! Spindelbewegungen synchronisieren: WAITS / WAITS(<n>,<m>) ; Programmierung im eigenen NC-Satz! Bedeutung SPOS / SPOSA: Spindel auf die angegebene Winkelstellung positionieren...
Seite 130
Grundlagen 3.7 Vorschubregelung Masterspindel (M70 oder M0=70) oder Spindel mit Nummer <n> (M<n>=70) in den M<n>=70: Achsbetrieb umschalten Es wird keine definierte Position angefahren. Der NC-Satz wird weitergeschaltet, wenn die Umschaltung ausgeführt wurde. Bewegungsende bei Erreichen von "Genauhalt fein" FINEA: Bewegungsende bei Erreichen von "Genauhalt grob" COARSEA: Bewegungsende bei Erreichen von "Interpolator-Stopp"...
Seite 131
Grundlagen 3.7 Vorschubregelung Hinweis Die Steuerung erkennt aufgrund der Programmierabfolge selbständig den Übergang in den Achsbetrieb. Die explizite Programmierung von M70 im Teileprogramm ist daher grundsätzlich nicht mehr notwendig. M70 kann jedoch weiterhin programmiert werden, um z. B. die Lesbarkeit des Teileprogramms zu erhöhen. Weitere Informationen Positionieren mit SPOSA Die Satzweiterschaltung bzw.
Seite 132
Grundlagen 3.7 Vorschubregelung Programmcode Kommentar N40 WAITS(2,3) ; Im Satz wird so lange gewartet, bis Spindeln 2 und 3 die in Satz N10 angegebenen Positionen erreicht haben. Nach M5 kann mit WAITS darauf gewartet werden, dass die Spindel(n) zum Stillstand gekommen ist/sind. Nach M3/M4 kann mit WAITS darauf gewartet werden, dass die Spindel(n) die vorgegebene Drehzahl/Drehrichtung erreicht hat/haben.
Grundlagen 3.7 Vorschubregelung 3.7.5 Vorschub für Positionierachsen/Spindeln (FA, FPR, FPRAON, FPRAOF) Daneben besteht die Möglichkeit, den Umdrehungsvorschub für Bahn- und Synchronachsen oder für einzelne Positionierachsen/Spindeln von einer anderen Rundachse oder Spindel abzuleiten. Positionierachsen, wie z. B. Werkstücktransportsysteme, Revolver oder Lünetten, werden unabhängig von Bahn- und Synchronachsen verfahren. Deshalb wird für jede Positionierachse ein eigener Vorschub definiert.
Seite 134
Grundlagen 3.7 Vorschubregelung Mit FPR wird die Rundachse (<Rundachse>) oder Spindel FPR(...): (SPI(<n>) / S<n>) gekennzeichnet, von der der unter G95 programmierte Umdrehungsvorschub für den Umdrehungsvorschub der Bahn- und Syn‐ chronachsen abgeleitet werden soll. Umdrehungsvorschub für Positionierachsen und Spindeln ableiten FPRAON(...): Der erste Parameter (<Achse> / SPI(<n>) / S<n>) kennzeichnet die Posi‐...
Seite 135
Grundlagen 3.7 Vorschubregelung Beispiel 2: Abgeleiteter Umdrehungsvorschub für Bahnachsen Die Bahnachsen X, Y sollen mit Umdrehungsvorschub verfahren werden, der sich von der Rundachse A ableitet: Programmcode N40 FPR(A) N50 G95 X50 Y50 F500 Beispiel 3: Umdrehungsvorschub für Masterspindel ableiten Programmcode Kommentar N30 FPRAON(S1,S2) ;...
Grundlagen 3.7 Vorschubregelung FPRAON(…) Mit FPRAON lässt sich axial für Positionierachsen und Spindeln der Umdrehungsvorschub vom augenblicklichen Vorschub einer anderen Rundachse oder Spindel ableiten. FPRAOF(…) Mit FPRAOF lässt sich der Umdrehungsvorschub für eine oder gleichzeitig mehrere Achsen/ Spindeln ausschalten. 3.7.6 Programmierbare Vorschubkorrektur (OVR, OVRRAP, OVRA) Die Geschwindigkeit von Bahn-/Positionierachsen und Spindeln kann im NC-Programm modifiziert werden.
Grundlagen 3.7 Vorschubregelung 3.7.7 Programmierbare Beschleunigungskorrektur (ACC) In kritischen Programmabschnitten kann es notwendig sein, die Beschleunigung unter die maximal möglichen Werte zu beschränken, um z. B. mechanische Schwingungen zu vermeiden. Mit der programmierbaren Beschleunigungskorrektur kann für jede Bahnachse oder Spindel die Beschleunigung per Befehl im NC-Programm verändert werden. Die Begrenzung wirkt in allen Interpolationsarten.
Grundlagen 3.7 Vorschubregelung Weitere Informationen Mit ACC programmierte Beschleunigungskorrektur Die mit ACC[...] programmierte Beschleunigungskorrektur wird immer wie in der Systemvariablen $AA_ACC bei der Ausgabe berücksichtigt. Das Auslesen im Teileprogramm und in Synchronaktionen findet zu verschiedenen Zeitpunkten in der NC-Verarbeitung statt. Im Teileprogramm Der im Teileprogramm geschriebene Wert wird nur dann in der Systemvariablen $AA_ACC wie im Teileprogramm geschrieben berücksichtigt, wenn ACC zwischenzeitlich nicht von einer Synchronaktion verändert wurde.
Seite 139
Grundlagen 3.7 Vorschubregelung Positionierachsen Bei Positionierachsen können axial der Verfahrweg oder die Geschwindigkeit überlagert werden. Ausgewertet wird dabei das der Achse zugeordnete Handrad. • Wegüberlagerung Die drehrichtungsabhängig bewerteten Handradpulse entsprechen dem zu verfahrenden Weg der Achse. Es werden dabei nur Handradpulse in Richtung auf die programmierte Position berücksichtigt.
Seite 140
Grundlagen 3.7 Vorschubregelung Beispiel Wegvorgabe: Die in Z-Richtung pendelnde Schleifscheibe wird per Handrad in X-Richtung an das Werkstück gefahren. Hierbei kann der Bediener manuell bis zum gleichmäßigen Funkenflug zustellen. Durch Aktivieren von "Restweglöschen" wird in den nächsten NC-Satz gewechselt und im AUTOMATIK-Betrieb weiter gearbeitet. Weitere Informationen Bahnachsen mit Geschwindigkeitsüberlagerung verfahren ( FD=<Velocity>...
Seite 141
Grundlagen 3.7 Vorschubregelung Positionierachsen mit Wegvorgabe verfahren ( FDA[<Axis>]=0 ) Im NC-Satz mit programmiertem FDA[<Axis>]=0 wird der Vorschub auf Null gesetzt, so dass vom Programm her keine Fahrbewegung erfolgt. Die programmierte Fahrbewegung zur Zielposition wird jetzt ausschließlich vom Bediener durch Drehen des Handrads gesteuert. Beispiel: Programmcode Beschreibung...
Grundlagen 3.7 Vorschubregelung 3.7.9 Vorschubreduzierung mit Eckenverzögerung (FENDNORM, G62, G621) Bei der automatischen Eckenverzögerung wird der Vorschub glockenförmig kurz vor der betreffenden Ecke abgesenkt. Außerdem kann das Ausmaß des für die Bearbeitung relevanten Werkzeugverhaltens über Settingdaten parametriert werden: • Beginn und Ende der Vorschubreduzierung •...
Seite 143
Grundlagen 3.7 Vorschubregelung Beispiel: Fräsen eines kleinen Außenradius mit einem größeren Werkzeug. Der Weg, den die Außenseite des Fräsers zurücklegen muss, ist sehr viel größer als der Weg entlang der Kontur. ① Kurzer Weg der Fräserinnenseite entlang der Kontur ② Werkzeugbahn ③...
Seite 144
Grundlagen 3.7 Vorschubregelung Beispiel In diesem Beispiel wird zunächst mit CFC-korrigiertem Vorschub die Kontur hergestellt. Beim Schlichten wird der Fräsgrund mit CFIN zusätzlich bearbeitet. Hierdurch lässt sich verhindern, dass der Fräsgrund an Außenradien durch zu hohe Vorschubgeschwindigkeit beschädigt wird. Programmcode Kommentar N10 G17 G54 G64 T1 M6 N20 S3000 M3 CFC F500 G41 N30 G0 X-10...
Grundlagen 3.7 Vorschubregelung Weitere Informationen Konstanter Vorschub an der Kontur mit CFC Die Vorschubgeschwindigkeit wird bei Innenradien reduziert, bei Außenradien erhöht. Hierdurch bleibt die Geschwindigkeit an der Werkzeugschneide und damit an der Kontur konstant. 3.7.11 Mehrere Vorschubwerte in einem Satz (F, ST, SR, FMA, STA, SRA) Mit der Funktion "Mehrere Vorschubwerte in einem Satz"...
Seite 146
Grundlagen 3.7 Vorschubregelung ST=... : Verweilzeit in s (bei der Technologie Schleifen: Ausfeuerzeit) Eingangsbit: Wirksamkeit: satzweise SR=... : Rückzugsweg Die Einheit für den Rückzugsweg bezieht sich auf die aktuell gültige Maßeinheit (mm oder inch). Eingangsbit: Wirksamkeit: satzweise FA[<Ax>]=... : Unter der Adresse FA wird der axiale Vorschub programmiert, der gültig ist, solange kein Ein‐...
Grundlagen 3.7 Vorschubregelung Hinweis Rückzugsweg Die Einheit für den Rückzugsweg bezieht sich auf die aktuell gültige Maßeinheit (mm oder inch). Der Rückhub erfolgt immer in Gegenrichtung zur aktuellen Bewegung. Mit SR/SRA wird immer der Betrag des Rückhubs programmiert. Es wird kein Vorzeichen programmiert. Hinweis POS statt POSA Wenn für eine Achse Vorschübe, Verweilzeit oder Rückzugsweg aufgrund eines externen...
Grundlagen 3.7 Vorschubregelung Hinweis Ist im Satz keine Verfahrbewegung programmiert (z. B. Rechensatz), bleibt FB ohne Wirkung. Ist kein expliziter Vorschub für Fase/Rundung programmiert, gilt der Wert von FB auch für ein in diesem Satz vorhandenes Konturelement Fase/Rundung. Vorschubinterpolationen FLIN, FCUB, ... sind uneingeschränkt möglich. Die gleichzeitige Programmierung von FB und FD (manuelles Verfahren perr Handrad mit Vorschubüberlagerung) oder F (modaler Bahnvorschub) ist nicht möglich.
Grundlagen 3.7 Vorschubregelung Der Werkzeugtyp ($TC_DP1) des aktiven Werkzeugs wird nicht berücksichtigt. Der programmierte Zahnvorschub ist unabhängig von Werkzeugwechsel und An-/Abwahl eines Werkzeugkorrekturdatensatzes und bleibt modal erhalten. Eine Änderung des Werkzeugparameters $TC_DPNT der aktiven Schneide wird mit der nächsten Werkzeugkorrekturanwahl bzw. der nächsten Aktualisierung der aktiven Korrekturdaten wirksam.
Seite 151
Grundlagen 3.7 Vorschubregelung Hinweis Umschaltung zwischen G95 F... und G95 FZ... Mit Umschaltung zwischen G95 F... (Umdrehungsvorschub) und G95 FZ... (Zahnvorschub) wird der jeweils nicht aktive Vorschubwert gelöscht. Hinweis Vorschub ableiten mit FPR Mit FPR kann analog zum Umdrehungsvorschub auch der Zahnvorschub von einer beliebigen Rundachse oder Spindel abgeleitet werden (siehe "Vorschub für Positionierachsen/Spindeln (FA, FPR, FPRAON, FPRAOF) (Seite 133)").
Seite 152
Grundlagen 3.7 Vorschubregelung Beispiel 3: Zahnvorschub von einer Spindel ableiten (FBR) Programmcode Kommentar … N41 FPR(S4) ; Werkzeug auf Spindel 4 (nicht Masterspindel). N51 G95 X51 FZ=0.5 ; Zahnvorschub 0,5 mm/Zahn abhängig von Spindel S4. Beispiel 4: Nachfolgender Werkzeugwechsel Programmcode Kommentar N10 G0 X50 Y5 N20 G1 G95 FZ=0.03 ;...
Seite 153
Grundlagen 3.7 Vorschubregelung Hinweis Nach dem Wechsel der Masterspindel (N100) muss ein Werkzeug eingewechselt werden (N110), das von Spindel 2 angetrieben wird. Weitere Informationen Wechsel zwischen G93, G94 und G95 FZ kann auch bei nicht aktivem G95 programmiert werden, hat jedoch keine Wirkung und wird mit der G95-Anwahl gelöscht, d. h.
Grundlagen 3.8 Geometrie-Einstellungen • Ohne Vorlauf-Stop im Teileprogramm über die Systemvariablen: $P_FZ Programmierte Zahnvorschubgeschwindigkeit $P_F_TYPE Programmierter Bahnvorschub-Typ Wert: Bedeutung: mm/min mm/U inch/min inch/U mm/Zahn inch/Zahn Hinweis Ist G95 nicht aktiv, liefern die Variablen $P_FZ und $AC_FZ immer den Wert Null. Geometrie-Einstellungen 3.8.1 Einstellbare Nullpunktverschiebung (G54 ...
Seite 155
Grundlagen 3.8 Geometrie-Einstellungen Bedeutung G54 ... G59: Aufruf der 1. bis 6. einstellbaren Nullpunktverschiebung (NV) G505 ... G599: Aufruf der 7. bis 99. einstellbaren NV Ausschalten der aktuellen einstellbaren NV G500: G500=Nullframe: Ausschalten der einstellbaren NV bis zum nächsten Aufruf, Aktivierung des Gesamt- (Standardeinstellung;...
Seite 156
Grundlagen 3.8 Geometrie-Einstellungen Programmcode Kommentar N30 L47 ; Programmlauf als Unterprogramm N40 G55 G0 Z200 ; Aufruf der zweiten NV, Z über Hindernis N50 L47 ; Programmlauf als Unterprogramm N60 G56 ; Aufruf der dritten NV N70 L47 ; Programmlauf als Unterprogramm N80 G53 X200 Y300 M30 ;...
Grundlagen 3.8 Geometrie-Einstellungen MD28080 $MC_MM_NUM_USER_FRAMES = <Anzahl> 3.8.2 Wahl der Arbeitsebene (G17/G18/G19) Durch die Angabe der Arbeitsebene, in der die gewünschte Kontur gefertigt werden soll, werden zugleich folgende Funktionen festgelegt: • Die Ebene für die Werkzeugradiuskorrektur. • Die Zustellrichtung für die Werkzeuglängenkorrektur in Abhängigkeit vom Werkzeugtyp. •...
Seite 158
Grundlagen 3.8 Geometrie-Einstellungen Hinweis In der Grundeinstellung ist für Fräsen G17 (X/Y-Ebene) und für Drehen G18 (Z/X-Ebene) voreingestellt. Mit Aufruf der Werkzeug-Bahnkorrektur G41/G42 (siehe Kapitel "Werkzeugradiuskorrekturen (Seite 256)") muss die Arbeitsebene angegeben werden, damit die Steuerung Werkzeuglänge und -radius korrigieren kann. Beispiel Die "klassische"...
Seite 159
Grundlagen 3.8 Geometrie-Einstellungen Die Steuerung benötigt zur Berechnung des Drehsinns die Angabe der Arbeitsebene. Weitere Informationen hierzu siehe Kapitel "Kreisinterpolation (Seite 198)". Bearbeitung in schräg liegenden Ebenen Durch Drehung des Koordinatensystems mit ROT (Seite 313) werden die Koordinatenachsen auf die schräg liegende Fläche gelegt. Die Arbeitsebenen drehen sich entsprechend mit. Werkzeuglängenkorrektur in schräg liegenden Ebenen NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Grundlagen 3.8 Geometrie-Einstellungen Die Werkzeuglängenkorrektur wird generell immer bezogen auf die raumfeste, nicht gedrehte Arbeitsebene errechnet. Hinweis Mit den Funktionalitäten zur "Werkzeuglängenkorrektur für orientierbare Werkzeuge" können die Werkzeuglängenkomponenten passend zu den gedrehten Arbeitsebenen errechnet werden. Die Wahl der Korrekturebene erfolgt mit CUT2D, CUT2DF. Weitere Informationen hierzu und zur Beschreibung dieser Berechnungsmöglichkeit siehe Kapitel "Werkzeugradiuskorrekturen (Seite 256)".
Seite 161
Grundlagen 3.8 Geometrie-Einstellungen Syntax <Achse>=AC(<Wert>) Bedeutung Befehl zur Aktivierung der modal wirksamen Absolutmaßangabe G90: Befehl zur Aktivierung der satzweise wirksamen Absolutmaßangabe Achsbezeichner der zu verfahrenden Achse <Achse>: Sollposition der zu verfahrenden Achse im Absolutmaß <Wert>: Beispiele Beispiel 1: Fräsen Programmcode Kommentar N10 G90 G0 X45 Y60 Z2 T1 S2000 M3 ;...
Grundlagen 3.8 Geometrie-Einstellungen Die modal wirksame Kettenmaßangabe wird aktiviert mit dem Befehl G91. Sie ist für alle Achsen wirksam, die in den jeweils folgenden NC-Sätzen programmiert werden. Satzweise wirksame Kettenmaßangabe Bei voreingestelltem Absolutmaß (G90) kann mit Hilfe des Befehls IC für einzelne Achsen satzweise Kettenmaßangabe eingestellt werden.
Seite 164
Grundlagen 3.8 Geometrie-Einstellungen Beispiele Beispiel 1: Fräsen Programmcode Kommentar N10 G90 G0 X45 Y60 Z2 T1 S2000 M3 ; Absolutmaßeingabe, im Eilgang auf Posi- tion XYZ, Werkzeug-Anwahl, Spindel ein mit Drehrichtung rechts. N20 G1 Z-5 F500 ; Geradeninterpolation, Zustellen des Werkzeugs. N30 G2 X20 Y35 I0 J-25 ;...
Seite 165
Grundlagen 3.8 Geometrie-Einstellungen Beispiel 2: Drehen Programmcode Kommentar N5 T1 D1 S2000 M3 ; Einwechseln von Werkzeug T1, Spindel ein mit Dreh- richtung rechts. N10 G0 G90 X11 Z1 ; Absolutmaßangabe, im Eilgang auf Position XZ. N20 G1 Z-15 F0.2 ; Geradeninterpolation, Zustellen des Werkzeugs. N30 G3 X11 Z-27 I-8 K-6 ;...
Grundlagen 3.8 Geometrie-Einstellungen Siehe auch Absolut- und Kettenmaßangabe beim Drehen und Fräsen (G90/G91) (Seite 166) 3.8.3.3 Absolut- und Kettenmaßangabe beim Drehen und Fräsen (G90/G91) Die beiden folgenden Abbildungen veranschaulichen die Programmierung mit Absolutmaßangabe (G90) bzw. Kettenmaßangabe (G91) am Beispiel der Technologien Drehen und Fräsen.
Grundlagen 3.8 Geometrie-Einstellungen Hinweis An konventionellen Drehmaschinen ist es üblich, inkrementelle Verfahrsätze in der Planachse als Radiuswerte zu betrachten, während Durchmesserangaben für die Bezugsmaße gelten. Diese Umstellung für G90 erfolgt mit den Befehlen DIAMON, DIAMOF bzw. DIAM90. 3.8.3.4 Absolutmaßangabe für Rundachsen (DC, ACP, ACN) Für die Positionierung von Rundachsen im Absolutmaß...
Seite 168
Grundlagen 3.8 Geometrie-Einstellungen Befehl zum Anfahren der Position in negativer Richtung ACN: Die Rundachse fährt die programmierte Position in negativer Achsdrehrichtung (Uhrzeigersinn) an. Anzufahrende Rundachsposition im Absolutmaß <Wert>: Wertebereich: 0 - 360 Grad Hinweis Die positive Drehrichtung (Uhrzeiger- oder Gegenuhrzeigersinn) wird im Maschinendatum eingestellt.
Grundlagen 3.8 Geometrie-Einstellungen Programmcode Kommentar N20 G90 G0 X-20 Y0 Z2 T1 ; Absolutmaßangabe, im Eilgang Werkzeug T1 zustel- len. N30 G1 Z-5 F500 ; Im Vorschub Werkzeug absenken. N40 C=ACP(270) ; Tisch dreht sich auf 270 Grad im Uhrzeigersinn (positiv), das Werkzeug fräst eine Kreisnut. N50 G0 Z2 M30 ;...
Seite 170
Grundlagen 3.8 Geometrie-Einstellungen Einschalten des Inch-Maßsystems G700: Alle längenbehafteten geometrischen und technologischen Daten werden im Inch-Maßsys‐ tem gelesen und geschrieben. G-Gruppe: Grundstellung: Einstellbar über MD20150 $MC_GCODE_RESET_VALUES Wirksamkeit: Modal Einschalten des metrischen Maßsystems G710: Alle längenbehafteten geometrischen und technologischen Daten werden im metrischen Maßsystem gelesen und geschrieben.
Grundlagen 3.8 Geometrie-Einstellungen Synchronaktionen Hinweis Lesen von Positionsdaten in Synchronaktionen Ohne explizite Programmierung des Maßsystems in der Synchronaktion (Bedingungsteil und/ oder Aktionsteil bzw. Technologiefunktion) werden längenbehaftete Positionsdaten in der Synchronaktion immer im parametrierten Grundsystem gelesen. Weitere Informationen: Funktionshandbuch Synchronaktionen 3.8.3.6 Kanalspezifische Durchmesser-/Radius-Programmierung (DIAMON, DIAM90, DIAMOF, DIAMCYCOF) ①...
Seite 173
Grundlagen 3.8 Geometrie-Einstellungen DIAM90 DIAMOF Bedeutung Befehl zum Einschalten der unabhängigen kanalspezifischen Durchmesser-Program‐ DIAMON: mierung Die Wirkung von DIAMON ist unabhängig vom programmierten Maßangabe-Modus (Absolutmaßangabe G90 oder Kettenmaßangabe G91): • bei G90: Maßangabe im Durchmesser Maßangabe im Durchmesser • bei G91: Befehl zum Einschalten der abhängigen kanalspezifischen Durchmesser-Program‐...
Grundlagen 3.8 Geometrie-Einstellungen Programmcode Kommentar N70 DIAM90 ; Durchmesser-Programmierung für Bezugsmaß und Radius-Programmierung für Kettenmaß. N80 G91 X10 Z-20 ; Kettenmaß aktiv. N90 G90 X10 ; Bezugsmaß aktiv. N100 M30 ; Programmende. Weitere Informationen Durchmesserwerte (DIAMON/DIAM90) Die Durchmesserwerte gelten für folgende Daten: •...
Seite 175
Grundlagen 3.8 Geometrie-Einstellungen <Achse>=DIC(<Wert>) <Achse>=RAC(<Wert>) <Achse>=RIC(<Wert>) Bedeutung Modal wirksame achsspezifische Durchmesser-Programmierung Befehl zum Einschalten der unabhängigen achsspezifischen Durchmesser-Pro‐ DIAMONA: grammierung Die Wirkung von DIAMONA ist unabhängig vom programmierten Maßangabe-Mo‐ dus (G90/G91 bzw. AC/IC): Maßangabe im Durchmesser • bei G90, AC: Maßangabe im Durchmesser •...
Seite 176
Grundlagen 3.8 Geometrie-Einstellungen Mit dem Befehl DIAMCHAN übernehmen alle für die achsspezifische Durchmesser- DIAMCHAN: Programmierung zugelassenen Achsen den Kanalzustand der Durchmesser-/Radius- Programmierung und werden in Folge der kanalspezifischen Durchmesser-/Radius- Programmierung unterstellt. Satzweise wirksame achsspezifische Durchmesser-/Radius-Programmierung Die satzweise wirksame achsspezifische Durchmesser-/Radius-Programmierung legt die Art der Maßan‐ gabe als Durchmesser- oder Radiuswert im Teileprogramm und Synchronaktionen fest.
Seite 177
Grundlagen 3.8 Geometrie-Einstellungen Programmcode Kommentar N35 X50 Y100 ; Radius-Programmierung aktiv für X und Y. N40 DIAMON ; Kanalspezifische Durchmesser-Programmierung ein. N45 X50 Y100 ; Durchmesser-Programmierung aktiv für X und Y. Beispiel 2: Satzweise wirksame achsspezifische Durchmesser-/Radius-Programmierung X ist Planachse im Kanal, für Y ist achsspezifische Durchmesser-Programmierung zugelassen. Programmcode Kommentar N10 DIAMON...
Grundlagen 3.8 Geometrie-Einstellungen • Interpolationsparameter: I, J, K • Konturzug: Gerade mit Winkelangabe • Schnellabheben: POLF[AX] • Verfahren in Werkzeugrichtung: MOVT • Weiches An– und Abfahren: G140 bis G143, G147, G148, G247, G248, G347, G348, G340, G341 3.8.4 Lage des Werkstücks beim Drehen Achsbezeichnungen Die beiden aufeinander senkrecht stehenden Geometrieachsen werden üblicherweise bezeichnet als:...
Grundlagen 3.9 Wegbefehle Längsachse Planachse G54 bis G599 Aufruf für die Lage des Werkstück-Nullpunkts oder TRANS Planachse Für die Planachse erfolgen die Maßangaben im Allgemeinen als Durchmesser-Angaben (doppeltes Wegmaß gegenüber den anderen Achsen): Welche Geometrieachse als Planachse dient, ist im Maschinendatum festzulegen (→ Maschinenhersteller!).
Grundlagen 3.9 Wegbefehle Ihre Beschreibung findet sich in folgenden Kapiteln: • Geradeninterpolation (G1) (Seite 196) • Kreisinterpolation (Seite 198) • Schraubenlinien-Interpolation (G2/G3, TURN) (Seite 214) • Konturzüge (Seite 216) • Gewindeschneiden (Seite 226) • Gewindebohren ohne Ausgleichsfutter (Seite 245) • Gewindebohren mit Ausgleichsfutter (Seite 249) • Fase, Rundung (CHF, CHR, RND, RNDM, FRC, FRCM) (Seite 250) Zum schnellen Positionieren des Werkzeugs und zum Umfahren des Werkstücks werden die Achsen im Eilgang (G0) (Seite 188) verfahren.
Grundlagen 3.9 Wegbefehle Werkstückkontur Nacheinander ausgeführt ergeben die Bewegungssätze die Werkstückkontur: Bild 3-1 Bewegungssätze beim Drehen Bild 3-2 Bewegungssätze beim Fräsen 3.9.2 Fahrbefehle mit kartesischen Koordinaten (G0, G1, G2, G3, X..., Y..., Z...) Die im NC-Satz mit kartesischen Koordinaten angegebene Position kann mit Eilgangbewegung G0, Geradeninterpolation G1 oder Kreisinterpolation G2 /G3 angefahren werden.
Seite 182
Grundlagen 3.9 Wegbefehle G3 X... Y... Z..Bedeutung Befehl zum Einschalten der Eilgangbewegung Befehl zum Einschalten der Geradeninterpolation Befehl zum Einschalten der Kreisinterpolation im Uhrzeigersinn Befehl zum Einschalten der Kreisinterpolation gegen den Uhrzeigersinn Kartesische Koordinate der Zielposition in X-Richtung X...: Kartesische Koordinate der Zielposition in Y-Richtung Y...: Kartesische Koordinate der Zielposition in Z-Richtung...
Grundlagen 3.9 Wegbefehle 3.9.3 Fahrbefehle mit Polarkoordinaten 3.9.3.1 Bezugspunkt der Polarkoordinaten (G110, G111, G112) Der Punkt, von dem die Vermaßung ausgeht, heißt Pol. Die Angabe des Pols kann in kartesischen oder polaren Koordinaten erfolgen. Mit den Befehlen G110 bis G112 wird der Bezugspunkt für die Polkoordinaten eindeutig festgelegt.
Grundlagen 3.9 Wegbefehle Beispiel Die Pole 1 bis 3 werden wie folgt definiert: • Pol 1 mit G111 X… Y… • Pol 2 mit G110 X… Y… • Pol 3 mit G112 X… Y… 3.9.3.2 Fahrbefehle mit Polarkoordinaten (G0, G1, G2, G3, AP, RP) Fahrbefehle mit Polarkoordinaten sind dann sinnvoll, wenn die Bemaßung eines Werkstücks oder eines Teils eines Werkstücks von einem zentralen Punkt ausgeht und die Maße mit Winkeln und Radien angegeben sind (z. B.
Seite 185
Grundlagen 3.9 Wegbefehle Bedeutung Befehl zum Einschalten der Eilgangbewegung Befehl zum Einschalten der Geradeninterpolation Befehl zum Einschalten der Kreisinterpolation im Uhrzeigersinn Befehl zum Einschalten der Kreisinterpolation gegen den Uhrzeigersinn Polarwinkel Winkel zwischen dem Polarradius und der waagrechten Achse der Arbeitsebene (z. B. X-Achse bei G17).
Seite 186
Grundlagen 3.9 Wegbefehle Randbedingungen • In NC-Sätzen mit polaren Endpunktangaben dürfen für die angewählte Arbeitsebene keine kartesischen Koordinaten wie Interpolationsparameter, Achsadressen, usw. programmiert werden. • Wenn mit G110 ... G112 kein Pol definiert wird, dann wird automatisch der Nullpunkt des aktuellen Werkstückkoordinatensystems als Pol betrachtet: NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Seite 187
Grundlagen 3.9 Wegbefehle • Polarradius RP = 0 Der Polarradius errechnet sich aus dem Abstand zwischen Startpunktvektor in der Polebene und dem aktiven Polvektor. Anschließend wird der errechnete Polarradius modal gespeichert. Das gilt unabhängig von einer gewählten Poldefinition (G110 ... G112). Sind beide Punkte identisch programmiert, so wird dieser Radius = 0 und der Alarm 14095 generiert.
Grundlagen 3.9 Wegbefehle Bedeutung G-Befehl zum Ausschalten der linearen Interpolation RTLIOF: ⇒ Bei Eilgang (G0) ist die nicht-lineare Interpolation aktiv. Alle Bahnachsen errei‐ chen unabhängig voneinander ihren Endpunkt. Wirksamkeit: modal G-Befehl zum Einschalten der linearen Interpolation RTLION: ⇒ Bei Eilgang (G0) ist die lineare Interpolation aktiv. Alle Bahnachsen erreichen gleichzeitig ihren Endpunkt.
Grundlagen 3.9 Wegbefehle 3.9.4.3 Toleranzen für Eilgangbewegungen anpassen (STOLF, CTOLG0, OTOLG0) Die über Maschinendaten projektierten Toleranzen für Eilgangbewegungen (G0-Toleranzen) können im Teileprogramm temporär angepasst werden. Die Einstellungen in den Maschinendaten werden dabei nicht verändert. Nach Kanal- bzw. Programmende-Reset werden wieder die projektierten Toleranzen wirksam. Voraussetzungen G0-Toleranzen werden nur wirksam, wenn folgende Bedingungen erfüllt sind: •...
Seite 193
Grundlagen 3.9 Wegbefehle Bedeutung Adresse zum Programmieren eines temporär wirksamen Toleranzfaktors für Eilgangbewe‐ STOLF: gungen G0-Toleranzfaktor <Value>: Typ: REAL Wert: ≥ 0: Der G0-Toleranzfaktor kann sowohl größer als auch kleiner 1.0 sein. Ist der Faktor gleich 1.0 (Standardwert), sind für Eilgangbewegungen dieselben Toleranzen wirksam wie für Nicht-Eilgangbewegungen.
Seite 194
Grundlagen 3.9 Wegbefehle Hinweis Vorrang hat immer die zuletzt programmierte Adresse, wie die folgenden Beispiele zeigen: • Bei Programmierung von CTOLG0 bei bestehendem STOLF wird für das Überschleifen der Kontur der mit CTOLG0 programmierte Toleranzwert verwendet. • Ebenso wird bei Programmierung von OTOLG0 bei bestehendem STOLF für das Überschleifen der Orientierung der mit OTOLG0 programmierte Toleranzwert verwendet.
Grundlagen 3.9 Wegbefehle Sind im aktiven Teileprogramm keine absoluten G0-Toleranzen mit CTOLG0 und OTOLG0 programmiert, dann liefern diese Systemvariablen die in den Maschinendaten projektierten Werte. 3.9.5 Geradeninterpolation (G1) Mit G1 fährt das Werkzeug auf achsparallelen, schräg liegenden oder beliebig im Raum liegenden Geraden.
Seite 197
Grundlagen 3.9 Wegbefehle Hinweis G1 ist modal wirksam. Für die Bearbeitung müssen Spindeldrehzahl S und Spindeldrehrichtung M3/M4 angegeben werden. Mit FGROUP können Achsgruppen festgelegt werden, für die Bahnvorschub F gilt. Mehr Informationen hierzu im Kapitel "Bahnverhalten". Beispiele Beispiel 1: Herstellung einer Nut (Fräsen) Das Werkzeug fährt vom Start- zum Endpunkt in X/Y-Richtung.
Grundlagen 3.9 Wegbefehle Programmiervarianten Die Steuerung bietet verschiedene Möglichkeiten, Kreisbewegungen zu programmieren. Damit kann der Anwender praktisch jede Art der Zeichnungsbemaßung direkt umsetzen: • Kreisinterpolation mit Mittelpunkt und Endpunkt (G2/G3, X... Y... Z..., I... J... K...) (Seite 199) • Kreisinterpolation mit Radius und Endpunkt (G2/G3, X... Y... Z..., CR) (Seite 202) •...
Seite 200
Grundlagen 3.9 Wegbefehle Syntax G2/G3 X… Y… Z… I… J… K… G2/G3 X… Y… Z… I=AC(…) J=AC(…) K=(AC…) Bedeutung Kreisinterpolation im Uhrzeigersinn Wirksamkeit: modal Kreisinterpolation im Gegenuhrzeigersinn Wirksamkeit: modal X... Y... Z... : Kreisendpunkt in kartesischen Koordinaten Abhängig von der aktuell gültigen Maßangaben-Einstellung G90/G91 bzw.
Seite 201
Grundlagen 3.9 Wegbefehle Beispiele Beispiel 1: Fräsen Mittelpunktangabe im Kettenmaß N10 G0 X67.5 Y80.211 N20 G3 X17.203 Y38.029 I–17.5 J–30.211 F500 Mittelpunktangabe im Absolutmaß N10 G0 X67.5 Y80.211 N20 G3 X17.203 Y38.029 I=AC(50) J=AC(50) Beispiel 2: Drehen Mittelpunktangabe im Kettenmaß N120 G0 X12 Z0 N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 I-3.335 K-29.25 N135 G1 Z-95...
Grundlagen 3.9 Wegbefehle Mittelpunktangabe im Absolutmaß N120 G0 X12 Z0 N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 I=AC(33.33) K=AC(-54.25) N135 G1 Z-95 3.9.6.3 Kreisinterpolation mit Radius und Endpunkt (G2/G3, X... Y... Z..., CR) Kreisinterpolationsvariante, die den Radius und Endpunkt eines kreisförmigen Konturelements für die Interpolation verwendet.
Grundlagen 3.9 Wegbefehle 3.9.6.4 Kreisinterpolation mit Öffnungswinkel und Endpunkt / Mittelpunkt (G2/G3, X... Y... Z... / I... J... K..., AR) Kreisinterpolationsvariante, die den Öffnungswinkel und den Mittelpunkt oder Endpunkt eines kreisförmigen Konturelements für die Interpolation verwendet. Hinweis Vollkreise (Verfahrwinkel 360°) können mit dieser Variante nicht programmiert werden. Syntax G2/G3 X…...
Grundlagen 3.9 Wegbefehle Programmcode N135 G1 Z-95 3.9.6.5 Kreisinterpolation mit Polarkoordinaten (G2/G3, AP, RP) Kreisinterpolationsvariante, die den Kreisendpunkt in Polarkoordinaten für die Interpolation verwendet. Hierbei gilt folgende Vereinbarung: • Der Pol liegt im Kreismittelpunkt. • Der Polarradius entspricht dem Kreisradius. Syntax G2/G3 AP=...
Grundlagen 3.9 Wegbefehle Programmcode N10 G0 X67.5 Y80.211 N20 G111 X50 Y50 N30 G3 RP=34.913 AP=200.052 F500 Beispiel 2: Drehen Programmcode N125 G1 X40 Z-25 F0.2 N130 G111 X33.33 Z-54.25 N135 G3 RP=30 AP=142.326 N140 G1 Z-95 3.9.6.6 Kreisinterpolation mit Zwischen- und Endpunkt (CIP, X... Y... Z..., I1... J1... K1...) Die mit dem G-Befehl CIP programmierte Kreisinterpolationsvariante ermöglicht die Interpolation von schräg im Raum liegenden Kreisbögen.
Seite 208
Grundlagen 3.9 Wegbefehle Syntax CIP X… Y… Z… I1=AC(…) J1=AC(…) K1=(AC…) Bedeutung Kreisinterpolation über Zwischenpunkt CIP: Wirksamkeit: modal X... Y... Z... : Kreisendpunkt in kartesischen Koordinaten Abhängig von der aktuell gültigen Maßangaben-Einstellung G90/G91 bzw..=AC(...) / ...=IC(...) werden die Kreisendpunkt-Koordinaten entweder im Absolutmaß oder im Kettenmaß interpretiert. I1...
Seite 209
Grundlagen 3.9 Wegbefehle Hinweis Technologie Drehen Die Durchmesserprogrammierung des Interpolationsparameters für die Planachse wird bei der Kreisprogrammierung mit CIP nicht unterstützt. Der Interpolationsparameter für die Planachse ist daher im Radius zu programmieren. Beispiele Beispiel 1: Fräsen Für die Herstellung einer schräg im Raum liegenden Kreisnut wird ein Kreis über Zwischenpunktangabe mit 3 Interpolationsparametern und Endpunkt mit ebenfalls 3 Koordinaten beschrieben.
Grundlagen 3.9 Wegbefehle Beispiel 2: Drehen Programmcode Kommentar N125 G1 G90 X40 Z-25 F0.2 N130 CIP X70 Z-75 I1=IC(26.665) K1=IC(-29.25) ; Interpolationsparameter I1 für Planachse muss im Radius program- miert sein. ; bzw. ; N130 CIP X70 Z-75 I1=46.665 K1=-54.25 N135 G1 Z-95 3.9.6.7 Kreisinterpolation mit tangentialem Übergang (CT, X...
Seite 211
Grundlagen 3.9 Wegbefehle Startpunkt Endpunkt Kreismittelpunkt Kreisradius Endtangente der programmierten Kontur des letzten Vorgängersatzes mit einer Verfahrbewegung Bild 3-4 Tangential an das Geradenstück 1-2 anschließende Kreisbahn S-E Bild 3-5 Tangential anschließende Kreisbahnen hängen vom vorhergehenden Konturelement ab Syntax CT X… Y… Z… Bedeutung Kreisinterpolation mit tangentialem Übergang Wirksamkeit: modal...
Grundlagen 3.9 Wegbefehle Programmcode Kommentar N110 G1 X23.293 Z0 F10 N115 X40 Z-30 F0.2 N120 CT X58.146 Z-42 ; Kreisprogrammierung mit tangentialem Übergang. N125 G1 X70 Weitere Informationen Splines Bei Splines wird die Tangentialrichtung durch die Gerade durch die letzten beiden Punkte bestimmt.
Grundlagen 3.9 Wegbefehle Liegt die Tangente des Vorgängersatzes nicht in der aktiven Ebene, so wird deren Projektion in die aktive Ebene verwendet. Haben Start- und Endpunkt nicht die gleiche Positionskomponente senkrecht zur aktiven Ebene, wird statt eines Kreises eine Helix erzeugt. 3.9.7 Schraubenlinien-Interpolation (G2/G3, TURN) Die Schraubenlinieninterpolation (Helixinterpolation) ermöglicht zum Beispiel die Herstellung...
Seite 215
Grundlagen 3.9 Wegbefehle I J K : Kreismittelpunkt in kartesischen Koordinaten Öffnungswinkel TURN= : Anzahl der zusätzlichen Kreisdurchläufe im Bereich von 0 bis 999 AP= : Polarwinkel RP= : Polarradius Hinweis G2 und G3 sind modal wirksam. Beispiel Programmcode Kommentar N10 G17 G0 X27.5 Y32.99 Z3 ;...
Grundlagen 3.9 Wegbefehle Aus der Anzahl der Vollkreise plus programmierten Kreisendpunkt (ausgeführt über der Zustelltiefe), ergibt sich die Steigung, mit der die Schraubenlinie gefertigt werden soll. Programmierung des Endpunkts Schraubenlinieninterpolation Für detaillierte Erklärungen der Interpolationsparameter siehe Kreisinterpolation. Programmierter Vorschub Bei der Schraubenlinieninterpolation empfiehlt sich die Angabe eines programmierten Vorschub-Overrides (CFC).
Grundlagen 3.9 Wegbefehle senkrecht zur Bearbeitungsebene), Hilfsfunktionsangaben, G-Befehle, Geschwindigkeiten usw. Hinweis Konturrechner Die Konturzug-Programmierung kann auf einfache Art und Weise auch mithilfe des Konturrechners erfolgen. Dabei handelt es sich um ein Werkzeug der Bedienoberfläche, das die Programmierung und grafische Darstellung einfacher und komplexer Werkstückkonturen ermöglicht.
Seite 218
Grundlagen 3.9 Wegbefehle ANG: Winkel der Geraden X1, Z1: Anfangskoordinaten X2, Z2: Endpunktkoordinaten der Geraden Syntax X… ANG=… Z… ANG=… Bedeutung X... : Endpunktkoordinate in X-Richtung Z... : Endpunktkoordinate in Z-Richtung Bezeichner zur Winkel-Programmierung ANG: Der angegebene Wert (Winkel) bezieht sich auf die Abszisse der aktiven Arbeitsebene (Z- Achse bei G18).
Grundlagen 3.9 Wegbefehle 3.9.8.3 Konturzüge: Zwei Geraden Hinweis In der folgenden Beschreibung wird von davon ausgegangen, dass: • G18 aktiv ist (⇒ aktive Arbeitsebene ist die Z/X-Ebene). (Die Programmierung von Konturzügen ist jedoch ohne Einschränkungen auch bei G17 oder G19 möglich.) •...
Seite 220
Grundlagen 3.9 Wegbefehle ANG=… X… Z… ANG=… • Rundung als Übergang zwischen den Geraden: ANG=… RND=... X… Z… ANG=… • Fase als Übergang zwischen den Geraden: ANG=… CHR=... X… Z… ANG=… Programmierung des Endpunkts der ersten Geraden durch Angabe der Koordinaten •...
Seite 221
Grundlagen 3.9 Wegbefehle Bedeutung ANG=... : Bezeichner zur Winkel-Programmierung Der angegebene Wert (Winkel) bezieht sich auf die Abszisse der aktiven Arbeits‐ ebene (Z-Achse bei G18). RND=... : Bezeichner zur Programmierung einer Rundung Der angegebene Wert entspricht dem Radius der Rundung: CHR=... : Bezeichner zur Programmierung einer Fase Der angegebene Wert entspricht der Breite der Fase in der Bewegungsrichtung: X...
Grundlagen 3.9 Wegbefehle Beispiel Programmcode Kommentar N10 X10 Z80 F1000 G18 ; Anfahren der Startposition. N20 ANG=148.65 CHR=5.5 ; Gerade mit Winkel- und Fasenangabe. N30 X85 Z40 ANG=100 ; Gerade mit Winkel- und Endpunktangabe. N40 ... 3.9.8.4 Konturzüge: Drei Geraden Hinweis In der folgenden Beschreibung wird von davon ausgegangen, dass: •...
Seite 223
Grundlagen 3.9 Wegbefehle ANG1: Winkel der ersten Geraden ANG2: Winkel der zweiten Geraden X1, Z1: Anfangskoordinaten der ersten Geraden X2, Z2: Endpunktkoordinaten der ersten Geraden bzw. Anfangskoordinaten der zweiten Geraden X3, Z3: Endpunktkoordinaten der zweiten Geraden bzw. Anfangskoordinaten der dritten Geraden X4, Z4: Endpunktkoordinaten der dritten Geraden Hinweis...
Seite 224
Grundlagen 3.9 Wegbefehle • Fase als Übergang zwischen den Geraden: ANG=… CHR=... X… Z… ANG=… CHR=... X… Z… Programmierung des Endpunkts der ersten Geraden durch Angabe der Koordinaten • Ecke als Übergang zwischen den Geraden: X… Z… X… Z… X… Z… •...
Seite 225
Grundlagen 3.9 Wegbefehle Bedeutung ANG=... : Bezeichner zur Winkel-Programmierung Der angegebene Wert (Winkel) bezieht sich auf die Abszisse der aktiven Arbeits‐ ebene (Z-Achse bei G18). RND=... : Bezeichner zur Programmierung einer Rundung Der angegebene Wert entspricht dem Radius der Rundung: CHR=... : Bezeichner zur Programmierung einer Fase Der angegebene Wert entspricht der Breite der Fase in der Bewegungsrichtung: X...
Grundlagen 3.9 Wegbefehle Beispiel Programmcode Kommentar N10 X10 Z100 F1000 G18 ; Anfahren der Startposition N20 ANG=140 CHR=7.5 ; Gerade mit Winkel- u. Fasenangabe N30 X80 Z70 ANG=95.824 RND=10 ; Gerade auf Zwischenpunkt mit Winkel- u. Rundungs- angabe N40 X70 Z50 ;...
Seite 227
Grundlagen 3.9 Wegbefehle Hinweis Technische Voraussetzung für das Gewindeschneiden mit G33 ist eine drehzahlgeregelte Spindel mit Wegmesssystem. Mehrgängige Gewinde Mehrgängige Gewinde (Gewinde mit versetzten Schnitten) können durch die Angabe eines Startpunktversatzes hergestellt werden. Die Programmierung erfolgt im G33-Satz unter der Adresse SF. Hinweis Falls kein Startpunktversatz angegeben ist, wird der in den Settingdaten festgelegte "Startwinkel für Gewinde"...
Seite 228
Grundlagen 3.9 Wegbefehle Durch mehrere, nacheinander programmierte G33-Sätze kann eine Gewindekette gefertigt werden: Hinweis Mit Bahnsteuerbetrieb G64 werden die Sätze durch vorausschauende Geschwindigkeitsführung so miteinander verbunden, dass keine Geschwindigkeitssprünge entstehen. Drehrichtung des Gewindes Die Drehrichtung des Gewindes wird durch die Drehrichtung der Spindel bestimmt: •...
Grundlagen 3.9 Wegbefehle Bedeutung Befehl zum Gewindeschneiden mit konstanter Steigung G33: X... Y... Z... : Endpunkt(e) in kartesischen Koordinaten I... : Gewindesteigung in X-Richtung J... : Gewindesteigung in Y-Richtung K... : Gewindesteigung in Z-Richtung Längsachse Planachse Z... K... : Gewindelänge und Gewindesteigung für Zylindergewinde X...
Seite 231
Grundlagen 3.9 Wegbefehle Zylindergewinde Das Zylindergewinde wird beschrieben durch: • Gewindelänge • Gewindesteigung Die Gewindelänge wird mit einer der kartesischen Koordinaten X, Y oder Z im Absolut- oder Kettenmaß eingegeben (bei Drehmaschinen vorzugsweise in Z-Richtung). Zusätzlich sind Anlauf- und Auslaufwege zu berücksichtigen, auf denen der Vorschub hochgefahren bzw. reduziert wird.
Grundlagen 3.9 Wegbefehle Kegelgewinde Das Kegelgewinde wird beschrieben durch: • Endpunkt in Längs- und Planrichtung (Kegelkontur) • Gewindesteigung Die Kegelkontur wird in kartesischen Koordinaten X, Y, Z im Bezugs- oder Kettenmaß eingegeben, bei der Bearbeitung auf Drehmaschinen vorzugsweise in X- und Z-Richtung. Zusätzlich sind Anlauf- und Auslaufwege zu berücksichtigen, auf denen der Vorschub hochgefahren bzw.
Grundlagen 3.9 Wegbefehle 3.9.9.2 Gewindeschneiden mit zu- oder abnehmender Steigung (G34, G35) Mit den Befehlen G34 und G35 wurde die G33-Funktionalität um die Möglichkeit erweitert, unter der Adresse F zusätzlich eine Änderung der Gewindesteigung zu programmieren. Im Falle von G34 führt das zu einer linearen Zunahme, im Falle von G35 zu einer linearen Abnahme der Gewindesteigung.
Seite 235
Grundlagen 3.9 Wegbefehle Auswirkungen Der programmierte Einlauf- und Auslaufweg wirkt auf die Bahn ausschließlich beschleunigungssteigernd. Wird einer der beiden Wege größer vorgegeben, als er für die Gewindeachse mit aktiver Beschleunigung benötigt wird, wird die Gewindeachse mit maximaler Beschleunigung beschleunigt bzw. gebremst. Syntax DITS=<Wert>...
Grundlagen 3.9 Wegbefehle Sollen die mit DITS und DITE programmierten Werte dagegen auch nach einem Warmstart wirksam sein, muss das Settingdatum SD42010 $SC_THREAD_RAMP_DISP im Maschinendatum MD10710 $MN_PROG_SD_RESET_SAVE_TAB aufgelistet sein: MD10710 $MN_PROG_SD_RESET_SAVE_TAB[<n>] = 42010 Verhalten bei sehr kleinem Ein- und/oder Auslaufweg Bei sehr kleinem Ein- und/oder Auslaufweg wird die Gewindeachse stärker beschleunigt, als es die Projektierung vorsieht.
Seite 237
Grundlagen 3.9 Wegbefehle Bedeutung Schnellrückzug während Gewindeschneiden (G33) freigeben LFON: Schnellrückzug während Gewindeschneiden (G33) sperren LFOF: DILF= : Länge des Rückzugswegs festlegen Der durch MD-Projektierung (MD21200 $MC_LIFTFAST_DIST) voreingestellte Wert kann im Teileprogramm durch Programmierung von DILF verändert werden. Hinweis: Nach NC-RESET ist immer der projektierte MD-Wert aktiv. Die Rückzugsrichtung wird in Verbindung mit ALF mit den G-Befehlen LFTXT LFTXT und LFWP gesteuert.
Seite 238
Grundlagen 3.9 Wegbefehle Absolute Rückzugsposition für die im Index angegebene Geometrieachse bzw. Ma‐ POLF[]: schinenachse festlegen Wirksamkeit: modal Bei Geometrieachsen wird der zugewiesene Wert als Position im =<Wert>: Werkstückkoordinatensystem (WKS) interpretiert, bei Maschinen‐ achsen als Position im Maschinenkoordinatensystem (MKS). Die Wertzuweisung ist auch als Kettenmaßangabe programmier‐ bar: =IC<Wert>...
Grundlagen 3.9 Wegbefehle Beispiel 2: Schnellrückzug vor Gewindebohren ausschalten Programmcode Kommentar N55 M3 S500 G90 G0 X0 Z0 N87 MSG ("Gewindebohren") N88 LFOF ; Schnellrückzug vor Gewindebohren ausschalten. N89 CYCLE... ; Gewindebohrzyklus mit G33. N90 MSG ("") N99 M30 Beispiel 3: Schnellrückzug auf absolute Rückzugsposition Bei einem Stopp wird die Bahninterpolation von X unterdrückt und stattdessen eine Bewegung mit max.
Grundlagen 3.9 Wegbefehle 3.9.9.5 Ballige Gewinde (G335, G336) Mit den G-Befehlen G335 und G336 besteht die Möglichkeit, ballige (= von der zylindrischen Form abweichende) Gewinde zu drehen. Anwendung ist die Bearbeitung extrem großer Bauteile, die durch ihr Eigengewicht in der Maschine durchhängen. Achsparallele Gewinde würden dazu führen, dass der Gewindegang in der Mitte des Bauteils zu gering ist.
Grundlagen 3.9 Wegbefehle Hinweis IR, JR und KR sind die Standardwerte der über Maschinendatum (MD10651 $MN_IPO_PARAM_THREAD_NAME_TAB) einstellbaren Namen der Interpolationsparameter für ballige Gewinde. Abweichungen von diesen Standardwerten sind den Angaben des Maschinenherstellers zu entnehmen! Optional kann noch ein Startpunktversatz SF mit angegeben werden (siehe "Gewindeschneiden mit konstanter Steigung (G33, SF) (Seite 226)").
Grundlagen 3.9 Wegbefehle Bild 3-8 Balliges Gewinde gegen den Uhrzeigersinn mit End- und Mittelpunktprogrammierung Beispiel 3: Balliges Gewinde im Uhrzeigersinn mit Endpunkt- und Radiusprogrammierung Programmcode N5 G0 G18 X50 Z50 N10 G335 Z100 K=3.5 CR=32 SF=90 Bild 3-9 Balliges Gewinde im Uhrzeigersinn mit Endpunkt- und Radiusprogrammierung Beispiel 4: Balliges Gewinde im Uhrzeigersinn mit Endpunkt- und Öffnungswinkelprogrammierung Programmcode...
Grundlagen 3.9 Wegbefehle Bild 3-10 Balliges Gewinde im Uhrzeigersinn mit Endpunkt- und Öffnungswinkelprogrammierung Beispiel 5: Balliges Gewinde im Uhrzeigersinn mit Mittelpunkt- und Öffnungswinkelprogrammierung Programmcode N5 G0 G18 X50 Z50 N10 G335 K=3.5 KR=25 IR=-20 AR=102.75 SF=90 Bild 3-11 Balliges Gewinde im Uhrzeigersinn mit Mittelpunkt- und Öffnungswinkelprogrammierung Beispiel 6: Balliges Gewinde im Uhrzeigersinn mit End- und Zwischenpunktprogrammierung Programmcode...
Seite 244
Grundlagen 3.9 Wegbefehle Bild 3-12 Balliges Gewinde im Uhrzeigersinn mit End- und Zwischenpunktprogrammierung Weitere Informationen Erlaubte Kreisbogenbereiche Der unter G335/G336 programmierte Kreisbogen muss in einem Bereich liegen, in dem die spezifizierte Gewindehauptachse (I, J oder K) über den gesamten Kreisbogen den Hauptachsanteil am Kreisbogen hat: Erlaubte Bereiche für die Z-Achse (Steigung mit K Erlaubte Bereiche für die X-Achse (Steigung mit I programmiert)
Grundlagen 3.9 Wegbefehle Bild 3-13 Ballige Gewinde: Nicht erlaubter Bereich Frames Auch bei aktiven Frames ist G335 und G336 möglich. Es ist allerdings darauf zu achten, dass im Basiskoordinatensystem (BKS) die erlaubten Kreisbogenbereiche eingehalten werden. Randbedingungen zur Kreisprogrammierung Für die Kreisprogrammierung unter G335/G336 gelten die bei der Kreisprogrammierung mit G2/G3 beschriebenen Randbedingungen (siehe "Kreisinterpolation (Seite 198)").
Seite 246
Grundlagen 3.9 Wegbefehle Bedeutung Gewindebohren G331: Die Gewindebohrung wird beschrieben durch die Verfahrbewegung der Ach‐ se (Bohrtiefe) und die Gewindesteigung. Wirksamkeit: modal Rückzugsbewegung des Gewindebohrens G332: Die Rückzugsbewegung muss mit derselben Steigung ausgeführt werden wie das Gewindebohren (G331). Die Richtungsumkehr der Spindel erfolgt auto‐ matisch.
Grundlagen 3.9 Wegbefehle 3.9.10.4 Beispiel: Anwendung des zweiten Getriebestufen-Datensatzes Die Schaltschwellen des zweiten Getriebestufen-Datensatzes für die Maximaldrehzahl und Minimaldrehzahl werden bei G331/G332 und Programmierung eines S-Werts für die aktive Masterspindel ausgewertet. Automatischer Getriebestufenwechsel M40 muss aktiv sein. Die so ermittelte Getriebestufe wird mit der aktiven Getriebestufe verglichen. Besteht zwischen beiden ein Unterschied, wird ein Getriebestufenwechsel ausgeführt.
Grundlagen 3.9 Wegbefehle Syntax G63 <Achse> <Drehrichtung> <Drehzahl> <Vorschub> Bedeutung Gewindebohren mit Ausgleichsfutter G63: Wirksamkeit: satzweise Verfahrweg/position der Geometrieachse (X, Y oder Z) zum Gewindeend‐ <Achse>: punkt, z. B. Z50 Spindeldrehrichtung: <Drehrichtung>: • M3: Drehrichtung im Uhrzeigersinn, Rechtsgewinde • M4: Drehrichtung gegen den Uhrzeigersinn, Linksgewinde Maximale während des Gewindebohrens zulässige Spindeldrehzahl, z.
Seite 251
Grundlagen 3.9 Wegbefehle Syntax Konturecke anfasen: G... X... Z... CHR/CHF=<Wert> FRC/FRCM=<Wert> G... X... Z... Konturecke verrunden: G... X... Z... RND=<Wert> FRC=<Wert> G... X... Z... Modales Verrunden: G... X... Z... RNDM=<Wert> FRCM=<Wert> RNDM=0 Hinweis Die Technologie (Vorschub, Vorschubtyp, M-Befehle ...) für das Anfasen/Verrunden wird abhängig von der Einstellung von Bit 0 im Maschinendatum MD20201 $MC_CHFRND_MODE_MASK (Verhalten Fase/Rundung) entweder vom Vorgänger- oder vom Nachfolgersatz abgeleitet.
Seite 252
Grundlagen 3.9 Wegbefehle Hinweis Fase/Rundung zu groß Sind die programmierten Werte für Fase (CHF/CHR) oder Rundung (RND/RNDM) für die beteiligten Konturelemente zu groß, werden Fase oder Rundung automatisch angepasst: 1. Falls MD11411 $MN_ENABLE_ALARM_MASK Bit 4 gesetzt ist, wird Alarm 10833 "Fase oder Rundung muss verkürzt werden"...
Seite 253
Grundlagen 3.9 Wegbefehle Beispiele Beispiel 1: Anfasen zwischen zwei Geraden • MD20201 Bit 0 = 1 (Ableitung aus dem Vor‐ gängersatz) • G71 ist aktiv. • Die Breite der Fase in der Bewegungsrich‐ tung (CHR) soll 2 mm, der Vorschub für das Anfasen 100 mm/min betragen.
Seite 254
Grundlagen 3.9 Wegbefehle Beispiel 2: Verrunden zwischen zwei Geraden • MD20201 Bit 0 = 1 (Ableitung aus dem Vor‐ gängersatz) • G71 ist aktiv. • Der Radius der Rundung soll 2 mm, der Vor‐ schub für das Verrunden 50 mm/min betra‐ gen.
Seite 255
Grundlagen 3.9 Wegbefehle Programmcode N30 G1 Z… RND=2 FRC=50 N40 G3 X… Z… I… K… Beispiel 4: Modales Verrunden zum Entgraten scharfer Werkstückkanten Programmcode Kommentar N30 G1 X… Z… RNDM=2 FRCM=50 ; Modales Verrunden einschalten. Radius der Rundung: 2mm Vorschub für das Verrunden: 50 mm/min N40...
Grundlagen 3.10 Werkzeugradiuskorrekturen Programmcode Kommentar N50 RNDM=2 FRCM=50 N60 Y20 ; Modale Rundung N60-N70 mit FRCM=50 mm/min N70 X30 ; Modale Rundung N70-N80 mit FRCM=50 mm/min N80 Y30 CHF=3 FRC=100 ; Fase N80-N90 mit FRC=100 mm/min N90 X40 ; Modale Rundung N90-N100 mit FRCM=50 mm/min N100 Y40 FRCM=0 ;...
Seite 257
Grundlagen 3.10 Werkzeugradiuskorrekturen Bedeutung WRK mit Bearbeitungsrichtung links von der Kontur einschalten WRK mit Bearbeitungsrichtung rechts von der Kontur einschalten Aufmaß zur programmierten Kontur (Offset Kontur normal) (optional) OFFN=<Wert> Z. B. zum Erzeugen von äquidistanten Bahnen für das Grobschlichten. WRK ausschalten Hinweis Im NC-Satz mit G40/G41/G42 muss G0 oder G1 aktiv sein und mindestens eine Achse der gewählten Arbeitsebene angegeben werden.
Seite 258
Grundlagen 3.10 Werkzeugradiuskorrekturen Programmcode Kommentar N20 G1 G41 Y50 F200 ; Die Radiuskorrektur wird eingeschaltet, der Punkt X50/Y50 wird korrigiert angefahren. N30 Y100 … Beispiel 2: "Klassische" Vorgehensweise am Beispiel Fräsen "Klassische" Vorgehensweise: 1. Werkzeugaufruf 2. Werkzeug einwechseln. 3. Arbeitsebene und Werkzeugradiuskorrektur einschalten. Programmcode Kommentar N10 G0 Z100...
Seite 259
Grundlagen 3.10 Werkzeugradiuskorrekturen Beispiel 3: Drehen Programmcode Kommentar … N20 T1 D1 ; Nur die Werkzeuglängenkorrektur wird eingeschaltet. N30 G0 X70 Z20 ; X70 Z20 wird unkorrigiert angefahren. N40 G42 X20 Z1 ; Die Radiuskorrektur wird eingeschaltet, der Punkt X20/Z1 wird korrigiert angefahren. N50 G1 Z-20 F0.2 …...
Seite 262
Grundlagen 3.10 Werkzeugradiuskorrekturen Wechsel der Arbeitsebene Ein Wechsel der Arbeitsebene (G17/G18/G19) ist bei aktivem G41/G42 nicht möglich. Wechsel des Werkzeugkorrekturdatensatzes (D…) Der Werkzeugkorrekturdatensatz kann im Korrekturbetrieb gewechselt werden. Ein veränderter Werkzeugradius gilt bereits ab dem Satz, in dem die neue D-Nummer steht. Hinweis Die Radiusänderung bzw.
Grundlagen 3.10 Werkzeugradiuskorrekturen Änderung des Werkzeugradius Die Änderung kann z. B. über Systemvariablen erfolgen. Für den Ablauf gilt das Gleiche wie beim Wechsel des Werkzeugkorrekturdatensatzes (D…). Hinweis Die geänderten Werte werden erst nach erneuter T- oder D-Programmierung wirksam. Die Änderung gilt erst im nächsten Satz. Korrekturbetrieb Der Korrekturbetrieb darf nur von einer bestimmten Anzahl aufeinanderfolgender Sätze oder M-Befehle unterbrochen werden, die keine Fahrbefehle bzw.
Seite 264
Grundlagen 3.10 Werkzeugradiuskorrekturen Mit KONTC oder KONTT werden die Stetigkeitsbedingungen in allen drei Achsen eingehalten. Damit wird es zulässig, gleichzeitig eine Wegkomponente senkrecht zur Korrekturebene zu programmieren. Hinweis Um KONTC und KONTT nutzen zu können, ist eine Lizenz für die Option "Polynom-Interpolation" erforderlich.
Seite 265
Grundlagen 3.10 Werkzeugradiuskorrekturen Beispiel Im folgenden Programmbeispiel wird ein Vollkreis mit dem Radius 70 mm in der X-Y-Ebene bearbeitet. Das An-/Abfahren des Werkzeugs erfolgt mit KONTC: Programmcode Kommentar $TC_DP1[1,1]=121 ; Fräser $TC_DP6[1,1]=10 ; Radius 10 mm N10 G1 X0 Y0 Z60 G64 T1 D1 F10000 N20 G41 KONTC X70 Y0 Z0 ;...
Grundlagen 3.10 Werkzeugradiuskorrekturen Veränderte An-/Abfahrwinkel ACHTUNG Kollisionsgefahr Um eventuelle Kollisionen zu vermeiden, müssen veränderte An-/Abfahrwinkel durch die Werkzeugradiuskorrektur bei der Programmierung berücksichtigt werden. NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Grundlagen 3.10 Werkzeugradiuskorrekturen 3.10.3 Verhalten beim Umfahren von Außenecken festlegen (G450, G451, DISC) Mit den Befehlen der G-Gruppe 18 (G450/G451) kann bei eingeschalteter Werkzeugradiuskorrektur (G41/G42) der Verlauf der korrigierten Werkzeugbahn beim Umfahren von Werkstück-Außenecken festgelegt werden. Hinweis Mit G450/G451 wird auch der Anfahrweg bei aktivem KONT und Anfahrpunkt hinter der Kontur festgelegt (siehe "An-/Abfahrverhalten anpassen (NORM, KONT, KONTC, KONTT) (Seite 263)").
Seite 268
Grundlagen 3.10 Werkzeugradiuskorrekturen Beispiel Im folgenden Beispiel wird bei allen Außenecken ein Übergangsradius eingefügt (entsprechend der Programmierung des Eckenverhaltens in Satz N30). Hierdurch vermeidet man, dass das Werkzeug zum Richtungswechsel stehen bleiben muss und freischneidet. Programmcode Kommentar N10 G17 T1 G0 X35 Y0 Z0 F500 ;...
Seite 269
Grundlagen 3.10 Werkzeugradiuskorrekturen Weitere Informationen G450/G451 Bild 3-15 Umfahren einer 90°-Außenecke mit G450 bzw. G451 Im Zwischenpunkt P* führt die Steuerung Anweisungen durch, wie z. B. Zustellbewegungen oder Schaltfunktionen. Diese Anweisungen werden in Sätzen programmiert, die zwischen den beiden Sätzen liegen, die die Ecke bilden. Der Übergangskreis bei G450 gehört datentechnisch zum anschließenden Fahrbefehl.
Grundlagen 3.10 Werkzeugradiuskorrekturen 3.10.4 Weiches An- und Abfahren 3.10.4.1 Weiches An- und Abfahren (G140 bis G143, G147, G148, G247, G248, G347, G348, G340, G341, DISR, DISCL, DISRP, FAD, PM, PR) Die Funktion "Weiches An- und Abfahren (WAB)" dient dazu, im Startpunkt einer Kontur unabhängig von der Lage des Ausgangspunkts tangential anzufahren.
Seite 271
Grundlagen 3.10 Werkzeugradiuskorrekturen Weiches Abfahren: • mit einer Geraden: G148 G340/G341 ... DISR=..., DISCL=..., DISRP=... FAD=... • mit einem Viertelkreis/Halbkreis: G248/G348 G340/G341 G140/G141/G142/G143 ... DISR=... DISCL=... DISRP=... FAD=... Bedeutung Anfahren mit einer Geraden G147: Abfahren mit einer Geraden G148: Anfahren mit einem Viertelkreis G247: Abfahren mit einem Viertelkreis G248:...
Grundlagen 3.10 Werkzeugradiuskorrekturen Beispiel • Weiches Anfahren (Satz N20 aktiviert) • Anfahrbewegung mit Viertelkreis (G247) • Anfahrrichtung nicht programmiert, es wirkt G140, d. h. WRK ist aktiv (G41) • Konturoffset OFFN=5 (N10) • Aktueller Werkzeugradius=10, damit ist der effektive Korrekturradius für WRK=15, der Radius der WAB-Kontur=25, so dass Radius der Werkzeugmittelpunktsbahn gleich DISR=10 wird •...
Seite 273
Grundlagen 3.10 Werkzeugradiuskorrekturen Wegfahrbewegungen von Z8 nach Z20 und die Bewegung parallel zur X-Y Ebene zu X70 Y0. Programmcode Kommentar $TC_DP1[1,1]=120 ; Werkzeugdefinition T1/D1 $TC_DP6[1,1]=10 ; Radius N10 G0 X0 Y0 Z20 G64 D1 T1 OFFN=5 ; (P0 an) N20 G41 G247 G341 Z0 DISCL=AC(7) DISR=10 F1500 FAD=200 ;...
Seite 274
Grundlagen 3.10 Werkzeugradiuskorrekturen Bild 3-16 Anfahrbewegungen bei gleichzeitiger Aktivierung der Werkzeugradiuskorrektur Wahl der An- bzw. Abfahrrichtung Bestimmung der An- und Abfahrrichtung mit Hilfe der Werkzeugradiuskorrektur (G140, Grundeinstellung) bei positivem Werkzeugradius: • G41 aktiv → Anfahren von links • G42 aktiv → Anfahren von rechts Weitere Anfahrmöglichkeiten sind mit G141, G142 und G143 gegeben.
Seite 275
Grundlagen 3.10 Werkzeugradiuskorrekturen Aufteilung der Bewegung vom Start- zum Endpunkt (G340 und G341) Die Bewegungen setzen sich in jedem Fall aus einer oder mehreren Geraden sowie abhängig vom G-Befehl zur Bestimmung der Anfahrkontur aus einer weiteren Geraden bzw. einem Viertel- oder Halbkreis zusammen. Die 2 Varianten der Wegaufteilung sind in folgendem Bild dargestellt: G340: Anfahren mit einer Geraden vom Punkt P...
Seite 276
Grundlagen 3.10 Werkzeugradiuskorrekturen Länge der Anfahrgerade bzw. Radius bei Anfahrkreisen (DISR) • An-/Abfahren mit Geraden DISR gibt den Abstand der Fräserkante vom Startpunkt der Kontur an, d. h. die Länge der Geraden ergibt sich bei aktiver WRK als Summe von Werkzeugradius und programmiertem Wert von DISR.
Seite 277
Grundlagen 3.10 Werkzeugradiuskorrekturen Die Programmierung des Konturendpunkts beim Anfahren unterscheidet sich wesentlich von der beim Abfahren. Die beiden Fälle werden deshalb hier getrennt behandelt. Programmierung des Endpunktes P4 beim Anfahren Der Endpunkt P kann im WAB-Satz selbst programmiert sein. Alternativ dazu besteht die Möglichkeit, P durch den Endpunkt des nächsten Verfahrsatzes zu bestimmen.
Seite 278
Grundlagen 3.10 Werkzeugradiuskorrekturen unabhängig davon wie viele Achsen programmiert wurden. Bei der Bestimmung des Endpunkts sind dabei die folgenden drei Fälle zu unterscheiden: 1. Im WAB-Satz ist keine Geometrieachse programmiert. Die Kontur endet in diesem Fall im Punkt P (falls DISRP programmiert ist), im Punkt P (falls DISCL aber nicht DISRP programmiert ist) oder im Punkt P (falls weder DICLS noch DISRP programmiert ist).
Seite 279
Grundlagen 3.10 Werkzeugradiuskorrekturen An- bzw. Abfahrgeschwindigkeiten • Geschwindigkeit des Vorgängersatzes (G0) Mit dieser Geschwindigkeit werden alle Bewegungen von P bis zu P ausgeführt, d. h. die Bewegung parallel zur Bearbeitungsebene und der Teil der Zustellbewegung bis zum Sicherheitsabstand. • Programmierung mit FAD Angabe der Vorschubgeschwindigkeit bei –...
Seite 280
Grundlagen 3.10 Werkzeugradiuskorrekturen NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Grundlagen 3.10 Werkzeugradiuskorrekturen Lesen von Positionen Die Punkte P und P können beim Anfahren als Systemvariable im WKS gelesen werden. • $P_APR: Lesen von P • (Aufstartpunkt) • $P_AEP: Lesen von P • (Konturanfangspunkt) • $P_APDV: Lesen, ob $P_APR und $P_AEP gültige Werte enthalten 3.10.4.2 Weiches An- und Abfahren mit erweiterten Abfahrstrategien (G460, G461, G462) In bestimmten geometrischen Sonderfällen werden gegenüber der bisherigen Realisierung mit...
Grundlagen 3.10 Werkzeugradiuskorrekturen Syntax G460 G461 G462 Bedeutung Wie bisher (Einschalten der Kollisionsüberwachung für An- und Abfahrsatz) G460: Einfügen eines Kreises im WRK-Satz, wenn kein Schnittpunkt möglich ist, dessen Mittelpunkt G461: im Endpunkt des nicht korrigierten Satzes liegt, und dessen Radius gleich dem Werkzeugra‐ dius ist.
Seite 283
Grundlagen 3.10 Werkzeugradiuskorrekturen Programmcode Kommentar N30 X0 Y0 F10000 T1 D1 N40 Y20 N50 G42 X50 Y5 G461 N60 Y0 F600 N70 X30 N80 X20 Y-5 N90 X0 Y0 G40 N100 M30 Weitere Informationen G461 Wenn kein Schnittpunkt des letzten WRK-Satzes mit einem Vorgängersatz möglich ist, wird die Offsetkurve dieses Satzes mit einem Kreis verlängert, dessen Mittelpunkt im Endpunkt des nicht korrigierten Satzes liegt, und dessen Radius gleich dem Werkzeugradius ist.
Grundlagen 3.10 Werkzeugradiuskorrekturen Werkzeugradiuskorrektur eine Gerade eingefügt (der Satz wird durch seine Endtangente verlängert). Die Schnittpunktsuche verläuft dann identisch zu der bei G461. Abfahrverhalten bei G462 (siehe Beispiel) Bei G462 wird die im Beispielprogramm von N10 und N20 gebildete Ecke nicht soweit ausgeräumt, wie es mit dem verwendeten Werkzeug möglich wäre.
Grundlagen 3.10 Werkzeugradiuskorrekturen 3.10.5 2 1/2 D-Werkzeugkorrektur (CUT2D, CUT2DD, CUT2DF, CUT2DFD) Die 2½ D-Werkzeugradiuskorrektur ist zu verwenden, wenn für die Bearbeitung von schrägen Flächen nicht die Ausrichtung des Werkzeugs, sondern das Werkstück gedreht wird. Die Aktivierung erfolgt durch die Befehle CUT2D, CUT2DD, CUT2DF oder CUT2DFD. Werkzeuglängenkorrektur Die Werkzeuglängenkorrektur wird immer bezogen auf die raumfeste, nicht gedrehte Arbeitsebene eingerechnet.
Seite 286
Grundlagen 3.10 Werkzeugradiuskorrekturen Weitere Informationen Konturwerkzeuge • Freigabe Die Freigabe der Werkzeugradiuskorrektur für Konturwerkzeuge erfolgt kanalspezifisch über: MD28290 $MC_MM_SHAPED_TOOLS_ENABLE • Werkzeugtyp Die Werkzeugtypen von Konturwerkzeugen werden kanalspezifisch festgelegt über: MD20370 $MC_SHAPED_TOOL_TYPE_NO • Schneiden Jedem Konturwerkzeug können in beliebiger Reihenfolge eine Anzahl Schneiden (D- Nummern) zugeordnet werden.
Seite 287
Grundlagen 3.10 Werkzeugradiuskorrekturen Werkzeugradiuskorrektur wird bezogen auf die gedrehte Arbeitsebene (G17, G18, G19) eingerechnet. Die Werkzeuglängenkorrektur wirkt aber weiterhin relativ zur nicht gedrehten Arbeitsebene. Voraussetzung: An der Maschine muss die Werkzeugorientierung senkrecht zur gedrehten Arbeitsebene einstellbar sein und zur Bearbeitung eingestellt werden. Hinweis Die Werkzeuglängenkorrektur wirkt weiterhin relativ zur nicht gedrehten Arbeitsebene.
Seite 288
Grundlagen 3.10 Werkzeugradiuskorrekturen N110 G41 N120 X20 Wird in dem Beispiel ein Werkzeugradius von 10 mm angenommen, wird im Satz N110 auf die Position X10 Y10 verfahren. Enthält die maßgebliche Stelle eine 2, wird nur dann an- bzw. abgefahren, wenn im Aktivierungs-/Deaktivierungssatz mindestens eine Geometrieachse programmiert ist. Will man mit dieser Einstellung das gleiche Ergebnis wie im Beispiel oben erreichen, muss das Programm deshalb z. B.
Grundlagen 3.10 Werkzeugradiuskorrekturen Enthält die maßgebliche Stelle eine andere Zahl als 1, 2 oder 3, also insbesondere den Wert 0, wird in einem Satz, der keine Verfahrinformation enthält, nicht an- bzw. abgefahren. Hinweis Werkzeuge mit Schneidenlage Wird der Wert dieses Settingdatums innerhalb eines Programmes verändert, so empfiehlt es sich, vor dem Beschreiben einen Vorlaufstopp (STOPRE) zu programmieren, da sonst die Gefahr besteht, dass in davor liegenden Programmteilen der neue Wert verwendet wird.
Grundlagen 3.10 Werkzeugradiuskorrekturen Weitere Informationen Im Normalfall ist vor der Aktivierung der Korrekturunterdrückung die Werkzeugradiuskorrektur bereits aktiv, und sie ist noch aktiv, wenn die Korrekturunterdrückung wieder deaktiviert wird. Im letzen Verfahrsatz vor CUTCONON wird auf den Offsetpunkt im Satzendpunkt gefahren. Alle folgenden Sätze, in denen die Korrekturunterdrückung aktiv ist, werden ohne Korrektur verfahren.
Seite 292
Grundlagen 3.10 Werkzeugradiuskorrekturen Weitere Informationen Die ursprüngliche Funktionalität wurde wie folgt geändert: • Der Wechsel von G40 nach G41/G42 und umgekehrt wird nicht mehr als Werkzeugwechsel behandelt. Bei TRANSMIT kommt es deshalb nicht mehr zu einem Vorlaufstopp. • Für die Berechnung von Schnittpunkten mit dem An- bzw. Abfahrsatz wird die Gerade zwischen den Schneidenmittelpunkten am Satzanfang und am Satzende verwendet.
Grundlagen 3.11 Bahnfahrverhalten • Der Wechsel eines Werkzeugs bei aktiver Werkzeugradiuskorrektur, bei dem sich der Abstand zwischen Schneidenmittelpunkt und Schneidenbezugspunkt ändert, ist in Kreissätzen und in Verfahrsätzen mit rationalen Polynomen mit einem Nennergrad > 4 verboten. Bei anderen Interpolationsarten ist ein Wechsel im Gegensatz zum bisherigen Zustand auch bei aktiver Transformation (z.B.
Seite 294
Grundlagen 3.11 Bahnfahrverhalten Bedeutung Befehl zum Einschalten des modal wirksamen Genauhalts G60: Befehl zum Einschalten des satzweise wirksamen Genauhalts Befehl zum Aktivieren von Genauhalt-Kriterium "Genauhalt fein" G601: Befehl zum Aktivieren von Genauhalt-Kriterium "Genauhalt grob" G602: Befehl zum Aktivieren von Genauhalt-Kriterium "Interpolator-Ende" G603: Hinweis Die Befehle zum Aktivieren der Genauhalt-Kriterien (G601 / G602 / G603) sind nur wirksam bei...
Seite 295
Grundlagen 3.11 Bahnfahrverhalten Die Bewegung wird abgebremst und am Eckpunkt kurz angehalten. Hinweis Die Grenzen für die Genauhalt-Kriterien sollten nur so eng wie nötig gesetzt sein. Je enger die Grenzen gefasst sind, desto länger dauern der Lageabgleich und das Anfahren der Zielposition. G603 Der Satzwechsel wird eingeleitet, wenn die Steuerung für die beteiligten Achsen die Sollgeschwindigkeit Null errechnet hat.
Grundlagen 3.11 Bahnfahrverhalten Für G0 und die übrigen Befehle der 1. G-Gruppe kann kanalspezifisch hinterlegt sein, dass abweichend vom programmierten Genauhalt-Kriterium automatisch ein voreingestelltes Kriterium verwendet wird (siehe Angaben des Maschinenherstellers!). 3.11.2 Bahnsteuerbetrieb (G64, G641, G642, G643, G644, G645, ADIS, ADISPOS) Im Bahnsteuerbetrieb wird die Bahngeschwindigkeit am Satzende zum Satzwechsel nicht auf eine Geschwindigkeit abgebremst, die ein Erreichen des Genauhaltkriteriums ermöglicht.
Seite 297
Grundlagen 3.11 Bahnfahrverhalten Bedeutung Bahnsteuerbetrieb mit Geschwindigkeitsabsenkung gemäß Überlastfaktor G64: Bahnsteuerbetrieb mit Überschleifen nach Wegkriterium G641: ADIS=... : Wegkriterium bei G641 für die Bahnfunktionen G1, G2, G3, … ADISPOS=... : Wegkriterium bei G641 für Eilgang G0 Das Wegkriterium (= Überschleifabstand) ADIS bzw. ADISPOS beschreibt die Strecke, die der Überschleifsatz vor dem Satzende frühestens beginnen darf, bzw.
Seite 298
Grundlagen 3.11 Bahnfahrverhalten Hinweis Wird eine durch G641, G642, G643, G644 oder G645 erzeugte Überschleifbewegung unterbrochen, wird beim nachfolgenden Repositionieren (REPOS) nicht der Unterbrechungspunkt angefahren, sondern der Anfangs- oder Endpunkt des originalen Verfahrsatzes (je nach REPOS-Modus). Beispiel Die beiden Außenecken an der Nut sollen exakt angefahren werden. Ansonsten soll im Bahnsteuerbetrieb gefertigt werden.
Seite 299
Grundlagen 3.11 Bahnfahrverhalten Weitere Informationen Bahnsteuerbetrieb G64 Im Bahnsteuerbetrieb fährt das Werkzeug bei tangentialen Konturübergängen mit möglichst konstanter Bahngeschwindigkeit (kein Abbremsen an den Satzgrenzen). Vor Ecken und Sätzen mit Genauhalt wird vorausschauend gebremst (LookAhead). Ecken werden ebenfalls stetig umfahren. Zur Verringerung des Konturfehlers wird die Geschwindigkeit unter Berücksichtigung einer Beschleunigungsgrenze und eines Überlastfaktors entsprechend reduziert.
Grundlagen 3.11 Bahnfahrverhalten Zwischenprogrammierte Sätze nur mit Kommentaren, Rechensätzen oder Unterprogrammaufrufen stören den Bahnsteuerbetrieb dagegen nicht. Hinweis Sind nicht alle Bahnachsen in FGROUP enthalten, wird es an Satzübergängen für die nicht enthaltenen Achsen häufig einen Geschwindigkeitssprung geben, den die Steuerung durch ein Absenken der Geschwindigkeit am Satzwechsel auf den durch MD32300 $MA_MAX_AX_ACCEL und MD32310 $MA_MAX_ACCEL_OVL_FACTOR erlaubten Wert begrenzt.
Seite 301
Grundlagen 3.11 Bahnfahrverhalten Beispiel: Programmcode Kommentar N10 G641 ADIS=0.5 G1 X... Y... ; Der Überschleifsatz darf frühestens 0,5 mm vor dem programmierten Satzende beginnen und muss 0,5 mm nach Satzende beendet sein. Diese Einstellung bleibt modal wirksam. Hinweis Überschleifen kann und soll die Funktionen für definiertes Glätten (RND, RNDM, ASPLINE, BSPLINE, CSPLINE) nicht ersetzen.
Seite 302
Grundlagen 3.11 Bahnfahrverhalten Die Settingdaten können im NC-Programm programmiert und dadurch für jeden Satzübergang anders vorgegeben werden. Sehr unterschiedliche Vorgaben für die Konturtoleranz und die Orientierungstoleranz können sich nur bei G643 auswirken. Hinweis Die Erweiterung um Konturtoleranz und Orientierungstoleranz existiert nur in Systemen mit vorhandener Option "Polynominterpolation".
Grundlagen 3.11 Bahnfahrverhalten Keine Überschleifzwischensätze In den folgenden Fällen wird kein Überschleifzwischensatz eingefügt: • Zwischen beiden Sätzen wird angehalten. Dies tritt auf, wenn: – eine Hilfsfunktionsausgabe vor Bewegung im Folgesatz steht. – der Folgesatz keine Bahnbewegung enthält. – für den Folgesatz zum ersten Mal eine Achse als Bahnachse verfährt, die zuvor Positionierachse war.
Grundlagen 3.12 Koordinatentransformationen (Frames) • Das Überschleifen ist nicht parametriert. Dies tritt auf, wenn: – bei G641 in G0-Sätzen ADISPOS=0 ist (Vorbelegung!). – bei G641 in Nicht-G0-Sätzen ADIS=0 ist (Vorbelegung!). – bei G641 beim Übergang zwischen G0 und Nicht-G0 bzw. Nicht-G0 und G0 der kleinere Wert aus ADISPOS und ADIS gilt.
Seite 305
Grundlagen 3.12 Koordinatentransformationen (Frames) Siehe: • Einstellbares Nullpunktsystem (ENS) (Seite 40) • Einstellbare Nullpunktverschiebung (G54 ... G59, G507 ... G599, G53, G500, SUPA, G153) (Seite 154) Programmierbare Frames Manchmal erweist es sich als sinnvoll bzw. notwendig, innerhalb eines NC-Programms das ursprünglich gewählte Werkstück-Koordinatensystem (bzw. das "Einstellbare Nullpunktsystem") an eine andere Stelle zu verschieben und ggf.
Grundlagen 3.12 Koordinatentransformationen (Frames) 3.12.2 Frame-Anweisungen Funktion Die Anweisungen für die programmierbaren Frames gelten im aktuellen NC-Programm. Sie wirken entweder additiv oder ersetzend: • Ersetzende Anweisung Löscht alle zuvor programmierten Frame-Anweisungen. Als Bezug gilt die zuletzt aufgerufene einstellbare Nullpunktverschiebung (G54 ... G57, G505 ... G599). •...
Seite 308
Grundlagen 3.12 Koordinatentransformationen (Frames) WKS-Verschiebung in Richtung der angegebenen Geometrieachse(n) TRANS/ATRANS: WKS-Drehung: ROT/AROT: • durch die Verkettung von Einzeldrehungen um die angegebenen Geometrieachse(n) oder • um den Winkel RPL=... in der aktuellen Arbeitsebene (G17/G18/ G19) Drehrichtung: Drehreihenfolge: mit RPY-Notation: Z, Y', X'' mit Eulerwinkel: Z, X', Z'' Wertebereich:...
Grundlagen 3.12 Koordinatentransformationen (Frames) 3.12.3 Programmierbare Nullpunktverschiebung (TRANS, ATRANS) Mit dem Befehl TRANS wird das WKS absolut, bezogen auf das mit einer einstellbaren Nullpunktverschiebung (G54 ... G57, G505 ... G599) erzeugte ENS, verschoben. Mit dem Befehl ATRANS wird das mit TRANS erzeugte WKS additiv verschoben. Fräsen: Drehen: Syntax...
Grundlagen 3.12 Koordinatentransformationen (Frames) Beispiele Beispiel 1: Fräsen Bei diesem Werkstück kommen die gezeigten Formen in einem Pro‐ gramm mehrfach vor. Die Bearbeitungsfolge für diese Form ist im Unterprogramm abgelegt. Durch Nullpunktverschiebung wer‐ den die jeweils benötigten Werk‐ stücknullpunkte gesetzt und dann das Unterprogramm aufgerufen.
Seite 311
Grundlagen 3.12 Koordinatentransformationen (Frames) Beispiel 2: Drehen Programmcode Kommentar N10 TRANS X0 Z150 ; Absolute Verschiebung N15 L20 ; Unterprogramm-Aufruf N20 TRANS X0 Z140 (oder ATRANS Z-10) ; Absolute Verschiebung N25 L20 ; Unterprogramm-Aufruf N30 TRANS X0 Z130 (oder ATRANS Z-10) ;...
Seite 312
Grundlagen 3.12 Koordinatentransformationen (Frames) Hinweis Eine Verschiebung, die auf bereits bestehenden Frames aufbauen soll, muss mit ATRANS programmiert werden. ATRANS X... Y... Z... Nullpunktverschiebung um die in den jeweils angegebenen Achsrichtungen programmierten Verschiebewerte. Als Bezug gilt der aktuell eingestellte oder zuletzt programmierte Nullpunkt. NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Grundlagen 3.12 Koordinatentransformationen (Frames) 3.12.4 Programmierbare Drehung (ROT, AROT, RPL) Mit den Befehlen ROT / AROT kann das Werkstückkoordinatensystem im Raum gedreht werden. Die Befehle beziehen sich ausschließlich auf den Programmierbaren Frame $P_PFRAME. Syntax ROT <1. GeoAx><Winkel> <2. GeoAx><Winkel> <3. GeoAx><Winkel> ROT RPL=<Winkel>...
Seite 314
Grundlagen 3.12 Koordinatentransformationen (Frames) Drehung um die zur aktiven Ebene (G17, G18, G19) senkrechte Geometrieachse um RPL: den angegebenen Winkel Bezugsframe: Programmierbarer Frame $P_PFRAME Bezugspunkt: Nullpunkt des aktuellen mit G54 ... G57, G505 ... G599 einge‐ stellten Werkstückkoordinatensystems Winkelangabe in Grad <Winkel> Wertebereich: -360° ≤ Winkel ≤ 360° Beispiele Beispiel 1: Drehung in der G17-Ebene Bei diesem Werkstück kommen die...
Seite 315
Grundlagen 3.12 Koordinatentransformationen (Frames) Beispiel 2: Räumliche Drehung um die Y-Achse In diesem Beispiel sollen achsparalle‐ le und schräg liegende Werkstückflä‐ chen in einer Aufspannung bearbei‐ tet werden. Voraussetzung: Das Werkzeug muss zur schrägen Flä‐ che senkrecht in der gedrehten Z- Richtung ausgerichtet werden.
Grundlagen 3.12 Koordinatentransformationen (Frames) Beispiel 3: Mehrseitenbearbeitung In diesem Beispiel werden in zwei senkrecht zueinander stehenden Werkstückflächen iden‐ tische Formen über Unterprogramme herge‐ stellt. Im neuen Koordinatensystem auf der rechten Werkstückfläche sind Zustellrichtung, Arbeitsebene und der Nullpunkt so eingerich‐ tet wie in der oberen Fläche. Damit gelten wei‐ terhin die für den Unterprogrammablauf not‐...
Seite 317
Grundlagen 3.12 Koordinatentransformationen (Frames) Programmcode Kommentar N50 AROT Z90 ; Additive Drehung des WKS um Z um 90° N60 L10 ; Unterprogramm-Aufruf N70 G0 X300 Y100 M30 ; Wegfahren, Programmende Weitere Informationen Drehung in der aktiven Ebene Bei Programmierung mittels RPL=… wird das WKS wird um die zur aktiven Ebene senkrechte Achse gedreht.
Seite 318
Grundlagen 3.12 Koordinatentransformationen (Frames) ① Drehwinkel Bild 3-20 Absolute Drehung um die Z-Achse Additive Drehung mit AROT X... Y... Z... Das WKS wird um die angegebenen Achsen um die programmierten Drehwinkel weiter gedreht. ① Drehwinkel Bild 3-21 Absolute und additive Drehung um die Z-Achse Drehung der Arbeitsebene Bei einer Drehung mittels ROT / AROT dreht sich die Arbeitsebene (G17, G18, G19) mit.
Grundlagen 3.12 Koordinatentransformationen (Frames) Voraussetzung: Das Werkzeug muss senkrecht zur Arbeitsebene stehen und die positive Richtung der Zustellachse zeigt in Richtung Werkzeugaufnahme. Durch Angabe von CUT2DF wirkt die Werkzeugradiuskorrektur in der gedrehten Ebene. 3.12.5 Programmierbare Framedrehungen mit Raumwinkeln (ROTS, AROTS, CROTS) Mit den Befehlen ROTS, AROTS und CROTS können Drehungen des Werkstückkoordinatensystems in Raumwinkeln angegeben werden.
Seite 320
Grundlagen 3.12 Koordinatentransformationen (Frames) ① Schräge Ebene α, β, γ Raumwinkel Ausrichten der G17-Ebene parallel zur schrägen Ebene: • 1. Drehung Drehung von x um y um Winkel α ⇒ x'-Achse parallel zur schrägen Ebene • 2. Drehung Drehung von y' um x' um β ⇒ y'-Achse parallel zur schrägen Ebene ⇒...
Seite 321
Grundlagen 3.12 Koordinatentransformationen (Frames) Syntax Festlegungen Die Lage einer Ebene im Raum ist durch zwei Raumwinkel eindeutig bestimmt. Durch Angabe eines dritten Raumwinkels wäre die Ebene überbestimmt. Sie ist daher nicht zulässig. Bei Programmierung nur eines Raumwinkels erfolgt die Drehung des WKS identisch zu ROT, AROT (siehe Kapitel "Programmierbare Drehung (ROT, AROT, RPL) (Seite 313)").
Grundlagen 3.12 Koordinatentransformationen (Frames) Bedeutung Frame-Drehungen mit Raumwinkeln absolut, ROTS: Bezugsframe: Programmierbarer Frame $P_PFRAME Frame-Drehungen mit Raumwinkeln additiv; AROTS: Bezugsframe: Programmierbarer Frame $P_PFRAME Frame-Drehungen mit Raumwinkeln absolut, CROTS: Bezugsframe: programmierter Frame $P_... Geometrieachsbezeichner (siehe oben Hinweis: Geometrieachsbezeichner) X, Y, Z: α, β, γ: Raumwinkel bezogen auf die entsprechende Geometrieachse: •...
Seite 323
Grundlagen 3.12 Koordinatentransformationen (Frames) Beispiel Bei diesem Werkstück kommen die beiden Ta‐ schen zweimal vor, jedoch in unterschiedli‐ chen Größen und zueinander verdreht. Die Be‐ arbeitungsfolge ist im Unterprogramm abge‐ legt. Durch Nullpunktverschiebung und Rotation werden die jeweils benötigten Werkstücknull‐ punkte gesetzt, durch Skalierung wird die Kon‐ tur verkleinert und dann wieder das Unterpro‐...
Seite 324
Grundlagen 3.12 Koordinatentransformationen (Frames) ASCALE X... Y... Z... Eine Maßstabsveränderung, die auf bereits bestehenden Frames aufbauen soll, wird mit ASCALE programmiert. In diesem Fall wird der zuletzt gültige mit dem neuen Maßstabsfaktor multipliziert. Als Bezug für die Maßstabsveränderung gilt das aktuell eingestellte oder zuletzt programmierte Koordinatensystem.
Grundlagen 3.12 Koordinatentransformationen (Frames) Unterschiedliche Maßstabsfaktoren ACHTUNG Kollisionsgefahr Vorsicht mit unterschiedlichen Maßstabsfaktoren! Kreisinterpolationen können z. B. nur mit den gleichen Faktoren skaliert werden. Hinweis Für die Programmierung verzerrter Kreise können unterschiedliche Maßstabsfaktoren jedoch gezielt eingesetzt werden. 3.12.7 Programmierbare Spiegelung (MIRROR, AMIRROR) Mit MIRROR/AMIRROR können Werkstückformen an Koordinatenachsen gespiegelt werden. Alle Fahrbewegungen, die danach z. B.
Seite 326
Grundlagen 3.12 Koordinatentransformationen (Frames) Bedeutung Spiegeln absolut, bezogen auf das aktuell gültige, mit G54 ... G57, MIRROR: G505 ... G599 eingestellte Koordinatensystem Spiegeln additiv, bezogen auf das aktuell gültige eingestellte oder program‐ AMIRROR: mierte Koordinatensystem X... Y... Z... : Geometrieachse, deren Richtung getauscht werden soll. Der hier angege‐ bene Wert ist frei wählbar, z. B.
Seite 327
Grundlagen 3.12 Koordinatentransformationen (Frames) Beispiel 2: Drehen Die eigentliche Bearbeitung wird als Unterpro‐ gramm abgelegt, die Abarbeitung an der je‐ weiligen Spindel durch Spiegelungen und Ver‐ schiebungen realisiert. Programmcode Kommentar N10 TRANS X0 Z140 ; Nullpunktverschiebung auf W ; Bearbeitung der 1. Seite mit Spindel 1 N30 TRANS X0 Z600 ;...
Seite 328
Grundlagen 3.12 Koordinatentransformationen (Frames) Die Spiegelung bezieht sich auf das aktuell gültige, mit G54 ... G57, G505 ... G599 eingestellte Koordinatensystem. ACHTUNG Kein Ursprungs-Frame Der Befehl MIRROR setzt alle Frame-Komponenten des vorher gesetzten programmierbaren Frames zurück. AMIRROR X... Y... Z... Eine Spiegelung, die auf bereits bestehenden Transformationen aufbauen soll, wird mit AMIRROR programmiert.
Grundlagen 3.12 Koordinatentransformationen (Frames) Werkzeugradiuskorrektur Hinweis Die Steuerung stellt mit dem Spiegelbefehl automatisch die Bahnkorrekturbefehle (G41/G42 bzw. G42/G41) entsprechend der veränderten Bearbeitungsrichtung um. Gleiches gilt für den Kreisdrehsinn (G2/G3 bzw. G3/G2). Hinweis Wenn nach MIRROR eine additive Drehung mit AROT programmiert wird, muss fallweise mit umgekehrten Drehrichtungen (positiv/negativ bzw.
Grundlagen 3.12 Koordinatentransformationen (Frames) MD10612 $MN_MIRROR_TOGGLE = <Wert> Wert Bedeutung Programmierte Achswerte werden nicht ausgewertet. Programmierte Achswerte werden ausgewertet: • Bei programmierten Achswerten ≠ 0 wird die Achse gespiegelt, wenn sie noch nicht gespiegelt ist. • Bei einem programmierten Achswert = 0 wird eine Spiegelung ausgeschaltet. 3.12.8 Frame-Erzeugung nach Werkzeugausrichtung (TOFRAME, TOROT, PAROT) TOFRAME erzeugt ein rechtwinkliges Koordinatensystem, dessen Z-Achse mit der aktuellen...
Seite 331
Grundlagen 3.12 Koordinatentransformationen (Frames) Syntax TOFRAME/TOFRAMEZ/TOFRAMEY/TOFRAMEX TOROTOF TOROT/TOROTZ/TOROTY/TOROTX TOROTOF PAROT PAROTOF Bedeutung Z-Achse des WKS durch Frame-Drehung parallel zur Werkzeugorientierung ausrichten TOFRAME: wie TOFRAME TOFRAMEZ: Y-Achse des WKS durch Frame-Drehung parallel zur Werkzeugorientierung ausrichten TOFRAMEY: X-Achse des WKS durch Frame-Drehung parallel zur Werkzeugorientierung ausrichten TOFRAMEX: Z-Achse des WKS durch Frame-Drehung parallel zur Werkzeugorientierung ausrichten TOROT:...
Seite 332
Grundlagen 3.12 Koordinatentransformationen (Frames) WKS durch Frame-Drehung am Werkstück ausrichten PAROT: Translationen, Skalierungen und Spiegelungen im aktiven Frame bleiben erhalten. Die mit PAROT aktivierte werkstückbezogene Frame-Drehung wird mit PAROTOF aus‐ PAROTOF: geschaltet. Hinweis Mit dem Befehl TOROT wird eine konsistente Programmierung bei aktiven orientierbaren Werkzeugträgern für jeden Kinematiktyp erreicht.
Grundlagen 3.12 Koordinatentransformationen (Frames) 3.12.9 Frame abwählen (G53, G153, SUPA, G500) Beim Abarbeiten bestimmter Vorgänge, wie z. B. dem Anfahren des Werkzeugwechselpunkts, müssen verschiedene Frame-Komponenten definiert und zeitlich bestimmt unterdrückt werden. Einstellbare Frames können entweder modal ausgeschaltet oder satzweise unterdrückt werden. Programmierbare Frames können satzweise unterdrückt oder gelöscht werden. Syntax G153 SUPA...
Seite 334
Grundlagen 3.12 Koordinatentransformationen (Frames) Der über die Systemvariable $AA_IM (Aktueller MKS-Sollwert der Achse) lesbare Positionswert im Maschinenkoordinatensysstem ändert sich nicht. Der über die Systemvariable $AA_IW (Aktueller WKS-Sollwert der Achse) lesbare Positionswert im Werkstückkoordinatensysstem ändert sich, da er nun den abgewählten Anteil der überlagerten Bewegung enthält. Hinweis In einem NC-Programm darf CORROF programmiert werden.
Seite 335
Grundlagen 3.12 Koordinatentransformationen (Frames) Beispiel 2: Achsspezifische Abwahl einer DRF-Verschiebung (2) Über DRF-Handradverfahren wird eine DRF-Verschiebung in der X-und in der Y-Achse erzeugt. Für alle anderen Achsen des Kanals sind keine DRF-Verschiebungen wirksam. Programmcode Kommentar ; Nur die DRF-Verschiebung der X-Achse wird abgewählt, die DRF-Verschiebung der Y- Achse bleibt erhalten.
Grundlagen 3.12 Koordinatentransformationen (Frames) Programmcode Kommentar ; Die DRF-Verschiebung der Y–Achse und der Positionsoffset der X–Achse werden abge- wählt. ; Die DRF-Verschiebung der X-Achse bleibt erhalten. N70 CORROF(Y,"DRF",X,"AA_OFF") Weitere Informationen $AA_OFF_VAL Nach der Abwahl des Positionsoffsets aufgrund von $AA_OFF ist die Systemvariable $AA_OFF_VAL (Integrierter Weg der Achsüberlagerung) der entsprechenden Achse gleich Null.
Seite 337
Grundlagen 3.12 Koordinatentransformationen (Frames) Bedeutung Prozedur zur Abwahl der DRF-Verschiebungen für alle aktiven Achsen des Kanals DRFOF: Wirksamkeit: modal Beispiele Beispiel 1: Achsspezifische Abwahl einer DRF-Verschiebung (1) Über DRF-Handradverfahren wird eine DRF-Verschiebung in der X-Achse erzeugt. Für alle anderen Achsen des Kanals sind keine DRF-Verschiebungen wirksam. Programmcode Kommentar N10 CORROF(X,"DRF")
Grundlagen 3.13 Hilfsfunktionsausgaben Programmcode Kommentar N70 CORROF(Y,"DRF",X,"AA_OFF") ; Die DRF-Verschiebung der Y–Achse und der Positionsoffset der X–Achse werden abgewählt, die DRF-Verschie- bung der X-Achse bleibt erhalten. 3.13 Hilfsfunktionsausgaben Funktion Mit der Hilfsfunktionsausgabe wird der PLC zeitgerecht mitgeteilt, wann das Teileprogramm bestimmte Schalthandlungen der Werkzeugmaschine durch die PLC vornehmen lassen will. Dies geschieht durch Übergabe der entsprechenden Hilfsfunktionen mit ihren Parametern an die PLC- Schnittstelle.
Grundlagen 3.13 Hilfsfunktionsausgaben Eigenschaften Wichtige Eigenschaften der Hilfsfunktionen sind in folgender Übersichtstabelle zusammengefasst: Funktion Adresserweiterung Wert Erläuterungen Maximale Anzahl pro Bedeutung Bereich Bereich Bedeutung Satz 0 ... 99 Funktion Für den Wertebereich zwi‐ schen 0 und 99 ist die Ad‐ (implizit) resserweiterung 0.
Grundlagen 3.13 Hilfsfunktionsausgaben Weitere Informationen Anzahl an Funktionsausgaben pro NC-Satz In einem NC-Satz können maximal 10 Funktionsausgaben programmiert werden. Hilfsfunktionen können auch aus dem Aktionsteil von Synchronaktionen ausgegeben werden. Gruppierung Die genannten Funktionen können zu Gruppen zusammengefasst werden. Für einige M-Befehle ist die Gruppeneinteilung bereits vorgegeben. Mit der Gruppierung kann das Quittungsverhalten festgelegt werden.
Grundlagen 3.13 Hilfsfunktionsausgaben VORSICHT Funktionsausgaben im Bahnsteuerbetrieb Funktionsausgaben vor den Verfahrbewegungen unterbrechen den Bahnsteuerbetrieb (G64 / G641) und erzeugen für den vorherigen Satz einen Genauhalt. Funktionsausgaben nach den Verfahrbewegungen unterbrechen den Bahnsteuerbetrieb (G64 / G641) und erzeugen für den aktuellen Satz einen Genauhalt. Wichtig: Das Warten auf ein ausstehendes Quittungssignal von der PLC kann ebenfalls zur Unterbrechung des Bahnsteuerbetriebs führen, z.
Grundlagen 3.13 Hilfsfunktionsausgaben M-Funktion Bedeutung Werkzeugwechsel (Standardeinstellung) M17* Programmende Unterprogramm Spindel positionieren M30* Programmende Hauptprogramm (wie M2) Automatische Getriebeschaltung Getriebestufe 1 Getriebestufe 2 Getriebestufe 3 Getriebestufe 4 Getriebestufe 5 Spindel wird in den Achsbetrieb geschaltet Hinweis Für die mit * gekennzeichneten Funktionen ist die erweiterte Adressschreibweise nicht zulässig. Die Funktionen M0, M1, M2, M17 und M30 werden immer nach der Verfahrbewegung ausgelöst.
Grundlagen 3.13 Hilfsfunktionsausgaben Beispiel 2: M-Funktion als schnelle Ausgabe Programmcode Kommentar N10 H=QU(735) ; Schnelle Ausgabe für H735. N10 G1 F300 X10 Y20 G64 N20 X8 Y90 M=QU(7) ; Schnelle Ausgabe für M7. M7 wurde als schnelle Ausgabe programmiert, so dass der Bahnsteuerbetrieb (G64) nicht unterbrochen wird.
Grundlagen 3.14 Ergänzende Befehle Beispiel: Programmcode Kommentar M2=3 ; Spindeldrehung rechts für die zweite Spindel Ist keine Adresserweiterung programmiert, gilt die Funktion für die Masterspindel. 3.14 Ergänzende Befehle 3.14.1 Meldung ausgeben (MSG) Mit der Anweisung MSG() kann eine beliebige Zeichenkette vom Teileprogramm aus als Meldung an den Bediener ausgegeben werden.
Grundlagen 3.14 Ergänzende Befehle Hinweis Soll eine Meldung in der auf der Bedienoberfläche aktiven Sprache erfolgen, benötigt der Anwender Informationen über die aktuell auf dem HMI eingestellten Sprache. Diese Information kann im Teileprogramm und in Synchronaktionen über die Systemvariable $AN_LANGUAGE_ON_HMI (Seite 1248)abgefragt werden. Beispiele Beispiel 1: Meldung ausgeben / löschen Programmcode...
Seite 346
Grundlagen 3.14 Ergänzende Befehle Syntax WRTPR(<String>[,<ExecTime>]) Bedeutung Funktionsaufruf zur Ausgabe einer Zeichenkette. WRTPR: Beliebige Zeichenkette, die in die BTSS-Variable progProtText geschrieben wird. <String>: Typ: STRING Maximale Länge: 128 Zeichen Optionaler Parameter zum Festlegen des Zeitpunkts, zu dem das Schreiben der <ExecTime>: Zeichenkette ausgeführt wird.
Grundlagen 3.14 Ergänzende Befehle 3.14.3 Arbeitsfeldbegrenzung 3.14.3.1 Arbeitsfeldbegrenzung im BKS (G25/G26, WALIMON, WALIMOF) Mit G25/G26 lässt sich der Arbeitsbereich (Arbeitsfeld, Arbeitsraum), in dem das Werkzeug verfahren soll, in allen Kanalachsen begrenzen. Die Bereiche außerhalb der mit G25/G26 definierten Arbeitsfeldgrenzen sind für Werkzeugbewegungen gesperrt. Die Koordinatenangaben für die einzelnen Achsen gelten im Basiskoordinatensystem: Die Arbeitsfeldbegrenzung für alle gültig gesetzten Achsen muss mit dem Befehl WALIMON programmiert sein.
Seite 348
Grundlagen 3.14 Ergänzende Befehle Syntax G25 X…Y…Z… G26 X…Y…Z… WALIMON WALIMOF Bedeutung Untere Arbeitsfeldbegrenzung G25: Wertzuweisung in Kanalachsen im Basiskoordinatensystem Obere Arbeitsfeldbegrenzung G26: Wertzuweisung in Kanalachsen im Basiskoordinatensystem X…Y…Z… : Untere bzw. obere Arbeitsfeldgrenzen für die einzelnen Kanalachsen Die Angaben beziehen sich auf das Basiskoordinatensystem. Arbeitsfeldbegrenzung für alle Achsen einschalten WALIMON: Arbeitsfeldbegrenzung für alle Achsen ausschalten...
Seite 349
Grundlagen 3.14 Ergänzende Befehle Beispiel Durch die Arbeitsfeldbegrenzung mit G25/26 wird der Arbeitsraum einer Drehmaschine so begrenzt, dass die um‐ liegenden Einrichtungen wie Revolver, Messstation usw. vor Beschädigung ge‐ schützt sind. Grundeinstellung: WALIMON Programmcode Kommentar N10 G0 G90 F0.5 T1 N20 G25 X-80 Z30 ;...
Grundlagen 3.14 Ergänzende Befehle Falls der Werkzeug-Bezugspunkt außerhalb des durch die Arbeitsfeldbegrenzung definierten Arbeitsraums steht oder diesen Bereich verlässt, wird der Programmablauf gestoppt. Hinweis Wenn Transformationen aktiv sind, kann die Berücksichtigung der Werkzeugdaten (Werkzeuglänge und Werkzeugradius) vom beschriebenen Verhalten abweichen. Programmierbare Arbeitsfeldbegrenzung, G25/G26 Für jede Achse lassen sich eine obere (G26) und eine untere (G25) Arbeitsfeldbegrenzung festlegen.
Seite 351
Grundlagen 3.14 Ergänzende Befehle $P_WORKAREA_CS_MINUS_ENABLE[<WALimNo>,<Ax>]=<Value> $P_WORKAREA_CS_LIMIT_MINUS[<WALimNo>,<Ax>]=<Value> WALCS<n> WALCS0 Bedeutung $P_WORKAREA_CS_COORD_SYSTEM[<WALimNo>]=<Value> Koordinatensystem, auf das sich die Arbeitsfeldbegrenzung einer Gruppe bezieht Arbeitsfeldbegrenzungsgruppe <WALimNo>: Typ: Wertebereich: 0 (Gruppe 1) ... 9 (Gruppe 10) Wert vom Typ INT <Value>: Werkstück-Koordinatensystem (WKS) Einstellbares Nullpunktsystem (ENS) $$P_WORKAREA_CS_PLUS_ENABLE[<WALimNo>,<Ax>]=<Value> Arbeitsfeldbegrenzung in positiver Achsrichtung für die angegebene Kanalachse freigeben Arbeitsfeldbegrenzungsgruppe <WALimNo>:...
Seite 352
Grundlagen 3.14 Ergänzende Befehle Arbeitsfeldbegrenzungsgruppe <WALimNo>: Typ: Wertebereich: 0 (Gruppe 1) ... 9 (Gruppe 10) Kanalachsname <Ax>: Wert vom Typ REAL <Value>: $P_WORKAREA_CS_LIMIT_MINUS[<WALimNo>,<Ax>]=<Value> Arbeitsfeldbegrenzung in negativer Richtung der angegebenen Kanalachse Arbeitsfeldbegrenzungsgruppe <WALimNo>: Typ: Wertebereich: 0 (Gruppe 1) ... 9 (Gruppe 10) Kanalachsname <Ax>: Wert vom Typ REAL...
Grundlagen 3.14 Ergänzende Befehle Bedeutung G-Befehlsaufruf Referenzpunktfahren G74: X1=0 Y1=0 Z1=0 … : Die angegebene Maschinenachsadresse X1, Y1, Z1 … für Linearachsen wird in den Referenzpunkt gefahren A1=0 B1=0 C1=0 … : Die angegebene Maschinenachsadresse A1, B1, C1 … für Rundachsen wird in den Referenzpunkt gefahren Hinweis Vor der Referenzpunktfahrt darf keine Transformation für eine Achse programmiert sein, die...
Grundlagen 3.14 Ergänzende Befehle Voraussetzungen Für das Anfahren von Festpunkten mit G75 müssen folgende Voraussetzungen erfüllt sein: • Die Festpunktkoordinaten müssen exakt ermittelt und in Maschinendaten hinterlegt sein. • Die Festpunkte müssen innerhalb des gültigen Verfahrbereichs liegen (→ Software- Endschalter-Grenzen beachten!) •...
Seite 356
Grundlagen 3.14 Ergänzende Befehle Festpunkt, der angefahren werden soll FP=: Festpunktnummer <n>: Wertebereich: 1, 2, 3, 4 Hinweis: Wenn kein FP=<n> oder keine Festpunktnummer oder wenn FP=0 pro‐ grammiert ist, wird dies wie FP=1 interpretiert und es wird Festpunkt 1 angefahren. Hinweis In einem G75-Satz können auch mehrere Achsen programmiert werden.
Grundlagen 3.14 Ergänzende Befehle Hinweis Ist die Funktion "Werkzeugverwaltung mit Magazinen" aktiv, reicht die Hilfsfunktion T… bzw. M... (typischerweise M6) zum Auslösen der Satzwechselsperre am Ende der G75– Bewegung nicht aus. Grund: Bei der Einstellung "Werkzeugverwaltung mit Magazinen ist aktiv" werden die Hilfsfunktionen für den Werkzeugwechsel nicht an die PLC ausgegeben.
Grundlagen 3.14 Ergänzende Befehle Arbeitsfeldbegrenzung im WKS/ENS Die Koordinatensystem-spezifische Arbeitsfeldbegrenzung (WALCS0 ... WALCS10) wirkt in dem Satz mit G75 nicht. Der Zielpunkt wird als Startpunkt des nachfolgenden Satzes überwacht. Achs-/Spindelbewegungen mit POSA/SPOSA Wenn programmierte Achsen/Spindeln vorher mit POSA bzw. SPOSA verfahren wurden, werden diese Bewegungen vor dem Anfahren des Festpunkts erst zu Ende gefahren.
Seite 359
Grundlagen 3.14 Ergänzende Befehle Syntax FXS[<Achse>]=… FXST[<Achse>]=… FXSW[<Achse>]=… FXS[<Achse>]=… FXST[<Achse>]=… FXS[<Achse>]=… FXST[<Achse>]=… FXSW[<Achse>]=… Bedeutung Befehl zum Ein- und Ausschalten der Funktion "Fahren auf Festanschlag" FXS: Funktion einschalten FXS[<Achse>]=1: Funktion ausschalten FXS=[<Achse>]=0: Optionaler Befehl zum Einstellen des Klemmmoments FXST: Angabe in % vom maximalen Moment des Antriebs. Optionaler Befehl zum Einstellen der Fensterbreite für die Festanschlag-Über‐...
Grundlagen 3.14 Ergänzende Befehle Beispiel: Programmcode Kommentar X250 Y100 F100 FXS[X1]=1 FXST[X1]=12.3 FXSW[X1]=2 ; Achse X1 wird mit Vorschub F100 (Angabe optional) auf Ziel- position X=250 mm gefahren. Das Klemmmoment beträgt 12.3% vom maximalen Antriebsmoment, die Überwachung erfolgt in ei- nem Fenster der Breite 2 mm. Fahren auf Festanschlag deaktivieren: FXS[<Achse>] = 0 Die Abwahl der Funktion löst einen Vorlaufstopp aus.
Grundlagen 3.14 Ergänzende Befehle Klemmmoment (FXST) und Überwachungsfenster (FXSW) Eine programmierte Momentenbegrenzung FXST wirkt ab Satzbeginn, d. h. auch das Anfahren des Anschlags erfolgt mit reduziertem Moment. FXST und FXSW können zu einem beliebigen Zeitpunkt im Teileprogramm programmiert bzw. geändert werden. Die Änderungen werden vor Verfahrbewegungen, die im gleichen Satz stehen, wirksam.
Seite 362
Grundlagen 3.14 Ergänzende Befehle Deaktivieren aus Synchronaktionen Beispiel: Wenn ein erwartetes Ereignis vorliegt ($R3) und der Zustand "Anschlag angefahren" (Systemvariable $AA_FXS) besteht, soll FXS abgewählt werden. Programmcode IDS=4 WHENEVER (($R3==1) AND ($AA_FXS[Y]==1)) DO FXS[Y]=0 FA[Y]=1000 POS[Y]=0 Festanschlag wurde erreicht Nachdem der Festanschlag erreicht ist: •...
Grundlagen 3.14 Ergänzende Befehle 3.14.7 Verweilzeit (G4) Mit dem Befehl G4 wird in einem Satz eine Zeit (Verweilzeit) programmiert, die abläuft, sobald der Satz im Hauptlauf in Bearbeitung ist. Der Satzwechsel in den nachfolgenden Satz erfolgt, sobald die Zeit vollständig abgelaufen ist. Hinweis G4 unterbricht den Bahnsteuerbetrieb.
Seite 364
Grundlagen 3.14 Ergänzende Befehle Die wirksame Verweilzeit ist abhängig von der Einstellung im Maschinendatum MD10280 $MN_PROG_FUNCTION_MASK, Bit 4 = <Wert> Wert Bedeutung Die wirksame Verweilzeit ist gleich der programmierten Verweilzeit Die wirksame Verweilzeit ist gleich der programmierten Verweilzeit gerundet auf das nächst‐ größere Vielfache des Interpolatortaktes (MD10071 $MN_IPO_CYCLE_TIME) Programmbeispiel: •...
Grundlagen 3.15 Sonstige Informationen Programmcode Kommentar N40 G4 S30 ; 30 Umdrehungen der Spindel verweilen (entspricht bei S = 300 U/min und 100% Drehzahloverride: t = 0,1 min). N50 X... ; In N10 programmierter Vorschub und Spindeldrehzahl wirken weiterhin. 3.14.8 Interner Vorlaufstopp Funktion Beim Zugriff auf Zustandsdaten der Maschine ($A…) erzeugt die Steuerung internen Vorlaufstopp.
Grundlagen 3.15 Sonstige Informationen • Hauptspindel, Masterspindel • Maschinenachsen • Kanalachsen • Bahnachsen • Positionierachsen • Synchronachsen • Kommandoachsen • PLC-Achsen / Konkurrierende Positionierachsen 3.15.1.2 Hauptachsen/Geometrieachsen Die Hauptachsen bestimmen ein rechtwinkliges, rechtsdrehendes Koordinatensystem. In diesem Koordinatensystem werden Werkzeugbewegungen programmiert. In der NC-Technik werden die Hauptachsen als Geometrieachsen bezeichnet. Dieser Begriff wird in dieser Programmieranleitung ebenfalls verwendet.
Grundlagen 3.15 Sonstige Informationen Standardbezeichnung bei Fräsmaschinen: 1. Geometrieachse: X 2. Geometrieachse: Y 3. Geometrieachse: Z Weitere Informationen Maximal drei Geometrieachsen werden zur Programmierung der Frames und der Werkstückgeometrie (Kontur) verwendet. Die Bezeichner für Geometrie- und Kanalachsen dürfen gleich sein, sofern eine Abbildung möglich ist.
Grundlagen 3.15 Sonstige Informationen MD20080 $MC_AXCONF_CHANAX_NAME_TAB (Kanalachsname) Standardeinstellung: X, Y, Z, A, B, C, U, V Die Zuordnung, auf welche Maschinenachse eine Geometrie- oder Zusatzachsen im Kanal abgebildet wird, wird in folgendem Maschinendatum festgelegt: MD20070 $MC_AXCONF_MACHAX_USED (verwendete Maschinenachsen) 3.15.1.7 Bahnachsen Bahnachsen beschreiben den Bahnweg und somit die Werkzeugbewegung im Raum. Der programmierte Vorschub wirkt entlang dieser Bahn.
Grundlagen 3.15 Sonstige Informationen POSP-Achsen Die Bewegung dieser Positionierachsen zum Anfahren der Endposition erfolgt in Teilstücken. Hinweis Positionierachsen werden zu Synchronachsen, wenn sie ohne die besondere Kennung POS/ POSA verfahren werden. Ein Bahnsteuerbetrieb (G64) für Bahnachsen ist nur dann möglich, wenn die Positionierachsen (POS) vor den Bahnachsen ihre Endposition erreicht haben.
Grundlagen 3.15 Sonstige Informationen 3.15.2 Vom Fahrbefehl zur Maschinenbewegung Den Zusammenhang zwischen den programmierten Achsbewegungen (Fahrbefehlen) und den daraus resultierenden Maschinenbewegungen soll das folgende Bild veranschaulichen: 3.15.3 Wegberechnung Die Wegberechnung ermittelt die in einem Satz zu verfahrende Wegstrecke unter Berücksichtigung aller Verschiebungen und Korrekturen. Allgemein gilt: Weg = Sollwert - Istwert + Nullpunktverschiebung (NV) + Werkzeugkorrektur (WK) NC-Programmierung...
Grundlagen 3.15 Sonstige Informationen Wird in einem neuen Programmsatz eine neue Nullpunktverschiebung und eine neue Werkzeugkorrektur programmiert, so gilt: • bei Bezugsmaßeingabe: Weg = (Bezugsmaß P2 - Bezugsmaß P1) + (NV P2 - NV P1) + (WK P2 - WK P1). •...
Grundlagen 3.15 Sonstige Informationen Modal / satzweise wirksame Adressen Modal wirksame Adressen behalten mit dem programmierten Wert so lange ihre Gültigkeit (in allen Folgesätzen), bis unter der gleichen Adresse ein neuer Wert programmiert wird. Satzweise wirksame Adressen gelten nur in dem Satz, in dem sie programmiert wurden. Beispiel: Programmcode Kommentar...
Grundlagen 3.15 Sonstige Informationen Beispiele: Programmcode Kommentar ; kein "=" erforderlich; 7 ist Wert; das Zeichen "=" ist aber auch hier möglich X4=20 ; Achse X4; "=" ist erforderlich CR=7.3 ; 2 Buchstaben ; "=" ist erforderlich S1=470 ; Drehzahl für 1. Spindel: 470 U/min M3=5 ;...
Reservierte Schlüsselwörter dürfen nicht als Bezeichner verwendet werden. Zyklen Zur Vermeidung von Namenskonflikten wird empfohlen folgende Festlegung bei der Vergabe von Namen für Anwender-Zyklen zu beachten: Zeichenfolge reserviert für Namen von • CYCLE SIEMENS-Zyklen • CUST_ • GROUP_ • • •...
Grundlagen 3.15 Sonstige Informationen 3.15.6 Konstanten Konstante (allg.) Eine Konstante ist ein Datenelement, dessen Wert sich bei der Ausführung eines Programms nicht ändert, z. B. eine Wertzuweisung an eine Adresse. Dezimal-Konstante Der Zahlenwert einer Dezimal-Konstanten wird im Dezimalsystem dargestellt. INTEGER-Konstante Eine INTEGER-Konstante ist ein ganzzahliger Wert, d. h. eine Ziffernfolge ohne Dezimalpunkt mit oder ohne Vorzeichen.
Grundlagen 3.15 Sonstige Informationen Hexadezimale Konstanten werden zwischen Hochkommata gesetzt und beginnen mit dem Buchstaben "H", gefolgt von dem hexadezimal geschriebenen Wert. Trennzeichen zwischen den Buchstaben und Ziffern sind erlaubt. Beispiel: Programmcode Kommentar $MC_TOOL_MANAGEMENT_MASK='H7F' ; Durch Zuweisung der Hexadezimal-Konstan- te werden in dem Maschinendatum Bit 0-7 ge- setzt.
Seite 378
Grundlagen 3.15 Sonstige Informationen Operator Bedeutung • Division in Synchronaktionen: INT / INT ⇒ INT • Division in Synchronaktionen mit REAL-Ergebnis durch Verwendung der Funktion ITOR(): ITOR( INT ) / ITOR( INT ) ⇒ REAL • Division in NC-Programmen: INT / INT ⇒ REAL Integer-Division: INT / INT ⇒...
Grundlagen 3.15 Sonstige Informationen Priorität der Operatoren Die Operatoren haben bei der Abarbeitung in der Synchronaktion folgende Prioritäten (höchste Priorität: 1): Prio. Operatoren Bedeutung NOT, B_NOT Verneinung, bitweise Verneinung *, /, DIV, MOD Multiplikation, Division +, - Addition, Subtraktion B_AND bitweise UND B_XOR bitweise exklusives ODER B_OR...
Grundlagen 3.15 Sonstige Informationen Indizierung Der Index einer Systemvariablen vom Typ "Feld von …" kann wiederum eine Systemvariable sein. Der Index wird dabei ebenfalls im Hauptlauf im Interpolatortakt ausgewertet. Beispiel Programmcode ... WHEN ... DO $AC_PARAM[ $AC_MARKER[1] ] = 3 Einschränkungen •...
Arbeitsvorbereitung Flexible NC-Programmierung 4.1.1 Variablen Durch die Verwendung von Variablen aus den Bereichen Systemdaten und Anwenderdaten, insbesondere in Verbindung mit Rechenfunktionen und Kontrollstrukturen, können NC- Programme und Zyklen flexibel gestaltet werden. WARNUNG Sach- und Personenschäden durch veränderte Variablen Bei der Verwendung von Variablen im NC-Programm ist zu berücksichtigen, dass Maschinenbediener oder Unbefugte bei entsprechendem Zugriffsrecht die Variablen verändern und dadurch den Programmablauf beeinflussen können.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung • Systemdaten In den Systemdaten liegen die im System vordefinierten Variablen. Diese Variablen haben eine definierte Bedeutung. Sie werden in erster Linie von der Systemsoftware verwendet. Vom Anwender können diese Variablen in NC-Programmen und Zyklen gelesen und geschrieben werden.
Seite 383
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Präfix-Systematik Zur besonderen Kennzeichnung von Systemdaten ist dem Namen im Normalfall ein Präfix vorangestellt, der sich aus dem $-Zeichen, gefolgt von einem oder zwei Buchstaben und einem Unterstrich, zusammensetzt: $ + 1. Buchstabe Bedeutung: Datenart Vorlaufdaten (Systemdaten, die im Vorlauf gelesen / geschrieben werden) Maschinendaten Settingdaten, Schutzbereiche Werkzeugverwaltungsdaten...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bleibt das Datum während der Bearbeitung unverändert, kann vorlaufsynchron gelesen werden. Der Präfix des Maschinen- oder Settingdatums wird dazu mit einem $-Zeichen geschrieben: ID=1 WHENEVER $AA_IM[z] < $SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0 Wird das Datum während der Bearbeitung verändert, muss hauptlaufsynchron gelesen / geschrieben werden.
Seite 385
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Typ: REAL Wertebereich: Bei nicht-exponentieller Schreibweise: ± (0.000 0001 ... 9999 9999) Hinweis: Es sind maximal 8 Dezimalstellen erlaubt Bei exponentieller Schreibweise: ± (1*10 ... 1*10 -300 +300 Hinweis: • Schreibweise: <Mantisse>EX<Exponent> z. B. 8.2EX-3 • Es sind maximal 10 Zeichen einschließlich Vorzeichen und Dezimalpunkt erlaubt.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.1.3 Vordefinierte Anwendervariablen: Globale Rechenparameter (RG) Funktion Neben den kanalspezifischen R-Parametern stehen dem Anwender auch globale R-Parameter zur Verfügung. Sie existieren innerhalb der Steuerung einmal und können von allen Kanälen aus gelesen/geschrieben werden. Globale R-Parameter werden z. B. verwendet, um Informationen von einem Kanal in den nächsten zu bekommen.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bedeutung Default-Name der NC-Adresse für globale R-Parameter Hinweis: Der Name der NC-Adresse ist einstellbar über MD15800 $MN_R_PA‐ RAM_NCK_NAME Nummer des globalen R-Parameters <n>: Typ: Wertebereich: 0 ... MAX_INDEX Hinweis MAX_INDEX ergibt sich aus der parametrierten Anzahl an globalen R-Parametern: MAX_INDEX = (MD18156 $MN_MM_NUM_R_PARAM_NCK) - Als Feldindex kann ein beliebiger Ausdruck angegeben werden, solange das Er‐...
Seite 388
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Entsprechend dem Gültigkeitsbereich, d. h. dem Bereich in dem die Variable sichtbar ist, gibt es folgende Kategorien von Anwendervariablen: • Lokale Anwendervariablen (LUD) Lokale Anwendervariablen (LUD) sind Variablen, die in einem NC-Programm definiert sind, das zum Zeitpunkt der Abarbeitung nicht das Hauptprogramm ist. Sie werden beim Aufruf des NC-Programms angelegt und mit Programmende-Reset bzw.
Seite 389
APWB <Schutzstufe>: Schreiben: BTSS <Schutzstufe>: Wertebereich: 0 ... 7 Siehe "Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB) (Sei‐ te 404)" Datenklassenzuordnung (nur SINUMERIK 828D!) (Seite 409) <Datenklasse>: Datenklasse M (= Manufacturer) DCM: Datenklasse I (= Individual) DCI: Datenklasse U (= User)
Seite 391
; Grenzwerte: nicht programmiert => Definitionsbereichsgrenzen: Low = 0, High = 255 ; Zugriffsrechte: ; NC-Programm: Schreiben/Lesen = 3 = Anwender ; BTSS: Schreiben = 0 = Siemens, Lesen = 3 = Anwender ; Initialisierungswert: "COUNTER" Beispiel 2: Programm-globale und -lokale Anwendervariablen (PUD / LUD)
Seite 392
Anzahl projektierbare GUD Datentyp CHAR 18665 MM_NUM_SYNACT_GUD_STRING Anzahl projektierbare GUD Datentyp STRING MD bei SINUMERIK 828D nur lesbar! Kanalübergreifende Verwendung einer NC-globalen Anwendervariablen vom Datentyp AXIS Eine NC-globale Anwendervariable vom Datentyp AXIS, die bei der Definition im Datenbaustein mit einem Achsbezeichner initialisiert wurde, kann nur dann in unterschiedlichen Kanälen der NC verwendet werden, wenn die Achse in diesen Kanälen...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Ist dies nicht der Fall, muss die Variable am NC-Programmanfang geladen oder, wie im folgenden Beispiel, die Funktion AXNAME(...) (siehe "Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) (Seite 808)") verwendet werden. Programmcode Kommentar DEF NCK STRING[5] ACHSE="X" ;...
Seite 394
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bedeutung Befehl zur Redefinition eines bestimmten Attributs bzw. zum REDEF: Zurücksetzen der Attribute "Zugriffsrechte" und/oder "Initialisie‐ rungszeitpunkt" von Systemvariablen, Anwendervariablen und NC-Sprachbefehlen Name einer bereits definierten Variablen oder eines NC-Sprach‐ <Name>: befehls Vorlaufstop <VL-Stop>: Vorlaufstop beim Lesen SYNR: Vorlaufstop beim Schreiben SYNW:...
Seite 395
Siehe "Attribut: Initialisierungswert (Seite 396)". Zur Initialisierung von Feldvariablen siehe "Definition und Initi‐ alisierung von Feldvariablen (DEF, SET, REP) (Seite 411)". Hinweis Nicht redefinierbar für Systemvariablen, außer Settingdaten. Datenklassenzuordnung (nur SINUMERIK 828D!) (Seite 409) <Datenklasse>: Datenklasse M (= Manufacturer) DCM: Datenklasse I (= Individual)
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Die Feldvariable wird bei PowerOn mit den vier Werten initialisiert. N400: Zurücksetzen der Attributwerte "Zugriffsrechte" und/oder "Initialisierungszeitpunkt" N800 / N900 Hinweis Verwendung von ACCESS-Dateien Bei Verwendung von ACCESS-Dateien muss die Redefinition der Zugriffsrechte von _N_MGUD_DEF nach _N_MACCESS_DEF verlagert werden. Randbedingungen Granularität Eine Redefinition bezieht sich immer auf die gesamte, durch ihren Namen eindeutig...
Seite 397
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Redefinition von System- und Anwendervariablen (REDEF) Bei der Redefinition kann für folgende Variablen ein Initialisierungswert vorgegeben werden: • Systemdaten – Settingdaten • Anwenderdaten – R-Parameter – Synchronaktionsvariable ($AC_MARKER, $AC_PARAM, $AC_TIMER) – Synchronaktions-GUD (SYG_xy[ ], mit x=R, I, B, A, C, S und y=S, M, U, 4, ..., 9) –...
Seite 398
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung • INICF (NEWCONF) Die Variable wird bei der Funktion "Maschinendaten wirksam setzen" über HMI, Teileprogramm-Befehl NEWCONF oder NC-Reset, BAG-Reset, Teileprogrammende (M02 / M30) oder Power On reinitialisiert. • PRLOC (programmlokale Änderung) Das Attribut PRLOC darf nur in Zusammenhang mit programmierbaren Settingdaten (siehe folgende Tabelle) verwendet werden.
Seite 399
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Randbedingungen Initialisierungswert: globale Anwendervariablen (GUD) • Für globale Anwendervariable (GUD) mit dem Gültigkeitsbereich NC kann als Initialisierungszeitpunkt nur INIPO (Power On) vorgegeben werden. • Für globale Anwendervariablen (GUD) mit dem Gültigkeitsbereich CHAN kann als Initialisierungszeitpunkt neben INIPO (Power On) auch INIRE (Reset) oder INICF (NEWCONF) vorgegeben werden.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Impliziter Initialisierungswert: Werkzeug- und Magazindaten Für Werkzeug- und Magazindaten können Initialisierungswerte über folgendes Maschinendatum vorgegeben werden: MD17520 $MN_TOOL_DEFAULT_DATA_MASK Hinweis Synchronisation Die Synchronisation von Ereignissen die eine Reinitialisierung einer globalen Variable auslösen mit dem Lesen dieser Variable an anderer Stelle, liegt ausschließlich in der Verantwortung des Anwenders / Maschinenherstellers.
Seite 402
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Folgende physikalische Einheiten können programmiert werden: <Einheit> Bedeutung Physikalische Einheit keine physikalische Einheit Linear- oder Winkel–Position [ mm ], [ inch ], [ Grad ] 1)2) Linear-Position [ mm ], [ inch ] Winkel-Position [ Grad ] Linear- oder Winkel-Geschwindigkeit [ mm/min ], [ inch/min ], [ U/min ] 1)2)
Seite 403
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung <Einheit> Bedeutung Physikalische Einheit [ Hz/s ] Durchfluss [ l/min ] Druck [ bar ] Volumen [ cm Streckenverstärkung [ mm/(V*min) ] Streckenverstärkung Kraftregler [ N/V ] Gewindesteigung [ mm/U ], [ inch/U] Gewindesteigungsänderung [ mm/U / U ], [ inch/U / U] 1) Die physikalische Einheit ist abhängig vom Achstyp: Linear- oder Rundachse 2) Maßsystem-Umschaltung G70/G71(inch/metrisch)
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.1.9 Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB) Bezeichnung Die Bezeichnung der Zugriffsattribute AP... setzt sich zusammen aus: 1. A: Access 2. P: Protection 3. R / W: Read / Write 4. P / B: Program / BTSS Zugriffsrechte / Schutzstufen Den Zugriffsrechten entsprechen folgende bei der Programmierung anzugebende Schutzstufen:...
Seite 405
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Redefinition (REDEF) von System- und Anwenderdaten Zugriffsrechte (APR... / APW...) können für folgende Daten redefiniert werden: • Systemdaten – Maschinendaten Hinweis Redefinition der Leserechte von Maschinendaten Die Schutzstufe für das Lesen von Maschinendaten kann nur mit dem Schlüsselwort APR gemeinsam für Teileprogramm und BTSS gesetzt werden.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung • Anweisung DO bei Synchronaktionen • Programmbezeichner von Zyklen Der Zyklus muss in einem Zyklenverzeichnis abgelegt sein und eine PROC-Anweisung enthalten. Zugriffsrechte bezüglich NC-Programmen und Zyklen (APRP, APWP) Die unterschiedlichen Zugriffsrechte haben für den Zugriff aus einem NC-Programm bzw. Zyklus folgende Auswirkungen: •...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Zugriffsrechte bezüglich BTSS (APRB, APWB) Die Zugriffsrechte (APRB, APWB) beschränken den Zugriff auf System- und Anwendervariablen über BTSS für alle Systemkomponenten (HMI, PLC, externe Rechner, EPS-Dienste, etc.) gleichermaßen. Hinweis HMI-lokale Zugriffsrechte Bei Änderungen von Zugriffsrechten von Systemdaten muss darauf geachtet werden, dass diese konsistent zu den über HMI-Mechanismen festgelegten Zugriffsrechten erfolgt.
Seite 408
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 3. Für Zugriffe auf geschützte Elemente aus Zyklen heraus müssen die Ausführungs- und Schreibrechte der Zyklenverzeichnisse _N_CST_DIR, _N_CMA_DIR und _N_CST_DIR angepasst werden: Ausführungsrechte – MD11160 $MN_ACCESS_EXEC_CST = <Schutzstufe> – MD11161 $MN_ACCESS_EXEC_CMA = <Schutzstufe> – MD11162 $MN_ACCESS_EXEC_CUS = <Schutzstufe> Schreibrechte –...
Werkzeugdaten, Settingdaten, Teileprogram‐ me, Anwenderzyklen, Definitionen (UGUD) und Makros (UMAC). Literatur: SINUMERIK 828D Inbetriebnahmehandbuch Drehen und Fräsen; Kap.: "Einführung und Anwendung von Datenklassen" Definition (DEF) von Anwenderdaten Durch die Datenklasse der Datei oder des Verzeichnisses, in dem ein Anwenderdatum definiert wird, ist implizit die Datenklasse des Datums festgelegt.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bei Verwendung von ACCESS-Dateien dürfen Redefinitionen nur innerhalb der ACCESS- Dateien erfolgen. Die jeweilige Datenklasse der Maschinen-, Setting- und Optionsdaten sowie Systemvariablen findet sich in: • Listenhandbuch Ausführliche Maschinendatenbeschreibung, Parameter: "Klasse" • Listenhandbuch Systemvariablen 4.1.1.11 Übersicht definierbarer und redefinierbarer Attribute Die folgenden Tabellen zeigen bei welchen Datenarten welche Attribute definiert (DEF) und/ oder redefiniert (REDEF) werden können.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Syntax (DEF...=SET...) Verwendung einer Werteliste: • bei der Definition: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = SET(<Wert1>,<Wert2>,...) gleichbedeutend mit: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = (<Wert1>,<Wert2>,...) Hinweis Bei der Initialisierung über eine Werteliste ist die Angabe von SET optional. • bei einer Wertzuweisung: <Variablenname>[<n>,<m>,<o>] = SET(<WERT1>,<Wert2>,...) Syntax (DEF...=REP...) Verwendung eines Werte mit Wiederholung...
Seite 413
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Feldgröße bzw. Feldindex für 3. Dimension <o>: Typ: INT (bei Systemvariablen auch AXIS) Wertebereich: Max. Feldgröße: 65535 Feldindex: 0 ≤ o ≤ 65534 Wertzuweisung über die angegebenen Werteliste SET: Werteliste (<Wert1>,<Wert2>,...): Wertzuweisung über den angegebenen <Wert> REP: Wert, mit dem die Feldelemente bei der Initialisierung <Wert>: mit REP beschrieben werden sollen.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung ... FELD[1,2,3] = 1 24. Feldelement entsprechend: FOR n=0 TO 1 FOR m=0 TO 2 FOR o=0 TO 3 FELD[n,m,o] = 1 ENDFOR ENDFOR ENDFOR Beispiel: Initialisierung kompletter Variablenfelder Aktuelle Belegung siehe Abbildung.
Seite 415
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Siehe auch Definition und Initialisierung von Feldvariablen (DEF, SET, REP) (Seite 411) Variablen (Seite 381) Weitere Informationen (SET) Initialisierung bei der Definition • Es werden, beginnend beim 1. Feldelement, so viele Feldelemente mit den Werten aus der Werteliste initialisiert, wie Elemente in der Werteliste programmiert sind. •...
Seite 416
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wertzuweisung im Programmablauf Bei der Wertzuweisung im Programmablauf gelten die oben bei der Definition beschriebenen Regeln. Zusätzlich gibt es folgende Möglichkeiten: • Als Elemente in der Werteliste sind auch Ausdrücke erlaubt. • Die Wertzuweisung beginnt bei dem programmierten Feldindex. Hierdurch lassen sich gezielt Teilfelder mit Werten belegen.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar FRM[5]=REP(CTRANS(X,5)) ; Feldelemente [5] bis [9] = CTRANS(X,5) 4.1.1.13 Datentypen Folgende Datentypen stehen in der NC zur Verfügung: Datentyp Bedeutung Wertebereich ganzzahliger Wert mit Vorzeichen -2147483648 ... +2147483647 REAL Real-Zahl (LONG REAL nach IEEE) ±(∼2,2*10 …...
Seite 418
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Syntax <Kleinerer Wert>=MINVAL(<Variable1>,<Variable2>) <Größerer Wert>=MAXVAL(<Variable1>,<Variable2>) <Rückgabewert>=<BOUND>(<Minimum>,<Maximum>,<Prüfvariable>) Bedeutung Ermittelt den kleineren Wert zweier Variablen MINVAL: (<Variable1>, <Variable2>) Ergebnisvariable für den Befehl MINVAL <Kleinerer Wert>: Wird auf den kleineren Variablenwert gesetzt. Ermittelt den größeren Wert zweier Variablen MAXVAL: (<Variable1>, <Variable2>) Ergebnisvariable für den Befehl MAXVAL <Größerer Wert>: Wird auf den größeren Variablenwert gesetzt.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar rVar3=1.8 rRetVar=BOUND(rVar1,rVar2,rVar3) ; rVar3 liegt unterhalb der Minimumgrenze, rRetVar wird auf 10.5 gesetzt. rVar3=45.2 rRetVar=BOUND(rVar1,rVar2,rVar3) ; rVar3 liegt oberhalb der Maximumgrenze, rRetVar wird auf 33.7 gesetzt. 4.1.1.15 Vorhandensein einer Variablen prüfen (ISVAR) Mit der vordefinierten Funktion ISVAR kann geprüft werden, ob eine System-/Anwendervariable (z.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung • Ist es ein ein- oder zweidimensionales Feld • Ist der jeweilige Feldindex im erlaubten Bereich Wenn alle Prüfungen positiv sind, wird TRUE (1) zurückgeliefert. Ist eine Prüfung negativ oder ist ein Syntaxfehler aufgetreten, wird FALSE (0) zurückgeliefert. Beispiele Programmcode Kommentar...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Physikalische Einheit lesen Syntax: <Ergebnis>=GETVARPHU(<Name>) Bedeutung: Zahlenwert der physikalischen Einheit <Ergebnis>: Datentyp: Wertebereich: siehe Tabelle in "Attribut: Physikalische Einheit (PHU) (Sei‐ te 401)" Im Fehlerfall: Der angegebene Variablenname ist keinem Systempara‐ meter und keiner Anwendervariablen zugeordnet. Lesen der physikalischen Einheit einer System- /Anwendervariablen GETVARPHU: Name der System- /Anwendervariablen <Name>:...
Seite 422
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bedeutung: Schutzstufe für den angegebenen <Zugriff> <Ergebnis>: Datentyp: Wertebereich: 0 ... 7 Siehe "Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB) (Seite 404)". Im Fehlerfall: nicht schreibbar (nur bei den Zugriffsarten "WP" und "WB" relevant) Der angegebene Variablenname ist keinem Systempara‐ meter und keiner Anwendervariablen zugeordnet.
Seite 423
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bedeutung: Funktionsstatus <Status>: Datentyp: Wertebereich: o. k. kein Grenzwert definiert (bei Variablen vom Typ AXIS, STRING, FRAME) Der angegebene Variablenname ist keinem Systemparame‐ ter und keiner Anwendervariablen zugeordnet. falscher Wert für den Parameter <Grenzwert> Lesen des unteren/oberen Grenzwerts einer System- /Anwendervariablen GETVARLIM: Name der System- /Anwendervariablen <Name>:...
Seite 424
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Feldindex <Index>: Datentyp: Wertebereich: 1 ... 3 Index für 1. Dimension des Feldes Index für 2. Dimension des Feldes Index für 3. Dimension des Feldes Beispiel: Programmcode Kommentar N5 DEF REAL myReal[5,4] N10 R1=GETVARDIM("myReal",1) ; Ermittle die Größe der 1. Dimension des Feldes. ;...
Seite 425
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Index für 1. Dimension des Feldes (optional) <Index_1>: Datentyp: Nicht programmiert bedeutet = 0 Index für 2. Dimension des Feldes (optional) <Index_2>: Datentyp: Nicht programmiert bedeutet = 0 Index für 3. Dimension des Feldes (optional) <Index_3>: Datentyp: Nicht programmiert bedeutet = 0 Beispiel: Programmcode...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bedeutung: Datentyp der angegebenen System- /Anwendervariablen <Ergebnis>: Datentyp: Wertebereich: = BOOL = CHAR = INT = REAL = STRING = AXIS = FRAME Im Fehlerfall: < 0 Der angegebene Variablenname ist keinem Systemparame‐ ter und keiner Anwendervariablen zugeordnet. Lesen des Datentyps einer System- /Anwendervariablen GETVARTYP: Name der System- /Anwendervariablen...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Erklärungen Bei Typumwandlung von REAL nach INT wird bei gebrochenem Wert >= 0.5 aufgerundet, ansonsten wird abgerundet (vgl. Funktion ROUND) Wert <> 0 entspricht TRUE, Wert == 0 entspricht FALSE Wenn der Wert im zulässigen Zahlenbereich liegt Wenn nur 1 Zeichen Stringlänge 0 = >FALSE, ansonsten TRUE Hinweis...
Seite 428
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Beispiele Beispiel 1: Indirekte Programmierung einer Spindelnummer Direkte Programmierung: Programmcode Kommentar S1=300 ; Drehzahl 300 U/min für die Spindel mit Nummer 1. Indirekte Programmierung: Programmcode Kommentar DEF INT SPINU=1 ; Definition der Variablen vom Typ INT und Wertzuweisung. S[SPINU]=300 ;...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Indirekte Programmierung: Programmcode Kommentar DEF AXIS AXVAR1 AXVAR2 ; Definition zweier Variablen vom Typ AXIS. AXVAR1=(X1) AXVAR2=(X2) ; Zuweisung der Achsnamen. AX[AXVAR1]=100 AX[AXVAR2]=200 ; Verfahren der Achsen, deren Adressnamen in den Variablen mit den Namen AXVAR1 und AXVAR2 abgelegt sind.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Syntax G[<Gruppe>]=<Nummer> Bedeutung G-Befehl mit Erweiterung (Index) G[...]: Index-Parameter: G-Gruppe <Gruppe>: Typ: Variable für die G-Befehl-Nummer <Nummer>: Typ: INT oder REAL Hinweis Es können i. d. R. nur nicht-syntaxbestimmende G-Befehle indirekt programmiert werden. Von den syntaxbestimmenden G-Befehlen sind nur die der G-Gruppe 1 möglich. Die syntaxbestimmenden G-Befehle der G-Gruppen 2, 3 und 4 sind nicht möglich.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Anwendung Die indirekte Programmierung von Positionsattributen findet Verwendung in Ersetzungszyklen, da hier folgender Vorteil gegenüber der Programmierung von Positionsattributen als Schlüsselwort (z. B. IC, AC, ...) besteht: Durch die indirekte Programmierung als Variablen wird keine CASE-Anweisung benötigt, die über alle möglichen Positionsattribute verzweigt.
Seite 432
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wert Bedeutung Zulässig bei: POS, POSA POS, POSA CACP POS, POSA CACN POS, POSA Beispiel Bei einer aktiven Synchronspindelkopplung zwischen der Leitspindel S1 und der Folgespindel S2 wird durch den SPOS-Befehl im Hauptprogramm der folgende Ersetzungszyklus zur Positionierung der Spindeln aufgerufen.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Randbedingungen In Synchronaktionen ist die indirekte Programmierung von Positionsattributen nicht möglich. 4.1.2.4 Indirekte Programmierung von Teileprogrammzeilen (EXECSTRING) Mit dem Teileprogrammbefehl EXECSTRING ist es möglich, eine zuvor erzeugte String-Variable als Teileprogrammzeile auszuführen. Syntax EXECSTRING wird in einer eigenen Teileprogrammzeile programmiert: EXECSTRING(<String-Variable>) Bedeutung Befehl zur Ausführung einer String-Variablen als Teileprogrammzeile...
Seite 435
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Beispiele Division: / (Typ REAL) = Typ INT oder Typ REAL) / (Typ INT oder Typ REAL); Beispiel: 3 / 4 = 0.75 Ganzzahl-Division: DIV (Typ INT) = (Typ INT oder REAL) / (Typ INT oder REAL); Beispiel: 7 DIV 4.1 = 1 Modulo-Division (Liefert den Rest der Ganzzahl-Division): MOD (Typ REAL) = (Typ INT oder REAL) MOD (Typ INT oder REAL);...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar R15=SQRT(POT(R1)+POT(R2)) ; Innere Klammern werden zuerst aufgelöst: R15 = Quadratwurzel( (R1^2 + R2^2) ) RESFRAME=FRAME1:FRAME2 ; FRAME-Verknüpfung mit Kettungsoperator FRAME3=CTRANS(…):CROT(…) Wertzuweisung an eine FRAME-Komponente 4.1.3.2 Vergleichs- und logische Operationen Vergleichsoperationen können z. B. zur Formulierung einer Sprungbedingung benutzt werden.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bitweise logischer Operator Bedeutung bitweises UND B_AND B_OR bitweises ODER bitweise Negation B_NOT B_XOR bitweises Exklusiv-ODER Hinweis In arithmetischen Ausdrücken kann durch runde Klammern die Abarbeitungsreihenfolge aller Operatoren festgelegt und damit von den normalen Prioritätsregeln abgewichen werden. Hinweis Zwischen BOOLSCHEN Operanden und Operatoren müssen Zwischenräume geschrieben werden.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Reihenfolge der Operatoren Von der höchsten zur niedrigsten Priorität NOT, B_NOT Verneinung, bitweise Verneinung *, /, DIV, MOD Multiplikation, Division +, – Addition, Subtraktion B_AND bitweises UND B_XOR bitweises exklusives ODER B_OR bitweises ODER exklusives ODER ODER <<...
Seite 439
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Parameter 2 (optional): Exponent der Potenzfunktion (≙ Grad der Potenzfunktion) <p> Typ: REAL Wert: p ≥ 0 Im einfachsten Fall ist der Exponent eine nichtnegative ganze Zahl. Die Formel zur Potenzberechnung hat dann folgende Form: p ∈ ℕ Einschränkung des Wertebereichs der Basis <x>: Keine p ≤...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Hinweis Bei der Eingabe der Basis <x> und dem optionalen Exponenten <p> müssen geltende Rechengesetze beachtet werden. Nicht möglich sind z. B. Divisionen durch null oder das Ziehen einer Wurzel mit einer negativen Basis. In solchen Fällen führt der Funktionsaufruf zur Ausgabe eines Alarms.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung ROUNDUP(3.0) ROUNDUP(3) Beispiel 2: ROUNDUP im NC-Programm Programmcode N10 X=ROUNDUP(3.5) Y=ROUNDUP(R2+2) N15 R2=ROUNDUP($AA_IM[Y]) N20 WHEN X=100 DO Y=ROUNDUP($AA_IM[X]) 4.1.3.6 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Der TRUNC-Befehl schneidet den mit einem Genauigkeitsfaktor multiplizierten Operanden ab. Einstellbare Genauigkeit bei Vergleichsbefehlen Teileprogrammdaten vom Typ REAL werden intern im IEEE-Format mit 64 Bit dargestellt.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Kompatibilität Aus Kompatibilitätsgründen kann die Prüfung auf relative Gleichheit bei (>) und (<) durch Setzen von Maschinendatum MD10280 $MN_ PROG_FUNCTION_MASK Bit0 = 1 deaktiviert werden. Hinweis Vergleiche mit Daten vom Typ REAL sind aus den genannten Gründen generell mit einer gewissen Ungenauigkeit behaftet.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung <STRING_ERG> = AXSTRING(<Achsbezeichner>) Bedeutung Variable für das Ergebnis der Typkonvertierung <STRING_ERG>: Typ: STRING Variablen-Typen INT, REAL, CHAR, STRING und BOOL <bel._Typ>: Der Befehl AXSTRING liefert den angegebenen Achsbezeichner als AXSTRING: String. Variable für Achsbezeichner <Achsbezeichner>: Typ: AXIS Hinweis FRAME-Variablen können nicht konvertiert werden.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Der Befehl AXNAME wandelt den angegebenen <String> in einen Achsbezeichner. AXNAME: Hinweis: Kann der <String> keinem projektierten Achsbezeichner zugeordnet werden, wird ein Alarm ausgelöst. Variable für das Ergebnis der Typkonvertierung mit AXNAME <AXIS_ERG>: Typ: AXIS Beispiel Programmcode Kommentar DEF BOOL BOOL_ERG DEF REAL REAL_ERG...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Hinweis Die Typen FRAME und AXIS können nicht zusammen mit dem Operator "<<" verwendet werden. Beispiele Beispiel 1: Verkettung von Strings Programmcode Kommentar DEF INT IDX=2 DEF REAL VALUE=9.654 DEF STRING[20] STRG="INDEX:2" IF STRG=="Index:"<<IDX GOTOF NO_MSG MSG("Index:"<<IDX<<"/Wert:"<<VALUE) ;...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Beispiel Da es auch möglich ist, Benutzereingaben an der Bedienoberfläche anzustoßen, kann eine einheitliche Darstellung mit Klein- oder Großbuchstaben erreicht werden: Programmcode DEF STRING [29] STRG IF "LEARN.CNC"==TOUPPER(STRG) GOTOF LOAD_LEARN 4.1.4.5 Länge eines Strings bestimmen (STRLEN) Mit dem Befehl STRLEN ist es möglich, die Länge einer Zeichenkette zu bestimmen. Syntax <INT_ERG>=STRLEN("<STRING>") Bedeutung...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung INT_ERG=MATCH(STRING,STRING) ; Ergebnistyp: INT Semantik Suchfunktionen: Sie liefern die Position im String (erster Parameter) zurück, wo die Suche erfolgreich war. Kann das Zeichen/der String nicht gefunden werden, wird der Wert -1 zurückgegeben. Das erste Zeichen hat dabei die Position 0. Bedeutung sucht das als zweiten Parameter angegebene Zeichen (von vorne) im ersten Parameter.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung <STRING_ERG>=SUBSTR(<String>,<Index>) Bedeutung Die Funktion liefert aus <String> einen Teilstring, ausgehend von <Index> mit der SUBSTR: angegebenen <Länge>. Ist der Parameter <Länge> nicht angegeben, liefert die Funktion einen Teilstring aus‐ gehend von <Index> bis zum Stringende. Anfangsposition des Teilstrings innerhalb des Strings. Liegt die Anfangsposition hinter <Index>: dem Stringende, wird ein Leerstring ( "") zurückgegeben.
Seite 450
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bedeutung Beliebiger String <String>: Variable vom Typ CHAR <Zeichen>: Position des Zeichens innerhalb des Strings. <Index>: Erstes Zeichen des Strings: Index = 0 Wertebereich: 0 ... (Stringlänge - 1) Beispiele Beispiel 1: Variable Meldung Programmcode Kommentar 0123456789 DEF STRING[50] MELDUNG = "Achse n hat Position erreicht"...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.4.9 String formatieren (SPRINT) Mit der vordefinierten Funktion SPRINT können Zeichenketten formatiert und z. B. für die Ausgabe an externe Geräte aufbereitet werden (siehe auch "Process DataShare - Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) (Seite 885)"). Syntax "<Ergebnis_String>"=SPRINT("<Format_String>",<Wert_1>,<Wert_2>,..., <Wert_n>) Bedeutung...
Seite 452
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wandlung in einen String mit einem ganzzahligen Wert (INTEGER). Beispiel: N10 DEF INT INT_VAR=123 N20 DEF STRING[80] RESULT N30 RESULT=SPRINT("CONTENT OF INT_VAR:%D",INT_VAR) Ergebnis: Die String-Variable RESULT wird mit der Zeichenkette "CONTENT OF INT_VAR:123" beschrieben. Wandlung in einen String mit einem ganzzahligen Wert (INTEGER). Der String hat eine %<m>D: Mindestlänge von <m>...
Seite 453
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wandlung in einen String mit einer Dezimalzahl mit <n> Nachkommastellen und einer %<m>.<n>F: Gesamtlänge von mindestens <m> Zeichen. Die Nachkommstellen werden ggf. ge‐ rundet oder mit 0 aufgefüllt. Fehlende Zeichen auf die Gesamtlänge <m> werden linksbündig mit Leerzeichen aufgefüllt. Beispiel: N10 DEF REAL REAL_VAR=-1.2341234567890EX+03 N20 DEF STRING[80] RESULT...
Seite 454
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wandlung in einen String mit einer Dezimalzahl in Exponentialdarstellung mit einer %<m>.<n>E: Gesamtlänge von mindestens <m> Zeichen. Fehlende Zeichen werden linksbündig mit Leerzeichen aufgefüllt. Die Mantisse wird normalisiert mit einer Vorkommastelle und <n> Nachkommastellen abgelegt. Die Nachkommastellen werden ggf. gerundet oder mit 0 aufgefüllt.
Seite 455
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wandlung in einen String mit einer Dezimalzahl je nach Wertebereich in Dezimal- oder %.<n>G: Exponentialdarstellung. Es werden maximal <n> signifikante Stellen angezeigt, ggf. wird gerundet. Ist der darzustellende Wert betragsmäßig kleiner als 1.0EX-04 oder größer/gleich 1.0EX(+<n>) wird die Exponentialdarstellung gewählt, sonst die Dezi‐ maldarstellung.
Seite 456
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wandlung eines REAL-Werts in einen INTEGER-Wert unter Berücksichtigung von <n> %.<n>P: Nachkommastellen. Der INTEGER-Wert wird als 32-Bit-Binärzahl ausgegeben. Kann der zu wandelnde Wert nicht mit 32 Bit dargestellt werden, wird die Bearbeitung mit Alarm abgebrochen. Da eine mit der Formatanweisung %.<n>P erzeugte Byte-Folge auch binäre Nullen enthalten kann, entspricht der so erzeugte Gesamt-String nicht mehr den Konventio‐...
Seite 457
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wandlung eines REAL-Werts entsprechend der Einstellung im Maschinendatum %<m>.<n>P: MD10751 $MN_SPRINT_FORMAT_P_DECIMAL in einen String mit: • einer Ganzzahl von <m> + <n> Stellen oder • einer Dezimalzahl mit maximal <m> Vorkommastellen und exakt <n> Nachkom‐ mastellen. Wie bei der Formatbeschreibung %.<n>P wird der gesamte String in dem durch MD10750 $MN_SPRINT_FORMAT_P_CODE festgelegten Zeichen-Code abgelegt.
Seite 458
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Einfügen von <n> Zeichen eines Strings (beginnend mit dem ersten Zeichen). %.<n>S: Beispiel: N10 DEF STRING[16] STRING_VAR="ABCDEFG" N20 DEF STRING[80] RESULT N30 RESULT=SPRINT("CONTENT OF STRING_VAR:%.3S",STRING_VAR) Ergebnis: Die String-Variable RESULT wird mit der Zeichenkette "CONTENT OF STRING_VAR:ABC" beschrieben. Einfügen von <n>...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung NC-Datentypen BOOL CHAR REAL STRING AXIS FRAME Hinweis Die Tabelle zeigt, dass die NC-Datentypen AXIS und FRAME nicht direkt in der SPRINT-Funktion verwendet werden können. Es ist aber möglich: • den Datentyp AXIS mit der Funktion AXSTRING in einen String zu wandeln, der dann mit SPRINT weiterverarbeitet werden kann.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Randbedingungen • GOTOS löst intern ein STOPRE (Vorlaufstopp) aus. • Bei einem Teileprogramm mit Datendefinitionen (LUD-Variablen) wird mit GOTOS auf den ersten Programmsatz nach dem Definitionsabschnitt gesprungen, d h. die Datendefinitionen werden nicht erneut ausgeführt. Die definierten Variablen behalten daher den im GOTOS- Satz erreichten Wert und werden nicht auf die im Definitionsabschnitt programmierten Standardwerte zurückgesetzt.
Seite 461
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Wenn vor der Sprunganweisung eine Sprungbedingung (IF ...) formuliert ist, dann erfolgt der Programmsprung nur dann, wenn die Sprungbedingung erfüllt ist. Syntax GOTOB <Sprungziel> IF <Sprungbedingung> == TRUE GOTOB <Sprungziel> GOTOF <Sprungziel> IF <Sprungbedingung> == TRUE GOTOF <Sprungziel> GOTO <Sprungziel>...
Seite 462
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Hinweis Sprungmarken (Labels) Sprungmarken stehen immer am Anfang eines Satzes. Wenn eine Programmnummer vorhanden ist, steht die Sprungmarke unmittelbar nach der Satznummer. Für die Benennung von Sprungmarken gelten folgende Regeln: • Anzahl an Zeichen: – mindestens 2 –...
Seite 463
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar N30 … N40 Label_0: R1=R2+R3 ; Sprungmarke "Label_0" gesetzt. N50 … N60 Label_1: ; Sprungmarke "Label_1" gesetzt. N70 … N80 GOTOB Label_0 ; Sprung in Richtung Programmanfang ; zur Sprungmarke "Label_0". N90 … Beispiel 2: Indirekter Sprung auf Satznummer Programmcode Kommentar IF <Bedingung>...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar N42 R1=R1+R3 R4=R4-1 ; IF Sprungbedingung == TRUE ; THEN Sprung in Richtung Programmanfang zur Sprungmarke LA1 N43 IF R4>0 GOTOB LA1 N44 M30 ; Programmende 4.1.5.3 Programmverzweigung (CASE ... OF ... DEFAULT ...) Die CASE-Funktion bietet die Möglichkeit, den aktuellen Wert (Typ: INT) einer Variablen oder einer Rechenfunktion zu überprüfen und abhängig vom Ergebnis an unterschiedliche Stellen im Programm zu springen.
Seite 465
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Auf dieses Sprungziel wird verzweigt, wenn der Wert der Variablen oder <Sprungziel_2>: Rechenfunktion der zweiten angegebenen Konstanten entspricht. Auf dieses Sprungziel wird verzweigt, wenn der Wert der Variablen keinen <Sprungziel_n>: der angegebenen konstanten Werte annimmt. Randbedingungen Abarbeiten von Extern Sollen Programme mit CASE-Funktion über die Funktion "Abarbeiten von Extern"...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.6 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Die Programmteilwiederholung ermöglicht die Wiederholung bereits geschriebener Programmteile innerhalb eines Programms in beliebiger Zusammensetzung. Der Aufruf erfolgt über die Schlüsselwörter REPEAT bzw. REPEATB. Die zu wiederholenden Programmzeilen bzw. Programmbereiche werden durch Sprungmarken (Labels) gekennzeichnet. Die Anzahl an Wiederholungen ist programmierbar.
Seite 467
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Hinweis Die REPEAT-Anweisung mit den beiden Sprungmarken zu klammern, ist nicht möglich. Wird die erste Sprungmarke vor der REPEAT-Anweisung gefunden und wird die zweite Sprungmarke nicht vor der REPEAT-Anweisung erreicht, dann wird die Wiederholung zwischen der ersten Sprungmarke und der REPEAT-Anweisung durchgeführt.
Seite 468
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Sprungmarken, die den zu wiederholenden Programmbereich (bei REPEAT) <Label_1> kennzeichnen, wenn die Wiederholung nicht bis zur REPEAT-Anweisung erfol‐ <Label_2> gen soll Die erste Sprungmarke markiert den Beginn eines zu wie‐ <Label_1> derholenden Programmbereichs. Die zweite Sprungmarke markiert das Ende eines zu wieder‐ <Label_2>...
Seite 469
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar N90 Z10 N100 M30 Beispiel 3: Bereich zwischen zwei Sprungmarken wiederholen Programmcode Kommentar N5 R10=15 N10 Begin: R10=R10+1 ; Breite N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 N50 X=-R10 N60 Y=-R10 N70 END: Z=10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Hinweis Die REPEAT-Anweisung sollte hinter den Verfahrsätzen stehen. Abarbeiten von Extern und Programmteilwiederholung Bei externen Programmen mit Programmteilwiederholung muss die zu wiederholende Programmzeile (bei REPEATB) bzw. der Beginn des zu wiederholenden Programmbereichs (bei REPEAT) innerhalb des Nachladespeichers liegen. Andernfalls wird das Sprungziel nicht gefunden und es kommt zum Programmabbruch und zur Ausgabe von Alarm 14000.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Schachtelungstiefe Innerhalb jeder Unterprogrammebene ist eine Schachtelungstiefe von bis zu 16 Kontrollstrukturen möglich. Laufzeitverhalten Im standardmäßig aktiven Interpreterbetrieb kann durch Verwendung von Programmsprüngen ein schnellerer Programmablauf als mit Kontrollstrukturen erreicht werden. In vorkompilierten Zyklen ist kein Unterschied zwischen Programmsprüngen und Kontrollstrukturen vorhanden.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Randbedingungen Satzanzeige Sätze mit Kontrollstrukturelementen können nicht ausgeblendet werden. Kontrollstrukturen und Programmsprünge Sprungmarken (Labels) sind in Sätzen mit Kontrollstrukturelementen nicht erlaubt. Hinweis Grundsätzlich empfiehlt sich, Kontrollstrukturen und Programmsprünge nicht gemischt zu verwenden. Abarbeiten von Extern Bei externen Programmen mit Kontrollstrukturen muss der Schleifenanfang innerhalb des Nachladespeichers liegen.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Ist die Bedingung nicht erfüllt, wird der zwischen ELSE und ENDIF stehende Programmblock_2 ausgeführt. Hinweis ELSE in Synchronaktionen Das Schlüsselwort ELSE ist auch in Synchronaktionen programmierbar. Damit kann eine Synchronaktion um Aktionen erweitert werden, die bei nicht erfüllter Bedingung ausgeführt werden sollen.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar N560 TNR_AKTUELL = $TC_MPP6[9998,1] ... das Werkzeug der Spindel aus- gelesen. N570 ENDIF N580 GETSELT(TNR_VORWAHL) T-Nummer des vorgewählten Werk- zeugs auf der Spindel lesen. N590 IF TNR_AKTUELL <> TNR_VORWAHL Wenn das vorgewählte Werkzeug noch nicht das aktuelle Werkzeug ist, dann ...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.7.3 Zählschleife (FOR ... TO ..., ENDFOR) Die Zählschleife wird verwendet, wenn ein Arbeitsablauf mit einer festen Anzahl von Durchläufen wiederholt werden soll. Syntax FOR <Variable> = <Anfangswert> TO <Endwert> ENDFOR Bedeutung Leitet die Zählschleife ein. FOR: Markiert das Ende der Schleife und bewirkt Rücksprung auf den Schleifenanfang, ENDFOR: solange der Endwert der Zählung noch nicht erreicht ist.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar R20=R21*R22+R33 ENDFOR Beispiel 2: Fertigung einer festen Teilestückzahl Programmcode Kommentar DEF INT STUECKZAHL ; Definiert Variable vom Typ INT mit Namen "STU- ECKZAHL". FOR STUECKZAHL = 0 TO 100 ; Leitet die Zählschleife ein. Die Variable "STU- ECKZAHL"...
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.7.5 Programmschleife mit Bedingung am Schleifenende (REPEAT, UNTIL) Bei einer REPEAT-Schleife steht die Bedingung am Schleifenende. Die REPEAT-Schleife wird einmal durchlaufen und solange wiederholt, bis die Bedingung erfüllt ist. Syntax REPEAT UNTIL <Bedingung> Bedeutung Leitet die Programmschleife ein. REPEAT: Markiert das Ende der Schleife und bewirkt Rücksprung auf den Schleifenanfang.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Programmcode Kommentar 4.1.8 Kanalübergreifende Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Ein Kanal der NC kann prinzipiell das in ihm gestartete Programm unabhängig von anderen Kanälen seiner Betriebsartengruppe (BAG) abarbeiten. Sind aber gleichzeitig mehrere Programme in mehreren Kanälen der BAG an der Fertigung eines Werkstücks beteiligt, müssen die Programmabläufe mit den nachfolgenden Koordinierungsbefehlen in den unterschiedlichen Kanälen koordiniert werden.
Seite 481
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Bedeutung Vordefinierte Prozedur zur Anwahl des NC-Programms, das im angegebenen Kanal ab‐ INIT(): gearbeitet werden soll Vordefinierte Prozedur zum Starten des im jeweiligen Kanal angewählten Programms START(): Vordefinierte Prozedur zum Warten auf das Erreichen einer Wartemarke in den angege‐ WAITM(): benen Kanälen Im eigenen Kanal wird die angegebene Wartemarke durch WAITM gesetzt.
Seite 482
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Nummer der Wartemarke <MarkNr>: Hinweis In einem mehrkanaligen System stehen maximal 100 Wartemarken zur Verfügung (War‐ temarke 0 ... 99). In einem einkanaligen System steht nur die Wartemarke 0 zur Verfügung. 1) Zur anwenderspezifischen Kommunikation und / oder Koordination von Kanälen können Wartemar‐ ken mittels SETM / CLEARM auch ohne Verwendung des bedingten Wartebefehles WAITMC eingesetzt werden.
Seite 483
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung INIT-Befehl mit Programmnamen Anwahl des Programms mit dem Namen "MYPROG". Die Steuerung sucht das Programm anhand des Suchpfades. Programmcode INIT(2,"MYPROG") Programmkoordinierung mit WAITM • Kanal 1: Das Programm /_N_MPF_DIR/_N_MPF100_MPF ist bereits angewählt. und gestartet. Programmcode Kommentar ;...
Seite 484
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Randbedingungen Nicht synchroner Beginn des Abarbeitens von Folgesätzen nach WAIT-Marken Bei einer Kanalkoordinierung mittels WAIT-Marken kann es zu einem nicht synchronen Beginn des Abarbeitens der Folgesätze kommen. Dieses Verhalten tritt auf, wenn unmmittelbar vor Erreichen der gemeinsamen WAIT-Marke in einem der zu synchronisierenden Kanäle eine Aktion ausgelöst wird, die in diesem Restweglöschen mit implizitem Repositionieren (REPOSA) zur Folge hat.
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.9 Makrotechnik (DEFINE ... AS) ACHTUNG Makrotechnik erhöht die Komplexität der Programmierung Mit Makrotechnik kann die Programmiersprache der Steuerung stark verändert werden. Makrotechnik darf nur mit großer Sorgfalt eingesetzt werden. Als Makro bezeichnet man die Zusammenfassung von einzelnen Anweisungen zu einer neuen Gesamtanweisung mit eigenem Namen.
Seite 486
Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Makros müssen vor ihrer Verwendung definiert worden sein. Folgende Regeln sind dabei zu beachten: • Im Makro können beliebige Bezeichner, G-, M-, H-Funktionen und L-Unterprogrammnamen definiert werden. • Die Makrodefinition kann am Programmanfang oder in einer eigenen Definitionsdatei (Makrodatei) erfolgen.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Programmcode Kommentar N70 LINIE X10 Y20 ; Makro-Aufruf Beispiel 2: Makrodefinitionen in einer Makrodatei Programmcode Kommentar DEFINE M6 AS L6 ; Beim Werkzeugwechsel wird ein Unterprogramm auf- gerufen, das den nötigen Datentransfer übernimmt. Im Unterprogramm wird die eigentliche Werkzeugwech- sel-M-Funktion ausgegeben (z.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Diese feste Einteilung besteht mit der heutigen SINUMERIK NC-Sprache nicht mehr. Jedes Teileprogramm kann prinzipiell als Hauptprogramm angewählt und gestartet oder als Unterprogramm von einem anderen Teileprogramm aus aufgerufen werden. Somit wird im weiteren Verlauf mit Unterprogramm ein Teileprogramm bezeichnet, das von einem anderen Teileprogramm aus aufgerufen wird.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4.2.1.2 Unterprogrammnamen Benennungregeln Der Unterprogrammname kann unter Einhaltung folgender Regeln frei gewählt werden: • Erlaubte Zeichen: – Buchstaben: A ... Z, a ... z – Ziffern: 0 ... 9 – Unterstrich: _ • Die ersten beiden Zeichen sollten zwei Buchstaben oder ein Unterstrich gefolgt von einem Buchstaben sein.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Beispiel: Das Unterprogramm mit dem Programmnamen SUB_PROG kann über folgende Bezeichner aufgerufen werden: 1. SUB_PROG 2. _N_SUB_PROG 3. SUB_PROG_SPF 4. _N_SUB_PROG_SPF Namensgleichheit bei Haupt- und Unterprogrammen Existiert ein Hauptprogramme (.MPF) und ein Unterprogramme (.SPF) mit gleichem Programmnamen, muss bei der Verwendung des Programmnamens im NC-Programm die entsprechende Dateierweiterung zur eindeutigen Kennzeichnung mit angegeben werden.
Seite 491
Programmebene 13 belegt. Erfolgt dann ein Interrupt, stehen diesem die benötigten 4 Programmebenen (14 bis 17) zur Verfügung. Siemens-Zyklen Siemens-Zyklen benötigen 3 Programmebenen. Der Aufruf eines Siemens-Zyklus muss daher spätestens erfolgen in: • Teileprogrammbearbeitung: Programmebene 12 •...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4.2.1.4 Suchpfad Beim Aufruf eines Unterprogramms ohne Pfadangabe durchsucht die Steuerung nach einer vordefinierten Suchreihenfolge (siehe "Suchpfad bei Unterprogrammaufruf (Seite 558)") die vorhandenen Programmspeicher. 4.2.1.5 Formal- und Aktualparameter Von Formal- und Aktualparameter spricht man im Zusammenhang mit der Definition und dem Aufruf von Unterprogrammen mit Parameterübergabe.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4.2.1.6 Parameterübergabe Definition eines Unterprogramms mit Parameterübergabe Die Definition eines Unterprogramms mit Parameterübergabe erfolgt mit dem Schlüsselwort PROC und einer vollständigen Auflistung aller vom Unterprogramm erwarteten Parameter. Aufruf eines Unterprogramms mit Parameterübergabe Beim Aufruf des Unterprogramms müssen nicht immer alle in der Unterprogrammschnittstelle definierten Parameter explizit übergeben werden.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Hinweis Parameterübergabe Call-by-Reference Parameter, die über Call-by-Reference übergeben werden, dürfen beim Unterprogramm-Aufruf nicht weggelassen werden. Hinweis Datentyp AXIS Parameter vom Datentyp AXIS dürfen beim Unterprogramm-Aufruf nicht weggelassen werden. Überprüfung der Übergabeparameter Über die Systemvariable $P_SUBPAR [ n ] mit n = 1, 2, ... kann im Unterprogramm überprüft werden, ob ein Parameter explizit übergeben oder weggelassen wurde.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Bedeutung Definitionsanweisung am Anfang eines Programms PROC Name des Programms <ProgName> Beispiele Beispiel 1: Unterprogramm mit PROC-Anweisung Programmcode Kommentar PROC SUB_PROG ; Definitionszeile N10 G01 G90 G64 F1000 N20 X10 Y20 N100 RET ; Unterprogrammrücksprung Beispiel 2: Unterprogramm ohne PROC-Anweisung Programmcode Kommentar N10 G01 G90 G64 F1000...
Seite 496
Arbeitsvorbereitung 4.2 Unterprogrammtechnik ① Wertzuweisung an die Variablen LENGTH und WIDTH im aufrufenden Programm. ② Beim Aufruf des Unterprogramms SUB1 werden die Werte der beiden Variablen LENGTH und WIDTH an das Unterprogramm übergeben. ③ Ändern sich die übernommenen Variablenwerte durch eine neue Wertzuweisung, sind die neuen Werte nur im Unterprogramm wirksam.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Bedeutung Definitionsanweisung am Anfang eines Programms PROC Name des Programms <ProgName> Datentyp des 1. Übergabeparameters (z. B. REAL, INT, BOOL) <Par1Type> Datentyp des 2. Übergabeparameters <Par2Type> Name des 1. Übergabeparameters <Par1Name> Name des 2. Übergabeparameters <Par2Name> Wert zur Initialisierung des Parameters (optional) <InitValue>...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Dadurch reduziert sich die benötigte Anzahl an Zeichen für jeden Übergabeparameter um 2 Zeichen: RL PA1, Die PROC-Anweisung bleibt so unterhalb der maximal zulässigen Zeilenlänge und das Programm kann in die NC geladen werden. 4.2.2.3 Unterprogramm mit Parameterübergabe Call-by-Reference (PROC, VAR) Das aufrufende Programm übergibt bei einer Parameterübergabe Call-by-Reference dem Unterprogramm nicht den Wert einer Variablen, sondern eine Referenz (Zeiger) auf die Variable.
Seite 499
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Hinweis Die Parameterübergabe Call-by-Reference ist nur dann erforderlich, wenn die übergebene Variable lokal in einem aufrufenden Programm definiert ist (LUD). Kanal-globale oder NC- globale Variablen müssen nicht übergeben werden, da auf diese auch direkt vom Unterprogramm aus zugegriffen werden kann. Syntax Definition Die Definition eines Unterprogramms mit Parameterübergabe Call-by-Reference erfolgt mit...
Seite 500
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Feldgröße [<m>,<n>,<o>] Aktuell sind maximal 3-dimensionale Felder möglich: Feldgröße für 1. Dimension <m> Feldgröße für 2. Dimension <n> Feldgröße für 3. Dimension <o> Hinweis Der nach dem Schlüsselwort PROC angegebene Programmname muss mit dem an der Bedienoberfläche vergebenen Programmnamen übereinstimmen. Beispiel Definition eines Unterprogramms mit zwei Parametern als Referenz: •...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4.2.2.4 Modale G-Funktionen sichern (SAVE) Enthält die Unterprogrammdefinition das Attribut SAVE, werden die vor dem Unterprogrammaufruf aktiven modalen G-Befehle gesichert und nach dem Unterprogrammende wieder reaktiviert. Syntax PROC <ProgName> SAVE Bedeutung Definitionsanweisung am Anfang eines Programms PROC Sichern der modalen G-Befehle vor Unterprogrammaufruf und Wiederherstellen SAVE nach Unterprogrammende Name des Programms...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4.2.2.5 Einzelsatzbearbeitung unterdrücken (SBLOF, SBLON) Auch bei aktiver Einzelsatzbearbeitung hat der Anwender die Möglichkeit, ein NC-Programm komplett oder teilweise ohne anzuhalten abzuarbeiten. Die Unterdrückung der Einzelsatzbearbeitung erfolgt über den Befehl SBLOF, das Wiedereinschalten über den Befehl SBLON. Einzelsatzbearbeitung für das gesamte NC-Programm unterdrücken Ist das Ausschalten der Einzelsatzbearbeitung (SBLOF) in der ersten Zeile (PROC ...) eines Hauptprogramms programmiert, gilt dies bis zum Ende oder Abbruch des NC-Programms.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Vordefinierte Prozedur zum Einschalten der Einzelsatzbearbeitung SBLON: Alleine im Satz: Wirksamkeit: modal Besonderheiten • Satzanzeige bei unterdrückter Einzelsatzbearbeitung Die aktuelle Satzanzeige kann in Unterprogrammen mit DISPLOF unterdrückt werden. Wird DISPLOF zusammen mit SBLOF programmiert, wird bei Einzelsatz-Stopps innerhalb des Unterprogramms der Aufruf des Unterprogramms angezeigt.
Seite 504
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Programmcode Kommentar N50 R10=90 N60 SBLON ; Einzelsatzbearbeitung wieder einschalten N70 M110 N80 ... Der Bereich zwischen N20 und N60 wird im Einzelsatzbetrieb als ein Schritt bearbeitet. Beispiel 2: Zyklus soll für den Anwender wie ein Befehl wirken Ausgangssituation: Einzelsatzbearbeitung ist aktiv.
Seite 505
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Programmcode Kommentar N130 RET N140 _G54: G55 D=$P_TOOL T=$P_TOOLNO N150 RET N160 _G56: G56 D=$P_TOOL T=$P_TOOLNO N170 RET N180 _G57: G57 D=$P_TOOL T=$P_TOOLNO N190 RET N200 END: D=$P_TOOL T=$P_TOOLNO N210 RET Beispiel 4: Gezieltes Anhalten im Unterprogramm Ausgangssituation: •...
Seite 507
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Bedeutung Befehl zum Unterdrücken der aktuellen Satzanzeige. DISPLOF: Platzierung: Am Ende der Programmzeile mit der PROC-Anweisung Wirksamkeit: Bis zum Rücksprung aus dem Unterprogramm oder Programmen‐ Hinweis: Wenn aus dem Unterprogramm mit dem DISPLOF-Befehl weitere Unterprogram‐ me aufgerufen werden, dann wird auch in diesen Unterprogrammen die aktuelle Satzanzeige unterdrückt, sofern in diesen nicht explizit DISPLON programmiert ist.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Unterprogramm SUB2 ohne Unterdrückung: Programmcode Kommentar PROC SUB2 DISPLON ; Unterdrückung der aktuellen Satzanzeige im Unter- programm SUB2 aufheben. N200 M17 ; Rücksprung ins Unterprogramm SUB1. In SUB1 wird die aktuelle Satzanzeige wieder unterdrückt. Beispiel 4: Anzeigeverhalten bei unterschiedlichen DISPLON/DISPLOF-Kombinationen ①...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Syntax PROC … PREPRO Bedeutung Schlüsselwort für Kennzeichnung aller im Hochlauf vorbereiteten Dateien, der in Zy‐ PREPRO: klenverzeichnissen abgelegten NC-Programme Unterprogramme mit Vorbereitung einlesen und Unterprogrammaufruf Sowohl im Hochlauf vorbereiteter Unterprogramme mit Parametern als auch beim Unterprogrammaufruf werden die Zyklenverzeichnissen in der gleichen Reihenfolge behandelt: 1.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Randbedingungen Auswirkung auf den Bahnsteuerbetrieb Steht M17 (bzw. M30) alleine im Teilprogrammsatz, wird dadurch ein im Kanal aktiver Bahnsteuerbetrieb unterbrochen. Um dies zu vermeiden, ist M17 (bzw. M30) mit in den letzten Verfahrsatz zu schreiben. Zusätzlich muss folgendes Maschinendatum auf "0" gesetzt sein: MD20800 $MC_SPF_END_TO_VDI = 0 (keine M30/M17-Ausgabe an die NC/PLC-Nahtstelle) Beispiele Beispiel 1: Unterprogramm mit M17 im eigenen Satz...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Beispiel Hauptprogramm Programmcode Kommentar PROC MAIN_PROGRAM ; Programmanfang N50 SUB_PROG ; Unterprogrammaufruf: SUB_PROG N60 ... N100 M30 ; Programmende Unterprogramm Programmcode Kommentar PROC SUB_PROG N100 RET ; Rücksprung erfolgt auf Satz N60 im Hauptprogramm. 4.2.2.11 Parametrierbarer Programmrücksprung RET(...) / RETB(...) Im Allgemeinen wird aus einem Unterprogramm in das aufrufende Programm zurückgesprungen.
Seite 513
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Bedeutung RET(...) sucht das angegebene Rücksprungziel zuerst in Richtung Pro‐ RET(...) grammende. Ist die Suche nicht erfolgreich, wird als Nächstes in Rich‐ tung Programmanfang gesucht. RETB(...) sucht das angegebene Rücksprungziel nur in Richtung Pro‐ RETB(...) grammanfang. 1. Parameter: Rücksprungziel <Target>...
Seite 514
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 3. Parameter: Anzahl der zu überspringenden Programmebenen <NrRetJumpLevels> Gibt die Anzahl der Programmebenen an, die die überspringen sind, um zur Programmebene mit dem Zielsatz zu gelangen. Typ: Wert: Das Programm wird in der "aktuellen Programmebe‐ ne -1" fortgesetzt (wie RET ohne Parameter). Das Programm wird in der "aktuellen Programmebe‐...
Seite 515
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Ist bei einem Rücksprung über mehrere Programmebenen ein modales Unterprogramm aktiv und ist in einem der übersprungenen Unterprogramme der Abwahlbefehl MCALL für das modale Unterprogramm programmiert, bleibt das modale Unterprogramm weiterhin aktiv. ACHTUNG Rücksprung kann Auswirkungen auf modale Einstellungen haben Bei einem Rücksprung über mehrere Programmebenen liegt es in der alleinigen Verantwortung des Anwenders, dafür zu sorgen, dass mit den erforderlichen modalen Einstellungen fortgesetzt wird.
Seite 516
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Beispiel 2: Zeichenkette als Rücksprungziel Hauptprogramm: Programmcode Kommentar PROC MAIN_PROGRAM N1000 DEF INT iVar1=1, iVar2=4 N1010 ... N1200 subProg1 ; Aufruf von Unterprogramm "subProg1" N1210 M2 S1000 X10 F1000 N1220 ..N1400 subProg2 ; Aufruf von Unterprogramm "subProg2" N1410 M3 S500 Y20 N1420 ..
Seite 517
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Programmcode Kommentar N2200 RET("subProg1") ; Rücksprung ins Hauptprogramm auf den Satz N1550 Beispiel RETB(...) Programmcode Kommentar BEISPIEL.MPF … N3000 START_CYC(parm1, param2, …) N3010 TECH_CYC1(param1, param2, …) N3020 TECH_CYC2(param1, param2, …) N3030 TECH_CYC3(param1, param2, …) N3040 END_CYC(param1, param2, …) N3050 …...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Weitere Informationen Die folgenden Beispiele für RET(...) sollen veranschaulichen, wie durch Programmierung der Parameter das Rücksprungverhalten angepasst werden kann. RET("N200",0) ① Nach dem RET-Befehl erfolgt der Rücksprung ins Hauptprogramm zuerst auf den Satz nach dem Aufrufsatz. ② Anschließend wird das Ziel in Richtung Programmende gesucht und die Programmbearbeitung mit dem Satz N200 fortgesetzt.
Seite 519
Arbeitsvorbereitung 4.2 Unterprogrammtechnik RET("N200",1) ① Nach dem RET-Befehl erfolgt der Rücksprung ins Hauptprogramm zuerst auf den Satz nach dem Aufrufsatz. ② Anschließend wird das Ziel in Richtung Programmende gesucht und die Programmbearbeitung mit dem Satz fortgesetzt, der auf den Zielsatz N200 folgt. NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik RET("N220", ,2) ① Nach dem RET-Befehl wird zwei Programmebenen zurückgesprungen. ② Anschließend wird das Ziel in Richtung Programmende gesucht und die Programmbearbeitung mit dem Satz N220 fortgesetzt. 4.2.3 Aufruf eines Unterprogramms 4.2.3.1 Unterprogrammaufruf ohne Parameterübergabe Der Aufruf eines Unterprogramms erfolgt entweder mit Adresse L und Unterprogrammnummer oder durch Angabe des Programmnamens.
Seite 521
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Auch ein Hauptprogramm kann als Unterprogramm aufgerufen werden. Das im Hauptprogramm gesetzte Programmende M2 oder M30 wird in diesem Fall wie M17 (Programmende mit Rücksprung ins aufrufende Programm) gewertet. Hinweis Entsprechend kann ein Unterprogramm auch als Hauptprogramm gestartet werden. Suchstrategie der Steuerung: Gibt es *_MPF? Gibt es *_SPF?
Seite 522
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Beispiele Beispiel 1: Aufruf eines Unterprogramms ohne Parameterübergabe Beispiel 2: Aufruf eines Hauptprogramms als Unterprogramm Siehe auch Unterprogramm ohne Parameterübergabe (Seite 494) NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4.2.3.2 Unterprogrammaufruf mit Parameterübergabe (EXTERN) Beim Unterprogrammaufruf mit Parameterübergabe können Variablen oder Werte (nur bei Parameterübergabe Call-by-Value) direkt übergeben werden. Unterprogramme mit Parameterübergabe müssen vor dem Aufruf im Hauptprogramm mit dem Schlüsselwort EXTERN bekannt gemacht werden (z. B. am Programmanfang). Angegeben werden dabei der Name des Unterprogramms und die Variablentypen in der Reihenfolge der Übergabe.
Seite 524
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Beispiele Beispiel 1: Unterprogrammaufruf mit vorhergehender Bekanntmachung Programmcode Kommentar N10 EXTERN RAHMEN(REAL,REAL,REAL) ; Angabe des Unterprogramms. N40 RAHMEN(15.3,20.2,5) ; Aufruf des Unterprogramms mit Para- meterübergabe. Beispiel 2: Unterprogrammaufruf ohne Bekanntmachung Programmcode Kommentar N10 DEF REAL LAENGE, BREITE, TIEFE N20 …...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Siehe auch Unterprogramm mit Parameterübergabe Call-by-Value (PROC) (Seite 495) Unterprogramm mit Parameterübergabe Call-by-Reference (PROC, VAR) (Seite 498) 4.2.3.3 Anzahl der Programmwiederholungen (P) Soll ein Unterprogramm mehrfach hintereinander abgearbeitet werden, kann im Satz mit dem Unterprogrammaufruf unter der Adresse P die gewünschte Anzahl der Programmwiederholungen programmiert werden.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Anzahl der Programmwiederholungen <Wert>: Typ: Wertebereich: 1 … 9999 (ohne Vorzeichen) Beispiel Programmcode Kommentar N40 RAHMEN P3 ; Das Unterprogramm RAHMEN soll dreimal hintereinander abgear- beitet werden. 4.2.3.4 Modaler Unterprogrammaufruf (MCALL, MCALLOF) Mit dem Unterprogrammaufruf MCALL kann der Anwender innerhalb eines Teileprogramms ein modal wirksames Unterprogramm aktivieren, das nach jedem auf die Aktivierung folgenden Verfahrsatz mit Bahnbewegung automatisch angewählt und abgearbeitet wird, auch über Programmebenen hinweg.
Seite 527
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Hinweis LUD-Definition und -Wertzuweisung Der Datendefinitionsbereich am Anfang des Unterprogramms wird nur einmal bei der Ausführung des Satzes mit dem programmierten MCALL-Aufruf durchlaufen. Bei den folgenden Unterprogrammaufrufen nach den Verfahrsätzen wird der Datendefinitionsbereich nicht mehr durchlaufen. Dies hat zur Folge, dass ein bei der Definition einer lokalen Anwendervariablen (LUD) zugewiesener Wert nach dem ersten Aufruf nicht mehr zu Verfügung steht, sondern der Wert, der im Zyklus zuletzt geschrieben wurde.
Seite 528
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Randbedingungen ASUP Wird die Bearbeitung eines Teileprogramms durch ein ASUP (siehe Kapitel "Interruptroutine (ASUP) (Seite 538)") unterbrochen, werden in diesem ASUP keine modalen Unterprogrammaufrufe ausgeführt. Wird ein ASUP im Kanalzustand "Reset" gestartet, verhält es sich bezüglich der modalen Unterprogrammaufrufe wie ein normales Teileprogramm. Werkzeugwechsel-Zyklus Erfolgt im Werkzeugwechsel-Zyklus eine Abwahl des modal wirksamen Unterprogrammaufrufs, so ist zu beachten, dass der Werkzeugwechsel-Zyklus ggf.
Programm aufgerufen werden. Dabei wird der in den Maschinendaten eingestellte ISO-Modus aktiviert. Am Programmende wird wieder der ursprüngliche Bearbeitungsmodus wirksam. Ist in den Maschinendaten kein ISO-Modus eingestellt, erfolgt der Aufruf des Unterprogramms im Siemens-Modus. Weitere Informationen zum ISO-Modus: Funktionshandbuch ISO-Dialekte Syntax ISOCALL <Programmname>...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4.2.3.9 Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH) Mit dem Befehl CALLPATH kann der Suchpfad für Unterprogrammaufrufe erweitert werden. Damit können auch Unterprogramme aus einem nicht ausgewählten Werkstückverzeichnis aufgerufen werden, ohne den vollständigen, absoluten Pfadnamen des Unterprogramms anzugeben. Eine weitere Anwendungsmöglichkeit bietet sich im EES-Betriebsmodus "EES ohne GDIR", wenn ein Verzeichnis auf einem externen Programmspeicher zur Ablage globaler Unterprogramme genutzt wird.
Arbeitsvorbereitung 4.2 Unterprogrammtechnik 4. //NC:/_N_SPF_DIR/name_SPF 5. /_N_WKS_DIR/_N_MYWPD_WPD/name_SPF 6. /N_CUS_DIR/name_SPF 7. /_N_CMA_DIR/name_SPF 8. /_N_CST_DIR/name_SPF Randbedingungen • CALLPATH prüft, ob der programmierte Pfadname tatsächlich vorhanden ist. Im Fehlerfall wird die Teileprogrammbearbeitung mit Korrektursatz-Alarm 14009 abgebrochen. • CALLPATH kann auch in INI-Dateien programmiert werden. Er wirkt dann für die Bearbeitungsdauer der INI-Datei (WPD-INI-Datei oder Initialisierungsprogramm für NC-aktive Daten, z. B.
Seite 535
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Zusammen mit dem beim EXTCALL-Aufruf angegebenen Programmpfad und -bezeichner ergibt sich daraus der Gesamtpfad des aufzurufenden Teileprogramms. Hinweis Soll der Programmpfad nur über den EXTCALL-Aufruf angegeben werden, muss SD42700 leer sein! Hinweis Parameter Beim Aufruf eines externen Programms können diesem keine Parameter übergeben werden. Syntax EXTCALL("<Pfad/><Programmname>") Bedeutung...
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Der Pfad zum externen Programmverzeichnis ist einzustellen mit: SD42700 $SC_EXT_PROG_PATH = CF_CARD:WKS.DIR/WST1.WPD Hinweis Pfadangabe für den Aufruf des externen Unterprogramms: • Ohne Verwendung der Voreinstellung: "CF_CARD:WKS.DIR/WST1.WPD/SP_1" • Mit Verwendung der Voreinstellung: "SP_1" Unterprogramm "SP_2" Das externe Unterprogramm "SP_2.SPF" bzw. "SP_2.MPF" befindet sich im Verzeichnis WKS.DIR/WST1.WPD des USB-Laufwerks.
Seite 537
Arbeitsvorbereitung 4.2 Unterprogrammtechnik Die Suche endet, wenn das Unterprogramm erstmalig gefunden wurde. Wird das Unterprogramm nicht gefunden, wird die Programmausführung mit dem EXTCALL-Aufruf abgebrochen. Einstellbarer Nachladespeicher (FIFO-Puffer) Für das Abarbeiten eines externen Unterprogramms wird ein Nachladespeicher benötigt. Die Größe des Nachladespeichers ist voreingestellt (siehe MD18360 MM_EXT_PROG_BUFFER_SIZE).
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Interruptroutine (ASUP) 4.3.1 Funktion einer Interruptroutine Hinweis Die in der folgenden Beschreibung abwechselnd vorkommenden Begriffe "Asynchrones Unterprogramm (ASUP)" und "Interruptroutine" kennzeichnen die gleiche Funktionalität. Die Funktion einer Interruptroutine soll anhand eines typischen Beispiels verdeutlicht werden: Während der Bearbeitung bricht das Werkzeug. Hierdurch wird ein Signal ausgelöst, das den laufenden Bearbeitungsablauf stoppt und gleichzeitig ein Unterprogramm –...
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) 4.3.2 Interruptroutine erstellen Interruptroutine als Unterprogramm erstellen Die Interruptroutine wird bei der Definition wie ein Unterprogramm gekennzeichnet. Beispiel: Programmcode Kommentar PROC ABHEB_Z ; Programmname "ABHEB_Z" N10 ... ; Danach folgen die NC-Sätze. N50 M17 ; Zum Schluss Programmende und Rückkehr ins Hauptprogramm. Modale G-Befehle sichern (SAVE) Die Interruptroutine kann bei der Definition mit SAVE gekennzeichnet werden.
Seite 540
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Interrupt-Prorität Werden in einem Teileprogramm mehreren Eingängen Interrupts zugeordnet, müssen den Interrupts unterschiedliche Prioritäten zugewiesen werden. Einem Interrupt kann ein Prioritätswerte von 1 ... 128 zugeordnet werden. Prioritätswert 1 entspricht der höchsten, 128 der niedrigsten Priorität. Syntax SETINT(<n>) <NAME>...
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Randbedingungen Interrupt-Regeln 1. Für jeden Interrupt, der nicht sofort abgearbeitet werden kann, oder aktuell schon in Bearbeitung ist, wird eine weitere Interrupt-Anforderung gespeichert. Darüber hinaus gehende Interrupt-Anforderungen für diesen Interrupt verloren. 2. Wird aktuell ein Interrupt bearbeitet und es wird ein weiterer Interrupt mit höherer Priorität ausgelöst, unterbricht dieser den niederprioren Interrupt.
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) 4.3.4 Zuordnung einer Interruptroutine deaktivieren/reaktivieren (DISABLE, ENABLE) Eine SETINT-Anweisung kann mit DISABLE deaktiviert und mit ENABLE wieder aktiviert werden, ohne dass die Zuordnung Eingang → Interruptroutine verloren geht. Syntax DISABLE(<n>) ENABLE(<n>) Bedeutung Befehl: Deaktivieren der Interruptroutinen-Zuordnung von Eingang <n> DISABLE(<n>): Befehl: Reaktivieren der Interruptroutinen-Zuordnung von Eingang <n>...
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Bedeutung Befehl: Löschen der Zuordnung des Interruptsignals <n> zum mit SETINT defi‐ CLRINT(<n>): nierten NC-Programm (ASUP) <n> Parameter: Nummer des Interruptsignals <n>: Typ: Wertebereich: 1 ... 32 Beispiel Programmcode Kommentar N20 SETINT(3) PRIO=2 ABHEB_Z N50 CLRINT(3) ; Die Zuordnung zwischen Eingang "3" und der Interruptroutine "ABHEB_Z"...
Seite 544
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Syntax SETINT(<n>) PRIO=1 LIFTFAST SETINT(<n>) PRIO=1 <NAME> LIFTFAST Bedeutung Befehl: Eingang <n> einer Interruptroutine zuordnen. Die zugeordnete Interrupt‐ SETINT(<n>): routine startet, wenn Eingang <n> schaltet. Parameter: Nummer des Eingangs <n>: Typ: Wertebereich: 1 ... 8 PRIO= : Festlegung der Priorität Prioritätswert <Wert>:...
Seite 546
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Beispiel: Programmcode N10 SETINT(2) PRIO=1 ABHEB_Z LIFTFAST ALF=7 Das Werkzeug fährt bei eingeschaltetem G41 (Bearbeitungsrichtung links von der Kontur) senkrecht von der Kontur weg. Bezugsebene für die Beschreibung der Verfahrrichtungen bei LFTXT Im Eingriffspunkt des Werkzeugs an der programmierten Kontur wird eine Ebene aufgespannt, die als Bezug für die Angabe der Abhebebewegung mit der entsprechenden Code-Nummer dient.
Seite 547
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Code-Nummern mit Verfahrrichtungen bei LFTXT Ausgehend von der Bezugsebene finden Sie in folgender Abbildung die Code-Nummern mit Verfahrrichtungen. Für ALF=1 ist der Rückzug in Werkzeugrichtung festgelegt. NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Mit ALF=0 ist die Funktion "Schnellabheben" ausgeschaltet. VORSICHT Kollisionsgefahr Bei eingeschalteter Werkzeugradiuskorrektur sollten: • bei G41 die Codierungen 2, 3, 4 • bei G42 die Codierungen 6, 7, 8 nicht verwendet werden, da in diesen Fällen das Werkzeug zur Kontur hinfahren und mit dem Werkstück kollidieren würde.
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Die Interruptroutine verhält sich mit LIFTFAST und ALF=0 identisch wie die Interruptroutine ohne LIFTFAST. Hinweis Der Betrag, um den die Geometrieachsen beim Schnellabheben von der Kontur wegfahren, ist über ein Maschinendatum einstellbar. Datei- und Programmverwaltung 4.4.1 Programmspeicher 4.4.1.1 Programmspeicher im NCK...
Seite 550
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Standard-Verzeichnisse Folgende Verzeichnisse sind standardmäßig vorhanden: Verzeichnis Inhalt _N_DEF_DIR Datenbausteine und Makrobausteine _N_CST_DIR Standard-Zyklen _N_CMA_DIR Hersteller-Zyklen _N_CUS_DIR Anwender-Zyklen _N_WKS_DIR Werkstücke _N_SPF_DIR Globale Unterprogramme _N_MPF_DIR Hauptprogramme _N_COM_DIR Kommentare NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Zusätzlich können in einem Werkstückverzeichnis auch Daten abgelegt werden, welche nicht unmittelbar für die Bearbeitung durch den NC benötigt werden. Dies können neben ASCII-Dateien auch Binärdateien wie z. B. Bilder im JPG-Format oder Beschreibungen im PDF-Format sein. Damit diese vom NC als Binärdateien interpretiert werden können, müssen die Dateierweiterungen im NC bekannt sein (Einstellung bei der Inbetriebnahme über MD17000 $MN_ EXTENSIONS_OF_BIN_FILES;...
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Programmorganisation Die folgende Abbildung soll die Programmorganisation auf externen Programmspeichern veranschaulichen: Case-insensitive Dateisysteme Hinweis Um Probleme durch die Groß- und Kleinschreibung bei der Datei-Adressierung (siehe "Adressierung von Dateien des Programmspeichers (Seite 553)") zu vermeiden, sollten case- insensitive Dateisysteme als externe Programmspeicher verwendet werden. 4.4.1.3 Adressierung von Dateien des Programmspeichers Eine Datei im Programmspeicher, die durch einen Dateihandlingsbefehl (Seite 564) (z. B.
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Adressierung in NC-/EES-Notation Adressierung von Dateien des passiven Filesystems Die Adressierung von Dateien des passiven Filesystems erfolgt üblicherweise in NC-Notation (Verzeichnis- und Dateinamen beginnen mit der Domainkennung "_N_", Trennzeichen für die Verzeichnis-/Dateierweiterung ist "_") ohne Angabe des Laufwerknamens. Eine Adressierung in EES-Notation (ohne Domain-Kennung "_N_", Trennzeichen für die Verzeichnis-/Dateierweiterung ist ".") ist aber auch zulässig.
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Adressierung von Dateien eines externen Programmspeichers Die Adressierung von Dateien eines externen Programmspeichers, der nicht als GDIR ausgezeichnet ist, muss in EES-Notation erfolgen. Am Anfang des Adressierungspfades muss der Laufwerksname (z. B. "//DEV1:") angegeben werden. Es sind alle in /user/ sinumerik/hmi/cfg/logdrive.ini projektierten symbolischen Gerätenamen zulässig.
Seite 556
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Beispiele: • Externe Programmspeicher: – //Drive1: – //Drive_1: – //Drive 1: – //A B: – //1 B C 2: Verzeichnispfad Für die Angabe des Verzeichnispfades gelten folgende Regeln: • Am Anfang und am Ende des Verzeichnispfades und als Trennzeichen für die einzelnen Pfadanteile steht "/".
Seite 557
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Beispiele: • Passives Filesystem bzw. GDIR: – NC-Notation: _N_WKS_DIR/_N_MYNCPROGS_WPD/... – EES-Notation: WKS.DIR/MYPROGS.WPD/... • Externe Programmspeicher: – /abc – /ab_c.def – /ab c1.def – /a b c .d11 – /abc.def/ghi.klm Dateiname Für Dateinamen gelten folgende Regeln: • Nur bei der Adressierung in NC-Notation beginnen die Dateinamen mit der Domainkennung "_N_".
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Beispiele: • Passives Filesystem bzw. GDIR: – NC-Notation: _N_SUB1_SPF – EES-Notation: SUB1.SPF • Externe Programmspeicher: – Teil1 – _Teil1 – Teil_1.spf – Teil1.mpf DIN Unterprogrammname Für DIN Unterprogrammnamen gelten folgende Regeln: • Das erste Zeichen ist der Buchstabe "L". •...
Seite 559
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Die Programmspeicher werden dabei in der folgenden Reihenfolge durchsucht: Verzeichnis Beschreibung aktuelles Verzeichnis / name Das aktuelle Verzeichnis ist das Verzeichnis, in dem die Programmanwahl erfolgt ist. aktuelles Verzeichnis / name_SPF Dies kann sein: aktuelles Verzeichnis / name_MPF •...
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung 4.4.1.5 Abfrage von Pfad und Dateiname Zur Abfrage des Pfades und des Dateinamens eines NC-Programms stehen folgende im Teileprogramm lesbare Systemvariablen zur Verfügung: Systemvariable Bedeutung $P_STACK Liefert die Programmebene, in der das aktuelle NC-Programm bearbeitet wird. $P_PATH[ <n>] STRING Liefert den Pfad des NC-Programms, welches in der durch den...
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Systemvariable Bedeutung $P_IS_EES_PATH[ <n>] BOOL Abfrage, ob der von $P_PATH[<n>] gelieferte Pfad bzw. der von $P_PROG[<n>] gelieferte Programmname der NC-Notation oder der EES-Notation entspricht. = FALSE $P_PATH[<n>] und $P_PROG[<n>] liefern NC-No‐ tation. D. h. jedem Bezeichner ist eine Präfix "_N_" vorangestellt.
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung • Nullpunktverschiebungen • ... Initialisierungsprogramme Hierbei handelt es sich um Programme, mit denen die Daten des Arbeitsspeichers vorbesetzt (initialisiert) werden. Hierfür können folgende Dateitypen verwendet werden: Dateityp Beschreibung name_TEA Maschinendaten name_SEA Settingdaten name_TOA Werkzeugkorrekturen name_UFR Nullpunktverschiebungen/Frame name_INI Initialisierungsdatei name_GUD...
Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Vorgehensweise bei mehrkanaligen Steuerungen (CHANDATA) CHANDATA(<Kanalnummer>) für mehrere Kanäle ist nur in der Datei _N_INITIAL_INI zulässig. Das ist die Inbetriebnahmedatei, mit der alle Daten der Steuerung initialisiert werden. Programmcode Kommentar %_N_INITIAL_INI CHANDATA(1) ; Maschinenachszuordnung Kanal 1: $MC_AXCONF_MACHAX_USED[0]=1 $MC_AXCONF_MACHAX_USED[1]=2 $MC_AXCONF_MACHAX_USED[2]=3...
Arbeitsvorbereitung 4.5 Dateihandling Initialisierungsprogramme einlesen ACHTUNG Datenverlust Wird die Datei mit dem Namen "INITIAL_INI" eingelesen, so werden alle Daten, die in der Datei nicht versorgt werden, mit Standarddaten initialisiert. Ausgenommen davon sind nur die Maschinendaten. Es werden also Settingdaten, Werkzeugdaten, NPV, GUD-Werte, ... mit Standarddaten (normalerweise "NULL") versorgt.
Arbeitsvorbereitung 4.5 Dateihandling Syntax DEF INT <Error> WRITE(<Error>,"<FileName>"/"<ExtG>","<Set/Data>") Bedeutung Befehl zum Anfügen eines Satzes bzw. von Daten an das Ende der angegebenen WRITE Datei Parameter 1: Variable für die Rückgabe des Fehlerwerts <Error> Typ: Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden Datei nicht gefunden falscher Dateityp Datei ist voll...
Arbeitsvorbereitung 4.5 Dateihandling Hinweis Beim Schreiben ins passive Dateisystem oder auf einen externen Programmspeicher fügt der WRITE-Befehl implizit ein "LF"-Zeichen (LINE FEED = neue Zeile) an das Ende des Ausgabestrings Für die Ausgabe auf ein externes Gerät/Datei über die Funktion "Process DataShare" gilt dieses Verhalten nicht.
Seite 567
Arbeitsvorbereitung 4.5 Dateihandling Beispiel 3: Implizites/explizites "LF" a, Schreiben ins passive Dateisystem mit implizit erzeugtem "LF" Programmcode N110 DEF INT ERROR N120 WRITE(ERROR,"/_N_MPF_DIR/_N_MYPROTFILE_MPF","MY_STRING") N130 WRITE(ERROR,"/_N_MPF_DIR/_N_MYPROTFILE_MPF","MY_STRING") N140 M30 Ausgabeergebnis: MY_STRING MY_STRING b, Schreiben in externe Datei ohne implizit erzeugtem "LF" Programmcode N200 DEF STRING[30] DEV_1 N210 DEF INT ERROR N220 DEV_1="LOCAL_DRIVE/myprotfile.mpf"...
Arbeitsvorbereitung 4.5 Dateihandling MY_STRING MY_STRING 4.5.2 Datei löschen (DELETE) Mit dem DELETE-Befehl können alle Dateien gelöscht werden, egal, ob diese per WRITE-Befehl entstanden sind oder nicht. Auch Dateien, die unter höherer Zugriffsstufe erstellt wurden, können mit DELETE gelöscht werden. Voraussetzungen Zugriff auf EES-Laufwerke Externe Programmspeicher auf Laufwerken, für die bei der Inbetriebnahme eine Verwendung durch die Funktion "Abarbeiten von externem Speicher (EES)"...
Arbeitsvorbereitung 4.5 Dateihandling Beispiel Programmcode Kommentar N10 DEF INT ERROR ; Definition der Fehlervariablen. N15 STOPRE ; Vorlaufstopp. N20 DELETE(ERROR,"/_N_SPF_DIR/_N_TEST1_SPF") ; Lösche die Datei TEST1 im Unterprogrammverzeichnis. N30 IF ERROR ; Fehlerauswertung. N40 MSG("Fehler bei DELETE-Befehl:" <<ERROR) N50 M0 N60 ENDIF 4.5.3 Zeilen in Datei lesen (READ) Der READ-Befehl liest in der angegebenen Datei eine oder mehrere Zeilen und legt die gelesenen...
Seite 570
Arbeitsvorbereitung 4.5 Dateihandling Bedeutung Befehl zum Lesen von Zeilen der angegebenen Datei und zur Ablage dieser READ Zeilen in einem Variablenfeld. Variable für die Rückgabe des Fehlerwerts (Call-By-Reference-Parameter) <Error> Typ. Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden Datei nicht gefunden falscher Dateityp Datei wird benutzt Zugriffsrechte nicht ausreichend...
Arbeitsvorbereitung 4.5 Dateihandling Hinweis Binäre Files können nicht eingelesen werden. Es wird der Fehler "falscher Dateityp" (Rückgabewert der Fehlervariablen = 4) ausgegeben. Folgenden Dateitypen sind nicht lesbar: _BIN, _EXE, _OBJ, _LIB, _BOT, _TRC, _ACC, _CYC, _NCK. Beispiel Programmcode Kommentar N10 DEF INT ERROR ;...
Arbeitsvorbereitung 4.5 Dateihandling Bedeutung Befehl zum Prüfen des Vorhandenseins einer Datei ISFILE Name der Datei, deren Vorhandensein geprüft werden soll. <FileName> Typ: STRING Vor dem eigentlichen Dateinamen kann der absolute Pfad angegeben werden. Ohne Pfadangabe wird die Datei im aktuellen Verzeichnis (= Verzeichnis des an‐ gewählten Programms) gesucht.
Seite 573
Arbeitsvorbereitung 4.5 Dateihandling Voraussetzungen Schutzstufe Die aktuell eingestellte Schutzstufe muss gleich oder größer dem Show-Recht des übergeordneten Verzeichnisses sein. Ist dies nicht der Fall, wird der Zugriff mit Fehlermeldung (Rückgabewert der Fehlervariablen = 13) abgelehnt. Zugriff auf EES-Laufwerke Externe Programmspeicher auf Laufwerken, für die bei der Inbetriebnahme eine Verwendung durch die Funktion "Abarbeiten von externem Speicher (EES)"...
Seite 574
Arbeitsvorbereitung 4.5 Dateihandling Name der Datei, von der Datei-Information(en) ausgelesen werden soll(en) <FileName> Typ: CHAR[160] Vor dem eigentlichen Dateinamen kann der absolute Pfad angegeben werden. Ohne Pfadangabe wird die Datei im aktuellen Verzeichnis (= Verzeichnis des angewählten Programms) gesucht. Regeln zur Pfadangabe siehe "Adressierung von Dateien des Programmspei‐ chers (Seite 553)".
Arbeitsvorbereitung 4.6 Schutzbereiche Schutzbereiche 4.6.1 Schutzbereiche definieren (CPROTDEF, NPROTDEF) Schutzbereiche, die Maschinenelemente vor Kollisionen schützen sollen, werden im Teileprogramm jeweils in Blöcken definiert. Diese enthalten folgende Elemente: 1. Festlegung der Arbeitsebene Vor der eigentlichen Schutzbereichsdefinition muss die Arbeitsebene angewählt werden, auf die sich die Konturbeschreibung des Schutzbereichs beziehen soll.
Seite 576
Arbeitsvorbereitung 4.6 Schutzbereiche Typ des Schutzbereichs <t>: Datentyp: BOOL Wert: Werkzeugbezogener Schutzbereich TRUE Werkstückbezogener Schutzbereich FALSE Art der Begrenzung in der 3. Dimension <AppLim>: Datentyp: Wert: keine Begrenzung Begrenzung in Plus-Richtung Begrenzung in Minus-Richtung Begrenzung in Plus- und Minus-Richtung Wert der Begrenzung in Plus-Richtung der 3. Dimension <AppPlus>: Datentyp: REAL...
Arbeitsvorbereitung 4.6 Schutzbereiche Weitere Informationen Maschinenspezifische Schutzbereiche Ein maschinenspezifischer Schutzbereich bzw. dessen Kontur wird mittels der Geometrieachsen definiert, d. h. bezogen auf das Basiskoordinatensystem (BKS) eines Kanals. Damit eine korrekte Schutzbereichsüberwachung in allen Kanälen, in denen der maschinenspezifische Schutzbereich aktiv ist, stattfinden kann, muss das Basiskoordinatensystem (BKS) aller betroffenen Kanäle identisch sein: •...
Arbeitsvorbereitung 4.6 Schutzbereiche • Festpunktanfahren (G75) • Verweilzeit (G4) • Satzvorlauf-Stopp (STOPRE) • Programmende (M17, M30) • M-Funktionen: M0, M1, M2 4.6.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Vorher im Teileprogramm definierte Schutzbereiche können jederzeit aktiviert bzw. für eine spätere Aktivierung durch das PLC-Anwenderprogramm voraktiviert werden. Aktive Schutzbereiche können jederzeit wieder deaktiviert werden.
Seite 579
Arbeitsvorbereitung 4.6 Schutzbereiche Mit diesem Parameter wird der kanalspezifische Aktivierungsstatus <Status>: gesetzt Datentyp: Wert: Schutzbereich deaktivieren Schutzbereich voraktivieren Schutzbereich aktivieren Schutzbereich voraktivieren mit bedingtem Stopp Additive Verschiebungswerte in X/Y/Z-Richtung <XMov>,<YMov>,<ZMov>: Die Verschiebung kann in 1, 2 oder 3 Dimensionen erfolgen. Die Verschiebungswerte beziehen sich auf: •...
Seite 580
Arbeitsvorbereitung 4.6 Schutzbereiche ① Bezugspunkt für den Schutzbereich des Messtasters Werkzeugträgerbezugspunkt Programmcode Kommentar DEF INT PROTZONE ; Definition einer Hilfsvariablen ; Arbeitsebene XY ; Definition der Schutzbereiche: NPROTDEF(1,FALSE,3,10,–10) ; Schutzbereich n–PZ1 G01 X0 Y–10 Y-10 EXECUTE(PROTZONE) NPROTDEF(2,FALSE,3,5,–5) ; Schutzbereich n–PZ2 G01 X40 Y–5 EXECUTE(PROTZONE) CPROTDEF(1,TRUE,3,0,–100) ;...
Arbeitsvorbereitung 4.6 Schutzbereiche 4.6.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Software-Endschalter (CALCPOSI) Funktion Die Funktion CALCPOSI überprüft im Werkstückkoordinatensystem (WKS), ob ausgehend von der Startposition die Geometrieachsen einen vorgegebenen Weg verfahren können, ohne aktive Begrenzungen zu verletzen. Für den Fall, dass der Verfahrweg aufgrund von Begrenzungen nicht vollständig abgefahren werden kann, werden ein positiver, dezimal codierter Statuswert und der maximal mögliche Verfahrweg zurückgegeben.
Seite 583
Arbeitsvorbereitung 4.6 Schutzbereiche Rückgabewert der Funktion. Negative Werte zeigen Fehlerzustände an. <Status>: (Teil 1) Daten‐ typ: Werte‐ -8 ≤ x ≤ 100000 bereich: Wert Bedeutung Der Verfahrweg kann vollständig abgefahren werden In <Limit> ist mindestens eine Komponente negativ. Fehler bei einer Transformationsberechnung. Beispiel: Der Verfahrweg führt durch eine Singularität, sodass die Achs‐...
Seite 584
Arbeitsvorbereitung 4.6 Schutzbereiche Hunderterstelle <Status>: (Teil 3) Wert Bedeutung UND Einerstelle == 1 oder 2: Der positive Grenzwert ist verletzt. UND Einerstelle == 3 Es ist ein NC-spez. Schutzbereich verletzt. UND Einerstelle == 1 oder 2: Der negative Grenzwert ist verletzt. UND Einerstelle == 3 Es ist ein kanalspezifischer Schutzbereich verletzt.
Seite 585
Arbeitsvorbereitung 4.6 Schutzbereiche Referenz auf einen Vektor. <Dist>: Eingang: inkrementeller Verfahrweg • <Dist> [0]: 1. Geometrieachse • <Dist> [1]: 2. Geometrieachse • <Dist> [2]: 3. Geometrieachse Ausgang (nur bei gesetzter Einhunderttausenderstelle im <Status>): <Dist> enthält als Ausgangswert einen Einheitsvektor v, der die weitere Verfahr‐ richtung im WKS definiert.
Seite 586
Arbeitsvorbereitung 4.6 Schutzbereiche Referenz auf einen Vektor mit dem inkrementellen Verfahrweg, bei dem der vor‐ <MaxDist>: gegebene Mindestabstand von einer Achsgrenze von allen beteiligten Maschinen‐ achsen nicht unterschritten wird: • <Dist> [0]: 1. Geometrieachse • <Dist> [1]: 2. Geometrieachse • <Dist> [2]: 3. Geometrieachse Ist der Verfahrweg nicht eingeschränkt, ist der Inhalt dieses Rückgabeparameters gleich dem Inhalt von <Dist>.
Seite 587
Arbeitsvorbereitung 4.6 Schutzbereiche Bitcodierte Auswahl der zu überwachenden Begrenzungen (optional) <TestLim>: Daten‐ typ: Default: Bit 0, 1, 2, 3, 6, 7 = 1 (207) Wert Bedeutung Software-Endschalter Arbeitsfeldbegrenzung Aktivierte konventionelle Schutzbereiche Voraktivierte konventionelle Schutzbereiche Bei verletzten Software-Endschaltern bzw. Arbeitsfeldbegrenzungen in <Dist> die Verfahrrichtung entsprechend Fall 1 (siehe oben) zurücklie‐ fern.
Seite 588
Arbeitsvorbereitung 4.6 Schutzbereiche Beispiel Begrenzungen Im Beispiel sind die wirksamen Software-Endschalter und Arbeitsfeldbegrenzungen in der X-Y-Ebene und folgende drei Schutzbereiche dargestellt: • C2: Werkzeugbezogener kanalspezifischer Schutzbereich, aktiv, kreisförmig, Radius = 2 mm • C4: Werkstückbezogener, kanalspezifischer Schutzbereich, voraktiviert, quadratisch, Seitenlänge = 10 mm •...
Arbeitsvorbereitung 4.6 Schutzbereiche N... <Status> <MaxDist>[0] ≙ X <MaxDist>[1] ≙ Y Bemerkungen 4223 -13.000 0.000 Abstand zu C4 wegen C2 und _LIMIT[3] ins‐ gesamt 4 mm. Abstand C2 → N3 von 0,1 mm führt nicht zur Beschränkung des Verfahrwegs. 1221 0.000 21.213 Frame mit Translation und Rotation aktiv. Der zulässige Verfahrweg in _DIST gilt im verschobenen und gedrehten WKS.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle die Positionen der Maschinenachsen (MKS) nicht immer eindeutig aus den Positionen der Geometrieachsen (WKS) bestimmt werden. Im normalen Verfahrbetrieb ergibt sich die Eindeutigkeit in der Regel aus der Vorgeschichte und der Bedingung, dass einer kontinuierlichen Bewegung im WKS eine kontinuierliche Bewegung der Maschinenachsen im MKS entsprechen muss.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Syntax CAC(<n>) CIC(<n>) CACP(<n>) CACN(<n>) Bedeutung Codierte Position von Positionsnummer n anfahren CAC(<n>): Codierte Position, ausgehend von der aktuellen Positionsnummer, n-Positionsplät‐ CIC(<n>): ze vor (+n) oder zurück (–n) anfahren Codierte Position von Positionsnummer n auf kürzestem Weg anfahren CDC(<n>): (nur für Rundachsen) Codierte Position von Positionsnummer n in positiver Richtung anfahren...
Seite 594
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Folgende Spline-Typen stehen bei SINUMERIK solution line zur Verfügung: • A-Spline • B-Spline • C-Spline Syntax Allgemein: ASPLINE X... Y... Z... A... B... C... BSPLINE X... Y... Z... A... B... C... CSPLINE X... Y... Z... A... B... C... Bei B-Spline zusätzlich programmierbar: PW=<n>...
Seite 595
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Stützpunkte bzw. Kontrollpunkte: Positionen in kartesischen Koordinaten X... Y... Z... A... B... C... Punktgewicht (nur B-Spline): Mit dem Befehl PW ist für jeden Stützpunkt die Programmierung eines soge‐ nannten "Punktgewichts" möglich. "Punktgewicht" <n>: Wertebereich: 0 ≤ n ≤ 3 Schrittweite: 0.0001 Wirkung:...
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Tangentialer Übergang zum Satz vorher (Löschstellung) ETAN: Hinweis Das programmierbare Übergangsverhalten hat keinen Einfluss auf den B-Spline. Der B-Spline ist in Start- und Endpunkt immer tangential zum Kontrollpolygon. Randbedingungen • Die Werkzeugradiuskorrektur ist einsetzbar. •...
Seite 599
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Unterprogramm "Kontur" (enthält die Stützpunkt-Koordinaten): Programmcode N10 X20 Y18 N20 X10 Y21 N30 X6 Y31 N40 X18 Y31 N50 X13 Y43 N60 X22 Y42 N70 X16 Y58 N80 X33 Y51 N90 M1 In der folgenden Abbildung sind neben der Spline-Kurve, die aus dem Programmbeispiel resultiert (ASPLINE), auch die Spline-Kurven enthalten, die sich bei Aktivierung einer B- oder C-Spline-Interpolation ergeben hätten (BSPLINE, CSPLINE): Weitere Informationen...
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Eigenschaften und Anwendung der verschiedenen Spline-Typen Spline-Typ Eigenschaften und Anwendung A-Spline Eigenschaften: • Verläuft exakt durch die vorgegebenen Stützpunkte. • Der Kurvenverlauf ist tangenten- aber nicht krümmungsstetig. • Erzeugt kaum ungewollte Schwingungen. • Der Einflussbereich von Stützpunktänderungen ist lokal, d. h. Veränderung ei‐ nes Stützpunkts wirkt sich nur auf bis zu max.
Seite 601
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Spline-Typ Eigenschaften und Anwendung B-Spline Eigenschaften: • Verläuft nicht durch die vorgegebenen Stützpunkte, sondern nur in deren Nä‐ he. Die Kurve wird durch die Stützpunkte angezogen. Durch Gewichtung der Stützpunkte mit einem Faktor, kann der Kurvenverlauf zusätzlich beeinflusst werden.
Seite 602
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Spline-Typ Eigenschaften und Anwendung C-Spline Eigenschaften: • Verläuft exakt durch die vorgegebenen Stützpunkte. • Der Kurvenverlauf ist tangenten- und krümmungsstetig. • Erzeugt häufig ungewollten Schwingungen, besonders an Stellen mit großen Steigungsänderungen. • Der Einflussbereich von Stützpunktänderungen ist global, d. h. Veränderung eines Stützpunkts wirkt sich auf den gesamten Kurvenverlauf aus.
Seite 603
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Gegenüberstellung der drei Spline-Typen bei gleichen Stützpunkten Mindestanzahl an Spline-Sätzen Die G-Befehle ASPLINE, BSPLINE und CSPLINE verbinden Satzendpunkte mit Splines. Dazu müssen im Vorlauf eine Reihe von Sätzen (Endpunkte) gleichzeitig berechnet werden. Die Größe des Puffers für die Berechnung beträgt standardmäßig 10 Sätze. Nicht jede Satzinformation ist ein Spline-Endpunkt.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Zusammenfassung kurzer Spline-Sätze Bei der Spline-Interpolation können kurze Spline-Sätze entstehen, die zu einer unnötigen Reduzierung der Bahngeschwindigkeit führen. Mit der Funktion "Zusammenfassung kurzer Spline-Sätze" können diese Sätze so zusammengefasst werden, dass die resultierende Satzlänge ausreichend groß ist und nicht zu einer Verringerung der Bahngeschwindigkeit führt.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle 4.7.4 NC-Satz-Kompression ein-/ausschalten (COMPON, COMPCURV, COMPCAD, COMPSURF, COMPPATH, COMPOF) Die Funktionen zur Kompression von Linearsätzen (und abhängig von der Parametrierung auch Kreis- und/oder Eilgangsätzen) werden mit den G-Befehlen der G-Gruppe 30 ein-/ausgeschaltet. Die Befehle sind modal wirksam. Syntax COMPON / COMCURV / COMPCAD / COMPSURF / COMPPATH COMPOF...
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Hinweis Zur zusätzlichen Verbesserung der Oberflächengüte kann die Überschleiffunktion G642 und die Ruckbegrenzung SOFT verwendet werden. Diese Befehle sind am Programmanfang zu schreiben. Beispiele Beispiel 1: COMPSURF Programmcode Kommentar N10 G00 X30 Y6 Z40 N20 G1 F10000 G642 ;...
Seite 607
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Durch FGROUP werden die Achsen (FGROUP-Achsen) ausgewählt, auf die sich der Bahnvorschub F bezieht. Eine Interpolation mit konstanter Geschwindigkeit auf dem Bahnweg S der FGROUP-Achsen bedeutet während der Polynominterpolation jedoch in der Regel eine nicht konstante Änderung des Kurvenparameters U. Für die nicht in FGROUP enthaltenen Achsen kann daher zwischen zwei Möglichkeiten gewählt werden, wie diese den FGROUP-Achsen folgen sollen: •...
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Programmcode N15 G1 X0 A0 F1000 UPATH ; UPATH N20 POLY PO[X]=(10,10) A10 In beiden Programmausabschnitten hängt in N20 der Weg S der FGROUP-Achsen vom Quadrat des Kurvenparameters U ab. Daher ergeben sich entlang des Wegs von X unterschiedliche Positionen der Synchronachse A, je nachdem, ob SPATH oder UPATH aktiv ist.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Bei Eintreffen des im Messsatz programmierten Trigger-Ereignisses werden die aktuellen Positionen aller beteiligten Bahn- und Positionierachsen erfasst und in Systemvariablen abgelegt. Je nach Funktionsvariante (MEAS/MEASF oder MEAW) werden die Verfahrbewegungen nach Eintreffen des Trigger-Ereignisses definiert abgebremst (Messen mit Restweglöschen) oder bis zum Ende fortgesetzt (Messen ohne Restweglöschen).
Seite 610
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Vorschub F...: Endpunkte in kartesischen Koordinaten X... Y... Z...: Beispiel Programmcode Kommentar N10 MEAS=1 G1 F1000 X100 Y730 Z40 ; Messsatz mit Messtaster des ersten Mes- seingangs und Geradeninterpolation. ; Die steigende Flanke des Messtastersig- nals löst die Messung aus. ;...
Seite 611
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Bei Eintreffen des Trigger-Ereignisses werden die Positionen aller verfahrenen Bahn- und Positionierachsen des Satzes erfasst und in Systemvariablen abgelegt. Hinweis Ist in einem Messsatz eine Geometrieachse programmiert, werden die Messwerte für alle aktuellen Geometrieachsen abgelegt. Ist in einem Messsatz eine an einer Transformation beteiligte Achse programmiert, werden die Messwerte aller an dieser Transformation beteiligten Achsen abgelegt.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Systemvariable Bedeutung Datentyp Wert $AC_MEA[<n>] Schaltzustand des Messtas‐ Messtaster hat nicht ters geschaltet. $AC_MEA[<n>] wird zu Be‐ Messtaster hat ge‐ ginn einer Messung automa‐ schaltet. tisch zurückgesetzt. <n> = Nummer des Messtasters 4.7.7 Achsspezifisches Messen (MEASA, MEAWA, MEAC) (Option) Beim achsspezifischen Messen kann die Aktivierung des Messvorgangs im Teileprogramm oder in Synchronaktionen erfolgen.
Seite 613
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Beispiel: Achsspezifisches Messen für die x-Achse. Die Achsen x, y und z sind Geometrieachsen. MEAx[X]=(<Mode>,<TE1>,...,<TE4>) MEAx[Y]=(<Mode>,<TE1>,...,<TE4>) MEAx[Z]=(<Mode>,<TE1>,...,<TE4>) G... X... F... Hinweis MEASA und MEAWA sind satzweise wirksam und können zusammen in einem Satz programmiert werden. Wird dagegen MEASA/MEAWA zusammen mit MEAS/MEAW in einem Satz programmiert, kommt es zu einer Fehlermeldung.
Seite 614
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Zweistellige (xx) Ziffer zur Angabe des Betriebsmodus (Messmodus und Mess‐ <Mode> system) Einerdekade: Messmodus Messauftrag abbrechen. Bis zu 4 verschiedene gleichzeitig in einem Lagereglertakt aktive Trigger-Ereignisse Die Auswertung der Trigger-Ereignisse erfolgt in der Reihenfolge ihres Auftretens (= in zeitlicher Reihenfolge). Hinweis: In diesem Modus müssen die programmierten Trigger-Ereignisse un‐...
Seite 615
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Beispiele Beispiel 1: Achsspezifisches Messen einer Positionierachse mit Restweglöschen im Modus 1 (Auswertung in zeitlicher Reihenfolge) Programmcode Kommentar N100 MEASA[Q]=(1,1,-1) POS[Q]=100 FA[Q]=1000 ; Messen im Modus 1 mit aktivem Messsys- tem. Warten auf Messsignal mit steigender/ fallender Flanke von Messtaster 1 auf dem Verfahrweg nach Q=100.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Programmcode Kommentar N200 MEASA[X]=(31,1,-1) MEASA[Y]=(31,1,-1) MEASA[Z]=(31,1,-1) G01 X100 F100 ; Messen im Modus 1 mit aktivem Messsys- tem. Warten auf Messsignal mit steigender/ fallender Flanke von Messtaster 1 auf dem Verfahrweg nach X=100. N210 IF $AC_MEA[1]==FALSE GOTOF ENDE ;...
Seite 617
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Programmcode Kommentar N180 ENDE: Beispiel 4: Achsspezifisches kontinuierliches Messen einer Geometrieachse im Modus 1 (Auswertung in zeitlicher Reihenfolge) Achsspezifisches Messen für die x-Achse. Die Achsen x, y und z sind Geometrieachsen. a) Messen von bis zu 100 Messwerten Programmcode Kommentar N110 DEF REAL MESSWERT[100]...
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle c) Messen einer fallenden/steigenden Zahnflanke mit 2 Messtastern Programmcode Kommentar N110 DEF REAL MESSWERT[16] N120 DEF INT Schleife=0 N130 MEAC[X]=(1,1,-1,2) MEAC[Y]=(1,1,-1,2) MEAC[Z]=(1,1,-1,2) G01 X100 F100 ; Messen im Modus 1 mit aktivem Messsys- tem. Speichern der Messwerte unter $AC_FI- FO1.
Seite 619
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle MEASA bzw. MEAWA wird in diesem Beispiel eingesetzt, um für die x-Achse entlang eines programmierten Verfahrwegs die Positionen eines Bohrlochs zu messen. Die dafür nötigen zwei Trigger-Ereignisse TE1 und TE2 werden im Modus "nacheinander in der programmierten Reihenfolge"...
Seite 620
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Messergebnisse lesen (MEASA/MEAWA) Die Messtaster-Messwerte für MEASA/MEAWA sind über die folgenden Systemvariablen im Teileprogramm und in Synchronaktionen lesbar: Systemvariable Bedeutung $AA_MM1[<Axis>] Messtaster-Messwert bei Trigger-Ereignis 1 im MKS $AA_MM4[<Axis>] Messtaster-Messwert bei Trigger-Ereignis 4 im MKS $AA_MW1[<Axis>] Messtaster-Messwert bei Trigger-Ereignis 1 im WKS $AA_MW4[<Axis>] Messtaster-Messwert bei Trigger-Ereignis 4 im WKS <Axis>...
Seite 621
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Weitere Informationen: Funktionshandbuch Synchronaktionen Vorschub Der Vorschub ist dem jeweiligen Messproblem anzupassen. Der zulässige Vorschub hängt von der Anzahl programmierter Trigger-Ereignisse und dem Verhältnis vom Interpolatortakt zum Lagereglertakt ab. Bei MEASA und MEAWA können korrekte Ergebnisse nur bei Vorschüben gewährleistet werden, bei denen nicht mehr als ein gleiches und nicht mehr als 4 verschiedene Trigger- Ereignisse pro Lagereglertakt eintreffen.
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Hinweis Wird Messen aus Synchronaktionen gestartet, wird $AC_MEA nicht mehr aktualisiert. In diesem Fall ist das NC/PLC-Nahtstellensignal DB390x.DBX2.3 bzw. die gleichwertige Systsemvariable $AA_MEAACT[<Axis>] abzufragen: $AA_MEAACT==1: Messen aktiv $AA_MEAACT==0: Messen nicht aktiv Messtasterbegrenzung Mit der Systemvariablen $A_PROBE_LIMITED kann im NC-Programm oder in Synchronaktionen der Status der Messtasterbegrenzung bei Verwendung des PROFIBUS- Telegramms 395 gelesen werden: $A_PROBE_LIMITED[<n>] == 0: Messtasterbegrenzung inaktiv/zurückgesetzt...
Seite 624
Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Programmcode ; Synchronaktion: ; IMMER WENN: Eingang 1 gesetzt ist ; DANN Fahre Positionierachse X auf 50, Geschwindigkeit 200 m/min, Beschleunigung 140%, Bewegungsendekriterium: Interpolator-Stopp N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=200 ACC[X]=140 IPOENDA[X] Beispiel 2: Satzwechselkriterium: "Bremsrampe" Programmcode Kommentar ;...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Zusätzliches Satzwechselkriterium: "Toleranzfenster" (ADISPOSA) Mit ADISPOSA kann als zusätzliches Satzwechselkriterium ein Toleranzfenster um den Satzendpunkt (wahlweise Ist- oder Sollposition) definiert werden. Für den Satzwechsel müssen dann beide Bedingungen erfüllt sein: • Satzwechselkriterium: "Bremsrampe" • Satzwechselkriterium: "Toleranzfenster" Koordinatentransformationen (Frames) 4.8.1 Koordinatentransformation über Framevariable Neben den Frame-Anweisungen (Seite 306) wie z.
Seite 626
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Bild 4-1 Übersicht der Framevariablen NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) 4.8.1.1 Vordefinierte Framevariable ($P_CHBFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) Aktiv: kanalspezifische Basisframes $P_CHBFRAME[ <n> ] ($P_BFRAME) Hinweis Die der aktuelle Basisframe $P_BFRAME und der Datenhaltungs-Basisframe $P_UBFR werden aus Kompatibliltätsgründen beibehalten. • $P_BFRAME ≙ $P_CHBFRAME[0] • $P_UBFR ≙ $P_CHBFR[0]. Die Framevariablen $P_CHBFRAME[<n>] definieren den Bezug zwischen Basiskoordinatensystem (BKS) und Basis-Nullpunktsystem (BNS).
Seite 628
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Aktiv: kanalspezifischer Programmierbarer Frame $P_PFRAME Die Framevariable $P_PFRAME, definiert den Bezug zwischen dem Einstellbaren Nullpunktsystem (ENS) und dem Werkstückkoordinatensystem (WKS). $P_PFRAME enthält den resultierenden Frame, der sich • aus der Programmierung von TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/ AMIRROR bzw. •...
Seite 629
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) $P_ACTFRAME beschreibt den Nujllpunkt des aktuellen Werkstückkoordinatensystems. Bild 4-2 Framevariable $P_ACTFRAME Wird einer der folgenden Frames $P_BFRAME / $P_CHBFRAME[<n>], $P_IFRAME oder $P_PFRAME verändert, wird der aktuelle Gesamtframe $P_ACTFRAME neu berechnet. Basisframe und Einstellbarer Frame wirken nach Reset, wenn das MD 20110 RESET_MODE_MASK folgendermaßen eingestellt ist: Bit0=1, Bit14=1 -->...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Datenhaltung: Kanalspezifische Basisframes $P_CHBFR[<n>] Über die Framevariablen $P_CHBFR[<n>] werden die Basisframes in der Datenhaltung gelesen / geschrieben. Der Datenhaltungsframe wird durch das Schreiben nicht sofort im Kanal aktiv. Das Aktivieren des geschriebenen Frames erfolgt bei: • Kanal-Reset und MD20110 $MC_RESET_MODE_MASK,Bit0 == 1 und Bit14 == 1 •...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) $P_PFRAME = CSCALE(X, <Maßstab>, Y, <Maßstab>, Z, <Maßstab>, ...) $P_PFRAME = CMIRROR(X, Y, Z) Die Syntax für $P_CHBFRAME[<n>] ist identisch zu $P_PFRAME. Bedeutung Verschiebung in den angegebenen Achsen CTRANS: Drehung um die angegebenen Achsen CROT: Maßstabsveränderung in den angegebenen Achsen CSCALE: Richtungsumkehr der angegebenen Achse CMIRROR:...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Alternativ dazu die direkte Zuweisung der Einzelwerte direkt an die jewseilige Achse der Drehkomponente des Datenhaltungsframes: $P_UIFR[5, Y, RT]=0 $P_UIFR[5, X, RT]=0 $P_UIFR[5, Z, RT]=0 Beschreibung Mehrere Operationen auf einen Frame können durch den Kettungsoperator : miteinander verbunden werden.
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Der Verschiebewert TR in Y des aktuellen program‐ R15=$P_PFRAME[Y,TR] mierbaren Frames soll der Variablen R15 zugewie‐ sen werden. Der Verschiebewert TR in X des aktuellen program‐ $P_PFRAME[X,TR]=25 mierbaren Frames soll verändert werden. Ab sofort gilt X25. Bedeutung Mit dieser Variablen wird automatisch der Bezug zur $P_UIFRNUM: aktuell gültigen einstellbaren Nullpunktverschiebung...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) 4.8.2.3 Rechnen mit Frames Im NC-Programm kann ein Frame einem anderen Frame zugewiesen oder Frames miteinander verkettet werden. Frameverkettungen eignen sich z. B. für die Beschreibung mehrerer Werkstücke, die auf einer Palette angeordnet sind und in einem Fertigungsablauf bearbeitet werden sollen. Für die Beschreibung von Palettenaufgaben könnten die Framekomponenten z.
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Verkettungen Die Frames werden in der programmierten Reihenfolge durch den Operator : miteinander verkettet. Die Framekomponenten wie z. B. Verschiebungen, Drehungen usw. werden nacheinander additiv ausgeführt. Programmconde Kommentar $P_IFRAME = $P_UIFR[15] : ; Zuweisung des Ergebnis-Frames aus der Verkettung $P_UIFR[16] ;...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) 4.8.3 Grob- und Feinverschiebung (CTRANS, CFINE) Feinverschiebung Eine Feinverschiebung CFINE(...) kann auf folgende Frames angewandt werden: • Einstellbare Frames: $P_UIFR bzw. $P_IFRAME • Basisframes: $P_NCBFR[<n>], $P_CHBFR[<n>] bzw. $P_CHBFRAMES[<n>] oder $P_ACTBFRAME • Programmierbares Frame: $P_PFRAME Die Feinverschiebung eines Frames wird mit dem Befehl CFINE(...)programmiert. Grobverschiebung Die Grobverschiebung CTRANS(...) kann auf alle Frames angewandt werden.
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) MD28082 $MC_MM_SYSTEM_FRAME_MASK,Bit1 = <Wert> <Wert> Bedeutung Funktion: Direktes Schreiben von $AA_ETRANS[<Achse>] durch PLC, HMI oder NC-Programm. Freigabe zum Herausfahren der Nullpunktverschiebung von $AA_ETRANS[<Achse>] im nächstmöglichen Verfahrsatz: DB31, ... DBX3.0 Funktion: Aktivierung des aktiven Systemframes $P:EXTFRAME und des Datenhaltungsframes $P_EXTFR Freigabe zum Herausfahren der Nullpunktverschiebung von $AA_ETRANS[<Achse>] durch: DB31, ...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Referenzierstatus Durch das Setzen eines neuen Istwertes im Maschinenkoordinatensystem wird der Referenzierstatus der Maschinenachse zurückgesetzt: DB390x.DBX0.4 / 5 = 0 (Referenziert / Synchronisiert Messsystem 1 / 2) Es wird empfohlen, PRESETON nur bei Achsen ohne Referenzpunktpflicht zu verwenden. Zum Wiederherstellen des ursprünglichen Maschinenkoordinatensystems muss das Messsystem der Maschinenachse, z.B.
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) 4.8.6 Istwertsetzen ohne Verlust des Referenzierstatus (PRESETONS) Die Prozedur PRESETONS() setzt für eine oder mehrere Achsen einen neuen Istwert im Maschinenkoordinatensystem (MKS). Dies entspricht einer Nullpunktverschiebung des MKS der Achse. Die Achse wird dadurch nicht verfahren. Durch PRESETONS wird ein Vorlaufstop mit Synchronisation ausgelöst. Die Istposition wird der Achse erst im Stillstand zugewiesen.
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Neuer aktueller Istwert der Maschinenachse im Maschinenkoordinatensystem <Wert_x>: (MKS) Die Eingabe erfolgt im aktiven Maßsystem (inch / metrisch) Eine aktive Durchmesserprogrammierung (DIAMON) wird berücksichtigt Typ: REAL Weitere Informationen PRESETONS in NC-Programmen Eine ausführliche Beschreibung von PRESETONS in NC-Programmen findet sich im Funktionshandbuch Basisfunktionen.
Seite 642
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Variable, mit der Informationen zur Qualität der FRAME-Berechnung zurück‐ <Qualität>: gegeben werden Typ: VAR REAL Wert: Die idealen Punkte liegen nahezu auf einer Ge‐ raden: Der Frame konnte nicht berechnet werden. Die zurückgegebene FRAME-Variable enthält einen ...
Seite 643
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Setzen von Messpunkten: Programmcode Kommentar DEF REAL IDEAL_POINT[3,3]= SET(10.0,0.0,0.0,0.0,10.0,0.0,0.0,0.0,10.0) DEF REAL MEAS_POINT[3,3]= ; Für Test. SET(10.1,0.2,-0.2,-0.2,10.2,0.1,-0.2,0.2,9.8) DEF REAL FIT_QUALITY=0 DEF REAL ROT_FRAME_LIMIT=5 ; Erlaubt max. 5 Grad-Verdrehung der Teileposition. DEF REAL FIT_QUALITY_LIMIT=3 ; Erlaubt max. 3 mm-Verschiebung zwischen dem idealen und dem gemessenen Dreieck.
Seite 644
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Programmcode Kommentar ; Frame prüfen durch Positionieren der Geometrieachsen auf die idea- len Punkte. N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1] Z=IDEAL_POINT[0,2] N410 SHOW_MCS_POS1[0]=$AA_IM[X] N420 SHOW_MCS_POS1[1]=$AA_IM[Y] N430 SHOW_MCS_POS1[2]=$AA_IM[Z] N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1] Z=IDEAL_POINT[1,2] N510 SHOW_MCS_POS2[0]=$AA_IM[X] N520 SHOW_MCS_POS2[1]=$AA_IM[Y] N530 SHOW_MCS_POS2[2]=$AA_IM[Z] N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1] Z=IDEAL_POINT[2,2] N610 SHOW_MCS_POS3[0]=$AA_IM[X] N620 SHOW_MCS_POS3[1]=$AA_IM[Y] N630 SHOW_MCS_POS3[2]=$AA_IM[Z]...
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) 4.8.8 Globale Frames Globale Frames gibt es pro Steuerung nur einmal für alle Kanäle. Globale Frames können von allen Kanälen aus geschrieben und gelesen werden. Die Aktivierung der globalen Frames erfolgt im jeweiligen Kanal. Durch globale Frames können Kanalachsen und Maschinenachsen mit Verschiebungen skaliert und gespiegelt werden.
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Als Achsbezeichner bei den Frame-Programmbefehlen können Kanalachsbezeichner und Maschinenachsbezeichner verwendet werden. Die Programmierung von Geometrieachsbezeichnern wird mit einem Alarm abgelehnt. 4.8.8.1 Kanalspezifische Frames ($P_CHBFR, $P_UBFR) Einstellbare Frames oder Basisframes können über das Teileprogramm und über BTSS von der Bedienung und von der PLC geschrieben und gelesen werden.
Seite 647
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Aktuelle im Kanal wirksame Frames Übersicht Aktuelle Systemframes für: $P_PARTFRAME TCARR und PAROT $P_SETFRAME Istwertsetzen und Ankratzen $P_EXTFRAME Externe Nullpunktverschiebung $P_NCBFRAME[n] Aktuelle globale Basisframes $P_CHBFRAME[n] Aktuelle Kanal-Basisframes $P_BFRAME Aktueller 1. Basisframe im Kanal $P_ACTBFRAME Gesamt-Basisframe $P_CHBFRMASK und $P_NCBFRMASK Gesamt-Basisframe $P_IFRAME Aktueller einstellbarer Frame...
Seite 648
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) $P_BFRAME ist identisch mit $P_CHBFRAME[0]. Die Systemvariable hat standardmäßig immer einen gültigen Wert. Gibt es kein kanalspezifisches Basisframe, wird beim Schreiben oder Lesen der Alarm "Frame: Anweisung unzulässig" ausgegeben. $P_ACTBFRAME Gesamt-Basisframe Die Variable $P_ACTFRAME ermittelt das verkettete Gesamt-Basisframe. Die Variable ist nur lesbar.
Seite 649
Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) $P_CHBFRMASK = 'H11' ;$P_CHBFRAME[0] : $P_CHBFRAME[4] $P_IFRAME Aktueller einstellbarer Frame Über die vordefinierte Framevariable $P_IFRAME kann der aktuelle einstellbare Frame, welcher im Kanal gültig ist, im Teileprogramm gelesen und geschrieben werden. Der geschriebene einstellbare Frame wird sofort eingerechnet. Bei globalen einstellbaren Frames wirkt der geänderte Frame nur in dem Kanal, in dem der Frame programmiert wurde.
Arbeitsvorbereitung 4.9 Transformationen Frame-Kettung Der aktuelle Frame setzt sich aus dem Gesamt-Basisframe, dem einstellbaren Frame, dem Systemframe und dem programmierbaren Frame gemäß oben angegebenen aktuellen Gesamtframe zusammen. Transformationen 4.9.1 Einleitung und Übersicht 4.9.1.1 Übersicht der Transformationsarten Transformationen passen die Steuerung an verschiedene Maschinenkinematiken an. Aktivierung / Deaktivierung Die Aktivierung einer Transformation erfolgt über einen Funktionsaufruf im NC-Programm.
Seite 652
Arbeitsvorbereitung 4.9 Transformationen → Kapitel "Randbedingungen bei der Anwahl einer Transformation (Seite 654)" → Kapitel "Transformation abwählen (TRAFOOF) (Seite 655)" → Kapitel "Abgewählte Transformation nach Satzsuchlauf reaktivieren (SEATRAON) (Seite 655)" Kinematische Transformation Bei den kinematischen Transformationen (TRANSMIT, TRACYL, TRAANG) können Positionen im kartesischen Koordinatensystem programmiert werden. Die Steuerung transformiert die programmierten Verfahrbewegungen des kartesischen Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen.
Arbeitsvorbereitung 4.9 Transformationen Die zweite Transformation muss Schräge Achse TRAANG sein. → Kapitel "Verkettete Transformation einschalten (TRACON) (Seite 675)". 4.9.1.2 Verfahrbewegungen und Orientierungsbewegungen bei Transformationen Verfahrbewegungen und Orientierungsbewegungen Orientierungsbewegungen des Werkzeugs können über die Rundachsbezeichner A…, B…, C… der virtuellen Achsen je nach Anwendung entweder durch Angabe von Euler- bzw. RPY-Winkeln oder Richtungs- bzw.
Arbeitsvorbereitung 4.9 Transformationen 4.9.2 Aktivierung / Deaktivierung 4.9.2.1 Randbedingungen bei der Anwahl einer Transformation Funktion Die Anwahl von Transformationen ist über Teileprogramm bzw. MDA möglich. Dabei ist zu beachten: • Ein Bewegungszwischensatz wird nicht eingefügt (Fasen/Radien). • Eine Spline-Satzfolge muss abgeschlossen sein; wenn nicht, erscheint eine Meldung. •...
Arbeitsvorbereitung 4.9 Transformationen 4.9.2.2 Transformation abwählen (TRAFOOF) Mit der vordefinierten Prozedur TRAFOOF werden alle aktiven Transformationen und Frames ausgeschaltet. Für die Abwahl der Transformation gelten dieselben Randbedingungen (Seite 654) wie für die Anwahl. Darüber hinaus sind folgende Punkte zu beachten: • Frames, die nach dem Ausschalten mit TRAFOOF wieder benötigt werden, müssen durch erneute Programmierung aktiv geschaltet werden.
Arbeitsvorbereitung 4.9 Transformationen In diesem oder in ähnlichen Fällen muss der Anwender durch Programmierung von SEATRAON dafür sorgen, dass die Reaktivierung der Transformation zum richtigen Zeitpunkt erfolgt. Im beschriebenen Fall also nach Behandlung der Spindel. Programmierung SEATRAON muss alleine im Satz stehen: SEATRAON Weitere Informationen Reaktivierung...
Arbeitsvorbereitung 4.9 Transformationen 4.9.3 Kinematische Transformation 4.9.3.1 Stirnseitentransformation aktivieren (TRANSMIT) Die Stirnseitentransformation (TRANSMIT) wird im Teileprogramm oder Synchronaktion über die Anweisung TRANSMIT eingeschaltet. Syntax TRANSMIT TRANSMIT(<n>) Bedeutung TRANSMIT mit erstem TRANSMIT-Datensatz einschalten TRANSMIT: TRANSMIT mit <n>-tem TRANSMIT-Datensatz einschalten TRANSMIT(n): Hinweis Eine im Kanal aktive Transformation TRANSMIT wird ausgeschaltet durch: •...
Arbeitsvorbereitung 4.9 Transformationen Der Parameter <k> ist nur relevant für Transformationstyp 514 <k>: k = 0: ohne Nutwandkorrektur k = 1: mit Nutwandkorrektur Wird der Parameter nicht angegeben, wirkt die parametrierte Grundstel‐ lung: $MC_TRACYL_DEFAULT_MODE_<n> mit <n> = TRACYL-Datensatznummer Hinweis Eine im Kanal aktive Transformation TRACYL wird ausgeschaltet durch: •...
Seite 659
Arbeitsvorbereitung 4.9 Transformationen Kontur-Offset (OFFN) Um mit der TRACYL-Transformation 513 Nuten zu fräsen, wird im Teileprogramm die Mittenlinie der Nut und über die Adresse OFFN die halbe Nutbreite programmiert. Um eine Beschädigung der Nutwand zu vermeiden, wird OFFN erst mit angewählter Werkzeugradiuskorrektur wirksam.
Arbeitsvorbereitung 4.9 Transformationen Werkzeugdurchmesser Mit TRACYL und einem Werkzeug, dessen Durchmesser kleiner als die Nutbreite ist, wird nicht dieselbe Nutwandgeometrie erzeugt, wie mit einem Werkzeug, dessen Durchmesser gleich der Nutbreite ist. Zur Verbesserung der Genauigkeit wird empfohlen, den Werkzeugdurchmesser nur wenig kleiner als die Nutbreite zu wählen. Achsnutzung Hinweis Folgende Achsen können nicht als Positionierachse bzw.
Arbeitsvorbereitung 4.9 Transformationen Bedeutung TRAANG mit erstem TRAANG-Datensatz und zuletzt gültigem Winkel <α> TRAANG: einschalten TRAANG(): TRAANG mit <n>-tem TRAANG-Datensatz und zuletzt gültigem Winkel TRAANG(,<n>): <α> einschalten TRAANG mit erstem TRAANG-Datensatz und Winkel <α> einschalten TRAANG(<α>): TRAANG mit <n>-tem TRAANG-Datensatz und Winkel <α> einschalten TRAANG(<α>,<n>): <α>: Winkel der schrägstehenden Achse (optional)
Seite 662
Arbeitsvorbereitung 4.9 Transformationen Syntax G7 <Endpos_X> <Endpos_Z> G5 <Endpos_X> Bedeutung Startposition zum schrägen Einstechen berechnen und anfahren Verfahren der schrägen Achse auf die programmierte Endposition Endposition der X-Achse <Endpos_X>: Endposition der Z-Achse <Endpos_Z>: NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Seite 663
Arbeitsvorbereitung 4.9 Transformationen Beispiel ① Schleifscheibe ② Werkstück ③ Parallele zur schrägen Achse durch die programmierte Endposition ④ Ausgangsposition ⑤ Einstechen: Startposition ⑥ Einstechen: Endposition ⑦ Parallele zur Z-Achse im Abstand der aktuellen Position der X-Achse Geometrieachse Geometrieachse Maschinenachse Maschinenachse Bild 4-3 Schräge Achse programmieren Programmcode Kommentar...
Arbeitsvorbereitung 4.9 Transformationen 4.9.4 Kartesisches PTP-Fahren 4.9.4.1 Kartesisches PTP-Fahren ein-/ausschalten (PTP, PTPG0, PTPWOC, CP) Das kartesische Punkt-zu-Punkt- bzw. PTP-Fahren wird im NC-Programm mit den Befehlen der G- Gruppe 49 ein-/ausgeschaltet. Die Befehle sind modal wirksam. Voreinstellung ist das Verfahren mit einer kartesischen Bahnbewegung (CP).
Arbeitsvorbereitung 4.9 Transformationen Hinweis PTPWOC In Kombination mit einer RCTRA- oder ROBX-Transformation ist die Verwendung von PTPWOC nicht sinnvoll! RCTRA oder ROBX sind für kinematische Ketten nicht verfügbar. Beispiele Siehe: • Beispiel 1: PTP-Fahren eines 6-Achs-Roboters mit ROBX-Transformation (Seite 672) • Beispiel 2: PTP-Fahren bei generischer 5-Achs-Transformation (Seite 673) •...
Seite 666
Arbeitsvorbereitung 4.9 Transformationen Robotertransformation ROBX erfolgen (Voraussetzung: Compile-Zyklus "RMCC/ROBX Transformation Robotik erweitert" ist geladen und aktiv). Hinweis Beispiel mit ROBX nur mit konventioneller Maschinendaten-Parametrierung Das Beispiel ist nur mit Maschinendaten-Parametrierung möglich, nicht mit kinematischen Ketten. Die Achsen A1, A2 und A3 sind die Hauptachsen des Knickarmroboters. Mit den Hauptachsen werden die Achsen A4, A5 und A6, die als Kopf- oder Handachsen bezeichnet werden, im Arbeitsraum positioniert.
Seite 667
Arbeitsvorbereitung 4.9 Transformationen Die Auswahl der für die Bearbeitung zu verwendenden Gelenkstellungen erfolgt durch Programmierung von Bit 0 ... 2 der einstellbaren Adresse STAT: Bit 0 Position des Schnittpunkts der Handachsen (A4, A5, A6) Grundbereich (Shoulder Right) Der Roboter befindet sich im Grundbereich, wenn der X-Wert des Schnittpunkts der Hand‐...
Seite 668
Arbeitsvorbereitung 4.9 Transformationen Programmcode Kommentar N16 ORIMKS N17 G1 PTP X1665.67 Y0 Z1377.405 A=0 B=0 C=0 STAT=... F2000 ; Der STAT-Wert be- stimmt die Gelenkstel- lungen (s. u.). → Shoulder Left STAT=1 ('B001') → Elbow Down → No Handflip → Shoulder Right STAT=2 ('B010') →...
Arbeitsvorbereitung 4.9 Transformationen STAT=6 ('B110' ) → Shoulder Right → Elbow Up → Handflip TRANSMIT_K (konventionell TRANSMIT) Bei TRANSMIT_K wird die Adresse STAT benutzt, um die Mehrdeutigkeit hinsichtlich des Pols aufzulösen. Wenn die Rundachse um 180º drehen muss bzw. die Kontur bei CP durch den Pol führen würde, gilt: Bit 0 Nur relevant bei $NT_POLE_SIDE_FIX[n] = 1 bzw 2...
Seite 670
Arbeitsvorbereitung 4.9 Transformationen Bedeutung Einstellbare Adresse zur Angabe der Achswinkelvorzeichen Binär- oder Dezimalwert <Wert>: Für jede Achse, die in die Transformation eingeht, gibt es ein Bit, das das Vorzeichen des Achswinkels (θ) und damit die Verfahrrichtung anzeigt. Achswinkelvorzeichen: + Achswinkelbereich: 0° ≤ θ < 360° Achswinkelvorzeichen: - Achswinkelbereich: - 360°...
Seite 671
Arbeitsvorbereitung 4.9 Transformationen Bedeutung Wert Achswinkel‐ Achswinkel vorzeichen Bit 5 Vorzeichen für den Achswinkel von A6 ≥ 0° < 0° Die tatsächlichen TU-Bitnummern ergeben sich aus den Kanalachsnummern der Roboterachsen! Im Beispiel sind die Roboterachsen (A1 bis A6) die ersten sechs Achsen im Kanal, folglich werden die TU- Bits 0 ...
Arbeitsvorbereitung 4.9 Transformationen Beispiel Die in der folgenden Abbildung angegebene Rundachsposition kann in negativer oder in positiver Richtung angefahren werden. Unter der Adresse A1 wird die Winkelposition programmiert. Erst durch die TU-Angabe wird die Verfahrrichtung eindeutig. 4.9.4.4 Beispiel 1: PTP-Fahren eines 6-Achs-Roboters mit ROBX-Transformation Im folgenden Anwendungsbeispiel werden das kartesische PTP-Fahren und die damit im Zusammenhang stehenden NC-Befehle exemplarisch gezeigt.
Arbeitsvorbereitung 4.9 Transformationen 4.9.4.6 Beispiel 3: PTPG0 und TRANSMIT Umfahren des Pols mit PTPG0 und TRANSMIT Programmcode Kommentar N001 G0 X30 Z0 F10000 T1 D1 G90 ; Ausgangsstellung Absolutmaß N002 SPOS=0 N003 TRANSMIT ; Transformation TRANSMIT N010 PTPG0 ; Zu jedem G0-Satz automatisch PTP und da- nach wieder CP.
Arbeitsvorbereitung 4.9 Transformationen Herausfahren aus dem Pol mit PTPG0 und TRANSMIT N070 X20 Y2 N060 X0 Y0 N050 X10 Y0 Programmierung Kommentar N001 G0 X90 Z0 F10000 T1 D1 G90 ; Ausgangsstellung N002 SPOS=0 N003 TRANSMIT ; Transformation TRANSMIT N010 PTPG0 ;...
Seite 676
Arbeitsvorbereitung 4.9 Transformationen Syntax TRACON(<Trafo_Nr>,<Par_1>,...,<Par_n>,<Par_n+1>) TRAFOOF Bedeutung Verkettete Transformation einschalten TRACON: Eine zuvor aktivierte andere Transformation wird durch TRACON() implizit ausgeschaltet. Nummer der verketteten Transformation <Trafo_Nr>: Typ: Wertebereich: 0 ... 2 Wert: 0, 1 erste/einzige verkettete Transformation zweite verkettete Transformation keine gleichbedeutend mit 0 bzw.
Arbeitsvorbereitung 4.10 Kinematische Ketten Programmcode Kommentar ; Die vorher aktive Transformation wird automatisch abge- wählt. ; Der Winkel für die schräge Achse ist 45°. N330 TRACON(2,40.) ; Zweite verkettete Transformation einschalten. ; Der Winkel für die schräge Achse ist 40°. N380 TRAFOOF ;...
Seite 678
Arbeitsvorbereitung 4.10 Kinematische Ketten Bedeutung Löschen von Elementen von kinematischen Ketten, Schutzbereichen, Schutzbe‐ DELOBJ: reichselementen, Kollisionspaaren und Transformationsdaten Typ der zu löschenden Komponente <CompType>: Datentyp: STRING Wert: "KIN_CHAIN_ELEM" Bedeutung: Systemvariablen aller kinematischen Elemente: $NK_... Wert: "KIN_CHAIN_SWITCH" Bedeutung: Systemvariable $NK_SWITCH[<i>] Wert: "KIN_CHAIN_ALL" Bedeutung: Alle kinematischen Elemente und Schalter.
Seite 679
Arbeitsvorbereitung 4.10 Kinematische Ketten Index der ersten zu löschenden Komponente (optional) <Index1>: Datentyp: Defaultwert: Wertebereich: -1 ≤ x ≤ (maximale Anzahl projektierter Komponenten -1) Wert Bedeutung 0, 1, 2, ..Index der zu löschenden Komponente Alle Komponenten des angegebenen Typs werden gelöscht. <In‐ dex2>...
Arbeitsvorbereitung 4.10 Kinematische Ketten 4.10.2 Indexermittlung per Namen (NAMETOINT) In Systemvariablenfeldern vom Typ STRING sind anwenderspezifische Namen eingetragen. Anhand des Bezeichners der Systemvariablen und des Namens, ermittelt die Funktion NAMETOINT() den zum Namen gehörenden Indexwert, unter dem er im Systemvariablenfeld abgelegt ist. Syntax <RetVal>...
Arbeitsvorbereitung 4.11 Kollisionsvermeidung mit kinematischen Ketten 4.11 Kollisionsvermeidung mit kinematischen Ketten Hinweis Schutzbereiche Die in den nachfolgenden Kapiteln genannten Schutzbereiche beziehen sich auf die Funktion "Geometrische Maschinenmodellierung". Informationen zu dieser Funktion siehe Funktionshandbuch Überwachen und Kompensieren. 4.11.1 Prüfen auf Kollisionspaar (COLLPAIR) Die Funktion COLLPAIR(...) ermittelt, ob zwei Schutzbereiche ein Kollisionspaar bilden.
Arbeitsvorbereitung 4.11 Kollisionsvermeidung mit kinematischen Ketten Alarmunterdrückung (optional) <NoAlarm>: Datentyp: BOOL Wert: FALSE (Default) Im Fehlerfall (<RetVal> < 0) wird die Program‐ mabarbeitung angehalten und ein Alarm an‐ gezeigt. TRUE Im Fehlerfall wird die Programmabarbeitung nicht angehalten und es wird kein Alarm an‐ gezeigt.
Arbeitsvorbereitung 4.11 Kollisionsvermeidung mit kinematischen Ketten Beispiel: Vermeidung des Aufrufs von PROTA, während die Simulation aktiv ist. Programmcode Kommentar IF $P_SIM == FALSE ; IF Simulation nicht aktiv PROTA ; THEN Kollisionsmodell neu berechnen ENDIF ; ENDIF 4.11.3 Schutzbereichszustand setzen (PROTS) Die Prozedur PROTS(...) setzt den Status von Schutzbereichen auf den angegebenen Wert.
Seite 684
Arbeitsvorbereitung 4.11 Kollisionsvermeidung mit kinematischen Ketten Funktionseigenschaften: • Die Abstandsberechnung erfolgt unabhängig vom Status der Schutzbereiche (aktiviert, deaktiviert, voraktiviert). • Zur Abstandsberechnung zweier Schutzbereiche werden nur solche Schutzbereichselemente herangezogen, welche mit $NP_USAGE = "C" oder "A" gekennzeichnet sind. Schutzbereichselemente des Schutzbereichs, die mit $NP_USAGE = "V" gekennzeichnet sind, werden nicht betrachtet.
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten Namen der beiden Schutzbereiche, deren Abstand zueinander berechnet werden soll <Name_1>, (optional) <Name_2>: Datentyp: STRING Wertebereich: Parametrierte Schutzbereichnamen Defaultwert: "" (Leerstring) Sind keine Schutzbereiche angegeben, berechnet die Funktion den aktuell kleinsten Abstand aus allen im Kollisionsmodell ent‐ haltenen aktivierten und voraktivierten Schutzbereichen.
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten TRAFOON(<Trafoname>,<γ>) Bedeutung Prozedur zur Aktivierung einer mit kinematischen Ketten definierten Transformati‐ TRAFOON Name des Transformationsdatensatzes <Trafoname> Datentyp: STRING Wertebereich: Alle über $NT_NAME definierte Namen von Transformationsda‐ tensätzen Hinweis: Der Name des Transformationsdatensatzes muss eindeutig sein. Er darf in $NT_NAME nur einmal vorkommen.
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten Für die Aktivierung müssen bestimmte Voraussetzungen erfüllt sein, andernfalls wird dies durch einen Alarm abgelehnt. Voraussetzungen für die Aktivierung • Die Drehmitte muss als der Nullpunkt des aktuellen Frames definiert sein (WKS-Nullpunkt). • Die Richtung der Drehachse entspricht der z-Achse im WKS. •...
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten Transformation deaktivieren Das Ausschalten der Transformation ist nur bei stehender Spindel möglich und erfolgt über die Anweisung TRAFOOF. Weitere Informationen Funktion Die Drehinterpolationstransformation TRAINT, auch Interpolationsdrehen genannt, wird verwendet, um auf einer geeigneten Werkzeugmaschine (z. B. Fräsmaschine, Drehmaschine mit drei Linearachsen) die Umgebung einer einfachen Drehmaschine bereitzustellen, sodass NC-Befehle und Zyklen wie auf einer Drehmaschine funktionieren.
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten ACHTUNG Linearachsen an Werkzeugspindel gekoppelt Die Linearachsen sind beim Interpolationsdrehen an die Werkzeugspindel gekoppelt. Durch eine Drehung der Spindel kommt es automatisch zu Bewegungen der Linearachsen. Das gilt insbesondere auch, wenn es keine Bahnbewegung gibt, die Bahnbewegung wegen G4 steht oder der Bahnoverride auf 0 steht.
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten Die Variablen $P_TRAINT_ROT_ANGLE und $P_TRAINT_SPOS_ANGLE unterstützen den Anwender bei der Herstellung der WKS-Position y gleich 0. • $P_TRAINT_ROT_ANGLE: Die Variable $P_TRAINT_ROT_ANGLE liest die korrekte Framedrehung zur Anwahl der Transformation TRAINT. • $P_TRAINT_SPOS_ANGLE: Die Variable $P_TRAINT_SPOS_ANGLE liest die korrekte Position der Spindel zur Anwahl der Transformation TRAINT.
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten ① Weltkoordinatensystem ② Rundachse A ③ Rundachse C ④ Werkstückbezugspunkt (Ende der Part-Kette) ⑤ Werkzeugbezugspunkt (Ende der Tool-Kette) ⑥ Spindel 4.12.3 Winkel zum Ausrichten des Werkzeugs für TRAINT berechnen (CALCTRAVAR) Für die Drehinterpolationstransformationen TRAINT müssen Spindel und Achsen so positioniert werden, dass die Werkzeugspitze zur Drehmitte hin orientiert ist und auf y = 0 steht.
Arbeitsvorbereitung 4.12 Transformationen mit kinematischen Ketten Voraussetzung Vor Aufruf von CALCTRAVAR muss die kinematische Kette definiert sein. Hinweis CALCTRAVAR berechnet die Winkel auf Grundlage der definierten kinematischen Kette. Veränderungen der kinematischen Kette nach Aufruf von CALCTRAVAR können daher dazu führen, dass die von CALCTRAVAR berechneten Werte nicht mehr korrekt sind. Syntax <Status>...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Rückgabewert zum Funktionsstatus <Status> Datentyp: Wertebe‐ 0 ... 8 reich: Wert: kein Fehler, Aufruf war erfolgreich Parameter <Name> fehlt oder ist leer Parameter <γ> hat einen ungültigen Wert (darf nur 0 oder 180 sein) Fehler bei der Aufbereitung der kinematischen Kette Für TRAINT parametrierte Spindel nicht in der kinemati‐...
Seite 694
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Werkzeugparameter Num‐ Bedeutung der Systemvariablen Bemerkung mer (DP) $TC_DP1 Werkzeugtyp Übersicht siehe Liste $TC_DP2 Schneidenlage nur für Drehwerkzeuge Geometrie Längenkorrektur $TC_DP3 Länge 1 Verrechnung nach $TC_DP4 Länge 2 Typ und Ebene $TC_DP5 Länge 3 Geometrie Radius ...
Seite 695
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Anmerkungen Für die geometrischen Größen (z. B. Länge 1 oder Radius) bestehen mehrere Eintragskomponenten. Diese werden zu einer resultierenden Größe additiv verrechnet (z. B. Gesamtlänge 1, Gesamtradius), die dann zur Wirkung kommt. Nicht benötigte Korrekturen sind mit dem Wert Null zu belegen. Werkzeugparameter $TC-DP1 bis $TC-DP23 mit Konturwerkzeugen Hinweis Die Werkzeugparameter, die in der Tabelle nicht aufgeführt sind wie z.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen herkömmlichen Werkzeug die effektive Werkzeuglänge beeinflussen können (Adapter, orientierbarer Werkzeugträger, Settingdaten). Grenzwinkel 1 und 2 Die Grenzwinkel 1 bzw. 2 beziehen sich jeweils auf den Vektor vom Schneidenmittelpunkt zum Schneidenbezugspunkt und werden im Gegenuhrzeigersinn gezählt. 4.13.2 Additive Korrekturen 4.13.2.1 Additive Korrekturen anwählen (DL) Additive Korrekturen können als in der Bearbeitung programmierbare Prozesskorrekturen...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Beispiel Die gleiche Schneide wird für 2 Lagersitze verwendet: Programmcode Kommentar N110 T7 D7 ; Der Revolver wird auf Platz 7 positioniert. D7 und DL=1 werden aktiviert und im nächsten Satz herausgefahren. N120 G0 X10 Z1 N130 G1 Z-6 N140 G0 DL=2 Z-14 ;...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Hinweis Die festgelegten Verschleiß- und Einrichtewerte werden zu den Geometrieparametern und den übrigen Korrekturparametern (D-Nummer) addiert. Beispiel Der Verschleißwert der Länge 1 wird für die Schneide <d> des Werkzeugs <t> auf den Wert 1.0 festgelegt. Parameter: $TC_DP3 (Länge 1, bei Drehwerkzeugen) Verschleißwerte: $TC_SCP13 bis $TC_SCP63 Einrichtewerte: $TC_ECP13 bis $TC_ECP63 $TC_SCP43 [<t>,<d>] = 1.0...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Hinweis Verschleiß- und Einrichtewerte aktiver Werkzeuge können nicht gelöscht werden (verhält sich analog zum Löschverhalten von D bzw. Werkzeugdaten). 4.13.3 Werkzeugkorrektur - Sonderbehandlung Mit den Settingdaten SD42900 bis SD42960 lässt sich die Bewertung der Vorzeichen für Werkzeuglänge und Verschleiß steuern. Das gilt ebenfalls für das Verhalten der Verschleißkomponenten beim Spiegeln von Geometrieachsen oder beim Wechsel der Bearbeitungsebene und auch zur Temperaturkompensation in Werkzeugrichtung.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Weitere Informationen Wirksamwerden der veränderten Settingdaten Die Neubewertung von Werkzeugkomponenten bei einer Änderung der beschriebenen Settingdaten wird erst wirksam, wenn das nächste Mal eine Werkzeugschneide angewählt wird. Ist ein Werkzeug bereits aktiv und die Bewertung der Daten dieses Werkzeugs soll verändert wirksam werden, muss dieses Werkzeug erneut angewählt werden.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen 4.13.3.1 Werkzeuglängen spiegeln Mit gesetzten Settingdaten SD42900 $SC_MIRROR_TOOL_LENGTH und SD42910 $SC_MIRROR_TOOL_WEAR ungleich Null können Sie Werkzeuglängenkomponenten und Komponenten der Basismaße mit Verschleißwerten deren zugehörigen Achsen spiegeln. SD42900 $SC_MIRROR_TOOL_LENGTH Settingdatum ungleich Null: Es werden die Werkzeuglängenkomponenten ($TC_DP3, $TC_DP4 und $TC_DP5) und die Komponenten der Basismaße ($TC_DP21, $TC_DP22 und $TC_DP23), deren zugehörige Achsen gespiegelt sind, ebenfalls gespiegelt - durch Vorzeicheninvertierung.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen In folgender Tabelle sind die Maße durch ein X gekennzeichnet, deren Vorzeichen über das SD42920 (ungleich 0) invertiert wird: Schneidenlage Länge 1 Länge 2 Hinweis Die Vorzeichenbewertung durch SD42920 und SD42910 sind voneinander unabhängig. Wenn z. B.
Seite 703
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Syntax TOWSTD TOWMCS TOWWCS TOWBCS TOWTCS TOWKCS Bedeutung Grundstellungswert für Korrekturen in der Werkzeuglänge Verschleißwert TOWSTD: Korrekturen in der Werkzeuglänge im MKS TOWMCS: Korrekturen in der Werkzeuglänge im WKS TOWWCS: Korrekturen in der Werkzeuglänge im BKS TOWBCS: Korrekturen der Werkzeuglänge am Werkzeugträgerbezugspunkt (orientierbarer TOWTCS: Werkzeugträger) Korrekturen der Werkzeuglänge des Werkzeugkopfs (kinematischer Transformation)
Seite 704
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Nicht lineare Transformation Ist z. B. mit TRANSMIT eine nicht lineare Transformation aktiv, dann wird bei Angabe des MKS als gewünschtes Koordinatensystem automatisch das BKS verwendet. Keine kinematische Transformation und kein orientierbarer Werkzeugträger Ist weder eine kinematische Transformation noch ein orientierbarer Werkzeugträger aktiv, dann fallen bis auf das WKS alle weiteren vier Koordinatensysteme zusammen.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen 4.13.3.4 Werkzeuglänge und Ebenenwechsel Mit gesetzten Settingdaten SD42940 $SC_TOOL_LENGTH_CONST ungleich Null können Sie Werkzeuglängenkomponenten wie Länge, Verschleiß und Basismaß zu den Geometrieachsen für Dreh- und Schleifwerkzeuge bei einen Ebenenwechsel zuordnen. SD42940 $SC_TOOL_LENGTH_CONST Settingdatum ungleich Null: Die Zuordnung der Werkzeuglängenkomponenten (Länge, Verschleiß und Basismaß) zu den Geometrieachsen beim Wechsel der Bearbeitungsebene (G17 - G19) wird nicht verändert.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen 4.13.4 Online-Werkzeugkorrektur 4.13.4.1 Polynom-Funktion definieren (FCTDEF) Bestimmte Abrichtstrategien (z. B. Abrichtrolle) zeichnen sich dadurch aus, dass die Schleifscheibe kontinuierlich (linear) mit der Zustellung der Abrichtrolle am Radius abnimmt. Hierfür benötigt man eine lineare Funktion zwischen der Zustellung der Abrichtrolle und dem Schreiben des Verschleißwerts der jeweiligen Länge.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Beispiel Festlegungen • Funktionsnummer: 1 • Unterer und Oberer Begrenzungswert: -100, 100 • Steigung der Kennlinie: a • Der Arbeitspunkt soll in der Mitte der Kennlinie liegen. Die Kennlinie muss dazu anhand der Sollposition der Achse XA im WKS zum Zeitpunkt der Funktionsdefinition im NC-Programm in negativer Y-Richtung verschoben werden: a = -a * XA...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Bedeutung PUTFTOCF(...): Online-WZK schreiben, kontinuierlich satzweise anhand der mit FCTDEF(...) defi‐ nierten Polynom-Funktion Funktionsnummer, festgelegt bei der Funktionsdefinition mit FCTDEF(...) <Func>: Datentyp: Wertebereich: 1, 2, 3 Bezugswert, von dem die Korrektur abgeleitet werden soll (z. B. Sollwert einer Ach‐ <RefVal>: Datentyp: VAR REAL...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Nummer der Spindel, für die die Online-WZK wirksam werden soll <Sp>: Hinweis: Nur erforderlich, wenn statt dem aktiven, im Einsatz befindlichen Werkzeug eine nicht aktive Schleifscheibe korrigiert werden soll. Datentyp: 4.13.4.4 Online-Werkzeugkorrektur ein-/ausschalten (FTOCON/FTOCOF) Mit den G-Befehlen FTOCON und FTOCOF wird die Online-Werkzeugkorrektur ein- bzw. ausgeschaltet.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Über Maschinendaten werden die maximale Anzahl der D-Nummern (Schneidennummern) und die maximale Schneidenanzahl pro Werkzeug festgelegt (→ Maschinenhersteller). Die folgenden Befehle sind nur sinnvoll, wenn die maximale Schneidennummer (MD18105) größer als die Anzahl der Schneiden pro Werkzeug (MD18106) festgelegt wurde. Beachten Sie die Angaben des Maschinenherstellers.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Existiert kein Datensatz zu den eingegebenen Parametern wird FALSE zurückgegeben. Syntaxfehler erzeugen einen Alarm. Die D-Nummer kann nicht explizit auf 0 gesetzt werden. Syntax d = GETDNO (t,ce) state = SETDNO (t,ce,d) Bedeutung D-Nummer der Schneide des Werkzeuges T-Nummer des Werkzeuges Schneidennummer (CE-Nummer) des Werkzeuges Gibt an, ob der Befehl fehlerfrei ausgeführt werden konnte (TRUE oder FALSE).
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Bedeutung Funktionsaufruf GETACTTD(): D-Nummer, für die die T-Nummer gesucht werden soll. <DNr>: Datentyp: Gefundene T-Nummer <TNr>: Datentyp: VAR INT Ergebnis <status>: Datentyp: Wert: Die T-Nummer wurde gefunden. <TNr> erhält den Wert der T- Nummer. Zur angegebenen D-Nummer existiert keine T-Nummer, <TNr>=0.
Seite 713
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Zusätzlich gilt bei Maschinen, bei denen alle möglichen Orientierungen einstellbar sein müssen, folgende Forderung: • die Werkzeugorientierung muss senkrecht auf der ersten Drehachse V stehen. Funktion Die Werkzeugträgerkinematik mit maximal zwei Drehachsen v oder v wird über die 17 Systemvariablen $TC_CARR1[m] bis $TC_CARR17[m] beschrieben.
Seite 714
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Funktion der Systemvariablen für orientierbare Werkzeugträger α Drehwinkel $TC_CARR13[m] α Drehwinkel $TC_CARR14[m] Offsetvector $TC_CARR15[m] $TC_CARR16[m] $TC_CARR17[m] Erweiterungen der Systemvariablen für orientierbare Werkzeugträger Bezeichnung x-Komponente y-Komponente z-Komponente Offsetvector $TC_CARR18[m] $TC_CARR19[m] $TC_CARR20[m] Achsbezeichner Achsbezeichner der Drehachsen v und v (Vorbelegung ist Null) Drehachse v $TC_CARR21[m] Drehachse v...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Hinweis Erklärungen zu den Parametern Mit "m" wird jeweils die Nummer des zu beschreibenden Werkzeugträgers angegeben. $TC_CARR47 bis $TC_CARR54 sowie $TC_CARR61 bis $TC_CARR63 sind nicht definiert und führen beim Versuch hierauf lesend oder schreiben zuzugreifen, zu einem Alarm. Die Anfangs- bzw.
Seite 716
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Beispiel Der im folgenden Beispiel verwendete Werkzeugträger lässt sich durch eine Drehung um die Y- Achse vollständig beschreiben. Programmcode Kommentar N10 $TC_CARR8[1]=1 ; Definition der Y-Komponente der ersten Drehachse des Werkzeugträ- gers 1. N20 $TC_DP1[1,1]=120 ; Definition eines Schaftfräsers. N30 $TC_DP3[1,1]=20 ;...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Weitere Informationen Aufgelöste Kinematik Für Maschinen mit aufgelöster Kinematik (sowohl Werkzeug als auch Werkstück sind drehbar) wurden die Systemvariablen um die Einträge $TC_CARR18[m] bis $TC_CARR23[m] erweitert und wie folgt beschrieben: Der drehbare Werkzeugtisch bestehend aus: • dem vektoriellen Abstand der zweiten Drehachse V zum Bezugspunkt eines drehbaren Werkzeugtisches I der dritten Drehachse.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen 4.13.7 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) Mit veränderter Raumorientierung des Werkzeugträgers und damit des Werkzeugs ändern sich auch dessen Werkzeuglängenkomponenten: Werkzeugträgerbezugspunkt Werkzeuglängenkomponenten Nach Umrüsten, z. B. durch manuelle Einstellung oder Wechsel des Werkzeugträgers mit fester räumlicher Ausrichtung, müssen daher die Werkzeuglängenkomponenten neu ermittelt werden.
Seite 719
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Element Bedeutung G-Befehl Der Befehl TCOFRX/TCOFRY/TCOFRZ geht von einem in die TCOFRZ/TCOFRY/ entsprechende Richtung (X/Y/Z) orientierten Werkzeug aus TCOFRX und berechnet die Einstellwinkel des orientierbaren Werk‐ zeugträgers, sodass das Werkzeug im aktiven Frame in diesel‐ be Richtung orientiert wird. Das in Z-Richtung orientierte Werkzeug wird so TCOFRZ ausgerichtet, dass es im aktiven Frame ebenfalls...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Ist der referenzierte Werkzeugträger nicht definiert, wird ein Alarm angezeigt. Nullsetzen von Werkzeugträger-Datensätzen Aus dem NC-Programm heraus können alle Werte aller Werkzeugträger-Datensätze mit einem Kommando gelöscht werden: $TC_CARR1[0] = 0 Einzelne Werkzeugträgerdatensätze können selektiv mit der vordefinierten Prozedur DELTC gelöscht werden.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen auf die Orientierung im aktiven Frame. Sie hat aber Einfluss auf die Verrechnung der Werkzeuglängenkorrektur. Frame-Wechsel Der Anwender kann nach der Anwahl des Werkzeugs den Frame wechseln. Das hat keinen Einfluss auf die Komponenten der Werkzeuglängenkorrektur. Die in den Werkzeugträgerdaten abgelegten Drehwinkel werden durch die mit Frames festgelegten Drehwinkel nicht beeinflusst.
Seite 722
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Hinweis Mit TOFRAME (Seite 330) ist es möglich, einen Frame auf Basis der Orientierungsrichtung des angewählten Werkzeugträgers zu definieren. Hinweis Bei aktiver Orientierungstransformation (3-, 4-, 5-Achstransformation) kann ein Werkzeugträger mit von der Null-Lage abweichender Orientierung angewählt werden, ohne dass dabei ein Alarm ausgegeben wird. Hinweis Mit einem aktiven Frame ohne Rotation führt die Orientierung mit TCOFRX/TCOFRY/TCOFRZ zu einer trivialen Lösung, da die Werkzeugorientierung bereits in X-/Y-/Z-Richtung zeigt.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen 4.13.8 Orientierbare Werkzeugträger nach Maschinenvermessung modifizieren (CORRTC) Mit der Funktion CORRTC können gemessene kinematische Kettenelemente eines Toolcarriers in spezielle Korrekturelemente geschrieben werden. Hinweis Die mit der Funktion CORRTC eingeschriebenen Korrekturwerte sind nicht sofort im ToolCarrier wirksam. Erst nach Abwahl des ToolCarriers, NEWCONF und Anwahl des ToolCarriers sind die Korrekturwerte wirksam.
Seite 724
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen <_Corr_Index>: Bezeichnet den Abschnitt, für den der Richtungsvektor des Korrekturelements korrigiert werden soll. Datentyp: Korrekturmodus <_Corr_Mode>: Datentyp: Der Parameter <Corr_Mode> ist dezimalcodiert (1er- bis 1000er-Stelle): 1er- Reserviert Stelle: 10er- Bestimmt, wie das Korrekturelement, auf das der Inhalt von <_Corr_Index> ver‐ Stelle: weist, modifiziert werden soll.
Seite 725
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Weitere Informationen zu CORRTC Die kinematische Struktur eines Toolcarriers wird durch eine (Typ T und Typ P) oder zwei (Typ M) kinematische Ketten (Teilketten) beschrieben, die vom dazugehörigen Bezugspunkt Maschinenbezugspunkt oder Werkzeugträgerbezugspunkt) ausgehen. Eine der beiden Ketten, die Werkzeug-Kette, endet am Bezugspunkt des Werkzeugs, die andere, die Werkstück-Kette im Nullpunkt des Basiskoordinatensystems.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen der Kinematikdaten in der Datenhaltung haben keinen Einfluss auf die Wirkungsweise der Funktion CORRTC. 4.13.9 Modifikation der Korrekturdaten bei drehbaren Werkzeugen 4.13.9.1 Modifikation der Korrekturdaten bei drehbaren Werkzeugen aktivieren (CUTMOD) Die Modifikation der Korrekturdaten bei drehbaren Werkzeugen wird im NC-Programm über den Sprachbefehl CUTMOD aktiviert.
Seite 727
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Bedeutung Modifikation der Korrekturdaten bei drehbaren Werkzeugen aktivieren CUTMOD: Zugewiesener Wert <Value>: Datentyp: Wert: 0 Die Funktion ist deaktiviert. Die von den Systemvariablen $P_AD... gelieferten Werte sind gleich den korrespondierenden Werkzeugparametern. > 0 Die Funktion wird aktiviert, falls ein orientierbarer Werkzeugträger mit der angegebenen Nummer aktiv ist, d.
Seite 728
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Hinweis SD42984 $SC_CUTDIRMOD Die über den Befehl CUTMOD aktivierbare Funktion ersetzt die über das Settingdatum SD42984 $SC_CUTDIRMOD aktivierbare Funktion. Diese Funktion steht jedoch weiterhin unverändert zur Verfügung. Da es aber nicht sinnvoll ist, beide Funktionen parallel zu nutzen, kann sie nur aktiviert werden, wenn CUTMOD gleich Null ist. Weitere Informationen Modifizierte Korrekturdaten lesen Die modifizierten Korrekturdaten werden in den folgenden Systemvariablen und BTSS-...
Seite 729
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Systemvariable Bedeutung $P_CUT_INV / Liefert den Wert TRUE, wenn das Werkzeug so gedreht ist, dass die Spindel‐ drehrichtung invertiert werden muss. Dazu müssen in dem Satz, auf den sich $AC_CUT_INV die jeweilige Leseoperation bezieht, die folgenden vier Bedingungen erfüllt sein: 1.
Seite 730
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen $P_...: Vorlaufvariablen $AC_...: Hauptlaufvariablen Alle Hauptlaufvariablen können in Synchronaktionen gelesen werden. Ein Lesezugriff aus dem Vorlauf generiert einen Vorlaufstopp. Ebenenwechsel Für die Bestimmung von modifizierter Schneidenlage, Schnittrichtung und Halter- bzw. Freiwinkel ist die Betrachtung der Schneide in der jeweils aktiven Ebene (G17 - G19) maßgebend.
Seite 731
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Beispiel Bei einem Werkzeug mit der Schneidenlage 3 und einem orientierbaren Werkzeugträger, der das Werkzeug um die B-Achse drehen kann, soll mit Hilfe des CUTMOD-Befehls die Schneidenlage nach einer Werkzeugdrehung modifiziert werden. Schneidenmittelpunkt Schneidenbezugspunkt Schneidenlage Programmcode Kommentar N10 $TC_DP1[1,1]=500 N20 $TC_DP2[1,1]=3 ;...
Seite 734
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen • Die Settingdaten: – SD42900 $SC_MIRROR_TOOL_LENGTH (Vorzeichenwechsel Werkzeuglänge beim Spiegeln) – SD42910 $SC_MIRROR_TOOL_WEAR (Vorzeichenwechsel Werkzeugverschleiß beim Spiegeln) – SD42920 $SC_WEAR_SIGN_CUTPOS (Vorzeichen des Verschleißes bei Werkzeugen mit Schneidenanlagen) – SD42930 $SC_WEAR_SIGN (Vorzeichen des Verschleißes) – SD42935 $SC_WEAR_TRANSFORM (Transformationen für Werkzeugkomponenten) –...
Seite 735
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Rückgabewert der Funktion. Negative Werte zeigen Fehlerzustände an. <Status>: Datentyp: Wert: Funktion OK Kein Speicherplatz für Werkzeugumgebungen reserviert: MD18116 $MN_MM_NUM_TOOL_ENV = 0 D. h., die Funktionalität "Werkzeugumgebungen" ist nicht vor‐ handen. Keine freien Speicherplätze für Werkzeugumgebungen mehr vorhanden. Nullstring als Name einer Werkzeugumgebung ist nicht zulässig. Kein Parameter (<Name>) angegeben.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen wenn sich die Umgebungsbedingungen (z. B. G-Befehle oder Settingdaten) geändert haben. Ebenso kann die effektive Länge eines anderen Werkzeugs berechnet werden mit der Annahme, es würde unter den gleichen Bedingungen eingesetzt wie das Werkzeug, für das der Status abgespeichert wurde. Maximale Anzahl Datensätze für Werkzeugumgebungen Mit dem Maschinendatum MD18116 $MN_MM_NUM_TOOL_ENV wird festgelegt, wie viele Datensätze zur Beschreibung von Werkzeugumgebungen maximal abgelegt werden können.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen DELTOOLENV() ohne Angabe eines Namens löscht alle Datensätze zur Be‐ DELTOOLENV(): schreibung von Werkzeugumgebungen 4.13.10.3 T-, D- und DL-Nummer lesen (GETTENV) Die Funktion GETTENV dient dazu, die in einer Werkzeugumgebung abgelegte T-, D- und DL- Nummer zu lesen. Syntax <Status>...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen 4.13.10.4 Informationen zu gespeicherten Werkzeugumgebungen lesen ($P_TOOLENVN, ($P_TOOLENV) Informationen zu gespeicherten Werkzeugumgebungen sind über folgende Systemvariablen lesbar: Liefert die Anzahl der mittels TOOLENV definierten (und noch nicht gelöschten) $P_TOOLENVN: Datensätze zur Beschreibung von Werkzeugumgebungen Syntax: <n> = $P_TOOLENVN Bedeutung: Anzahl der definierten Datensätze <n>:...
Seite 739
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Bedeutung Vordefinierte Funktion zum Lesen von Werkzeuglängen bzw. Werkzeuglängenkom‐ GETTCOR(...): ponenten Alleine im Satz: Rückgabewert der Funktion. Negative Werte zeigen Fehlerzustände an. <Status>: Datentyp: Wert: Funktion OK Kein Speicherplatz für Werkzeugumgebungen reserviert: MD18116 $MN_MM_NUM_TOOL_ENV = 0 D. h., die Funktionalität "Werkzeugumgebungen" ist nicht vor‐ handen.
Seite 740
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Ergebnisvektor <Len>: Datentyp: REAL[11] Die Vektorkomponenten sind in folgender Reihenfolge angeordnet: • <Len> [0]: Werkzeugtyp • <Len> [1]: Schneidenlage • <Len> [2]: Abszisse • <Len> [3]: Ordinate • <Len> [4]: Applikate • <Len> [5]: Werkzeugradius Als Bezugskoordinatensystem für die Längenkomponenten gilt das in <Comp> und <Stat>...
Seite 741
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Werkzeuglängenkomponenten (optional) <Comp>: Datentyp: STRING Die Zeichenkette besteht aus zwei Teilstrings, die durch einen Doppelpunkt vonei‐ nander getrennt sind. Allg. Form: "<SubStr_1> [: <SubStr_2]" Der erste Teilstring bezeichnet die Werkzeuglängenkomponen‐ <SubStr_1>: ten, die bei der Werkzeuglängenberechnung berücksichtigt wer‐ den sollen.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen berücksichtigenden Drehungen werden durch die in <Stat> de‐ finierte Werkzeugumgebung festgelegt. Name des Datensatzes zur Beschreibung einer Werkzeugumgebung (optional) <_Stat>: Datentyp: STRING Ist der Wert dieses Parameters der Nullstring ("") oder wird er nicht angeben, wird der aktuelle Zustand verwendet. Ist kein Werkzeug spezifiziert, wird das aktuelle Werkzeug verwendet.
Seite 743
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Es wird die gesamte Werkzeuglänge des aktiven GETTCOR (_LEN,"-K:B") Werkzeugs ohne Berücksichtigung der Längenkom‐ ponenten einer eventuell aktiven kinematischen Transformation berechnet. Ausgabe im Basiskoor‐ dinatensystem. Es wird die gesamte Werkzeuglänge für das in der GETTCOR (_LEN,":M","Testenv1",,3) Werkzeugumgebung mit dem Namen "Testenv1" abgelegte Werkzeug im Maschinenkoordinatensys‐...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen MD24558/24658 $MC_TRAFO5_JOINT_OFFSET_PART_1/2 (Vektor kinematischer Versatz im Tisch) eingeführt. Es entspricht dem Vektor l3. Das Maschinendatum MD24560/24660 $MC_TRAFO5_JOINT_OFFSET_1/2 entspricht jetzt nicht mehr der Summe aus l1 und l3, sondern nur noch dem Vektor l1. Ist das Maschinendatum MD24558/24658 $MC_TRAFO5_JOINT_OFFSET_PART_1/2 gleich null, so ist das Verhalten identisch zum bisherigen Verhalten.
Seite 746
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Rückgabewert der Funktion. Negative Werte zeigen Fehlerzustände an. <Status>: Datentyp: Wert: Funktion OK Kein Speicherplatz für Werkzeugumgebungen reserviert: MD18116 $MN_MM_NUM_TOOL_ENV = 0 D. h., die Funktionalität "Werkzeugumgebungen" ist nicht vor‐ handen. Eine Werkzeugumgebung mit dem unter <Stat> angegebenen Namen existiert nicht. Ungültiger String im Parameter <Comp>.
Seite 747
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Werkzeugkomponente(n) <Comp>: Datentyp: STRING Die Zeichenkette besteht aus zwei Teilstrings, die durch einen Doppelpunkt vonei‐ nander getrennt sind. Allg. Form: "<SubStr_1> [: <SubStr_2]" Der erste Teilstring muss immer vorhanden sein und kann ent‐ <SubStr_1>: weder aus ein oder zwei Zeichen bestehen. Dabei steht das erste oder einzige Zeichen für die 1.
Seite 748
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Spezifiziert die Komponente(n) des Werkzeugdatensatzes, die beschrieben werden <CorComp>: sollen (optional) Datentyp: Wert: Der Korrekturwert <CorVal>[0] bezieht sich auf die im Parameter <GeoAx> übergebene Geometrieachse im Werkstückkoordina‐ tensystem oder im Werkzeugkoordinatensystem (siehe dazu die Beschreibung des Parameters <Comp>). D. h., der Korrekturwert muss in die bezeichneten Werkzeugkomponenten so eingerech‐...
Seite 749
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Spezifiziert die Art der auszuführenden Schreiboperation (optional) <CorMode>: Datentyp: Wert: = <CorVal> 1neu = Val + <CorVal> 1neu 1alt = <CorVal> 1neu 2neu = Val + Val + <CorVal> 1neu 1alt 2alt 2neu Die Schreibweise Val + Val ist symbolisch zu verstehen.
Seite 750
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Gibt den Index der Geometrieachse an, in der der Korrekturwert <CorVal>[0] ge‐ <GeoAx>: messen wurde (optional) Datentyp: Wertebereich: 0 ... 2 Die Indizes 0 bis 2 beziehen sich auf Abszisse, Ordinate und Applikate in der wirk‐ samen Ebene (G17/G18/G19) der aktuellen Werkzeugumgebung. Der Inhalt dieses Parameters wird nur dann ausgewertet, wenn der Parameter <CorComp>...
Seite 752
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen <CorComp> ist "2", deshalb wird die in Z-Richtung wirkende Korrektur in die Geometrie- Komponente eingetragen (der alte Wert wird überschrieben), und der Verschleißwert wird gelöscht. Die resultierende Werkzeuggesamtlänge ist somit: L1 = 0,333 + 0,0 = 0,333 Beispiel 4 Programmcode Kommentar N10 DEF REAL _CORVAL[3]...
Seite 753
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Programmcode Kommentar N60 $TC_DP13[1,1]=0.0 ; Verschleiß L2 N70 _CORVAL[0]=5.0 N80 ROT Y-30 N90 T1 D1 G18 G0 N100 R1=SETTCOR(_CORVAL,"GW",0,3,1) N110 T1 D1 X0 Y0 Z0 ; ==> MKS-Position X24.330 Y0.000 Z17.500 N120 M30 Das Werkzeug ist ein Drehwerkzeug. In Satz N80 wird eine Framedrehung aktiviert, sodass das Basiskoordinatensystem (BKS) gegenüber dem Werkstückkoordinatensystem (WKS) gedreht ist.
Seite 754
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Setzt man das Beispielprogramm nach N110 mit den folgenden Anweisungen fort, wird der restliche Verschleiß vollständig in die Geometrie übernommen, da die Korrektur jetzt in der Z'-Achse wirkt (Parameter <GeoAx> = 0): N120 _CORVAL[0]=0.0 N130 R1=SETTCOR(_CORVAL,"GW",0,3,0) N140 T1 D1 X0 Y0 Z0 ; ==> MKS-Position X24.330 Y0.000 Z17.500 Da der neue Korrekturwert "0"...
Seite 755
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Programmcode Kommentar N110 T1 D1 X0 Y0 Z0 ; ==> MKS-Position X25.000 Y0.000 Z15.000 N120 M30 Gegenüber Beispiel 6 ist hier der Parameter <CorComp> = 3, deshalb kann die Angabe des Parameters <GeoAx> entfallen. Der in _CORVAL[0] enthaltene Wert wirkt jetzt unmittelbar auf die Werkzeugkomponente L1, die Drehung in N80 hat auf das Ergebnis keinen Einfluss, die Verschleißkomponenten in $TC_DP12 wird zusammen mit _CORVAL[0] in den Geometrieanteil übernommen, sodass wegen $TC_DP13 die gesamte Werkzeuglänge bereits...
Seite 756
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen ① Geometrie L1=10, L2=15 ② Verschleiß L1=10, L2=0 (negative bewertet) ③ Ursprüngliche Werkzeuglänge ④ Resultierender Verschleißanteil Wegen <CorMode> = 1 bleibt der Geometrieanteil des Werkzeugs unverändert. Der im WKS (Drehung um y-Achse) definierte Korrekturvektor muss so in den Verschleißanteil übernommen werden, dass die gesamte Werkzeuglänge in Bild 3 auf den Punkt P verweist.
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Weitere Informationen Dreh- / Schleifwerkzeuge: Berechnung der Werkzeuglänge in Abhängigkeit von MD20360 $MC_TOOL_PARAMETER_DEF_MASK Wie bei Dreh- / Schleifwerkzeugen der Verschleiß bzw. die Werkzeuglänge in einer eventuell vorhandenen Durchmesserachse zu bewerten ist, wird festgelegt im Maschinendatum: MD20360 $MC_TOOL_PARAMETER_DEF_MASK.<Bit> = <Wert> <Bit>...
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Die Korrektur der Werkzeuglänge soll in jeder Achse 1 mm sein (N80 bis N100). In den Längen L2 und L3 wird deshalb zur Originallänge jeweils 1 mm addiert. Zur Originalwerkzeuglänge in L1 wird dagegen der doppelte Korrekturwert (2 mm) addiert, damit sich die Gesamtwerkzeuglänge wie verlangt um 1 mm ändert. Im Vergleich der angefahrenen Positionen in den Sätzen N110 und N130 erkennt man, dass sich jede Achsposition um 1 mm verändert hat.
Seite 759
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Sind die Werkzeuglängenkomponenten parallel zu den Geometrieachsen, werden <AxInd>: die Achsindizes, die den Längenkomponenten L1 bis L3 zugeordnet sind, im Feld <AxInd> zurückgeliefert: • <AxInd> [0]: Abszisse • <AxInd> [1]: Ordinate • <AxInd> [2]: Applikate Datentyp: INT[3] Wert: Keine Zuordnung vorhanden (Achse existiert nicht) 1 ...
Seite 760
Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Hinweis Im TCS sind immer alle Werkzeuglängenkomponenten parallel oder antiparallel zu den Achsen. Antiparallel können die Komponenten nur dann sein, wenn Spiegeln aktiv ist und das folgende Settingdatum gesetzt ist: SD42900 $SC_MIRROR_TOOL_LENGTH (Vorzeichenwechsel Werkzeuglänge beim Spiegeln) Beispiel Standardfall Fräswerkzeug bei G17. L1 wirkt in Z (Applikate), L2 wirkt in Y (Ordinate), L3 wirkt in X (Abszisse).
Arbeitsvorbereitung 4.14 Bahnverhalten 4.14 Bahnverhalten 4.14.1 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Zur flexibleren Vorgabe des Vorschubverlaufs wird die Vorschubprogrammierung nach DIN 66025 um lineare und kubische Verläufe erweitert. Die kubischen Verläufe können direkt oder als interpolierende Splines programmiert werden. Hierdurch lassen sich, abhängig von der Krümmung des zu bearbeitenden Werkstücks, kontinuierlich glatte Geschwindigkeitsverläufe programmieren.
Arbeitsvorbereitung 4.14 Bahnverhalten Der programmierbare Vorschubverlauf gilt grundsätzlich absolut, unabhängig von G90 oder G91. Hinweis Vorschuboptimierung bei gekrümmten Bahnstücken Vorschub-Polynom F=FPO() und Vorschubspline FCUB sollten immer mit konstantem Vorschub an der Kontur CFC abgefahren werden. Hierdurch lässt sich ein beschleunigungsstetiges Sollvorschubprofil erzeugen. Beispiel: Verschiedene Vorschubprofile Programmcode Kommentar...
Seite 763
Arbeitsvorbereitung 4.14 Bahnverhalten Programmcode Kommentar N15 X20 Weitere Informationen FNORM Die Vorschubadresse F bezeichnet den Bahnvorschub als konstanten Wert nach DIN 66025. FLIN Der Vorschubverlauf wird vom aktuellen Vorschubwert zum programmierten F-Wert linear bis Satzende eingefahren. FCUB Der Vorschub wird vom aktuellen Vorschubwert zum programmierten F-Wert bis Satzende im kubischen Verlauf eingefahren.
Seite 764
Arbeitsvorbereitung 4.14 Bahnverhalten F=FPO(… , … , …) Der Vorschubverlauf wird über ein Polynom direkt programmiert. Die Angabe der Polynomkoeffizienten erfolgt analog zur Polynominterpolation. Beispiel: F=FPO(endfeed,quadf,cubf) endfeed, quadf und cubf sind vorher definierte Variablen. endfeed Vorschub am Satzende quadf Quadratischer Polynomkoeffizient cubf Kubischer Polynomkoeffizient Bei aktivem FCUB schließt der Spline am Satzanfang und Satzende tangential an den über...
Arbeitsvorbereitung 4.14 Bahnverhalten FCUB: Der erzeugte Vorschubspline weicht maximal um den im Maschinendatum MD20172 $MC_COMPRESS_VELO_TOL definierten Wert von den program‐ mierten Endpunkten ab. F=FPO(…, …, …): Diese Sätze werden nicht komprimiert. 4.14.2 Beschleunigungsverhalten 4.14.2.1 Beschleunigungsmodus (BRISK, BRISKA, SOFT, SOFTA, DRIVE, DRIVEA) Zur Programmierung des Beschleunigungsmodus stehen folgende Teileprogrammbefehle zur Verfügung: •...
Seite 766
Arbeitsvorbereitung 4.14 Bahnverhalten Bild 4-7 Verlauf der Bahngeschwindigkeit bei DRIVE Syntax BRISK BRISKA(<Achse1>,<Achse2>,…) SOFT SOFTA(<Achse1>,<Achse2>,…) DRIVE DRIVEA(<Achse1>,<Achse2>,…) Bedeutung Befehl zum Einschalten der "Beschleunigung ohne Ruckbegren‐ BRISK: zung" für die Bahnachsen. Befehl zum Einschalten der "Beschleunigung ohne Ruckbegren‐ BRISKA: zung" für Einzelachsbewegungen (JOG, JOG/INC, Positionierach‐ se, Pendelachse, etc.).
Arbeitsvorbereitung 4.14 Bahnverhalten Randbedingungen Wechsel des Beschleunigungsmodus während Bearbeitung Wenn in einem Teileprogramm der Beschleunigungsmodus während der Bearbeitung gewechselt wird (BRISK ↔ SOFT), dann erfolgt auch bei Bahnsteuerbetrieb am Übergang ein Satzwechsel mit Genauhalt am Satzende. Beispiele Beispiel 1: SOFT und BRISKA Programmcode N10 G1 X…...
Arbeitsvorbereitung 4.14 Bahnverhalten JERKLIMA(<Achse>)=<Wert> Bedeutung Befehl zur Korrektur der parametrierten Maximalgeschwindigkeit VELOLIMA: Befehl zur Korrektur der parametrierten Maximalbeschleunigung ACCLIMA: Befehl zur Korrektur des parametrierten Maximalrucks JERKLIMA: Folgeachse, deren Dynamikbegrenzungen korrigiert werden sollen <Achse>: Prozentualer Korrekturwert <Wert>: Beispiel Korrektur der Dynamikbegrenzungen für eine Folgeachse (AX4) Programmcode Kommentar VELOLIMA[AX4]=75...
Seite 769
Arbeitsvorbereitung 4.14 Bahnverhalten $MA...[n,X]=<Wert> Bedeutung Normale Dynamik aktivieren DYNNORM: Dynamik für Positionierbetrieb, Gewindebohren aktivieren DYNPOS: Dynamik für Schruppen aktivieren DYNROUGH: Dynamik für Vorschlichten aktivieren DYNSEMIFIN: Dynamik für Schlichten aktivieren DYNFINISH: Dynamik für Feinschlichten aktivieren DYNPREC: Rechenparameter mit Nummer <m> R<m>: Maschinendatum mit dynamikbestimmendem Feldelement $MA...[n,X]: Feldindex...
Arbeitsvorbereitung 4.14 Bahnverhalten 4.14.3 Fahren mit Vorsteuerung (FFWON, FFWOF) Durch die Vorsteuerung wird der geschwindigkeitsabhängige Nachlaufweg beim Bahnfahren gegen Null reduziert. Fahren mit Vorsteuerung ermöglicht höhere Bahngenauigkeit und damit bessere Fertigungsergebnisse. Syntax FFWON FFWOF Bedeutung Befehl zum Einschalten der Vorsteuerung FFWON: Befehl zum Ausschalten der Vorsteuerung FFWOF: Hinweis...
Seite 771
Arbeitsvorbereitung 4.14 Bahnverhalten Bedeutung Adresse zum Programmieren der Konturtoleranz CTOL: Anwendungsbereich: • alle Kompressor-Funktionen • alle Überschleifarten außer G641 und G644 Vorlaufstopp: nein Wirksamkeit: modal Der Wert für die Konturtoleranz ist eine Längenangabe. <Value>: Typ: REAL Einheit: Inch/mm (abhängig von der aktuellen Einstel‐ lung der Maßangabe) Wertebereich: ≥...
Seite 772
Arbeitsvorbereitung 4.14 Bahnverhalten Adresse zum Programmieren einer achsspezifischen Toleranz ATOL: Anwendungsbereich: • alle Kompressor-Funktionen • Orientierungsglättung ORISON • alle Überschleifarten außer G641, G644 und OSD Vorlaufstopp: nein Wirksamkeit: modal Name der Kanalachse, für welche die programmierte Toleranz wir‐ <Axis>: ken soll Der Wert für die Achstoleranz ist je nach Achstyp (Linear- oder <Value>: Rundachse) eine Längen- oder Winkelangabe.
Seite 773
Arbeitsvorbereitung 4.14 Bahnverhalten Programmcode Kommentar X... Y... Z... X... Y... Z... CTOL=–1 ; Ab hier wirken wieder Maschinen- und Settingdaten. X... Y... Z... X... Y... Z... X... Y... Z... NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Seite 774
Arbeitsvorbereitung 4.14 Bahnverhalten Weitere Informationen Systemvariablen Über folgende Systemvariablen sind die aktuell wirksamen Toleranzen lesbar: • Lesen mit Vorlaufstopp (im Teileprogramm und Synchronaktion) – $AC_CTOL Kanalspezifische Konturtoleranz, die bei der Aufbereitung des aktuellen Hauptlaufsatzes wirksam war. Wenn keine Konturtoleranz wirksam ist, liefert $AC_CTOL die Wurzel aus der Summe der Quadrate der Toleranzen der Geometrieachsen.
Arbeitsvorbereitung 4.14 Bahnverhalten Randbedingungen Die mit CTOL, OTOL und ATOL programmierten Toleranzen wirken auch auf Funktionen, die indirekt von diesen Toleranzen abhängen: • Die Begrenzung des Sehnenfehlers bei der Sollwertberechnung • Die Grundfunktionen des Freiformflächenmodus Folgende Überschleif-Funktionen werden durch die Programmierung von CTOL, OTOL und ATOL nicht beeinflusst: •...
Seite 776
Arbeitsvorbereitung 4.14 Bahnverhalten Beispiel Programmcode Kommentar N10 G0 X0 Y0 N20 CPRECON ; Einschalten der "Programmierbaren Konturgenauigkeit". N30 G1 G64 X100 F10000 ; Bearbeitung mit 10 m/min im Bahnsteuerbetrieb. N40 G3 Y20 J10 ; Automatische Vorschubbegrenzung im Kreissatz. N50 G1 X0 ;...
Arbeitsvorbereitung 4.14 Bahnverhalten Der Vorschub wird nicht unter diesen Wert begrenzt, es sei denn, ein niedrigerer F-Wert wurde programmiert oder die dynamischen Begrenzungen der Achsen erzwingen eine niedrigere Bahngeschwindigkeit. Kein Einfluss auf Positionierachsen Die Funktion "Programmierbare Konturgenauigkeit" betrachtet nur die Geometrieachsen der Bahn.
Arbeitsvorbereitung 4.14 Bahnverhalten Sind die Voraussetzungen nicht erfüllt, wird Alarm 14782 bzw. 26380 ausgegeben. Anhalten beim Ein- / Ausschalten Beim Ein- und Ausschalten der Funktion kommt es nur dann zu einem Anhalten der Bahnbewegung, wenn ein Umschalten der Lagesollwert-Filterkette notwendig ist. Überschleifen Findet bei aktivem Überschleifen (G64x) bei einem Satzwechsel ein Anhalten und eine automatische Umschaltung der Filterkette statt, hat das keinen Einfluss auf die...
Arbeitsvorbereitung 4.14 Bahnverhalten 4.14.7 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Je nach Ausbaustufe verfügt die Steuerung über eine bestimmte Menge sog. Vorlaufspeicher, die fertig aufbereitete Sätze vor der Abarbeitung speichern und im Fertigungsablauf als schnelle Satzfolgen ausgeben. Hierdurch lassen sich kurze Wege mit hohen Geschwindigkeiten abfahren.
Seite 781
Arbeitsvorbereitung 4.14 Bahnverhalten vorher aufbereiteten und gespeicherten Sätze vollständig abgearbeitet sind. Der vorherige Satz wird im Genauhalt angehalten (wie G9). ACHTUNG Programmabbruch Bei eingeschalteter Werkzeugkorrektur und bei Spline-Interpolationen sollte kein "STOPRE" programmiert werden, da sonst zusammengehörige Satzfolgen unterbrochen werden. Syntax Tabelle 4-2 Bearbeitungsabschnitt kennzeichnen: STOPFIFO STARTFIFO...
Arbeitsvorbereitung 4.14 Bahnverhalten Bedeutung "STOPFIFO" kennzeichnet den Beginn eines Bearbeitungsabschnitts, der im Vorlauf‐ STOPFIFO: speicher zwischengespeichert werden soll. Mit "STOPFIFO" wird die Bearbeitung angehalten und der Vorlaufspeicher gefüllt, bis: • "STARTFIFO" oder "STOPRE" erkannt wird oder • der Vorlaufspeicher voll ist oder •...
Seite 783
Arbeitsvorbereitung 4.14 Bahnverhalten Syntax DELAYFSTON DELAYFSTOF Bedeutung Beginn eines Stop-Delay-Bereichs definieren DELAYFSTON: Alleine im Satz: Ende eines Stop-Delay-Bereichs definieren DELAYFSTOF: Alleine im Satz: Programmierbeispiel In einer Schleife wird folgender Programmblock wiederholt: Programmcode N99 MY_LOOP: N100 G0 Z200 N200 G0 X0 Z200 N300 DELAYFSTON N400 G33 Z5 K2 M3 S1000 N500 G33 Z0 X5 K3...
Arbeitsvorbereitung 4.14 Bahnverhalten Weitere Informationen Unterprogrammende Mit dem Ende des Unterprogramms, in dem DELAYFSTON gerufen wurde, wird implizit DELAYFSTOF aktiviert. Schachtelung Ruft Unterprogramm 1 in einem Stop-Delay-Bereich Unterprogramm 2, so ist Unterprogramm 2 komplett ein Stop-Delay-Bereich. Insbesondere ist DELAYFSTOF in Unterprogramm 2 wirkungslos. Beispiel: Programmcode Kommentar N10010 DELAYFSTON ;...
Seite 785
Arbeitsvorbereitung 4.14 Bahnverhalten Mit einem programmierbaren Unterbrechungszeiger besteht eine Eingriffsmöglichkeit, beim "Suchen auf der Unterbrechungsstelle", vor der suchunfähigen Stelle aufzusetzen. Es können auch suchunfähige Bereiche in Teileprogrammbereichen definiert werden, in denen die NC noch nicht wieder einsteigen kann. Mit dem Programmabbruch vermerkt der NC den zuletzt verarbeiteten Satz, auf den über die Bedienoberfläche HMI gesucht werden kann.
Arbeitsvorbereitung 4.14 Bahnverhalten Weitere Informationen Suchunfähige Bereiche erfassen und suchen Die suchunfähigen Programmabschnitte werden mit dem Sprachbefehlen "IPTRLOCK" und "IPTRUNLOCK" gekennzeichnet. Der Befehl "IPTRLOCK" friert den Unterbrechungszeiger auf ein im Hauptlauf ausführbaren Einzelsatz (SB1) ein. Dieser Satz wird im Folgenden als Haltesatz bezeichnet. Tritt nach "IPTRLOCK"...
Arbeitsvorbereitung 4.14 Bahnverhalten 4.14.10 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) Wenn Sie während der Bearbeitung das laufende Programm unterbrechen und das Werkzeug freifahren – z.B. wegen Werkzeugbruchs oder zum Vermessen des Werkstücks – können Sie anschließend die Kontur an einem wählbaren Punkt programmgesteuert wieder anfahren.
Seite 788
Arbeitsvorbereitung 4.14 Bahnverhalten Bedeutung Auswahl des Anfahrwegs Wiederanfahren an die Kontur mit den Geometrieachsen auf einer Ge‐ REPOSA: raden. Alle anderen Kanalachsen werden ebenfalls repositioniert. Wiederanfahren an die Kontur mit den Geometrieachsen auf einer Ge‐ REPOSL: raden . Alle anderen Kanalachsen müssen explizit programmiert werden. REPOSQ DISR=…...
Seite 789
Arbeitsvorbereitung 4.14 Bahnverhalten Wiederanfahren an die Kontur mit Viertelkreis, REPOSQ, REPOSQA Das Werkzeug fährt den Wiederanfahrpunkt auf einem Viertelkreis mit Radius DISR=... an. Den notwendigen Zwischenpunkt zwischen Start- und Wiederanfahrpunkt berechnet die Steuerung automatisch. Beispiel REPOSQ RMIBL DISR=10 F400 NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Arbeitsvorbereitung 4.14 Bahnverhalten Wiederanfahren an die Kontur mit Halbkreis, REPOSH, REPOSHA Das Werkzeug fährt den Wiederanfahrpunkt auf einem Halbkreis mit Durchmesser DISR=... an. Den notwendigen Zwischenpunkt zwischen Start- und Wiederanfahrpunkt berechnet die Steuerung automatisch. Beispiel REPOSH RMIBL DISR=20 F400 Zwischen- punkt Startpunkt Wiederanfahr- punkt...
Arbeitsvorbereitung 4.14 Bahnverhalten Mit RMIBL DISPR=... bzw. mit RMEBL DISPR=... können Sie einen Wiederanfahrpunkt festlegen, der vor dem Unterbrechungspunkt bzw. vor dem Satzendpunkt liegt. Mit DISPR=... beschreiben Sie den Konturweg in mm/inch, um den der Wiederanfahrpunkt vor dem Unterbrechungs- bzw. Endpunkt liegt. Dieser Punkt kann - auch für größere Werte - maximal im Satzanfangspunkt liegen.
Seite 792
Arbeitsvorbereitung 4.14 Bahnverhalten SERUPRO-Anfahren mit RMNBL Wird bei der Bearbeitung an einer beliebigen Stelle ein Abbruch erzwungen, dann wird mit SERUPRO-Anfahren unter RMNBL der kürzeste Weg von der Abbruchstelle angefahren, um anschließend nur den Restweg abzuarbeiten. Dazu startet der Anwender ein SERUPRO-Vorgang auf den Unterbrechungssatz und positioniert mit den JOG-Tasten vor die schadhafte Stelle des Zielsatzes.
Arbeitsvorbereitung 4.14 Bahnverhalten Anfahren vom nächstliegenden Bahnpunkt RMNBL Zum Interpretationszeitpunkt von REPOSA wird nach einer Unterbrechung der Wiederanfahrsatz mit RMNBL nicht noch einmal komplett begonnen, sondern nur der Restweg abgearbeitet. Es wird der nächstliegende Bahnpunkt des unterbrochenen Satzes angefahren. Status für den gültigen REPOS-Mode Der gültige REPOS-Mode des unterbrochenen Satzes kann über Synchronaktionen mit der Variablen $AC_REPOS_PATH_MODE gelesen werden: Anfahren nicht definiert...
Seite 794
Arbeitsvorbereitung 4.14 Bahnverhalten Kontur anfahren Die Bewegung, mit der das Werkzeug wieder an die Kontur heranfährt, ist programmierbar. Die Adressen der zu verfahrenden Achsen geben Sie mit Wert Null an. Mit den Befehlen REPOSA, REPOSQA und REPOSHA werden automatisch alle Achsen repositioniert.
Arbeitsvorbereitung 4.14 Bahnverhalten In folgenden Fällen wird automatisch auf lineares Anfahren REPOSL umgeschaltet: • Sie haben keinen Wert für DISR angegeben. • Es gibt keine definierte Anfahrrichtung (Programmunterbrechung in einem Satz ohne Verfahrinformation). • Bei Anfahrrichtung senkrecht zur aktuellen Arbeitsebene. 4.14.11 Beeinflussung der Bewegungsführung 4.14.11.1 Maximale Achsgeschwindigkeit oder Spindeldrehzahl anpassen (VELOLIM)
Arbeitsvorbereitung 4.14 Bahnverhalten Bedeutung Geschwindigkeits- oder Drehzahlgrenzwert anpassen VELOLIM: Achse oder Spindel, deren Geschwindigkeits- oder Drehzahlgrenzwert angepasst <Ax>: werden soll Über MD30455 $MA_MISC_FUNCTION_MASK Bit 6 kann eingestellt werden, ob VELOLIM unabhängig von der aktuellen Verwendung als Spindel oder Achse wirkt (Bit 6 = 1) oder getrennt für jede Betriebsart programmierbar sein soll (Bit 6 = 0). Ist eine getrennte Wirkung projektiert, dann wird die Auswahl über den Bezeichner bei der Programmierung getroffen: •...
Arbeitsvorbereitung 4.14 Bahnverhalten Prozentualer Korrekturwert <Wert>: Der Korrekturwert bezieht sich auf den projektierten maximalen Achsruck bei Bahnbewegung (MD32431 $MA_MAX_AX_JERK). Wertebereich: 1 ... 200 Der Wert 100 bewirkt keine Beeinflussung des Rucks. Hinweis Verhalten bei Teileprogrammende und Kanal-Reset Das Verhalten von JERKLIM bei Teileprogrammende und Kanal-Reset ist abhängig von der Einstellung von Bit 0 im Maschinendatum MD32320 $MA_DYN_LIMIT_RESET_MASK.
Seite 799
Arbeitsvorbereitung 4.14 Bahnverhalten Hinweis Die Funktion "Maximale Bahngeschwindigkeit anpassen" ist nur in Kombination mit Linearvorschub G94 wirksam. In Kombination mit anderen Vorschubarten (G93, G931, G95, G96, G97, G971, G972) ist die Funktion nicht anwendbar. Syntax FLIM=<Value> FLIM=-1 Bedeutung Adresse zum Anpassen der maximalen Bahngeschwindigkeit FLIM Geschwindigkeitswert, auf den die maximale Bahngeschwindigkeit begrenzt wer‐...
Arbeitsvorbereitung 4.14 Bahnverhalten 4.14.11.4 Maximale Bahnbeschleunigung anpassen (PACCLIM) Mit der Funktion "Maximale Bahnbeschleunigung anpassen" kann im Teileprogramm die aus den achsialen Begrenzungswerten resultierende Beschleunigung der Bahnbewegung in kritischen Programmabschnitten reduziert werden. Der Beschleunigungswert, auf den die maximale Bahnbeschleunigung reduziert werden soll, wird über die Adresse PACCLIM programmiert.
Arbeitsvorbereitung 4.14 Bahnverhalten Hinweis In seiner Wirkung ähnelt PACCLIM dem Settingdatum SD42500 $SC_SD_MAX_PATH_ACCEL (Maximale Bahnbeschleunigung). Im Unterschied zu SD42500 arbeitet PACCLIM jedoch satzsynchron. Hinweis Bei der Berechnung des Begrenzungswerts wird der Wert von SD42500 $SC_SD_MAX_PATH_ACCEL nur dann berücksichtigt, wenn SD42502 $SC_IS_SD_MAX_PATH_ACCEL auf "TRUE" gesetzt ist. Sind sowohl PACCLIM als auch SD42500 $SC_SD_MAX_PATH_ACCEL aktiv, wird der kleinere der beiden Begrenzungswerte wirksam.
Arbeitsvorbereitung 4.15 Achsfunktionen Mit GETD (GET Directly) wird eine Achse direkt aus einem anderen Kanal geholt. Das bedeutet, dass zu diesem GETD kein passendes RELEASE in einem anderen Kanal programmiert sein muss. Es bedeutet aber auch, dass jetzt eine andere Kanalkommunikation aufgebaut werden muss (z. B.
Seite 804
Arbeitsvorbereitung 4.15 Achsfunktionen Programmcode Kommentar N… RELEASE (AX2) ; Achse AX2 freigeben. N… WAITM (1,1,2) ; Warten auf WAIT-Marke in Kanal 1 und 2 zur Synchro- nisation in den beiden Kanälen. ; Weiterer Ablauf nach Achstausch. N… M30 Programm "TAUSCH2" in Kanal 2: Programmierung Kommentar N…...
Arbeitsvorbereitung 4.15 Achsfunktionen Programmierung Kommentar N023 WAITP(B) ; Achse B wird zur neutralen Achse. N030 X1 F10 N031 X100 F500 N032 X200 N040 M3 S500 ; Achse löst kein Vorlaufstopp/REORG aus. N041 G4 F2 N050 M5 N099 M30 Wird die Spindel bzw. Achse B unmittelbar nach dem Satz N023 als PLC-Achse z. B. auf 180 Grad und zurück auf 1 Grad verfahren, dann wird diese Achse wieder zur neutralen Achse und löst im Satz N40 keinen Vorlaufstopp auf.
Arbeitsvorbereitung 4.15 Achsfunktionen Eine Achse muss immer dann synchronisiert werden, wenn sie zwischenzeitlich in einem anderen Kanal oder der PLC zugeordnet war, und vor dem GET keine Synchronisierung durch "WAITP", G74 oder Restweglöschen stattgefunden hat. • Ein Vorlaufstopp erfolgt (wie bei STOPRE). •...
Seite 807
Arbeitsvorbereitung 4.15 Achsfunktionen Bedeutung Element Beschreibung Achse für einen bestimmten Kanal anfordern AXTOCHAN: Achszuordnung im System: X, Y, … oder Angabe der beteiligten Maschinen‐ Achsname: achsnamen. Der auszuführende Kanal muss nicht der eigene Kanal sein und es muss auch nicht der Kanal sein, der aktuell das Interpolationsrecht für die Achse besitzt Nummer des Kanals, dem die Achse zugeordnet werden soll Kanalnummer:...
Arbeitsvorbereitung 4.15 Achsfunktionen AXTOCHAN aus einer Synchronaktion Wird eine Achse für den eigenen Kanal angefordert so wird AXTOCHAN aus einer Synchronaktion auf ein GET aus einer Synchronaktion abgebildet. In diesem Fall wird die Achse bei der ersten Anforderung für den eigenen Kanal zur neutralen Achse. Bei der zweiten Anforderung wird die Achse dem NC-Programm analog zur GET-Anforderung im NC-Programm zugeordnet.
Seite 809
Arbeitsvorbereitung 4.15 Achsfunktionen Wandelt einen Achsbezeichner in einen Spindelindex vom Typ Integer um. "AX‐ AXTOSPI: TOSPI" entspricht der Umkehrfunktion zu "SPI". Achsbezeichner vom Typ AXIS als Variable oder Konstante X, Y, Z: Es wird der String mit zugeordneter Spindelnummer ausgegeben. AXSTRING: Prüft, ob die angegebene Geometrieachse vorhanden ist.
Arbeitsvorbereitung 4.15 Achsfunktionen MD30340 MODULO_RANGE_START = 0 MD30330 $MA_MODULO_RANGE = 360 Programmcode Kommentar R10=MODAXVAL(A,372.55) ; Berechnete Modulo-Position R10 = 12.55. Beispiel 4: MODAXVAL Wenn sich der programmierte Achsbezeichner nicht auf eine Modulo-Rundachse bezieht, dann wird der zu wandelnde Wert (<Achsposition>) unverändert zurückgegeben. Programmcode Kommentar R11=MODAXVAL(X,372.55) ;...
Seite 811
Arbeitsvorbereitung 4.15 Achsfunktionen Die Geometrieachsen sind so projektiert, dass nach dem Einschalten zunächst Z1 als 3. Geometrieachse unter dem Geometrieachsnamen "Z" wirksam ist und zusammen mit X1 und Y1 den Geometrieachsverbund bildet. Im Teileprogramm sollen nun die Achsen Z1 und Z2 wechselweise als Geometrieachse Z zum Einsatz kommen: Programmcode Kommentar...
Seite 812
Arbeitsvorbereitung 4.15 Achsfunktionen Programmcode Kommentar N40 GEOAX(1,XX,3,ZZ) ; Kanalachse XX wird zur ersten (X), ZZ zur dritten ; Geometrieachse (Z). Kanalachse V bleibt zweite ; Geometrieachse (Y). N50 G17 G2 X20 I10 F1000 ; Vollkreis in der X/Y-Ebene. Es fahren die ;...
Seite 813
Arbeitsvorbereitung 4.15 Achsfunktionen NC-Start-Verhalten • MD20112 $MC_START_MODE_MASK, Bit 12 Mitteilung an PLC-Anwenderprogramm Parametriermöglichkeit des M-Befehls der bei einer Geometrieachsumschaltung an die NC/ PLC-Nahtstelle ausgegeben wird: • MD22532 $MC_GEOAX_CHANGE_M_CODE Randbedingungen Keine Geometrieachsumschaltung • Ist eine der folgenden Funktionen aktiv, ist keine Geometrieachsumschaltung möglich: –...
Arbeitsvorbereitung 4.15 Achsfunktionen Werkzeuglängenkorrektur Eine aktive Werkzeuglängenkorrektur ist auch nach dem Umschaltvorgang wirksam. Sie gilt jedoch für die neu aufgenommenen bzw. positionsgetauschten Geometrieachsen als noch nicht herausgefahren. Beim ersten Bewegungsbefehl für diese Geometrieachsen besteht der resultierende Verfahrweg dementsprechend aus der Summe von Werkzeuglängenkorrektur und programmiertem Verfahrweg.
Seite 815
Arbeitsvorbereitung 4.15 Achsfunktionen Syntax "WAITENC" kann im Programmteil eines beliebigen NC-Programms programmiert werden. Die Programmierung muss in einem eigenen Satz erfolgen: WAITENC Beispiel "WAITENC" wird z. B. im ereignisgesteuerten Anwenderprogramm .../_N_CMA_DIR/ _N_PROG_EVENT_SPF verwendet, wie das folgende Anwendungsbeispiel zeigt. Anwendungsbeispiel: Werkzeugrückzug nach POWER OFF mit Orientierungstransformation Eine Bearbeitung mit Werkzeugorientierung wurde durch Spannungsausfall abgebrochen.
Arbeitsvorbereitung 4.15 Achsfunktionen 4.15.6 Programmierbare Parametersatzumschaltung (SCPARA) Mit dem Befehl SCPARA kann für eine Achse die Umschaltung auf einen bestimmten Parametersatz angefordert werden. Hinweis Keine Parametersatzumschaltung während Gewindebearbeitung Bei Gewindeschneiden G33 und Gewindebohren G331 / G332 wird der Parametersatz von der Steuerung ausgewählt und kann nicht verändert werden.
Arbeitsvorbereitung 4.15 Achsfunktionen MD35590 $MA_PARAMSET_CHANGE_ENABLE[<Achse>] Paramtersatznummer lesen Die Nummer des angewählten Parametersatzes (Soll-Parametersatz) kann über die Systemvariable $AA_SCPAR gelesen werden. 4.15.7 Adaption ein-/ausschalten (CADAPTON, CADAPTOF) Mit den vordefinierten Prozeduren CADAPTON() und CADAPTOF() können vordefinierte Adaptionen zur Anpassung von Dynamik- oder Regelungsparametern aus dem Teileprogramm heraus aktiviert, aktualisiert und deaktiviert werden.
Seite 818
Arbeitsvorbereitung 4.15 Achsfunktionen Maschinenachsname der Eingangsachse der Adaptionsbeziehung <Axis>: Datentyp: AXIS Wertebe‐ Im Kanal definierte Maschinenachsnamen reich: Hinweis: Mit diesem Parameter werden diejenigen Adaptionen adressiert, die in MD16504 $MN_CADAPT_INPUT_AX einen dem Parameter <Axis> entsprechenden Wert ein‐ getragen haben. Die weiteren Parameter <InVar> und <InVal> sind dieser Achse zugeordnet.
Arbeitsvorbereitung 4.15 Achsfunktionen Weitere Informationen Satzsuchlauf • Satzsuchlauf ohne Berechnung CADAPTON/CADAPTOF-Anweisungen, die zwischen Programmanfang und Zielsatz programmiert sind, werden ignoriert. Der Anwender muss das Suchziel so wählen, dass die für den Bearbeitungsabschnitt relevanten Adaptionen angewählt werden. • Satzsuchlauf mit Berechnung an Kontur bzw. an Satzendpunkt Die Aktivierungs- bzw.
Arbeitsvorbereitung 4.15 Achsfunktionen Voraussetzungen • Option "Top Speed Plus" ist gesetzt. Hinweis Um mit "Top Speed Plus" optimale Ergebnisse zu erzielen, wird zusätzlich die Verwendung der Option "Top Surface" empfohlen. • Für die Achsen im Interpolationsverbund müssen folgende Bedingungen erfüllt sein: –...
Eingesetzt werden DRVPRD und DRVPWR in einem vom Maschinenhersteller erstellten Zyklus. Voraussetzungen Es gelten folgende Voraussetzungen: • Die Inbetriebnahme des NC-gesteuerten Antriebs ist abgeschlossen. • Zyklen im CST-Verzeichnis (Siemens) oder CMA-Verzeichnis (Hersteller) haben immer die erforderlichen Lese- und Schreibrechte. Syntax DRVPRD(<Result>,<Axis>,<DrvParNo>,<DrvParIdx>,<Value>) DRVPWR(<Result>,<Axis>,<DrvParNo>,<DrvParIdx>,<Value>)
Seite 822
Arbeitsvorbereitung 4.15 Achsfunktionen Wert des Antriebsparameters <Value>: DRVPRD: gelesener Wert DRVPWR: zu schreibender Wert Datentyp: REAL Beispiel Parameter p1460[0] "Drehzahlregler P-Verstärkung Adaptionsdrehzahl" der X-Achse lesen: Programmcode Kommentar N100 DEF INT _Status ; Variablendefinition für Rückgabewert des Sprachbefehls N110 DEF REAL _Result ;...
Seite 823
Arbeitsvorbereitung 4.15 Achsfunktionen Um die Rückgabewerte des Sprachbefehls von den Rückgabewerten des Antriebs zu unterscheiden, wird der Wert 1000 addiert. Weitere Informationen: SINUMERIK Diagnosehandbuch, Alarm 201042 "Parameterfehler beim Projekt-Download" Verhalten bei Programm-Simulation Die verfügbaren Antriebsparameter sind von Ausprägung und Umfang der verwendeten Antriebssimulation abhängig.
Arbeitsvorbereitung 4.16 Achskopplungen 4.16 Achskopplungen 4.16.1 Mitschleppen (TRAILON, TRAILOF) Beim Bewegen einer definierten Leitachse fahren ihr zugeordnete Mitschleppachsen (= Folgeachsen) unter Berücksichtigung eines Koppelfaktors die von der Leitachse abgeleiteten Verfahrwege ab. Leitachse und Folgeachsen bilden zusammen einen Mitschleppverband. Anwendung Typische Anwendungsbereiche sind: •...
Seite 825
Arbeitsvorbereitung 4.16 Achskopplungen Befehl zum Ausschalten eines Mitschleppverbandes TRAILOF: Wirksamkeit: modal TRAILOF mit 2 Parametern schaltet nur die Kopplung zur angegebenen Leitachse aus: TRAILOF(<Folgeachse>,<Leitachse>) Besitzt eine Mitschleppachse 2 Leitachsen, kann zum Ausschalten der bei‐ den Kopplungen TRAILOF mit 3 Parametern aufgerufen werden: TRAILOF(<Folgeachse>,<Leitachse>,<Leitachse 2>) Das gleiche Ergebnis liefert die Programmierung von TRAILOF ohne Anga‐...
Seite 826
Arbeitsvorbereitung 4.16 Achskopplungen Programmcode Kommentar N100 TRAILON(V,Y) ; Einschalten des 1. Mitschleppverbandes N110 TRAILON(W,Z,–1) ; Einschalten des 2. Mitschleppverbandes. Koppelfaktor negativ: Mitschleppachse fährt jeweils in entgegengesetz- ter Richtung wie Leitachse. N120 G0 Z10 ; Zustellung der Z- und W-Achse in entgegengesetzter Achs- richtung.
Arbeitsvorbereitung 4.16 Achskopplungen Dynamikbegrenzung Die Dynamikbegrenzung ist abhängig von der Art der Aktivierung des Mitschleppverbandes: • Aktivierung im Teileprogramm Erfolgt die Aktivierung im Teileprogramm und sind alle Leitachsen als Programmachsen im aktivierenden Kanal, wird beim Verfahren der Leitachsen die Dynamik aller Mitschleppachsen so berücksichtigt, dass keine Mitschleppachse überlastet wird.
Arbeitsvorbereitung 4.16 Achskopplungen Programmcode Kommentar ; Restweganzeige am Satzanfang: G91 B360 ; B=360, C=360 G91 B720 ; B=720, C=1080 G91 B360 ; B=360, C=1440 4.16.2 Elektronisches Getriebe (EG) Mit Hilfe der Funktion "Elektronisches Getriebe" ist es möglich, die Bewegung einer Folgeachse nach linearem Bewegungssatz abhängig von bis zu fünf Leitachsen zu steuern.
Arbeitsvorbereitung 4.16 Achskopplungen Syntax EGDEF(Folgeachse,Leitachse1,Kopplungstyp1,Leitachse2,Kopplungstyp2,. Bedeutung Definition eines elektronischen Getriebes EGDEF: Achse, die von Leitachsen beeinflusst wird Folgeachse: Achsen, die die Folgeachse beeinflussen Leitachse1 ,..., Leitachse5 Kopplungstyp Kopplungstyp1 ,..., Der Kopplungstyp muss nicht für alle Leitachsen gleich sein und ist daher Kopplungstyp5 für jede Leitachse einzeln anzugeben.
Seite 830
Arbeitsvorbereitung 4.16 Achskopplungen Variante 2: Der EG-Achsverband wird mitSynchronisation selektiv eingeschaltet mit: EGONSYN(FA,"Satzwechselmodus",SynPosFA,[,LAi,SynPosLAi,Zi,Ni]) Variante 3: Der EG-Achsverband wird mitSynchronisation selektiv eingeschaltet und der Anfahrmodus vorgegeben mit: EGONSYNE(FA,"Satzwechselmodus",SynPosFA,Anfahrmodus[,LAi,SynPosLAi,Z i,Ni]) Bedeutung Variante 1: Folgeachse Folgende Modi können benutzt werden: Satzwechselmodus: Satzwechsel erfolgt sofort "NOC"...
Seite 831
Arbeitsvorbereitung 4.16 Achskopplungen für die Leitachsen (SynPosLA) werden Positionen definiert, in denen der Koppelverband als synchron gilt. Sofern sich das elektronische Getriebe beim Einschalten nicht in synchronem Zustand befindet, fährt die Folgeachse auf ihre definierte Synchronposition. Variante 3: Die Parameter entsprechen denen der Variante 2 zuzüglich: Folgende Modi können benutzt werden: Anfahrmodus: Nächste Zahnlücke zeitoptimiert anfahren...
Arbeitsvorbereitung 4.16 Achskopplungen Kurventabellen Wird für eine der Leitachsen eine Kurventabelle verwendet, ist folgendes zu beachten: Der Nenner des Koppelfaktors der linearen Kopplungen muss auf den Wert 0 gesetzt werden. Bei Nenner 0 wird der Zähler als Nummer der zu verwendenden Kurventabelle in‐ terpretiert.
Arbeitsvorbereitung 4.16 Achskopplungen Variante 2: Syntax Bedeutung Diese Parametrierung des Befehls erlaubt se‐ EGOFS(Folgeachse,Leitachse1, lektiv den Einfluss einzelner Leitachsen auf …,Leitachse5) die Bewegung der Folgeachse zu beseitigen. Es muss wenigstens eine Leitachse angegeben werden. Der Einfluss der angegebenen Leitachsen auf die Folgeachse wird gezielt ausgeschaltet. Der Aufruf löst Vorlaufstopp aus. Verbleiben noch aktive Leitachsen, so läuft die Folgeachse unter deren Einfluss weiter.
Arbeitsvorbereitung 4.16 Achskopplungen 4.16.3 Synchronspindelkopplung (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) Die Synchronspindelkopplung ermöglicht ein drehzahlsynchrones Verfahren von Folgespindel (FS) und Leitspindel (LS) eines Synchronspindelpaares. Die Folgespindel folgt bei aktiver Kopplung (Synchronbetrieb) den Bewegungen der Leitspindel entsprechend des vorgegebenen Übersetzungsverhältnisses.
Seite 835
Arbeitsvorbereitung 4.16 Achskopplungen Anwendung Typische Anwendungsbereiche sind: • Fliegende Werkstückübergabe, z. B. zur Rückseitenbearbeitung (Übersetzungsverhältnis: 1:1) ① Die Drehzahlen n1 von Spindel S1 und n2 von Spindel S2 sind unterschiedlich (n1 ≠ n2). Vor der Werkstückübergabe ist daher eine Synchronisierung erforderlich (Übersetzungsver‐ hältnis: 1:1).
Seite 836
Arbeitsvorbereitung 4.16 Achskopplungen Syntax COUPDEF(<FS>,<LS>,<TRNom>,[<TRDenom>],<BlockChange>,<CouplingType>) COUPON(<FS>[,<LS>,<POSFS>]) COUPONC(<FS>[,<LS>]) COUPOF(<FS>[,<LS>]) COUPOFS(<FS>[,<LS>]) COUPRES(<FS>[,<LS>]) COUPDEL(<FS>[,<LS>]) WAITC(<FS>,<BlockChange>,<LS>,<BlockChange>) Bedeutung Kopplung anwenderspezifisch definieren/ändern COUPDEF Kopplung einschalten COUPON Ausgehend von der aktuellen Drehzahl synchronisiert sich die Folgespindel auf die Leitspindel. Kopplung einschalten mit Übernahme der Spindelprogrammierung M3 S... COUPONC oder M4 S... Eine Differenzdrehzahl der Folgespindel wird sofort übernommen.
Arbeitsvorbereitung 4.16 Achskopplungen Optionale Parameter: Zähler des Übersetzungsverhältnisses <TRNom> Nenner des Übersetzungsverhältnisses <TRDenom> Das Übersetzungsverhältnis ist das Drehzahlverhältnis zwischen Folge- und Leitspindel: FS / Die Programmierung erfolgt durch Angabe von Zähler und Nenner des Über‐ setzungsverhältnisses: COUPDEF(...,...,<TRNom>,[<TRDenom>],...,..) Die Angabe des Nenners ist optional. Ohne Angabe wird der Defaultwert 1.0 gesetzt.
Arbeitsvorbereitung 4.16 Achskopplungen Hinweis Leitspindel im Achsbetrieb Befindet sich die Leitspindel vor der Definition der Kopplung im Achsbetrieb, wirkt auch nach dem Einschalten der Kopplung der Geschwindigkeitsgrenzwert aus Maschinendatum: MD32000 $MA_MAX_AX_VELO (maximale Achsgeschwindigkeit) Zur Vermeidung dieses Verhaltens muss die Achse vor der Definition der Kopplung in den Spindelbetrieb (M3 S...
Seite 841
Arbeitsvorbereitung 4.16 Achskopplungen Differenzdrehzahl Eine Differenzdrehzahl entsteht im Drehzahlsteuerbetrieb und aktiver Synchronspindelkopplung durch vorzeichenbehaftete Überlagerung einer FS-Drehzahl aufgrund LS-Bewegung und einer FS-Drehzahl aufgrund Spindelprogrammierung: • Synchronspindelkopplung mit COUPONC • S<FS>=<Drehzahl> [ M<FS>=<Drehrichtung>] Hinweis Folgende Bedingungen sind zu beachten: • Mit der Drehrichtung M3/M4 muss auch die Drehzahl S... neu programmiert werden. •...
Arbeitsvorbereitung 4.16 Achskopplungen Systemvariablen • Aktueller Kopplungszustand der Folgespindel Der aktuelle Kopplungszustand einer Folgespindel kann bitcodiert gelesen werden über: <Wert> = $AA_COUP_ACT[<FS>] <Wert> Bedeutung keine Kopplung aktiv Synchronspindelkopplung aktiv Alle andere Werte beziehen sich auf Achsbetrieb. Ist die Spindel eine Folgespindel von mehreren Kopplungen, wird als Wert der Kopplungszustand aller Kopplungen als Summenzustand zurückgegeben.
Seite 843
Arbeitsvorbereitung 4.16 Achskopplungen Übersicht aller Schlüsselwörter und Kopplungseigenschaften Die folgende Tabelle stellt eine Übersicht aller Schlüsselwörter der Generischen Kopplung und der damit programmierbaren Kopplungseigenschaften dar: Schlüsselwort Kopplungseigenschaft / Be‐ Syntax deutung Anlegen eines Koppelmoduls CPDEF CPDEF=(<FAx>) Löschen eines Koppelmoduls CPDEL CPDEL=(<FAx>) Definition einer Leitachse CPLA CPLA[<FAx>]=(<LAx>)
Seite 844
Arbeitsvorbereitung 4.16 Achskopplungen Schlüsselwort Kopplungseigenschaft / Be‐ Syntax deutung Satzwechselkriterium CPBC CPBC[FAx]="<Satzwechselkriterium>" Satzwechsel erfolgt unab‐ "<Satzwechsel- "NOC" hängig vom Kopplungs‐ kriterium>": zustand. Satzwechsel erfolgt beim "IPOSTOP" sollwertseitigen Synchron‐ lauf. Satzwechsel erfolgt beim "COARSE" istwertseitigen Synchron‐ lauf "Grob". Satzwechsel erfolgt beim "FINE" istwertseitigen Synchron‐...
Seite 845
Arbeitsvorbereitung 4.16 Achskopplungen Schlüsselwort Kopplungseigenschaft / Be‐ Syntax deutung Synchronisationsmodus CPFMSON CPFMSON[FAx]="<Synchronisationsmodus>" Die Kopplung wird zeit‐ "<Synchronisation "CFAST" optimiert geschlossen. smodus>": Die Kopplung wird erst ein‐ "CCOARSE" geschaltet, wenn sich die gemäß Koppelgesetz gefor‐ derte Folgeachsposition im Bereich der aktuellen Folge‐ achsposition befindet.
Seite 846
Arbeitsvorbereitung 4.16 Achskopplungen Schlüsselwort Kopplungseigenschaft / Be‐ Syntax deutung Verhalten der Folgeachse beim CPFMON CPFMON[FAx]="<Einschaltverhalten>" Einschalten Nur bei Spindeln! "<Einschalt- "STOP" verhalten>": Eine aktive Bewegung der Folgespindel wird vor dem Einschalten gestoppt. Nur bei Spindeln und Haupt‐ "CONT" laufachsen! Die aktuelle Bewegung der Folgeachse/-spindel wird in die Kopplung als Start‐...
Seite 847
Arbeitsvorbereitung 4.16 Achskopplungen Schlüsselwort Kopplungseigenschaft / Be‐ Syntax deutung Kopplungsverhalten bei RESET CPMRESET CPMRESET[FAx]="<Reset-Verhalten>" Der aktuelle Zustand der "<Reset- "NONE" Kopplung bleibt erhalten. Verhalten>": Ist das entsprechende "ON" Koppelmodul angelegt, so wird die Kopplung ein‐ geschaltet. Es werden alle definierten Leitachs‐ beziehungen aktiviert.
Seite 848
Arbeitsvorbereitung 4.16 Achskopplungen Schlüsselwort Kopplungseigenschaft / Be‐ Syntax deutung aktuellen Drehzahl/ Geschwindigkeit weiter. Die Kopplung wird deakti‐ viert und anschließend ge‐ löscht. Kopplungsverhalten beim Teile‐ CPMSTART CPMSTART[FAx]="<Start-Verhalten>" programmstart Der aktuelle Zustand der "<Start- "NONE" Kopplung bleibt erhalten. Verhalten>": Kopplung eingeschaltet. Es "ON"...
Seite 849
Arbeitsvorbereitung 4.16 Achskopplungen Schlüsselwort Kopplungseigenschaft / Be‐ Syntax deutung Zweiter Schwellwert für den Po‐ CPSYNCOP2 CPSYNCOP2[FAx]=<Wert> sitionssynchronlauf "Grob" Zweiter Schwellwert für den Po‐ CPSYNFIP2 CPSYNFIP2[FAx]=<Wert> sitionssynchronlauf "Fein" Schwellwert für den Geschwin‐ CPSYNCOV CPSYNCOV[FAx]=<Wert> digkeitssynchronlauf "Grob" Schwellwert für den Geschwin‐ CPSYNFIV CPSYNFIV[FAx]=<Wert> digkeitssynchronlauf "Fein"...
Arbeitsvorbereitung 4.16 Achskopplungen 4.16.5 Tangentialsteuerung 4.16.5.1 Einleitung und Übersicht Funktion Mit der Kopplungsfunktion "Tangentialsteuerung" wird eine Rundachse als Folgeachse auf zwei Geometrieachsen als Leitachsen so gekoppelt, dass die Ausrichtung der Folgeachse eine Funktion der Bahntangente der Leitachsen ist. Hat die durch die Leitachsen beschriebene Kontur einen unsteten Satzübergang bzw. Ecke, kann zwischen folgendem Eckenverhalten gewählt werden: •...
Arbeitsvorbereitung 4.16 Achskopplungen Anwendung Typische Anwendungsbereiche der Tangentialsteuerung sind: • Tangentiales Anstellen eines drehbaren Werkzeugs beim Nibbeln • Nachführen der Werkstückausrichtung bei einer Bandsäge • Anstellen eines Abrichtwerkzeugs an eine Schleifscheibe • Anstellen eines Schneidrädchens zur Glas- oder Papierverarbeitung • Tangentiale Zuführung eines Drahts beim 5-achsigen Schweißen Programmierung Die Tangentialkopplung kann im NC-Programm definiert, ein- und ausgeschaltet und gelöscht werden:...
Seite 852
Arbeitsvorbereitung 4.16 Achskopplungen Faktor n der Winkeländerung der Folgeachse zur Änderung der Bahn‐ <CoupFac> tangente der Leitachsen: Winkeländerung = Winkeländerung Folgeachse Bahntangente Datentyp: REAL Defaultwert: Wirksames Koordinatensystem <CoordSys> Datentyp: CHAR Wert: Basiskoordinatensystem (Defaultwert) "B" Werkstückkoordinatensystem (nicht ver‐ "W" fügbar) Optimierungsmodus <OptMode> Datentyp: CHAR Wert:...
Arbeitsvorbereitung 4.16 Achskopplungen Hinweis Als Leitachsen der Tangentialkopplung müssen die Geometrieachsen verwendet werden, die, bezogen auf die Grundstellung der Maschine, im Maschinenkoordinatensystem (MKS) die programmierte Bahn abfahren. Wird z. B. auf einer Fräsmaschine mit Schwenkkopf der Schwenkzyklus CYCLE800 verwendet, erfolgt, abhängig von der Konfiguration des Zyklus, die Interpolation im WKS z. B. mit den Geometrie‐ achsen X und Y.
Arbeitsvorbereitung 4.16 Achskopplungen Drehgeschwindigkeit der Folgeachse Bahnachse Wurde die Folgeachse vor der Aktivierung der Tangentialkopplung schon als Bahnachse verfahren, erfolgt die Drehbewegung im Zwischensatz als Bahnachse. Durch die Vorgabe des Bezugsradius mit FGREF[<Ax>]=0.001 erfolgt die Drehbewegung mit der parametrierten maximalen Achsgeschwindigkeit: MD32000 $MA_MAX_AX_VELO[<Folgeachse>] Positionierachse Wurde die Folgeachse vor der Aktivierung der Tangentialkopplung noch nicht als Bahnachse...
Arbeitsvorbereitung 4.16 Achskopplungen Bedeutung Einschalten einer Tangentialkopplung TANGON(...) Achsname der Folgeachse (Rundachse) <FAx> Datentyp: AXIS Wertebereich: Kanalachsnamen Offsetwinkel der Folgeachse zur Bahntangente <OffsetAngle> Bezugspunkt ist der Nullpunkt der Rundachse. Datentyp: REAL Maximal zulässiger Überschleifweg <MaxRoundingPath> Würde der Überschleifweg aufgrund der Dynamikbedingungen größer, wird die Bahngeschwindigkeit der Leitachsen vermindert.
Arbeitsvorbereitung 4.16 Achskopplungen 4.16.5.6 Kopplung löschen (TANGDEL) Eine mit TANG(...) (Seite 851) definierte Tangentialkopplung bleibt auch nach dem Ausschalten der Tangentialkopplung mit TANGOF(...) (Seite 855) hinaus bestehen. Die bestehende Tangentialkopplung verhindert dann z.B. weiterhin folgende Funktionen: • Ebenenwechsel • Geometrieachsumschaltung • Definition einer neuen Tangentialkopplung für die Folgeachse Mit der vordefinierten Prozedur TANGDEL(...) wird nach dem Ausschalten der Tangentialkopplung mit TANGOF(...) die bestehende Tangentialkopplung gelöscht.
Arbeitsvorbereitung 4.16 Achskopplungen Geometrieachsumschaltung Bevor eine Geometrieachsumschaltung für eine bestehende Kopplung vorgenommen werden kann, muss die Kopplung zuerst gelöscht werden. Programmcode Kommentar N10 GEOAX(2, Y1) ; 2. Geometrieachse = Maschinenachse Y1 N20 TANG(A, X, Y) ; Tangentialkopplung für Folgeachse A definieren N30 TANGON(A, 90) ;...
Arbeitsvorbereitung 4.16 Achskopplungen $AA_MASL_STAT[<Sub-Achse>] Wert Bedeutung Die Kopplung der Subachse ist nicht aktiv. - ODER - Die angegebene Achse ist keine Sub-Achse > 0 Die Kopplung ist aktiv. <Wert> == Maschinenachsnummer der Masterachse Positionierbetrieb Bei Achsen und Spindeln im Positionierbetrieb wird die Kopplung nur im Stillstand geschlossen und getrennt.
Arbeitsvorbereitung 4.18 Schleifen 4.17 Synchronaktionen 4.17.1 Definition einer Synchronaktion Eine Synchronaktion wird in einem Satz eines Teileprogramms definiert. Innerhalb dieses Satzes dürfen keine weiteren Befehle programmiert werden, die nicht Bestandteil der Synchronaktion sind. Eine Synchronaktion besteht aus folgenden Komponenten: Gültigkeit, Bedingungsteil Aktionsteil bei erfüllter Bedin‐...
Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Voraussetzung Die werkzeugspezifischen Parameter $TC_TPG1 bis $TC_TPG9 müssen gesetzt sein. Syntax TMON(<TNr>) TMOF(<TNr>) Bedeutung Schleifspezifische Werkzeugüberwachung einschalten TMON(...): Der Befehl muss in dem Kanal programmiert werden, in dem die schleifspezifische Werkzeugüberwachung eingeschaltet werden soll. Schleifspezifische Werkzeugüberwachung ausschalten TMOF(...): Der Befehl muss in dem Kanal programmiert werden, in dem die schleifspezifische...
Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Weitere Informationen Funktionshandbuch Achsen und Spindeln 4.19.1 NC-geführtes ESR 4.19.1.1 NC-geführtes Rückziehen (POLF, POLFA, POLFMASK, POLFMLIN) Für NC-geführtes Rückziehen sind bestimmte Ausgangsbedingungen erforderlich. Sind diese Voraussetzungen erfüllt, dann wird für die im Kanal konfigurierte(n) Rückzugsachse(n) durch Setzen der Systemvariablen $AC_ESR_TRIGGER (bzw.
Seite 864
Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Vordefinierter Unterprogrammaufruf zur Angabe der Rückzugsposition von Einzel‐ POLFA: achsen Kanalachsbezeichner <Achse>: Positionsangabemodus <Typ>: Typ: Wert: Positionswert als ungültig markieren Positionswert ist absolut ...
Seite 865
Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Hinweis Wenn bei Verwendung der Kurzformen POLFA nur der Typ geändert wird, dann muss der Anwender sicherstellen, dass entweder die Rückzugsposition oder der Rückzugsweg einen sinnvollen Wert enthält. Insbesondere sind die Rückzugsposition und der Rückzugsweg nach POWER ON neu zu setzen.
Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Für den Rückzug steht maximal die Summe der Zeiten MD21380 $MC_ESR_DELAY_TIME1 und MD21381 $MC_ESR_DELAY_TIME2 zur Verfügung. Nach Ablauf dieser Zeitspanne wird auch für die Rückzugachse Schnellbremsen eingeleitet mit anschließendem Nachführen. Hinweis Die Erweiterte Rückzugbewegung (d. h. durch $AC_ESR_TRIGGER ausgelöstes LIFTFAST/LFPOS) ist nicht unterbrechbar und kann nur durch Not-Halt vorzeitig beendet werden.
Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Voraussetzungen • Im Kanal ist eine Stillsetzachse für das NC-geführte Stillsetzen projektiert: MD37500 $MA_ESR_REACTION = 22 • ESR muss für diese Achse freigegeben sein: $AA_ESR_ENABLE = 1 • Verzögerungszeiten sind definiert: MD21380 $MC_ESR_DELAY_TIME1 (Verzögerungszeit ESR-Achsen) MD21381 $MC_ESR_DELAY_TIME2 (ESR-Zeit für interpolatorisches Bremsen) Ablauf Für die Dauer der Zeitspanne in MD21380 interpoliert die Achse ungestört weiter wie...
Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Bedeutung Funktion zum Schreiben der Antriebsparameter für die ESR-Funktion ESRS(...): "Stillsetzen" Die Funktion: • muss alleine im Satz stehen. • löst Vorlaufstopp aus. • kann nicht in Synchronaktionen verwendet werden. Achse, für die antriebsautarkes Stillsetzen projektiert werden soll <Achse_1>, ..., Im Antrieb wird für diese Achse der Antriebsparameter p0888 (Konfi‐...
Arbeitsvorbereitung 4.20 Programmlaufzeit / Werkstückzähler Bedeutung Funktion zum Schreiben der Antriebsparameter für die ESR-Funktion ESRR(...): "Rückziehen" Die Funktion: • muss alleine im Satz stehen. • löst Vorlaufstopp aus. • kann nicht in Synchronaktionen verwendet werden. Achse, für die antriebsautarkes Rückziehen projektiert werden soll <Achse_1>, ..., Im Antrieb wird für diese Achse der Antriebsparameter p0888 (Kon‐...
Arbeitsvorbereitung 4.20 Programmlaufzeit / Werkstückzähler 4.20.1 Programmlaufzeit Die Funktion "Programmlaufzeit" stellt NC-interne Timer zur Überwachung technologischer Prozesse zur Verfügung, die über NC- und Kanal-spezifische Systemvariablen im Teileprogramm und in Synchronaktionen gelesen werden können. Der Trigger zur Laufzeitmessung ($AC_PROG_NET_TIME_TRIGGER) ist die einzige schreibbare Systemvariable der Funktion und dient zur selektiven Messung von Programmabschnitten.
Seite 871
Arbeitsvorbereitung 4.20 Programmlaufzeit / Werkstückzähler Systemvariable Bedeutung Aktivität $AC_ACT_PROG_NET_TIME Aktuelle Netto-Laufzeit des aktuellen NC-Programms in • immer aktiv Sekunden • nur Betriebsart AU‐ Wird mit dem Start eines NC-Programms automatisch TOMATIK auf "0" zurückgesetzt. $AC_OLD_PROG_NET_TIME Netto-Laufzeit des gerade korrekt mit M30 beendeten Programms in Sekunden $AC_OLD_PROG_NET_TIME_COUNT Änderungen auf $AC_OLD_PROG_NET_TIME...
Arbeitsvorbereitung 4.20 Programmlaufzeit / Werkstückzähler Hinweis Restzeit für ein Werkstück Wenn nacheinander gleiche Werkstücke produziert werden, kann mit den folgenden Timerwerten die verbleibende Restzeit für ein Werkstück ermittelt werden: • Bearbeitungszeit für das zuletzt produzierte Werkstück (siehe $AC_OLD_PROG_NET_TIME) • Aktuelle Bearbeitungszeit (siehe $AC_ACT_PROG_NET_TIME) Die Restzeit wird zusätzlich zur aktuellen Bearbeitungszeit auf der Bedienoberfläche anzeigt.
Arbeitsvorbereitung 4.20 Programmlaufzeit / Werkstückzähler Beispiel 2: Zeitdauer von "mySubProgrammA" und "mySubProgrammC" messen Programmcode N10 DO $AC_PROG_NET_TIME_TRIGGER=2 N20 mySubProgrammA N30 DO $AC_PROG_NET_TIME_TRIGGER=3 N40 mySubProgrammB N50 DO $AC_PROG_NET_TIME_TRIGGER=4 N60 mySubProgrammC N70 DO $AC_PROG_NET_TIME_TRIGGER=1 N80 mySubProgrammD N90 M30 4.20.2 Werkstückzähler Die Funktion "Werkstückzähler" stellt diverse Zähler zur Verfügung, die insbesondere für die steuerungsinterne Zählung von Werkstücken verwendet werden können.
Arbeitsvorbereitung 4.21 Programmsimulation Hinweis Über kanalspezifische Maschinendaten kann auf die Zähler-Aktivierung, den Zeitpunkt der Nullung und den Zählalgorithmus Einfluss genommen werden. Hinweis Werkstückzählung mit anwenderdefiniertem M-Befehl Über Maschinendaten kann eingestellt werden, dass die Zählimpulse für die verschiedenen Werkstückzähler statt über das Programmende M2/M30 über anwenderdefinierte M-Befehle ausgelöst werden.
Arbeitsvorbereitung 4.21 Programmsimulation 4.21.2 Programmsimulation in Verbindung mit Handlingskanälen Bei der Programmsimulation in Verbindung mit einem Handlingskanal sind folgende Besonderheiten zu beachten: • Die Anwahl des Programms für den Handlingskanal muss über die vordefinierte Prozedur INIT erfolgen. Beispiel: INIT(3,"/_N_SPF_DIR/_N_LADER1_BEALADEN_SPF") ; Anwahl des Progamms "LADER1_BELADEN" für Kanal 3 (Handlingskanal) •...
Arbeitsvorbereitung 4.22 Weitere Funktionen Programmcode Kommentar 4.22 Weitere Funktionen 4.22.1 Maschinendaten wirksam setzen (NEWCONF) Mit dem Befehl NEWCONF werden alle Maschinendaten wirksam gesetzt. Die Funktion kann auch in der Bedienoberfläche HMI durch Betätigen des Softkeys "MD wirksam setzen" aktiviert werden. Bei der Ausführung der Funktion "NEWCONF" erfolgt ein impliziter Vorlaufstopp, d. h. die Bahnbewegung wird unterbrochen.
Arbeitsvorbereitung 4.22 Weitere Funktionen Programmcode Kommentar 4.22.2 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Mit der Funktion "STRINGIS(...)" kann geprüft werden, ob der angegebene String als Element der NC-Programmiersprache im aktuellen Sprachumfang zur Verfügung steht. Definition INT STRINGIS(STRING <Name>) Syntax STRINGIS(<Name>) Bedeutung Funktion mit Rückgabewert STRINGIS: Name des zu prüfenden Elementes der NC-Programmiersprache <Name>:...
Seite 878
Steuerungsabhängig ist unter Umständen nur eine Untermenge der Siemens NC-Sprachbefehle bekannt. Für unbekannte Strings, die prinzipiell Siemens NC-Sprachbefehle sind, wird dann der Wert 0 zurückgegeben. Dieses Verhalten kann über MD10711 $MN_NC_LANGUAGE_CONFIGURATION verändert werden: MD10711 = 1 ⇒ Für Siemens NC-Sprachbefehle wird immer der Wert 100 zurückgegeben.
Seite 879
Arbeitsvorbereitung 4.22 Weitere Funktionen Beispiele In den folgenden Beispielen wird angenommen, dass die als String angegebenen NC-Sprachelement, sofern nicht besonders vermerkt, in der Steuerung prinzipiell programmierbar sind. 1. Der String "T" ist als Hilfsfunktion definiert: 400 == STRINGIS("T") 000 == STRINGIS ("T3") 2.
Arbeitsvorbereitung 4.22 Weitere Funktionen immer den Wert 000. ISO Modus Ist die Funktion "ISO Modus" aktiv: • MD18800 $MN_MM_EXTERN_LANGUAGE (Aktivierung externer NC-Sprachen) • MD10880 $MN_ MM_EXTERN_CNC_SYSTEM (zu adaptierendes Steuerungssystems) überprüft STRINGIS den angegebenen String zuerst als SINUMERIK G-Befehl. Ist der String kein SINUMERIK G-Befehl wird er anschließend als ISO G-Befehl überprüft.
Arbeitsvorbereitung 4.22 Weitere Funktionen Weitere Informationen: • Programmierhandbuch Run MyScreens • Programmierhandbuch Easy XML Syntax MMC("<ADDRESS>,<COMMAND>,<FILE>,<DIALOG>","<QUIT>") Bedeutung Unterprogrammbezeichner MMC(...): Die Parameter werden platzcodiert und durch Komma getrennt innerhalb von zwei Strings, dem Kommando-String und dem Quittungs-String, angegeben. Parameter innerhalb des Kommando-Strings: Bedienbereich, in dem die projektierten Anwenderdialoge ausgeführt werden <ADDRESS>: Funktion...
Seite 882
Arbeitsvorbereitung 4.22 Weitere Funktionen Quittungstyp <QUIT>: Keine Quittierung. Die Programmbearbeitung wird nach Absenden des Kommandos fortgeführt. Es erfolgt keine Rückmeldung, wenn das Kommando nicht erfolgreich ausgeführt werden konnte. Hinweis Quittungstyp "N" ist zu verwenden, wenn im NC-Programm eine Anzeigezeit (Verweilzeit) programmiert wird (siehe unten Beispiel Asynchrone Quittierung Die Programmabarbeitung wird nach Absetzen des Befehls fortge‐...
Seite 883
Arbeitsvorbereitung 4.22 Weitere Funktionen Programmcode Kommentar IF MATCH (QUIT,"CHK") >= 0 GOTOF CHECK Softkey "CHK" GOTOB INPUT ; => Warten WORK: ; Softkey "RUN" gedrückt MSG("Weiter mit Bearbeitung -> NC-Start") ; Meldung ausgeben MMC("CYCLES,PICTURE_OFF","N") ; Dialog schließen ; Warten auf NC-Start GOTOF END ;...
Seite 884
Arbeitsvorbereitung 4.22 Weitere Funktionen Programmcode </menu> <form name="rpara_form"> <init> <caption>mask from NC part program</caption> <let name="count" >0</let> <op> xpos = 120; ypos = 34; "nck/Channel/Parameter/R[10]" = 10; </op> <!-- load the number of controls --> <op> num = "nck/Channel/Parameter/R[10]"; </op> <while> <condition>...
Arbeitsvorbereitung 4.22 Weitere Funktionen Programmcode MMC("POPUPDLG,PICTURE_ON,xmldial_emb.xml,main","N") G4 F4 X200 MMC("POPUPDLG,PICTURE_OFF","N") G4 F2 4.22.4 Process DataShare - Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) Das Schreiben von Daten aus einem Teileprogramm heraus auf ein externes Gerät/Datei erfolgt in drei Schritten: 1. Externes Gerät/Datei öffnen Mit dem Befehl EXTOPEN wird das externe Gerät/Datei für den Kanal zum Schreiben geöffnet.
Seite 886
Arbeitsvorbereitung 4.22 Weitere Funktionen Bedeutung Vordefinierte Prozedur zum Öffnen eines externen Geräts/Datei EXTOPEN: Parameter 1: Ergebnisvariable <Result>: Anhand des Ergebnisvariablenwerts kann im Programm das Gelingen der Opera‐ tion ausgewertet und entsprechend fortgefahren werden. Typ: Werte: kein Fehler externes Gerät kann nicht geöffnet werden externes Gerät ist nicht projektiert externes Gerät mit ungültigem Pfad projektiert keine Zugriffsrechte für externes Gerät...
Seite 887
Arbeitsvorbereitung 4.22 Weitere Funktionen Parameter 2: Symbolischer Bezeichner für das zu öffnende externe Gerät/Datei <ExtDev>: Typ: STRING Der symbolische Bezeichner besteht aus: 1. dem logischen Gerätenamen 2. ggf. gefolgt von einem Dateipfad (angehängt mit "/"). Folgende logische Gerätenamen sind definiert: Lokale CompactFlash Card (vordefiniert) "LOCAL_DRIVE": reservierte Laufwerksangabe zur Verwendung in SIE‐...
Seite 888
Arbeitsvorbereitung 4.22 Weitere Funktionen Parameter 3: Bearbeitungsmodus für die WRITE-Befehle zu diesem Gerät/Datei <SyncMode>: Typ: STRING Werte: Synchrones Schreiben "SYN": Die Programmausführung wird angehalten, bis der Schreibvorgang abgeschlossen ist. Die erfolgreiche Beendigung des synchronen Schreibens kann durch Auswerten der Fehlervariablen des WRITE- Befehls überprüft werden.
Arbeitsvorbereitung 4.22 Weitere Funktionen Vordefinierte Prozedur zum Schließen eines geöffneten externen Geräts/Datei EXTCLOSE: Parameter 1: Ergebnisvariable <Result>: Typ: Werte: kein Fehler ungültiger externer Pfad programmiert Fehler beim Schließen des externen Geräts Parameter 2: Symbolischer Bezeichner für das zu schließende externe Gerät/ <ExtDev>: DateiBeschreibung siehe unter EXTOPEN! Hinweis:...
Seite 890
SETAL(...): SETAL muss in einem eigenen NC-Satz programmiert werden. Alarmnummer <Nr>: Datentyp: Wertebereich: 60000 ... 64999 (reserviert) Alarme für SIEMENS-Zyklen 65000 ... 69999 Alarme für Anwenderzyklen Zeichenkette (optional) <String>: Datentyp: STRING Bei der Programmierung von Anwenderzyklenalarmen kann eine Zeichenkette mit bis zu 4 Parametern angegeben werden.
Arbeitsvorbereitung 4.22 Weitere Funktionen Weitere Informationen Alarmreaktion und -quittierung Anwenderzyklenalarme sind Nummernbereichen zugeordnet, die sich bezüglich Alarmreaktion und -quittierung unterscheiden: Nummernbereich Alarmreaktion Alarmquittierung 65000 - 65499 Anzeige, Verriegelung NC-Start Reset 65500 - 65999 Anzeige, Verriegelung NC-Start (nicht für ASUPs bei gesetz‐ Reset tem MD20194) 66000 - 66999...
Seite 892
Arbeitsvorbereitung 4.22 Weitere Funktionen Aufspannung (optional; nur bei Fräsmaschinen) "<RefP>": Datentyp: STRING Wertebereich: "Tisch" Aufspannung auf dem festen Tisch "A" Aufspannung auf Rundachse A "B" Aufspannung auf Rundachse B "C" Aufspannung auf Rundachse C Voraussetzung: Der Tisch bzw. die Rundachse muss über das entsprechende Maschi‐ nendatum für die Rohteilaufspannung freigeschaltet sein (siehe In‐...
Seite 893
Arbeitsvorbereitung 4.22 Weitere Funktionen Tabelle 4-5 Parameter zur Beschreibung der Rohteilform Rohteilform Parameter <Par5> <Par6> <Par7> <Par8> <Par9> <Par10> <Par11> <Par12> Zylinder Bitparameter Bezugs‐ Länge Z Bearbei‐ Außen‐ Drehung punkt Z tungsmaß durchmes‐ um Rund‐ Realwert, der als ser d achse bitcodierte Inte‐...
Seite 894
Arbeitsvorbereitung 4.22 Weitere Funktionen Bedeutung 13 (0x2000) Gegenspindel mit Spiegelung ohne Spiegelung Beispiele Beispiel 1: Zylinderförmiges Rohteil auf einer Drehmaschine Programmcode Kommentar WORKPIECE(,,,"CYLINDER",0,0,-200,-150,100) ; Rohteildefinition: ; Rohteilform: Zylinder ; Bitparameter=0(kein Bit ge- setzt) → Werte für Länge und Be- arbeitungsmaß sind inkrementell, Rohteil auf Hauptspindel ;...
Arbeitsvorbereitung 4.22 Weitere Funktionen Beispiel 2: Röhrenförmiges Rohteil auf einer Drehmaschine Programmcode Kommentar WORKPIECE(,,,"PIPE",256,0,-200,-150,100,80) ; Rohteildefinition: ; Rohteilform: Rohr ; Bitparameter=256(Bit8=1) → In- nendurchmesser ist absolut, Län- ge und Bearbeitungsmaß sind in- krementell, Rohteil auf Haupt- spindel ; Bezugspunkt(Z0)=0 ; Länge(Z1)=-200 ;...
Seite 896
Kompression von Linearsätzen im ISO-Dialekt-Modus Programmcode Kommentar N5 G290 ; SINUMERIK-Sprachmodus aktivieren. N10 COMPCAD ; COMPCAD ist ein Befehl der Siemens-Spra- che, der eine Kompressorfunktion akti- viert, die aufeinanderfolgende Linearsät- ze durch Polynom-Sätze mit möglichst gro- ßen Bahnlängen ersetzt. N15 G291 ;...
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Programmcode Kommentar Weitere Informationen Funktionshandbuch ISO-Dialekte 4.23 Eigene Abspanprogramme 4.23.1 Unterstützende Funktionen für das Abspanen Für das Abspanen werden Ihnen fertige Bearbeitungszyklen angeboten. Darüber hinaus haben Sie die Möglichkeit, mit den nachfolgend aufgeführten Funktionen eigene Abspanprogramme zu erstellen: •...
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme 4.23.2 Konturtabelle erstellen (CONTPRON) Mit CONTPRON schalten Sie die Konturaufbereitung ein. Die nachfolgend aufgerufenen NC- Sätze werden nicht abgearbeitet, sondern in einzelne Bewegungen aufgeteilt und in der Konturtabelle abgelegt. Jedem Konturelement entspricht eine Tabellenzeile im zweidimensionalen Feld der Konturtabelle. Die Anzahl der ermittelten Hinterschnitte wird zurückgeliefert.
Seite 899
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[30,11] ; Konturtabelle mit Namen KTAB und max. 30 Konturelementen, Parameterwert 11 (Spaltenzahl der Tabelle) ist eine feste Größe. N20 DEF INT ANZHINT ; Variable für die Anzahl der Hinter- schnittelemente mit Namen ANZHINT. N30 DEF INT FEHLER ;...
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme -1111 104.0362435 146.3099325 116.5650512 Erläuterung der Spalteninhalte: Zeiger auf nächstes Konturelement (auf die Zeilennummer desselben) Zeiger auf vorhergehendes Konturelement Codierung des Konturmodus für die Bewegung Mögliche Werte für X = abc a = 10 G90 = 0 G91 = 1 b = 10 G70 = 0...
Seite 901
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[92,11] ; Konturtabelle mit Namen KTAB und max. 92 Konturelementen, Parameterwert 11 ist eine feste Größe. N20 DEF CHAR BT="L" ; Betriebsart für CONTPRON: Längsdrehen, Außenbearbeitung N30 DEF INT HE=0 ; Anzahl der Hinterschnittelemente=0 N40 DEF INT MODE=1 ;...
Seite 902
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Konturtabelle KTAB: Nach Ende der Konturaufbereitung steht die Kontur in beiden Richtungen zur Verfügung. Index Spalte Zeile (10) -1111 -1111 Erläuterung der Spalteninhalte und der Anmerkungen zu den Zeilen 0, 1, 6, 8, 83, 85 und 91 Es gelten die im Beispiel 1 genannten Erläuterungen der Spalteninhalte.
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme 9) Vorgänger: Zeile n ist der Konturtabellenanfang (rückwärts) 10) Nachfolger: Zeile n enthält den Konturanfang (rückwärts) Weitere Informationen Erlaubte Verfahrbefehle, Koordinatensystem Für die Konturprogrammierung sind folgende G-Befehle zulässig: • G-Gruppe 1: G0, G1, G2, G3 Zusätzlich möglich sind: •...
Seite 904
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Bedeutung Vordefinierte Prozedur zum Einschalten der Konturaufberei‐ CONTDCON: tung zur Erstellung einer codierten Konturtabelle Name der Konturtabelle <Konturtabelle>: Parameter für Bearbeitungsrichtung <Bearbeitungsrichtung>: Typ: Wert: Konturaufbereitung gemäß der Folge der Kontursätze (Standardwert) unzulässig Hinweis Die für CONTDCON zugelassenen G-Befehle im zu tabellierenden Programmstück sind umfangreicher als bei CONTPRON.
Seite 905
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[9,6] ; Konturtabelle mit Namen KTAB und 9 Tabellenzeilen. Diese erlauben 8 Kon- tursätze. Der Parameterwert 6 (Spal- tenzahl der Tabelle) ist eine feste Größe. N20 DEF INT MODE = 0 ;...
Seite 906
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Erläuterung der Spalteninhalte: Zeile 0: Codierungen für den Startpunkt: Spalte 0: (Einerstelle): G0 = 0 (Zehnerstelle): G70 = 0, G71 = 1, G700 = 2, G710 = 3 Spalte 1: Startpunkt Abszisse Spalte 2: Startpunkt Ordinate ...
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Ein Tausch der Geometrieachsen mit GEOAX während der Aufbereitung der Konturtabelle führt zu einem Alarm. Bearbeitungsrichtung Die mit CONTDCON erzeugte Konturtabelle ist zum Abspanen in der programmierten Richtung der Kontur vorgesehen. 4.23.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) INTERSEC ermittelt den Schnittpunkt von zwei normierten Konturelementen aus mit CONTPRON erzeugten Konturtabellen.
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Die Übergabe der Konturen erfordert die Einhaltung der mit CONTPRON definierten Werte: Parameter Bedeutung Codierung des Kontur-Mode für die Bewegung Kontur-Anfangpunkt Abszisse Kontur-Anfangpunkt Ordinate Kontur-Endpunkt Abszisse Kontur-Endpunkt Ordinate Mittelpunkskoordinate für die Abszisse (nur bei Kreis-Kontur) Mittelpunkskoordinate für die Ordinate (nur bei Kreis-Kontur) Beispiel Schnittpunkt von Konturelement 3 der Tabelle TABNAME1 und Konturelement 7 der Tabelle TABNAME2 ermitteln.
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Bedeutung Vordefinierte Proedur zum Abfahren eines Konturelements EXECTAB: Name der Konturtabelle <Konturtabelle>: Nummer des Konturelements <Konturelement>: Beispiel Die Konturelemente 0 bis 2 der Tabelle KTAB sollen satzweise abgefahren werden. Programmcode Kommentar N10 EXECTAB(KTAB[0]) ; Element 0 der Tabelle KTAB verfahren. N20 EXECTAB(KTAB[1]) ;...
Seite 910
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Bedeutung Vordefinierte Funktion zur Berechnung von Radius und Mittelpunkt-Ko‐ CALCDAT: ordinaten eines Kreises aus 3 oder 4 Punkten Variable für den Kreisberechnungsstatus <Status>: Typ: BOOL Wert: TRUE Die angegebenen Punkte liegen auf einem Kreis. FALSE Die angegebenen Punkte liegen nicht auf ei‐ nem Kreis.
Arbeitsvorbereitung 4.23 Eigene Abspanprogramme Beispiel Von drei Punkten soll ermittelt werden, ob sie auf einem Kreisabschnitt liegen. Programmcode Kommentar N10 DEF REAL PKT[3,2]=(20,50,50,40,65,20) ; Variable zur Angabe der Kreis- punkte. N20 DEF REAL ERG[3] ; Variable für Ergebnis. N30 DEF BOOL STATUS ;...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Bedeutung Vordefinierte Prozedur zum Beenden der Konturaufbereitung EXECUTE: Variable für Fehlerrückmeldung <FEHLER>: Typ: Der Wert der Variablen zeigt an, ob die Kontur fehlerfrei aufbereitet werden konnte: Fehler kein Fehler Beispiel Programmcode N30 CONTPRON(...) N40 G1 X... Z... N100 EXECUTE(...) 4.24 Zyklen extern programmieren...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Syntax Die unter "Syntax" angegebene Programmzeile soll zeigen, wie der Zyklusaufruf zu programmieren ist. Auf folgende Punkte ist besonders zu achten: • Korrekter Zyklusname • Aufrufreihenfolge der Übergabeparameter Parameter In der Tabelle unter "Parameter" sind alle Zyklenparameter mit folgenden Daten beschrieben: •...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren 4.24.1.2 Technologie-spezifische Übersicht In der folgenden Übersichtstabelle sind alle verfügbaren extern programmierbaren technologischen Zyklen aufgelistet und der jeweiligen Technologie zugeordnet: Technologie Technologischer Zyklus Bohren • CYCLE81 - Bohren, Zentrieren (Seite 952) • CYCLE82 - Bohren, Plansenken (Seite 953) •...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt für Lochreihe in der 1. Achse (abs) <SPCA> REAL Bezugspunkt für Lochreihe in der 2. Achse (abs) <SPCO> α0 REAL Grund-Drehwinkel (Winkel zur 1. Achse) <STA1> REAL Abstand der 1. Bohrung vom Bezugspunkt <FDIS>...
Seite 917
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern α1 REAL Fortschaltwinkel (nur bei Teilkreis) (bei XY, XA, YB, ZC) <INDA> < 0 = Uhrzeigersinn > 0 = Gegenuhrzeigersinn Anzahl der Positionen <NUM> Bearbeitungsart <_VARI> ...
Seite 919
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Breite der Vorbearbeitung (ink) <_AP2> REAL Tiefe der Vorbearbeitung (ink) <_AD> REAL Radius der Helixbahn beim Eintauchen helikal <_RAD1> maximaler Eintauchwinkel für pendelnd REAL Helixsteigung bei Eintauchen helikal <_DP1>...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Vorschubart: G-Gruppe (G94/G95) für Flä‐...
Seite 921
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <_RTP> REAL Bezugspunkt der Werkzeugachse (abs) <_RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzuge‐ <_SDIS> ben) REAL Taschentiefe (abs/ink), siehe <_AMODE> <_DP> ∅ REAL Taschendurchmesser oder Taschenradius, siehe <_DMODE> <_CDIAM>...
Seite 922
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: reserviert HUNDERTER: Bearbeitung/Startpunktberechnung Kompatibilitätsmodus normale Bearbeitung TAUSENDER: reserviert ZEHNTAUSENDER: Komplettbearbeitung/Nachbearbeitung Kompatibilitätsmodus (<_AP1> und <_AD> wie bisher behan‐ deln) Komplettbearbeitung Nachbearbeitung ...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: reserviert HUNDERTER:...
Seite 926
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <RTP> REAL Bezugspunkt der Werkzeugachse (abs) <RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzuge‐ <SDIS> ben) REAL Nuttiefe (abs) <_DP> REAL Nuttiefe (ink), bezogen auf Z0 (ohne Vorzeichen einzugeben) <_DPR>...
Seite 927
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL reserviert <SSF> REAL reserviert <_FFCP> reserviert <_UMODE> REAL Fasenbreite (Ink) <_FS> REAL Eintauchtiefe (Werkzeugspitze) bei Anfasen (abs/ink), siehe <_AMODE> <_ZFS> Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER:...
Seite 931
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitung (Ausrichtung und Bezugspunkt des Gravurtextes) <_VARI> EINER: Bezugspunkt rechtwinklig polar ZEHNER: Textausrichtung Text auf einer Linie Text auf einem Kreisbogen oben Text auf einem Kreisbogen unten HUNDERTER: reserviert TAUSENDER: Bezugspunkt des Textes horizontal links...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER : Vorschubart: G-Gruppe (G94/G95) für Flä‐...
Seite 933
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Schlichtaufmaß Tiefe <_FALD> REAL Bearbeitungsvorschub <_FFP1> Bearbeitungsart <_VARI> EINER: Bearbeitung Schruppen Schlichten ZEHNER: Bearbeitungsrichtung parallel zur 1. Achse, eine Rich‐ tung parallel zur 2. Achse, eine Rich‐ tung parallel zur 1.
Seite 936
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Eintauchen pendelnd: maximaler Eintauchwinkel <_EW> REAL Fasenbreite (ink) bei Anfasen <_FS> REAL Eintauchtiefe Werkzeugspitze bei Anfasen, (siehe <_AMODE> HUNDER‐ <_ZFS> TER) STRING[32] Referenzwerkzeugname bei Restmaterialbearbeitung <_TR> Referenzwerkzeug D-Nummer bei Restmaterialbearbeitung <_DR>...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bewertung der Gewindesteigung <_PITA> Kompatibilitätsmodus Steigung in mm Steigung in Gänge pro Zoll (TPI) Steigung in inch Steigung als MODUL STRING[15] String als Merker für Gewindesteigungseingabe (nur für die Oberfläche) <_PITM>...
Seite 941
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern STRING Name des Kontur-Unterprogrammes <_KNAME> [141] REAL Rückzugsebene (abs) <_RTP> REAL Bezugspunkt der Werkzeugachse (abs) <_RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzuge‐ <_SDIS> ben) REAL Endpunkt, Endtiefe(abs/ink), siehe <_AMODE> <_DP>...
Seite 942
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsrichtung <_RL> 40 = mittig der Kontur (G40, An- und Abfahren: Gerade oder senkrecht) 41 = links der Kontur (G41, An- und Abfahren: Gerade oder Kreis) 42 = rechts der Kontur (G42, An- und Abfahren: Gerade oder Kreis) ...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Vorschubart: G-Gruppe (G94/G95) für Flä‐...
Seite 944
Arbeitsvorbereitung 4.24 Zyklen extern programmieren <_FFD>, <_CDIR>, <_VARI>, <_AP1>, <_AP2>, <_FS>, <_ZFS>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <_RTP> REAL Bezugspunkt der Werkzeugachse (abs) <_RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzuge‐ <_SDIS> ben) REAL Zapfentiefe(abs)
Seite 945
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung oder nur Start‐ punktberechnung Kompatibilitätsmodus normale Bearbeitung TAUSENDER: Bemaßung des Zapfens über Mitte oder Ecke Kompatibilitätsmodus Bemaßung über Mitte Bemaßung Eckpunkt, Zapfen +L +W...
Seite 949
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL minimale Zustellung (ink), nur bei Degression wirksam <_MDEP> Bearbeitungsart <_VARI> EINER: reserviert ZEHNER: Entspanen vor Gewindefräsen kein Entspanen vor Gewindefrä‐ sen (wirkt nur auf Endbohrtiefe) Entspanen vor Gewindefräsen (wirkt nur auf Endbohrtiefe) HUNDERTER: Rechts-/Linksgewinde...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Geometriemodus (Bewertung der programmierten Geometriewerte), <_GMODE> reserviert Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ...
Seite 951
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern SW/L REAL Schlüsselweite oder Kantenlänge (je nach <_VARI>) <_SWL> ("SW" bei Schlüsselweite, "L" bei Kantenlänge) Schlüsselweite nur bei gerader Anzahl Kanten, und Einkant REAL Zapfenbezugspunkt, 1. Achse (abs) <_PA> REAL Zapfenbezugspunkt, 2.
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzuge‐ <SDIS> ben) Z1/∅ REAL Bohrtiefe (abs) / Durchmesser der Zentrierung (abs), siehe <_GMODE> <DP> REAL Bohrtiefe (ink) <DPR> REAL Verweilzeit auf Endbohrtiefe, siehe <_AMODE> <DTB>...
Seite 954
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <RTP> REAL Bezugspunkt (abs) <RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzuge‐ <SDIS> ben) REAL Bohrtiefe (abs), siehe <_AMODE> <DP> REAL Bohrtiefe (ink), siehe <_AMODE> <DPR>...
Seite 955
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Bohrtiefe Z1 (abs/ink) Kompatibilität aus Programmie‐ rung DP/DPR inkrementell absolut ZEHNER: Verweilzeit DT auf Endbohrtiefe in Sekun‐ den/Umdrehungen Kompatibilität, aus Vorzeichen von DT (> 0 Sekunden / < 0 Um‐ drehungen) in Sekunden in Umdrehungen...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Restbohrtiefe inkrementell bezogen auf Endbohrtiefe oder absolut (in <S_ZD> Verbindung mit <_AMODE> ZEHNTAUSENDER) REAL Restbohrvorschub als Wert oder in % (in Verbindung mit <_AMODE> <S_FD> HUNDERTTAUSENDER) 4.24.1.23 CYCLE83 - Tieflochbohren 1 Syntax CYCLE83(<RTP>, <RFP>, <SDIS>, <DP>, <DPR>, <FDEP>, <FDPR>, <_DAM>, <DTB>, <DTS>, <FRF>, <VARI>, <_AXN>, <_MDEP>, <_VRT>, <_DTD>,...
Seite 957
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Verweilzeit auf Endbohrtiefe, siehe <_AMODE> <_DTD> REAL Vorhalteabstand (nur bei Entspanen), siehe <_AMODE> <_DIS1> Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: Bohrtiefe bezogen auf Spitze/Schaft Spitze Schaft ...
Seite 958
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Bohrtiefe = Endbohrtiefe Z1 (abs/ink) Kompatibilität, aus Programmie‐ rung <DP>/<DPR> inkrementell absolut ZEHNER: Verweilzeit auf Bohrtiefe DTB in Sekun‐ den/Umdrehungen Kompatibilität aus Vorzeichen ...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern ZEHNMILLIONEN: Vorschubfaktor für erste Zustellung <FRF> als Faktor/Prozentsatz Kompatibilität, als Faktor (0,001 bis 1,0, FRF = 0 bedeutet 100 %) Prozentsatz (0,001 bis 999,999 %) 4.24.1.24 CYCLE84 - Gewindebohren ohne Ausgleichsfutter Syntax CYCLE84(<RTP>, <RFP>, <SDIS>, <DP>, <DPR>, <DTB>, <SDAC>, <MPIT>, <PIT>, <POSS>, <SST>, <SST1>, <_AXN>, <_PITA>, <_TECHNO>, <_VARI>, <_DAM>, <_VRT>, <_PITM>, <_PTAB>, <_PTABA>, <_GMODE>, <_DMODE>, <_AMODE>)
Seite 960
MCALL in Lageregelung bleiben Bearbeitungsart <_VARI> EINER: 1 Schnitt Spänebrechen (Tieflochgewindebohren) Entspanen (Tieflochgewindebohren) TAUSENDER: ISO/SIEMENS Modus für Eingabemaske nicht re‐ levant Aufruf aus ISO-Kompatibilität Aufruf aus SIEMENS-Kontext REAL maximale Tiefenzustellung (nur bei Entspanen/Spänebrechen) <_DAM> NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
Seite 961
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsbetrag nach jeder Bearbeitung (nur bei Spänebrechen), <_VRT> siehe <_AMODE> STRING[15] String als Merker für Gewindesteigungseingabe <_PITM> STRING[5] String für Gewindetabelle ("", "ISO", "BSW", "BSP", "UNC") <_PTAB> ...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Bohrtiefe (ink), siehe <_AMODE> <DPR> REAL Verweilzeit auf Endbohrtiefe, siehe <_AMODE> <DTB> REAL Vorschub <FFR> REAL Vorschub beim Rückzug <RFF> reserviert <_GMODE> Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Bohrtiefe (ink), siehe <_AMODE> <DPR> REAL Verweilzeit auf Endbohrtiefe, siehe <_AMODE> <DTB> Spindeldrehrichtung <SDIR> REAL Abhebebetrag in X-Richtung <RPA> REAL Abhebebetrag in Y-Richtung <RPO> REAL Abhebebetrag in Z-Richtung <RPAP> SPOS REAL Spindelposition zum Abheben (für orientierten Spindelhalt, in Grad)
Seite 965
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt (abs, immer Durchmesser) <_SPD> REAL Bezugspunkt (abs) <_SPL> REAL Tiefe für Drehzahlreduzierung, siehe <_AMODE> (EINER) <_DIAG1> REAL Endtiefe, siehe <_AMODE> (ZEHNER) <_DIAG2> R/FS REAL Verrundusradius oder Fasebreite, siehe <_AMODE> (TAUSENDER) <_RC>...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Tiefe für Drehzahlreduzierung (<_DIAG1>) absolut, Wert der Planachse im Durchmesser inkrementell, Wert der Planachse im Radius ZEHNER: Endtiefe (<_DIAG2>) absolut, Wert der Planachse im Durchmesser inkrementell, Wert der Planachse im Radius HUNDERTER: reserviert...
Seite 967
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsart <_VARI> EINER und ZEHNER: Schruppen, längs, Außen Schruppen, plan, Außen Schruppen, längs, Innen Schruppen, plan, Innen Schlichten, längs, Außen Schlichten, plan, Außen Schlichten, längs, Innen Schlichten, plan, Innen Komplettbearbeitung, längs, Au‐...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) TAUSENDER: ...
Seite 969
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Gewindeauslauf (ink, ohne Vorzeichen einzugeben) <ROP> REAL Gewindetiefe (ink, ohne Vorzeichen einzugeben) <TDEP> REAL Schlichtaufmaß in X und Z <FAL> REAL Zustellschräge als Abstand oder Winkel, siehe <_AMODE> (EINEMILLI‐ <_IANG>...
Seite 970
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitung <_VARI> EINER: Technologie Außengewinde mit linearer Zu‐ stellung Innengewinde mit linearer Zustel‐ lung Außengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant Innengewinde mit degressiver Zu‐ stellung, Spanquerschnitt bleibt konstant ZEHNER: reserviert HUNDERTER:...
Seite 971
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Gangwechseltiefe (wirkt nur bei "mehrgängig") <_GDEP> keine Gangwechseltiefe berück‐ sichtigen > 0 = Gangwechseltiefe berücksichti‐ REAL Zustellschräge als Breite (nur für die Oberfläche) <_IFLANK> Bewertung der Gewindesteigung <_PITA>...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: 1. Zwischenpunkt in Z (Z1) absolut inkrementell ZEHNER: 1. Zwischenpunkt in X (X1) absolut inkrementell α HUNDERTER: 2. Zwischenpunkt in Z (Z2) absolut inkrementell TAUSENDER: 2. Zwischenpunkt in X (X2) absolut inkrementell α...
Seite 973
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt (abs) <_SPL> REAL Bezugspunkt (abs, immer Durchmesser) <_SPD> REAL Endpunkt in Verbindung mit <_AMODE> (EINER) <_FPL> REAL Endpunkt, in Verbindung mit <_AMODE> (ZEHNER) <_FPD> LW/LW2 REAL Gewindevorlauf in Verbindung mit <_AMODE> (HUNDERTER) oder <_APP>...
Seite 974
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsart <_VARI> EINER: Technologie Außengewinde mit linearer Zu‐ stellung Innengewinde mit linearer Zustel‐ lung Außengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant Innengewinde mit degressiver Zu‐ stellung, Spanquerschnitt bleibt konstant ZEHNER: reserviert HUNDERTER:...
Seite 975
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Änderung der Steigung pro Umdrehung <_PIT1> Gewindesteigung ist konstant (G33) > 0 = Gewindesteigung wird größer (G34) < 0 = Gewindesteigung wird kleiner (G35) REAL Eintauchtiefe (ohne Vorzeichen einzugeben) <_FDEP>...
Seite 976
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Gewindelänge in Z absolut inkrementell ZEHNER: Gewindelänge in X absolut, Wert der Planachse im Durchmesser inkrementell, Wert der Planachse im Radius α HUNDERTER: Vorlauf-/Einlaufwegbewertung <_APP> Gewindevorlauf <_APP> Gewindeeinlauf = Gewindeaus‐...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren 4.24.1.31 CYCLE435 - Abrichterkoordinatensystem setzen Syntax CYCLE435(<_T>, <_DD>, <S_TA>, <S_DA>, <S_AD>, <S_AL>, <S_PVD>, <S_PVL>, <S_PD>, <S_PL>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern STRING[32] Werkzeugname der Schleifscheibe <_T> Schneidennummer der Schleifscheibe <_DD> STRING[32] Bezugspunkt Abrichter - Name des Abrichters <S_TA>...
Seite 978
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsart <_VARI> EINER: Profilierungsart achsparallel konturparallel ZEHNER: Bearbeitungsrichtung ziehend möglich mit den Schneidenlagen 1 bis 4 stoßend möglich mit den Schneidenlagen 1 bis 4 wechselnd möglich mit den Schneidenlagen 1 bis 8 Anfang → Ende möglich mit den Schneidenlagen 1 bis 8 Ende →...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Auswahl Profilieren Neu/Fortsetzen Fortsetzen ZEHNER: Auswahl Profilieraufmaß von der Rohkontur bis zum tief‐ sten Punkt der Kontur von der Rohkontur bis zum höch‐ sten Punkt der Kontur ...
Seite 980
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parame‐ Parameter Datentyp Bedeutung ter Maske intern Bearbeitungsmodus <S_MODE> EINER: An-/Abwahl Adaption deaktivieren Adaption aktivieren Grundträgheit der Achse ermittlen und aktivieren (Inbetriebnahmefunktion) ZEHNER: Messvariante (nur bei <S_MODE> HUNDERTERSTEL‐ LE = 0) Normalmodus Genau-Modus (z.
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Hinweis Die Inbetriebnahmefunktion "Grundträgheit der Achse ermitteln und aktivieren" (<S_MODE> EINERSTELLE = 2) wird nicht durch die Bedienoberfläche unterstützt. Hierfür muss der Zyklenaufruf selber programmiert werden. Das Ergebnis der Messung wird in das Maschinendatum 53350 $MAS_ILC_BASE_VALUE geschrieben. Der Wert des Parameters "Auswahl Beladung"...
Seite 983
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Status Transformationen <_ST> EINER: Neu , Schwenkebene wird ge‐ löscht und mit den aktuellen Pa‐ rametern neu berechnet Additiv , Schwenkebene setzt ad‐ ditiv auf aktive Schwenkebene auf ZEHNER: Werkzeugspitze nachführen ja/nein (nur aktiv, wenn in IBN SCHWENKEN Funktion...
Seite 984
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Schwenkmodus: Auswertung der Schwenkwinkel und der Schwenkrei‐ <_MODE> henfolge (bitcodiert!) Bit: 7 6 0 0: Schwenkwinkel achsweise -> sie‐ he Parameter <_A>, <_B>, <_C> 0 1: Raumwinkel -> siehe Parameter <_A>, <_B>...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Darstellung des Beta-Wertes bei Ausrich‐...
Seite 986
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt für Positionsmuster (Gitter/Rahmen) in der 1. Achse (abs) <_SPCA> REAL Bezugspunkt für Positionsmuster (Gitter/Rahmen) in der 2. Achse (abs) <_SPCO> α0 REAL Grund-Drehwinkel < 0 = Drehung im Uhrzeigersinn <_STA>...
Seite 988
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitung <_VARI> HUNDERTER: (nur für Aufruf aus Jobshop) (vorerst nur 0 und 2 ausgewertet) kein Spindel klemmen Spindel klemmen nur bei senk‐ rechtem Eintauchen mit G00 oder Spindel klemmen während der gesamten Bearbeitung TAUSENDER: reserviert...
Seite 993
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitung <VARI> EINER: Spänebrechen/Entspanen in einem Schnitt Spänebrechen Entspanen Spänebrechen und Entspanen ZEHNER: Rückzug bei Entspanen auf Pilotbohrtiefe auf Sicherheitsabstand HUNDERTER: weicher Anschnitt nein TAUSENDER: Durchbohren nein ZEHNTAUSENDER: Anbohren/Pilotbohrung ohne Anbohren...
Seite 994
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern REAL Spindeldrehrichtung beim Bohren <_SDAC> REAL Bohren mit konstanter Spindeldrehzahl <_SV1> (siehe <S_AMODE2> EINEMILLION) konstanter Schnittgeschwindigkeit SPOS REAL Spindelposition, nur wenn Anfahren mit M5 <S_SPOS> REAL Anbohrtiefe inkrementell bezogen auf Bezugspunkt oder absolut (sie‐ <S_ZA>...
Seite 995
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: reserviert HUNDERTER:...
Seite 996
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus 2 <S_AMODE2 > EINER: EINER: Bohrvorschub F F/min ZEHNER: Bewertung Anbohrvorschub FA in % vom Bohrvorschub F/min HUNDERTER: Bewertung Vorschub zum Einfahren in Pi‐ lotbohrung FP in % vom Bohrvorschub F/min TAUSENDER: Bewertung Vorschub Anschnitt FS...
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Klartexteingabe Um die Lesbarkeit des Zyklenaufrufs zu verbessern, kann der Parameter <S_TOLM> (Bearbeitungsart) auch im Klartext eingegeben werden. Klartexte sind sprachunabhängig. Folgende Eingaben sind zulässig: für 0 Abwahl _OFF für 1 Schlichten _FINISH für 2 ...
Seite 1000
Arbeitsvorbereitung 4.24 Zyklen extern programmieren Programmcode Kommentar CYCLE832(0.004,_FINISH,1) ; Aufruf CYCLE832 mit: Konturtoleranz = 0,004 mm, Bearbeitungsart: Schlichten ; Abarbeitung eines Hochgeschwindigkeits- bearbeitungsprogramms b) Zyklenaufruf ohne Klartexteingabe Programmcode Kommentar G710 ; s. o. CYCLE832(0.004,1,1) ; s. o. ; s. o. Beispiel 2: CYCLE832 auf 5-Achs-Maschine mit Orientierungstransformation a) Zyklenaufruf und Abwahl mit Klartexteingabe Programmcode Kommentar...