Herunterladen Inhalt Inhalt Diese Seite drucken
Siemens SINUMERIK 828D Programmierhandbuch

Siemens SINUMERIK 828D Programmierhandbuch

Nc-programmierung
Vorschau ausblenden Andere Handbücher für SINUMERIK 828D:
Inhaltsverzeichnis

Werbung

SINUMERIK
SINUMERIK 828D
NC-Programmierung
Programmierhandbuch
Gültig für
Steuerung
SINUMERIK 828D
CNC-Software Version 5.21
01/2023
A5E48764001A AE
Einleitung
Grundlegende
Sicherheitshinweise
Grundlagen
Arbeitsvorbereitung
Tabellen
Anhang
1
2
3
4
5
A

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Siemens SINUMERIK 828D

  • Seite 1 Einleitung Grundlegende Sicherheitshinweise Grundlagen SINUMERIK Arbeitsvorbereitung SINUMERIK 828D NC-Programmierung Tabellen Anhang Programmierhandbuch Gültig für Steuerung SINUMERIK 828D CNC-Software Version 5.21 01/2023 A5E48764001A AE...
  • Seite 2: Qualifiziertes Personal

    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...
  • Seite 3: Inhaltsverzeichnis

    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 5 Inhaltsverzeichnis 3.7.12 Satzweiser Vorschub (FB) ....................148 3.7.13 Zahnvorschub (G95 FZ)....................149 Geometrie-Einstellungen....................154 3.8.1 Einstellbare Nullpunktverschiebung (G54 ... G59, G507 ... G599, G53, G500, SUPA, G153)... 154 3.8.2 Wahl der Arbeitsebene (G17/G18/G19)................157 3.8.3 Maßangaben ........................160 3.8.3.1 Absolutmaßangabe (G90, AC) ..................160 3.8.3.2 Kettenmaßangabe (G91, IC) .....................
  • 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....
  • Seite 7 Inhaltsverzeichnis 3.15 Sonstige Informationen....................365 3.15.1 Achsen ..........................365 3.15.1.1 Achsen (Übersicht)......................365 3.15.1.2 Hauptachsen/Geometrieachsen..................366 3.15.1.3 Zusatzachsen........................367 3.15.1.4 Hauptspindel, Masterspindel .................... 368 3.15.1.5 Maschinenachsen ......................368 3.15.1.6 Kanalachsen ........................368 3.15.1.7 Bahnachsen ........................369 3.15.1.8 Positionierachsen......................369 3.15.1.9 Synchronachsen ......................
  • Seite 8 Inhaltsverzeichnis 4.1.3.6 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) ............441 4.1.4 Stringoperationen......................443 4.1.4.1 Typenkonvertierung nach STRING (AXSTRING) ..............443 4.1.4.2 Typenkonvertierung von STRING (NUMBER, ISNUMBER, AXNAME) ........444 4.1.4.3 Verkettung von Strings (<<) ..................... 445 4.1.4.4 Wandlung in Klein-/Großbuchstaben (TOLOWER, TOUPPER)..........446 4.1.4.5 Länge eines Strings bestimmen (STRLEN) .................
  • Seite 9 Inhaltsverzeichnis 4.2.3.6 Indirekter Unterprogrammaufruf mit Angabe des auszuführenden Programmteils (CALL BLOCK ... TO ...) ....................... 530 4.2.3.7 Indirekter Aufruf eines in ISO-Sprache programmierten Programms (ISOCALL) ....531 4.2.3.8 Unterprogramm mit Pfadangabe und Parametern aufrufen (PCALL) ........532 4.2.3.9 Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH)........... 533 4.2.3.10 Externes Unterprogramm abarbeiten (EXTCALL) ...............
  • Seite 10 Inhaltsverzeichnis 4.8.1.1 Vordefinierte Framevariable ($P_CHBFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) ..627 4.8.2 Wertzuweisungen an Frames ................... 630 4.8.2.1 Direkte Werte zuweisen (Achswert, Winkel, Maßstab) ............630 4.8.2.2 Framekomponenten lesen und verändern (TR, FI, RT, SC, MI) ..........632 4.8.2.3 Rechnen mit Frames ......................634 4.8.2.4 Definition von Framevariablen (DEF FRAME) ..............
  • Seite 11 Inhaltsverzeichnis 4.13.2.1 Additive Korrekturen anwählen (DL) ................. 696 4.13.2.2 Verschleiß- und Einrichtewerte festlegen ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) ...... 697 4.13.2.3 Additive Korrekturen löschen (DELDL) ................698 4.13.3 Werkzeugkorrektur - Sonderbehandlung................699 4.13.3.1 Werkzeuglängen spiegeln ....................701 4.13.3.2 Vorzeichenbewertung Verschleiß ..................701 4.13.3.3 Koordinatensystem der aktiven Bearbeitung (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS)......................
  • Seite 12 Inhaltsverzeichnis 4.14.11 Beeinflussung der Bewegungsführung ................795 4.14.11.1 Maximale Achsgeschwindigkeit oder Spindeldrehzahl anpassen (VELOLIM)....... 795 4.14.11.2 Maximalen Achsruck anpassen (JERKLIM) ................. 797 4.14.11.3 Maximale Bahngeschwindigkeit anpassen (FLIM).............. 798 4.14.11.4 Maximale Bahnbeschleunigung anpassen (PACCLIM) ............800 4.14.12 Satzwechselverhalten bei aktiver Kopplung (CPBC) ............801 4.15 Achsfunktionen .......................
  • Seite 13 Inhaltsverzeichnis 4.21 Programmsimulation ....................... 874 4.21.1 Funktion .......................... 874 4.21.2 Programmsimulation in Verbindung mit Handlingskanälen ..........875 4.22 Weitere Funktionen......................876 4.22.1 Maschinendaten wirksam setzen (NEWCONF)..............876 4.22.2 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) ............877 4.22.3 Fenster aus dem Teileprogramm interaktiv aufrufen (MMC) ..........880 4.22.4 Process DataShare - Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE)...
  • Seite 14 Messzyklen ........................1045 4.24.2.1 Übersicht der Messzyklen ....................1047 4.24.2.2 Übersicht Messzyklenparameter ..................1048 Tabellen ............................1089 Anweisungen......................... 1089 Anweisungen: Verfügbarkeit bei SINUMERIK 828D ............1128 5.2.1 Steuerungsvarianten Fräsen / Drehen ................1129 5.2.2 Steuerungsvarianten Schleifen ..................1156 Adressen........................1183 5.3.1 Adressbuchstaben......................
  • Seite 15 Inhaltsverzeichnis 5.4.6 G-Gruppe 6: Ebenenanwahl ................... 1198 5.4.7 G-Gruppe 7: Werkzeugradiuskorrektur................1198 5.4.8 G-Gruppe 8: Einstellbare Nullpunktverschiebung ............1198 5.4.9 G-Gruppe 9: Frame- und Werkzeugkorrektur-Unterdrückung ........... 1199 5.4.10 G-Gruppe 10: Genauhalt - Bahnsteuerbetrieb ..............1199 5.4.11 G-Gruppe 11: Genauhalt satzweise................. 1200 5.4.12 G-Gruppe 12: Satzwechselkriterien bei Genauhalt (G60/G9) ...........
  • Seite 16 Inhaltsverzeichnis Index ..............................1255 NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
  • Seite 17: Einleitung

    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.
  • Seite 18: Gültigkeit

    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.
  • Seite 20: Dokumentation Im Internet

    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.
  • Seite 21: Feedback Zur Technischen Dokumentation

    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...
  • Seite 22: Service Und Support

    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...
  • Seite 23: Verwendung Von Openssl

    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 •...
  • Seite 24: Einhaltung Der Datenschutz-Grundverordnung

    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.
  • Seite 25: Grundlegende Sicherheitshinweise

    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.
  • Seite 27: Grundlagen

    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.
  • Seite 28: Positionsangaben In Form Kartesischer Koordinaten

    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:...
  • Seite 29: Beispiel: Werkstück-Positionen Beim Fräsen

    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...
  • Seite 30: Absolutmaß

    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...
  • Seite 31: Beispiel: Drehen

    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...
  • Seite 32: Positionsangaben Im Kettenmaß (Inkrementalmaß)

    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.
  • Seite 33: Arbeitsebenen

    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...
  • Seite 34: Aktivieren Einer Arbeitsebene

    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 ≙...
  • Seite 35: Null- Und Bezugspunkte Beim Drehen

    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.
  • Seite 36: Koordinatensysteme

    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...
  • Seite 38: Lage Des Koordinatensystems Bei Unterschiedlichen Maschinentypen

    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.
  • Seite 39: Wz-Maschinen Mit Kinematischer Transformation

    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.
  • Seite 40: Basisverschiebung

    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...
  • Seite 41: Werkstück-Koordinatensystem (Wks)

    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).
  • Seite 42: Wie Hängen Die Verschiedenen Koordinatensysteme Zusammen

    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.
  • Seite 43: Benennung Eines Nc-Programms

    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 –...
  • Seite 44: Steuerungsinterne Erweiterungen

    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.
  • Seite 45: Elemente Der Nc-Hochsprache

    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.
  • Seite 46: Wirksamkeit Von Befehlen

    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: –...
  • Seite 47: Satzregeln

    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.
  • Seite 48: Wertzuweisungen

    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: –...
  • Seite 49: Ausblenden Von Sätzen

    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 ;...
  • Seite 50: Ausblendebenen

    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.
  • Seite 51: Anlegen Eines Nc-Programms

    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.
  • Seite 52: Arbeitsplan Aufstellen

    Grundlagen 3.3 Anlegen eines NC-Programms 3. Arbeitsplan aufstellen Schrittweise alle Bearbeitungsvorgänge der Maschine festlegen, z. B.: – Eilgangbewegungen zum Positionieren – Werkzeugwechsel – Bearbeitungsebene festlegen – Freifahren zum Nachmessen – Spindel, Kühlmittel ein-/ausschalten – Werkzeugdaten aufrufen – Zustellen – Bahnkorrektur – Anfahren an die Kontur –...
  • Seite 53: Programmkopf

    Grundlagen 3.3 Anlegen eines NC-Programms Sonderzeichen Bedeutung Division, Satzunterdrückung Multiplikation Addition Subtraktion, negatives Vorzeichen " Anführungszeichen, Kennung für Zeichenkette Hochkomma, Kennung für spezielle Zahlenwerte: hexadezimal, binär systemeigene Variablenkennung Unterstrich, zu Buchstaben gehörig reserviert reserviert Dezimalpunkt Komma, Trennzeichen von Parametern Kommentarbeginn & Formatierungszeichen, gleiche Wirkung wie Leerzeichen Satzende Tabulator...
  • Seite 54: Programmbeispiele

    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 ;...
  • Seite 55: Beispiel 2: Nc-Programm Zum Drehen

    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.
  • Seite 56: Maßzeichnung Des Werkstücks

    Grundlagen 3.3 Anlegen eines NC-Programms Maßzeichnung des Werkstücks NC-Programm Programmcode Kommentar N5 G0 G53 X280 Z380 D0 ; Startpunkt N10 TRANS X0 Z250 ; Nullpunktverschiebung N15 LIMS=4000 ; Drehzahlbegrenzung (G96) N20 G96 S250 M3 ; konstante Schnittgeschwindigkeit anwählen N25 G90 T1 D1 M8 ;...
  • Seite 57: Beispiel 3: Nc-Programm Zum Fräsen

    Grundlagen 3.3 Anlegen eines NC-Programms Programmcode Kommentar N95 G0 G40 G97 X100 Z50 M9 ; Werkzeugradiuskorrektur abwählen und Werkzeug- wechselpunkt anfahren N100 T2 D2 ; Werkzeug aufrufen und Korrektur anwählen N105 G96 S210 M3 ; konstante Schnittgeschwindigkeit anwählen N110 G0 G42 X50 Z-60 M8 ;...
  • Seite 58 Grundlagen 3.3 Anlegen eines NC-Programms Aufsicht NC-Programm Programmcode Kommentar N10 T="PF60" ; Voranwahl des Werkzeugs mit dem Namen PF60. N20 M6 ; Werkzeug in die Spindel einwechseln. N30 S2000 M3 M8 ; Drehzahl, Drehrichtung, Kühlung ein. N40 G90 G64 G54 G17 G0 X-72 Y-72 ;...
  • Seite 59: Werkzeugwechsel

    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) ④...
  • Seite 61: Werkzeugwechsel Bei Aktiver Werkzeugverwaltung

    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.
  • Seite 62: Bedeutung

    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:...
  • Seite 63: Werkzeugwechsel Bei Aktiver Wzv Mit M6

    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:...
  • Seite 65: Werkzeugwechsel Bei Nicht Aktiver Werkzeugverwaltung

    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 (→...
  • Seite 67: Verhalten Bei Fehlerhafter T-Programmierung

    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.
  • Seite 68: Werkzeuglängenkorrektur

    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.
  • Seite 69: Werkzeugradiuskorrektur

    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.
  • Seite 70: Geometrische Werkzeug-Größen (Länge, Radius)

    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.
  • Seite 71: Werkzeugtypen

    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) ...
  • Seite 72 Grundlagen 3.5 Werkzeugkorrekturen CLDATA = "cutter location data" (Werkzeugpositionsdaten nach DIN66215) SUG = Schleifscheibenumfangsgeschwindigkeit SW = Sonderwerkzeuge NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
  • Seite 73: Fräswerkzeuge

    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...
  • Seite 77: Bohrer

    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...
  • Seite 78: Schleifwerkzeuge

    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...
  • Seite 80: Drehwerkzeuge

    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 (→...
  • Seite 84: Einstellmöglichkeiten

    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...
  • Seite 87: Sonderwerkzeuge

    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...
  • Seite 89: Werkzeugkorrekturen Aktivieren/Deaktivieren (D, D0)

    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.
  • Seite 90: Bedeutung

    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).
  • Seite 91: Weitere Informationen

    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 93: Programmierbarer Werkzeugkorrektur-Offset (Toffl, Toff, Toffr, Tofflr)

    Grundlagen 3.5 Werkzeugkorrekturen Programmcode Kommentar N300 $P_UIFR[1]=CTRANS(X,1000,Y,400,Z,-120) N310 T="BALL_D3" N320 M6 N330 TRAFOOF N340 G54 G0 Z49 D1 N350 G0 X1100 Y500 C0 A0 N360 SUB_SUP ; Aufruf des Unterprogramms. N370 G0 X1200 N380 M30 Unterprogramm mit D0 Programmcode Kommentar N10 PROC SUB_SUP N20 DEF INT NUMBER N30 NUMBER=$P_TOOL N40 G0 Z49 D0...
  • 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 96 Grundlagen 3.5 Werkzeugkorrekturen Programmcode Kommentar N50 G0 X0 Y0 Z0 ; Maschinenachsposition X0 Y0 Z101 N60 G18 G0 X0 Y0 Z0 ; Maschinenachsposition X0 Y100 Z1 N70 G17 N80 TOFFL=1.0 ; Offset in L1-Richtung (entspricht Z bei G17). N90 G0 X0 Y0 Z0 ;...
  • 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.>]).
  • Seite 98: Spindelbewegung

    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.
  • Seite 102: Werkzeug-Schnittgeschwindigkeit (Svc)

    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.
  • Seite 104: Beispiele

    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) ;...
  • Seite 107: Schnittgeschwindigkeit Und Spindeldrehzahl-Programmierungsvariante Lesen

    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: •...
  • Seite 108: Konstante Schnittgeschwindigkeit (G96/G961/G962, G97/G971/G972, G973, Lims, Scc)

    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.
  • Seite 113: Konstante Scheibenumfangsgeschwindigkeit Ein-/Ausschalten (Gwpson, Gwpsof)

    Grundlagen 3.6 Spindelbewegung Programmcode Kommentar N05 G0 Z50 N10 X35 Y30 N15 SCC[X] ; Bezugsachse für G96/G961/G962 ist X. N20 G96 M3 S20 ; Konstante Schnittgeschwindigkeit mit 10 mm/min ein. N25 G1 F1.5 X20 ; Planbearbeitung in X mit 1,5 mm/Umdrehung. N30 G0 Z51 N35 SCC[Y] ;...
  • Seite 114: Programmierbare Spindeldrehzahlbegrenzung (G25, G26)

    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.
  • Seite 115: Vorschubregelung

    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 ;...
  • Seite 117: Beispiel 3: Schraubenlinieninterpolation

    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.
  • Seite 122: Vorschubunterschied

    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: •...
  • Seite 123: Positionierachsen Verfahren (Pos, Posa, Posp, Fa, Waitp, Waitmc)

    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.
  • Seite 127: Lagegeregelter Spindelbetrieb (Spcon, Spcof)

    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:...
  • Seite 128: Spindeln Positionieren (Spos, Sposa, M19, M70, Waits)

    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.
  • Seite 133: Vorschub Für Positionierachsen/Spindeln (Fa, Fpr, Fpraon, Fpraof)

    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) ;...
  • Seite 136: Programmierbare Vorschubkorrektur (Ovr, Ovrrap, Ovra)

    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.
  • Seite 137: Programmierbare Beschleunigungskorrektur (Acc)

    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.
  • Seite 138: Vorschub Mit Handradüberlagerung (Fd, Fda)

    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...
  • Seite 142: Vorschubreduzierung Mit Eckenverzögerung (Fendnorm, G62, G621)

    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...
  • Seite 145: Mehrere Vorschubwerte In Einem Satz (F, St, Sr, Fma, Sta, Sra)

    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‐...
  • Seite 147: Beispiele

    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...
  • Seite 148: Satzweiser Vorschub (Fb)

    Grundlagen 3.7 Vorschubregelung Beispiel 2: Axiale Bewegung Programmcode Kommentar POS[A]=300 FA[A]=800 FMA[7,A]=720 FMA[6,A]=640 ; Vorschub für Achse A = 800 FMA[5,A]=560 STA[A]=1.5 SRA[A]=0.5 ; zusätzliche Vorschubwerte für Achse A: 720(Eingangsbit 7) ; 640 (Eingangsbit 6) ; 560 (Eingangsbit 5) ; axiale Verweilzeit: 1,5s ;...
  • Seite 149: Zahnvorschub (G95 Fz)

    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.
  • Seite 150: Werkzeugeingriffe Undefiniert

    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.
  • Seite 154: Geometrie-Einstellungen

    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 ;...
  • Seite 157: Wahl Der Arbeitsebene (G17/G18/G19)

    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...
  • Seite 160: Maßangaben

    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 ;...
  • Seite 162: Siehe Auch

    Grundlagen 3.8 Geometrie-Einstellungen Beispiel 2: Drehen Programmcode Kommentar N5 T1 D1 S2000 M3 ; Einwechseln von Werkzeug T1, Spindel ein mit Drehrichtung rechts. N10 G0 G90 X11 Z1 ; Absolutmaßeingabe, im Eilgang auf Posi- tion XZ. N20 G1 Z-15 F0.2 ; Geradeninterpolation, Zustellen des Werkzeugs.
  • Seite 163: G91-Erweiterung

    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 ;...
  • Seite 166: Absolut- Und Kettenmaßangabe Beim Drehen Und Fräsen (G90/G91)

    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.
  • Seite 167: Absolutmaßangabe Für Rundachsen (Dc, Acp, Acn)

    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.
  • Seite 169: Maßsystem Inch/Metrisch (G70/G71, G700/G710)

    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.
  • Seite 171: Weitere Informationen

    Grundlagen 3.8 Geometrie-Einstellungen Programmcode Kommentar N30 X90 ; X=90 mm N40 G70 X2.75 Y3.22 ; Programmiertes Maßsystem: inch ; X=2.75 inch, Y=3.22 inch, F=500 mm/min N50 X1.18 Y3.54 ; X=1.18 inch, Y=3.54 inch, F=500 mm/min N60 G71 X20 Y30 ; Programmiertes Maßsystem: metrisch ;...
  • Seite 172: Kanalspezifische Durchmesser-/Radius-Programmierung (Diamon, Diam90, Diamof, Diamcycof)

    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‐...
  • Seite 174: Achsspezifische Durchmesser-/Radius-Programmierung (Diamona, Diam90A, Diamofa, Diacycofa, Diamchana, Diamchan, Dac, Dic, Rac, Ric)

    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...
  • Seite 178: Lage Des Werkstücks Beim Drehen

    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:...
  • Seite 179: Wegbefehle

    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!).
  • Seite 180: Werkzeugeingriff Undefiniert

    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.
  • Seite 181: Fahrbefehle Mit Kartesischen Koordinaten (G0, G1, G2, G3, X

    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...
  • Seite 183: Fahrbefehle Mit Polarkoordinaten

    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.
  • Seite 184: Fahrbefehle Mit Polarkoordinaten (G0, G1, G2, G3, Ap, Rp)

    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.
  • Seite 188: Siehe Auch

    Grundlagen 3.9 Wegbefehle Programmcode Kommentar N110 AP=IC(72) N120 L10 … N130 G0 X300 Y200 Z100 M30 ; Werkzeug freifahren, Programmende. Siehe auch Einleitung und Übersicht (Seite 198) 3.9.4 Eilgangbewegungen 3.9.4.1 Eilgang aktivieren (G0) Das Verfahren der Bahnachsen mit Eilganggeschwindigkeit wird eingeschaltet mit dem G-Befehl Syntax G0 X…...
  • Seite 189: Beispiele

    Grundlagen 3.9 Wegbefehle Beispiele Beispiel 1: Fräsen Programmcode Kommentar N10 G90 S400 M3 ; Absolutmaßeingabe, Spindel rechts N20 G0 X30 Y20 Z2 ; Anfahren der Startposition N30 G1 Z-5 F1000 ; Zustellen des Werkzeugs N40 X80 Y65 ; Fahren auf einer Geraden N50 G0 Z2 N60 G0 X-20 Y100 Z100 M30 ;...
  • Seite 190: Lineare Interpolation Für Eilgangbewegungen Ein-/Ausschalten (Rtlion, Rtliof)

    Grundlagen 3.9 Wegbefehle Beispiel 2: Drehen Programmcode Kommentar N10 G90 S400 M3 ; Absolutmaßeingabe, Spindel rechts N20 G0 X25 Z5 ; Anfahren der Startposition N30 G1 G94 Z0 F1000 ; Zustellen des Werkzeugs N40 G95 Z-7.5 F0.2 N50 X60 Z-35 ; Fahren auf einer Geraden N60 Z-50 N70 G0 X62 N80 G0 X80 Z20 M30...
  • Seite 191: Weitere Informationen

    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.
  • Seite 192: Toleranzen Für Eilgangbewegungen Anpassen (Stolf, Ctolg0, Otolg0)

    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.
  • Seite 195 Grundlagen 3.9 Wegbefehle Programmcode Kommentar X... Y... Z... X... Y... Z... X... Y... Z... ; Hier wirken die projektierten absoluten G0-Toleranzen. CTOLG0=0.2 OTOLG0=2.0 ; Programmierung der absoluten G0-Toleranzen. G1 X... Y... Z... X... Y... Z... X... Y... Z... G0 X... Y... Z... X...
  • Seite 196: Geradeninterpolation (G1)

    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.
  • Seite 198: Kreisinterpolation

    Grundlagen 3.9 Wegbefehle Beispiel 2: Herstellung einer Nut (Drehen) Programmcode Kommentar N10 G17 S400 M3 ; Wahl der Arbeitsebene, Spindel rechts N20 G0 X40 Y-6 Z2 ; Anfahren der Startposition N30 G1 Z-3 F40 ; Zustellen des Werkzeugs N40 X12 Y-20 ;...
  • Seite 199: Ebene Für Die Kreisinterpolation

    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...
  • Seite 202: Mittelpunktangabe Im Absolutmaß

    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.
  • Seite 203 Grundlagen 3.9 Wegbefehle Beispiele Beispiel 1: Fräsen Programmcode N10 G0 X67.5 Y80.511 N20 G3 X17.203 Y38.029 CR=34.913 F500 Beispiel 2: Drehen Programmcode N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 CR=30 N135 G1 Z-95 NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
  • Seite 204: Kreisinterpolation Mit Öffnungswinkel Und Endpunkt / Mittelpunkt

    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…...
  • Seite 205 Grundlagen 3.9 Wegbefehle Beispiele Beispiel 1: Fräsen Programmcode N10 G0 X67.5 Y80.211 N20 G3 X17.203 Y38.029 AR=140.134 F500 N20 G3 I–17.5 J–30.211 AR=140.134 F500 Beispiel 2: Drehen Programmcode N125 G1 X40 Z-25 F0.2 N130 G3 X70 Z-75 AR=135.944 N130 G3 I-3.335 K-29.25 AR=135.944 N130 G3 I=AC(33.33) K=AC(-54.25) AR=135.944 NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
  • Seite 206: Kreisinterpolation Mit Polarkoordinaten (G2/G3, Ap, Rp)

    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=...
  • Seite 207: Kreisinterpolation Mit Zwischen- Und Endpunkt (Cip, X

    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.
  • Seite 210: Kreisinterpolation Mit Tangentialem Übergang (Ct, X

    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...
  • Seite 212 Grundlagen 3.9 Wegbefehle Beispiele Beispiel 1: Fräsen Programmcode Kommentar N10 G0 Z100 N20 G17 T1 M6 N30 G0 X0 Y0 Z2 M3 S300 D1 N40 Z-5 F1000 ; Werkzeug zustellen. N50 G41 X30 Y25 G1 F1000 ; Einschalten der Werkzeugradiuskorrektur. N60 Y35 ;...
  • Seite 213: Weitere Informationen

    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.
  • Seite 214: Schraubenlinien-Interpolation (G2/G3, Turn)

    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 ;...
  • Seite 216: Programmierung Des Endpunkts Schraubenlinieninterpolation

    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).
  • Seite 217: Parametrierung

    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).
  • Seite 219: Konturzüge: Zwei Geraden

    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...
  • Seite 222: Konturzüge: Drei Geraden

    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...
  • Seite 226: Konturzüge: Endpunktprogrammierung Mit Winkel

    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: •...
  • Seite 229: Beispiele

    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 230: Weitere Informationen

    Grundlagen 3.9 Wegbefehle Programmcode Kommentar N30 G0 X102 ; Rückzug auf Startposition. N40 G0 Z10 N50 G1 X99 N60 G33 Z-100 K4 SF=180 ; 2. Schnitt: Startpunktversatz 180° N70 G0 X110 ; Werkzeug wegfahren. N80 G0 Z10 N90 M30 ; Programmende. Beispiel 2: Kegelgewinde mit Winkel kleiner 45°...
  • 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.
  • Seite 232: Gewindesteigung

    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.
  • Seite 233: Gewindeschneiden Mit Zu- Oder Abnehmender Steigung (G34, G35)

    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 234: Programmierter Einlauf- Und Auslaufweg Bei G33, G34 Und G35 (Dits, Dite)

    Grundlagen 3.9 Wegbefehle Beispiel Programmcode Kommentar N1608 M3 S10 ; Spindel ein. N1609 G0 G64 Z40 X216 ; Startpunkt anfahren. N1610 G33 Z0 K100 SF=R14 ; Gewindeschneiden mit konstanter Steigung (100 mm/U) N1611 G35 Z-200 K100 F17.045455 ; Steigungsabnahme: 17.0454 mm/U2 Steigung am Satzende: 50mm/U N1612 G33 Z-240 K50 ;...
  • 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>...
  • Seite 236: Schnellrückzug Während Gewindeschneiden (Lfon, Lfof, Dilf, Alf, Lftxt, Lfwp, Lfpos, Polf, Polfmask, Polfmlin)

    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>...
  • Seite 239: Siehe Auch

    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.
  • Seite 240: Ballige Gewinde (G335, G336)

    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.
  • Seite 241: Mittelpunktprogrammierung

    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)").
  • Seite 242: Beispiel 3: Balliges Gewinde Im Uhrzeigersinn Mit Endpunkt- Und Radiusprogrammierung

    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...
  • Seite 243: Zwischenpunktprogrammierung

    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)
  • Seite 245: Gewindebohren Ohne Ausgleichsfutter

    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.
  • Seite 247: Beispiel: Gewindebohren Mit G331 / G332

    Grundlagen 3.9 Wegbefehle 3.9.10.2 Beispiel: Gewindebohren mit G331 / G332 Programmcode Kommentar N10 SPOS[n]=0 ; Spindel: Lageregelbetrieb ; Startposition 0 Grad N20 G0 X0 Y0 Z2 ; Achsen: Startposition anfahren N30 G331 Z-50 K-4 S200 ; Gewindebohren in Z, ; Steigung K-4 negativ => ;...
  • Seite 248: Beispiel: Anwendung Des Zweiten Getriebestufen-Datensatzes

    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.
  • Seite 249: Beispiel: Programmierung Ohne Spos

    Grundlagen 3.9 Wegbefehle Programmcode Kommentar N55 SPOS=0 ; Spindel positionieren N60 G331 Z-10 K5 S800 ; Gewindebohren ; Getriebestufenwechsel nicht möglich, ; Überwachung der Spindeldrehzahl 800 U/min ; mit Getriebestufen-Datensatz 1: Getriebestufe 2 ; müsste aktiv sein => Alarm 16748 3.9.10.7 Beispiel: Programmierung ohne SPOS Programmcode Kommentar...
  • Seite 250: Fase, Rundung (Chf, Chr, Rnd, Rndm, Frc, Frcm)

    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...
  • Seite 256: Werkzeugradiuskorrekturen

    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 260 Grundlagen 3.10 Werkzeugradiuskorrekturen Beispiel 4: Drehen Programmcode Kommentar N5 G0 G53 X280 Z380 D0 ; Startpunkt N10 TRANS X0 Z250 ; Nullpunktverschiebung N15 LIMS=4000 ; Drehzahlbegrenzung (G96) N20 G96 S250 M3 ; konstanten Vorschub anwählen N25 G90 T1 D1 M8 ; Werkzeuganwahl und Korrektur anwählen N30 G0 G42 X-1.5 Z1 ;...
  • Seite 261: Weitere Informationen

    Grundlagen 3.10 Werkzeugradiuskorrekturen Programmcode Kommentar N100 T2 D2 ; Werkzeug aufrufen und Korrektur anwäh- N105 G96 S210 M3 ; konstante Schnittgeschwindigkeit anwäh- N110 G0 G42 X50 Z-60 M8 ; Werkzeug anstellen mit Werkzeugradius- korrektur N115 G1 Z-70 F0.12 ; Durchmesser 50 drehen N120 G2 X50 Z-80 I6.245 K-5 ;...
  • 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.
  • Seite 263: An-/Abfahrverhalten Anpassen (Norm, Kont, Kontc, Kontt)

    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 ;...
  • Seite 266: Veränderte An-/Abfahrwinkel

    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...
  • Seite 267: Verhalten Beim Umfahren Von Außenecken Festlegen (G450, G451, Disc)

    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.
  • Seite 270: Weiches An- Und Abfahren

    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:...
  • Seite 272: Zustellbewegung

    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...
  • Seite 281: Aufstartpunkt)

    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...
  • Seite 282: Beispiele

    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.
  • Seite 284: Endpunkt Hinter Der Kontur

    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.
  • Seite 285: 1/2 D-Werkzeugkorrektur (Cut2D, Cut2Dd, Cut2Df, Cut2Dfd)

    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.
  • Seite 289: Werkzeugradiuskorrektur Konstant Halten (Cutconon, Cutconof)

    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.
  • Seite 290 Grundlagen 3.10 Werkzeugradiuskorrekturen Beispiel Programmcode Kommentar ; Definition des Werkzeugs d1. N20 $TC_DP1[1,1]= 110 ; Typ N30 $TC_DP6[1,1]= 10. ; Radius N50 X0 Y0 Z0 G1 G17 T1 D1 F10000 N70 X20 G42 NORM N80 X30 N90 Y20 N100 X10 CUTCONON ;...
  • Seite 291: Werkzeuge Mit Relevanter Schneidenlage

    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.
  • Seite 293: Bahnfahrverhalten

    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.
  • Seite 296: Bahnsteuerbetrieb (G64, G641, G642, G643, G644, G645, Adis, Adispos)

    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.
  • Seite 300: Vorausschauende Geschwindigkeitsführung Lookahead

    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".
  • Seite 303: Keine Überschleifzwischensätze

    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.
  • Seite 304: Koordinatentransformationen (Frames)

    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.
  • Seite 306: Frame-Anweisungen

    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 307 Grundlagen 3.12 Koordinatentransformationen (Frames) Syntax Ersetzende Anweisungen Additive Anweisungen TRANS X… Y… Z… ATRANS X… Y… Z… ROT X… Y… Z… AROT X… Y… Z… ROT RPL=… AROT RPL=… ROTS/CROTS X... Y... AROTS X... Y... SCALE X… Y… Z… ASCALE X… Y… Z… MIRROR X0/Y0/Z0 AMIRROR X0/Y0/Z0 Bedeutung...
  • 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:...
  • Seite 309: Programmierbare Nullpunktverschiebung (Trans, Atrans)

    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...
  • Seite 310: Beispiele

    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...
  • Seite 313: Programmierbare Drehung (Rot, Arot, Rpl)

    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.
  • Seite 316: Beispiel 3: Mehrseitenbearbeitung

    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.
  • Seite 319: Programmierbare Framedrehungen Mit Raumwinkeln (Rots, Arots, Crots)

    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)").
  • Seite 322: Programmierbarer Maßstabsfaktor (Scale, Ascale)

    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.
  • Seite 325: Programmierbare Spiegelung (Mirror, Amirror)

    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.
  • Seite 329: Interpretation Der Programmierten Werte

    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.
  • Seite 330: Frame-Erzeugung Nach Werkzeugausrichtung (Toframe, Torot, Parot)

    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.
  • Seite 333: Frame Abwählen (G53, G153, Supa, G500)

    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.
  • Seite 336: Additive Nullpunktverschiebungen Abwählen (Drfof)

    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")
  • Seite 338: Hilfsfunktionsausgaben

    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.
  • Seite 339: Eigenschaften

    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.
  • Seite 340: Gruppierung

    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.
  • Seite 341: Funktionsausgaben Im Bahnsteuerbetrieb

    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.
  • Seite 342: Vom Maschinenhersteller Definierte M-Funktionen

    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.
  • Seite 343: Weitere Informationen Zu Den Vordefinierten M-Befehlen

    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.
  • Seite 344: Ergänzende Befehle

    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.
  • Seite 345: Zeichenkette In Btss-Variable Schreiben (Wrtpr)

    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.
  • Seite 347: Arbeitsfeldbegrenzung

    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 ;...
  • Seite 350: Arbeitsfeldbegrenzung Im Wks/Ens (Walcs0

    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...
  • Seite 353: Referenzpunktfahren (G74)

    Grundlagen 3.14 Ergänzende Befehle Programmcode Kommentar N51 $P_WORKAREA_CS_COORD_SYSTEM[1]=1 ; Die Arbeitsfeldbegrenzung der Arbeitsfeldbegrenzungsgruppe 2 gilt im WKS. N60 $P_WORKAREA_CS_PLUS_ENABLE[1,X]=TRUE N61 $P_WORKAREA_CS_LIMIT_PLUS[1,X]=10 N62 $P_WORKAREA_CS_MINUS_ENABLE[1,X]=FALSE N70 $P_WORKAREA_CS_PLUS_ENABLE[1,Y]=TRUE N73 $P_WORKAREA_CS_LIMIT_PLUS[1,Y]=34 N72 $P_WORKAREA_CS_MINUS_ENABLE[1,Y]=TRUE N73 $P_WORKAREA_CS_LIMIT_MINUS[1,Y]=–25 N80 $P_WORKAREA_CS_PLUS_ENABLE[1,Z]=FALSE N82 $P_WORKAREA_CS_MINUS_ENABLE[1,Z]=TRUE N83 $P_WORKAREA_CS_LIMIT_PLUS[1,Z]=–600 N90 WALCS2 ; Arbeitsfeldbegrenzungsgruppe 2 einschalten.
  • Seite 354: Festpunkt Anfahren (G75)

    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...
  • Seite 355: Voraussetzungen

    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.
  • Seite 357: Axiale Zusatzbewegungen

    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.
  • Seite 358: Fahren Auf Festanschlag (Fxs, Fxst, Fxsw)

    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‐...
  • Seite 360: Fahren Auf Festanschlag Deaktivieren: Fxs

    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.
  • Seite 361: Klemmmoment (Fxst) Und Überwachungsfenster (Fxsw)

    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: •...
  • Seite 363: Verweilzeit (G4)

    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: •...
  • Seite 365: Interner Vorlaufstopp

    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.
  • Seite 366: Hauptachsen/Geometrieachsen

    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.
  • Seite 367: Zusatzachsen

    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.
  • Seite 368: Hauptspindel, Masterspindel

    Grundlagen 3.15 Sonstige Informationen Programmierbeispiel Programmcode Kommentar N10 G1 X100 Y20 Z30 A40 F300 ; Bahnachsbewegungen. N20 POS[U]=10POS[X]=20 FA[U]=200 FA[X]=350 ; Positionierachsbewegungen. N30 G1 X500 Y80 POS[U]=150FA[U]=300 F550 ; Bahn- und Positionierachse. N40 G74 X1=0 Z1=0 ; Referenzpunkt anfahren. 3.15.1.4 Hauptspindel, Masterspindel Welche Spindel Hauptspindel ist, wird durch die Maschinenkinematik bestimmt.
  • Seite 369: Bahnachsen

    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.
  • Seite 370: Synchronachsen

    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.
  • Seite 371: Vom Fahrbefehl Zur Maschinenbewegung

    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...
  • Seite 372: Adressen

    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). •...
  • Seite 373: Adressen Mit Axialer Erweiterung

    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...
  • Seite 374: Namen

    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 ;...
  • Seite 375: Namensregeln

    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_ • • •...
  • Seite 376: Konstanten

    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.
  • Seite 377: Operatoren Und Rechenfunktionen

    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 ⇒...
  • Seite 379: Priorität Der Operatoren

    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...
  • Seite 380: Indizierung

    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 •...
  • Seite 381: Arbeitsvorbereitung

    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.
  • Seite 382: Systemdaten

    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...
  • Seite 384: Vordefinierte Anwendervariablen: Kanalspezifische Rechenparameter (R)

    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.
  • Seite 386: Vordefinierte Anwendervariablen: Globale Rechenparameter (Rg)

    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.
  • Seite 387: Definition Von Anwendervariablen (Def)

    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 390: Beispiele

    ; Phys. Einheit: 13 = [s] ; Grenzwerte: Low = 10.0, High = nicht programmiert => obere Definitionsbereichsgrenze ; Zugriffsrechte: ; NC-Programm: Schreiben/Lesen = 3 = Anwender ; BTSS: Schreiben = 0 = Siemens, Lesen = 3 = Anwender NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
  • 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...
  • Seite 393: Redefinition Von Systemdaten, Anwenderdaten Und Nc-Sprachbefehlen (Redef)

    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)
  • Seite 396: Attribut: Initialisierungswert

    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.
  • Seite 400: Siehe Auch

    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 401: Attribut: Physikalische Einheit (Phu)

    Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Beispiele: Programmcode Kommentar DEF REAL GUD1 ; unterer Grenzwert = Definitionsbereichsgrenze ; oberer Grenzwert = Definitionsbereichsgrenze ; kein Initialisierungswert programmiert ; => impliziter Initialisierungswert = 0.0 DEF REAL LLI 5.0 GUD2 ; unterer Grenzwert = 5.0 ; oberer Grenzwert = Definitionsbereichsgrenze ;...
  • 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)
  • Seite 404: Attribut: Zugriffsrechte (Apr, Apw, Aprp, Apwp, Aprb, Apwb)

    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.
  • Seite 406: Zugriffsrechte Bezüglich Nc-Programmen Und Zyklen (Aprp, Apwp)

    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: •...
  • Seite 407: Zugriffsrechte Bezüglich Btss (Aprb, Apwb)

    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 –...
  • Seite 409: Attribut: Datenklasse (Dcm, Dci, Dcu)

    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.
  • Seite 410: Übersicht Definierbarer Und Redefinierbarer Attribute

    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.
  • Seite 411: Definition Und Initialisierung Von Feldvariablen (Def, Set, Rep)

    Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Siehe auch Variablen (Seite 381) 4.1.1.12 Definition und Initialisierung von Feldvariablen (DEF, SET, REP) Eine Anwendervariable kann als 1- bis maximal 3-dimensionales Feld (Array) definiert werden: • 1-dimensional: DEF <Datentyp> <Variablenname>[<n>] • 2-dimensional: DEF <Datentyp> <Variablenname>[<n>,<m>] • 3-dimensional: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] Hinweis Anwendervariable vom Datentyp STRING können maximal als 2-dimensionales Feld definiert werden.
  • Seite 412: Bedeutung

    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.
  • Seite 414: Beispiel: Initialisierung Kompletter Variablenfelder

    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.
  • Seite 417: Datentypen

    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.
  • Seite 419: Vorhandensein Einer Variablen Prüfen (Isvar)

    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.
  • Seite 420: Beispiele

    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...
  • Seite 421: Zugriffsrecht Lesen

    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...
  • Seite 426: Mögliche Typenkonvertierungen

    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...
  • Seite 427: Indirekte Programmierung

    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 ;...
  • Seite 429: Indirekte Programmierung Von G-Befehlen

    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.
  • Seite 430: Indirekte Programmierung Von Positionsattributen (Gp)

    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.
  • Seite 431: Anwendung

    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.
  • Seite 433: Indirekte Programmierung Von Teileprogrammzeilen (Execstring)

    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 434: Operationen

    Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.3 Operationen 4.1.3.1 Rechenfunktionen Operator / Rechenfunktion Bedeutung Addition Subtraktion Multiplikation Division Ganzzahl-Division Modulo-Division (Liefert den Rest der Ganzzahl-Division) Kettungsoperator für FRAME-Variablen Sinus SIN() Cosinus COS() Tangens TAN() Arcussinus ASIN() Arcuscosinus ACOS() Arcustangens2 ATAN2(,) Quadratwurzel SQRT() Betrag ABS() Potenzfunktion (Seite 438) POT() Genauigkeitskorrektur bei Vergleichsbefehlen (Seite 441) TRUNC()
  • 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);...
  • Seite 436: Vergleichs- Und Logische Operationen

    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.
  • Seite 437: Priorität Der Operationen

    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.
  • Seite 438: Reihenfolge Der Operatoren

    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 ≤...
  • Seite 440: Aufrunden (Roundup)

    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.
  • Seite 441: Genauigkeitskorrektur Bei Vergleichsfehlern (Trunc)

    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.
  • Seite 442: Kompatibilität

    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.
  • Seite 443: Stringoperationen

    Arbeitsvorbereitung 4.1 Flexible NC-Programmierung 4.1.4 Stringoperationen Stringoperationen Neben den klassischen Operationen "Zuweisung" und "Vergleich" sind folgende Stringoperationen möglich: • Typenkonvertierung nach STRING (AXSTRING) (Seite 443)  • Typenkonvertierung von STRING (NUMBER, ISNUMBER, AXNAME) (Seite 444)  • Verkettung von Strings (<<) (Seite 445)  • Wandlung in Klein-/Großbuchstaben (TOLOWER, TOUPPER) (Seite 446)  •...
  • Seite 444: Typenkonvertierung Von String (Number, Isnumber, Axname)

    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.
  • Seite 445: Verkettung Von Strings

    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...
  • Seite 446: Verkettung Von Strings ( Wandlung In Klein-/Großbuchstaben (Tolower, Toupper)

    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) ;...
  • Seite 447: Länge Eines Strings Bestimmen (Strlen)

    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...
  • Seite 448: Auswahl Eines Teilstrings (Substr)

    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.
  • Seite 449: Lesen Und Schreiben Von Einzelnen Zeichen

    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"...
  • Seite 451: String Formatieren (Sprint)

    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>...
  • Seite 459: Programmsprünge Und -Verzweigungen

    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.
  • Seite 460: Siehe Auch

    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>...
  • Seite 464: Programmverzweigung (Case

    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"...
  • Seite 466: Programmteilwiederholung (Repeat, Repeatb, Endlabel, P)

    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...
  • Seite 470: Weitere Informationen

    Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Beispiel 5: Fräsbearbeitung, Bohrposition mit verschiedenen Technologien bearbeiten Programmcode Kommentar N10 ZENTRIERBOHRER() ; Zentrierbohrer einwechseln. N20 POS_1: ; Bohrpositionen 1 N30 X1 Y1 N40 X2 N50 Y2 N60 X3 Y3 N70 ENDLABEL: N80 POS_2: ; Bohrpositionen 2 N90 X10 Y5 N100 X9 Y-5 N110 X3 Y3...
  • Seite 471: Sprünge Und Programmteilwiederholung

    Arbeitsvorbereitung 4.1 Flexible NC-Programmierung Beispiel: Programmcode Kommentar N5 R10=15 N10 BEGIN: R10=R10+1 ; Breite N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 ; Ebenenabbruch N50 X=-R10 N60 Y=-R10 N70 END: Z10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 N120 Z10 ;...
  • Seite 472: Abarbeiten Von Extern Und Programmteilwiederholung

    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.
  • Seite 473: Aktuelle Satzanzeige Bei Programmschleifen

    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.
  • Seite 474: Kontrollstrukturen Und Programmsprünge

    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.
  • Seite 475: Beispiel: Werkzeugwechselunterprogramm

    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.
  • Seite 476: Endlos-Programmschleife (Loop, Endloop)

    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 ...
  • Seite 477: Zählschleife (For

    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.
  • Seite 478: Programmschleife Mit Bedingung Am Schleifenanfang (While, Endwhile)

    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"...
  • Seite 479: Programmschleife Mit Bedingung Am Schleifenende (Repeat, Until)

    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.
  • Seite 480: Kanalübergreifende Programmkoordinierung

    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.
  • Seite 485: Makrotechnik (Define

    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.
  • Seite 487: Unterprogrammtechnik

    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.
  • Seite 488: Anwendung

    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.
  • Seite 489: Unterprogrammnamen

    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.
  • Seite 490: Namensgleichheit Bei Haupt- Und Unterprogrammen

    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 •...
  • Seite 492: Suchpfad

    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.
  • Seite 493: Definition Eines Unterprogramms 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.
  • Seite 494: Überprüfung Der Übergabeparameter

    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.
  • Seite 495: Unterprogramm Mit Parameterübergabe Call-By-Value (Proc)

    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.
  • Seite 497: Weitere Informationen

    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>...
  • Seite 498: Unterprogramm Mit Parameterübergabe Call-By-Reference (Proc, Var)

    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: •...
  • Seite 501: Modale G-Funktionen Sichern (Save)

    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...
  • Seite 502: Einzelsatzbearbeitung Unterdrücken (Sblof, Sblon)

    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.
  • Seite 503: Besonderheiten Bei Den Verschiedenen Einzelsatzbearbeitungstypen

    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 506: Aktuelle Satzanzeige Unterdrücken (Displof, Displon, Actblocno)

    Arbeitsvorbereitung 4.2 Unterprogrammtechnik Programmcode Kommentar PROC UP1(INT _NR) SBLOF ; Einzelsatzbearbeitung für UP1 ausschal- N100 X10 N110 UP2(0) PROC UP2(INT _NR) N200 X20 N210 SBLON ; Einzelsatzbearbeitung einschalten N220 X22 ; Einzelsatz-Stopp N230 UP3(0) PROC UP3(INT _NR) N300 SBLOF ; Einzelsatzbearbeitung ausschalten N305 X30 N310 SBLON ;...
  • 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.
  • Seite 508 Arbeitsvorbereitung 4.2 Unterprogrammtechnik Programmcode Kommentar N9040 R10 = 66 X100 ; Alarm 12080 auslösen N10000 M17 Unterprogramm SUBPROG2 (ohne ACTBLOCNO): Programmcode Kommentar PROC SUBPROG2 DISPLOF N5000 R10 = R33 + R44 N6040 R10 = 66 X100 ; Alarm 12080 auslösen N7000 M17 Hauptprogramm: Programmcode Kommentar...
  • Seite 509: Unterprogramme Mit Vorbereitung Kennzeichnen (Prepro)

    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 ①...
  • Seite 510: Programmrücksprung Setzen (Übersicht)

    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.
  • Seite 511: Programmrücksprung Ret

    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...
  • Seite 512: Unterprogramm

    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 …...
  • Seite 518: Weitere Informationen

    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...
  • Seite 520: Aufruf Eines Unterprogramms

    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...
  • Seite 523: Unterprogrammaufruf Mit Parameterübergabe (Extern)

    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 …...
  • Seite 525: Anzahl Der Programmwiederholungen (P)

    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.
  • Seite 526: Modaler Unterprogrammaufruf (Mcall, Mcallof)

    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.
  • Seite 529: Indirekter Unterprogrammaufruf (Call)

    Arbeitsvorbereitung 4.2 Unterprogrammtechnik Beispiel 3: Modal wirksamen Unterprogrammaufruf satzweise unterdrücken Programmcode Kommentar N10 MCALL L70 (Par1, Par2, …) ; Modal wirksamen Aufruf für Unterprogramm L70 mit Parameterübergabe aktivieren. N20 X=0 ; Verfahrsatz mit anschließender Ausführung von L70. N30 X=100 MCALLOF ; Die Ausführung von L70 nach diesem Verfahr- satz wird unterdrückt.
  • Seite 530: Indirekter Unterprogrammaufruf Mit Angabe Des Auszuführenden Programmteils (Call Block

    Arbeitsvorbereitung 4.2 Unterprogrammtechnik Indirekter Aufruf über Variable: Programmcode Kommentar … DEF STRING[100] PROGNAME ; Variable definieren. PROGNAME="/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF" ; Unterprogramm TEIL1 der Vari- ablen PROGNAME zuordnen. CALL PROGNAME ; Unterprogramm TEIL1 über CALL und die Variable PROGNAME indirekt aufrufen. … 4.2.3.6 Indirekter Unterprogrammaufruf mit Angabe des auszuführenden Programmteils (CALL BLOCK ...
  • Seite 531: Indirekter Aufruf Eines In Iso-Sprache Programmierten Programms (Isocall)

    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>...
  • Seite 532: Unterprogramm Mit Pfadangabe Und Parametern Aufrufen (Pcall)

    4.2 Unterprogrammtechnik Programmcode Kommentar N1030 Z50 C10 N1040 X50 N1050 M99 N0010 DEF STRING[5] PROGNAME = "0122" ; Siemens-Teileprogramm (-Zyklus) N2000 R11 = $AA_IW[X] N2010 ISOCALL PROGNAME N2020 R10 = R10+1 ; Programm 0122.spf im ISO-Modus bear- beiten N2400 M30 4.2.3.8 Unterprogramm mit Pfadangabe und Parametern aufrufen (PCALL) Mit PCALL können Unterprogramme mit absoluter Pfadangabe und Parameterübergabe...
  • Seite 533: Suchpfad Bei Unterprogrammaufrufen Erweitern (Callpath)

    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.
  • Seite 534: Externes Unterprogramm Abarbeiten (Extcall)

    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...
  • Seite 536: Weitere Informationen

    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).
  • Seite 538: Interruptroutine (Asup)

    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 –...
  • Seite 539: Interruptroutine Erstellen

    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>...
  • Seite 541: Beispiele

    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.
  • Seite 542: Zuordnung Einer Interruptroutine Deaktivieren/Reaktivieren (Disable, Enable)

    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>...
  • Seite 543: Schnellabheben Von Der Kontur (Setint Liftfast, Alf)

    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 545: Verfahrrichtung Beim Schnellabheben Von Der Kontur

    Arbeitsvorbereitung 4.3 Interruptroutine (ASUP) Hauptprogramm Kommentar N50 G41 G1 X16 Y16 F200 N60 Y35 N70 X53 Y65 N90 X71.5 Y16 N100 X16 N110 G40 G0 Z100 M30 Unterprogramm: Unterprogramm Kommentar PROC W_WECHS SAVE ; Unterprogramm mit Speicherung des ak- tuellen Betriebszustandes N10 G0 Z100 M5 ;...
  • 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...
  • Seite 548: Bewegungsablauf Bei Interruptroutinen

    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.
  • Seite 549: Datei- Und Programmverwaltung

    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...
  • Seite 551: Dateitypen

    Arbeitsvorbereitung 4.4 Datei- und Programmverwaltung Dateitypen Im Programmspeicher können folgende Dateitypen eingebracht werden: Dateityp Beschreibung <Name>_MPF Hauptprogramm <Name>_SPF Unterprogramm <Name>_TEA Maschinendaten <Name>_SEA Settingdaten <Name>_TOA Werkzeugkorrekturen <Name>_UFR Nullpunktverschiebungen/Frame <Name>_INI Initialisierungsdatei <Name>_GUD Globale Anwenderdaten <Name>_RPA R-Parameter <Name>_COM Kommentar <Name>_DEF Definitionen für globale Anwenderdaten und Makros Werkstück-Hauptverzeichnis (_N_WKS_DIR) Das Werkstück-Hauptverzeichnis ist standardmäßig unter der Bezeichnung _N_WKS_DIR im Programmspeicher eingerichtet.
  • Seite 552: Werkstück Für Die Bearbeitung Anwählen

    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;...
  • Seite 553: Adressierung Von Dateien Des Programmspeichers

    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.
  • Seite 554: Adressierung In Nc-/Ees-Notation

    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.
  • Seite 555: Regeln Zur Pfadangabe

    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_".
  • Seite 558: Dateierweiterung

    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 •...
  • Seite 560: Abfrage Von Pfad Und Dateiname

    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...
  • Seite 561: Arbeitsspeicher (Chandata, Complete, Initial)

    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.
  • Seite 562: Datenbereiche

    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...
  • Seite 563: Vorgehensweise Bei Mehrkanaligen Steuerungen (Chandata)

    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...
  • Seite 564: Initialisierungsprogramme Einlesen

    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.
  • Seite 565: Bedeutung

    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...
  • Seite 566: Beispiele

    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"...
  • Seite 568: Datei Löschen (Delete)

    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)"...
  • Seite 569: Zeilen In Datei Lesen (Read)

    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...
  • Seite 571: Vorhandensein Einer Datei Prüfen (Isfile)

    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 ;...
  • Seite 572: Datei-Informationen Auslesen (Filedate, Filetime, Filesize, Filestat, Fileinfo)

    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)".
  • Seite 575: Schutzbereiche

    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...
  • Seite 577: Weitere Informationen

    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: •...
  • Seite 578: Schutzbereiche Aktivieren/Deaktivieren (Cprot, Nprot)

    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) ;...
  • Seite 581: Schutzbereichsüberwachung Bei Aktiver Werkzeugradiuskorrektur

    Arbeitsvorbereitung 4.6 Schutzbereiche Programmcode Kommentar CPROTDEF(2,TRUE,3,–100,–150) ; Schutzbereich c–PZ2 G01 X0 Y–10 G03 X0 Y10 J10 X0 Y–10 J–10 EXECUTE(PROTZONE) CPROTDEF(3,TRUE,3,–150,–170) ; Schutzbereich c–PZ3 G01 X0 Y–27.5 G03 X0 Y27.5 J27.5 X0 Y27.5 J–27.5 EXECUTE(PROTZONE) ; Aktivierung der Schutzbereiche: NPROT(1,2,–120,60,80) ; Schutzbereich n–PZ1 mit Verschiebung akti- vieren NPROT(2,2,–120,60,80) ;...
  • Seite 582: Überprüfung Auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung Und Software-Endschalter (Calcposi)

    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 •...
  • Seite 589 Arbeitsvorbereitung 4.6 Schutzbereiche Programmcode ; Werkzeugbezogener Schutzbereich C2 N70 CPROTDEF(2, TRUE, 0) N80 G17 G1 X-2 Y0 N90 G3 I2 X2 N100 I-2 X-2 N110 EXECUTE(_PA) ; Werkstückbezogener Schutzbereich C4 N120 CPROTDEF(4, FALSE, 0) N130 G17 G1 X0 Y15 N140 X10 N150 Y25 N160 X0 N170 Y15...
  • Seite 590 Arbeitsvorbereitung 4.6 Schutzbereiche Programmcode N540 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,, 6) N550 _START[0] = 27. N560 _START[1] = 17.1 N570 _START[2] = N580 _DIST[0] =-27. N590 _DIST[1] = N600 _DIST[2] = N610 _LIMIT[3] = 2. N620 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,,12) N630 _START[0] = 0.
  • Seite 591: Verfahrwegreduzierung

    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.
  • Seite 592: Spezielle Wegbefehle

    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.
  • Seite 593: Bedeutung

    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:...
  • Seite 596: Beispiele

    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 597: Programmcode 2 (Unterschiedliche Gewichte)

    Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Programmcode 2 (unterschiedliche Gewichte) N10 G1 X0 Y0 F300 G64 N20 BSPLINE N30 X10 Y20 PW=2 N40 X20 Y40 N50 X30 Y30 PW=0.5 N60 X40 Y45 N70 X50 Y0 Programmcode 3 (Kontrollpolygon) Kommentar N10 G1 X0 Y0 F300 G64 ;...
  • Seite 598 Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Programmcode N40 X30 N50 X40 Y5 N60 X50 Y15 N70 X55 Y7 N80 X60 Y20 N90 X65 Y20 N100 X70 Y0 N110 X80 Y10 N120 X90 Y0 N130 M30 Beispiel 3: Spline-Interpolation (A-Spline) und Koordinatentransformation (ROT) Hauptprogramm: Programmcode Kommentar N10 G00 X20 Y18 F300 G64...
  • 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...
  • Seite 600: Anwendung

    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.
  • Seite 604: Spline-Verbund (Splinepath)

    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.
  • Seite 605: Nc-Satz-Kompression Ein-/Ausschalten (Compon, Compcurv, Compcad, Compsurf, Comppath, Compof)

    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...
  • Seite 606: Einstellbarer Bahnbezug (Spath, Upath)

    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: •...
  • Seite 608: Kanalspezifisches Messen (Meas, Measf, Meaw)

    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.
  • Seite 609: Voraussetzungen

    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.
  • Seite 612: Achsspezifisches Messen (Measa, Meawa, Meac) (Option)

    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.
  • Seite 616: Achsspezifisches Messen Einer Geometrieachse Mit Restweglöschen Im Modus 2 (Auswertung In Programmierter Reihenfolge)

    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]...
  • Seite 618: Achsspezifisches Messen (Measa, Meawa, Meac) (Option): Weitere Informationen

    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.
  • Seite 622: Messtasterbegrenzung

    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 623 Arbeitsvorbereitung 4.7 Spezielle Wegbefehle Syntax FINEA[<Achse>] COARSEA[<Achse>] IPOENDA[<Achse>] IPOBRKA(<Achse>[,<Zeitpunkt>]) ADISPOSA(<Achse>[,<Modus>,<Fenstergröße>]) Bedeutung Bewegungsendekriterium: "Genauhalt fein" FINEA:   Wirksamkeit: modal Bewegungsendekriterium: "Genauhalt grob" COARSEA:   Wirksamkeit: modal Bewegungsendekriterium:"Interpolator-Stopp" IPOENDA:   Wirksamkeit: modal Satzwechselkriterium: Bremsrampe IPOBRKA:   Wirksamkeit: modal Toleranzfenster zum Bewegungsendekriterium ADISPOSA: Wirksamkeit: modal Kanalachsname (X, Y, ..) <Achse>:...
  • 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 ;...
  • Seite 625: Koordinatentransformationen (Frames)

    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...
  • Seite 627: Vordefinierte Framevariable ($P_Chbframe, $P_Iframe, $P_Pframe, $P_Actframe)

    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 -->...
  • Seite 630: Wertzuweisungen An Frames

    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 •...
  • Seite 631: Beispiele

    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:...
  • Seite 632: Beschreibung

    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.
  • Seite 633: Daten Aufrufen

    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...
  • Seite 634: Rechnen Mit Frames

    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.
  • Seite 635: Definition Von Framevariablen (Def Frame)

    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] ;...
  • Seite 636: Grob- Und Feinverschiebung (Ctrans, Cfine)

    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.
  • Seite 637: Externe Nullpunktverschiebung ($Aa_Etrans)

    Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) Speziell für den Programmierbaren Frame $P_PFRAME: • TRANS <K_1> <Wert> • TRANS <K_1> <Wert> <K_2> <Wert> • TRANS <K_1> <Wert> <K_2> <Wert> <K_3> <Wert> Bedeutung Frame z.B. Einstellbarer Frame der Datenhaltung $P_UIFR[<n>] <Frame>: Feinverschiebung, addive Verschiebung. CFINE: Grobverschiebung, absolute Verschiebung CTRANS: Nur Programmierbarer Frame: Grobverschiebung, absolute Verschiebung...
  • Seite 638: Istwertsetzen Mit Verlust Des Referenzierstatus (Preseton)

    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, ...
  • Seite 639: Programmierung

    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.
  • Seite 640: Istwertsetzen Ohne Verlust Des Referenzierstatus (Presetons)

    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.
  • Seite 641: Frame-Berechnung Aus 3 Messpunkten Im Raum (Meaframe)

    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]...
  • Seite 645: Globale Frames

    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.
  • Seite 646: Kanalspezifische Frames ($P_Chbfr, $P_Ubfr)

    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.
  • Seite 650 Arbeitsvorbereitung 4.8 Koordinatentransformationen (Frames) NC-Programmierung Programmierhandbuch, 01/2023, A5E48764001A AE...
  • Seite 651: Frame-Kettung

    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.
  • Seite 653: Verfahrbewegungen Und Orientierungsbewegungen Bei Transformationen

    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.
  • Seite 654: Aktivierung / Deaktivierung

    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. •...
  • Seite 655: Transformation Abwählen (Trafoof)

    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.
  • Seite 656: Programmierung

    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...
  • Seite 657: Kinematische Transformation

    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: •...
  • Seite 658: Programmstruktur

    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.
  • Seite 660: Schiefwinkeltransformation Mit Programmierbarem Winkel Einschalten (Traang)

    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.
  • Seite 661: Schräges Einstechen An Schleifmaschinen (G5, G7)

    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...
  • Seite 664: Kartesisches Ptp-Fahren

    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).
  • Seite 665: Beispiele

    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') →...
  • Seite 669: Vorzeichen Der Achswinkel Angeben (Tu)

    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 ...
  • Seite 672: Beispiel 1: Ptp-Fahren Eines 6-Achs-Roboters Mit Robx-Transformation

    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.
  • Seite 673: Beispiel 2: Ptp-Fahren Bei Generischer 5-Achs-Transformation

    Arbeitsvorbereitung 4.9 Transformationen N7 ORIVIRT1 N8 CYCLE832(0.01,_FINISH,1) ;HOME N9 TRAFOOF N10 G0 RA1=0.0000 RA2=-90.0000 RA3=90.0000 A=0.0000 B=90.0000 C=0.0000 N11 TRAORI N12 G54 N13 G0 PTP X1369.2426 Y956.7528 Z502.5517 A=135.5761 B=-33.2223 C=161.1435 STAT='B010' TU='B001011' N14 G0 X1355.1242 Y1014.9394 Z424.9695 A=135.8491 B=-33.1439 C=160.9941 STAT='B010' TU='B001011' N15 G1 CP X1354.8361 Y1016.1269 Z423.3862 A=136.0635 B=-33.0819 C=160.8770 F1000 N16 G1 X1336.4283 Y1016.1269 Z426.6311 A=136.0484 B=-32.2151 C=160.9643...
  • Seite 674: Beispiel 3: Ptpg0 Und Transmit

    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.
  • Seite 675: Verkettete Transformation Einschalten (Tracon)

    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.
  • Seite 677: Kinematische Ketten

    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>...
  • Seite 680: Indexermittlung Per Namen (Nametoint)

    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>...
  • Seite 681: Kollisionsvermeidung Mit Kinematischen Ketten

    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.
  • Seite 682: Neuberechnung Des Maschinenmodells Der Kollisionsvermeidung Anfordern (Prota)

    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.
  • Seite 683: Schutzbereichszustand Setzen (Prots)

    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.
  • Seite 685: Transformationen Mit Kinematischen Ketten

    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.
  • Seite 686: Drehinterpolationstransformation Traint Aktivieren / Deaktivieren

    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.
  • Seite 687: Voraussetzungen Für Die Aktivierung

    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. •...
  • Seite 688: Transformation Deaktivieren

    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.
  • Seite 689: Werkzeuglängenkorrektur

    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.
  • Seite 690: Geschwindigkeitsführung

    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.
  • Seite 691: Winkel Zum Ausrichten Des Werkzeugs Für Traint Berechnen (Calctravar)

    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.
  • Seite 692: Voraussetzung

    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>...
  • Seite 693: Werkzeugkorrekturen

    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.
  • Seite 696: Additive Korrekturen

    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...
  • Seite 697: Verschleiß- Und Einrichtewerte Festlegen ($Tc_Scpxy[T,D], $Tc_Ecpxy[T,D])

    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 ;...
  • Seite 698: Additive Korrekturen Löschen (Deldl)

    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...
  • Seite 699: Werkzeugkorrektur - Sonderbehandlung

    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.
  • Seite 700: Weitere Informationen

    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.
  • Seite 701: Werkzeuglängen Spiegeln

    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.
  • Seite 702: Koordinatensystem Der Aktiven Bearbeitung (Towstd, Towmcs, Towwcs, Towbcs, Towtcs, Towkcs)

    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.
  • Seite 705: Werkzeuglänge Und Ebenenwechsel

    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.
  • Seite 706: Online-Werkzeugkorrektur

    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.
  • Seite 707: Online-Werkzeugkorrektur Schreiben, Kontinuierlich (Putftocf)

    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...
  • Seite 708: Online-Werkzeugkorrektur Schreiben, Diskret (Putftoc)

    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...
  • Seite 709: Online-Werkzeugkorrektur Ein-/Ausschalten (Ftocon/Ftocof)

    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.
  • Seite 710: Freie D-Nummernvergabe: D-Nummern Prüfen (Chkdno)

    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.
  • Seite 711: Freie D-Nummernvergabe: T-Nummer Zur Vorgegebenen D-Nummer Ermitteln (Getacttd)

    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).
  • Seite 712: Freie D-Nummernvergabe: D-Nummern Ungültig Setzen (Dzero)

    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...
  • Seite 715: Erweiterungen Der Parameter

    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 ;...
  • Seite 717: Ändern Der Werkzeugträgerdaten

    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.
  • Seite 718: Werkzeuglängenkorrektur Für Orientierbare Werkzeugträger (Tcarr, Tcoabs, Tcofr, Tcofrx, Tcofry, Tcofrz)

    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...
  • Seite 720: Wirkung Der Werkzeugträgeranwahl

    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.
  • Seite 721: Neuberechnung Der Werkzeuglängenkorrektur

    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.
  • Seite 723: Orientierbare Werkzeugträger Nach Maschinenvermessung Modifizieren (Corrtc)

    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.
  • Seite 726: Modifikation Der Korrekturdaten Bei Drehbaren Werkzeugen

    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 732 Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Programmcode Kommentar N160 TCOABS CUTMOD=0 N170 G18 T1 D1 TCARR=2 N180 X0 Y0 Z0 F10000 ; 12.000 0.000 1.000 N190 $TC_CARR13[2]=30 N200 TCARR=2 N210 X0 Y0 Z0 ; 10.892 0.000 -5.134 N220 G42 Z–10 8.696 0.000 –17.330 N230 Z–20 8.696 0.000 –21.330...
  • Seite 733: Mit Werkzeugumgebungen Arbeiten

    Arbeitsvorbereitung 4.13 Werkzeugkorrekturen 4.13.10 Mit Werkzeugumgebungen arbeiten Übersicht Funktionen • Werkzeugumgebung speichern (TOOLENV) (Seite 733) • Werkzeugumgebung löschen (DELTOOLENV) (Seite 736) • T-, D- und DL-Nummer lesen (GETTENV) (Seite 737) • Werkzeuglängen bzw. -längenkomponenten lesen (GETTCOR) (Seite 738) • Werkzeugkomponenten ändern (SETTCOR) (Seite 745) Übersicht Systemvariablen •...
  • 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.
  • Seite 736: Werkzeugumgebung Löschen (Deltoolenv)

    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.
  • Seite 737: T-, D- Und Dl-Nummer Lesen (Gettenv)

    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>...
  • Seite 738: Informationen Zu Gespeicherten Werkzeugumgebungen Lesen

    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.
  • Seite 742: Beispiele

    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‐...
  • Seite 744 Arbeitsvorbereitung 4.13 Werkzeugkorrekturen X ist Durchmesserachse (Standard-Drehmaschinenkonfiguration) Programmcode Kommentar N30 $TC_DP1[1,1]=500 N40 $TC_DP2[1,1]=2 N50 $TC_DP3[1,1]=3.0 ; Geometrie L1 N60 $TC_DP4[1,1]=4.0 N70 $TC_DP5[1,1]=5.0 N80 $TC_DP12[1,1]=12.0 ; Verschleiß L1 N90 $TC_DP13[1,1]=13.0 N100 $TC_DP14[1,1]=14.0 N110 T1 D1 G18 N120 R1=GETTCOR(_LEN,"GW") N130 R3=_LEN[2] ; 17.0 (= 4.0 + 13.0) N140 R4=_LEN[3] ;...
  • Seite 745: Werkzeugkomponenten Ändern (Settcor)

    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 751 Arbeitsvorbereitung 4.13 Werkzeugkorrekturen Beispiele Beispiel 1 Programmcode Kommentar N10 DEF REAL _CORVAL[3] N20 $TC_DP1[1,1]=120 ; Fräswerkzeug N30 $TC_DP3[1,1]=10.0 ; Geometrie L1 N40 $TC_DP12[1,1]=1.0 ; Verschleiß L1 N50 _CORVAL[0]=0.333 N60 T1 D1 G17 G0 N70 R1=SETTCOR(_CORVAL,"G",0,0,2) N80 T1 D1 X0 Y0 Z0 ;...
  • 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.
  • Seite 757: Weitere Informationen

    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>...
  • Seite 758: Zuordnung Der Werkzeuglängen L1, L2, L3 Zu Den Koordinatenachsen Lesen (Lentoax)

    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).
  • Seite 761: Bahnverhalten

    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.
  • Seite 762: Beispiel: Verschiedene Vorschubprofile

    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...
  • Seite 765: Beschleunigungsverhalten

    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.).
  • Seite 767: Beispiele

    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…...
  • Seite 768: Aktivierung Von Technologie-Spezifischen Dynamikwerten (Dynnorm, Dynpos, Dynrough, Dynsemifin, Dynfinish, Dynprec)

    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...
  • Seite 770: Fahren Mit Vorsteuerung (Ffwon, Ffwof)

    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.
  • Seite 775: Programmierbare Konturgenauigkeit Ein-/Ausschalten (Cprecon, Cprecof)

    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 ;...
  • Seite 777: Automatische Filterumschaltung Ein-/Ausschalten (Afison, Afisof)

    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.
  • Seite 778 Arbeitsvorbereitung 4.14 Bahnverhalten Programmcode Kommentar N430 AFISOF N440 G0 X1300 ; Filterkette 1 auch im G0-Satz wirksam N450 G1 X1400 N460 AFISON N470 G1 X1450 N480 G1 X1500 N490 AFISOF N500 G1 X1600 N510 G0 X1700 ; Filterkette 1 auch im G0-Satz wirksam N520 AFISON N530 G1 X1750 ;...
  • Seite 779: Überschleifen

    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...
  • Seite 780: Programmablauf Mit Vorlaufspeicher (Stopfifo, Startfifo, Fifoctrl, Stopre)

    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...
  • Seite 782: Beispiel: Vorlauf Stoppen

    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...
  • Seite 784: Programmstelle Für Serupro Verhindern (Iptrlock, Iptrunlock)

    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.
  • Seite 786: Automatischer Unterbrechungszeiger

    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"...
  • Seite 787: Wiederanfahren An Kontur (Reposa, Reposl, Reposq, Reposqa, Reposh, Reposha, Disr, Dispr, Rmibl, Rmbbl, Rmebl, Rmnbl)

    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...
  • Seite 790: Wiederanfahren An Die Kontur Mit Halbkreis, Reposh, Reposha

    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...
  • Seite 791: Vorzeichen Von Dispr

    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.
  • Seite 793: Anfahren Vom Nächstliegenden Bahnpunkt Rmnbl

    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.
  • Seite 795: Beeinflussung Der Bewegungsführung

    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)
  • Seite 796: Beispiele

    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: •...
  • Seite 797: Maximalen Achsruck Anpassen (Jerklim)

    Arbeitsvorbereitung 4.14 Bahnverhalten Beispiel 2: Drehzahlbegrenzung Spindel 1 (AX5) Projektierung: • MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[ 1, AX5 ] = 1000 (Maximaldrehzahl der Getriebstufe 1 = 1000 U/min) • MD30455 $MA_MISC_FUNCTION_MASK[ AX5 ], Bit 6 = 1 (Programmierung von VELOLIM wirkt gemeinsam für Spindel- und Achsbetrieb unabhängig vom programmierten Bezeichner) Programmierung: Programmcode Kommentar...
  • Seite 798: Maximale Bahngeschwindigkeit Anpassen (Flim)

    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‐...
  • Seite 800: Maximale Bahnbeschleunigung Anpassen (Pacclim)

    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.
  • Seite 801: Satzwechselverhalten Bei Aktiver Kopplung (Cpbc)

    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.
  • Seite 802: Achsfunktionen

    Arbeitsvorbereitung 4.15 Achsfunktionen Satzwechselkriterium <Kriterium>: Typ: STRING Wert Bedeutung: Satzwechsel erfolgt "NOC" unabhängig vom Kopplungszustand "IPOSTOP" bei sollwertseitigem Synchronlauf "COARSE" bei istwertseitigem Synchronlauf "Grob" "FINE" bei istwertseitigem Synchronlauf "Fein" Beispiel Programmcode ; Satzwechsel erfolgt bei: - Kopplung zu Folgeachse X2 == aktiv - sollwertseitiger Synchronlauf == aktiv CPBC[X2]="IPOSTOP"...
  • Seite 803: Achszuordnung Geändert

    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…...
  • Seite 805: Weitere Informationen

    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.
  • Seite 806: Achstauschverhalten Veränderbar Einstellen

    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:...
  • Seite 808: Achsfunktionen (Axname, Ax, Spi, Axtospi, Isaxis, Axstring, Modaxval)

    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.
  • Seite 810: Umschaltbare Geometrieachsen (Geoax)

    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: –...
  • Seite 814: Geometrieachskonfiguration Bei Aktiver Transformation

    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.
  • Seite 816: Programmierbare Parametersatzumschaltung (Scpara)

    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.
  • Seite 817: Adaption Ein-/Ausschalten (Cadapton, Cadaptof)

    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.
  • Seite 819: Fir-Ruckfilter An Dynamikmodus Anpassen (Calcfir)

    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.
  • Seite 820: Voraussetzungen

    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: –...
  • Seite 821: Antriebsparameter Im Teileprogramm Lesen/Schreiben (Drvprd, Drvpwr)

    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.
  • Seite 824: Achskopplungen

    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.
  • Seite 827: Dynamikbegrenzung

    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.
  • Seite 828: Elektronisches Getriebe (Eg)

    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.
  • Seite 829: Elektronisches Getriebe Einschalten (Egon, Egonsyn, Egonsyne)

    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...
  • Seite 832: Elektronisches Getriebe Ausschalten (Egofs, Egofc)

    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.
  • Seite 833: Definition Eines Elektronischen Getriebes Löschen (Egdel)

    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.
  • Seite 834: Synchronspindelkopplung (Coupdef, Coupdel, Coupon, Couponc, Coupof, Coupofs, Coupres, Waitc)

    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.
  • Seite 837: Beispiele

    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.
  • Seite 838: Programmierung Einer Differenzdrehzahl

    Arbeitsvorbereitung 4.16 Achskopplungen Programmcode Kommentar Folgespindel = Spindel 2 N05 M3 S3000 M2=4 S2=500 Leitspindel dreht mit 3000 U/min, Folgespindel dreht mit 500 U/min. N10 COUPDEF(S2,S1,1,1,"NOC","Dv") Definition der Kopplung (kann auch projektiert werden). N70 SPCON Leitspindel in Lageregelung nehmen (Sollwertk.). N75 SPCON(2) Folgespindel in Lageregelung nehmen.
  • Seite 839 Arbeitsvorbereitung 4.16 Achskopplungen Beispiele der Übernahme einer Bewegung zur Differenzdrehzahl 1. Kopplung bei vorhergehender Programmierung der Folgespindel mit COUPON einschalten Programmcode Kommentar Leitspindel = Masterspindel = Spindel 1 Folgespindel = Spindel 2 N05 M3 S100 M2=3 S2=200 Leitspindel dreht mit 100 U/min, Folgespindel mit 200 U/min.
  • Seite 840: Anwenderdefinierte Kopplung

    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. •...
  • Seite 842: Generische Kopplung (Cp

    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"...
  • Seite 850: Tangentialsteuerung

    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: •...
  • Seite 851: Kopplung Definieren (Tang)

    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:...
  • Seite 853: Zwischensatzerzeugung Einschalten (Tlift)

    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.
  • Seite 854: Drehgeschwindigkeit Der Folgeachse

    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...
  • Seite 855: Kopplung Ausschalten (Tangof)

    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.
  • Seite 856: Kopplung Löschen (Tangdel)

    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.
  • Seite 857: Main/Sub-Kopplung (Masldef, Masldel, Maslon, Maslof, Maslofs)

    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) ;...
  • Seite 858: Weitere Informationen

    Arbeitsvorbereitung 4.16 Achskopplungen Syntax Dynamisches Ein-/Ausschalten: MASLON(<SubAx_1>,<SubAx_2>,...) MASLOF(<SubAx_1>,<SubAx_2>,...) MASLOFS(<SubAx_1>,<SubAx_2>,...) Dynamisches Konfigurieren: MASLDEF(<SubAx_1>,<SubAx_2>,...,<MainAx>) MASLDEL(<SubAx_1>,<SubAx_2>,...) Bedeutung Temporäre Main/Sub-Kopplung einschalten MASLON Aktive Main/Sub-Kopplung trennen MASLOF Main/Sub-Kopplung trennen und Sub-Spindeln automatisch abbremsen MASLOFS Main/Sub-Kopplungsverbund aus dem Teileprogramm heraus anlegen/ändern MASLDEF Main/Sub-Kopplung trennen und Definition des Kopplungsverbundes löschen MASLDEL Sub-Achse 1 ...
  • Seite 859: Istwertsetzen

    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.
  • Seite 860: Synchronaktionen

    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‐...
  • Seite 861: Erweitertes Stillsetzen Und Rückziehen (Esr)

    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...
  • Seite 862: Auslösequellen

    Arbeitsvorbereitung 4.19 Erweitertes Stillsetzen und Rückziehen (ESR) Auslösequellen Allgemeine Quellen (NC-extern/global oder BAG-/kanalspezifisch) • Digitale Eingänge (z. B. auf NCU-Baugruppe) bzw. das steuerungsinterne, rücklesbare Abbild digitaler Ausgänge ($A_IN, $A_OUT) • Kanalzustand ($AC_STAT) • VDI-Signale ($A_DBB) • Sammelmeldungen einer Anzahl von Alarmen ($AC_ALARM_STAT) Axiale Quellen •...
  • Seite 863: Nc-Geführtes Esr

    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.
  • Seite 866: Nc-Geführtes Stillsetzen

    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.
  • Seite 867: Voraussetzungen

    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...
  • Seite 868: Antriebsautarkes Rückziehen Projektieren (Esrr)

    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‐...
  • Seite 869: 4.20 Programmlaufzeit / Werkstückzähler

    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‐...
  • Seite 870: Programmlaufzeit

    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...
  • Seite 872: Beispiele

    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.
  • Seite 873: Werkstückzähler

    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.
  • Seite 874: Programmsimulation

    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.
  • Seite 875: Programmsimulation In Verbindung Mit Handlingskanälen

    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) •...
  • Seite 876: Weitere Funktionen

    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.
  • Seite 877: Vorhandenen Nc-Sprachumfang Prüfen (Stringis)

    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.
  • Seite 880: Fenster Aus Dem Teileprogramm Interaktiv Aufrufen (Mmc)

    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.
  • Seite 881: Weitere Informationen

    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>...
  • Seite 885: Process Datashare - Ausgabe Auf Ein Externes Gerät/Datei (Extopen, Write, Extclose)

    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.
  • Seite 889: Alarme (Setal)

    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.
  • Seite 891: Rohteil Definieren (Workpiece)

    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 ;...
  • Seite 895: Sprachmodus Umschalten (G290, G291)

    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 ;...
  • Seite 897: Eigene Abspanprogramme

    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: •...
  • Seite 898: Konturtabelle Erstellen (Contpron)

    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 ;...
  • Seite 900: Erläuterung Der Spalteninhalte

    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.
  • Seite 903: Codierte Konturtabelle Erstellen (Contdcon)

    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  ...
  • Seite 907: Schnittpunkt Zwischen Zwei Konturelementen Ermitteln (Intersec)

    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.
  • Seite 908: Konturelemente Einer Tabelle Satzweise Abfahren (Exectab)

    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.
  • Seite 909: Kreisdaten Berechnen (Calcdat)

    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.
  • Seite 911: Konturaufbereitung Ausschalten (Execute)

    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 ;...
  • Seite 912: Zyklen Extern Programmieren

    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...
  • Seite 913: Zyklen Auf Positionsmuster Wiederholen

    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: •...
  • Seite 914: Technologie-Spezifische Übersicht

    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) •...
  • Seite 915: Holes1 - Positionsmuster Reihe

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Technologie Technologischer Zyklus Konturfräsen • CYCLE62 - Konturaufruf (Seite 934) • CYCLE72 - Bahnfräsen (Seite 940) • CYCLE63 - Konturtasche fräsen / Konturtasche Restmaterial / Kon‐ turzapfen fräsen / Konturzapfen Restmaterial (Seite 934) • CYCLE64 - Konturtasche vorbohren (Seite 937) Schleifen •...
  • Seite 916: Holes2 - Positionsmuster Kreis Oder Teilkreis

    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 918: Pocket3 - Rechtecktasche

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren 4.24.1.5 POCKET3 - Rechtecktasche Syntax POCKET3(<_RTP>, <_RFP>, <_SDIS>, <_DP>, <_LENG>, <_WID>, <_CRAD>, <_PA>, <_PO>, <_STA>, <_MID>, <_FAL>, <_FALD>, <_FFP1>, <_FFD>, <_CDIR>, <_VARI>, <_MIDA>, <_AP1>, <_AP2>, <_AD>, <_RAD1>, <_DP1>, <_UMODE>, <_FS>, <_ZFS>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung...
  • 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>...
  • Seite 920: Pocket4 - Kreistasche

    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  ...
  • Seite 923: Slot1 - Längsnut

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Alternativmodus <_AMODE> EINER: Taschentiefe (Z1) absolut (Kompatibilitätsmodus) inkrementell ZEHNER: Einheit für Zustellbreite (DXY) % vom Werkzeugdurchmesser HUNDERTER: Eintauchtiefe bei Anfasen (ZFS) absolut inkrementell 4.24.1.7 SLOT1 - Längsnut Syntax SLOT1 (<RTP>, <RFP>, <SDIS>, <_DP>, <_DPR>, <NUM>, <LENG>, <WID>, <_CPA>, <_CPO>, <RAD>, <STA1>, <INDA>, <FFD>, <FFP1>, <_MID>, <CDIR>, <_FAL>, <VARI>, <_MIDF>, <FFP2>, <SSF>, <_FALD>, <_STA2>, <_DP1>, <_UMODE>, <_FS>, <_ZFS>, <_GMODE>, <_DMODE>, <_AMODE>)
  • Seite 924 Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Fräsrichtung Gleichlauf <CDIR> Gegenlauf REAL Schlichtaufmass Ebene oder Nutrand <_FAL>   Bearbeitungsart <VARI> EINER:   reserviert Schruppen Schlichten Schlichten Rand (nur Rand bear‐ beiten) Anfasen ZEHNER: Anfahren vorgebohrt, Zustellung mit G0 (Nut ist vorbearbeitet) senkrecht, Zustellung mit G1 helikal...
  • Seite 925: Slot2 - Kreisnut

    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 928: Longhole - Langloch

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren 4.24.1.9 LONGHOLE - Langloch Syntax LONGHOLE(<RTP>, <RFP>, <SDIS>, <_DP>, <_DPR>, <NUM>, <LENG>, <_CPA>, <_CPO>, <RAD>, <STA1>, <INDA>, <FFD>, <FFP1>, <MID>, <_VARI>, <_UMODE>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <RTP> REAL Bezugspunkt der Werkzeugachse (abs) <_RFP>...
  • Seite 929 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ätsmode normale Bearbeitung TAUSENDER: Bemaßung Bezugspunkt, Nutlage Mitte links innen +L rechts innen -L linker Rand +L rechter Rand -L  ...
  • Seite 930: Cycle60 - Gravur

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren 4.24.1.10 CYCLE60 - Gravur Syntax CYCLE60(<_TEXT>, <_RTP>, <_RFP>, <_SDIS>, <_DP>, <_DPR>, <_PA>, <_PO>, <_STA>, <_CP1>, <_CP2>, <_WID>, <_DF>, <_FFD>, <_FFP1>, <_VARI>, <_CODEP>, <_UMODE>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern   STRING zu gravierender Text (maximal 100 Zeichen) <_TEXT>...
  • 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...
  • Seite 932: Cycle61 - Planfräsen

    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 934: Cycle62 - Konturaufruf

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Alternativmodus <_AMODE> EINER: Endtiefe (<_DP>) absolut inkrementell ZEHNER: Einheit für Ebenenzustellung (<_MIDA>) % vom Werkzeugdurchmesser HUNDERTER: reserviert TAUSENDER: Länge der Fläche inkrementell absolut ZEHNTAUSENDER: Breite der Fläche inkrementell absolut 4.24.1.12 CYCLE62 - Konturaufruf Syntax...
  • Seite 935 Arbeitsvorbereitung 4.24 Zyklen extern programmieren <_EW>, <_FS>, <_ZFS>, <_TR>, <_DR>, <_UMODE>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern STRING Name Ausräumprogramm <_PRG> [100]   Bearbeitungsart <_VARI> EINER: Technologische Bearbeitung Schruppen Schlichten Boden Schlichten Rand Anfasen ZEHNER: Zustellungsart Eintauchen mittig Eintauchen helikal Eintauchen pendelnd HUNDERTER:...
  • 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>...
  • Seite 937: Cycle64 - Konturtasche Vorbohren

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Alternativmodus <_AMODE> EINER: Endtiefe (Z1) absolut (Kompatibilitätsmodus) inkrementell ZEHNER: Einheit für Ebenenzustellung (DXY) % vom Werkzeugdurchmesser HUNDERTER: Eintauchtiefe bei Anfasen (ZFS) absolut inkrementell TAUSENDER: reserviert 4.24.1.14 CYCLE64 - Konturtasche vorbohren Syntax CYCLE64(<_PRG>, <_VARI>, <_RP>, <_Z0>, <_SC>, <_Z1>, <_F>, <_DXY>, <_UXY>, <_UZ>, <_CDIR>, <_TR>, <_DR>, <_UMODE>, <_GMODE>, <_DMODE>,...
  • Seite 938 Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Fräsrichtung Gleichlauf <_CDIR> Gegenlauf STRING[20] Referenzwerkzeugname <_TR> Referenzwerkzeug D-Nummer <_DR>   reserviert <_UMODE>   Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung/nur Startpunktbe‐ rechnung normale Bearbeitung (kein Kom‐...
  • Seite 939: Cycle70 - Gewindefräsen

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren 4.24.1.15 CYCLE70 - Gewindefräsen Syntax CYCLE70(<_RTP>, <_RFP>, <_SDIS>, <_DP>, <_DIATH>, <_H1>, <_FAL>, <_PIT>, <_NT>, <_MID>, <_FFR>, <_TYPTH>, <_PA>, <_PO>, <_NSP>, <_VARI>, <_PITA>, <_PITM>, <_PTAB>, <_PTABA>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <_RTP>...
  • Seite 940: Cycle72 - Bahnfräsen

    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)  ...
  • Seite 943: Cycle76 - Rechteckzapfen

    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 946: Cycle77 - Kreiszapfen

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Alternativmodus <_AMODE> EINER: Endtiefe Z1 (DP) Kompatibilität inkrementell absolut ZEHNER: reserviert HUNDERTER: Eintauchtiefe bei Anfasen (ZFS) absolut inkrementell 4.24.1.18 CYCLE77 - Kreiszapfen Syntax CYCLE77(<_RTP>, <_RFP>, <_SDIS>, <_DP>, <_DPR>, <_CDIAM>, <_PA>, <_PO>, <_MID>, <_FAL>, <_FALD>, <_FFP1>, <_FFD>, <_CDIR>, <_VARI>, <_AP1>, <_FS>, <_ZFS>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter...
  • Seite 947 Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Bearbeitungsart <_VARI> EINER: Bearbeitung Schruppen bis auf Schlichtauf‐ maß Schlichten (Aufmaß X/Y/Z = 0) Anfasen ∅1 REAL Durchmesser des Rohteilzapfens <_AP1> REAL Fasenbreite (ink) <_FS> REAL Eintauchtiefe (Werkzeugspitze) bei Anfasen (abs/ink) siehe <_AMODE> <_ZFS>...
  • Seite 948: Cycle78 - Bohrgewinde Fräsen

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Alternativmodus <_AMODE> EINER: Endtiefe Z1 (DP) absolut (Kompatibilitätsmodus) inkrementell absolut ZEHNER: reserviert HUNDERTER: Eintauchtiefe bei Anfasen (ZFS) absolut inkrementell 4.24.1.19 CYCLE78 - Bohrgewinde fräsen Syntax CYCLE78(<_RTP>, <_RFP>, <_SDIS>, <_DP>, <_ADPR>, <_FDPR>, <_LDPR>, <_DIAM>, <_PIT>, <_PITA>, <_DAM>, <_MDEP>, <_VARI>, <_CDIR>, <_GE>, <_FFD>, <_FRDP>, <_FFR>, <_FFP2>, <_FFA>, <_PITM>, <_PTAB>, <_PTABA>, <_GMODE>, <_DMODE>, <_AMODE>)
  • 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...
  • Seite 950: Cycle79 - Mehrkant

    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.
  • Seite 952: Cycle81 - Bohren, Zentrieren

    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 953: Cycle82 - Bohren, Plansenken

    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...
  • Seite 956: Cycle83 - Tieflochbohren 1

    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  ...
  • Seite 959: Cycle84 - Gewindebohren Ohne Ausgleichsfutter

    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>  ...
  • Seite 962: Cycle85 - Reiben

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Alternativmodus <_AMODE> EINER: Bohrtiefe = Endbohrtiefe Z1 (abs/ink) Kompatibilität, aus Programmierung <DP>/<DPR> inkrementell absolut ZEHNER: reserviert HUNDERTER: reserviert TAUSENDER: Gewindedrehrichtung rechts/links Kompatibilität, aus Vorzeichen PIT/MPIT rechts links ZEHNTAUSENDER: reserviert HUNDERTTAUSEN‐...
  • Seite 963: Cycle86 - Ausdrehen

    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‐...
  • Seite 964: Cycle92 - Abstich

    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>...
  • Seite 966: Cycle95 - Konturabspanen

    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‐...
  • Seite 968: Cycle98 - Gewindekette

    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>...
  • Seite 972: Cycle99 - Gewindedrehen

    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‐...
  • Seite 977: Cycle435 - Abrichterkoordinatensystem Setzen

    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 →...
  • Seite 979: Cycle782 - An Beladung Anpassen

    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.
  • Seite 981: Beispiele

    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 982: Cycle800 - Schwenken Ebene / Schwenken Werkzeug / Ausrichten Werkzeug

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Programmcode 4.24.1.34 CYCLE800 - Schwenken Ebene / Schwenken Werkzeug / Ausrichten Werkzeug Syntax CYCLE800(<_FR>, <_TC>, <_ST>, <_MODE>, <_X0>, <_Y0>, <_Z0>, <_A>, <_B>, <_C>, <_X1>, <_Y1>, <_Z1>, <_DIR>, <_FR_I>, <_DMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern  ...
  • 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>...
  • Seite 985: Cycle801 - Positionsmuster Gitter Oder Rahmen

    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 987: Cycle802 - Beliebige Positionen

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren 4.24.1.36 CYCLE802 - Beliebige Positionen Syntax CYCLE802(<_XA>, <_YA>, <_X0>, <_Y0>, <_X1>, <_Y1>, <_X2>, <_Y2>, <_X3>, <_Y3>, <_X4>, <_Y4>, <_X5>, <_Y5>, <_X6>, <_Y6>, <_X7>, <_Y7>, <_X8>, <_Y8>, <_VARI>, <_UMODE>, <_DMODE>, <S_ABA>, <S_AB0>, <S_AB1>, <S_AB2>, <S_AB3>, <S_AB4>, <S_AB5>, <S_AB6>, <S_AB7>, <S_AB8>) Parameter Parameter...
  • 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 989: Cycle805 - Y-Drehen

    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)  ...
  • Seite 990 Arbeitsvorbereitung 4.24 Zyklen extern programmieren Syntax CYCLE805(<_MODE>, < _TC>, < _GAMA>, <_FR_I>, <S_ZS>, <S_XS>, <_AMODE>) Parameter Parame‐ Parameter in‐ Datentyp Bedeutung ter Maske tern   Modus <_MODE> An-/ EINER: An-/Abwahl Abwahl Y-Drehen abwählen Y-Drehen anwählen   ZEHNER: Reserviert Nachfüh‐ HUNDERTER: Werkzeugspitze nachführen ja/nein (nur aktiv, wenn auf der Maschine das "Schwenken mit CY‐...
  • Seite 991: Cycle806 - Interpolationsdrehen

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parame‐ Parameter in‐ Datentyp Bedeutung ter Maske tern   Alternativmodus <_AMODE> EINER: Start/Freifahrpunkt Z: Bezug der Positionsangabe absolut inkremental ZEHNER: Startpunkt X / Freifahrpunkt Y: Bezug der Positi‐ onsangabe absolut (Durchmesser) inkremental (Radius) HUNDERTER: Start/Freifahrpunkt ja/nein nein TAUSENDER: Arbeitsbereich (nur wirksam, wenn MD52218...
  • Seite 992: Cycle830 - Tieflochbohren 2

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parame‐ Parameter in‐ Datentyp Bedeutung ter Maske tern   Reserviert <_SDIR>   Drehrichtung aus Werkzeug Drehrichtung M3 Drehrichtung M4   Alternativmodus <_AMODE> EINER: Spindelbewegung (<_SV1>) konstante Spindeldrehzahl konstante Schnittgeschwindigkeit   Anzeigemodus <_DMODE>   EINER: Bearbeitungsebene G17/18/19  ...
  • 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...
  • Seite 997: Cycle832 - High Speed Settings

    Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parameter Datentyp Bedeutung Maske intern   Alternativmodus 3 <S_AMODE3 > EINER: Anbohrtiefe ZA abs/ink inkrementell absolut ZEHNER: Tiefe der Pilotbohrung ZP inkrementell absolut Faktor des Bohrungsdurchmes‐ sers HUNDERTER: Restbohrtiefe ZD ink/abs inkrementell absolut REAL Vorhalteabstand inkrementell auf Pilotbohrungstiefe <S_ZPV>...
  • Seite 998 Arbeitsvorbereitung 4.24 Zyklen extern programmieren Parameter Parame‐ Parameter Datentyp Bedeutung ter Maske intern Toleranz REAL Konturtoleranz <S_TOL> Die Konturtoleranz entspricht der Achstoleranz der Geometrieachsen.   Bearbeitungsart (Technologie) <S_TOLM>   EINER:     Abwahl   Schlichten (Finish) Vorschlichten (Semifinish) Schruppen (Rough) Feinschlichten (Precision) ZEHNER:  ...
  • Seite 999: Beispiele

    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...

Inhaltsverzeichnis