Herunterladen Inhalt Inhalt Diese Seite drucken
Siemens SINUMERIK 840D sl Programmierhandbuch

Siemens SINUMERIK 840D sl Programmierhandbuch

Gültig für steuerung sinumerik 840d sl, 840de sl, sinumerik 828d
Vorschau ausblenden Andere Handbücher für SINUMERIK 840D sl:
Inhaltsverzeichnis

Werbung

 
SINUMERIK
SINUMERIK 840D sl / 828D
Arbeitsvorbereitung
Programmierhandbuch
Gültig für
Steuerung
SINUMERIK 840D sl / 840DE sl
SINUMERIK 828D
Software 
CNC-Software
02/2011
6FC5398-2BP40-1AA0
Version
2.7
Vorwort
Flexible NC-Programmierung
Datei- und
Programmverwaltung
Schutzbereiche
Spezielle Wegbefehle
Koordinatentransformationen
(FRAMES)
Transformationen
Werkzeugkorrekturen
Bahnverhalten
Achskopplungen
Bewegungssynchronaktionen
Pendeln
Stanzen und Nibbeln
Schleifen
Weitere Funktionen
Eigene Abspanprogramme
Zyklen extern programmieren
Tabellen
Anhang
10 
11 
12 
13 
14 
15 
16 
17 

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Siemens SINUMERIK 840D sl

  • Seite 1 Vorwort 1  Flexible NC-Programmierung   Datei- und 2  Programmverwaltung 3  Schutzbereiche SINUMERIK 4  Spezielle Wegbefehle Koordinatentransformationen 5  SINUMERIK 840D sl / 828D (FRAMES) Arbeitsvorbereitung 6  Transformationen 7  Werkzeugkorrekturen 8  Programmierhandbuch Bahnverhalten 9  Achskopplungen 10  Bewegungssynchronaktionen 11  Pendeln 12  Stanzen und Nibbeln 13 ...
  • Seite 2: Qualifiziertes Personal

    Dokumentationen müssen beachtet werden. Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann. Haftungsausschluss Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft.
  • Seite 3: Vorwort

    Bei Fragen zur Technischen Dokumentation (z. B. Anregungen, Korrekturen) senden Sie bitte eine E-Mail an folgende Adresse: docu.motioncontrol@siemens.com My Documentation Manager (MDM) Unter folgendem Link finden Sie Informationen, um auf Basis der Siemens Inhalte eine OEM- spezifische Maschinen-Dokumentation individuell zusammenstellen: www.siemens.com/mdm Training Informationen zum Trainingsangebot finden Sie unter: •...
  • Seite 4: Technical Support

    Vorwort SINUMERIK Informationen zu SINUMERIK finden Sie unter folgendem Link: www.siemens.com/sinumerik Zielgruppe Die vorliegende Druckschrift wendet sich an: • Programmierer • Projekteure Nutzen Das Programmierhandbuch befähigt die Zielgruppe, Programme und Software-Oberflächen zu entwerfen, zu schreiben, zu testen und Fehler zu beheben.
  • Seite 5: Verfügbarkeit Der Beschriebenen Nc-Sprachelemente

    Vorwort Informationen zu Struktur und Inhalt Programmierhandbuch "Grundlagen" und "Arbeitsvorbereitung" Die Beschreibungen zur NC-Programmierung sind auf zwei Handbücher verteilt: 1. Grundlagen Das Programmierhandbuch "Grundlagen" dient dem Maschinenfacharbeiter und setzt entsprechende Kenntnisse für Bohr-, Fräs- und Drehbearbeitungen voraus. An einfachen Programmierbeispielen werden die auch nach DIN 66025 bekannten Befehle und Anweisungen erläutert.
  • Seite 6 Vorwort Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 7: Inhaltsverzeichnis

    Inhaltsverzeichnis Vorwort.................................3 Flexible NC-Programmierung ........................17 Variablen ........................... 17 1.1.1 Allgemeine Informationen zu Variablen ..................17 1.1.2 Systemvariablen ........................18 1.1.3 Vordefinierte Anwendervariablen: Rechenparameter (R) ............21 1.1.4 Vordefinierte Anwendervariablen: Link-Variablen ..............23 1.1.5 Definition von Anwendervariablen (DEF) .................. 25 1.1.6 Redefinition von Systemvariablen, Anwendervariablen und NC-Sprachbefehlen (REDEF) ..
  • Seite 8 Inhaltsverzeichnis 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) .......... 99 1.12 Kontrollstrukturen........................106 1.12.1 Programmschleife mit Alternative (IF, ELSE, ENDIF) ............. 107 1.12.2 Endlos-Programmschleife (LOOP, ENDLOOP) ............... 109 1.12.3 Zählschleife (FOR ... TO ..., ENDFOR) ................... 110 1.12.4 Programmschleife mit Bedingung am Schleifenanfang (WHILE, ENDWHILE) ....... 112 1.12.5 Programmschleife mit Bedingung am Schleifenende (REPEAT, UNTIL) ........
  • Seite 9 Inhaltsverzeichnis 1.25.2.9 Unterprogrammrücksprung RET ..................... 185 1.25.2.10Parametrierbarer Unterprogrammrücksprung (RET ...) ............186 1.25.3 Aufruf eines Unterprogramms ....................193 1.25.3.1 Unterprogrammaufruf ohne Parameterübergabe ..............193 1.25.3.2 Unterprogrammaufruf mit Parameterübergabe (EXTERN) ............. 195 1.25.3.3 Anzahl der Programmwiederholungen (P) ................197 1.25.3.4 Modaler Unterprogrammaufruf (MCALL) ................. 199 1.25.3.5 Indirekter Unterprogrammaufruf (CALL) ..................
  • Seite 10 Inhaltsverzeichnis Koordinatentransformationen (FRAMES) ....................291 Koordinatentransformation über Framevariable ..............291 5.1.1 Vordefinierte Framevariable ($P_BFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) ... 293 Framevariablen/Frames Werte zuweisen ................298 5.2.1 Direkte Werte zuweisen (Achswert, Winkel, Maßstab) ............298 5.2.2 Framekomponenten lesen und verändern (TR, FI, RT, SC, MI) ..........301 5.2.3 Verknüpfung von kompletten Frames ..................
  • Seite 11 Inhaltsverzeichnis 6.8.2 Zylindermanteltransformation (TRACYL) ................375 6.8.3 Schräge Achse (TRAANG) ...................... 383 6.8.4 Schräge Achse programmieren (G05, G07) ................386 Kartesisches PTP-Fahren ....................... 388 6.9.1 PTP bei TRANSMIT ........................ 393 6.10 Randbedingungen bei der Anwahl einer Transformation ............397 6.11 Transformation abwählen (TRAFOOF) ...................
  • Seite 12 Inhaltsverzeichnis 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) ............454 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD)........457 Bahnverhalten ............................463 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL)........463 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) ............... 470 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE)..475 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) ....478 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) .......
  • Seite 13 Inhaltsverzeichnis Bewegungssynchronaktionen .........................559 10.1 Grundlagen..........................559 10.1.1 Gültigkeitsbereich und Bearbeitungsreihenfolge (ID, IDS) ............561 10.1.2 Zyklische Prüfung der Bedingung (WHEN, WHENEVER, FROM, EVERY) ......563 10.1.3 Aktionen (DO) .......................... 565 10.2 Operatoren für Bedingungen und Aktionen ................566 10.3 Hauptlaufvariablen für Synchronaktionen................568 10.3.1 Systemvariablen ........................
  • Seite 14 Inhaltsverzeichnis 10.4.31 Auslastungsauswertung über Zeitbedarf der Synchronaktionen ..........634 10.5 Technologiezyklen ........................636 10.5.1 Kontext-Variable ($P_TECCYCLE) ..................639 10.5.2 Call-by-Value-Parameter ......................640 10.5.3 Default-Parameter-Initialisierung ..................... 640 10.5.4 Steuerung der Abarbeitung von Technologiezyklen (ICYCOF, ICYCON) ....... 641 10.5.5 Kaskadierungen von Technologiezyklen ................. 642 10.5.6 Technologiezyklen in satzweisen Synchronaktionen ...............
  • Seite 15 Inhaltsverzeichnis 14.12 Antriebsautarkes Erweitertes Stillsetzen und Rückziehen (ESR)..........721 14.12.1 Antriebsautarkes Stillsetzen projektieren (ESRS) ..............721 14.12.2 Antriebsautarkes Rückziehen projektieren (ESRR) ..............722 Eigene Abspanprogramme ........................725 15.1 Unterstützende Funktionen für das Abspanen ................ 725 15.2 Konturtabelle erstellen (CONTPRON)..................726 15.3 Codierte Konturtabelle erstellen (CONTDCON) ..............
  • Seite 16 16.1.35 Abstich - CYCLE92 ........................813 16.1.36 Konturstechen - CYCLE952 ....................815 16.1.37 Schwenken - CYCLE800 ......................819 16.1.38 High Speed Settings - CYCLE832 ................... 822 16.1.39 Hochgeschwindigkeitszerspanung (HSC) - CYCLE_HSC ............823 Tabellen ..............................825 17.1 Anweisungen ........................... 825 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D ...............
  • Seite 17: Flexible Nc-Programmierung

    Flexible NC-Programmierung Variablen 1.1.1 Allgemeine Informationen zu Variablen Durch die Verwendung von Variablen, insbesondere in Verbindung mit Rechenfunktionen und Kontrollstrukturen, können sie Teileprogramme und Zyklen extrem flexibel gestalten. Dazu werden vom System drei unterschiedliche Arten von Variablen zur Verfügung gestellt: •...
  • Seite 18: Systemvariablen

    Flexible NC-Programmierung 1.1 Variablen Siehe auch Systemvariablen Systemvariablen [Seite 18] Vordefinierte Anwendervariablen: Rechenparameter (R) Vordefinierte Anwendervariablen: Rechenparameter (R) [Seite 21] Vordefinierte Anwendervariablen: Link-Variablen Vordefinierte Anwendervariablen: Link- Variablen [Seite 23] Attribut: Initialisierungswert Attribut: Initialisierungswert [Seite 34] Attribut: Grenzwerte (LLI, ULI) Attribut: Grenzwerte (LLI, ULI) [Seite 37] Attribut: Physikalische Einheit (PHU) Attribut: Physikalische Einheit (PHU) [Seite 39] Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB) Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB) [Seite 41]...
  • Seite 19 Flexible NC-Programmierung 1.1 Variablen Präfix-Systematik Zur besonderen Kennzeichnung von Systemvariablen ist dem Name im Normalfall ein Präfix vorangestellt, der sich aus dem $-Zeichen, gefolgt von einem oder zwei Buchstabe und einem Unterstrich, zusammensetzt: $ + 1. Buchstabe Bedeutung: Datenart Systemvariablen, die im Vorlauf gelesen / geschrieben werden Maschinendaten Settingdaten, Schutzbereiche Werkzeugverwaltungsdaten...
  • Seite 20 Flexible NC-Programmierung 1.1 Variablen Verwendung von Maschinen- und Settingdaten in Synchronaktionen Bei der Verwendung von Maschinen- und Settingdaten in Synchronaktionen kann durch den Präfix bestimmt werden, ob das Maschinen- oder Settingdatum vorlauf- oder hauptlaufsynchron gelesen/geschrieben wird. Bleibt das Datum während der Bearbeitung unverändert, kann vorlaufsynchron gelesen werden.
  • Seite 21: Vordefinierte Anwendervariablen: Rechenparameter (R)

    Flexible NC-Programmierung 1.1 Variablen 1.1.3 Vordefinierte Anwendervariablen: Rechenparameter (R) Funktion Die Rechenparameter oder R-Parameter sind eine vordefinierte Anwendervariable mit der Bezeichnung R, definiert als Feld vom Datentyp REAL. Aus historischen Gründen ist für R- Parameter neben der Schreibweise mit Feldindex z. B. R[10] auch die Schreibweise ohne Feldindex z. B.
  • Seite 22: Funktionen

    Flexible NC-Programmierung 1.1 Variablen Nummer des R-Parameter <n>: Typ: Wertebereich: 0 - MAX_INDEX Hinweis MAX_INDEX ergibt sich aus der parametrierten Anzahl an R-Parametern: MAX_INDEX = (MD28050 $MN_MM_NUM_R_PARAM) Feldindex <Ausdruck>: Als Feldindex kann ein beliebiger Ausdruck angegeben werden, solange das Ergebnis des Ausdrucks in den Datentyp INT gewandelt werden kann (INT, REAL, BOOL, CHAR) Beispiel Zuweisungen an R-Parameter und Verwendung von R-Parametern in mathematischen...
  • Seite 23: Vordefinierte Anwendervariablen: Link-Variablen

    Flexible NC-Programmierung 1.1 Variablen 1.1.4 Vordefinierte Anwendervariablen: Link-Variablen Funktion Über Link-Variablen können im Rahmen der Funktion "NCU-Link" zyklisch Daten zwischen NCUs, die in einem Netzwerk miteinander verbunden sind, ausgetauscht werden. Sie ermöglichen dabei einen Datenformat-spezifischen Zugriff auf den Link-Variablen-Speicher. Der Link-Variablen-Speicher wird sowohl bezüglich der Größe und als auch der Datenstruktur vom Anwender / Maschinenhersteller anlagenspezifisch festgelegt.
  • Seite 24 Flexible NC-Programmierung 1.1 Variablen Adressindex in Byte, gerechnet vom Anfang des Link-Variablen-Speichers <Index>: Datentyp: Wertebereich: 0 - MAX_INDEX Hinweis • MAX_INDEX ergibt sich aus der parametrierten Größe des Link-Variablen-Speichers: MAX_INDEX = (MD18700 $MN_MM_SIZEOF_LINKVAR_DATA) - 1 • Es dürfen nur Indizes programmiert werden, so dass die im Link-Variablen-Speicher adressierten Bytes auf einer Datenformatgrenze liegen ⇒...
  • Seite 25: Definition Von Anwendervariablen (Def)

    Flexible NC-Programmierung 1.1 Variablen NCU2 NCU2 liest in einer statischen Synchronaktion zyklisch im IPO-Takt den Stromistwert der Achse AX2 über die Link-Variable $A_DLR[ 16 ] aus dem Link-Variablen-Speicher. Ist der Stromistwert größer als 23.0 A, wird der Alarm 61000 angezeigt. Programmcode N222 IDS=1 WHEN $A_DLR[16] >...
  • Seite 26 Flexible NC-Programmierung 1.1 Variablen Anwendervariablen müssen vor ihrer Verwendung (Lesen / Schreiben) definiert worden sein. Folgende Regeln sind dabei zu beachten: • GUD müssen in einer Definitionsdatei, z. B. _N_DEF_DIR/_M_SGUD_DEF, definiert werden. • PUD und LUD müssen im Definitionsteil eines Teileprogramms definiert werden. •...
  • Seite 27 Flexible NC-Programmierung 1.1 Variablen Zeitpunkt zu dem die Variable reinitialisiert wird (optional) <Init_Zeitpunkt>: Power On INIPO: Hauptprogrammende, NC-Reset oder Power On INIRE: NewConfig oder Hauptprogrammende, NC-Reset INICF: oder Power On Hauptprogrammende, NC-Reset nach lokaler PRLOC: Änderung oder Power On siehe "Attribut: Initialisierungswert [Seite 34]" Physikalische Einheit (optional) <Phys_Einheit>: PHU <Einheit>:...
  • Seite 28: Beispiele

    ; Zugriffsrechte: Teileprogramm: Schreiben/Lesen = 3 = Endanwender BTSS: Schreiben = 0 = Siemens, Lesen = 3 = Endanwender ; Initialisierungswert: ZEIT_1 = 12.0, ZEIT_2 = 45.0 DEF NCK APWP 3 APRP 3 APWB 0 APRB 3 STRING[5] GUD5_NAME = "COUNTER"...
  • Seite 29: Beispiel 2: Programm-Globale Und -Lokale Anwendervariablen (Pud / Lud)

    Flexible NC-Programmierung 1.1 Variablen Beispiel 2: Programm-globale und -lokale Anwendervariablen (PUD / LUD) Programmcode Kommentar PROC MAIN ; Hauptprogramm DEF INT VAR1 ; PUD-Definition SUB2 ; Unterprogrammaufruf Programmcode Kommentar PROC SUB2 ; Unterprogramm SUB2 DEF INT VAR2 ; LUD-DEFINITION IF (VAR1==1) ;...
  • Seite 30 Flexible NC-Programmierung 1.1 Variablen Randbedingungen Globale Anwendervariablen (GUD) Im Rahmen der Definition von globalen Anwendervariablen (GUD) sind folgende Maschinendaten zu berücksichtigen: Bezeichner: $MN_ Bedeutung 11140 GUD_AREA_ SAVE_TAB zusätzliche Sicherung für GUD-Bausteine MM_NUM_GUD_MODULES Anzahl GUD-Dateien im aktiven Filesystem 18118 MM_NUM_GUD_NAMES_NCK Anzahl der globalen GUD-Namen 18120 MM_NUM_GUD_NAMES_CHAN Anzahl der kanalspez.
  • Seite 31: Redefinition Von Systemvariablen, Anwendervariablen Und Nc-Sprachbefehlen (Redef)

    Flexible NC-Programmierung 1.1 Variablen Ist dies nicht der Fall, muss die Variable am Teileprogrammanfang geladen oder, wie im folgenden Beispiel, die Funktion AXNAME(...) (siehe "") verwendet werden. Programmcode Kommentar DEF NCK STRING[5] ACHSE="X" Definition im Datenbaustein N100 AX[AXNAME(ACHSE)]=111 G00 Verwendung im Teileprogramm Siehe auch Allgemeine Informationen zu Variablen Allgemeine Informationen zu Variablen [Seite 17] 1.1.6...
  • Seite 32 Flexible NC-Programmierung 1.1 Variablen Bedeutung Befehl zur Redefinition eines bestimmten Attributs von REDEF: Systemvariablen, Anwendervariablen und NC-Sprachbefehle Name einer bereites definierten Variablen oder eines NC- <Name>: Sprachbefehls Vorlaufstopp <VL-Stopp>: Vorlaufstopp beim Lesen SYNR: Vorlaufstopp beim Schreiben SYNW: Vorlaufstopp beim Lesen/Schreiben SYNRW: Physikalische Einheit <Phys_Einheit>:...
  • Seite 33 Flexible NC-Programmierung 1.1 Variablen <Init_Zeitpunkt>: Zeitpunkt zu dem die Variable reinitialisiert wird PowerOn INIPO: Hauptprogrammende, NC-Reset oder PowerOn INIRE: NewConfig oder Hauptprogrammende, NC-Reset INICF: oder PowerOn Hauptprogrammende, NC-Reset nach lokaler PRLOC: Änderung oder PowerOn siehe "Attribut: Initialisierungswert [Seite 34]" Initialisierungswert <Init_Wert>: Bei Redefinition des Initialisierungswertes muss immer auch ein Initialisierungszeitpunkt (siehe <Init_Zeitpunkt>) angegeben werden.
  • Seite 34: Attribut: Initialisierungswert

    Flexible NC-Programmierung 1.1 Variablen Randbedingungen Granularität Eine Redefinition bezieht sich immer auf die gesamte, durch ihren Namen eindeutig gekennzeichnete Variable. Es ist nicht möglich z.B. bei Feldvariablen für einzelne Feldelemente unterschiedliche Attributwerte zuzuweisen. Siehe auch Allgemeine Informationen zu Variablen Allgemeine Informationen zu Variablen [Seite 17] 1.1.7 Attribut: Initialisierungswert Definition (DEF) von Anwendervariablen...
  • Seite 35 Flexible NC-Programmierung 1.1 Variablen Reinitialisierungszeitpunkt Bei der Redefinition kann Zeitpunkt angegeben werden, zu dem die Variable reinitialisiert, d.h. wieder auf den Initialisierungswert gesetzt werden soll: • INIPO (Power On) Die Variable wird bei PowerOn reinitialisiert. • INIRE (Reset) Die Variable wird bei NC-Reset, BAG-Reset, Teileprogrammende (M02 / M30) oder PowerOn reinitialisiert.
  • Seite 36 Flexible NC-Programmierung 1.1 Variablen Tabelle 1-1 Programmierbare Settingdaten Nummer Bezeichner G-Befehl 43780 $SA_OSCILL_IS_ACTIVE 43790 $SA_OSCILL_START_POS 1) mit diesem G-Befehl wird das Settingdatum angesprochen Randbedingungen Initialisierungswert: globale Anwendervariablen (GUD) • Für globale Anwendervariable (GUD) mit dem Gültigkeitsbereich NCK, kann als Initialisierungszeitpunkt nur INIPO (Power On) vorgegeben werden. •...
  • Seite 37: Attribut: Grenzwerte (Lli, Uli)

    Flexible NC-Programmierung 1.1 Variablen Impliziter Initialisierungswert: Datentyp AXIS Für Variablen vom Datentyp AXIS wird folgender implizite Initialisierungwert verwendet: • Systemdaten: "erste Geometrieachse" • Synchronaktions-GUD (Bezeichnung: SYG_A*), PUD, LUD: Achsbezeichner aus Maschinendatum: MD20082 $MC_AXCONF_CHANAX_DEFAULT_NAME Impliziter Initialisierungswert: Werkzeug- und Magazindaten Für Werkzeug– und Magazindaten können Initialisierungstwerte über folgendes Maschinendatum vorgegeben werden: MD17520 $MN_TOOL_DEFAULT_DATA_MASK ACHTUNG Synchronisation...
  • Seite 38: Redefinition (Redef) Von Anwendervariablen: Grenzwerte Und Aktuelle Istwerte

    Flexible NC-Programmierung 1.1 Variablen Liegt der implizite Initialisierungswert ausserhalb des durch die programmierten Grenzwerte festgelegten Definitionsbereichs, wird die Variable mit dem Grenzwert initialisiert, der dem implizite Initialisierungswert am nächsten liegt: • impliziter Initialisierungswert < unterer Grenzwert (LLI) ⇒ Initialisierungswert = unterer Grenzwert •...
  • Seite 39: Attribut: Physikalische Einheit (Phu)

    Flexible NC-Programmierung 1.1 Variablen 1.1.9 Attribut: Physikalische Einheit (PHU) Eine physikalische Einheit kann nur für Variablen von folgende Datentypen vorgegeben werden: • • REAL Programmierbare physikalische Einheiten (PHU) Die Angabe der physikalische Einheit erfolgt als Festkommazahl: PHU <Einheit> Folgende physikalische Einheiten können programmiert werden: <Einheit>...
  • Seite 40 Flexible NC-Programmierung 1.1 Variablen <Einheit> Bedeutung Physikalische Einheit [ m/min ], [ feet/min ] Schnittgeschwindigkeit [ m/s], [ feet/s ] Umfangsgeschwindigkeit Widerstand [ Ohm ] Induktivitaet [ mH ] [ Nm ] Drehmoment [ Nm/A ] Drehmomentkonstante Stromreglerverstärkung [ V/A ] [ Nm/(rad*s) ] Drehzahlreglerverstärkung Drehzahl...
  • Seite 41: Attribut: Zugriffsrechte (Apr, Apw, Aprp, Apwp, Aprb, Apwb)

    Flexible NC-Programmierung 1.1 Variablen ACHTUNG Kompatibilität von Einheiten Bei der Verwendung von Variablen (Zuweisung, Vergleich, Berechnung etc.) erfolgt keine Prüfung auf Kompatibilität der beteiligten Einheiten. Eine gegebenenfalls erforderliche Umrechnung liegt ausschließlich in der Verantwortung des Anwenders / Maschinenherstellers. Siehe auch Allgemeine Informationen zu Variablen Allgemeine Informationen zu Variablen [Seite 17] 1.1.10 Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB)
  • Seite 42 Flexible NC-Programmierung 1.1 Variablen Redefinition (REDEF) von System- und Anwendervariablen Zugriffsrechte (APR... / APW...) können für folgende Variablen redefiniert werden: • Systemdaten Maschinendaten Settingdaten FRAME Prozessdaten Spindelsteigungsfehlerkompensation (EEC) Durchhangkompensation (CEC) Quadrantenfehlerkompensation (QEC) Magazindaten Werkzeugdaten Schutzbereiche orientierbare Werkzeugträger kinematische Ketten 3D-Schutzbereiche Arbeitsfeldbegrenzung ISO-Werkzeugdaten •...
  • Seite 43 Flexible NC-Programmierung 1.1 Variablen Redefinition (REDEF) von NC-Sprachbefehlen Das Zugriffs- bzw. Ausführungsrecht (APX) kann für folgende NC-Sprachbefehle redefiniert werden: • G-Funktionen / Wegbedingungen Literatur: /PG/ Programmieranleitung Grundlagen; Kapitel: G-Funktionen / Wegbedingungen • Vordefinierte Funktionen Literatur: /PG/ Programmieranleitung Grundlagen; Kapitel: Vordefinierte Funktionen •...
  • Seite 44: Zugriffsrechte Über Access-Dateien Einstellen

    Flexible NC-Programmierung 1.1 Variablen • APRP 3 / APWP 3 beim Abarbeiten des Teileprogramms muss das Endanwender-Kennwort gesetzt sein der Zyklus muss im Verzeichnis _N_CUS_DIR (Anwender), _N_CMA_DIR oder _N_CST_DIR abgelegt sein für die Verzeichnisse _N_CUS_DIR, _N_CMA_DIR bzw. _N_CST_DIR müssen in den Maschinendaten MD11162 $MN_ACCESS_EXEC_CUS, MD11161 $MN_ACCESS_EXEC_CMA bzw.
  • Seite 45 Flexible NC-Programmierung 1.1 Variablen Für einen durchgehenden Zugriffsschutz müssen die Maschinendaten für die Ausführungsrechte und den Zugriffsschutz der entsprechenden Verzeichnisse konsistenten angepasst werden. Es ergibt sich folgende prinzipielle Vorgehensweise: • Erstellen der benötigten Definitionsdateien: _N_DEF_DIR/_N_SACCESS_DEF _N_DEF_DIR/_N_MACCESS_DEF _N_DEF_DIR/_N_UACCESS_DEF • Parametrieren des Schreibrechtes für die Definitiondateien auf den für die Redefinition erforderlichen Wert: MD11170 $MN_ACCESS_WRITE_SACCESS MD11171 $MN_ACCESS_WRITE_MACCESS...
  • Seite 46: Übersicht Definierbarer Und Redefinierbarer Attribute

    Flexible NC-Programmierung 1.1 Variablen Unterprogrammaufrufe in ACCESS-Dateien Für die weitere Strukturierung des Zugriffsschutzes können in den ACCESS-Dateien auch Unterprogramme (Kennung SPF oder MPF) aufgerufen werden. Die Unterprogramme erben dabei die Ausführungsrechte der aufrufenden ACCESS-Datei. Hinweis In den ACCESS-Dateien können nur die Zugriffsrechte redefiniert werden. Alle anderen Attribute müssen weiterhin in den entsprechenden Definitionsdateien programmiert bzw.
  • Seite 47: Definition Und Initialisierung Von Feldvariablen (Def, Set, Rep)

    Flexible NC-Programmierung 1.1 Variablen Anwenderdaten Datenart Init.Wert Grenzwerte phys. Einheit Zugriffsrechte R–Parameter REDEF REDEF REDEF REDEF Synchronaktionsvariable ($AC_...) REDEF REDEF REDEF REDEF Synchronaktions–GUD (SYG_...) REDEF REDEF REDEF REDEF EPS–Parameter REDEF REDEF REDEF REDEF Werkzeugdaten–OEM REDEF REDEF REDEF REDEF Magazindaten–OEM REDEF REDEF REDEF REDEF...
  • Seite 48 Flexible NC-Programmierung 1.1 Variablen Wertzuweisung können dabei erfolgen über: • explizite Angabe eines Feldelements • explizite Angabe eines Feldelements als Startelement und Angabe einer Werteliste (SET) • explizite Angabe eines Feldelements als Startelement und Angabe eines Wertes und der Häufigkeit seiner Wiederholung (REP) Hinweis Anwendervariablen vom Datentyp FRAME können keine Initialisierungswerte zugewiesen werden.
  • Seite 49: Bedeutung

    Flexible NC-Programmierung 1.1 Variablen Bedeutung Befehl zur Definition von Variablen DEF: Datentyp der Variablen <Datentyp>: Wertebereich: • bei Systemvariablen: BOOL, CHAR, INT, REAL, STRING, AXIS • bei GUD- oder LUD-Variablen: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME Maximale Anzahl der Zeichen beim Datentyp <Stringlänge>: STRING Variablenname...
  • Seite 50 Flexible NC-Programmierung 1.1 Variablen Wert, mit dem die Feldelemente bei der Initialisierung <Wert>: mit REP beschrieben werden sollen. Anzahl der Feldelemente, die mit dem angegebenen <Anzahl_Feldelemente>: <Wert> beschrieben werden sollen. Für die restlichen Feldelemente gilt abhängig vom Zeitpunkt: • Initialisierung bei der Felddefinition: →...
  • Seite 51: Beispiel: Initialisierung Kompletter Variablenfelder

    Flexible NC-Programmierung 1.1 Variablen 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. Programmcode N10 DEF REAL FELD1[10,3]=SET(0,0,0,10,11,12,20,20,20,30,30,30,40,40,40,) N20 FELD1[0,0]=REP(100) N30 FELD1[5,0]=REP(-100) N40 FELD1[0,0]=SET(0,1,2,-10,-11,-12,-20,-20,-20,-30, , , ,-40,-40,-50,-60,-70) N50 FELD1[8,1]=SET(8.1,8.2,9.0,9.1,9.2) Arbeitsvorbereitung...
  • Seite 52: Definition Und Initialisierung Von Feldvariablen (Def, Set, Rep): Weitere Informationen

    Flexible NC-Programmierung 1.1 Variablen Siehe auch Definition und Initialisierung von Feldvariablen (DEF, SET, REP): Weitere Informationen Definition und Initialisierung von Feldvariablen (DEF, SET, REP): Weitere Informationen [Seite 52] Allgemeine Informationen zu Variablen Allgemeine Informationen zu Variablen [Seite 17] 1.1.13 Definition und Initialisierung von Feldvariablen (DEF, SET, REP): Weitere Informationen Weitere Informationen (SET) Initialisierung bei der Definition...
  • Seite 53 Flexible NC-Programmierung 1.1 Variablen Weitere Informationen (REP) Initialisierung bei der Definition • Alle oder die optional angegebene Anzahl an Feldelementen werden mit dem angegebenen Wert (Konstante) initialisiert. • Variablen vom Datentyp FRAME können nicht initialisiert werden. Beispiel: Programmcode Kommentar DEF REAL varName[10]=REP(3.5,4) ;...
  • Seite 54 Flexible NC-Programmierung 1.1 Variablen ACHTUNG Wertzuweisungen an axiale Maschinendaten Bei Wertzuweisungen an axiale Maschinendaten mittels SET oder REP wird der Feldindex vom Datentyp AXIS ignoriert bzw. nicht durchlaufen. Speicherbedarf Datentyp Speicherbedarf pro Element 1 Byte BOOL 1 Byte CHAR 4 Bytes 8 Bytes REAL (Stringlänge + 1) Bytes...
  • Seite 55: Datentypen

    Flexible NC-Programmierung 1.1 Variablen 1.1.14 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) -308 +308 ±( ∼ 2,2*10 … ∼ 1,8*10 BOOL Wahrheitswert TRUE (1) und FALSE (0) 1, 0 CHAR ASCII-Zeichen...
  • Seite 56: Indirekte Programmierung

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Indirekte Programmierung 1.2.1 Indirekte Programmierung von Adressen Funktion Bei der indirekten Programmierung von Adressen wird die erweiterte Adresse (Index) durch eine Variable geeigneten Typs ersetzt. Hinweis Die indirekte Programmierung von Adressen ist nicht möglich bei: •...
  • Seite 57 Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 2: Indirekte Programmierung einer Achse Direkte Programmierung: Programmcode Kommentar FA[U]=300 ; Vorschub 300 für die Achse "U". Indirekte Programmierung: Programmcode Kommentar DEF AXIS AXVAR2=U ; Definition einer Variablen vom Typ AXIS und Wertzuweisung. FA[AXVAR2]=300 ;...
  • Seite 58: Beispiel 7: Indirekter Unterprogrammaufruf

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 5: Indirekte Programmierung einer Achse Direkte Programmierung: Programmcode G2 X100 I20 Indirekte Programmierung: Programmcode Kommentar DEF AXIS AXVAR1=X ; Definition einer Variablen vom Typ AXIS und Wertzuweisung. G2 X100 IP[AXVAR1]=20 ; Indirekte Programmierung der Mittelpunktsangabe für die Achse, deren Adressname in der Variablen mit dem Namen AXVAR1 abgelegt ist Beispiel 6: Indirekte Programmierung von Feldelementen...
  • Seite 59: Indirekte Programmierung Von G-Codes

    Flexible NC-Programmierung 1.2 Indirekte Programmierung 1.2.2 Indirekte Programmierung von G-Codes Funktion Die indirekte Programmierung von G-Codes ermöglicht eine effektive Zyklenprogrammierung. Syntax G[<Gruppe>]=<Nummer> Bedeutung G-Befehl mit Erweiterung (Index) G[...]: Index-Parameter: G-Funktionsgruppe <Gruppe>: Typ: Variable für die G-Code-Nummer <Nummer>: Typ: INT oder REAL Hinweis Es können i. d. R.
  • Seite 60: Indirekte Programmierung Von Positionsattributen (Gp)

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 2: Ebenenanwahl (G-Funktionsgruppe 6) Programmcode Kommentar N2010 R10=$P_GG[6] ; Aktive G-Funktion der G-Funktions-Gruppe 6 lesen N2090 G[6]=R10 Literatur Informationen zu den G-Funktionsgruppen siehe: Programmierhandbuch Grundlagen; Kapitel "G-Funktionsgruppen" 1.2.3 Indirekte Programmierung von Positionsattributen (GP) Funktion Positionsattribute, wie z. B.
  • Seite 61 Flexible NC-Programmierung 1.2 Indirekte Programmierung Bedeutung Folgende Positionierbefehle können zusammen mit <POSITIONIERBEFEHL>[]: dem Schlüsselwort GP programmiert werden: POS, POSA,SPOS, SPOSA Außerdem möglich: • alle im Kanal vorhandenen Achs-/Spindelbezeichner: <Achse/Spindel> • variabler Achs-/Spindelbezeichner AX Achse/Spindel, die positioniert werden soll <Achse/Spindel>: Schlüsselwort zur Positionierung GP(): Parameter 1 <Position>:...
  • Seite 62 Flexible NC-Programmierung 1.2 Indirekte Programmierung 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. Die Positionierung erfolgt über die Anweisung in N2230: SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) Die anzufahrende Position wird aus der Systemvariablen $P_SUB_SPOSIT, der...
  • Seite 63: Indirekte Programmierung Von Teileprogrammzeilen (Execstring)

    Flexible NC-Programmierung 1.2 Indirekte Programmierung 1.2.4 Indirekte Programmierung von Teileprogrammzeilen (EXECSTRING) Funktion 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 EXECSTRING: Teileprogrammzeile Variable vom Typ STRING, die die eigentlich auszuführende...
  • Seite 64: Rechenfunktionen

    Flexible NC-Programmierung 1.3 Rechenfunktionen Rechenfunktionen Funktion Die Rechenfunktionen sind vorrangig für R-Parameter und Variable (oder Konstante und Funktionen) vom Typ REAL anwendbar. Zulässig sind auch die Typen INT und CHAR. Operator / Rechenfunktion Bedeutung Addition Subtraktion Multiplikation Division Achtung: (Typ INT)/(Typ INT)=(Typ REAL); Beispiel: 3/4 = 0.75 Division, für Variablentyp INT und REAL Achtung: (Typ INT)DIV(Typ INT)=(Typ INT);...
  • Seite 65: Programmierung

    Flexible NC-Programmierung 1.3 Rechenfunktionen Variablenwert, der im definierten Wertebereich liegt BOUND() (siehe "Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) [Seite 71]") Verschiebung CTRANS() Drehung CROT() Maßstabsveränderung CSCALE() Spiegeln CMIRROR() Programmierung Bei den Rechenfunktionen gilt die übliche mathematische Schreibweise. Prioritäten in der Abarbeitung werden durch runde Klammern gesetzt.
  • Seite 66: Beispiel 2: Initialisierung Kompletter Variablenfelder

    Flexible NC-Programmierung 1.3 Rechenfunktionen Beispiel 2: Initialisierung kompletter Variablenfelder Programmcode Kommentar R1=R1+1 ; Neues R1 = altes R1 +1 R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12 R13=SIN(25.3) R14=R1*R2+R3 ; Punktrechnung geht vor Strichrechnung. R14=(R1+R2)*R3 ; Klammern werden zuerst berechnet. R15=SQRT(POT(R1)+POT(R2)) ; Innere Klammern werden zuerst aufgelöst: R15 = Quadratwurzel aus (R1+R2) RESFRAME=FRAME1:FRAME2 ;...
  • Seite 67: Vergleichs- Und Logische Operationen

    Flexible NC-Programmierung 1.4 Vergleichs- und logische Operationen Vergleichs- und logische Operationen Funktion Vergleichsoperationen können z. B. zur Formulierung einer Sprungbedingung benutzt werden. Vergleichbar sind dabei auch komplexe Ausdrücke. Die Vergleichsoperationen sind für Variable vom Typ CHAR, INT, REAL und BOOL anwendbar. Beim Typ CHAR wird der Codewert verglichen. Bei den Typen STRING, AXIS und FRAME sind möglich: == und <>, die für Operationen vom Typ STRING auch in Synchronaktionen angewendet werden können.
  • Seite 68 Flexible NC-Programmierung 1.4 Vergleichs- und logische Operationen Bitweise logischer Operator Bedeutung bitweises UND B_AND bitweises ODER B_OR bitweise Negation B_NOT bitweises Exklusiv-ODER B_XOR 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 69: Genauigkeitskorrektur Bei Vergleichsfehlern (Trunc)

    Flexible NC-Programmierung 1.5 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Funktion Der TRUNC-Befehl schneidet den mit einem Genauigkeitsfaktor multiplizierten Operanden Einstellbare Genauigkeit bei Vergleichsbefehlen Teileprogrammdaten vom Typ REAL werden intern im IEEE-Format mit 64 Bit dargestellt. Aufgrund dieser Darstellungsform können Dezimalzahlen ungenau abgebildet werden, die bei einem Vergleich mit ideal gerechneten Werten zu unerwarteten Ergebnissen führen können.
  • Seite 70: Beispiel 1: Genauigkeitsbetrachtungen

    Flexible NC-Programmierung 1.5 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Synchronaktionen Das beschriebene Verhalten der Vergleichsbefehle gilt auch bei Synchronaktionen. Beispiele Beispiel 1: Genauigkeitsbetrachtungen Programmcode Kommentar N40 R1=61.01 R2=61.02 R3=0.01 Zuweisung der Anfangswerte N41 IF ABS(R2-R1) > R3 GOTOF FEHLER Sprung würde bisher ausgeführt werden N42 M30 Programmende...
  • Seite 71: Minimum, Maximum Und Bereich Von Variablen (Minval, Maxval, Bound)

    Flexible NC-Programmierung 1.6 Minimum, Maximum und Bereich von Variablen (MINVAL, Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Funktion Mit den Befehlen MINVAL und MAXVAL können die Werte zweier Variablen miteinander verglichen werden. Als Ergebnis wird der kleinere Wert (bei MINVAL) bzw. größere Wert (bei MAXVAL) zurückgeliefert.
  • Seite 72 Flexible NC-Programmierung 1.6 Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Hinweis MINVAL, MAXVAL und BOUND können auch in Synchronaktionen programmiert werden. Hinweis Verhalten bei Gleichheit Bei Gleichheit wird bei MINVAL/MAXVAL dieser gleiche Wert geliefert. Bei BOUND wird der Wert der zu prüfenden Variablen wieder zurückgegeben.
  • Seite 73: Priorität Der Operationen

    Flexible NC-Programmierung 1.7 Priorität der Operationen Priorität der Operationen Funktion Jedem Operator ist eine Priorität zugeordnet. Bei der Auswertung eines Ausdrucks werden stets die Operatoren höherer Priorität zuerst angewandt. Bei gleichrangigen Operatoren erfolgt die Auswertung von links nach rechts. In arithmetischen Ausdrücken kann durch runde Klammern die Abarbeitungsreihenfolge aller Operatoren festgelegt und damit von den normalen Prioritätsregeln abgewichen werden.
  • Seite 74: Mögliche Typenkonvertierungen

    Flexible NC-Programmierung 1.8 Mögliche Typenkonvertierungen Mögliche Typenkonvertierungen Funktion Typkonvertierung bei Zuweisung Der konstante Zahlenwert, die Variable oder der Ausdruck, der einer Variablen zugewiesen wird, muss mit dem Typ dieser Variablen verträglich sein. Ist dies gegeben, so wird bei der Zuweisung der Typ automatisch umgewandelt. Mögliche Typkonvertierungen nach REAL BOOL...
  • Seite 75: Stringoperationen

    Flexible NC-Programmierung 1.9 Stringoperationen Stringoperationen Stringoperationen Neben den klassischen Operationen "Zuweisung" und "Vergleich" sind folgende Stringoperationen möglich: • Typenkonvertierung nach STRING (AXSTRING) [Seite 76]  • Typenkonvertierung von STRING (NUMBER, ISNUMBER, AXNAME) [Seite 77]  • Verkettung von Strings (<<) [Seite 78]  •...
  • Seite 76: Typenkonvertierung Nach String (Axstring)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.1 Typenkonvertierung nach STRING (AXSTRING) Funktion Durch die Funktion "Typkonvertierung nach STRING" lassen sich Variablen unterschiedlichen Typs als Bestandteil einer Meldung (MSG) nutzen. Erfolgt bei Verwendung des Operators << implizit für die Datentypen INT, REAL, CHAR und BOOL (siehe " Verkettung von Strings (<<) [Seite 78] ").
  • Seite 77: Typenkonvertierung Von String (Number, Isnumber, Axname)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.2 Typenkonvertierung von STRING (NUMBER, ISNUMBER, AXNAME) Funktion Mit dem Befehl NUMBER wird von STRING nach REAL konvertiert. Die Konvertierbarkeit kann mit dem Befehl ISNUMBER überprüft werden. Mit dem Befehl AXNAME wird ein String in den Datentyp AXIS konvertiert. Syntax <REAL_ERG>=NUMBER("<String>") <BOOL_ERG>=ISNUMBER("<String>")
  • Seite 78: Verkettung Von Strings

    Flexible NC-Programmierung 1.9 Stringoperationen Beispiel Programmcode Kommentar DEF BOOL BOOL_ERG DEF REAL REAL_ERG DEF AXIS AXIS_ERG BOOL_ERG=ISNUMBER("1234.9876Ex-7") ; BOOL_ERG == TRUE BOOL_ERG=ISNUMBER("1234XYZ") ; BOOL_ERG == FALSE REAL_ERG=NUMBER("1234.9876Ex-7") ; REAL_ERG == 1234.9876Ex-7 AXIS_ERG=AXNAME("X") ; AXIS_ERG == X 1.9.3 Verkettung von Strings (<<) Funktion Die Funktion "Verkettung von Strings"...
  • Seite 79: Verkettung Von Strings ( Wandlung In Klein-/Großbuchstaben (Tolower, Toupper)

    Flexible NC-Programmierung 1.9 Stringoperationen 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) ; Anzeige: "Index:2/Wert:9.654" NO_MSG: Beispiel 2: Explizite Typkonvertierung mit << Programmcode Kommentar DEF REAL VALUE=3.5 <<VALUE ;...
  • Seite 80: Länge Eines Strings Bestimmen (Strlen)

    Flexible NC-Programmierung 1.9 Stringoperationen 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 1.9.5 Länge eines Strings bestimmen (STRLEN) Funktion Mit dem Befehl STRLEN ist es möglich, die Länge einer Zeichenkette zu bestimmen.
  • Seite 81: Zeichen/String In String Suchen (Index, Rindex, Mindex, Match)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.6 Zeichen/String in String suchen (INDEX, RINDEX, MINDEX, MATCH) Funktion Diese Funktionalität erlaubt es, einzelne Zeichen bzw. einen String in einem weiteren String zu suchen. Die Funktionsergebnisse geben an, an welcher Position des Strings das Zeichen/ der String im zu untersuchenden String gefunden wurde.
  • Seite 82: Auswahl Eines Teilstrings (Substr)

    Flexible NC-Programmierung 1.9 Stringoperationen Programmcode Kommentar PFADIDX = INDEX (EINGABE, "/") +1 ; damit gilt: PFADIDX = 1 PROGIDX = RINDEX (EINGABE, "/") +1 ; damit gilt: PROGIDX = 12 mit Hilfe der im nächsten Abschnitt eingeführten Funktion SUBSTR läßt sich die Variable EINGABE in die Komponenten ;"Pfad";und "Baustein"...
  • Seite 83: Selektion Eines Einzelzeichens (Stringvar, Stringfeld)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.8 Selektion eines Einzelzeichens (STRINGVAR, STRINGFELD) Funktion Diese Funktionalität erlaubt es, die einzelnen Zeichen eines Strings zu selektieren. Dies trifft sowohl auf den lesenden als auch auf den schreibenden Zugriff zu. Syntax CHAR_ERG = STRINGVAR [IDX] ; Ergebnistyp: CHAR CHAR_ERG = STRINGFELD [IDX_FELD, IDX_CHAR] ;...
  • Seite 84: String Formatieren (Sprint)

    Flexible NC-Programmierung 1.9 Stringoperationen Beispiel 2: Einzelzeichenzugriff bei Call-By-Reference-Parameter Programmcode Kommentar DEF STRING [50] STRG DEF CHAR CHR1 EXTERN UP_CALL (VAR CHAR1) Call-By-Reference-Parameter! … CHR1 = STRG [5] UP_CALL (CHR1) Call-By-Reference STRG [5] = CHR1 1.9.9 String formatieren (SPRINT) Funktion Mit der vordefinierten Funktion SPRINT können Zeichenketten formatiert und z. B.
  • Seite 85 Flexible NC-Programmierung 1.9 Stringoperationen Verfügbare Formatbeschreibungen Wandlung in den String "TRUE", wenn der zu wandelnde Wert: • ungleich 0 ist. • kein Leerstring ist (bei String-Werten). Wandlung in den String "FALSE", wenn der zu wandelnde Wert: • gleich 0 ist. •...
  • Seite 86 Flexible NC-Programmierung 1.9 Stringoperationen Wandlung in einen String mit einer Dezimalzahl mit 6 Nachkommastellen und einer %<m>F: Gesamtlänge von mindestens <m> Zeichen. Die Nachkommstellen werden ggf. gerundet 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.23412345678EX+03 N20 DEF STRING[80] RESULT...
  • Seite 87 Flexible NC-Programmierung 1.9 Stringoperationen Wandlung in einen String mit einer Dezimalzahl in Exponentialdarstellung. Die %.<n>E: Mantisse wird normalisiert mit einer Vorkommastelle und <n> Nachkommastellen abgelegt. Die Nachkommastellen werden ggf. gerundet oder mit 0 aufgefüllt. Der Exponent beginnt mit dem Schlüsselwort "EX". Es folgt das Vorzeichen ("+" oder "- ") und eine zwei- oder dreistellige Zahl.
  • Seite 88 Flexible NC-Programmierung 1.9 Stringoperationen Wandlung in einen String mit einer Dezimalzahl je nach Wertebereich in Dezimal- %<m>G: oder Exponentialdarstellung (wie %G). Der String hat eine Gesamtlänge von mindestens <m> Zeichen. Fehlende Zeichen werden linksbündig mit Leerzeichen aufgefüllt. Beispiel mit Dezimaldarstellung: N10 DEF REAL REAL_VAR=1.234567890123456EX-04 N20 DEF STRING[80] RESULT N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%15G",REAL_VAR)
  • Seite 89 Flexible NC-Programmierung 1.9 Stringoperationen Wandlung eines REAL-Werts in einen INTEGER-Wert unter Berücksichtigung von %.<n>P: <n> 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 Konventionen des NC-Datentyps STRING.
  • Seite 90 Flexible NC-Programmierung 1.9 Stringoperationen 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> Nachkommastellen. Wie bei der Formatbeschreibung %.<n>P wird der gesamte String in dem durch MD10750 $MN_SPRINT_FORMAT_P_CODE festgelegten Zeichen-Code abgelegt.
  • Seite 91 Flexible NC-Programmierung 1.9 Stringoperationen 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 92 Flexible NC-Programmierung 1.9 Stringoperationen 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 93: Programmsprünge Und -Verzweigungen

    Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen 1.10 Programmsprünge und -verzweigungen 1.10.1 Rücksprung auf Programmanfang (GOTOS) Funktion Mit dem Befehl GOTOS ist es möglich, zur Programmwiederholung an den Anfang eines Haupt- oder Unterprogramms zurückzuspringen. Über Maschinendaten kann eingestellt werden, dass bei jedem Rücksprung auf den Programmanfang: •...
  • Seite 94: Programmsprünge Auf Sprungmarken (Gotob, Gotof, Goto, Gotoc)

    Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Beispiel Programmcode Kommentar N10 ... ; Programmanfang. N90 GOTOS ; Sprung an den Programmanfang. 1.10.2 Programmsprünge auf Sprungmarken (GOTOB, GOTOF, GOTO, GOTOC) Funktion In einem Programm können Sprungmarken (Labels) gesetzt werden, auf die von anderen Stellen innerhalb desselben Programms mit dem Befehlen GOTOF, GOTOB, GOTO bzw.
  • Seite 95 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Sprungzielparameter <Sprungziel>: Mögliche Angaben sind: <Sprungmarke>: Sprungziel ist die im Programm gesetzte Sprungmarke mit benutzerdefiniertem Namen: <Sprungmarke>: <Satznummer>: Sprungziel ist eine Haupt- oder Nebensatznummer (z. B.: 200, N300) Variable vom Typ Variables Sprungziel. Die Variable steht für STRING: eine Sprungmarke oder eine Satznummer.
  • Seite 96: Beispiele

    Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Beispiele Beispiel 1: Sprünge auf Sprungmarken Programmcode Kommentar N10 … N20 GOTOF Label_1 ; Sprung in Richtung Programmende zur Sprungmarke "Label_1". N30 … N40 Label_0: R1=R2+R3 ; Sprungmarke "Label_0" gesetzt. N50 … N60 Label_1: ;...
  • Seite 97: Programmverzweigung (Case

    Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Beispiel 4: Sprung mit Sprungbedingung Programmcode Kommentar N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20 ; Zuweisung der Anfangswerte. N41 LA1: G0 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6 ; Sprungmarke LA1 gesetzt. N42 R1=R1+R3 R4=R4-1 N43 IF R4>0 GOTOB LA1 ;...
  • Seite 98 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Sprunganweisung mit Sprungziel in Richtung Programmende. GOTOF: Statt GOTOF sind auch alle anderen GOTO-Befehle programmierbar (siehe Thema "Programmsprünge auf Sprungmarken"). Auf dieses Sprungziel wird verzweigt, wenn der Wert der Variablen <Sprungziel_1>: oder Rechenfunktion der ersten angegebenen Konstanten entspricht.
  • Seite 99: Programmteilwiederholung (Repeat, Repeatb, Endlabel, P)

    Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Funktion Die Programmteilwiederholung ermöglicht die Wiederholung bereits geschriebener Programmteile innerhalb eines Programms in beliebiger Zusammensetzung. Die zu wiederholenden Programmzeilen bzw. Programmbereiche werden durch Sprungmarken (Labels) gekennzeichnet. Hinweis Sprungmarken (Labels) Sprungmarken stehen immer am Anfang eines Satzes.
  • Seite 100 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) 3. Bereich zwischen zwei Sprungmarken wiederholen: <Start-Sprungmarke>: ... <End-Sprungmarke>: ... REPEAT <Start-Sprungmarke> <End-Sprungmarke> P=<n> Hinweis Die REPEAT-Anweisung mit den beiden Sprungmarken zu klammern, ist nicht möglich. Wird die <Start-Sprungmarke> vor der REPEAT-Anweisung gefunden und wird die <End- Sprungmarke>...
  • Seite 101 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, Bedeutung Befehl zum Wiederholen einer Programmzeile REPEATB: Befehl zum Wiederholen eines Programmbereichs REPEAT: Die <Sprungmarke> kennzeichnet: <Sprungmarke>: • die zu wiederholende Programmzeile (bei REPEATB) bzw. • den Beginn des zu wiederholenden Programmbereichs (bei REPEAT) Die mit der <Sprungmarke>...
  • Seite 102: Beispiel 1: Einzelne Programmzeile Wiederholen

    Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Beispiele Beispiel 1: Einzelne Programmzeile wiederholen Programmcode Kommentar N10 POSITION1: X10 Y20 N20 POSITION2: CYCLE(0,,9,8) ; Positionszyklus N30 ... N40 REPEATB POSITION1 P=5 ; Führe SATZ N10 fünfmal aus. N50 REPEATB POSITION2 ;...
  • Seite 103: Beispiel 4: Bereich Zwischen Sprungmarke Und Endlabel Wiederholen

    Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, Beispiel 4: Bereich zwischen Sprungmarke und ENDLABEL wiederholen Programmcode Kommentar N10 G1 F300 Z-10 N20 BEGIN1: N30 X10 N40 Y10 N50 BEGIN2: N60 X20 N70 Y30 N80 ENDLABEL: Z10 N90 X0 Y0 Z0 N100 Z-10 N110 BEGIN3: X20 N120 Y30 N130 REPEAT BEGIN3 P=3...
  • Seite 104 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Programmcode Kommentar N180 REPEAT POS_2 ; Wiederhole Programmabschnitt ab POS_2 einmal bis ENDLABEL. N190 M30 Weitere Informationen • Programmteilwiederholung kann geschachtelt aufgerufen werden. Jeder Aufruf belegt eine Unterprogrammebene. • Ist während der Bearbeitung einer Programmteilwiederholung M17 oder RET programmiert, so wird die Programmteilwiederholung abgebrochen.
  • Seite 105 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, • Bei der Mischung von Sprüngen und Programmteilwiederholung werden die Sätze rein sequentiell abgearbeitet. Erfolgt z. B. ein Sprung aus einer Programmteilwiederholung, so wird solange bearbeitet, bis das programmierte Programmteilende gefunden wird. Beispiel: Programmcode N10 G1 F300 Z-10 N20 BEGIN1: N30 X=10 N40 Y=10...
  • Seite 106: Kontrollstrukturen

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12 Kontrollstrukturen Funktion Die Steuerung arbeitet die NC-Sätze standardmäßig in der programmierten Reihenfolge ab. Diese Reihenfolge kann durch die Programmierung von alternativen Programmblöcken und Programmschleifen variiert werden. Die Programmierung dieser Kontrollstrukturen erfolgt mit den Kontrollstrukturelementen (Schlüsselwörtern) IF...ELSE, LOOP, FOR, WHILE und REPEAT.
  • Seite 107: Programmschleife Mit Alternative (If, Else, Endif)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 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. Randbedingungen • Sätze mit Kontrollstrukturelementen können nicht ausgeblendet werden. •...
  • Seite 108: Werkzeugwechselunterprogramm

    Flexible NC-Programmierung 1.12 Kontrollstrukturen Bedeutung Leitet die IF-Schleife ein. Leitet den alternativen Programmblock ein. ELSE: Markiert das Ende der IF-Schleife und bewirkt Rücksprung auf den ENDIF: Schleifenanfang. Bedingung, die darüber entscheidet, welcher Programmblock <Bedingung>: durchlaufen wird. Beispiel Werkzeugwechselunterprogramm Programmcode Kommentar PROC L6 ;...
  • Seite 109: Endlos-Programmschleife (Loop, Endloop)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.2 Endlos-Programmschleife (LOOP, ENDLOOP) Funktion Die Endlos-Schleife findet Verwendung in Endlos-Programmen. Am Schleifenende findet immer wieder der Rücksprung zum Schleifenanfang statt. Syntax LOOP ENDLOOP Bedeutung Leitet die Endlosschleife ein. LOOP: Markiert das Ende der Schleife und bewirkt Rücksprung auf den ENDLOOP: Schleifenanfang.
  • Seite 110: Zählschleife (For

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.3 Zählschleife (FOR ... TO ..., ENDFOR) Funktion 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 ENDFOR:...
  • Seite 111: R-Parameter Als Zählvariable

    Flexible NC-Programmierung 1.12 Kontrollstrukturen Beispiele Beispiel 1: INTEGER-Variable oder R-Parameter als Zählvariable INTEGER-Variable als Zählvariable: Programmcode Kommentar DEF INT iVARIABLE1 R10=R12-R20*R1 R11=6 FOR iVARIABLE1= R10 TO R11 ; Zählvariable = INTEGER-Variable R20=R21*R22+R33 ENDFOR R-Parameter als Zählvariable: Programmcode Kommentar R11=6 FOR R10=R12-R20*R1 TO R11 ;...
  • Seite 112: Programmschleife Mit Bedingung Am Schleifenanfang (While, Endwhile)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.4 Programmschleife mit Bedingung am Schleifenanfang (WHILE, ENDWHILE) Funktion Bei einer WHILE-Schleife steht die Bedingung am Schleifenanfang. Solange die Bedingung erfüllt ist, wird die WHILE-Schleife durchlaufen. Syntax WHILE <Bedingung> ENDWHILE Bedeutung Leitet die Programmschleife ein. WHILE: Markiert das Ende der Schleife und bewirkt Rücksprung auf den ENDWHILE: Schleifenanfang.
  • Seite 113: Programmschleife Mit Bedingung Am Schleifenende (Repeat, Until)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.5 Programmschleife mit Bedingung am Schleifenende (REPEAT, UNTIL) Funktion 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 UNTIL:...
  • Seite 114: Programmbeispiel Mit Verschachtelten Kontrollstrukturen

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.6 Programmbeispiel mit verschachtelten Kontrollstrukturen Programmcode Kommentar LOOP IF NOT $P_SEARCH ; kein Satzsuchlauf G01 G90 X0 Z10 F1000 WHILE $AA_IM[X] <= 100 G1 G91 X10 F500 ; Bohrbild Z–F100 ENDWHILE ELSE MSG("Im Suchlauf wird nicht gebohrt") ENDIF $A_OUT[1] = 1 ;...
  • Seite 115: Programmkoordinierung (Init, Start, Waitm, Waitmc, Waite, Setm, Clearm)

    Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Funktion Kanäle Ein Kanal kann sein eigenes Programm, unabhängig von anderen Kanälen, abarbeiten. Damit sind die ihm zeitweise zugeordneten Achsen und Spindeln über das Programm steuerbar.
  • Seite 116: Angabe Mit Relativer Pfadangabe

    Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) • Angabe mit relativer Pfadangabe Bei relativer Pfadangabe gelten dieselben Beispiel: Regeln wie für Unterprogrammaufrufe. INIT(2,"ABRICHT") INIT(3,"UNTER_1_SPF") Bei Unterprogrammaufrufe muss "_SPF" im Programmnamen ergänzt werden. Parameter Zum Datenaustausch zwischen den Programmen können die Variablen benutzt werden, über die Kanäle gemeinsam verfügen (NCK-spezifische globale Variable).
  • Seite 117 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, CLEARM (Marker-Nr., Marker-Nr., Löschen der Marker "Marker-Nr." im eigenen Kanal, ohne Einfluss auf die laufende Bearbeitung. Alle Marker im Kanal können mit CLEARM() gelöscht werden. CLEARM (0) löscht den Marker "0". CLEARM() behält Gültigkeit über RESET und NC-START hinweg.
  • Seite 118: Beispiel Programmkoordinierung

    Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Beispiel Programmkoordinierung Kanal 1: _N_MPF100_MPF Programmcode Kommentar N10 INIT(2,"MPF200") N11 START(2) ; Bearbeiten im Kanal 2 N80 WAITM(1,1,2) ; Warten auf WAIT-Marke 1 im Kanal 1 und im Kanal 2 weiteres Bearbeiten in Kanal 1 N180 WAITM(2,1,2) ;...
  • Seite 119: Beispiel: Programm Aus Werkstück

    Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, Beispiel: Programm aus Werkstück Programmcode N10 INIT(2,"/_N_WKS_DIR/_N_WELLE1_WPD/_N_ABSPAN1_MPF") Beispiel: INIT-Befehl mit relativer Pfadangabe Im Kanal 1 ist das Programm /_N_MPF_DIR/_N_MAIN_MPF angewählt Programmcode Kommentar N10 INIT(2,"MYPROG") ; Programm /_N_MPF_DIR/_N_MYPROG_MPF in Kanal 2 anwählen Beispiel: Kanalname und Kanalnummer mit Integer Variable $MC_CHAN_NAME[0]= "CHAN_X"...
  • Seite 120: Interruptroutine (Asup)

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14 Interruptroutine (ASUP) 1.14.1 Funktion einer Interruptroutine Hinweis Die in der folgenden Beschreibung abwechselnd vorkommenden Begriffe "Asynchrones Unterprogramm (ASUP)" und "Interruptroutine" kennzeichnen die gleiche Funktionalität. Funktion Die Funktion einer Interruptroutine soll anhand eines typischen Beispiels verdeutlicht werden: Während der Bearbeitung bricht das Werkzeug.
  • Seite 121: Interruptroutine Erstellen

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Literatur Funktionshandbuch Grundfunktionen; BAG, Kanal, Programmbetrieb, Reset-Verhalten (K1), Kapitel: "Asynchrone Unterprogramme (ASUPs), Interruptroutinen" 1.14.2 Interruptroutine erstellen Interruptroutine als Unterprogramm erstellen Die Interruptroutine wird bei der Definition wie ein Unterprogramm gekennzeichnet. Beispiel: Programmcode Kommentar PROC ABHEB_Z ;...
  • Seite 122: Interruptroutine Zuordnen Und Starten (Setint, Prio, Blsync)

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.3 Interruptroutine zuordnen und starten (SETINT, PRIO, BLSYNC) Funktion Die Steuerung verfügt über Signale (Eingang 1…8), die eine Unterbrechung des laufenden Programms auslösen und eine entsprechende Interruptroutine starten können. Die Zuordnung, welcher Eingang welches Programm startet, erfolgt im Teileprogramm mit dem Befehl SETINT.
  • Seite 123 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Wenn die SETINT-Anweisung zusammen mit BLSYNC programmiert BLSYNC: wird, dann wird beim Eintreffen des Interruptsignals der laufende Programmsatz noch abgearbeitet und erst danach die Interruptroutine gestartet. Wenn die SETINT-Anweisung zusammen mit LIFTFAST programmiert LIFTFAST: wird, dann wird beim Eintreffen des Interruptsignals vor dem Start der Interruptroutine ein "Schnellabheben des Werkzeugs von der Kontur"...
  • Seite 124: Zuordnung Einer Interruptroutine Deaktivieren/Reaktivieren (Disable, Enable)

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.4 Zuordnung einer Interruptroutine deaktivieren/reaktivieren (DISABLE, ENABLE) Funktion 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 125: Zuordnung Einer Interruptroutine Löschen (Clrint)

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.5 Zuordnung einer Interruptroutine löschen (CLRINT) Funktion Eine mit SETINT definierte Zuordnung Eingang  →  Interruptroutine kann mit CLRINT gelöscht werden. Syntax CLRINT(<n>) Bedeutung Befehl: Löschen der Interruptroutinen-Zuordnung von Eingang <n> CLRINT(<n>): Parameter: Nummer des Eingangs <n>: Typ: Wertebereich:...
  • Seite 126: Schnellabheben Von Der Kontur (Setint Liftfast, Alf)

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.6 Schnellabheben von der Kontur (SETINT LIFTFAST, ALF) Funktion Bei einer SETINT-Anweisung mit LIFTFAST wird beim Schalten des Eingangs das Werkzeug durch schnelles Abheben von der Werkstückkontur weggefahren. Der weitere Ablauf ist davon abhängig, ob die SETINT-Anweisung neben LIFTFAST eine Interruptroutine enthält: Mit Interruptroutine: Nach dem Schnellabheben wird die Interruptroutine ausgeführt.
  • Seite 127 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Prioritätswert <Wert>: Wertebereich: 1 ... 128 Priorität 1 entspricht der höchsten Priorität. Name des Unterprogramms (Interruptroutine), das abgearbeitet werden <NAME>: soll. Befehl: Schnellabheben von der Kontur LIFTFAST: ALF=… : Befehl: Programmierbare Verfahrrichtung (steht im Bewegungssatz) Zu den Programmiermöglichkeiten mit ALF siehe Thema " Verfahrrichtung beim Schnellabheben von der Kontur [Seite 128] ".
  • Seite 128: Verfahrrichtung Beim Schnellabheben Von Der Kontur

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Unterprogramm: Unterprogramm Kommentar PROC W_WECHS SAVE ; Unterprogramm mit Speicherung des aktuellen Betriebszustandes N10 G0 Z100 M5 ; Werkzeugwechselposition, Spindelstopp N20 T11 M6 D1 G41 ; Werkzeug wechseln N30 REPOSL RMB M3 ; Kontur wiederanfahren und Rücksprung ins Hauptprogramm (wird in einem Satz programmiert) 1.14.7...
  • Seite 129 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 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 130 Flexible NC-Programmierung 1.14 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. Mit ALF=0 ist die Funktion "Schnellabheben" ausgeschaltet. VORSICHT Bei eingeschalteter Werkzeugradiuskorrektur sollten: •...
  • Seite 131: Bewegungsablauf Bei Interruptroutinen

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Code-Nummern mit Verfahrrichtungen bei LFWP Bei LFWP ergibt sich die Richtung in der Arbeitsebene nach folgender Zuordnung: • G17: X/Y-Ebene ALF=1: Rückzug in X-Richtung ALF=3: Rückzug in Y-Richtung • G18: Z/X-Ebene ALF=1: Rückzug in Z-Richtung ALF=3: Rückzug in X-Richtung •...
  • Seite 132: Achstausch, Spindeltausch (Release, Get, Getd)

    Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Funktion Eine oder mehrere Achsen bzw. Spindeln können immer nur in einem Kanal interpoliert werden. Muss eine Achse wechselweise in zwei verschiedenen Kanälen arbeiten (z. B. Palettenwechsler), so muss sie zunächst im aktuellen Kanal freigegeben und dann in den anderen Kanal übernommen werden.
  • Seite 133 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) GET-Anforderung ohne Vorlaufstopp Wird nach einer GET-Anforderung ohne Vorlaufstopp die Achse mit RELEASE(Achse) oder WAITP(Achse) wieder freigegeben, so führt ein nachfolgender GET zu einem GET mit Vorlaufstopp. VORSICHT Eine mit GET übernommene Achse bzw. Spindel bleibt auch nach einem Tasten- oder Programm-RESET diesem Kanal zugeordnet.
  • Seite 134: Beispiel 2: Achstausch Ohne Synchronisierung

    Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Beispiel 2: Achstausch ohne Synchronisierung Wenn die Achse nicht synchronisiert werden muss, wird durch GET kein Vorlaufstopp erzeugt. Programmierung Kommentar N01 G0 X0 N02 RELEASE(AX5) N03 G64 X10 N04 X20 N05 GET(AX5) ;...
  • Seite 135: Beschreibung

    Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Beschreibung Achse freigeben: RELEASE Bei der Achsfreigabe ist zu beachten: 1. Die Achse darf an keiner Transformation beteiligt sein. 2. Bei Achskopplungen (Tangentialsteuerung), müssen alle Achsen des Verbands freigegeben werden. 3. Eine konkurrierende Positionierachse kann in diesem Zustand nicht getauscht werden. 4.
  • Seite 136: Achstauschverhalten Veränderbar Einstellen

    Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Achstauschverhalten veränderbar einstellen Der Abgabezeitpunkt von Achsen lässt sich über ein Maschinendatum wie folgt einstellen: • Automatischer Achstausch findet zwischen zwei Kanälen auch dann statt, wenn die Achse durch WAITP in einen neutralen Zustand gebracht wurde (Verhalten wie bisher) •...
  • Seite 137: Achse Einem Anderen Kanal Übergeben (Axtochan)

    Flexible NC-Programmierung 1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) 1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) Funktion Mit dem Sprachbefehl AXTOCHAN kann eine Achse angefordert werden, um diese Achse einem anderen Kanal zu übergeben. Die Achse kann sowohl vom NC-Teileprogramm als auch aus einer Synchronaktion heraus in den entsprechenden Kanal gebracht werden.
  • Seite 138 Flexible NC-Programmierung 1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) Weitere Informationen AXTOCHAN im NC-Programm Dabei wird nur bei einer Anforderung der Achse für das NC-Programm im eigenen Kanal ein GET durchgeführt und damit auch auf die tatsächliche Zustandsänderung gewartet. Wird die Achse für einen anderen Kanal angefordert oder soll sie zur neutralen Achse im eigenen Kanal werden, dann nur wird die Anforderung entsprechend abgesetzt.
  • Seite 139: Maschinendaten Wirksam Setzen (Newconf)

    Flexible NC-Programmierung 1.17 Maschinendaten wirksam setzen (NEWCONF) 1.17 Maschinendaten wirksam setzen (NEWCONF) Funktion Mit dem Befehl NEWCONF werden alle Maschinendaten der Wirksamkeitsstufe "NEW_CONFIG" 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"...
  • Seite 140: Datei Schreiben (Write)

    Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) 1.18 Datei schreiben (WRITE) Funktion Mit dem WRITE-Befehl können Sätze/Daten aus dem NC-Programm an das Ende einer angegebenen Datei im passiven Filesystem (Protokolldatei) geschrieben werden. Dies kann auch das gerade in Abarbeitung befindliche Programm sein. Hinweis Eine per WRITE-Befehl zu beschreibende Datei wird neu angelegt, wenn sie nicht in der NC existiert.
  • Seite 141 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Bedeutung Befehl zum Anfügen eines Satzes bzw. von Daten an das Ende der WRITE: angegebenen Datei Parameter 1: Variable für die Rückgabe des Fehlerwerts <Fehler>: Typ. Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden Datei nicht gefunden falscher Dateityp Datei ist voll...
  • Seite 142 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Parameter 2: Name der Datei im passiven Filesystem, in der der <Dateiname>: angegebene Satz bzw. die angegebenen Daten angefügt werden sollen Typ: STRING Bei der Angabe des Dateinamens sind folgende Punkte zu beachten: • Der angegebene Dateiname darf keine Leer- oder Steuerzeichen (Zeichen mit ASCII-Code ≤...
  • Seite 143 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Hinweis Beim Schreiben ins passive Dateisystem des NCK fügt der WRITE-Befehl implizit ein "LF"- Zeichen (LINE FEED = neue Zeile) an das Ende des Ausgabestrings an. Für die Ausgabe auf ein externes Gerät/Datei gilt dieses Verhalten nicht. Soll ein "LF" mit ausgegeben werden, muss das explizit im Ausgabestring mit angegeben werden.
  • Seite 144: Ausgabeergebnis

    Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) 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...
  • Seite 145 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Ausgabeergebnis: MY_STRING MY_STRING Siehe auch Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) [Seite 710] Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 146: Datei Löschen (Delete)

    Flexible NC-Programmierung 1.19 Datei löschen (DELETE) 1.19 Datei löschen (DELETE) Funktion 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. Syntax DEF INT <Fehler>...
  • Seite 147 Flexible NC-Programmierung 1.19 Datei löschen (DELETE) Name der zu löschenden Datei <Dateiname>: Typ: STRING Bei der Angabe des Dateinamens sind folgende Punkte zu beachten: • Der angegebene Dateiname darf keine Leer- oder Steuerzeichen (Zeichen mit ASCII-Code ≤  32) enthalten, da sonst der DELETE- Befehl mit Fehlerkennung 1 "Pfad nicht erlaubt"...
  • Seite 148: Zeilen In Datei Lesen (Read)

    Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) 1.20 Zeilen in Datei lesen (READ) Funktion Der READ-Befehl liest in der angegebenen Datei eine oder mehrere Zeilen und legt die gelesenen Informationen in einem Feld vom Typ STRING ab. Jede gelesene Zeile belegt in diesem Feld ein Feldelement.
  • Seite 149 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) Bedeutung Befehl zum Lesen von Zeilen der angegebenen Datei und zur Ablage READ: dieser Zeilen in einem Variablenfeld. Variable für die Rückgabe des Fehlerwerts (Call-By-Reference- <Fehler>: Parameter) Typ. Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden Datei nicht gefunden falscher Dateityp...
  • Seite 150 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) Name der zu lesenden Datei (Call-By-Value-Parameter) <Dateiname>: Typ: STRING Bei der Angabe des Dateinamens sind folgende Punkte zu beachten: • Der angegebene Dateiname darf keine Leer- oder Steuerzeichen (Zeichen mit ASCII-Code ≤ 32) enthalten, da sonst der READ- Befehl mit Fehlerkennung 1 "Pfad nicht erlaubt"...
  • Seite 151 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) Ergebnisvariable (Call-By-Reference-Parameter) <Ergebnis>: Variablenfeld, in dem der gelesene Text abgelegt wird. Typ: STRING (max. Länge: 255) Wenn im Parameter <Zeilenanzahl> weniger Zeilen angegeben sind als die Feldgröße [<n>,<m>] der Ergebnisvariablen beträgt, dann werden die restlichen Feldelemente nicht verändert. Der Abschluss einer Zeile durch die Steuerzeichen "LF"...
  • Seite 152: Vorhandensein Einer Datei Prüfen (Isfile)

    Flexible NC-Programmierung 1.21 Vorhandensein einer Datei prüfen (ISFILE) 1.21 Vorhandensein einer Datei prüfen (ISFILE) Funktion Mit dem ISFILE-Befehl kann geprüft werden, ob eine Datei im statischen Anwenderspeicher des NCK (passives Filesystem) existiert. Syntax <Ergebnis>=ISFILE("<Dateiname>") Bedeutung Befehl zur Prüfung, ob die angegebene Datei im passiven Filesystem ISFILE: existiert.
  • Seite 153 Flexible NC-Programmierung 1.21 Vorhandensein einer Datei prüfen (ISFILE) Ergebnisvariable zur Aufnahme des Prüfergebnisses <Ergebnis>: Typ. BOOL Wert: TRUE Datei vorhanden FALSE Datei nicht vorhanden Beispiel Programmcode Kommentar N10 DEF BOOL RESULT ; Definition der Ergebnisvariablen. N20 RESULT=ISFILE("TESTFILE") N30 IF(RESULT==FALSE) N40 MSG("DATEI NICHT VORHANDEN") N50 M0 N60 ENDIF oder:...
  • Seite 154: Datei-Informationen Auslesen (Filedate, Filetime, Filesize, Filestat, Fileinfo)

    Flexible NC-Programmierung 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) Funktion Über die Befehle FILEDATE, FILETIME, FILESIZE, FILESTAT und FILEINFO können bestimmte Datei-Informationen wie Datum / Uhrzeit des letzten schreibenden Zugriffs, aktuelle Dateigröße, Datei-Status oder die Summe dieser Informationen ausgelesen werden. Hinweis Die Datei muss sich im statischen Anwenderspeicher des NCK (Passives Filesystem) befinden.
  • Seite 155 Flexible NC-Programmierung 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, Der Befehl FILEINFO liefert für die angegebene Datei die Summe FILEINFO: der Datei-Informationen, die über FILEDATE, FILETIME, FILESIZE und FILESTAT auslesbar sind. Variable für die Rückgabe des Fehlerwerts (Call-By-Reference- <Fehler>: Parameter) Typ. Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden...
  • Seite 156 Flexible NC-Programmierung 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) Name der Datei, von der Datei-Information(en) ausgelesen werden <Dateiname>: soll(en). Typ: STRING Bei der Angabe des Dateinamens sind folgende Punkte zu beachten: • Der angegebene Dateiname darf keine Leer- oder Steuerzeichen (Zeichen mit ASCII-Code ≤...
  • Seite 157 Flexible NC-Programmierung 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, Ergebnisvariable (Call-By-Reference-Parameter) <Ergebnis>: Variable, in der die angeforderte Datei-Information abgelegt wird. Typ: STRING bei: FILEDATE Format: "dd.mm.yy" ⇒ Stringlänge muss 8 sein. FILETIME Format: " hh:mm.ss " ⇒ Stringlänge muss 8 sein. FILESTAT Format: "rwxsd"...
  • Seite 158: Checksummenberechnung Über Ein Feld (Checksum)

    Flexible NC-Programmierung 1.23 Checksummenberechnung über ein Feld (CHECKSUM) 1.23 Checksummenberechnung über ein Feld (CHECKSUM) Funktion Mit dem Befehl CHECKSUM kann die Checksumme über ein Feld berechnet werden. Durch den Vergleich dieser Checksumme mit dem Ergebnis einer früheren Checksummenberechnung kann festgestellt werden, ob sich die Daten des Feldes verändert haben.
  • Seite 159 Flexible NC-Programmierung 1.23 Checksummenberechnung über ein Feld (CHECKSUM) Name des Feldes, über das die Checksumme gebildet werden soll <Feld>: (Call-By-Value-Parameter) Typ: STRING Max. Stringlänge: Zulässige Felder sind 1- bis 3-dimensionale Felder der Typen: BOOL, CHAR, INT, REAL, STRING Hinweis: Felder von Maschinendaten sind nicht zulässig. Nummer der Anfangsspalte des Feldes für die Berechnung der <Anfangsspalte>: Checksumme (optionaler Parameter)
  • Seite 160: Aufrunden (Roundup)

    Flexible NC-Programmierung 1.24 Aufrunden (ROUNDUP) 1.24 Aufrunden (ROUNDUP) Funktion Mit der Funktion "ROUNDUP" können Eingabewerte vom Typ REAL (gebrochene Zahlen mit Dezimalpunkt) auf die nächste größere ganze Zahl aufgerundet werden. Syntax ROUNDUP(<Wert>) Bedeutung Befehl zum Aufrunden eines Eingabewerts ROUNDUP: Eingabewert vom Typ REAL <Wert>: Hinweis Eingabewerte vom Typ INTEGER (eine ganze Zahl) werden unverändert zurückgeliefert.
  • Seite 161: Unterprogrammtechnik

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25 Unterprogrammtechnik 1.25.1 Allgemeines 1.25.1.1 Unterprogramm Funktion Die Bezeichnung "Unterprogramm" stammt noch aus der Zeit, als Teileprogramme fest in Haupt- und Unterprogramme unterteilt waren. Hauptprogramme waren dabei die Teileprogramme, die an der Steuerung zum Abarbeiten angewählt und dann gestartet wurden.
  • Seite 162: Anwendung

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Anwendung Wie in allen höheren Programmiersprachen werden auch in der NC-Sprache Unterprogramme dazu angewandt, um Programmteile, die mehrfach verwendet werden, in eigenständige, in sich abgeschlossene Programme auszulagern. Unterprogrammen bieten folgende Vorteile: • Erhöhen die Übersichtlichkeit und Lesbarkeit der Programme •...
  • Seite 163: Verwendung Des Programmnamens

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Verwendung des Programmnamens Bei der Verwendung des Programmnamens, z. B. bei einem Unterprogrammaufruf, sind alle Kombinationen von Prefix, Programmnamen und Postfix möglich. Beispiel: Das Unterprogramm mit dem Programmnamen "SUB_PROG" kann über folgende Aufrufe gestartet werden: 1. SUB_PROG 2.
  • Seite 164: Suchpfad

    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 165: Formal- Und Aktualparameter

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.1.5 Formal- und Aktualparameter Von Formal- und Aktualparameter spricht man im Zusammenhang mit der Definition und dem Aufruf von Unterprogrammen mit Parameterübergabe. Formalparameter Bei der Definition eines Unterprogramms müssen die dem Unterprogramm zu übergebenden Parameter, die sogenannten Formalparameter, mit Typ und Parameternamen definiert werden.
  • Seite 166: Definition Eines Unterprogramms Mit Parameterübergabe

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.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. Unvollständige Parameterübergabe Beim Aufruf des Unterprogramms müssen nicht immer alle in der Unterprogrammschnittstelle definierten Parameter explizit übergeben werden.
  • Seite 167: Überprüfung Der Übergabeparameter

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik VORSICHT Parameterübergabe Call-by-Reference Parameter, die über Call-by-Reference übergeben werden, dürfen beim Unterprogramm- Aufruf nicht weggelassen werden. VORSICHT 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 168: Definition Eines Unterprogramms

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2 Definition eines Unterprogramms 1.25.2.1 Unterprogramm ohne Parameterübergabe Funktion Bei der Definition von Unterprogrammen ohne Parameterübergabe kann die Definitionszeile am Programmanfang entfallen. Syntax [PROC <Programmname>] Bedeutung Definitionsanweisung am Anfang eines Programms PROC: Name des Programms <Programmname>: Beispiel Beispiel 1: Unterprogramm mit PROC-Anweisung Programmcode...
  • Seite 169: Unterprogramm Mit Parameterübergabe Call-By-Value (Proc)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.2 Unterprogramm mit Parameterübergabe Call-by-Value (PROC) Funktion Die Definition eines Unterprogramms mit Parameterübergabe Call-by-Value erfolgt mit dem Schlüsselwort PROC, gefolgt vom Programmnamen und einer vollständigen Auflistung aller vom Unterprogramm erwarteten Parameter mit Typ und Namen. Die Definitionsanweisung muss in der ersten Programmzeile stehen.
  • Seite 170: Unterprogramm Mit Parameterübergabe Call-By-Reference (Proc, Var)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Definition eines Unterprogramms mit 2 Parametern vom Typ REAL: Programmcode Kommentar PROC SUB_PROG (REAL LAENGE, REAL BREITE) ; Parameter 1: Typ: REAL, Name: LAENGE Parameter 2: Typ: REAL, Name: BREITE N100 RET ; Unterprogrammrücksprung 1.25.2.3 Unterprogramm mit Parameterübergabe Call-by-Reference (PROC, VAR) Funktion Die Definition eines Unterprogramms mit Parameterübergabe Call-by-Reference erfolgt mit...
  • Seite 171 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hinweis Eine Parameterübergabe Call-by-Reference ist nur dann erforderlich, wenn die übergebene Variable im aufrufenden Programm definiert wurde (LUD). Kanal-globale oder NC-globale Variablen müssen nicht übergeben werden, da auf diese auch direkt vom Unterprogramm aus zugegriffen werden kann. Syntax PROC <Programmname>...
  • Seite 172: Modale G-Funktionen Sichern (Save)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Definition eines Unterprogramms mit 2 Parameter als Referenz auf Typ REAL: Programmcode Kommentar PROC SUB_PROG(VAR REAL LAENGE, VAR REAL BREITE) ; Parameter 1: Referenz auf Typ: REAL, Name: LAENGE Parameter 2: Referenz auf Typ: REAL, Name: BREITE N100 RET 1.25.2.4...
  • Seite 173: Einzelsatzbearbeitung Unterdrücken (Sblof, Sblon)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hauptprogramm: Programmcode Kommentar N10 G0 X... Y... G90 ; Modale G-Funktion G90: Absolutmaß N20 ... N50 KONTUR (12.4) ; Unterprogrammaufruf N60 X... Y... ; Modale G-Funktion G90 durch SAVE reaktiviert Randbedingungen Frames Das Verhalten von Frames bezüglich Unterprogrammen mit dem Attribut SAVE ist abhängig vom Typ des Frames und kann über Maschinendaten eingestellt werden.
  • Seite 174 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax Einzelsatzunterdrückung für das gesamte Programm: PROC ... SBLOF Einzelsatzunterdrückung innerhalb des Programms: SBLOF SBLON Bedeutung Erste Anweisung eines Programms PROC: Befehl zum Ausschalten der Einzelsatzbearbeitung SBLOF: SBLOF kann in einem PROC-Satz oder allein im Satz stehen. Befehl zum Einschalten der Einzelsatzbearbeitung SBLON: SBLON muss in einem eigenen Satz stehen.
  • Seite 175: Beispiele

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiele Beispiel 1: Einzelsatzunterdrückung innerhalb eines Programms Programmcode Kommentar N10 G1 X100 F1000 N20 SBLOF ; Einzelsatz ausschalten N30 Y20 N40 M100 N50 R10=90 N60 SBLON ; Einzelsatz 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 Hauptprogramm: Programmcode...
  • Seite 176 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 3: Ein von der PLC gestartetes ASUP zum Aktivieren von geänderten Nullpunktverschiebung und Werkzeugkorrekturen soll nicht sichtbar sein. Programmcode N100 PROC NV SBLOF DISPLOF N110 CASE $P_UIFRNUM OF 0 GOTOF _G500 1 GOTOF _G54 2 GOTOF _G55 3 GOTOF _G56 4 GOTOF _G57 DEFAULT GOTOF END...
  • Seite 177 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Programmcode Kommentar N140 SBLOF N150 R0 = 2 Beispiel 5: Einzelsatzunterdrückung bei Programmschachtelung Ausgangssituation: Einzelsatzbearbeitung ist aktiv. Programmverschachtelung: Programmcode Kommentar N10 X0 F1000 ; In diesem Satz wird gestoppt. N20 UP1(0) PROC UP1(INT _NR) SBLOF ; Einzelsatz-Stopp unterdrücken. N100 X10 N110 UP2(0) PROC UP2(INT _NR)
  • Seite 178: Weitere Informationen

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Weitere Informationen Einzelsatzsperre für asynchrone Unterprogramme Um ein ASUP im Einzelsatz in einem Schritt abzuarbeiten, muss im ASUP eine PROC- Anweisung mit SBLOF programmiert werden. Dies gilt auch für die Funktion "Editierbares System-ASUP" (MD11610 $MN_ASUP_EDITABLE). Beispiel für ein editierbares System-ASUP: Programmcode Kommentar N10 PROC ASUP1 SBLOF DISPLOF...
  • Seite 179: Aktuelle Satzanzeige Unterdrücken (Displof, Displon, Actblocno)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.6 Aktuelle Satzanzeige unterdrücken (DISPLOF, DISPLON, ACTBLOCNO) Funktion In der Satzanzeige wird standardmäßig der aktuelle Programmsatz angezeigt. In Zyklen bzw. Unterprogrammen kann die Anzeige des aktuellen Satzes mit dem Befehl DISPLOF unterdrückt werden. Anstelle des aktuellen Satzes wird dann der Aufruf des Zyklus bzw. Unterprogramms angezeigt.
  • Seite 180 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Befehl zum Aufheben der Unterdrückung der aktuellen Satzanzeige DISPLON: Platzierung: Am Ende der Programmzeile mit der PROC-Anweisung Wirksamkeit Bis zum Rücksprung aus dem Unterprogramm oder Programmende. Hinweis: Wenn aus dem Unterprogramm mit dem DISPLON-Befehl weitere Unterprogramme aufgerufen werden, dann wird auch in diesen Unterprogrammen der aktuelle Programmsatz angezeigt, sofern in diesen nicht explizit DISPLOF programmiert ist.
  • Seite 181: Unterprogramm Subprog2 (Ohne Actblocno)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 2: Satzanzeige bei der Alarmausgabe Unterprogramm SUBPROG1 (mit ACTBLOCNO): Programmcode Kommentar PROC SUBPROG1 DISPLOF ACTBLOCNO N8000 R10 = R33 + R44 N9040 R10 = 66 X100 ; Alarm 12080 auslösen N10000 M17 Unterprogramm SUBPROG2 (ohne ACTBLOCNO): Programmcode Kommentar PROC SUBPROG2 DISPLOF...
  • Seite 182: Unterprogramm Sub2 Ohne Unterdrückung

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 3: Unterdrückung der aktuellen Satzanzeige aufheben Unterprogramm SUB1 mit Unterdrückung: Programmcode Kommentar PROC SUB1 DISPLOF ; Aktuelle Satzanzeige im Unterprogramm SUB1 unterdrücken. Stattdessen soll der Satz mit dem SUB1-Aufruf angezeigt werden. N300 SUB2 ; Unterprogramm SUB2 aufrufen. N500 M17 Unterprogramm SUB2 ohne Unterdrückung: Programmcode...
  • Seite 183: Unterprogramme Mit Vorbereitung Kennzeichnen (Prepro)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.7 Unterprogramme mit Vorbereitung kennzeichnen (PREPRO) Funktion Mit dem Schlüsselwort PREPRO können im Hochlauf am Ende der PROC-Anweisungszeile alle Dateien gekennzeichnet werden. Hinweis Diese Art der Programmvorbereitung ist vom entsprechend eingestellten Maschinendatum abhängig. Bitte Angaben des Maschinenherstellers beachten. Literatur: Funktionshandbuch Sonderfunktionen;...
  • Seite 184: Unterprogrammrücksprung M17

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.8 Unterprogrammrücksprung M17 Funktion Am Ende eines Unterprogramms steht der Rücksprung-Befehl M17 (bzw. der Teileprogrammende-Befehl M30). Er bewirkt den Rücksprung in das aufrufende Programm auf den Teileprogrammsatz nach dem Unterprogrammaufruf. Hinweis M17 und M30 werden in der NC-Sprache gleichwertig behandelt. Syntax PROC <Programmname>...
  • Seite 185: Unterprogrammrücksprung Ret

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.9 Unterprogrammrücksprung RET Funktion Als Ersatz für den Rücksprungsbefehl M17 kann im Unterprogramm auch der Befehl RET verwendet werden. RET muss in einem eigenen Teileprogrammsatz programmiert werden. Wie M17 bewirkt RET den Rücksprung in das aufrufende Programm auf den Teileprogrammsatz nach dem Unterprogrammaufruf.
  • Seite 186: 10Parametrierbarer Unterprogrammrücksprung (Ret

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Unterprogramm: Programmcode Kommentar PROC SUB_PROG N100 RET ; Rücksprung erfolgt auf Satz N60 im Hauptprogramm. 1.25.2.10 Parametrierbarer Unterprogrammrücksprung (RET ...) Funktion Im Allgemeinen wird aus einem Unterprogramm mit einem Unterprogrammende RET oder M17 in das Programm zurückgesprungen, aus dem das Unterprogramm aufgerufen wurde, und die Bearbeitung wird mit der auf den Unterprogrammaufruf folgenden Programmzeile fortgesetzt.
  • Seite 187 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Bedeutung Unterprogrammende (Verwendung statt M17) RET: Rücksprungsparameter 1 <Zielsatz>: Nennt als Sprungziel den Satz, an dem die Programmbearbeitung fortgesetzt werden soll. Wenn Rücksprungsparameter 3 nicht programmiert ist, dann befindet sich das Sprungziel in dem Programm, aus dem das aktuelle Unterprogramm aufgerufen wurde.
  • Seite 188 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Rücksprungsparameter 3 <Anzahl der Nennt die Anzahl an Ebenen, die zurückgesprungen Rücksprungebenen>: werden soll, um zu der Programmebene zu gelangen, in der die Programmbearbeitung fortgesetzt werden soll. Typ: Wert: Das Programm wird in der "aktuellen Programmebene - 1" fortgesetzt (wie RET ohne Parameter).
  • Seite 189: Beispiel 1: Wiederaufsetzen Im Hauptprogramm Nach Asup-Bearbeitung

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiele Beispiel 1: Wiederaufsetzen im Hauptprogramm nach ASUP-Bearbeitung Programmierung Kommentar N10010 CALL "UP1" ; Programmebene 0 (Hauptprogramm) N11000 PROC UP1 ; Programmebene 1 N11010 CALL "UP2" N12000 PROC UP2 ; Programmebene 2 N19000 PROC ASUP ; Programmebene 3 (ASUP-Bearbeitung) N19100 RET("N10900", ,$P_STACK) ;...
  • Seite 190: Unterprogramm Subprog1

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Unterprogramm subProg1: Programmcode Kommentar PROC subProg1 N2000 R10=R20+100 N2010 ... N2200 RET("subProg2") ; Rücksprung ins Hauptprogramm auf den Satz N1400 Unterprogramm subProg2: Programmcode Kommentar PROC subProg2 N2000 R10=R20+100 N2010 ... N2200 RET("iVar1") ; Rücksprung ins Hauptprogramm auf den Satz N1500 Unterprogramm subProg3: Programmcode Kommentar...
  • Seite 191: Weitere Informationen

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Weitere Informationen Die folgenden Grafiken sollen die unterschiedlichen Wirkungen der Rücksprungsparameter 1 bis 3 veranschaulichen. 1. Rücksprungsparameter 1 = "N200", Rücksprungsparameter 2 = 0 Nach dem RET-Befehl wird die Programmbearbeitung mit dem Satz N200 im Hauptprogramm fortgesetzt. 2. Rücksprungsparameter 1 = "N200", Rücksprungsparameter 2 = 1 Nach dem RET-Befehl wird die Programmbearbeitung mit dem Satz (N210) fortgesetzt, der auf den Satz N200 im Hauptprogramm folgt.
  • Seite 192 Flexible NC-Programmierung 1.25 Unterprogrammtechnik 3. Rücksprungsparameter 1 = "N220", Rücksprungsparameter 3 = 2 Nach dem RET-Befehl wird zwei Programmebenen zurückgesprungen und die Programmbearbeitung wird mit dem Satz N220 fortgesetzt. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 193: Aufruf Eines Unterprogramms

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3 Aufruf eines Unterprogramms 1.25.3.1 Unterprogrammaufruf ohne Parameterübergabe Funktion Der Aufruf eines Unterprogramms erfolgt entweder mit Adresse L und Unterprogrammnummer oder durch Angabe des Programmnamens. 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.
  • Seite 194 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiele Beispiel 1: Aufruf eines Unterprogramms ohne Parameterübergabe Beispiel 2: Aufruf eines Hauptprogramms als Unterprogramm Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 195: Unterprogrammaufruf Mit Parameterübergabe (Extern)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.2 Unterprogrammaufruf mit Parameterübergabe (EXTERN) Funktion Beim Unterprogrammaufruf mit Parameterübergabe können Variablen oder Werte direkt übergeben werden (nicht bei VAR-Parametern). Unterprogramme mit Parameterübergabe müssen vor dem Aufruf im Hauptprogramm mit EXTERN bekannt gemacht werden (z. B. am Programmanfang). Angegeben werden dabei der Name des Unterprogramms und die Variablentypen in der Reihenfolge der Übergabe.
  • Seite 196: Beispiel 1: Unterprogrammaufruf Mit Vorhergehender Bekanntmachung

    Flexible NC-Programmierung 1.25 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 Parameterübergabe. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 197: Anzahl Der Programmwiederholungen (P)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 2: Unterprogrammaufruf ohne Bekanntmachung Programmcode Kommentar N10 DEF REAL LAENGE, BREITE, TIEFE N20 … N30 LAENGE=15.3 BREITE=20.2 TIEFE=5 N40 RAHMEN(LAENGE,BREITE,TIEFE) ; oder: N40 RAHMEN(15.3,20.2,5) 1.25.3.3 Anzahl der Programmwiederholungen (P) Funktion 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 198 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax <Programmname> P<Wert> Bedeutung Unterprogrammaufruf <Programmname>: Adresse für die Programmierung von Programmwiederholungen Anzahl der Programmwiederholungen <Wert>: Typ: Wertebereich: 1 … 9999 (ohne Vorzeichen) Beispiel Programmcode Kommentar N40 RAHMEN P3 ; Das Unterprogramm RAHMEN soll dreimal hintereinander abgearbeitet werden.
  • Seite 199: Modaler Unterprogrammaufruf (Mcall)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.4 Modaler Unterprogrammaufruf (MCALL) Funktion Bei einem modalen Unterprogrammaufruf mit MCALL wird das Unterprogramm nach jedem Satz mit Bahnbewegung automatisch aufgerufen und abgearbeitet. Hierdurch lässt sich der Aufruf von Unterprogrammen automatisieren, die an unterschiedlichen Werkstückpositionen abgearbeitet werden sollen (zum Beispiel für die Herstellung von Bohrbildern). Das Ausschalten der Funktion erfolgt mit MCALL ohne Unterprogrammaufruf oder durch Programmierung eines neuen modalen Unterprogrammaufrufs für ein neues Unterprogramm.
  • Seite 200 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 2: Programmcode N10 G0 X0 Y0 N20 MCALL L70 N30 L80 In diesem Beispiel stehen die nachfolgenden NC-Sätze mit programmierten Bahnachsen in Unterprogramm L80. L70 wird durch L80 aufgerufen. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 201: Indirekter Unterprogrammaufruf (Call)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.5 Indirekter Unterprogrammaufruf (CALL) Funktion In Abhängigkeit von den gegebenen Bedingungen können an einer Stelle unterschiedliche Unterprogramme aufgerufen werden. Hierzu wird der Name des Unterprogramms in einer Variablen vom Typ STRING hinterlegt. Der Unterprogrammaufruf erfolgt mit CALL und dem Variablennamen.
  • Seite 202: Indirekter Unterprogrammaufruf Mit Angabe Des Auszuführenden Programmteils (Call Block

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.6 Indirekter Unterprogrammaufruf mit Angabe des auszuführenden Programmteils (CALL BLOCK ... TO ...) Funktion Mit CALL und der Schlüsselwortkombination BLOCK ... TO wird ein Unterprogramm indirekt aufgerufen und der mit Start- und Endmarke gekennzeichnete Programmteil ausgeführt. Syntax CALL <Programmname>...
  • Seite 203: 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 siehe: Literatur:...
  • Seite 204 N1010 G1 X10 Z20 N1020 X30 R5 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 bearbeiten...
  • Seite 205: Unterprogramm Mit Pfadangabe Und Parametern Aufrufen (Pcall)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.8 Unterprogramm mit Pfadangabe und Parametern aufrufen (PCALL) Funktion Mit PCALL können Unterprogramme mit absoluter Pfadangabe und Parameterübergabe aufgerufen werden. Syntax PCALL <Pfad/Programmname>(<Parameter 1>,…,<Parameter n>) Bedeutung Schlüsselwort für Unterprogrammaufruf mit absoluter PCALL: Pfadangabe. Absolute Pfadangabe beginnend mit "/", einschließlich <Pfad/Programmname>: Unterprogrammnamen.
  • Seite 206: Suchpfad Bei Unterprogrammaufrufen Erweitern (Callpath)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.9 Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH) Funktion 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.
  • Seite 207 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Programmcode CALLPATH("/_N_WKS_DIR/_N_MYWPD_WPD") Damit wird folgender Suchpfad eingestellt (Position 5. ist neu): 1. Aktuelles Directory/unterprogrammbezeichner 2. Aktuelles Directory/unterprogrammbezeichner_SPF 3. Aktuelles Directory/unterprogrammbezeichner_MPF 4. /_N_SPF_DIR/unterprogrammbezeichner_SPF 5. /_N_WKS_DIR/_N_MYWPD/unterprogrammbezeichner_SPF 6. /N_CUS_DIR/_N_MYWPD/unterprogrammbezeichner_SPF 7. /_N_CMA_DIR/unterprogrammbezeichner_SPF 8. /_N_CST_DIR/unterprogrammbezeichner_SPF Randbedingungen • CALLPATH prüft, ob der programmierte Pfadname tatsächlich vorhanden ist. Im Fehlerfall wird die Teileprogrammbearbeitung mit Korrektursatz-Alarm 14009 abgebrochen.
  • Seite 208: 10Externes Unterprogramm Abarbeiten (Extcall)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.10 Externes Unterprogramm abarbeiten (EXTCALL) Funktion Mit dem Befehl EXTCALL ist es möglich, ein Teileprogramm von einem externen Speicher (Lokales Laufwerk, Netzlaufwerk, USB-Laufwerk) nachzuladen und als Unterprogramm abzuarbeiten. Der Pfad zum externen Programmverzeichnis kann voreingestellt werden mit dem Settingdatum: SD42700 $SC_EXT_PROG_PATH Zusammen mit dem beim EXTCALL-Aufruf angegebenen Programmpfad bzw.
  • Seite 209 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hinweis Pfadangabe: Kurzbezeichnungen Bei der Pfadangabe können folgende Kurzbezeichnungen verwendet werden: • LOCAL_DRIVE: für lokales Laufwerk • CF_CARD: für CompactFlash-Card • USB: für USB Front-Anschluss CF_CARD: und LOCAL_DRIVE: sind alternativ verwendbar. Hinweis Abarbeiten von Extern über USB-Laufwerk Sollen externe Teileprogramme von einem externen USB-Laufwerk über USB-Schnittstelle übertragen werden, so darf hierfür nur die Schnittstelle über X203 mit dem Namen "TCU_1"...
  • Seite 210: Weitere Informationen

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Das Hauptprogramm "MAIN.MPF" befindet sich im NC-Speicher und ist zur Abarbeitung angewählt. Das nachzuladende Unterprogramm "SCHRUPPEN.SPF" bzw. "SCHRUPPEN.MPF" befindet sich auf dem lokalen Laufwerk in dem Verzeichnis "/user/sinumerik/data/prog/ WKS.DIR/WST1.WPD". Der Pfad zu dem Unterprogramm ist im SD42700 voreingestellt: SD42700 $SC_EXT_PROG_PATH = "LOCAL_DRIVE:WKS.DIR/WST1.WPD"...
  • Seite 211 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Einstellbarer Nachladespeicher (FIFO-Puffer) Für die Bearbeitung eines Programms im Modus "Abarbeiten von Extern" (Hauptprogramm oder Unterprogramm) wird im NCK ein Nachladespeicher benötigt. Die Größe des Nachladespeichers ist mit 30 kByte voreingestellt und kann wie weitere speicherrelevante Maschinendaten nur vom Maschinenhersteller bedarfsorientiert verändert werden.
  • Seite 212: Zyklen

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.4 Zyklen 1.25.4.1 Anwenderzyklen parametrieren Funktion Mit den Dateien cov.com und uc.com können eigene Zyklen parametriert werden: cov.com Übersicht über die Zyklen uc.com Zyklenaufrufbeschreibung Die Datei cov.com wird mit den Standardzyklen geliefert und ist entsprechend zu erweitern. Die Datei uc.com ist vom Anwender selbst zu erstellen.
  • Seite 213 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Anwenderzyklenbeschreibung in der Datei uc.com Kopfzeile pro Zyklus: Wie in der Datei cov.com mit vorgesetztem "//": //C <Nummer> (<Zyklusname>) <Kommentar> Beispiel: //C25 (MEIN_ZYKLUS_1) Anwenderzyklus_ Beschreibungszeile pro Parameter: (<Datentypkennung> / <Minimalwert> <Maximalwert> / <Vorbelegungswert> /<Kommentar>) mit: R: für Real <Datentypkennung>: I: für Integer C: für Character (1 Zeichen)
  • Seite 214 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Für die folgenden beiden Zyklen soll eine Zyklenparametrierung neu erstellt werden: PROC MEIN_ZYKLUS_1 (REAL PAR1, INT PAR2, CHAR PAR3, STRING[10] PAR4) Der Zyklus hat folgende Übergabeparameter: PAR1: ; Real-Wert im Bereich von -1000.001 <= PAR2 <= 123.456, Vorbelegung mit 100 PAR2: ;...
  • Seite 215 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Anzeigemaske für Zyklus MEIN_ZYKLUS_1 Anzeigemaske für Zyklus SPEZIALZYKLUS Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 216: Makrotechnik (Define

    Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) 1.26 Makrotechnik (DEFINE ... AS) VORSICHT Mit Makrotechnik kann die Programmiersprache der Steuerung stark verändert werden! Setzen Sie deshalb die Makrotechnik mit großer Sorgfalt ein! Funktion Als Makro bezeichnet man die Zusammenfassung von einzelnen Anweisungen zu einer neuen Gesamtanweisung mit eigenem Namen.
  • Seite 217: Regeln Zur Makro-Definition

    Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Regeln zur Makro-Definition • Im Makro können beliebige Bezeichner, G-, M-, H-Funktionen und L-Programmnamen definiert werden. • Makros können auch im NC-Programm definiert werden. • G-Funktions-Makros können nur steuerungsglobal im Makrobaustein definiert werden. •...
  • Seite 218: Beispiel 3: Externe Makrodatei

    Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Beispiel 3: Externe Makrodatei Nach dem Einlesen der externen Makrodatei in die Steuerung muss die Makrodatei in die NC geladen werden. Erst dann können die Makros im NC-Programm verwendet werden. Programmcode Kommentar %_N_UMAC_DEF ;$PATH=/_N_DEF_DIR ;...
  • Seite 219: Datei- Und Programmverwaltung

    Datei- und Programmverwaltung Programmspeicher Funktion Im Programmspeicher werden Dateien und Programme (z. B. Haupt- und Unterprogramme, Makro-Definitionen) persistent gespeichert ( → Passives Filesystem). Literatur: Funktionshandbuch Erweiterungsfunktionen; Speicherkonfiguration (S7) Daneben gibt es eine Anzahl von Dateitypen, die hier zwischengespeichert werden können und bei Bedarf (z. B. bei Bearbeitung eines bestimmten Werkstückes) in den Arbeitsspeicher zu übertragen sind (z. B.
  • Seite 220: Dateitypen

    Datei- und Programmverwaltung 2.1 Programmspeicher 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 Dateitypen Im Programmspeicher können folgende Dateitypen eingebracht werden: Dateityp Beschreibung name_MPF...
  • Seite 221: Werkstückverzeichnisse Am Externen Pc Anlegen

    Datei- und Programmverwaltung 2.1 Programmspeicher Werkstückverzeichnisse ( ..._WPD) Für eine flexiblere Handhabung von Daten und Programmen können bestimmte Daten und Programme gebündelt oder in einzelnen Werkstückverzeichnissen abgelegt werden. Ein Werkstückverzeichnis enthält alle Dateien, die zum Bearbeiten eines Werkstückes notwendig sind. Dies können Hauptprogramme, Unterprogramme, beliebige Initialisierungs- Programme und Kommentar-Dateien sein.
  • Seite 222: Suchpfade Beim Unterprogrammaufruf

    Datei- und Programmverwaltung 2.1 Programmspeicher Werkstückverzeichnis anlegen ohne Pfadangabe Fehlt die Pfadangabe, so werden Dateien mit der Endung _SPF im Verzeichnis / _N_SPF_DIR, Dateien mit der Endung _INI im Arbeitsspeicher und alle übrigen Dateien im Verzeichnis /_N_MPF_DIR abgelegt. Beispiel: Programmcode %_N_WELLE_SPF Die Datei _N_WELLE_SPF wird im Verzeichnis /_N_SPF_DIR abgelegt.
  • Seite 223: Suchpfade Beim Unterprogrammaufruf Programmieren (Callpath)

    Datei- und Programmverwaltung 2.1 Programmspeicher Die Verzeichnisse werden nach dem aufgerufenen Programm in der folgenden Reihenfolge durchsucht: Verzeichnis Beschreibung name aktuelles Directory / Werkstück-Hauptverzeichnis oder Standard- Verzeichnis _N_MPF_DIR name_SPF aktuelles Directory / name_MPF aktuelles Directory / name_SPF /_N_SPF_DIR / Globale Unterprogramme name_SPF /_N_CUS_DIR / Anwender-Zyklen...
  • Seite 224: Arbeitsspeicher (Chandata, Complete, Initial)

    Datei- und Programmverwaltung 2.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Funktion Der Arbeitsspeicher enthält die aktuellen System- und Anwenderdaten, mit denen die Steuerung betrieben wird (aktives Filesystem), z. B.: • Aktive Maschinendaten • Werkzeugkorrekturdaten • Nullpunktverschiebungen • Initialisierungsprogramme Hierbei handelt es sich um Programme, mit denen die Daten des Arbeitsspeichers vorbesetzt (initialisiert) werden.
  • Seite 225: Initialisierungsprogramm Am Externen Pc Erzeugen

    Datei- und Programmverwaltung 2.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Initialisierungsprogramm am externen PC erzeugen Mit Hilfe von Datenbereichskennung und Datentypenkennung können die Bereiche bestimmt werden, die bei der Datensicherung als Einheit betrachtet werden: _N_AX5_TEA_INI Maschinendaten für Achse 5 _N_CH2_UFR_INI Frames des Kanals 2 _N_COMPLETE_TEA_INI Alle Maschinendaten Nach Inbetriebnahme der Steuerung ist ein Datensatz im Arbeitsspeicher vorhanden, der den...
  • Seite 226: Initialisierungsprogramme Einlesen

    Datei- und Programmverwaltung 2.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Hinweis INI-Dateien in Joblisten enthalten keine CHANDATA-Anweisungen. Initialisierungsprogramme sichern (COMPLETE, INITIAL) Die Dateien des Arbeitsspeichers können auf einem externen PC gesichert und von dort wieder eingelesen werden. • Die Dateien werden mit COMPLETE gesichert. •...
  • Seite 227: Strukturierungsanweisung Im Stepeditor (Seform)

    Datei- und Programmverwaltung 2.3 Strukturierungsanweisung im Stepeditor (SEFORM) Strukturierungsanweisung im Stepeditor (SEFORM) Funktion Die Strukturierungsanweisung SEFORM wird im Stepeditor (editorbasierte Programmunterstützung) ausgewertet, um daraus die Schrittansicht für HMI Advanced zu generieren. Die Schrittansicht dient zur besseren Lesbarkeit des NC-Unterprogramms. Syntax SEFORM(<Abschnittsname>,<Ebene>,<Icon>) Bedeutung Funktionsaufruf der Strukturierungsanweisung mit den SEFORM()
  • Seite 228 Datei- und Programmverwaltung 2.3 Strukturierungsanweisung im Stepeditor (SEFORM) Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 229: Schutzbereiche

    Schutzbereiche Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Funktion Mit Hilfe von Schutzbereichen lassen sich verschiedene Elemente an der Maschine, die Ausrüstung sowie das Werkstück vor falschen Bewegungen schützen. Werkzeugbezogene Schutzbereiche: Für Teile, die zum Werkzeug gehören (z. B. Werkzeug, Werkzeugträger). Werkstückbezogene Schutzbereiche: Für Teile, die zum Werkstück gehören (z. B.
  • Seite 230: Bedeutung

    Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Bedeutung Lokale Variable, Datentyp INTEGER definieren DEF INT NOT_USED: (vgl. Kapitel "Bewegungssynchronaktionen [Seite 559]") Die gewünschte Ebene wird vor CPROTDEF bzw. NPROTDEF G17/G18/G19: mit G17/G18/G19 angewählt und darf vor EXECUTE nicht geändert werden. Eine Programmierung der Applikate zwischen CPROTDEF bzw.
  • Seite 231: Weitere Informationen

    Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Randbedingungen Während der Definition der Schutzbereiche darf: • keine Fräserradius- bzw. Schneidenradiuskorrektur aktiv sein. • keine Transformation aktiv sein. • kein Frame aktiv sein. Es darf auch nicht Referenzpunktanfahren (G74), Festpunktanfahren (G75), Satzvorlauf- Stopp oder Programmende programmiert sein.
  • Seite 232 Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Außenschutzbereiche Außenschutzbereiche (nur bei werkstückbezogenen Schutzbereichen möglich) sind im Uhrzeigersinn zu definieren. Rotationssymmetrische Schutzbereiche Bei rotationssymmetrischen Schutzbereichen (z. B. Spindelfutter) muss die Gesamtkontur beschrieben werden (nicht nur bis zur Drehmitte!). Werkzeugbezogene Schutzbereiche Werkzeugbezogene Schutzbereiche müssen immer konvex sein. Falls ein konkaver Schutzbereich gewünscht ist, ist dieser in mehrere konvexe Schutzbereiche zu zerlegen.
  • Seite 233: Schutzbereiche Aktivieren/Deaktivieren (Cprot, Nprot)

    Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Funktion Vorher definierte Schutzbereiche zur Kollisionsüberwachung aktivieren, voraktivieren oder aktive Schutzbereiche deaktivieren. Die maximale Anzahl der gleichzeitig in einem Kanal aktiven Schutzbereiche wird über Maschinendatum festgelegt. Ist kein werkzeugbezogener Schutzbereich aktiv, so wird die Werkzeugbahn gegen die werkstückbezogenen Schutzbereiche geprüft.
  • Seite 234 Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Beispiel Für eine Fräsmaschine soll eine mögliche Kollision des Fräsers mit dem Messtaster überwacht werden. Die Lage des Messtasters soll bei der Aktivierung durch eine Verschiebung angegeben werden. Es werden dafür folgende Schutzbereiche definiert: •...
  • Seite 235 Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Programmcode Kommentar CPROTDEF(1,TRUE,3,0,–100) ; Schutzbereich c–SB1 G01 X–20 Y–20 X–20 Y–20 EXECUTE(SCHUTZB) CPROTDEF(2,TRUE,3,–100,–150) ; Schutzbereich c–SB2 G01 X0 Y–10 G03 X0 Y10 J10 X0 Y–10 J–10 EXECUTE(SCHUTZB) CPROTDEF(3,TRUE,3,–150,–170) ; Schutzbereich c–SB3 G01 X0 Y–27,5 G03 X0 Y27,5 J27,5 X0 Y27,5 J–27,5 EXECUTE(SCHUTZB)
  • Seite 236 Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) • <state>=3 Bei der Voraktivierung mit bedingtem Stopp wird nicht grundsätzlich vor einem verletzten, voraktivierten Schutzbereich angehalten. Der Stopp erfolgt nur dann, wenn der Schutzbereich wirksam gesetzt worden ist. Dies ermöglicht eine unterbrechungsfreie Bearbeitung, wenn die Schutzbereiche nur in besonderen Fällen wirksam gesetzt werden. Zu beachten ist, dass infolge der Bremsrampe ggf.
  • Seite 237: Überprüfung Auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung Und Softwarelimits (Calcposi)

    Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Funktion Die Funktion CALCPOSI dient dazu zu überprüfen, ob ausgehend von einem gegebenen Startpunkt die Geometrieachsen einen vorgegebenen Weg verfahren können, ohne die Achsgrenzen (Softwarelimits), Arbeitsfeldbegrenzungen oder Schutzbereiche zu verletzen. Für den Fall, dass der vorgegebene Weg nicht gefahren werden kann, wird der maximal zulässige Wert zurückgeben.
  • Seite 238 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Hunderterstelle 100: Der positive Grenzwert ist verletzt (nur, wenn die Einerstelle 1 oder 2 ist, d. h. bei Softwarelimits und Arbeitsfeldbegrenzung) 100: Es ist ein NCKSchutzbereich verletzt (nur, wenn die Einerstelle 3 ist). 200: Der negative Grenzwert ist verletzt (nur, wenn die Einerstelle 1 oder 2 ist, d.
  • Seite 239 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, FALSE oder Parameter nicht angegeben: _BASE_SYS Bei der Bewertung der Positions- und Längenangaben wird der G-Code der Gruppe 13 (G70, G71, G700, G710; inch/metrisch) ausgewertet. Bei aktivem G70 und metrischem Grundsystem (bzw. aktivem G71 und inch) werden die WKSSystemvariablen $AA_IW[X] und $AA_MW[X]) im Grundsystem geliefert und müssen gegebenenfalls zur Verwendung durch die Funktion CALCPOSI umgerechnet werden.
  • Seite 240 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Ergebnisse der einzelnen Aufrufe von CALCPOSI sind in der Tabelle am Beispielende zusammengefasst. Programmcode Kommentar N10 def real _STARTPOS[3] N20 def real _MOVDIST[3] N30 def real _DLIMIT[5] N40 def real _MAXDIST[3] N50 def int _SB N60 def int _STATUS N70 cprotdef(2, true, 0)
  • Seite 241 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Programmcode Kommentar N120 cprotdef(4, false, 0) werkstückbezogener Schutzbereich N130 g17 g1 x0 y15 N140 x10 N150 y25 N160 x0 N170 y15 N180 execute(_SB) N190 nprotdef(3, false, 0) maschinenbezogener Schutzbereich N200 g17 g1 x10 y5 N210 x25 N220 y15 N230 x10 N240 y5...
  • Seite 242 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Programmcode Kommentar N480 _MOVDIST[0] = 0. N490 _MOVDIST[1] =–. N500 _MOVDIST[2] = 0. ;Verschiede Funktionsaufrufe N510 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,14) N520 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 6) N530 _DLIMIT[1] = 2. N540 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 6) N550 _STARTPOS[0] = 27.
  • Seite 243: Sonderfälle Und Weitere Details

    Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Ergebnisse der Prüfungen im Beispiel: Satznr. _STATUS _MAXDIST _MAXDIST Bemerkungen N... [0] (= X) [1] (= Y) 3123 8.040 4.594 Schutzbereich SB N3 wird verletzt. 1122 20.000 11.429 Keine SB–Überwachung,-Arbeitsfeld- begrenzung wird verletzt. 1121 30.000 17.143 Nur noch Überwachung der Softwarelimits aktiv.
  • Seite 244 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Bei bestimmten kinematischen Transformationen (z.B. TRANSMIT) kann die Position der Maschinenachsen aus den Positionen im Werkstückkoordinatensystem (WKS) nicht eindeutig bestimmt werden (Mehrdeutigkeit). 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 entsprechen muss.
  • Seite 245: Spezielle Wegbefehle

    Spezielle Wegbefehle Codierte Positionen anfahren (CAC, CIC, CDC, CACP, CACN) Funktion Über die folgenden Befehle können Sie Linear- und Rundachsen über Positionsnummern auf in Maschinendaten-Tabellen hinterlegte feste Achspositionen verfahren. Diese Art der Programmierung wird als "Anfahren von codierten Positionen" bezeichnet. Syntax CAC(<n>) CIC(<n>)
  • Seite 246: Spline-Interpolation (Aspline, Bspline, Cspline, Bauto, Bnat, Btan, Eauto, Enat, Etan, Pw, Sd, Pl)

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Funktion Beliebig gekrümmte Konturen an Werkstücken können nicht analytisch exakt beschrieben werden. Derartige Konturen werden daher durch eine begrenzte Anzahl von Stützpunkten, z. B.
  • Seite 247: Bedeutung

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, 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> SD=2 PL=<Wert> Bei A- und C-Spline zusätzlich programmierbar: BAUTO / BNAT / BTAN EAUTO / ENAT / ETAN Bedeutung...
  • Seite 248 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Knotenabstand (nur B-Spline): Die Knotenabstände werden intern geeignet berechnet. Die Steuerung kann aber auch vorgegebene Knotenabstände verarbeiten, die mit dem Befehl PL als sog. Parameter-Intervall- Länge angegeben werden.
  • Seite 249: Beispiele

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, Randbedingungen • Die Werkzeugradiuskorrektur ist einsetzbar. • Kollisionsüberwachung erfolgt in der Projektion auf die Ebene. Beispiele Beispiel 1: B-Spline Programmcode 1 (alle Gewichte 1) N10 G1 X0 Y0 F300 G64 N20 BSPLINE N30 X10 Y20 N40 X20 Y40 N50 X30 Y30 N60 X40 Y45...
  • Seite 250 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 251 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, Beispiel 2: C-Spline, am Anfang und am Ende Krümmung Null Programmcode N10 G1 X0 Y0 F300 N15 X10 N20 BNAT ENAT N30 CSPLINE X20 Y10 N40 X30 N50 X40 Y5 N60 X50 Y15 N70 X55 Y7 N80 X60 Y20 N90 X65 Y20...
  • Seite 252: Unterprogramm "Kontur" (Enthält Die Stützpunkt-Koordinaten)

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Beispiel 3: Spline-Interpolation (A-Spline) und Koordinatentransformation (ROT) Hauptprogramm: Programmcode Kommentar N10 G00 X20 Y18 F300 G64 ; Startpunkt anfahren. N20 ASPLINE ; Interpolationstyp A-Spline aktivieren. N30 KONTUR ;...
  • Seite 253: Weitere Informationen

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, Weitere Informationen Vorteile der Spline-Interpolation Durch Verwendung der Spline-Interpolation lassen sich, im Gegensatz zur Verwendung von Geradensätzen G01, folgende Vorteile erzielen: • Reduzierung der Anzahl von benötigten Teileprogrammsätzen zur Beschreibung der Kontur • Weicher, mechanikschonender Kurvenverlauf beim Übergange zwischen den Teileprogrammsätzen Eigenschaften und Anwendung der verschiedenen Spline-Typen...
  • Seite 254 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, 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 255 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, 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 256 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Gegenüberstellung der drei Spline-Typen bei gleichen Stützpunkten Mindestanzahl an Spline-Sätzen Die G-Codes 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.
  • Seite 257 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, 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ß...
  • Seite 258: Spline-Verbund (Splinepath)

    Spezielle Wegbefehle 4.3 Spline-Verbund (SPLINEPATH) Spline-Verbund (SPLINEPATH) Funktion Die im Spline-Verbund zu interpolierenden Achsen werden mit dem Befehl SPLINEPATH ausgewählt. Bis zu acht Bahnachsen sind bei der Spline-Interpolation möglich. Hinweis Wird SPLINEPATH nicht explizit programmiert, so werden die ersten drei Achsen des Kanals als Spline-Verbund verfahren.
  • Seite 259: Beispiel: Spline-Verbund Mit Drei Bahnachsen

    Spezielle Wegbefehle 4.3 Spline-Verbund (SPLINEPATH) Beispiel: Spline-Verbund mit drei Bahnachsen Programmcode Kommentar N10 G1 X10 Y20 Z30 A40 B50 F350 N11 SPLINEPATH(1,X,Y,Z) ; Spline-Verbund N13 CSPLINE BAUTO EAUTO X20 Y30 Z40 A50 B60 ; C-Spline N14 X30 Y40 Z50 A60 B70 ;...
  • Seite 260: Nc-Satz-Kompression (Compon, Compcurv, Compcad, Compof)

    Spezielle Wegbefehle 4.4 NC-Satz-Kompression (COMPON, COMPCURV, COMPCAD, COMPOF) NC-Satz-Kompression (COMPON, COMPCURV, COMPCAD, COMPOF) Funktion CAD/CAM-Systeme liefern in der Regel Linearsätze, welche die parametrierte Genauigkeit einhalten. Dies führt bei komplexen Konturen zu einer erheblichen Datenmenge und zu eventuell kurzen Bahnabschnitten. Diese kurzen Bahnabschnitte begrenzen die Abarbeitungsgeschwindigkeit.
  • Seite 261 Spezielle Wegbefehle 4.4 NC-Satz-Kompression (COMPON, COMPCURV, Bedeutung Befehl zum Einschalten der Kompressor-Funktion COMPON. COMPON: Wirksamkeit: modal Befehl zum Einschalten der Kompressor-Funktion COMPCURV. COMPCURV: Wirksamkeit: modal Befehl zum Einschalten der Kompressor-Funktion COMPCAD. COMPCAD: Wirksamkeit: modal Befehl zum Ausschalten der aktuell aktiven Kompressor-Funktion. COMPOF: Hinweis Zur zusätzlichen Verbesserung der Oberflächengüte kann die Überschleiffunktion G642 und...
  • Seite 262: Beispiele

    Spezielle Wegbefehle 4.4 NC-Satz-Kompression (COMPON, COMPCURV, COMPCAD, COMPOF) Beispiele Beispiel 1: COMPON Programmcode Kommentar N10 COMPON ; Kompressor-Funktion COMPON ein. N11 G1 X0.37 Y2.9 F600 ; G1 vor Endpunkt und Vorschub. N12 X16.87 Y–.698 N13 X16.865 Y–.72 N14 X16.91 Y–.799 …...
  • Seite 263: Polynom-Interpolation (Poly, Polypath, Po, Pl)

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Polynom-Interpolation (POLY, POLYPATH, PO, PL) Funktion Im eigentlichen Sinn handelt es sich bei der Polynom-Interpolation (POLY) nicht um eine Spline-Interpolationsart. Sie ist in erster Linie als Schnittstelle für die Programmierung extern erzeugter Spline-Kurven gedacht. Hierbei können die Spline-Abschnitte direkt programmiert werden.
  • Seite 264: Ein-/Ausschalten Der Polynom-Interpolation

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) a2, a3, a4, a5 : Die Koeffizienten a , und a werden mit ihrem Wert geschrieben; Wertebereich wie Wegmaß. Der jeweils letzte Koeffizient kann entfallen, wenn er den Wert Null hat. PL : Länge des Parameterintervalls, auf dem die Polynome definiert sind (Definitionsbereich der Funktion f(p)).
  • Seite 265: Beispiel: Neue Polynomsyntax

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Beispiel Programmcode Kommentar N10 G1 X… Y… Z… F600 N11 POLY PO[X]=(1,2.5,0.7) PO[Y]=(0.3,1,3.2) PL=1.5 ; Polynom-Interpolation ein N12 PO[X]=(0,2.5,1.7) PO[Y]=(2.3,1.7) PL=3 N20 M8 H126 … N25 X70 PO[Y]=(9.3,1,7.67) PL=5 ; gemischte Angaben für die Achsen N27 PO[X]=(10,2.5) PO[Y]=(2.3) ;...
  • Seite 266 Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Verlauf der Kurven X(p) und Y(p) Verlauf der Kurve in der XY-Ebene Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 267: Beschreibung

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Beschreibung Die allgemeine Form der Polynom-Funktion lautet: f(p)= a p + a +. . . + a mit: : konstante Koeffizienten p: Parameter In der Steuerung können maximal Polynome 5. Grades programmiert werden: f(p)= a p + a Durch Belegen der Koeffizienten mit konkreten Werten sind verschieden Kurvenverläufe, wie...
  • Seite 268 Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Der konstante Koeffizient (a ) des Nenner-Polynoms wird stets mit 1 angenommen. Der programmierte Endpunkt ist unabhängig von G90 / G91. Aus den programmierten Werten berechnen sich X(p) und Y(p) zu: X(p) = (10 - 10 * p ) / (1 + p Y(p) = 20 * p / (1 + p mit 0 ...
  • Seite 269: Einstellbarer Bahnbezug (Spath, Upath)

    Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Einstellbarer Bahnbezug (SPATH, UPATH) Funktion Während Polynominterpolation können vom Anwender zwei unterschiedliche Beziehungen zwischen den geschwindigkeitsbestimmenden FGROUP-Achsen und den übrigen Bahnachsen gewünscht sein: Letztere sollen entweder synchron zum Bahnweg S oder synchron zum Kurvenparameter U der FGROUP-Achsen geführt werden. Beide Arten der Bahninterpolation werden in unterschiedlichen Applikationen gebraucht und können durch die beiden in der 45. G-Code-Gruppe enthaltenen modal wirksamen Sprachbefehle SPATH und UPATH eingestellt/umgeschaltet werden.
  • Seite 270 Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Programmcode Kommentar N10 G1 X… Y… Z… F500 N20 G643 ; Satzinternes Überschleifen mit G643 N30 XO Y0 N40 X20 Y0 ; Kantenlänge (mm) für die Achsen N50 X20 Y20 N60 X0 Y20 N70 X0 Y0 N100 M30 Beispiel 2:...
  • Seite 271: Weitere Informationen

    Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Weitere Informationen Während Polynominterpolation - und damit seien immer die Polynominterpolation im engeren Sinne (POLY), alle Spline-Interpolationsarten (ASPLINE, BSPLINE, CSPLINE) und Linearinterpolation mit Kompressorfunktion (COMPON, COMPCURV) verstanden - sind die Positionen aller Bahnachsen i durch Polynome pi(U) vorgegeben. Der Kurvenparameter U bewegt sich dabei innerhalb eines NC-Satzes von 0 bis 1, ist also normiert.
  • Seite 272: Messen Mit Schaltendem Taster (Meas, Meaw)

    Spezielle Wegbefehle 4.7 Messen mit schaltendem Taster (MEAS, MEAW) Messen mit schaltendem Taster (MEAS, MEAW) Funktion Mit der Funktion "Messen mit schaltendem Taster" werden Istpositionen am Werkstück angefahren und bei der Schaltflanke des Messtasters werden für alle im Messsatz programmierten Achsen die Positionen gemessen und für jede Achse in die entsprechende Speicherzelle geschrieben.
  • Seite 273 Spezielle Wegbefehle 4.7 Messen mit schaltendem Taster (MEAS, MEAW) Messergebnisse lesen Die Messergebnisse für die mit Messtaster erfassten Achsen stehen unter folgenden Variablen zur Verfügung: • $AA_MM[<Achse>] Messergebnisse im Maschinenkoordinatensystem • $AA_MW[<Achse>] Messergebnisse im Werkstückkoordinatensystem Beim Lesen dieser Variablen wird intern kein Vorlaufstopp erzeugt. Hinweis Mit STOPRE muss im NC-Programm an geeigneter Stelle ein Vorlaufstopp programmiert werden.
  • Seite 274: Messwerteaufnahme

    Spezielle Wegbefehle 4.7 Messen mit schaltendem Taster (MEAS, MEAW) Beispiel Programmcode Kommentar N10 MEAS=1 G1 F1000 X100 Y730 Z40 ; Messsatz mit Messtaster des ersten Messeingangs und Geradeninterpolation. Vorlaufstopp wird automatisch erzeugt. Weitere Informationen Messauftragsstatus Ist im Programm eine Auswertung erforderlich, ob der Messtaster geschaltet hat oder nicht, kann die Zustandsvariable $AC_MEA[n] (n = Nummer des Messtasters) abgefragt werden: Wert Bedeutung...
  • Seite 275: Erweiterte Messfunktion (Measa, Meawa, Meac) (Option)

    Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Funktion Beim axialen Messen können mehrere Messtaster und mehrere Messsysteme benutzt werden. Mit dem Befehl MEASA bzw. MEAWA werden für die jeweils programmierte Achse bis zu vier Messwerte pro Messung erfasst und passend zum Trigger-Ereignis in Systemvariablen abgelegt.
  • Seite 276 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) 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. Bedeutung Befehl: Axiales Messen mit Restweglöschen MEASA Wirksamkeit:...
  • Seite 277: Beispiel 1: Axiales Messen Mit Restweglöschen Im Modus 1 (Auswertung In Zeitlicher Reihenfolge) A) Mit 1 Messsystem

    Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Beispiele Beispiel 1: Axiales Messen mit Restweglöschen im Modus 1 (Auswertung in zeitlicher Reihenfolge) a) mit 1 Messsystem Programmcode Kommentar N100 MEASA[X]=(1,1,-1) G01 X100 F100 ; Messen im Modus 1 mit aktivem Messsystem.
  • Seite 278: Beispiel 2: Axiales Messen Mit Restweglöschen Im Modus 2 (Auswertung In Programmierter Reihenfolge)

    Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Beispiel 2: Axiales Messen mit Restweglöschen im Modus 2 (Auswertung in programmierter Reihenfolge) Programmcode Kommentar N100 MEASA[X]=(2,1,-1,2,-2) G01 X100 F100 ; Messen im Modus 2 mit aktivem Messsystem. Warten auf Messsignal in der Reihenfolge steigende Flanke von Messtaster 1, fallende Flanke Messtaster 1, steigende Flanke von Messtaster 2, fallende Flanke Messtaster 2 auf dem Verfahrweg...
  • Seite 279 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) b) Messen mit Restweglöschen nach 10 Messwerten Programmcode Kommentar N10 WHEN $AC_FIFO1[4]>=10 DO MEAC[x]=(0) DELDTG(x) ; Restweg löschen. N20 MEAC[x]=(1,1,1,-1) G01 X100 F500 N30 MEAC[X]=(0) N40 R1=$AC_FIFO1[4] ; Anzahl Messwerte. Weitere Informationen Messauftrag Die Programmierung eines Messauftrags kann im Teileprogramm oder aus einer Synchronaktion (siehe Kapitel "Bewegungssynchronaktionen") heraus erfolgen.
  • Seite 280 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Betriebsmodus Mit der ersten Ziffer (Zehnerdekade) des Betriebsmodus wird das gewünschte Messsystem angewählt. Ist nur ein Messsystem vorhanden, jedoch das zweite programmiert, wird automatisch das vorhandene eingesetzt. Mit der zweiten Ziffer (Einerdekade) wird der gewünschte Messmodus angewählt. Damit wird der Messvorgang an die Möglichkeiten der jeweiligen Steuerung angepasst: •...
  • Seite 281 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Hinweis MEASA ist nicht in Synchronaktionen programmierbar. Ersatzweise kann MEAWA plus Restweglöschen als Synchronaktion programmiert werden. Wird der Messauftrag mit MEAWA aus den Synchronaktionen gestartet, sind die Messwerte nur im Maschinen-Koordinatensystem verfügbar. Messergebnisse für MEASA, MEAWA Die Messergebnisse stehen unter folgenden Systemvariablen zur Verfügung: •...
  • Seite 282 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Messauftrag mit 2 Messsystemen Wird ein Messauftrag mit zwei Messsystemen durchgeführt, wird jedes der beiden möglichen Trigger-Ereignisse von beiden Messsystemen der jeweiligen Achse erfasst. Die Belegung der reservierten Variablen ist damit vorgegeben: bzw.
  • Seite 283 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) FIFO-Speicher ist ein Umlaufspeicher, in den Messwerte im Umlaufprinzip in $AC_FIFO- Variablen eingetragen werden, siehe Kapitel "Bewegungssynchronaktionen". Hinweis Der FIFO-Inhalt kann nur einmal aus dem Umlaufspeicher ausgelesen werden. Zur Mehrfachverwendung der Messdaten müssen diese in den Anwenderdaten zwischengespeichert werden.
  • Seite 284: Spezielle Funktionen Für Den Oem-Anwender (Oma1

    Spezielle Wegbefehle 4.9 Spezielle Funktionen für den OEM-Anwender (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829) Spezielle Funktionen für den OEM-Anwender (OMA1 ... OMA5, OEMIPO1, OEMIPO2, G810 ... G829) OEM-Adressen Die Bedeutung der OEM-Adressen bestimmt der OEM-Anwender. Die Funktionalität wird über Compile-Zyklen eingebracht.
  • Seite 285: Vorschubreduzierung Mit Eckenverzögerung (Fendnorm, G62, G621)

    Spezielle Wegbefehle 4.10 Vorschubreduzierung mit Eckenverzögerung (FENDNORM, 4.10 Vorschubreduzierung mit Eckenverzögerung (FENDNORM, G62, G621) Funktion 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. Dies sind: •...
  • Seite 286: Programmierbares Bewegungsendekriterium (Finea, Coarsea, Ipoenda, Ipobrka, Adisposa)

    Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Funktion Ähnlich dem Satzwechselkriterium bei Bahninterpolation (G601, G602 und G603) kann das Bewegungsendekriterium bei Einzelachsinterpolation in einem Teileprogramm bzw. in Synchronaktionen für Kommando-/PLC-Achsen programmiert werden. Je nachdem, welches Bewegungsendekriterium eingestellt ist, werden Teileprogrammsätze bzw.
  • Seite 287 Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, Bezug des Toleranzfensters <Modus>: Wertebereich: Toleranzfenster nicht aktiv Toleranzfenster bezüglich Sollposition Toleranzfenster bezüglich Istposition Typ: Größe des Toleranzfensters <Fenstergröße>: Typ: REAL Beispiele Beispiel 1: Bewegungsendekriterium: "Interpolator-Stopp" Programmcode ; Fahre Positionierachse X auf 100, Geschwindigkeit 200 m/min, Beschleunigung 90%, ;...
  • Seite 288: Weitere Informationen

    Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Weitere Informationen Systemvariable für Bewegungsendekriterium Das wirksame Bewegungsendekriterium kann über die Systemvariable $AA_MOTEND gelesen werden. Literatur: /LIS2sl/ Listenhandbuch, Buch 2 Satzwechselkriterium: "Bremsrampe" (IPOBRKA) Ist bei der Aktivierung des Satzwechselkriteriums "Bremsrampe" für den optionalen Satzwechselzeitpunkt ein Wert programmierte, wird dieser für die nächste Positionierbewegung wirksam und hauptlaufsynchron in das Settingdatum geschrieben.
  • Seite 289: Programmierbarer Servo-Parametersatz (Scpara)

    Spezielle Wegbefehle 4.12 Programmierbarer Servo-Parametersatz (SCPARA) 4.12 Programmierbarer Servo-Parametersatz (SCPARA) Funktion Mit SCPARA kann der Parametersatz (bestehend aus MDs) im Teileprogramm und in Synchronaktionen programmiert werden (bisher nur über PLC). DB3n DBB9 Bit3 Damit es zu keinen Konflikten zwischen PLC und NCK kommt, wird ein weiteres Bit auf der PLC ...
  • Seite 290 Spezielle Wegbefehle 4.12 Programmierbarer Servo-Parametersatz (SCPARA) Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 291: Koordinatentransformationen (Frames)

    Koordinatentransformationen (FRAMES) Koordinatentransformation über Framevariable Funktion Neben den im Programmierhandbuch "Grundlagen" bereits beschriebenen Programmiermöglichkeiten können Sie Koordinatensysteme auch mit vordefinierten Framevariablen festlegen. Folgende Koordinatensysteme sind definiert: MKS: Maschinen-Koordinatensystem BKS: Basis-Koordinatensystem BNS: Basisnullpunkt-Koordinatensystem ENS: Einstellbares Nullpunkt-Koordinatensystem WKS: Werkstück-Koordinatensystem Was ist eine vordefinierte Framevariable? Vordefinierte Framevariablen sind Schlüsselwörter, die im Sprachgebrauch der Steuerung mit entsprechender Wirkung bereits festgelegt sind und im NC-Programm verarbeitet werden können.
  • Seite 292 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Wertzuweisungen und Istwerte auslesen Zusammenhang Framevariable/Frame Eine Koordinatentransformation kann durch Wertzuweisung eines Frames an eine Framevariable aktiviert werden. Beispiel: $P_PFRAME=CTRANS(X,10) Framevariable: $P_PFRAME bedeutet: aktueller programmierbarer Frame. Frame: CTRANS(X,10) bedeutet: programmierbare Nullpunktverschiebung der X-Achse um 10 mm. Istwerte auslesen Über vordefinierte Variable im Teileprogramm können die aktuellen Istwerte der Koordinatensysteme ausgelesen werden:...
  • Seite 293: Vordefinierte Framevariable ($P_Bframe, $P_Iframe, $P_Pframe, $P_Actframe)

    Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable 5.1.1 Vordefinierte Framevariable ($P_BFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) $P_BFRAME Aktuelle Basisframevariable, die den Bezug zwischen Basiskoordinatensystem (BKS) und Basis-Nullpunktsystem (BNS) herstellt. Soll der durch $P_UBFR beschriebene Basisframe sofort im Programm wirksam werden, muss entweder • ein G500, G54...G599 programmiert werden oder •...
  • Seite 294 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable $P_PFRAME Aktuelle, programmierbare Framevariable, die den Bezug zwischen dem Einstellbaren Nullpunktsystem (ENS) und dem Werkstückkoordinatensystem (WKS) herstellt. $P_PFRAME enthält den resultierenden Frame, der sich • aus der Programmierung von TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/ AMIRROR bzw. •...
  • Seite 295 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable $P_ACTFRAME Aktueller, resultierender Gesamtframe, der sich durch Verkettung aus • der aktuellen Basisframevariablen $P_BFRAME, • der aktuellen einstellbaren Framevariablen $P_IFRAME mit Systemframes und • der aktuellen programmierbaren Framevariablen $P_PFRAME mit Systemframes ergibt. Systemframes, siehe Kapitel "Im Kanal wirksame Frames" $P_ACTFRAME beschreibt den aktuell gültigen Werkstücknullpunkt.
  • Seite 296 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Basisframe und einstellbarer Frame wirken nach Reset, wenn das MD 20110 RESET_MODE_MASK folgendermaßen eingestellt ist: Bit0=1, Bit14=1 --> $P_UBFR (Basisframe) wirkt Bit0=1, Bit5=1 --> $P_UIFR[$P_UIFRNUM] (einst. Frame) wirkt Vordefinierte einstellbare Frames $P_UBFR Mit $P_UBFR wird der Basisframe programmiert, er wird aber nicht gleichzeitig im Teileprogramm aktiv.
  • Seite 297 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Zuordnung zu den G-Befehlen Standardmäßig sind 5 einstellbare Frames $P_UIFR[0]... $P_UIFR[4] bzw. 5 gleichbedeutende G-Befehle – G500 und G54 bis G57 , unter deren Adressen Werte abgespeichert werden können. $P_IFRAME=$P_UIFR[0] entspricht G500 $P_IFRAME=$P_UIFR[1] entspricht G54 $P_IFRAME=$P_UIFR[2] entspricht G55 $P_IFRAME=$P_UIFR[3] entspricht G56 $P_IFRAME=$P_UIFR[4] entspricht G57...
  • Seite 298: Framevariablen/Frames Werte Zuweisen

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Framevariablen/Frames Werte zuweisen 5.2.1 Direkte Werte zuweisen (Achswert, Winkel, Maßstab) Funktion Im NC-Programm können Sie direkt Frames oder Framevariablen mit Werten belegen. Syntax $P_PFRAME=CTRANS (X, Achswert, Y, Achswert, Z, Achswert, …) $P_PFRAME=CROT (X, Winkel, Y, Winkel, Z, Winkel, …) $P_UIFR[..]=CROT (X, Winkel, Y, Winkel, Z, Winkel, …) $P_PFRAME=CSCALE (X, Maßstab, Y, Maßstab, Z, Maßstab, …) $P_PFRAME=CMIRROR (X, Y, Z)
  • Seite 299: Frame-Rot-Komponenten Mit Anderen Werten Vorbelegen

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Beispiel Durch Wertzuweisung an dem aktuellen programmierbaren Frame werden Translation, Drehung und Spiegelung aktiviert. N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y) Frame-Rot-Komponenten mit anderen Werten vorbelegen Mit CROT alle drei Komponenenten von UIFR mit Werten vorbelegen Programmcode Kommentar $P_UIFR[5]=CROT (X, 0, Y, 0, Z, 0) N100 $P_UIFR[5, y, rt]=0 N100 $P_UIFR[5, x, rt]=0 N100 $P_UIFR[5, z, rt]=0...
  • Seite 300: Beschreibung

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Beschreibung Sie können mehrere Rechenvorschriften nacheinander programmieren. Beispiel: $P_PFRAME=CTRANS(...):CROT(...):CSCALE... Beachten Sie, dass die Befehle durch den Kettungsoperator Doppelpunkt (…):(…) miteinander verbunden werden müssen. Dadurch werden die Befehle erstens miteinander verknüpft und zweitens in der programmierten Reihenfolge additiv ausgeführt. Hinweis Die mit den genannten Befehlen programmierten Werte werden den Frames zugewiesen und abgespeichert.
  • Seite 301: Framekomponenten Lesen Und Verändern (Tr, Fi, Rt, Sc, Mi)

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen 5.2.2 Framekomponenten lesen und verändern (TR, FI, RT, SC, MI) Funktion Sie haben die Möglichkeit, auf einzelne Daten eines Frames, z. B. auf einen bestimmten Verschiebewert oder Drehwinkel zuzugreifen. Diese Werte können Sie verändern oder einer anderen Variablen zuweisen.
  • Seite 302: Verknüpfung Von Kompletten Frames

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Beschreibung Frame aufrufen Durch Angabe der Systemvariablen $P_UIFRNUM können Sie direkt auf die mit $P_UIFR bzw. G54, G55, … aktuell eingestellte Nullpunktverschiebung zugreifen ($P_UIFRNUM enthält die Nummer des aktuell eingestellten Frames). Alle anderen gespeicherten einstellbaren Frames $P_UIFR rufen Sie durch Angabe der entsprechenden Nummer $P_UIFR[n] auf.
  • Seite 303 Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Syntax Frames zuweisen DEF FRAME EINSTELLUNG1 Dem aktuellen programmierbaren Frame EINSTELLUNG1=CTRANS(X,10) werden die Werte des selbst $P_PFRAME=EINSTELLUNG1 definierten Frames EINSTELLUNG1 zugewiesen. DEF FRAME EINSTELLUNG4 EINSTELLUNG4=$P_PFRAME Der aktuelle programmierbare Frame $P_PFRAME=EINSTELLUNG4 wird zwischengespeichert und dann bei Bedarf wieder zurückgespeichert.
  • Seite 304: Definition Neuer Frames (Def Frame)

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen 5.2.4 Definition neuer Frames (DEF FRAME) Funktion Neben den bisher beschriebenen vordefinierten, einstellbaren Frames haben Sie auch die Möglichkeit, neue Frames zu erzeugen. Dabei handelt es sich um Variable vom Typ FRAME, die Sie mit freier Namensgebung definieren. Mit den Funktionen CTRANS, CROT, CSCALE, CMIRROR können Sie Ihre Frames im NC- Programm mit Werten belegen.
  • Seite 305: Grob- Und Feinverschiebung (Cfine, Ctrans)

    Koordinatentransformationen (FRAMES) 5.3 Grob- und Feinverschiebung (CFINE, CTRANS) Grob- und Feinverschiebung (CFINE, CTRANS) Funktion Feinverschiebung Mit dem Befehl CFINE(X, ...,Y ...) kann eine Feinverschiebung des Basisframes und aller einstellbaren Frames programmiert werden. Eine Feinverschiebung kann nur erfolgen, wenn das MD18600 $MN_MM_FRAME_FINE_TRANS=1 ist.
  • Seite 306 Koordinatentransformationen (FRAMES) 5.3 Grob- und Feinverschiebung (CFINE, CTRANS) ;Definition der Variable FINEX DEF REAL FINEX ;Auslesen der Feinverschiebung FINEX=$P_UIFR[$P_UIFNUM, x, FI] ;über die Variable FINEX ;Auslesen der Feinverschiebung FINEX=$P_UIFR[3, x, FI]$P ;der X-Achse im 3.Frame ;über die Variable FINEX Bedeutung Feinverschiebung für mehrere Achsen.
  • Seite 307: Externe Nullpunktverschiebung

    Koordinatentransformationen (FRAMES) 5.4 Externe Nullpunktverschiebung Externe Nullpunktverschiebung Funktion Hierdurch haben Sie eine weitere Möglichkeit, den Nullpunkt zwischen Basis- und Werkstückkoordinatensystem zu verschieben. Bei der externen Nullpunktverschiebung können nur lineare Verschiebungen programmiert werden. Programmierung Die Programmierung der Verschiebewerte, $AA_ETRANS erfolgt über die Belegung der achsspezifischen Systemvariablen.
  • Seite 308: Preset-Verschiebung (Preseton)

    Koordinatentransformationen (FRAMES) 5.5 Preset-Verschiebung (PRESETON) Preset-Verschiebung (PRESETON) Funktion Für spezielle Anwendungen kann es erforderlich werden, einer bereits referenzierten Maschinenachse mit PRESETON einen neuen Istwert zuzuweisen. Dies entspricht einer Nullpunktverschiebung im Maschinenkoordinatensystem. VORSICHT Nach PRESETON ist die Maschinenachse im Status "nicht referenziert". Es wird deshalb empfohlen, die Funktion nur für Maschinenachsen ohne Referenzpunktpflicht zu verwenden.
  • Seite 309 Koordinatentransformationen (FRAMES) 5.5 Preset-Verschiebung (PRESETON) Beispiel Geometrieachse: A, zugehörige Maschinenachse: X1 Programmcode Kommentar N10 G0 A100 ; Achse A fährt auf Position 100 N20 PRESETON(X1,50) ; Maschinenachse X1 erhält an Position 100 den neuen Istwert 50 => neue Istwertanzeige: - Achse X1, MKS: 50 - Achse A, WKS: 50 N30 A100...
  • Seite 310: Frame-Berechnung Aus 3 Messpunkten Im Raum (Meaframe)

    Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Funktion MEAFRAME ist eine Erweiterung der 840D-Sprache für die Unterstützung der Messzyklen. Die Funktion MEAFRAME berechnet den Frame aus drei idealen und den korrespondierenden gemessenen Punkten.
  • Seite 311: Frame-Berechnung Aus 3 Messpunkten Im Raum

    Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum Hinweis Qualität der Messung Damit die gemessenen den idealen Koordinaten mit einer kombinierten Rotation/Translation zugeordnet werden können, muss das von den Messpunkten aufgespannte Dreieck kongruent zum idealen Dreieck sein. Dies wird bewerkstelligt von einem Kompensationsalgorithmus, der die Summe der Quadrate der Abweichungen minimiert, die das gemessene in das ideale Dreieck überführen.
  • Seite 312 Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Programmcode Kommentar N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS _POINT,FIT_QUALITY) N230 IF FIT_QUALITY < 0 SETAL(65000) GOTOF NO_FRAME ENDIF N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT SETAL(65010) GOTOF NO_FRAME ENDIF N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT ; Begrenzung des 1. RPY- Winkels SETAL(65020) GOTOF NO_FRAME ENDIF...
  • Seite 313 Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum Beispiel Verkettung von Frames Verkettung von MEAFRAME für Korrekturen Die Funktion MEAFRAME( ) liefert ein Korrekturframe. Wird dieser Korrekturframe mit dem einstellbaren Frame $P_UIFR[1] verkettet, der bei Aufruf der Funktion aktiv war z. B. G54, so erhält man ein einstellbaren Frame für weitere Umrechnungen zum Verfahren oder Bearbeiten.
  • Seite 314: Ncu-Globale Frames

    Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames NCU-globale Frames Funktion NCU-globale Frames gibt es pro NCU nur einmal für alle Kanäle. NCU-globale Frames können von allen Kanälen aus geschrieben und gelesen werden. Die Aktivierung der NCU- globalen Frames erfolgt im jeweiligen Kanal. Durch globale Frames können Kanalachsen und Maschinenachsen mit Verschiebungen, skaliert und gespiegelt werden.
  • Seite 315: Kanalspezifische Frames ($P_Chbfr, $P_Ubfr)

    Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames 5.7.1 Kanalspezifische Frames ($P_CHBFR, $P_UBFR) Funktion Einstellbare Frames oder Basisframes können • über das Teileprogramm und • über BTSS von der Bedienung z. B. HMI Advanced und von der PLC geschrieben und gelesen werden. Die Feinverschiebung ist auch für die globalen Frames möglich. Die Unterdrückung von globalen Frames erfolgt ebenso, wie bei kanalspezifischen Frames über G53, G153, SUPA und G500.
  • Seite 316: Im Kanal Wirksame Frames

    Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames 5.7.2 Im Kanal wirksame Frames Funktion Im Kanal wirksame Frames werden vom Teileprogramm über die betreffenden Systemvariablen dieser Frames eingegeben. Hierzu gehören auch Systemframes. Über diese Systemvariablen kann im Teileprogramm das aktuelle Systemframe gelesen und geschrieben werden.
  • Seite 317 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames $P_CHBFRAME[n] Aktuelle Kanal-Basisframes Über die Systemvariable $P_CHBFRAME[n] können die aktuellen Kanal-Basisframe- Feldelemente gelesen und geschrieben werden. Der resultierende Gesamt-Basisframe wird durch den Schreibvorgang im Kanal eingerechnet. Beim Schreiben eines Basisframes wird der Gesamt-Basisframe neu berechnet. $P_BFRAME Aktueller 1.
  • Seite 318 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames $P_CHBFRMASK und $P_NCBFRMASK Gesamt-Basisframe Über die Systemvariable $P_CHBFRMASK und $P_NCBFRMASK kann der Anwender auswählen, welche Basisframes er in die Berechnung des "Gesamt"-Basisframes mit einbeziehen möchte. Die Variablen können nur im Programm programmiert werden und über BTSS gelesen werden.
  • Seite 319 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames P_ACTFRAME Aktueller Gesamtframe Der aktuelle resultierende Gesamtframe $P_ACTFRAME ergibt sich nun als Verkettung aller Basisframes, dem aktuellen einstellbaren Frame und dem programmierbaren Frame. Der aktuelle Frame wird immer dann aktualisiert, wenn sich ein Frameanteil ändert. $P_ACTFRAME entspricht $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME : $P_IFRAME : $P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_CYCFRAME...
  • Seite 320: Frame-Kettung

    Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames 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. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 321: Transformationen

    Transformationen Allgemeine Programmierung der Transformationsarten Allgemeine Funktion Zur Anpassung der Steuerung an verschiedene Maschinenkinematiken besteht die Auswahl Transformationsarten mit geeigneten Parametern zu programmieren. Über diese Parameter kann für die ausgewählte Transformation sowohl die Orientierung des Werkzeugs im Raum als auch die Orientierungsbewegungen der Rundachsen entsprechend vereinbart werden. Bei den Drei-, Vier- und Fünf-Achs-Transformationen beziehen sich die programmierten, Positionsangaben immer auf die Spitze des Werkzeugs, welches orthogonal zur im Raum befindlichen Bearbeitungsfläche nachgeführt wird.
  • Seite 322: Kinematikunabhängige Grundstellung Der Werkzeugorientierung

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Orientierungstransformation Drei-, Vier- und Fünf- Achs-Transformationen TRAORI Zur optimalen Bearbeitung räumlich geformter Flächen im Arbeitsraum der Maschine, benötigen Werkzeugmaschinen außer den drei Linearachsen X, Y und Z noch zusätzliche Achsen. Die zusätzlichen Achsen beschreiben die Orientierung im Raum und werden nachfolgend Orientierungsachsen genannt.
  • Seite 323: Verkettete Transformationen

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Kinematische Transformationen TRANSMIT und TRACYL Bei Fräsbearbeitungen an Drehmaschinen kann für die vereinbarte Transformation entweder 1. eine stirnseitige Bearbeitung in der Drehaufspannung mit TRANSMIT oder 2. eine Bearbeitung von beliebig verlaufenden Nuten an zylindrischen Körpern mit TRACYL programmiert werden.
  • Seite 324: Orientierungsbewegungen Bei Den Transformationen

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten 6.1.1 Orientierungsbewegungen bei den Transformationen Verfahrbewegungen und Orientierungsbewegungen Die Verfahrbewegungen der programmierbaren Orientierungen hängen primär vom Maschinentyp ab. Bei der Drei-, Vier- und Fünf-Achs-Transformation mit TRAORI beschreiben die rotatorischen Achsen oder die schwenkbaren Linearachsen die Orientierungsbewegungen des Werkzeugs.
  • Seite 325: Kinematische Transformationen Transmit, Tracyl Und Traang

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Maschinentyp Programmierung der Orientierung Drei-Achs-Transformation Programmierung der Werkzeugorientierung nur in der Ebene, Maschinentypen 1 und 2 die senkrecht zu der rotatorischen Achse ist. Es existieren zwei translatorischen Achsen (Linearachsen) und einer rotatorischen Achse (Rundachse). Vier-Achs-Transformation Programmierung der Werkzeugorientierung nur in der Ebene, Maschinentypen 1 und 2...
  • Seite 326: Beispiel Drei-, Bis Fünf-Achs-Transformation Bei Einen Kardanischen Fräskopf

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten TRACYL Aktivierung der Zylindermanteltransformation Bearbeitung von beliebig eine Rundachse verlaufenden Nuten an eine Zustellachse senkrecht zur Drehachse den zylindrischen Körper eine Längsachse parallel zur Drehachse TRAANG Aktivierung der Transformation Schräge Achse Bearbeitung mit schräger eine Rundachse Zustellachse eine Zustellachse mit parametrierbaren Winkel...
  • Seite 327: Übersicht Der Orientierungstransformation Traori

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten 6.1.2 Übersicht der Orientierungstransformation TRAORI Mögliche Programmierungsarten im Zusammenhang mit TRAORI Maschinentyp Programmierung bei aktiver Transformation TRAORI Maschinentypen 1, 2 oder 3 Achsfolge der Orientierungsachsen und die Orientierungsrichtung Zweiachs-Schwenkkopf oder des Werkzeugs ist und entweder Zweiachs-Drehtisch oder eine maschinenbezogen projektierbar über Maschinendaten Kombination von jeweils...
  • Seite 328 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Maschinentyp Programmierung bei aktiver Transformation TRAORI Maschinentypen 1 und 3 Programmierung der Drehungen der Werkzeugorientierung mit LEAD Voreilwinkel Winkel relativ zum Flächennormalenvektor PO[PHI] Programmierung eines Polynoms bis 5.Grades TILT Seitwärtswinkel Drehung um Bahntangente (Z-Richtung) PO[PSI] Programmierung eines Polynoms bis 5.Grades Weitere Maschinentypen mit THETA Drehwinkel (Drehung um die Werkzeugrichtung in Z)
  • Seite 329: Drei-, Vier- Und Fünf-Achs-Transformation (Traori)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.1 Allgemeine Zusammenhänge Kardanischer Werkzeugkopf Funktion Um optimale Schnittbedingungen beim Bearbeiten räumlich gekrümmter Flächen zu erzielen, muss der Anstellwinkel des Werkzeugs veränderbar sein. Bild 6-2 Mit welcher Maschinenkonstruktion dies erreicht wird, ist in den Achsdaten hinterlegt. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 330 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 5-Achs-Transformation Kardanischer Werkzeugkopf Hier legen drei Linearachsen (X, Y, Z) und zwei Orientierungsachsen (C, A) den Anstellwinkel und Arbeitspunkt des Werkzeugs fest. Eine der beiden Orientierungsachsen ist als Schrägachse angelegt, hier im Beispiel A' - in vielen Fällen als 45°-Anordnung. In den hier gezeigten Beispielen sehen Sie die Anordnungen am Beispiel mit dem Kardanischen Werkzeugkopf der Maschinenkinematik CA! Maschinenhersteller...
  • Seite 331 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Allgemein gelten folgende mögliche Zusammenhänge: A' liegt unter dem Winkel φ zur X-Achse B' liegt unter dem Winkel φ zur Y-Achse C' liegt unter dem Winkel φ zur Z-Achse Der Winkel φ kann im Bereich 0° bis +89° über Maschinendaten projektiert werden. Mit schwenkbarer Linearachse Hierbei handelt es sich um eine Anordnung mit bewegtem Werkstück und bewegtem Werkzeug.
  • Seite 332: Drei, Vier, Und Fünf- Achs-Transformation (Traori)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.2 Drei, Vier, und Fünf- Achs-Transformation (TRAORI) Funktion Der Anwender kann zwei bzw. drei translatorische Achsen und eine rotatorische Achse projektieren. Die Transformationen gehen davon aus, dass die rotatorische Achse orthogonal auf der Orientierungsebene steht. Die Orientierung des Werkzeugs ist nur in der Ebene möglich, die senkrecht zur rotatorischen Achse ist.
  • Seite 333: Beispiele

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Werkzeugorientierung Abhängig von der gewählten Orientierungsrichtung des Werkzeugs muss im NC-Programm die aktive Arbeitsebene (G17, G18, G19) so eingestellt werden, dass die Werkzeuglängenkorrektur in Richtung der Werkzeugorientierung wirkt. Hinweis Nach dem Einschalten der Transformation beziehen sich Positionsangaben (X, Y, Z) immer auf die Spitze des Werkzeugs.
  • Seite 334: Varianten Der Orientierungsprogrammierung Und Grundstellung (Orireset)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.3 Varianten der Orientierungsprogrammierung und Grundstellung (ORIRESET) Orientierungsprogrammierung der Werkzeugorientierung bei TRAORI In Verbindung mit einer programmierbaren Orientierungstransformation TRAORI können zusätzlich zu den Linearachsen X, Y, Z auch über die Rundachsbezeichner A.., B..., C... Achspositionen oder virtuelle Achsen mit Winkeln oder Vektorkomponenten programmiert werden.
  • Seite 335: Programmierung Der Drehungen Lead, Tilt Und Theta

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beispiele 1. Beispiel für Maschinenkinematik CA (Kanalachsnamen C, A) ORIRESET(90, 45) ;C auf 90 Grad, A auf 45 Grad ORIRESET(, 30) ;C auf $MC_TRAFO5_ROT_AX_OFFSET_1/2[0], A auf 30 Grad ORIRESET( ) ;C auf $MC_TRAFO5_ROT_AX_OFFSET_1/2[0], ;A auf $MC_TRAFO5_ROT_AX_OFFSET_1/2[1] 2.
  • Seite 336: Definition Der Werkzeugorientierung Über G-Code

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6. Programmierung der Drehachse des Kegels als normierter Vektor über A6, B6, C6 oder der Zwischenorientierung auf der Kegelmantelfläche über A7, B7, C7, siehe Kapitel "Orientierungsprogrammierung entlang einer Kegelmantelfläche (ORIPLANE, ORICONxx)". 7. Programmierung der Umorientierung, Richtung und Weglänge des Werkzeugs während der Abhebebewegung über A8, B8, C8, siehe Kapitel "Glättung des Orientierungsverlaufs (ORIPATHS A8=, B8=, C8=)"...
  • Seite 337: Programmierung

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung Programmierung der Bewegung der Rundachsen G1 X Y Z A B C Programmierung in Eulerwinkeln G1 X Y Z A2= B2= C2= Programmierung des Richtungsvektors G1 X Y Z A3== B3== C3== Programmierung des Flächennormalenvektors G1 X Y Z A4== B4== C4== am Satzanfang...
  • Seite 338: Beispiel Gegenüberstellung Ohne Und Mit 5-Achs-Transformation

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beispiel Gegenüberstellung ohne und mit 5-Achs-Transformation Beschreibung In der Regel werden 5-Achs-Programme von CAD/CAM-Systemen erzeugt und nicht an der Steuerung eingegeben. Deshalb wenden sich die folgenden Erklärungen hauptsächlich an Programmierer von Postprozessoren. Die Art der Orientierungsprogrammierung wird in der G-Code Gruppe 50 festgelegt: ORIEULER über Euler-Winkel ORIRPY über RPY-Winkel (Drehreihenfolge ZYX) ORIVIRT1 über virtuelle Orientierungsachsen (Definition 1)
  • Seite 339: Programmierung In Eulerwinkeln Orieuler

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung in Eulerwinkeln ORIEULER Die bei der Orientierungsprogrammierung mit A2, B2, C2 programmierten Werte werden als Eulerwinkel (in Grad) interpretiert. Der Orientierungsvektor ergibt sich, indem ein Vektor in Z-Richtung zunächst mit A2 um die Z-Achse, dann mit B2 um die neue X-Achse und zuletzt mit C2 um die neue Z-Achse gedreht wird.
  • Seite 340: Programmierung In Rpy-Winkeln Orirpy

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung in RPY-Winkeln ORIRPY Die bei der Orientierungsprogrammierung mit A2, B2, C2 programmierten Werte werden als RPY-Winkel (in Grad) interpretiert. Hinweis Im Gegensatz zur Eulerwinkel-Programmierung haben hier alle drei Werte Einfluss auf den Orientierungsvektor.
  • Seite 341: Programmierung Des Richtungsvektors

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung des Richtungsvektors Die Komponenten des Richtungsvektors werden mit A3, B3, C3 programmiert. Der Vektor zeigt in Richtung Werkzeugaufnahme; die Länge des Vektors ist dabei ohne Bedeutung. Nicht programmierte Vektorkomponenten werden gleich Null gesetzt. Programmierung der Werkzeugorientierung mit LEAD= und TILT= Die resultierende Werkzeugorientierung wird ermittelt aus: •...
  • Seite 342: Stirnfräsen (3D-Fräsen A4, B4, C4, A5, B5, C5)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Definition der Werkzeugorientierung mit LEAD= und TILT= Bild 6-3 6.2.5 Stirnfräsen (3D-Fräsen A4, B4, C4, A5, B5, C5) Funktion Stirnfräsen dient zur Bearbeitung beliebig gekrümmter Oberflächen. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 343: Programmierung Der Bahnkrümmung

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Für diese Art des 3D-Fräsens benötigen Sie die zeilenweise Beschreibung der 3D-Bahnen auf der Werkstückoberfläche. Die Berechnungen werden unter Berücksichtigung der Werkzeugform und Werkzeugabmessungen üblicherweise im CAM durchgeführt. Die fertig berechneten NC- Sätze werden dann über Postprozessoren in die Steuerung eingelesen. Programmierung der Bahnkrümmung Beschreibung der Flächen Die Beschreibung der Bahnkrümmung erfolgt über Flächennormalenvektoren mit folgenden...
  • Seite 344: Bezug Der Orientierungsachsen (Oriwks, Orimks)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.6 Bezug der Orientierungsachsen (ORIWKS, ORIMKS) Funktion Bei Orientierungsprogrammierung im Werkstückkoordinatensystem über • Euler- bzw. RPY-Winkel oder • Orientierungsvektor kann der Verlauf der Drehbewegung über ORIMKS/ORIWKS eingestellt werden. Hinweis Maschinenhersteller Die Interpolationsart für die Orientierung wird festgelegt mit dem Maschinendatum: MD21104 $MC_ORI_IPO_WITH_G_CODE = FALSE: Bezug sind die G-Funktionen ORIWKS und ORIMKS = TRUE: Bezug sind die G- Funktionen der 51. Gruppe (ORIAXES, ORIVECT, ORIPLANE,...
  • Seite 345 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Singuläre Stellungen Hinweis ORIWKS Orientierungsbewegungen im Bereich der singulären Stellung der Fünf-Achs-Maschine erfordern große Bewegungen der Maschinenachsen. (Beispielsweise sind bei einem Drehschwenkkopf mit C als Drehachse und A als Schwenkachse alle Stellungen mit A=0 singulär.) Maschinenhersteller Um die Maschinenachsen nicht zu überlasten, senkt die Geschwindigkeitsführung die...
  • Seite 346: Programmierung Der Orientierungsachsen (Oriaxes, Orivect, Orieuler, Orirpy, Orirpy2, Orivirt1, Orivirt2)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.7 Programmierung der Orientierungsachsen (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) Funktion Die Funktion Orientierungsachsen beschreibt die Orientierung des Werkzeugs im Raum und wird durch Programmierung der Offsets für die Rundachsen erreicht. Ein weiterer dritter Freiheitsgrad kann durch die zusätzliche Drehung des Werkzeugs um sich selbst erzielt werden.
  • Seite 347: Betriebsart Jog

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) ORIRPY Orientierungsprogrammierung über RPY-Winkel. Die Drehreihenfolge ist XYZ, wobei gilt: A2 ist der Drehwinkel um X B2 ist der Drehwinkel um Y C2 ist der Drehwinkel um Z ORIRPY2 Orientierungsprogrammierung über RPY-Winkel. Die Drehreihenfolge ist ZYX, wobei gilt: A2 ist der Drehwinkel um Z B2 ist der Drehwinkel um Y...
  • Seite 348: Orientierungsprogrammierung Entlang Einer Kegelmantelfläche (Oriplane, Oriconcw, Oriconccw, Oriconto, Oriconio)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Hinweis SINUMERIK 840D mit "Transformationspaket Handling" Mit der Funktion "Kartesisches Handverfahren" kann im JOG-Betrieb die Translation von Geometrieachsen in den Bezugssystemen MKS, WKS und TKS getrennt voneinander eingestellt werden. Literatur: /FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformation (M1) 6.2.8 Orientierungsprogrammierung entlang einer Kegelmantelfläche (ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO)
  • Seite 349 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung Die Endorientierung wird entweder durch Angabe der Winkelprogrammierung in Euler- oder RPY-Winkel mit A2, B2, C2 oder durch Programmierung der Rundachspositionen mit A, B, C festgelegt. Für die Orientierungsachsen entlang der Kegelmantelfläche sind weitere Programmierangaben erforderlich: •...
  • Seite 350: Beispiel Unterschiedliche Orientierungsänderungen

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Parameter ORIPLANE Interpolation in der Ebene (Großkreisinterpolation) ORICONCW Interpolation auf einer Kegelmantelfläche im Uhrzeigersinn ORICONCCW Interpolation auf einer Kegelmantelfläche gegen Uhrzeigersinn ORICONTO Interpolation auf einer Kegelmantelfläche tangentialer Übergang A6= B6= C6= Programmierung der Drehachse des Kegels (normierter Vektor) NUT=winkel Öffnungswinkel des Kegels in Grad...
  • Seite 351: Orientierungsprogrammierung

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beschreibung Sollen Orientierungsänderungen auf einer beliebig im Raum liegenden Kegelmantelfläche beschrieben werden, dann muss der Vektor um den die Werkzeugorientierung gedreht werden soll, bekannt sein. Außerdem müssen die Start- und Endorientierung vorgegeben werden. Die Startorientierung ergibt sich aus den vorhergehenden Satz und die Endorientierung muss entweder programmiert oder durch andere Bedingungen festgelegt werden.
  • Seite 352: Orientierungsvorgabe Zweier Kontaktpunke (Oricurve, Po[Xh]=, Po[Yh]=, Po[Zh]=)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.9 Orientierungsvorgabe zweier Kontaktpunke (ORICURVE, PO[XH]=, PO[YH]=, PO[ZH]=) Funktion Programmierung der Orientierungsänderung durch die zweite Raumkurve ORICURVE Eine weitere Möglichkeit der Programmierung von Orientierungsänderungen besteht darin, außer der Werkzeugspitze entlang einer Raumkurve auch die Bewegung eines zweiten Kontaktpunktes des Werkzeugs mit ORICURVE zu programmieren.
  • Seite 353 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Parameter ORICURVE Interpolation der Orientierung mit Vorgabe der Bewegung zweier Kontaktpunkte des Werkzeuges. XH YH ZH Bezeichner der Koordinaten des zweiten Kontaktpunktes des Werkzeugs der zusätzlichen Kontur als Raumkurve mögliche Polynome Außer den jeweiligen Endpunkten sind die Raumkurven PO[XH]=(xe, x2, x3, x4, zusätzlich mit Polynomen programmierbar.
  • Seite 354: Orientierungspolynome (Po[Winkel], Po[Koordinate])

    Transformationen 6.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Orientierungspolynome (PO[Winkel], PO[Koordinate]) Funktion Unabhängig davon, welche Polynominterpolation der G-Code Gruppe 1 gerade aktiv ist, können zwei verschiedene Typen von Orientierungspolynomen bis maximal 5. Grades bei einer Drei- bis Fünf-Achs-Transformation programmiert werden. 1. Polynome für Winkel: Voreilwinkel LEAD, Seitwärtswinkel TILT in Bezug auf die Ebene, die von Start- und Endorientierung aufgespannt wird.
  • Seite 355 Transformationen 6.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Bedeutung Winkel in der Ebene zwischen Start- und Endorientierung PO[PHI] Winkel der die Auskippung der Orientierung aus der Ebene zwischen Start- und PO[PSI] Endorientierung beschreibt Drehwinkel der durch Drehung des Drehvektors einer der mit THETA PO[THT] programmierten G-Codes der Gruppe 54 Voreilwinkel LEAD...
  • Seite 356: Drehungen Der Werkzeugorientierung (Orirota, Orirotr, Orirott, Orirotc, Theta)

    Transformationen 6.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) Funktion Soll bei Maschinentypen mit beweglichem Werkzeug auch die Orientierung des Werkzeugs veränderbar sein, so wird jeder Satz mit einer Endorientierung programmiert. Abhängig von der Maschinenkinematik können entweder die Orientierungsrichtung der Orientierungsachsen oder die Drehrichtung des Orientierungsvektors THETA programmiert werden.
  • Seite 357: Beispiel Drehungen Der Orientierungen

    Transformationen 6.4 Drehungen der Werkzeugorientierung (ORIROTA, Bedeutung Drehwinkel zu einer absolut vorgegebenen Drehrichtung ORIROTA Drehwinkel relativ zur Ebene zwischen Start- und Endorientierung ORIROTR Drehwinkel als tangentialer Drehvektor zur Orientierungsänderung ORIROTT Drehwinkel als tangentialer Drehvektor zur Bahntangente ORIROTC Drehung des Orientierungsvektors THETA Drehwinkel in Grad, der am Satzende erreicht wird THETA=Wert...
  • Seite 358 Transformationen 6.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) Beschreibung ORIROTA Der Drehwinkel THETA wird bezüglich einer absolut festgelegten Richtung im Raum interpoliert. Die Grunddrehrichtung erfolgt über Maschinendaten ORIROTR Der Drehwinkel THETA wird relativ zur Ebene, die von der Start- und Endorientierung aufgespannt wird, interpretiert.
  • Seite 359: Bahnrelative Orientierungen

    Transformationen 6.5 Bahnrelative Orientierungen Bahnrelative Orientierungen 6.5.1 Orientierungsarten relativ zur Bahn Funktion Mit dieser erweiterten Funktion wird die relative Orientierung nicht nur am Satzende, sondern über den gesamten Bahnverlauf erreicht. Es wird die im Vorgängersatz erreichte Orientierung mittels Großkreisinterpolation in die programmierte Endorientierung überführt. Grundsätzlich gibt es zwei Möglichkeiten die gewünschte Orientierung relativ zur Bahn zu programmieren: 1.
  • Seite 360 Transformationen 6.5 Bahnrelative Orientierungen Hinweis Maschinenhersteller Bitte beachten Sie die Angaben des Maschinenherstellers. Über projektierbare Maschinen- und Settingdaten können zur Bahnrelativen Orientierungsart weitere Einstellungen vorgenommen werden. Weitere Erläuterungen siehe Literatur: /FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achs-Transformation (F2), Kapitel "Orientierung" Bedeutung Die Interpolation der Winkel LEAD und TILT ist über Maschinedatum unterschiedlich einstellbar: •...
  • Seite 361: Bahnrelative Drehung Der Werkzeugorientierung (Oripath, Oripaths, Drehwinkel)

    Transformationen 6.5 Bahnrelative Orientierungen 6.5.2 Bahnrelative Drehung Werkzeugorientierung (ORIPATH, ORIPATHS, Drehwinkel) Funktion Bei einer Sechs-Achs-Transformation kann zur Werkzeugorientierung beliebig im Raum auch das Werkzeug mit einer dritten Rundachse um sich selbst gedreht werden. Bei bahnrelativer Drehung der Werkzeugorientierung mit ORIPATH bzw. ORIPATHS kann die zusätzliche Drehung über den Drehwinkel THETA programmiert werden.
  • Seite 362: Bahnrelative Interpolation Der Werkzeugdrehung (Orirotc, Theta)

    Transformationen 6.5 Bahnrelative Orientierungen Bedeutung Bahnrelative Werkzeugorientierung Werkzeugorientierung bezogen auf die Bahn ORIPATH Werkzeugorientierung bezogen auf die Bahn Knick im Orientierungsverlauf wird ORIPATHS geglättet Winkel relativ zum Flächennormalenvektor, in der von Bahntangente und LEAD Flächennormalenvektor aufgespannten Ebene Drehung der Orientierung um die Z-Richtung bzw. Drehung um die TILT Bahntangente Drehung um die Werkzeugrichtung nach Z...
  • Seite 363 Transformationen 6.5 Bahnrelative Orientierungen Bedeutung Bahnrelative Interpolation der Drehung des Werkzeugs bei Sechs-Achs-Transformation tangentialer Drehvektor zur Bahntangente anstellen ORIROTC Drehwinkel in Grad, der am Satzende erreicht wird THETA=Wert Drehwinkel mit Endwinkel Θ des Drehvektors THETA=θe Satzweise auf Maßangabe absolut umschalten THETA=AC(…) Satzweise auf Kettenmaßangabe umschalten THETA=IC(…)
  • Seite 364: Glättung Des Orientierungsverlaufs (Oripaths A8=, B8=, C8=)

    Transformationen 6.5 Bahnrelative Orientierungen Orientierungsprogrammierung über virtuelle ORIVIRT1 Orientierungsachsen ORIVIRT2 (Definition 1), Festlegung nach MD $MC_ORIAX_TURN_TAB_1 (Definition 2), Festlegung nach MD $MC_ORIAX_TURN_TAB_2 Richtungsvektorprogrammierung der Richtungsachse A3= B3= C3= Interpolation in der Ebene (Großkreisinterpolation) ORIPLANE Interpolation auf einer Kegelmantelfläche im Uhrzeigersinn ORICONCW Interpolation auf einer Kegelmantelfläche gegen Uhrzeigersinn ORICONCCW...
  • Seite 365 Transformationen 6.5 Bahnrelative Orientierungen Über Maschinendatum ist einstellbar, wie der Abhebevektor interpretiert wird: 1. Im Werkzeugkoordinatensystem wird die Z-Koordinate durch die Werkzeugrichtung definiert. 2. Im Werkstückkoordinatensystem wird die Z-Koordinate durch die aktive Ebene definiert. Weitere Erläuterungen zur Funktion "Bahnrelative Orientierung" siehe Literatur: /FB3/ Funktionshandbuch Sonderfunktionen;...
  • Seite 366: Komprimierung Der Orientierung (Compon, Compcurv, Compcad)

    Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Funktion NC-Programme, in denen eine Orientierungstransformation (TRAORI) aktiv ist und Werkzeugorientierungen (egal welcher Art) programmiert sind, können unter Einhaltung von vorgegeben Toleranzen komprimiert werden. Programmierung Werkzeugorientierung Falls eine Orientierungstransformation (TRAORI) aktiv ist, kann bei 5-Achs Maschinen die Werkzeugorientierung folgendermaßen (kinematikunabhängig) programmiert werden: •...
  • Seite 367 Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, Hinweis Die Positionswerte können direkt (z. B. X90) oder indirekt über Parameterzuweisungen (z. B. X=R1*(R2+R3)) angegeben werden. Programmierung der Werkzeugorientierung durch Rundachspositionen Die Werkzeugorientierung kann auch durch Rundachspositionen angegeben sein, z. B. in der Form: N... X=<...> Y=<...> Z=<...> A=<...> B=<...> C=<...> THETA=<...> F=<...> In diesem Fall wird die Komprimierung auf zwei unterschiedliche Arten durchgeführt, abhängig davon ob eine Großkreisinterpolation durchgeführt wird oder nicht.
  • Seite 368 Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Hinweis Die Orientierungsbewegung wird nur komprimiert bei aktiver Großkreisinterpolation (d. h. die Änderung der Werkzeugorientierung erfolgt in der Ebene, die von Start- und Endorientierung aufgespannt wird). Eine Großkreisinterpolation wird unter den folgenden Bedingungen durchgeführt: •...
  • Seite 369: Glättung Des Orientierungsverlaufs (Orison, Orisof)

    Transformationen 6.7 Glättung des Orientierungsverlaufs (ORISON, ORISOF) Glättung des Orientierungsverlaufs (ORISON, ORISOF) Funktion Mit der Funktion "Glättung des Orientierungsverlaufs (ORISON)" können Schwankungen der Orientierung über mehrere Sätze hinweg geglättet werden. Dadurch wird ein glatter Verlauf sowohl der Orientierung als auch der Kontur erzielt. Voraussetzung Die Funktion "Glättung des Orientierungsverlaufs (ORISON)"...
  • Seite 370: Weitere Informationen

    Transformationen 6.7 Glättung des Orientierungsverlaufs (ORISON, ORISOF) Beispiel Programmcode Kommentar TRAORI() ; Einschalten der Orientierungstransformation. ORISON ; Einschalten der Orientierungsglättung. $SC_ORISON_TOL=1.0 ; Toleranz der Orientierungsglättung = 1,0 Grad. X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1...
  • Seite 371: Kinematische Transformation

    Transformationen 6.8 Kinematische Transformation Kinematische Transformation 6.8.1 Fräsbearbeitung an Drehteilen (TRANSMIT) Funktion Die Funktion TRANSMIT ermöglicht folgende Leistungen: • Stirnseitige Bearbeitung an Drehteilen in der Drehaufspannung (Bohrungen, Konturen). • Für die Programmierung dieser Bearbeitungen kann ein kartesisches Koordinatensystem benutzt werden. •...
  • Seite 372 Transformationen 6.8 Kinematische Transformation TRANSMIT Transformationstypen Für TRANSMIT-Bearbeitungen gibt es zwei einstellbare Ausprägungen: • TRANSMIT im Standardfall mit (TRAFO_TYPE_n = 256) • TRANSMIT mit zusätzlicher Y-Linearachse (TRAFO_TYPE_n = 257) Der erweiterte Transformationstyp 257 kann dazu verwendet werden, um z. B. Aufspannkorrekturen eines Werkzeugs mit realer Y-Achse zu kompensieren.
  • Seite 373 Transformationen 6.8 Kinematische Transformation Beispiel Programmcode Kommentar N10 T1 D1 G54 G17 G90 F5000 G94 Werkzeuganwahl N20 G0 X20 Z10 SPOS=45 Anfahren der Ausgangsstellung N30 TRANSMIT TRANSMIT-Funktion aktivieren N40 ROT RPL=–45 Frame einstellen N50 ATRANS X–2 Y10 N60 G1 X10 Y–10 G41 OFFN=1OFFN Vierkant schruppen;...
  • Seite 374: Beschreibung

    Transformationen 6.8 Kinematische Transformation Beschreibung Zum Durchfahren des Pols gibt es zwei Möglichkeiten: • Verfahren der Linearachse allein • Verfahren in den Pol mit Drehung der Rundachse im Pol und Fahren aus dem Pol Die Auswahl erfolgt über die MD 24911 und 24951. TRANSMIT mit zusätzlicher Y-Linearachse (Transformationstyp 257): Diese Tranformationsvariante der Polar-Transformation nützt bei einer Maschine mit einer weiteren Linearachse die Redundanz aus, um eine verbesserte Werkzeugkorrektur...
  • Seite 375: Zylindermanteltransformation (Tracyl)

    Transformationen 6.8 Kinematische Transformation 6.8.2 Zylindermanteltransformation (TRACYL) Funktion Die Zylindermantelkurventransformation TRACYL ermöglicht folgende Leistungen: Bearbeitung von • Längsnuten an zylindrischen Körpern, • Quernuten an zylindrischen Körpern, • beliebig verlaufende Nuten an zylindrischen Körpern. Der Verlauf der Nuten wird bezogen auf die abgewickelte, ebene Zylindermantelfläche programmiert.
  • Seite 376 Transformationen 6.8 Kinematische Transformation Achsnutzung Folgende Achsen können nicht als Positionierachse bzw. Pendelachse verwendet werden: • die Geometrieachse in Umfangsrichtung der Zylindermantelfläche (Y-Achse) • die zusätzliche Linearachse bei Nutwandkorrektur (Z-Achse) Syntax TRACYL(d) oder TRACYL(d, n) oder für Transformationstyp 514 TRACYL(d, n, Nutwandkorrektur) TRAFOOF Rundachse Die Rundachse kann nicht programmiert werden, da sie von einer Geometrie-Achse belegt...
  • Seite 377: Beispiel: Definition Des Werkzeugs

    Transformationen 6.8 Kinematische Transformation Beispiel: Definition des Werkzeugs Folgendes Beispiel ist geeignet, die Parametrierung der Zylindertransformation TRACYL zu testen: Programmcode Kommentar Werkzeugparameter Bedeutung Bemerkung Nummer (DP) $TC_DP1[1,1]=120 Werkzeugtyp Fräser $TC_DP2[1,1]=0 Schneidenlage nur für Drehwerkzeuge Programmcode Kommentar Geometrie Längenkorrektur $TC_DP3[1,1]=8. Längenkorrekturvektor Verrechnung nach Typ $TC_DP4[1,1]=9.
  • Seite 378: Zylindermanteltransformation Einschalten

    Transformationen 6.8 Kinematische Transformation Beispiel: Fertigen einer hakenförmigen Nut Zylindermanteltransformation einschalten: Programmcode Kommentar N10 T1 D1 G54 G90 F5000 G94 ; Werkzeuganwahl, Aufspannkompensation N20 SPOS=0 ; Anfahren der Ausgangsstellung N30 G0 X25 Y0 Z105 CC=200 N40 TRACYL (40) ; Zylindermantelkurventransformation ;einschalten N50 G19 ;...
  • Seite 379 Transformationen 6.8 Kinematische Transformation Programmcode Kommentar N170 G0 X25 Y0 Z105 CC=200 ; Anfahren der Ausgangsstellung N180 M30 Beschreibung Ohne Nutwandkorrektur (Transformationstyp 512): Die Steuerung transformiert die programmierten Verfahrbewegungen des Zylinder- Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen: • Rundachse •...
  • Seite 380 Transformationen 6.8 Kinematische Transformation Nutquerschnitt Bei Achskonfiguration 1 sind Nuten längs zur Rundachse nur dann parallel begrenzt, wenn die Nutbreite genau dem Werkzeugradius entspricht. Nuten parallel zum Umfang (Quernuten) sind an Anfang und Ende nicht parallel. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 381 Transformationen 6.8 Kinematische Transformation Mit zusätzlicher Linearachse und mit Nutwandkorrektur (Transformationstyp 514): Diese Transformationsvariante nützt bei einer Maschine mit einer weiteren Linearachse die Redundanz aus, um eine verbesserte Werkzeugkorrektur durchzuführen. Für die zweite Linearachse gilt dann: • ein kleinerer Arbeitsbereich und •...
  • Seite 382 Transformationen 6.8 Kinematische Transformation Ein Teileprogramm zum Fräsen einer Nut besteht in der Regel aus folgenden Schritten: 1. Werkzeug anwählen 2. TRACYL anwählen 3. Passende Koordinatenverschiebung (FRAME) anwählen 4. Positionieren 5. OFFN programmieren 6. WRK anwählen 7. Anfahrsatz (Einfahren der WRK und Anfahren der Nutwand) 8.
  • Seite 383: Schräge Achse (Traang)

    Transformationen 6.8 Kinematische Transformation 6.8.3 Schräge Achse (TRAANG) Funktion Die Funktion Schräge Achse ist für die Technologie Schleifen gedacht und ermöglicht folgende Leistungen: • Bearbeitung mit schräger Zustellachse • Für die Programmierung kann ein kartesisches Koordinatensystem verwendet werden. • Die Steuerung transformiert die programmierten Verfahrbewegungen des kartesischen Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen (Standardfall): schräge Zustellachse.
  • Seite 384 Transformationen 6.8 Kinematische Transformation Transformation aus TRAFOOF Anzahl vereinbarte Transformationen Winkel α weglassen oder Null Wird der Winkel α weggelassen (z. B. TRAANG(), TRAANG(, n)), wird die Transformation mit der Parametrierung der vorhergehenden Anwahl aktiviert. Bei der ersten Anwahl gilt die Vorbelegung gemäß...
  • Seite 385 Transformationen 6.8 Kinematische Transformation Beschreibung Folgende Bearbeitungen sind möglich: 1. Längsschleifen 2. Planschleifen 3. Schleifen einer bestimmten Kontur 4. Schrägeinstechschleifen Maschinenhersteller Folgende Einstellungen werden über Maschinendatum festgelegt: • der Winkel zwischen einer Maschinenachse und der schrägen Achse, • die Lage des Werkzeugnullpunktes bezogen auf den Ursprung des bei der Funktion "Schräge Achse"...
  • Seite 386: Schräge Achse Programmieren (G05, G07)

    Transformationen 6.8 Kinematische Transformation Achskonfiguration Um im kartesischen Koordinatensystem programmieren zu können, muss der Steuerung der Zusammenhang zwischen diesem Koordinatensystem und den tatsächlich existierenden Maschinenachsen (MU, MZ) mitgeteilt werden: • Benennung der Geometrieachsen • Zuordnung der Geometrieachsen zu Kanalachsen allgemeiner Fall (Schräge Achse nicht aktiv) Schräge Achse aktiv •...
  • Seite 387 Transformationen 6.8 Kinematische Transformation Bedeutung Startposition anfahren Aktiviert Schrägeinstechen Beispiel Programmierung Kommentar N.. G18 ; Winkel für die Schräge Achse programmieren N50 G07 X70 Z40 F4000 ; Startposition anfahren N60 G05 X70 F100 ; Schräg einstechen N70 ... Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 388: Kartesisches Ptp-Fahren

    Transformationen 6.9 Kartesisches PTP-Fahren Kartesisches PTP-Fahren Funktion Mit dieser Funktion kann eine Position in einem kartesischen Koordinatensystem programmiert werden, die Bewegung der Maschine erfolgt aber in Maschinenkoordinaten. Die Funktion kann beispielsweise beim Wechseln der Gelenkstellung angewendet werden, wenn dabei die Bewegung durch eine Singularität führt. Hinweis Die Funktion ist nur in Verbindung mit einer aktiven Transformation sinnvoll.
  • Seite 389 Transformationen 6.9 Kartesisches PTP-Fahren Bedeutung Die Befehle PTP und CP sind modal wirksam. CP ist die Standardeinstellung. Während die Programmierung des STAT–Wertes modal gültig ist, wirkt die Programmierung von TU = <...> satzweise. Ein weiterer Unterschied ist auch, dass die Programmierung eines STAT–Wertes sich nur bei Vektorinterpolation auswirkt, während die Programmierung von TU auch bei aktiver Rundachsinterpolation ausgewertet wird.
  • Seite 390: Beispiel Ptp-Fahren Bei Generischer 5-Achs Transformation

    Transformationen 6.9 Kartesisches PTP-Fahren Transformation wieder aktiv N50 X1200 Z400 CP N60 X1000 Z500 A20 N70 M30 Beispiel PTP-Fahren bei generischer 5-Achs Transformation Annahme: Es liegt eine rechtwinklige CA–Kinematik zu Grunde. Programmcode Kommentar TRAORI ; Transformation CA-Kinematik ein ; PTP-Fahren einschalten N10 A3 = 0 B3 = 0 C3 = 1 ;...
  • Seite 391 Transformationen 6.9 Kartesisches PTP-Fahren Die Stellungsbits, welche bei "STAT" zu programmieren sind, siehe: /FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformation (M1), Kapitel "Kartesisches PTP-Fahren". Programmierung der Achswinkel (TU=) Um Achswinkel < ±360 Grad eindeutig anfahren zu können, muss diese Information mit dem Befehl "TU= "...
  • Seite 392 Transformationen 6.9 Kartesisches PTP-Fahren Weiteres Verhalten Betriebsartenwechsel Die Funktion "Kartesisches PTP-Fahren" ist nur in den Betriebsarten AUTO und MDA sinnvoll. Beim Wechsel der Betriebsart nach JOG bleibt die aktuelle Einstellung erhalten. Wenn der G-Code PTP eingestellt ist, werden die Achsen im MKS verfahren. Wenn der G- Code CP eingestellt ist, werden die Achsen im WKS verfahren.
  • Seite 393: Ptp Bei Transmit

    Transformationen 6.9 Kartesisches PTP-Fahren 6.9.1 PTP bei TRANSMIT Funktion Mit PTP bei TRANSMIT können G0- und G1-Sätze zeitoptimiert angefahren werden. Anstatt die Achsen des Basiskoordinatensystems linear zu verfahren (CP), werden die Maschinenachsen linear verfahren (PTP). Dadurch wirkt sich der Maschinenachsverlauf in Polnähe so aus, dass der Satzendpunkt erheblich schneller erreicht werden kann.
  • Seite 394 Transformationen 6.9 Kartesisches PTP-Fahren Beispiel Umfahren des Poles mit PTP und TRANSMIT Bild 6-8 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 danach wieder CP N020 G0 X30 Y20 N030 X-30 Y-20 N120 G1 X30 Y20...
  • Seite 395: Beispiel Herausfahren Aus Dem Pol Mit Ptp Und Transmit

    Transformationen 6.9 Kartesisches PTP-Fahren Beispiel Herausfahren aus dem Pol mit PTP und TRANSMIT N070 X20 Y2 N060 X0 Y0 N050 X10 Y0 Bild 6-9 Programmierung Kommentar N001 G0 X90 Z0 F10000 T1 D1 G90 Ausgangsstellung N002 SPOS=0 N003 TRANSMIT Transformation TRANSMIT N010 PTPG0 zu jedem G0-Satz automatisch PTP und danach wieder CP...
  • Seite 396 Transformationen 6.9 Kartesisches PTP-Fahren VORSICHT Randbedingungen Hinsichtlich der Werkzeugbewegungen und Kollision gelten mehrere Randbedingungen und bestimmte Funktionsausschlüsse wie: Mit PTP darf keine Werkzeugradiuskorrektur (WRK) aktiv sein. Mit PTPG0 wird bei aktiver Werkzeugradiuskorrektur (WRK) per CP gefahren. Mit PTP ist Weiches An- und Abfahren (WAB) nicht möglich. Mit PTPG0 wird bei Weichem An- und Abfahren (WAB) per CP gefahren.
  • Seite 397: Randbedingungen Bei Der Anwahl Einer Transformation

    Transformationen 6.10 Randbedingungen bei der Anwahl einer Transformation 6.10 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 398: Transformation Abwählen (Trafoof)

    Transformationen 6.11 Transformation abwählen (TRAFOOF) 6.11 Transformation abwählen (TRAFOOF) Funktion Mit dem Befehl TRAFOOF werden alle aktiven Transformationen und Frames ausgeschaltet. Hinweis Danach benötigte Frames müssen durch erneute Programmierung aktiv geschaltet werden. Dabei ist zu beachten: Für die Abwahl der Transformation gelten dieselben Randbedingungen wie für die Anwahl (siehe Kapitel "Randbedingungen bei der Anwahl einer Transformation").
  • Seite 399: Verkettete Transformationen (Tracon, Trafoof)

    Transformationen 6.12 Verkettete Transformationen (TRACON, TRAFOOF) 6.12 Verkettete Transformationen (TRACON, TRAFOOF) Funktion Jeweils zwei Transformationen können hintereinander geschaltet (verkettet) werden, so dass die Bewegungsanteile für die Achsen aus der ersten Transformation Eingangsdaten für die verkettete zweite Transformation sind. Die Bewegungsanteile aus der zweiten Transformation wirken auf die Maschinenachsen.
  • Seite 400: Voraussetzung

    Transformationen 6.12 Verkettete Transformationen (TRACON, TRAFOOF) Nummer der verketteten Transformation: 0 oder 1 für erste/einzige verkettete Transformation. Ist an dieser Stelle nichts programmiert, ist das gleichbedeutend mit der Angabe des Wertes 0 oder 1, d. h. es wird die erste/einzige Transformation aktiviert.
  • Seite 401: Werkzeugkorrekturen

    Werkzeugkorrekturen Korrekturspeicher Funktion Aufbau des Korrekturspeichers Jedes Datenfeld ist mit einer T- und D-Nummer aufrufbar (außer "Flache D-Nr.") und enthält neben den geometrischen Angaben für das Werkzeug noch weitere Einträge, z. B. den Werkzeugtyp. Flache D-Nummern-Struktur Die "flache D-Nummern-Struktur" wird verwendet, wenn die Werkzeugverwaltung außerhalb des NCK erfolgt.
  • Seite 402 Werkzeugkorrekturen 7.1 Korrekturspeicher Werkzeugparameter Bedeutung der Systemvariablen Bemerkung Nummer (DP) Geometrie Radius Radius 1 / Länge 1 Fräs-/Dreh-/Schleifwerkz. $TC_DP6 Durchmesser d Nutsäge $TC_DP6 Länge 2 / Eckenradius kegelige Fräser Fräswerkzeuge $TC_DP7 Nutbreite b Eckenradius Nutsäge $TC_DP7 Verrundungsradius 1 für Fräswerkzeuge Fräswerkzeuge $TC_DP8 Überstand k...
  • Seite 403 Werkzeugkorrekturen 7.1 Korrekturspeicher Werkzeugparameter $TC-DP1 bis $TC-DP23 mit Konturwerkzeugen Hinweis Die Werkzeugparameter, die in der Tabelle nicht aufgeführt sind wie z.B. $TC_DP7, werden nicht ausgewertet, d. h. ihr Inhalt ist bedeutungslos. Werkzeugparameter Bedeutung Schneiden Dn Bemerkung Nummer (DP) $TC_DP1 Werkzeugtyp 400 bis 599 $TC_DP2 Schneidenlage Geometrie...
  • Seite 404: Additive Korrekturen

    Werkzeugkorrekturen 7.2 Additive Korrekturen Additive Korrekturen 7.2.1 Additive Korrekturen anwählen (DL) Funktion Additive Korrekturen können als in der Bearbeitung programmierbare Prozesskorrekturen betrachtet werden. Sie beziehen sich auf die geometrischen Daten einer Schneide und sind somit Bestandteil der Werkzeugschneidendaten. Die Daten einer additiven Korrektur werden über eine DL-Nummer angesprochen (DL: Location dependent;...
  • Seite 405: Die Gleiche Schneide Wird Für 2 Lagersitze Verwendet

    Werkzeugkorrekturen 7.2 Additive Korrekturen 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 406: Verschleiß- Und Einrichtewerte Festlegen ($Tc_Scpxy[T,D], $Tc_Ecpxy[T,D])

    Werkzeugkorrekturen 7.2 Additive Korrekturen 7.2.2 Verschleiß- und Einrichtewerte festlegen ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) Funktion Verschleiß- und Einrichtewerte können über Systemvariablen gelesen und geschrieben werden. Dabei orientiert sich die Logik an der Logik der entsprechenden Systemvariablen für Werkzeuge und Schneiden. Systemvariablen Systemvariable Bedeutung $TC_SCPxy[<t>,<d>] Verschleißwerte, die über xy dem jeweiligen Geometrieparameter zugeordnet sind, wobei x die Nummer des Verschleißwerts...
  • Seite 407: Additive Korrekturen Löschen (Deldl)

    Werkzeugkorrekturen 7.2 Additive Korrekturen 7.2.3 Additive Korrekturen löschen (DELDL) Funktion Mit dem Befehl DELDL werden additive Korrekturen für die Schneide eines Werkzeugs gelöscht (Freigabe von Speicher). Dabei werden sowohl die festgelegten Verschleißwerte als auch die Einrichtewerte gelöscht. Syntax DELDL[<t>,<d>] DELDL[<t>] DELDL <Status>=DELDL[<t>,<d>] Bedeutung...
  • Seite 408: 7.3 Werkzeugkorrektur - Sonderbehandlung

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Werkzeugkorrektur - Sonderbehandlung Funktion 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 409: Weitere Informationen

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 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 410: Werkzeuglängen Spiegeln

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.1 Werkzeuglängen spiegeln Funktion 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 411: Vorzeichenbewertung Verschleiß

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.2 Vorzeichenbewertung Verschleiß Funktion Mit gesetzten Settingdaten SD42920 $SC_WEAR_SIGN_CUTPOS und SD42930 $SC_WEAR_SIGN ungleich Null können Sie die Vorzeichenbewertung der Verschleißkomponenten invertieren. SD42920 $SC_WEAR_SIGN_CUTPOS Settingdatum ungleich Null: Bei Werkzeugen mit relevanter Schneidenlage (Dreh- und Schleifwerkzeuge, Werkzeugtypen 400) hängt die Vorzeichenbewertung der Verschleißkomponenten in der Bearbeitungsebene von der Schneidenlage ab.
  • Seite 412: Koordinatensystem Der Aktiven Bearbeitung (Towstd, Towmcs, Towwcs, Towbcs, Towtcs, Towkcs)

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.3 Koordinatensystem der aktiven Bearbeitung (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) Funktion Abhängig von der Kinematik der Maschine oder vom Vorhandensein eines orientierbaren Werkzeugträgers werden die in einem dieser Koordinatensysteme gemessenen Verschleißwerte in ein geeignetes Koordinatensystem überführt bzw. transformiert. Koordinatensysteme der aktiven Bearbeitung Aus den folgenden Koordinatensystemen können Offsets der Werkzeuglänge hervorgehen, welche die Werkzeuglängenkomponente Verschleiß...
  • Seite 413 Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Weitere Informationen Unterscheidungsmerkmale In der folgenden Tabelle sind die wichtigsten Unterscheidungsmerkmale dargestellt: G-Code Verschleißwert Aktiver orientierbarer Werkzeugträger Grundstellungswert, Werkzeuglänge Verschleißwerte unterliegen der TOWSTD Drehung. Verschleißwert Im MKS. TOWMCS ist Es dreht nur der Vektor der TOWMCS resultierenden Werkzeuglänge mit TOWSTD identisch, wenn kein...
  • Seite 414 Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Einrechnung der Verschleißwerte Das Settingdatum SD42935 $SC_WEAR_TRANSFORM legt fest, welche der drei Verschleißkomponenten: • Verschleiß • Summenkorrekturen fein • Summenkorrekturen grob einer Drehung durch eine Adaptertransformation oder einen orientierbaren Werkzeugträger unterworfen werden soll, wenn einer der folgenden G-Codes aktiv ist: •...
  • Seite 415: Werkzeuglänge Und Ebenenwechsel

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.4 Werkzeuglänge und Ebenenwechsel Funktion 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 416: Online-Werkzeugkorrektur (Putftocf, Fctdef, Putftoc, Ftocon, Ftocof)

    Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Funktion Mit aktiver Funktion "Online-Werkzeugkorrektur" wird bei Schleifwerkzeugen eine Werkzeuglängenkorrektur, die sich aus der Bearbeitung ergibt, sofort eingerechnet. Ein Anwendungsbeispiel ist das CD-Abrichten, bei dem die Schleifscheibe parallel zur Bearbeitung abgerichtet wird: Die Werkzeuglängenkorrektur kann aus dem Bearbeitungskanal oder einem parallelen Kanal (Abrichterkanal) verändert werden.
  • Seite 417 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, Syntax Online-WZK im Zielkanal ein-/ausschalten: FTOCON FTOCOF Online-WZK schreiben: • Kontinuierlich satzweise: FCTDEF(<Funktion>,<LLimit>,<ULimit>,<a0>,<a1>,<a2>,<a3>) PUTFTOCF(<Funktion>,<Bezugswert>,<WZ-Parameter>,<Kanal>,<Spindel>) • diskret: PUTFTOC(<Korrekturwert>,<WZ-Parameter>,<Kanal>,<Spindel>) Bedeutung Online-WZK einschalten FTOCON: FTOCON muss in dem Kanal programmiert werden, in dem die Online-WZK wirksam werden soll. Online-WZK abbrechen FTOCOF: Mit FTOCOF wird die Korrektur nicht weiter herausgefahren, in den...
  • Seite 418 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Funktion "Online-WZK schreiben kontinuierlich satzweise" aufrufen PUTFTOCF: Parameter: Nummer der Polynom-Funktion <Funktion>: Typ: Hinweis: Muss mit der Angabe bei FCTDEF übereinstimmen. Variabler Bezugswert, von dem die Korrektur <Bezugswert>: abgeleitet werden soll (z. B. sich verändernder Istwert).
  • Seite 419: Bearbeitungsprogramm In Kanal

    Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, Beispiel Flachschleifmaschine mit: • Y: Zustellachse für die Schleifscheibe • V: Zustellachse für die Abrichtrolle • Bearbeitungskanal: Kanal 1 mit den Achsen X, Z, Y • Abrichtkanal: Kanal 2 mit Achse V Nach Beginn der Schleifbewegung soll bei X100 die Schleifscheibe um den Betrag 0,05 abgerichtet werden.
  • Seite 420 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Abrichtprogramm in Kanal 2: Programmcode Kommentar … N40 FCTDEF(1,–1000,1000,–$AA_IW[V],1) ; Funktion definieren: Gerade mit Steigung=1. N50 PUTFTOCF(1,$AA_IW[V],3,1) ; Online-WZK schreiben kontinuierlich: abgeleitet von der Bewegung der V- Achse wird die Länge 3 der aktuellen Schleifscheibe in Kanal 1 korrigiert.
  • Seite 421: Aktivierung 3D-Werkzeugkorrekturen (Cut3Dc

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 7.5.1 Aktivierung von 3D-Werkzeugkorrekturen (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF, ISD) Funktion Bei der Werkzeugradiuskorrektur für zylindrische Werkzeuge wird die veränderliche Werkzeugorientierung berücksichtigt. Für die Anwahl der 3D-Werkzeugradiuskorrektur gelten die gleichen Programmbefehle wie bei der 2D-Werkzeugradiuskorrektur.
  • Seite 422 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Bedeutung Aktivierung der 3D-Radiuskorrektur für das CUT3DC Umfangsfräsen D-Werkzeugkorrektur für das Stirnfräsen mit konstanter CUT3DFS Orientierung. Die Werkzeugorientierung ist durch G17 - G19 festgelegt und wird durch Frames nicht beeinflusst. D-Werkzeugkorrektur für das Stirnfräsen mit konstanter CUT3DFF Orientierung.
  • Seite 423: Werkzeugkorrektur: Umfangfräsen, Stirnfräsen

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., 7.5.2 3D-Werkzeugkorrektur: Umfangfräsen, Stirnfräsen Umfangsfräsen Die hier benutzte Variante des Umfangsfräsens ist durch die Vorgabe einer Bahn (Leitlinie) und der zugehörigen Orientierung realisiert. Bei dieser Art der Bearbeitung ist auf der Bahn die Werkzeugform ohne Bedeutung. Entscheidend ist allein der Radius am Werkzeugeingriffspunkt.
  • Seite 424 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Beispiel: NC-Sätze wurden mit Fräser 10 mm berechnet. Hier könnte auch mit Fräserdurchmesser 9,9 mm gefertigt werden, wobei dann mit verändertem Rauheitsprofil zu rechnen ist. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 425: Werkzeugkorrektur: Werkzeugformen Und Werkzeugdaten Für Stirnfräsen

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., 7.5.3 3D-Werkzeugkorrektur: Werkzeugformen und Werkzeugdaten für Stirnfräsen Fräserformen, Werkzeugdaten Im Folgenden sind die für Stirnfräsen möglichen Werkzeugformen und Grenzwerte der Werkzeugdaten zusammengestellt. Die Form des Werkzeugschafts wird nicht berücksichtigt. Die Werkzeugtypen 120 und 156 sind in ihrer Wirkung identisch. Wird im NC-Programm eine andere als in der Abbildung gezeigte Typ-Nummer angegeben, verwendet das System automatisch den Werkzeugtyp 110 (Zylindrischer Gesenkfräser).
  • Seite 426: Werkzeugkorrektur: Korrektur Auf Der Bahn, Bahnkrümmung, Eintauchtiefe

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Werkzeugdaten Werkzeugparameter Werkzeugmaße Geometrie Verschleiß $TC_DP6 $TC_DP15 $TC_DP7 $TC_DP16 $TC_DP11 $TC_DP20 Werkzeuglängenkorrektur Als Bezugspunkt für die Längenkorrektur gilt die Werkzeugspitze (Schnittpunkt Längsachse/ Oberfläche). 3D-Werkzeugkorrektur, Werkzeugwechsel Ein neues Werkzeug mit veränderten Abmessungen (R, r, a) oder anderer Form darf nur mit Programmierung von G41 bzw.
  • Seite 427 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., Dieser Grenzfall wird von der Steuerung überwacht, indem auf Basis der Winkelanstellungen zwischen Werkzeug und Flächennormalenvektoren sprunghafte Änderungen des Bearbeitungspunktes erkannt werden. An diesen Stellen fügt die Steuerung Linearsätze ein, so dass die Bewegung ausgeführt werden kann. Für die Berechnung der Linearsätze sind in Maschinendaten für den Seitwärtswinkel zulässige Winkelbereiche hinterlegt.
  • Seite 428 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Fräserhilfspunkt Der Fräserhilfspunkt (FH) entsteht durch Projektion des programmierten Bearbeitungspunkts auf die Werkzeugachse. Weitere Informationen Taschenfräsen mit schrägen Seitenwänden für Umfangsfräsen mit CUT3DC Bei dieser 3D-Werkzeugradiuskorrektur wird eine Abweichung des Fräserradius kompensiert, indem in Richtung der Flächennormalen der zu bearbeitenden Fläche zugestellt wird. Dabei bleibt die Ebene, in der die Stirnseite des Fräsers liegt unverändert, wenn die Eintauchtiefe ISD gleich geblieben ist.
  • Seite 429: Werkzeugkorrektur: Innenecken/Außenecken Und Schnittpunktverfahren

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., 7.5.5 3D-Werkzeugkorrektur: Innenecken/Außenecken Schnittpunktverfahren (G450/G451) Funktion Innenecken/Außenecken Außen- und Innenecken werden getrennt behandelt. Die Bezeichnung Innen- oder Außenecke ist abhängig von der Werkzeugorientierung. Bei Orientierungsänderungen an einer Ecke kann der Fall auftreten, dass sich der Eckentyp während der Bearbeitung ändert.
  • Seite 430: Werkzeugkorrektur: 3D-Umfangsfräsen Mit Begrenzungsflächen

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Weitere Informationen Schnittpunktverfahren für 3D-Korrektur Bei 3D-Umfangsfräsen wird jetzt an Außenecken der G-Code G450/G451 ausgewertet, d. h. es kann der Schnittpunkt der Offset-Kurven angefahren werden. Bis SW 4 wurde an Außenecken immer ein Kreis eingefügt. Das verfügbare Schnittpunktverfahren ist bei typischen CAD-erzeugten 3D-Programmen besonders vorteilhaft.
  • Seite 431: Werkzeugkorrektur: Berücksichtigung Einer Begrenzungsfläche (Cut3Dcc, Cut3Dccd)

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., 7.5.7 3D-Werkzeugkorrektur: Berücksichtigung einer Begrenzungsfläche (CUT3DCC, CUT3DCCD) Funktion 3D-Umfangsfräsen mit realen Werkzeugen Beim 3D-Umfangsfräsen mit kontinuierlicher oder konstanter Veränderung der Werkzeugorientierung wird häufig die Werkzeugmittelpunktsbahn für ein definiertes Normwerkzeug programmiert. Da in der Praxis oft nicht die passenden Normwerkzeuge zur Verfügung stehen, kann ein von einem Normwerkzeug nicht allzu stark abweichendes Werkzeug eingesetzt werden.
  • Seite 432 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Beispiel Werkzeugabmessungen für einen Torusfräser mit verringertem Radius gegenüber dem Normwerkzeug. Werkzeugtyp R = Schaftradius r = Eckenradius Normwerkzeug mit Eckenverrundung R = $TC_DP6 r = $TC_DP7 Reales Werkzeug mit Eckenverrundung: R' = $TC_DP6 + $TC_DP15 + OFFN r' = $TC_DP7 + $TC_DP16 Werkzeugtypen 121 und 131 Torusfräser (Schaftfräser)
  • Seite 433 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., Gegenüber allen anderen Werkzeugkorrekturen der G-Code Gruppe 22 hat ein für CUT3DCCD angegebener Werkzeugparameter $TC_DP6 keine Bedeutung für den Werkzeugradius und beeinflusst die resultierende Korrektur nicht. Der Korrekturoffset ergibt sich aus der Summe von: • Verschleißwert des Werkzeugradius (Werkzeugparameter $TC_DP15) •...
  • Seite 434 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 3D-Radiuskorrektur mit CUT3DCC, Kontur an der Bearbeitungsfläche Ist CUT3DCC mit einem Torusfräser aktiv, so bezieht sich die programmierte Bahn auf einen fiktiven Zylinderfäser gleichen Durchmessers. Der hieraus resultierende Bahnbezugspunkt ist bei Verwendung eines Torusfräser im folgenden Bild dargestellt. Es ist zulässig, dass der Winkel zwischen Bearbeitungs- und Begrenzungsfläche auch innerhalb eines Satzes von einem spitzen in einem stumpfen Winkel oder umgekehrt übergeht.
  • Seite 435: Werkzeugorientierung (Oric, Orid, Osof, Osc, Oss, Osse, Oris, Osd, Ost)

    Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Funktion Unter Werkzeugorientierung versteht man die geometrische Ausrichtung des Werkzeugs im Raum. Bei einer 5-Achs-Bearbeitungsmaschine ist die Werkzeugorientierung über Programmbefehle einstellbar. Mit OSD und OST aktivierte Überschleifbewegungen der Orientierung werden je nach Interpolationsart für die Werkzeugorientierung unterschiedlich gebildet.
  • Seite 436 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Programmierung der Werkzeugorientierung: Befehl Bedeutung Orientierung und Bahnbewegung parallel ORIC: Orientierung und Bahnbewegung nacheinander ORID: keine Orientierungsglättung OSOF: Orientierung konstant OSC: Orientierungsglättung nur am Satzanfang OSS: Orientierungsglättung am Satzanfang und -ende OSSE: Geschwindigkeit der Orientierungsänderung bei eingeschalteter ORIS:...
  • Seite 437: Beispiele

    Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, Beispiele Beispiel 1: ORIC Sind zwischen den Verfahrsätzen N10 undN20zwei oder mehrere Sätze mit Orientierungsänderungen (z. B. A2=... B2=... C2=...) programmiert und ORIC ist aktiv, so wird der eingefügte Kreissatz entsprechend dem Betrag der Winkeländerungen auf diese Zwischensätze aufgeteilt.
  • Seite 438 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Beispiel 2: ORID Ist ORID aktiv, so werden alle Sätze zwischen den beiden Verfahrsätzen am Ende des ersten Verfahrsatzes ausgeführt. Der Kreissatz mit konstanter Orientierung wird unmittelbar vor dem zweiten Verfahrsatz ausgeführt.
  • Seite 439 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, Beispiel 3: Änderung der Orientierung an einer Innenecke Programmcode ORIC N10 X …Y… Z… G1 F500 N12 X …Y… Z… A2=… B2=… C2=… N15 X …Y… Z… A2=… B2=… C2=… Weitere Informationen Verhalten an Außenecken An einer Außenecke wird immer ein Kreissatz mit dem Radius des Fräsers eingefügt.
  • Seite 440 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Ist an Außenecken eine Orientierungsänderung notwendig, so kann diese wahlweise parallel zur Interpolation oder getrennt mit der Bahnbewegung erfolgen. Bei ORID werden zunächst die eingefügten Sätze ohne Bahnbewegung ausgeführt. Der Kreissatz wird unmittelbar vor dem zweiten der beiden Verfahrsätze eingefügt, durch welche die Ecke gebildet wird.
  • Seite 441: Freie D-Nummernvergabe, Schneidennummer

    Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer Freie D-Nummernvergabe, Schneidennummer 7.7.1 Freie D-Nummernvergabe, Schneidennummer (Adresse CE) D-Nummer Die D-Nummern können als Korrekturnummern verwendet werden. Zusätzlich kann über die Adresse CE die Nummer der Schneide adressiert werden. Über die Systemvariable $TC_DPCE kann die Schneidenummer beschrieben werden. Voreinstellung: Korrekturnr.
  • Seite 442: Freie D-Nummernvergabe: D-Nummern Umbenennen (Getdno, Setdno)

    Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer Bedeutung =TRUE: Die D-Nummern wurden für den überprüften state Bereich eindeutig vergeben. =FALSE: Es erfolgte eine D-Nummernkollision oder die Parametrierung ist ungültig. Über Tno1, Tno2 und Dno werden die Parameter übergeben, die zur Kollision führten. Diese Daten können im Teileprogramm ausgewertet werden.
  • Seite 443: Beispiel Umbenennen Einer D-Nummer

    Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer Beispiel Umbenennen einer D-Nummer Programmierung Kommentar $TC_DP2[1,2] = 120 $TC_DP3[1,2] = 5.5 $TC_DPCE[1,2] = 3 Schneidennummer CE N10 def int DNrAlt, DNrNeu = 17 N20 DNrAlt = GETDNO(1,3) N30 SETDNO(1,3,DNrNeu) Damit wird der Schneide CE=3 der neue D-Wert 17 zugewiesen. Jetzt werden die Daten dieser Schneide über die D‑Nummer 17 angesprochen;...
  • Seite 444: Freie D-Nummernvergabe: D-Nummern Ungültig Setzen (Dzero)

    Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer 7.7.5 Freie D-Nummernvergabe: D-Nummern ungültig setzen (DZERO) Funktion Der Befehl DZERO dient zur Unterstützung während dem Umrüsten. So gekennzeichnete Korrekturdatensätze werden nicht mehr vom Befehl CHKDNO geprüft. Um sie wieder zugänglich zu machen, muss die D‑Nummer wieder mit SETDNO gesetzt werden. Syntax DZERO Bedeutung...
  • Seite 445: Werkzeugträgerkinematik

    Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Werkzeugträgerkinematik Voraussetzungen Ein Werkzeugträger kann ein Werkzeug nur dann in alle möglichen Raumrichtungen orientieren, wenn • zwei Drehachsen V und V vorhanden sind. • die Drehachsen aufeinander senkrecht stehen. • die Werkzeuglängsachse senkrecht auf der zweiten Drehachse V steht.
  • Seite 446 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik 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. Parameter Funktion der Systemvariablen für orientierbare Werkzeugträger Bezeichnung x-Komponente y-Komponente z-Komponente Offsetvector $TC_CARR1[m] $TC_CARR2[m] $TC_CARR3[m] Offsetvector $TC_CARR4[m]...
  • Seite 447 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Erweiterungen der Systemvariablen für orientierbare Werkzeugträger Anwender: Beabsichtigte Verwendung innerhalb der Messzyklen vom Anwender. Achsname 1 $TC_CARR35[m] Achsname 2 $TC_CARR36[m] Kennung $TC_CARR37[m] Position $TC_CARR38[m] $TC_CARR39[m] $TC_CARR40[m] Feinver- Parameter, die zu den Werten schiebung in den Basisparameternaddiert werden können. Offsetvector $TC_CARR41[m] $TC_CARR42[m]...
  • Seite 448: Erweiterungen Der Parameter

    Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Erweiterungen der Parameter Parameter der Drehachsen Die Systemvariablen wurden um die Einträge $TC_CARR24[m] bis $TC_CARR33[m] erweitert und wie folgt beschrieben: Den Offset der Veränderung der Position der Drehachse v oder v bei Grundstellung des Drehachsen v orientierbaren Werkzeugträgers. Den Winkeloffset/ Offset oder Winkelinkrement der Hirth-Verzahnung der Drehachsen v und v...
  • Seite 449 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik 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 450 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik 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 451: Werkzeuglängenkorrektur Für Orientierbare Werkzeugträger (Tcarr, Tcoabs, Tcofr, Tcofrx, Tcofry, Tcofrz)

    Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) Funktion Mit veränderter Raumorientierung des Werkzeugs ändern sich auch dessen 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 452 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, Bedeutung Werkzeugträger mit der Nummer "m" anfordern TCARR=[<m>]: Werkzeuglängenkomponenten aus der aktuellen TCOABS: Werkzeugträgerorientierung berechnen Werkzeuglängenkomponenten aus der Orientierung des aktiven TCOFR: Frames bestimmen Orientierbarer Werkzeugträger aus aktiven Frame, dessen Werkzeug TCOFRZ: in Z-Richtung zeigt Orientierbarer Werkzeugträger aus aktiven Frame, dessen Werkzeug...
  • Seite 453 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger Neuberechnung der Werkzeuglängenkorrektur (TCOABS) bei Frame-Wechsel Zur Neuberechnung der Werkzeuglängenkorrektur bei Frame-Wechsel muss das Werkzeug nochmals angewählt werden. Hinweis Die Werkzeugorientierung muss dem aktiven Frame manuell angepasst werden. Bei der Berechnung der Werkzeuglängenkorrektur werden in einem Zwischenschritt auch die Drehwinkel des Werkzeugträgers berechnet.
  • Seite 454: Online-Werkzeuglängenkorrektur (Toffon, Toffof)

    Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Funktion Über die Systemvariable $AA_TOFF[<n> ] können die effektiven Werkzeuglängen entsprechend der drei Werkzeugrichtungen dreidimensional in Echtzeit überlagert werden. Als Index <n> werden die drei Geometrieachsbezeichner verwendet. Damit ist die Anzahl der aktiven Korrekturrichtungen durch die zur selben Zeit aktiven Geometrieachsen festgelegt.
  • Seite 455: Beispiele

    Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Beispiele Beispiel 1: Anwahl der Werkzeuglängenkorrektur Programmcode Kommentar MD21190 $MC_TOFF_MODE =1 ; Absolute Werte werden angefahren. MD21194 $MC_TOFF_VELO[0] =1000 MD21196 $MC_TOFF_VELO[1] =1000 MD21194 $MC_TOFF_VELO[2] =1000 MD21196 $MC_TOFF_ACCEL[0] =1 MD21196 $MC_TOFF_ACCEL[1] =1 MD21196 $MC_TOFF_ACCEL[2] =1 N5 DEF REAL XOFFSET N10 TRAORI(1) ;...
  • Seite 456 Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Weitere Informationen Satzaufbereitung Bei der Satzaufbereitung im Vorlauf wird der im Hauptlauf wirksame aktuelle Werkzeuglängenoffset mit berücksichtigt. Um die maximal zulässigen Achsgeschwindigkeiten weitgehend ausnutzen zu können, ist es erforderlich, die Satzaufbereitung mit einem Vorlaufstopp STOPRE anzuhalten, während ein Werkzeugoffset aufgebaut wird.
  • Seite 457: Schneidendaten-Modifikation Bei Drehbaren Werkzeugen (Cutmod)

    Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Funktion Mit der Funktion "Schneidendaten-Modifikation bei drehbaren Werkzeugen" können die veränderten geometrischen Verhältnisse, die sich bei der Drehung von Werkzeugen (vorwiegend Drehwerkzeuge, aber auch Bohr- und Fräswerkzeuge) relativ zum bearbeiten Werkstück ergeben, bei der Werkzeugkorrektur berücksichtigt werden.
  • Seite 458 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Bedeutung Befehl zum Einschalten der Funktion "Schneidendaten-Modifikation bei CUTMOD drehbaren Werkzeugen" Dem CUTMOD-Befehl können folgende Werte zugewiesen werden: <Wert> 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. h.
  • Seite 459 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen Beispiel Das folgende Beispiel bezieht sich auf ein Werkzeug mit der Schneidenlage 3 und einem orientierbaren Werkzeugträger, der das Werkzeug um die B-Achse drehen kann. Die Zahlenwerte in den Kommentaren geben jeweils die Satzendpositionen in Maschinenkoordinaten (MKS) in der Reihenfolge X, Y, Z an.
  • Seite 460 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Erläuterungen: In Satz N180 wird zunächst das Werkzeug bei CUTMOD=0 und nicht gedrehtem orientierbaren Werkzeugträger angewählt. Da alle Offsetvektoren des orientierbaren Werkzeugträgers 0 sind, wird die Position angefahren, die den in $TC_DP3[1,1] und $TC_DP4[1,1] angegebenen Werkzeuglängen entspricht.
  • Seite 461 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen Systemvariablen Folgende Systemvariablen stehen zur Verfügung: Systemvariablen Bedeutung $P_CUTMOD_ANG / Liefert den (nicht gerundeten) Winkel in der aktiven Bearbeitungsebene, $AC_CUTMOD_ANG der für die Modifikation der Schneidendaten (Schneidenlage, Schnittrichtung, Freiwinkel und Halterwinkel) bei den mit CUTMOD bzw. $SC_CUTDIRMOD aktivierten Funktionen zugrunde gelegt wurde.
  • Seite 462 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Modifizierte Schneidendaten: Falls eine Werkzeugdrehung aktiv ist, werden die modifizierten Daten in den folgenden Systemvariablen zur Verfügung gestellt: Systemvariable Bedeutung $P_AD[2] Schneidenlage $P_AD[10] Halterwinkel $P_AD[11] Schnittrichtung $P_AD[24] Freiwinkel Hinweis Die Daten sind gegenüber den korrespondierenden Werkzeugparametern ($TC_DP2[..., ...] usw.) immer dann modifiziert, wenn die Funktion "Schneidendaten-Modifikation bei drehbaren Werkzeugen"...
  • Seite 463: Bahnverhalten

    Bahnverhalten Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Funktion Die Folgeachse wird gemäß der Tangente an der durch die Leitachsen festgelegten Bahn nachgeführt. Dadurch kann ein Werkzeug parallel zur Kontur ausgerichtet werden. Durch den in der TANGON-Anweisung programmierten Winkel kann das Werkzeug relativ zur Tangente angestellt werden.
  • Seite 464 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Syntax Tangentiale Nachführung definieren: TANG(<FAchse>,<LAchse1>,<LAchse2>,<Koppelfaktor>,<KS>,<Opt>) Tangentialsteuerung einschalten: TANGON(<FAchse>,<Winkel>,<Dist>,<Winkeltoleranz>) Tangentialsteuerung ausschalten: TANGOF(<FAchse>) Funktion "Zwischensatz an Konturecken einfügen" einschalten: TLIFT(<FAchse>) Die TLIFT-Anweisung wird im Anschluss an die Achsenzuordnung mit TANG(…) angegeben. Funktion "Zwischensatz an Konturecken einfügen" ausschalten: TANG(...)-Anweisung wiederholen ohne folgendes TLIFT(<FAchse>).
  • Seite 465 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, Tangentialsteuerung für die angegebene Folgeachse TANGOF: ausschalten Funktion "Zwischensatz an Konturecken einfügen" TLIFT: einschalten Definition einer Tangentialen Nachführung löschen TANGDEL: Folgeachse: Tangential nachgeführte Zusatzrundachse <FAchse>: Leitachsen: Bahnachsen, aus denen die Tangente für die <LAchse1>,<LAchse2>: Nachführung bestimmt wird Koppelfaktor: Zusammenhang zwischen Winkeländerung...
  • Seite 466: Beispiel 1: Tangentiale Nachführung Definieren Und Einschalten

    Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Beispiele Beispiel 1: Tangentiale Nachführung definieren und einschalten Programmcode Kommentar N10 TANG(C,X,Y,1,"B","P") ; Definition einer tangentialen Nachführung: Rundachse C soll den Geometrieachsen X und Y folgen. N20 TANGON(C,90) ; Die C-Achse ist Folgeachse. Sie wird bei jeder Bewegung der Bahnachsen in eine 90°-Position zur Bahn-Tangente gedreht.
  • Seite 467: Grenzwinkel Durch Arbeitsfeldbegrenzung

    Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, Beispiel 4: Tangentiale Nachführung mit automatischer Optimierung Y1 ist Geometrieachse 2. Programmcode Kommentar N80 G0 C0 N100 F=50000 N110 G1 X1000 Y500 N120 TRAORI N130 G642 ; Überschleifen unter Einhaltung der maximal erlaubten Bahnabweichung.
  • Seite 468 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Dazu muss das Arbeitsfeld der Folgeachse begrenzt werden (G25, G26). Die Arbeitsfeldbegrenzung muss zum Zeitpunkt der Bahnumkehr aktiv sein (WALIMON). Liegt der Offsetwinkel außerhalb der Arbeitsfeldbegrenzung, wird versucht, mit negativem Offsetwinkel wieder in den zulässigen Arbeitsbereich zu kommen. Zwischensatz an Konturecken einfügen (TLIFT) An einer Ecke der Kontur ändert sich die Tangente und damit die Sollposition der nachgeführten Achse sprunghaft.
  • Seite 469 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, Optimierungsmöglichkeit Ist die automatische Optimierung angewählt (<Opt>="P") und sind für die Folgeachse die Parameter Überschleifweg (<Dist>) und Winkeltoleranz (<Winkeltoleranz>) angegeben, dann werden beim Tangentialen Nachführen Geschwindigkeitssprünge der Folgeachse infolge von Sprüngen in der Leitachskontur überschliffen bzw. geglättet. Dabei wird die Folgeachse vorausschauend geführt (siehe Diagramm), um die Abweichung möglichst klein zu halten.
  • Seite 470: Vorschubverlauf (Fnorm, Flin, Fcub, Fpo)

    Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Funktion 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 471: Beispiel: Verschiedene Vorschubprofile

    Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Beispiel: Verschiedene Vorschubprofile In diesem Beispiel finden Sie die Programmierung und grafische Darstellung verschiedener Vorschubprofile. Programmcode Kommentar N1 F1000 FNORM G1 X8 G91 G64 ; Konstantes Vorschubprofil, Kettenmaßangabe N2 F2000 X7 ; Sprunghafte Sollgeschwindigkeitsänderung N3 F=FPO(4000, 6000, -4000) ;...
  • Seite 472 Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) FNORM Die Vorschubadresse F bezeichnet den Bahnvorschub als konstanten Wert nach DIN 66025. Mehr Informationen hierzu finden Sie im Programmierhandbuch "Grundlagen". FLIN Der Vorschubverlauf wird vom aktuellen Vorschubwert zum programmierten F-Wert linear bis Satzende eingefahren.
  • Seite 473 Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) FCUB Der Vorschub wird vom aktuellen Vorschubwert zum programmierten F-Wert bis Satzende im kubischen Verlauf eingefahren. Die Steuerung verbindet alle mit aktivem FCUB satzweise programmierten Vorschubwerte durch Splines. Die Vorschubwerte dienen hier als Stützpunkte zur Berechnung der Splineinterpolation.
  • Seite 474 Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Randbedingungen Unabhängig vom programmierten Vorschubverlauf gelten die Funktionen zur Programmierung des Bahnfahrverhaltens. Der programmierbare Vorschubverlauf gilt grundsätzlich absolut - unabhängig von G90 oder G91. Der Vorschubverlauf FLIN und FCUB wirkt mit G93 und G94. FLIN und FCUB wirkt nicht bei G95, G96/G961 und G97/G971.
  • Seite 475: Programmablauf Mit Vorlaufspeicher (Stopfifo, Startfifo, Fifoctrl, Stopre)

    Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Funktion 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 476 Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Vorlaufstopp Die Satzaufbereitung und -zwischenspeicherung wird angehalten, wenn im Satz der Befehl STOPRE programmiert ist. Der nachfolgende Satz wird erst dann ausgeführt, wenn alle vorher aufbereiteten und gespeicherten Sätze vollständig abgearbeitet sind. Der vorherige Satz wird im Genauhalt angehalten (wie G9).
  • Seite 477: Beispiel: Vorlauf Stoppen

    Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, Hinweis Das Auffüllen des Vorlaufspeichers wird nicht ausgeführt bzw. unterbrochen, wenn der Bearbeitungsabschnitt Befehle enthält, die einen ungepufferten Betrieb erzwingen (Referenzpunktfahren, Messfunktionen, …). Hinweis Beim Zugriff auf Zustandsdaten der Maschine ($SA...) erzeugt die Steuerung internen Vorlaufstopp.
  • Seite 478: Bedingt Unterbrechbare Programmabschnitte (Delayfston, Delayfstof)

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Funktion Bedingt unterbrechbare Teileprogrammabschnitte werden Stop-Delay-Bereiche genannt Innerhalb bestimmter Programmabschnitte soll nicht angehalten werden und auch der Vorschub nicht verändert werden. Im Wesentlichen sollen kurze Programmabschnitte, die z. B. zur Herstellung eines Gewindes dienen, vor fast allen Stopp-Ereignissen geschützt werden.
  • Seite 479: Bedingt Unterbrechbare Programmabschnitte

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte Auswahl einiger Stopp-Ereignisse, die zumindest kurzfristig stoppen: Ereignisname Reaktion Unterbrechungsparameter RESET immediate NST: DB21,… DBX7.7 und DB11, … DBX20.7 PROG_END Alarm 16954 NC-Prog: M30 INTERRUPT delayed NST: FC-9 und ASUP DB10, ... DBB1 SINGLEBLOCKSTOP delayed Einzelsatzbetrieb im Stopp-Delay-Bereich eingeschaltet: NC stoppt am Ende des 1.Satzes außerhalb des Stopp- Delay Bereichs.
  • Seite 480: Beispiel: Verschachtelung Von Stopp-Delay-Bereichen In Zwei Programmebenen

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Beispiel: Verschachtelung von Stopp-Delay-Bereichen in zwei Programmebenen Programmcode Kommentar N10010 DELAYFSTON() ; Sätze mit N10xxx Programmebene 1. N10020 R1 = R1 + 1 N10030 G4 F1 ; Stop-Delay-Bereich beginnt. N10040 Unterprogramm2 ; Interpretation des Unterprogramms 2. N20010 DELAYFSTON() ;...
  • Seite 481: Vorteile Des Stopp-Delay-Bereiches

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte Programmcode Kommentar N400 G33 Z5 K2 M3 S1000 N500 G33 Z0 X5 K3 N600 G0 X100 N700 DELAYFSTOF() N800 GOTOB MY_LOOP Details über Satzsuchlauf vom Typ SERUPRO und Vorschübe in Verbindung mit G331/ G332 Vorschub bei Gewindebohren ohne Ausgleichsfutter siehe: Literatur: Funktionshandbuch Grundfunktionen;...
  • Seite 482: Kompatibilität

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Folgende Punkte regeln das Zusammenspiel der Sprachbefehle DELAYFSTON und DELAYFSTOF mit Verschachtelungen und dem Unterprogrammende: 1. Mit dem Ende des Unterprogramms, in dem DELAYFSTON gerufen wurde, wird implizit DELAYFSTOF aktiviert. 2. DELAYFSTON Stopp-Delay-Bereich bleibt ohne Wirkung. 3.
  • Seite 483: Programmstelle Für Serupro Verhindern (Iptrlock, Iptrunlock)

    Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Funktion Für bestimmte komplizierte mechanische Situationen an der Maschine ist es erforderlich, den Satzsuchlauf SERUPRO zu verhindern. 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 NCK noch nicht wieder einsteigen kann.
  • Seite 484: Suchunfähige Bereiche Erfassen Und Suchen

    Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Beispiel Verschachtelung suchunfähiger Programmabschnitte in zwei Programmebenen mit impliziten IPTRUNLOCK. Das implizite IPTRUNLOCK in Unterprogramm 1 beendet den suchunfähigen Bereich. Programmcode Kommentar N10010 IPTRLOCK() N10020 R1 = R1 + 1 N10030 G4 F1 ;...
  • Seite 485: Regeln Bei Schachtelung

    Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, Regeln bei Schachtelung Folgende Punkte regeln das Zusammenspiel der Sprachbefehle IPTRLOCK und IPTRUNLOCK mit Verschachtelungen und dem Unterprogrammende: 1. Mit dem Ende des Unterprogramms, in dem IPTRLOCK gerufen wurde, wird implizit IPTRUNLOCK aktiviert. 2.
  • Seite 486: Wiederanfahren An Kontur (Reposa, Reposl, Reposq, Reposqa, Reposh, Reposha, Disr, Dispr, Rmi, Rmb, Rme, Rmn)

    Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Funktion Wenn Sie während der Bearbeitung das laufende Programm unterbrechen und das Werkzeug freifahren –...
  • Seite 487 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, Bedeutung Anfahrweg Anfahren auf einer Geraden mit allen Achsen REPOSA Anfahren auf einer Geraden REPOSL Anfahren auf einem Viertelkreis mit Radius DISR REPOSQ DISR=… Anfahren auf allen Achsen auf einem Viertelkreis mit Radius REPOSQA DISR=…...
  • Seite 488 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, Beispiel: Anfahren auf einer Geraden anfahren, REPOSA, REPOSL Das Werkzeug fährt den Wiederanfahrpunkt direkt auf einer Geraden an. Mit REPOSA werden automatisch alle Achsen verfahren. Bei REPOSL können Sie die zu verfahrenden Achsen angeben.
  • Seite 489 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, Beispiel: Anfahren im Viertelkreis anfahren, 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 RMI DISR=10 F400 Beispiel: Werkzeug im Halbkreis anfahren, REPOSH, REPOSHA Das Werkzeug fährt den Wiederanfahrpunkt auf einem Halbkreis mit Durchmesser DISR=...
  • Seite 490 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, Wiederanfahrpunkt festlegen (nicht für SERUPRO Anfahren mit RMN) Bezogen auf den NC-Satz, in dem der Programm-Ablauf unterbrochen wurde, können Sie zwischen drei Wiederanfahrpunkten wählen: • RMI, Unterbrechungspunkt •...
  • Seite 491: Vorzeichen Von Dispr

    Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, Vorzeichen von DISPR Das Vorzeichen von DISPR wird ausgewertet. Bei positivem Vorzeichen ist das Verhalten wie bisher. Bei negativem Vorzeichen wird hinter dem Unterbrechungspunkt bzw. bei RMB hinter dem Startpunkt wieder aufgesetzt. Der Abstand Unterbrechungspunkt-Aufsetzpunkt ergibt sich aus dem Betrag von DISPR.
  • Seite 492: Anfahren Vom Nächstliegenden Bahnpunkt Rmn

    Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, Anfahren vom nächstliegenden Bahnpunkt RMN Zum Interpretationszeitpunkt von REPOSA wird nach einer Unterbrechung der Wiederanfahrsatz mit RMN 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:...
  • Seite 493 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, Anfahren mit neuem Werkzeug Falls Sie den Programmablauf wegen Werkzeugbruch gestoppt haben: Mit Programmierung der neuen D-Nummer wird das Programm ab Wiederanfahrpunkt mit den geänderten Werkzeugkorrekturwerten fortgesetzt. Bei geänderten Werkzeugkorrekturwerten kann der Unterbrechungspunkt möglicherweise nicht mehr angefahren werden.
  • Seite 494 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, 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 495: Beeinflussung Der Bewegungsführung

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Beeinflussung der Bewegungsführung 8.7.1 Prozentuale Ruckkorrektur (JERKLIM) Funktion Mit dem NC-Befehl JERKLIM kann der per Maschinendatum eingestellte maximal mögliche Ruck einer Achse bei Bahnbewegung in kritischen Programmabschnitten reduziert oder überhöht werden. Voraussetzung Der Beschleunigungsmodus SOFT muss aktiv sein. Wirksamkeit Die Funktion wirkt: •...
  • Seite 496: Prozentuale Geschwindigkeitskorrektur (Velolim)

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Beispiel Programmcode Kommentar N60 JERKLIM[X]=75 ; Der Achsschlitten in X-Richtung soll nur mit maximal 75% des für die Achse zulässigen Rucks beschleunigt/ verzögert werden. 8.7.2 Prozentuale Geschwindigkeitskorrektur (VELOLIM) Funktion Mit dem NC-Befehl VELOLIM kann die per Maschinendatum eingestellte maximal mögliche Geschwindigkeit einer Achse/Spindel im Achsbetrieb bzw.
  • Seite 497 Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Bedeutung Befehl zur Geschwindigkeitskorrektur VELOLIM: Maschinenachse oder Spindel, deren Geschwindigkeits- oder <Achse/Spindel>: Drehzahlgrenzwert angepasst werden soll. VELOLIM für Spindeln Über Maschinendatum (MD30455 $MA_MISC_FUNCTION_MASK, Bit 6) kann für die Programmierung im Teileprogramm 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).
  • Seite 498: Beispiele

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Diagnose Diagnose von VELOLIM im Spindelbetrieb Eine aktive Drehzahlbegrenzung durch VELOLIM (kleiner 100 %) kann im Spindelbetrieb durch das Lesen der Systemvariablen $AC_SMAXVELO und $AC_SMAXVELO_INFO erkannt werden. Im Falle einer Begrenzung liefert $AC_SMAXVELO das durch VELOLIM erzeugte Drehzahllimit.
  • Seite 499: Programmbeispiel Für Jerklim Und Velolim

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung 8.7.3 Programmbeispiel für JERKLIM und VELOLIM Das folgende Programm stellt ein Anwendungsbeispiel für die prozentuale Ruck- und Geschwindigkeitsbegrenzung dar: Programmcode Kommentar N1000 G0 X0 Y0 F10000 SOFT G64 N1100 G1 X20 RNDM=5 ACC[X]=20 ACC[Y]=30 N1200 G1 Y20 VELOLIM[X]=5 ;...
  • Seite 500: Programmierbare Kontur-/Orientierungtoleranz (Ctol, Otol, Atol)

    Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Funktion Mit den Befehlen CTOL, OTOL und ATOL können die über Maschinen- und Settingdaten festgelegten Bearbeitungstoleranzen für die Kompressor-Funktionen (COMPON, COMPCURV, COMPCAD), die Überschleifarten G642, G643, G645, OST und die Orientierungsglättung ORISON im NC-Programm angepasst werden.
  • Seite 501 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, Befehl zum Programmieren einer achsspezifischen Toleranz ATOL ATOL ist gültig für: • alle Kompressor-Funktionen • Orientierungsglättung ORISON • alle Überschleifarten außer G641, G644, OSD Name der Achse, für die eine Achstoleranz programmiert werden <Achse>: soll Der Wert für die Achstoleranz ist je nach Achstyp (Linear- oder <Wert>: Rundachse) eine Längen- oder Winkelangabe.
  • Seite 502: Weitere Informationen

    Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Weitere Informationen Toleranzwerte lesen Für weitergehende Anwendungsfälle oder zur Diagnose sind die aktuell gültigen Toleranzen für die Kompressor-Funktionen (COMPON, COMPCURV, COMPCAD), die Überschleifarten G642, G643, G645, OST und die Orientierungsglättung ORISON unabhängig von der Art des Zustandekommens über Systemvariablen lesbar.
  • Seite 503 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, • Ohne Vorlauf-Stopp im Teileprogramm über die Systemvariablen: $P_CTOL Programmierte Konturtoleranz $P_OTOL Programmierte Orientierungstoleranz $PA_ATOL Programmierte Achstoleranz Hinweis Wenn keine Toleranzwerte programmiert sind, dann liefern die $P-Variablen den Wert "-1". Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 504: Toleranz Bei G0-Bewegungen (Stolf)

    Bahnverhalten 8.9 Toleranz bei G0-Bewegungen (STOLF) Toleranz bei G0-Bewegungen (STOLF) G0-Toleranzfaktor G0-Bewegungen (Eilgang, Zustellbewegungen) können im Unterschied zur Werkstückbearbeitung mit größerer Toleranz verfahren werden. Dies hat den Vorteil, dass sich die Abfahrzeiten für G0-Bewegungen verkürzen. Die Einstellung der Toleranzen bei G0-Bewegungen erfolgt durch Projektierung des G0- Toleranzfaktors (MD20560 $MC_G0_TOLERANCE_FACTOR).
  • Seite 505 Bahnverhalten 8.9 Toleranz bei G0-Bewegungen (STOLF) Systemvariablen Der im Teileprogramm bzw. im aktuellen IPO-Satz wirksame G0-Toleranzfaktor ist über Systemvariablen lesbar. • In Synchronaktionen oder mit Vorlauf-Stopp im Teileprogramm über die Systemvariable: $AC_STOLF Aktiver G0-Toleranzfaktor G0-Toleranzfaktor, der bei der Aufbereitung des aktuellen Hauptlaufsatzes wirksam war.
  • Seite 506 Bahnverhalten 8.9 Toleranz bei G0-Bewegungen (STOLF) Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 507: Achskopplungen

    Achskopplungen Mitschleppen (TRAILON, TRAILOF) Funktion 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. Anwendungsbereiche • Verfahren einer Achse durch eine simulierte Achse. Die Leitachse ist eine simulierte Achse und die Mitschleppachse eine reale Achse.
  • Seite 508 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) Bedeutung Befehl zum Einschalten und Definieren eines TRAILON Mitschleppverbandes Wirksamkeit: modal Parameter 1: Achsbezeichnung der Mitschleppachse <Folgeachse> Hinweis: Eine Mitschleppachse kann auch Leitachse für weitere Mitschleppachsen sein. Auf diese Weise können unterschiedliche Mitschleppverbände aufgebaut werden. Parameter 2: Achsbezeichnung der Leitachse <Leitachse>...
  • Seite 509 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) Beispiel Das Werkstück soll zweiseitig mit der dargestellten Achskonstellation bearbeitet werden. Dazu bilden Sie 2 Mitschleppverbände. 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 entgegengesetzter Richtung wie Leitachse.
  • Seite 510 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) 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 511: Kurventabellen (Ctab)

    Achskopplungen 9.2 Kurventabellen (CTAB) Kurventabellen (CTAB) Funktion Mit Hilfe von Kurventabellen können Positions- und Geschwindigkeitsbeziehungen zwischen zwei Achsen (Leit- und Folgeachse) programmiert werden. Die Kurventabellendefinition erfolgt im Teileprogramm. Anwendung Kurventabellen ersetzen mechanische Kurvenscheiben. Die Kurventabelle bildet dabei die Grundlage für die axiale Leitwertkopplung, indem sie den funktionellen Zusammenhang zwischen Leit- und Folgewert schafft: Die Steuerung berechnet bei entsprechender Programmierung aus einander zugeordneten Positionen von Leit- und Folgeachse ein Polynom, das der Kurvenscheibe entspricht.
  • Seite 512: Kurventabellen Definieren (Ctabdef, Catbend)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.1 Kurventabellen definieren (CTABDEF, CATBEND) Funktion Eine Kurventabelle stellt ein Teileprogramm oder einen Teileprogrammabschnitt dar, welcher durch Voranstellen von CTABDEF und den abschließenden Befehl CTABEND gekennzeichnet ist. Innerhalb dieses Teileprogrammabschnitts werden durch Bewegungsanweisungen einzelnen Positionen der Leitachse eindeutige Folgeachspositionen zugeordnet, die als Stützstellen für die Berechnung eines Kurvenzugs in Form eines Polynoms bis zu maximal 5.
  • Seite 513: Beispiele

    Achskopplungen 9.2 Kurventabellen (CTAB) Bedeutung Beginn der Kurventabellendefinition CTABDEF( ) Ende der Kurventabellendefinition CTABEND Achse, deren Bewegung über die Kurventabelle berechnet werden <Folgeachse> soll Achse, die die Leitwerte zur Berechnung der Folgeachsbewegung <Leitachse> liefert Nummer (ID) der Kurventabelle <n> Die Nummer einer Kurventabelle ist eindeutig und unabhängig vom Speicherort.
  • Seite 514: Beispiel 2: Definition Einer Nichtperiodischen Kurventabelle

    Achskopplungen 9.2 Kurventabellen (CTAB) Programmcode Kommentar IF NOT ($P_CTABDEF) STOPRE ENDIF … CTABEND Beispiel 2: Definition einer nichtperiodischen Kurventabelle Programmcode Kommentar N100 CTABDEF(Y,X,3,0) ; Beginn der Definition einer nichtperiodischen Kurventabelle mit der Nummer 3. N110 X0 Y0 ; 1.Bewegungsanweisung, legt Startwerte und 1.
  • Seite 515 Achskopplungen 9.2 Kurventabellen (CTAB) Beispiel 3: Definition einer periodischen Kurventabelle Definition einer periodischen Kurventabelle mit Nummer 2, Leitwertbereich von 0 bis 360, Folgeachsbewegung von 0 nach 45 und zurück nach 0: Programmcode Kommentar N10 DEF REAL DEPPOS N20 DEF REAL GRADIENT N30 CTABDEF(Y,X,2,1) ;...
  • Seite 516: Weitere Informationen

    Achskopplungen 9.2 Kurventabellen (CTAB) Weitere Informationen Start- und Endwert der Kurventabelle Als Startwert für den Beginn des Definitionsbereichs der Kurventabelle gilt die erste Angabe von zusammengehörigen Achspositionen (die erste Bewegungsanweisung) innerhalb der Kurventabellendefinition. Der Endwert des Definitionsbereichs der Kurventabelle wird entsprechend durch den letzten Verfahrbefehl bestimmt.
  • Seite 517 Achskopplungen 9.2 Kurventabellen (CTAB) Aktivierung von ASPLINE, BSPLINE, CSPLINE Wird innerhalb einer Kurventabellendefinition CTABDEF ... CTABEND ein ASPLINE, BSPLINE oder CSPLINE aktiviert, so sollte vor dieser Spline-Aktivierung mindestens ein Startpunkt programmiert werden. Eine sofortige Aktivierung nach CTABDEF sollte vermieden werden, da sonst der Spline von der aktuellen Achsposition vor der Kurventabellendefinition abhängt.
  • Seite 518: Vorhandensein Einer Kurventabelle Prüfen (Ctabexists)

    Achskopplungen 9.2 Kurventabellen (CTAB) Aufheben der Kurventabellendefinition Der Teileprogrammabschnitt ist nach Ausklammern der Anweisungen zur Kurventabellendefinition wieder als reales Teileprogramm verwendbar. Laden von Kurventabellen über "Abarbeiten von Extern" Beim externen Abarbeiten von Kurventabellen muss die Größe des Nachladebuffers (DRAM) über MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE so gewählt werden, dass die gesamte Kurventabellendefinition gleichzeitig im Nachladebuffer abgelegt werden kann.
  • Seite 519: Kurventabellen Löschen (Ctabdel)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.3 Kurventabellen löschen (CTABDEL) Funktion Mit CTABDEL können Kurventabellen gelöscht werden. Hinweis Kurventabellen, die in einer Achskopplung aktiv sind, können nicht gelöscht werden. Syntax CTABDEL(<n>) CTABDEL(<n>,<m>) CTABDEL(<n>,<m>,<Speicherort>) CTABDEL() CTABDEL(,,<Speicherort>) Bedeutung Befehl zum Löschen von Kurventabellen CTABDEL Nummer (ID) der zu löschenden Kurventabelle <n>...
  • Seite 520: Kurventabellen Gegen Löschen Und Überschreiben Sperren (Ctablock, Ctabunlock)

    Achskopplungen 9.2 Kurventabellen (CTAB) Hinweis Wenn beim Mehrfachlöschen CTABDEL(<n>,<m>) oder CTABDEL() wenigstens eine der zu löschenden Kurventabellen in einer Kopplung aktiv ist, dann wird der Löschbefehl nicht ausgeführt, d. h. keine der adressierten Kurventabellen wird gelöscht. 9.2.4 Kurventabellen gegen Löschen und Überschreiben sperren (CTABLOCK, CTABUNLOCK) Funktion Kurventabellen können durch Setzen von Sperren vor unbeabsichtigtem Löschen und...
  • Seite 521: Kurventabellen: Tabelleneigenschaften Ermitteln

    Achskopplungen 9.2 Kurventabellen (CTAB) Beim Sperren/Entsperren eines Kurventabellenbereichs <m> CTABLOCK(<n>,<m>)/CTABUNLOCK(<n>,<m>) wird mit <m> die Nummer der letzten Kurventabelle des Bereichs angegeben. <m> muss größer <n> sein! Angabe des Speicherorts (optional) <Speicherort> Beim Setzen/Aufheben einer Sperre ohne Speicherort-Angabe werden die angegebenen Kurventabellen im statischen und dynamischen NC-Speicher gesperrt/entsperrt.
  • Seite 522 Achskopplungen 9.2 Kurventabellen (CTAB) Bedeutung Liefert die Tabellennummer, die im angegebenen Speicher als die CTABID <p>-te Kurventabelle eingetragen ist. Beispiel: CTABID(1,"SRAM") liefert die Nummer der ersten Kurventabelle im statischen NC-Speicher. Die erste Kurventabelle entspricht dabei der Kurventabelle mit der höchsten Tabellennummer. Hinweis: Wird zwischen aufeinander folgenden Aufrufen von CTABID die Reihenfolge der Kurventabellen im Speicher geändert, z. B.
  • Seite 523: Kurventabellenwerte Lesen (Ctabtsv, Ctabtev, Ctabtsp, Ctabtep, Ctabssv, Ctabsev, Ctab, Ctabinv, Ctabtmin, Ctabtmax)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.6 Kurventabellenwerte lesen (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) Funktion Folgende Kurventabellenwerte können im Teileprogramm gelesen werden: • Folgeachs- und Leitachswerte am Anfang und Ende einer Kurventabelle • Folgeachswerte am Anfang und Ende eines Kurvensegments •...
  • Seite 524 Achskopplungen 9.2 Kurventabellen (CTAB) Leitachswert zum angegebenen Folgeachswert (<Folgewert>) CTABINV: lesen Minimalwert der Folgeachse bestimmen: CTABTMIN: • im gesamten Definitionsbereich der Kurventabelle oder • in einem definierten Intervall <a> ... <b> Maximalwert der Folgeachse bestimmen: CTABTMAX: • im gesamten Definitionsbereich der Kurventabelle oder •...
  • Seite 525 Achskopplungen 9.2 Kurventabellen (CTAB) Programmcode Kommentar N10 DEF REAL STARTPOS N20 DEF REAL ENDPOS N30 DEF REAL STARTPARA N40 DEF REAL ENDPARA N50 DEF REAL MINVAL N60 DEF REAL MAXVAL N70 DEF REAL GRADIENT N100 CTABDEF(Y,X,1,0) ; Beginn der Tabellendefinition N110 X0 Y10 ;...
  • Seite 526 Achskopplungen 9.2 Kurventabellen (CTAB) Weitere Informationen Verwendung in Synchronaktionen Alle Befehle zum Lesen von Kurventabellenwerten können auch in Synchronaktionen verwendet werden (siehe auch Kapitel "Bewegungssynchronaktionen"). Bei Verwendung der Befehle CTABINV, CTABTMIN und CTABTMAX ist darauf zu achten, dass: • zum Ausführungszeitpunkt ausreichend NC-Leistung verfügbar ist oder •...
  • Seite 527 Achskopplungen 9.2 Kurventabellen (CTAB) CTAB bei periodischen Kurventabellen Liegt der angegebene <Leitwert> außerhalb des Definitionsbereichs, wird der Leitwert Modulo des Definitionsbereichs bewertet und der entsprechende Folgewert ausgegeben: Näherungswert für CTABINV Der Befehl CTABINV benötigt einen Näherungswert für den erwarteten Leitwert. CTABINV gibt den Leitwert zurück, der dem Näherungswert am nächsten liegt.
  • Seite 528: Kurventabellen: Ressourcennutzung Prüfen (Ctabno, Ctabnomem, Ctabfno, Ctabsegid, Ctabseg, Ctabfseg, Ctabmseg, Ctabpolid, Ctabpol, Ctabfpol, Ctabmpol)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.7 Kurventabellen: Ressourcennutzung prüfen (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) Funktion Mit diesen Befehlen hat der Programmierer die Möglichkeit, sich aktuell über die Belegung der Ressourcen für Kurventabellen, Tabellensegmente und Polynome zu informieren. Syntax CTABNO CTABNOMEM(<Speicherort>)
  • Seite 529 Achskopplungen 9.2 Kurventabellen (CTAB) Anzahl der maximal möglichen Kurvenpolynome im angegebenen CTABMPOL <Speicherort> bestimmen Nummer (ID) der Kurventabelle <n> Angabe des Speicherorts (optional) <Speicherort> Statischer NC-Speicher "SRAM" Dynamischer NC-Speicher "DRAM" Hinweis: Wenn für diesen Parameter kein Wert programmiert wird, dann wird der mit MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE eingestellte Standard-Speicherort verwendet.
  • Seite 530: Axiale Leitwertkopplung (Leadon, Leadof)

    Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Axiale Leitwertkopplung (LEADON, LEADOF) Hinweis Diese Funktion steht für SINUMERIK 828D nicht zur Verfügung! Funktion Bei der axialen Leitwertkopplung werden eine Leit- und eine Folgeachse synchron verfahren. Dabei ist die jeweilige Position der Folgeachse über eine Kurventabelle bzw. ein daraus berechnetes Polynom eindeutig einer - ggf.
  • Seite 531: Beispiel Leitwertkopplung Aus Synchronaktion

    Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Syntax LEADON(FAchse,LAchse,n) LEADOF(FAchse,LAchse) oder Ausschalten ohne Angabe der Leitachse: LEADOF(FAchse) Die Leitwertkopplung kann sowohl vom Teileprogramm als auch während der Bewegung aus Synchronaktionen, siehe Kapitel "Bewegungssynchronaktionen" heraus ein- und ausgeschaltet werden. Bedeutung Leitwertkopplung einschalten LEADON Leitwertkopplung ausschalten LEADOF...
  • Seite 532 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Aktionen Als Aktionen treten in den Synchronaktionen z. B. auf: • Einkoppeln, LEADON(Folgeachse, Leitachse, Kurventabellen-Nummer) • Auskoppeln, LEADOF(Folgeachse, Leitachse) • Istwertsetzen, PRESETON(Achse, Wert) • Merker setzen, $AC_MARKER[i] = Wert • Kopplungsart: reeller/virtueller Leitwert • Anfahren von Achspositionen, POS[Achse] = Wert Bedingungen Als Bedingungen werden digitale schnelle Eingänge, Echtzeitvariablen $AC_MARKER und...
  • Seite 533: Beschreibung

    Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Beschreibung Die Leitwertkopplung erfordert die Synchronisation von Leit- und Folgeachse. Diese Synchronisation kann nur erreicht werden, wenn die Folgeachse bei Einschalten der Leitwertkopplung innerhalb des Toleranzbereiches des aus der Kurventabelle berechneten Kurvenzugs steht. Der Toleranzbereich für die Stellung der Folgeachse ist über Maschinendatum MD 37200: COUPLE_POS_POL_COARSE A_LEAD_TYPE definiert.
  • Seite 534 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Ist- und Sollwertkupplung Die Sollwertkopplung liefert im Vergleich zur Istwertkopplung einen besseren Synchronlauf zwischen Leit- und Folgeachse und ist deshalb standardmäßig voreingestellt. Sollwertkopplung ist nur möglich, wenn Leit- und Folgeachse von derselben NCU interpoliert werden.
  • Seite 535 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Leitwerte erzeugen Leitwerte können wahlweise mit anderen selbst programmierten Verfahren erzeugt werden. Die so erzeugten Leitwerte werden in die Variable - $AA_LEAD_SP Leitwert Position - $AA_LEAD_SV Leitwert Geschwindigkeit geschrieben und aus ihnen gelesen. Zur Benutzung dieser Variablen muss das Settingdatum $SA_LEAD_TYPE = 2 gesetzt werden.
  • Seite 536: Elektronisches Getriebe (Eg)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) Elektronisches Getriebe (EG) Funktion 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. Die Zusammenhänge zwischen den Leitachsen und der Folgeachse sind je Leitachse durch den Koppelfaktor definiert.
  • Seite 537 Achskopplungen 9.4 Elektronisches Getriebe (EG) 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 für jede Leitachse einzeln anzugeben.
  • Seite 538: Elektronisches Getriebe Einschalten (Egon, Egonsyn, Egonsyne)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) 9.4.2 Elektronisches Getriebe einschalten (EGON, EGONSYN, EGONSYNE) Funktion Für das Einschalten eines EG-Achsverbandes existieren 3 Varianten. Syntax Variante 1: Der EG-Achsverband wird ohneSynchronisation selektiv eingeschaltet mit: EGON(FA,"Satzwechselmodus",LA1,Z1,N1,LA2,Z2,N2,...,LA5,Z5,N5) 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...
  • Seite 539 Achskopplungen 9.4 Elektronisches Getriebe (EG) Variante 2: Folgeachse Folgende Modi können benutzt werden: Satzwechselmodus Satzwechsel erfolgt sofort "NOC" Satzwechsel erfolgt bei "Synchronlauf "FINE" fein" Satzwechsel erfolgt bei "Synchronlauf "COARSE" grob" Satzwechsel erfolgt bei "IPOSTOP" sollwertseitigem Synchronlauf (Eckige Klammern nicht schreiben) [,LAi,SynPosLAi,Zi,Ni] Mind.
  • Seite 540: Weitere Informationen

    Achskopplungen 9.4 Elektronisches Getriebe (EG) Weitere Informationen Beschreibung der Einschaltvarianten Variante 1: Die Positionen der Leitachsen sowie der Folgeachse zum Zeitpunkt des Einschaltens werden gespeichert als "Synchronpositionen". Die "Synchronpositionen" können mit den Systemvariablen $AA_EG_SYN gelesen werden. Variante 2: Wenn Moduloachsen im Koppelverband sind, werden ihre Positionswerte modulo reduziert. Damit ist gewährleistet, dass die nächstmögliche Synchronposition angefahren wird (sog.
  • Seite 541: Elektronisches Getriebe Ausschalten (Egofs, Egofc)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) Verhalten des Elektronischen Getriebes bei Power On, RESET, Betriebsartenwechsel, Suchlauf • Nach Power On ist keine Kopplung aktiv. • Aktive Kopplungen bleiben über RESET und Betriebsartenwechsel erhalten. • Bei Satzsuchlauf werden Befehle zum Schalten, Löschen, Definieren des Elektronischen Getriebes nicht ausgeführt und nicht aufgesammelt, sondern übergangen.
  • Seite 542: Definition Eines Elektronischen Getriebes Löschen (Egdel)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) Verbleiben noch aktive Leitachsen, so läuft die Folgeachse unter deren Einfluss weiter. Sind alle Leitachseneinflüsse auf diese Weise ausgeschaltet, so wird die Folgeachse zum Stillstand abgebremst. Variante 3: Syntax Bedeutung Das elektronische Getriebe wird ausgeschaltet. Die EGOFC(Folgespinde1) Folgespindel läuft mit der zum Ausschaltzeitpunkt aktuellen Drehzahl/Geschwindigkeit weiter.
  • Seite 543: Synchronspindel

    Achskopplungen 9.5 Synchronspindel Synchronspindel Funktion Im Synchronbetrieb gibt es eine Leitspindel (LS) und eine Folgespindel (FS), das sog. Synchronspindelpaar. Die Folgespindel folgt bei aktiver Kopplung (Synchronbetrieb) den Bewegungen der Leitspindel entsprechend dem festgelegten Funktionszusammenhang. Die Synchronspindelpaare lassen sich für jede Maschine sowohl mit Hilfe von kanalspezifischen Maschinendaten fest projektieren oder über das CNC-Teileprogramm anwendungsspezifisch definieren.
  • Seite 544: Synchronspindel: Programmierung (Coupdef, Coupdel, Coupon, Couponc, Coupof, Coupofs, Coupres, Waitc)

    Achskopplungen 9.5 Synchronspindel 9.5.1 Synchronspindel: Programmierung (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) Funktion Die Funktion Synchronspindel ermöglicht ein synchrones Verfahren zweier Spindeln (Folgespindel FS und Leitspindel LS), z. B. zur fliegenden Werkstückübergabe. Die Funktion bietet folgende Modi: • Drehzahlsynchronität (n •...
  • Seite 545 Achskopplungen 9.5 Synchronspindel Durch Vorgabe eines Übersetzungsverhältnisses ungleich 1 zwischen Leit- und Folgespindel ist auch eine Mehrkantbearbeitung (Polygondrehen) möglich. Syntax COUPDEF(<FS>,<LS>,<ÜFS>,<ÜLS>,<Satzwechsel>,<Koppelart>) COUPON(<FS>,<LS>,<POSFS>) COUPONC(<FS>,<LS>) COUPOF(<FS>,<LS>,<POSFS>,<POSLS>) COUPOFS(<FS>,<LS>) COUPOFS(<FS>,<LS>,<POSFS>) COUPRES(<FS>,<LS>) COUPDEL(<FS>,<LS>) WAITC(<FS>,<Satzwechsel>,<LS>,<Satzwechsel>) Hinweis Verkürzte Schreibweise Bei den Anweisungen COUPOF, COUPOFS, COUPRES und COUPDEL ist eine verkürzte Schreibweise ohne Angabe der Leitspindel möglich.
  • Seite 546 Achskopplungen 9.5 Synchronspindel Ausschalten einer Kopplung mit Stopp der Folgespindel. COUPOFS: Satzwechsel schnellstmöglich mit sofortigen Satzwechsel: COUPOFS(<S2>,<S1>) Satzwechsel erst nach Überfahren der Ausschaltposition: COUPOFS(<S2>,<S1>,<POSFS>) Kopplungsparameter zurücksetzen auf projektierte MD und SD COUPRES: Anwenderdefinierte Kopplung löschen COUPDEL: Warten Synchronlaufbedingung WAITC: (NOC werden auf IPO bei Satzwechsel aufgehoben) Bezeichnung der Folgespindel <FS>: Optionale Parameter:...
  • Seite 547: Beispiele

    Achskopplungen 9.5 Synchronspindel Beispiele Beispiel 1: Arbeiten mit Leit- und Folgespindel Programmierung Kommentar ; Leitspindel = Masterspindel = Spindel 1 ; 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") ;...
  • Seite 548 Achskopplungen 9.5 Synchronspindel Beispiel 3: Beispiele der Übernahme einer Bewegung zur Differenzdrehzahl 1. Kopplung bei vorhergehender Programmierung der Folgespindel mit COUPON einschalten Programmierung Kommentar ; Leitspindel = Masterspindel = Spindel 1 ; Folgespindel = Spindel 2 N05 M3 S100 M2=3 S2=200 ;...
  • Seite 549 Achskopplungen 9.5 Synchronspindel ACHTUNG Leitspindel und 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 550 Achskopplungen 9.5 Synchronspindel Übersetzungsverhältnis ÜFS / ÜLS Das Übersetzungsverhältnis wird als Drehzahlverhältnis zwischen Folgespindel (Zähler) und Leitspindel (Nenner) angegeben. Der Zähler muss programmiert werden. Wird kein Nenner programmiert, wird Nenner = 1.0 gesetzt. Beispiel: Folgespindel S2 und Leitspindel S1, Übersetzungsverhältnis = 1 / 4 = 0.25. COUPDEF(S2,S1,1.0, 4.0) Hinweis Das Übersetzungsverhältnis kann auch bei eingeschalteter Kopplung und drehenden...
  • Seite 551 Achskopplungen 9.5 Synchronspindel Synchronbetrieb einschalten COUPON, POSFS • Einschalten der Kopplung mit beliebigem Winkelbezug zwischen LS und FS: - COUPON(S2,S1) - COUPON(S2,S1,<POSFS>) - COUPON(S2) • Einschalten der Kopplung mit Winkelversatz <POSFS> Zur positionssynchronen Kopplung für profilierte Werkstücke. <POSFS>bezieht sich auf die 0°-Position der Leitspindel in positiver Drehrichtung Wertebereich <POSFS>: 0°…...
  • Seite 552 Achskopplungen 9.5 Synchronspindel Differenzdrehzahl bei COUPONC Übernahme einer Bewegung zur Differenzdrehzahl Durch das Einschalten einer Synchronspindelkopplung mit COUPONC wird eine aktuell wirksame Drehzahl der Folgespindel ( M3 S... oder M4 S...) überlagert. Hinweis Freigabe der Überlagerung Eine Überlagern einer Spindeldrehzahl ( M3 S... oder M4 S...) durch Synchronspindelkopplung COUPONC wird nur wirksam, wenn die Überlagerung freigegeben ist.
  • Seite 553 Achskopplungen 9.5 Synchronspindel Programmierbares Satzwechselverhalten WAITC Mit WAITC kann das Satzwechselverhalten, z. B. nach Änderung von Kopplungsparametern oder Positioniervorgängen, mit unterschiedlichen Synchronlaufbedingungen (grob, fein, IPOSTOP) vorgegeben werden. Sind keine Synchronlaufbedingungen angegeben, gilt das bei der Definition COUPDEF angegebene Satzwechselverhalten. Beispiel: Warten auf das Erreichen der Synchronlaufbedingung entsprechend COUPDEF WAITC( ) Warten auf das Erreichen der Synchronlaufbedingung FINE bei Folgespindel S2 und COARSE...
  • Seite 554 Achskopplungen 9.5 Synchronspindel Kopplungsparameter zurücksetzen COUPRES Mit COUPRES werden die in den Maschinen- und Settingdaten parametrierten Werte der Kopplung aktiviert: • COUPRES(S2,S1) (mit Angabe der Leitspindel) • COUPRES(S2) (ohne Angabe der Leitspindel) Systemvariablen Aktueller Kopplungszustand der Folgespindel Der aktuelle Kopplungszustand einer Folgespindel kann über folgende Systemvariable gelesen werden: $AA_COUP_ACT[<FS>] Wert...
  • Seite 555: Master-/Slave-Verband (Masldef, Masldel, Maslon, Maslof, Maslofs)

    Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Funktion Die Master-/Slave-Kopplung vor SW 6.4 gestattet das Einkoppeln der Slave-Achsen auf ihre Masterachse nur im Stillstand der beteiligten Achsen. Die Erweiterung des SW-Standes 6.5 erlaubt das Koppeln und Trennen von drehenden, drehzahlgesteuerten Spindeln und die dynamische Projektierung.
  • Seite 556 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Beispiele Beispiel 1: Dynamische Projektierung einer Master/Slave-Kopplung Dynamische Projektierung einer Master/Slave-Kopplung aus dem Teileprogramm heraus: Die nach einer Achscontainerdrehung relevante Achse soll zur Masterachse werden. Programmcode Kommentar MASLDEF(AUX,S3) ; S3 Master für AUX MASLON(AUX) ;...
  • Seite 557 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, Beispiel 3: Kopplungssequenz Lage 3/Container CT1 Damit die Kopplung nach der Containerdrehung mit einer anderen Spindel geschlossen werden kann, muss vorher die alte Kopplung getrennt, die Projektierung gelöscht und die neue Kopplung projektiert werden. Ausgangssituation: Nach Drehung um einen Slot: Literatur:...
  • Seite 558 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Weitere Informationen Allgemein Bei Spindeln im Drehzahlsteuerbetrieb wird diese Anweisung unmittelbar MASLOF ausgeführt. Die zu diesem Zeitpunkt drehenden Slave-Spindeln behalten ihre Drehzahlen bis zur erneuten Drehzahlprogrammierung bei. Erweiterung dynamische Projektierung Definition eines Master-/Slave-Verbandes aus dem Teileprogramm MASLDEF heraus.
  • Seite 559: Bewegungssynchronaktionen

    Bewegungssynchronaktionen 10.1 Grundlagen Funktion Synchronaktionen bieten die Möglichkeit, synchron zu Bearbeitungssätzen Aktionen auszuführen. Der Ausführungszeitpunkt der Aktionen kann über Bedingungen definiert werden. Die Bedingungen werden im Interpolationstakt überwacht. Die Aktionen stellen somit eine Reaktion auf Echtzeitereignisse dar, ihre Ausführung ist nicht an Satzgrenzen gebunden. Zusätzlich enthält eine Synchronaktion Angaben zu ihrer Lebensdauer und zur Abfragehäufigkeit für die programmierten Hauptlaufvariablen und damit zur Ausführungshäufigkeit der zu startenden Aktionen.
  • Seite 560: Programmierung

    Bewegungssynchronaktionen 10.1 Grundlagen Programmierung Eine Synchronaktion steht allein im Satz und wirkt ab dem nächsten ausführbaren Satz einer Maschinenfunktion (z. B. Verfahrbewegung mit G0, G1, G2, G3). Synchronaktionen bestehen aus bis zu 5 Befehlselementen mit unterschiedlichen Aufgaben: Syntax: DO <Aktion1> <Aktion2> … <SCHLÜSSELWORT>...
  • Seite 561: Gültigkeitsbereich Und Bearbeitungsreihenfolge (Id, Ids)

    Bewegungssynchronaktionen 10.1 Grundlagen Koordinierung von Synchronaktionen/Technologiezyklen Zur Koordinierung von Synchronaktionen/Technologiezyklen stehen folgende Befehle zur Verfügung: Befehl Bedeutung Synchronaktionen löschen CANCEL(<n>) → Siehe " Synchronaktion löschen " Synchronaktionen sperren LOCK(<n>) Synchronaktionen freischalten UNLOCK(<n>) Technologiezyklus zurücksetzen RESET Bezüglich LOCK, UNLOCK und RESET: →  siehe " Sperren, Freischalten, Zurücksetzen " Beispiel Programmcode Kommentar...
  • Seite 562 Bewegungssynchronaktionen 10.1 Grundlagen Bearbeitungsreihenfolge Modal und statisch wirksame Synchronaktionen werden in der Reihenfolge ihrer ID- bzw. IDS-Nummer (ID=<n> bzw. IDS=<n>) im Interpolationstakt bearbeitet. Satzweise wirksame Synchronaktionen (ohne ID-Nummer) werden nach der Abarbeitung der modal wirksamen Synchronaktionen in der programmierten Reihenfolge bearbeitet. Hinweis Über Maschinendateneinstellungen können modal wirksame Synchronaktionen gegenüber Änderungen oder Löschungen geschützt werden ( →...
  • Seite 563: Zyklische Prüfung Der Bedingung (When, Whenever, From, Every)

    Bewegungssynchronaktionen 10.1 Grundlagen 10.1.2 Zyklische Prüfung der Bedingung (WHEN, WHENEVER, FROM, EVERY) Funktion Über ein Schlüsselwort wird die zyklische Prüfung der Bedingung einer Synchronaktion definiert. Ist kein Schlüsselwort programmiert, werden die Aktionen der Synchronaktion in jedem IPO-Takt ausgeführt. Schlüsselworte kein Schlüsselwort Die Ausführung der Aktion ist an keine Bedingung geknüpft.
  • Seite 564 Bewegungssynchronaktionen 10.1 Grundlagen Beispiele Beispiel 1: Kein Schlüsselwort Programmcode Kommentar DO $A_OUTA[1]=$AA_IN[X] ; Istwertausgabe auf Analogausgang. Beispiel 2: WHENEVER Programmcode Kommentar WHENEVER $AA_IM[X] > 10.5*SIN(45) DO … ; Vergleich mit im Vorlauf berechnetem Ausdruck. WHENEVER $AA_IM[X] > $AA_IM[X1] DO … ;...
  • Seite 565: Beispiel: Synchronaktion Mit Zwei Aktionen

    Bewegungssynchronaktionen 10.1 Grundlagen Mögliche Bedingungen • Vergleich von Hauplaufvariablen (analoge/digitale Ein-/Ausgänge, u.a.) • Boole'sche Verknüpfung zwischen Vergleichsergebnissen • Berechnung von Echtzeitausdrücken • Zeit/Entfernung vom Satzanfang • Entfernung vom Satzende • Messwerte, Messergebnisse • Servo-Werte • Geschwindigkeiten, Achsstatus 10.1.3 Aktionen (DO) Funktion In Synchronaktionen können eine oder mehrere Aktionen programmiert werden.
  • Seite 566: Operatoren Für Bedingungen Und Aktionen

    Bewegungssynchronaktionen 10.2 Operatoren für Bedingungen und Aktionen 10.2 Operatoren für Bedingungen und Aktionen Vergleiche In Bedingungen können Variablen oder (==, <>, <, >, <=, >=) Teilausdrücke verglichen werden. Das Ergebnis ist immer vom Datentyp BOOL. Zulässig sind alle bekannten Vergleichsoperatoren. Boole'sche Operatoren Variablen, Konstanten oder Vergleiche (NOT, AND, OR, XOR)
  • Seite 567: Echtzeitausdrücke

    Bewegungssynchronaktionen 10.2 Operatoren für Bedingungen und Aktionen • Echtzeitausdrücke Programmierung Kommentar ID=1 WHENEVER ($AA_IM[Y]>30) AND Auswahl eines Positions-Fenster ($AA_IM[Y]<40) DO $AA_OVR[S1]=80 ID=67 DO $A_OUT[1]=$A_IN[2] XOR $AN_MARKER[1] 2 boole'sche Signale auswerten ID=89 DO $A_OUT[4]=$A_IN[1] OR ($AA_IM[Y]>10) Ergebnis eines Vergleichs ausgeben • Hauptlaufvariable indiziert Programmierung Kommentar...
  • Seite 568: Hauptlaufvariablen Für Synchronaktionen

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.1 Systemvariablen Funktion Mit Hilfe von Systemvariablen können Daten der NC gelesen und geschrieben werden. Systemvariable werden in Vorlauf- und Hauptlaufvariable unterschieden. Vorlaufvariable werden immer zum Vorlaufzeitpunkt ausgeführt. Hauptlaufvariable ermitteln ihren Wert immer bezüglich des aktuellen Hauptlaufzustandes.
  • Seite 569 Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Datentypen Hauptlaufvariablen können folgende Datentypen haben: Integer für ganzzahlige Werte mit Vorzeichen REAL Real für gebrochenrationale Zahlen BOOL Boolean TRUE und FALSE CHAR ASCII-Zeichen STRING Zeichenkette mit alphanumerischen Zeichen AXIS Achsadressen und Spindeln Vorlaufvariablen können zusätzlich folgenden Datentyp haben: FRAME Koordinatentransformationen Variablen-Felder...
  • Seite 570: Implizite Typwandlung

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.2 Implizite Typwandlung Funktion Bei Wertzuweisungen und Parameterübergaben können Variablen unterschiedlicher Datentypen zugewiesen oder übergeben werden. Die implizite Typwandlung löst eine interne Typenkonvertierung von Werten aus. Mögliche Typkonvertierungen nach REAL BOOL CHAR STRING AXIS FRAME REAL –...
  • Seite 571: Beispiele Impliziter Typwandlungen

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Beispiele impliziter Typwandlungen Typwandlung von INTEGER nach BOOL $AC_MARKER[1] = 561 ID=1 WHEN $A_IN[1] == TRUE DO $A_OUT[0]=$AC_MARKER[1] Typwandlung von REAL nach BOOL R401 = 100.542 WHEN $A_IN[0] == TRUE DO $A_OUT[2]=$R401 Typwandlung von BOOL nach INTEGER ID=1 WHEN $A_IN[2] == TRUE DO $AC_MARKER[4] = $A_OUT[1]] Typwandlung von BOOL nach REAL R401 = 100.542...
  • Seite 572: Eigenschaften

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Über den Index <x> wird der Datenbaustein (Zugriffrechte), über den Wert <Anzahl> die Anzahl von Synchronaktions-GUD des jeweiligen Datentyps (REAL, INT, ...) angegeben. Im jeweiligen Datenbaustein wird daraufhin für jeden Datentyp ein 1-dimensionale Feldvariable mit folgendem Namens-Schema angelegt: SYG_<Datentyp><Zugriffsrecht>[<Index>]: Index Datentyp <x>...
  • Seite 573: Zugriffsrechte

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Zugriffsrechte Die in einer GUD-Definitionsdatei definierten Zugriffsrechte bleiben weiterhin gültig und beziehen sich nur auf die in dieser GUD-Definitionsdatei definierten GUD-Variablen. Löschverhalten Wird der Inhalt einer bestimmten GUD-Definitionsdatei neu aktiviert, wird zunächst der alte GUD-Datenbaustein im aktiven Filesystem gelöscht. Die projektierten Synchronaktions-GUD werden dabei ebenfalls zurückgesetzt.
  • Seite 574: Beispiel: Definition Einer Achsvariablen Im Hauptprogramm

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Bedeutung Unterprogrammdefinition PROC Unterprogrammname zur Erkennung Parameter n PARn Initialisierung des Formalparameters mit Default- NO_AXIS Achsbezeichner Beispiel: Definition einer Achsvariablen im Hauptprogramm Programmcode DEF AXIS AXVAR UP( , AXVAR) 10.3.5 Synchronaktions-Marker ($AC_MARKER[n]) Funktion Die Feld-Variable $AC_MARKER[n] kann in Synchronaktionen gelesen, geschrieben werden. Diese Variablen können entweder im Speicher des aktiven oder passiven Filesystems liegen.
  • Seite 575: Synchronaktions-Parameter ($Ac_Param[N])

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.6 Synchronaktions-Parameter ($AC_PARAM[n]) Funktion Synchronaktions-Parameter $AC_PARAM[n] dienen für Berechnungen und als Zwischenspeicher in Synchronaktionen. Diese Variablen können entweder im Speicher vom aktiven oder passiven Filesystem liegen. Synchronisations-Variable: Datentyp REAL Die Parameter sind unter gleichem Namen einmal pro Kanal vorhanden. Rechenvariable für Bewegungssynchronaktionen (REAL) $AC_PARAM[n] Maschinendatum zum Einstellen der Anzahl der Parameter...
  • Seite 576: Nc-Maschinen- Und Nc-Settingdaten Lesen Und Schreiben

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Rechenparameter Die Verwendung von Rechenparametern ermöglicht: • Abspeicherung von Werten, die über Programmende, NC-Reset und Power On hinweg erhalten werden sollen. • Anzeige abgespeicherter Werte im R-Parameter-Bild. Beispiele Programmcode Kommentar WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y] ; Verwendung von R10 in Synchronaktion.
  • Seite 577: Md- Und Sd Werte Zum Vorlaufzeitpunkt Lesen

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen MD- und SD Werte zum Vorlaufzeitpunkt lesen Sie werden aus der Synchronaktion mit den $-Zeichen adressiert und zum Vorlaufzeitpunkt ausgewertet. ID=2 WHENEVER $AA_IM[z]<$SA_OSCILL_REVERSE_POS2[Z]-6 DO $AA_OVR[X]=0 ;Hier wird der als unveränderlich angenommene Umkehrbereich 2 für Pendeln angesprochen MD- und SD Werte zum Hauptlaufzeitpunkt lesen Sie werden aus der Synchronaktion mit den $$-Zeichen adressiert und zum...
  • Seite 578: Timer-Variablen ($Ac_Timer[N])

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.9 Timer-Variablen ($AC_Timer[n]) Funktion Die Systemvariable $AC_TIMER[n] ermöglicht das Starten von Aktionen nach definierten Wartezeiten. Timer-Variable: Datentyp REAL Kanalspezifischer Timer vom Datentyp REAL $AC_TIMER[n] Einheit in Sekunden Index der Timer-Variable Timer setzen Das Hochzählen einer Timer-Variable wird gestartet durch Wertzuweisung: $AC_TIMER[n] = value Nummer der Zeitvariablen value:...
  • Seite 579: Fifo-Variablen ($Ac_Fifo1[N]

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.10 FIFO-Variablen ($AC_FIFO1[n] ... $AC_FIFO10[n]) Funktion Zur Abspeicherung zusammengehöriger Datenfolgen stehen 10 FIFO-Variable (Umlaufspeicher) zur Verfügung. Datentyp: REAL Anwendung: • zyklisches Messen • Durchlaufbearbeitung Auf jedes Element kann lesend und schreibend zugegriffen werden. FIFO-Variable Die Anzahl der verfügbaren FIFO-Variablen wird per Maschinendatum MD28260 $MC_NUM_AC_FIFO festgelegt.
  • Seite 580: Beispiel: Umlaufspeicher

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Beispiel: Umlaufspeicher Während eines Produktionsablaufs wird ein Förderband zum Transport von Produkten mit unterschiedlichen Längen (a, b, c, d) benutzt. Auf dem Förderband mit der Transportlänge werden daher abhängig von den jeweiligen Produktlängen unterschiedliche Anzahlen von Produkten gleichzeitig befördert.
  • Seite 581: Auskunft Über Satztypen Im Interpolator

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.11 Auskunft über Satztypen Interpolator ($AC_BLOCKTYPE, $AC_BLOCKTYPEINFO, $AC_SPLITBLOCK) Funktion Für Synchronaktionen stehen die folgenden Systemvariablen zur Verfügung, um Auskunft über einen im Hauptlauf gerade aktuellen Satz zu erhalten: • $AC_BLOCKTYPE • $AC_BLOCKTYPEINFO • $AC_SPLITBLOCK Blocktype- und Blocktypeinfo-Variablen $AC_BLOCKTYPE $AC_BLOCKTYPEINFO Wert:...
  • Seite 582 Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen $AC_BLOCKTYPE $AC_BLOCKTYPEINFO Wert: Wert: ungleich 0 Bedeutung: Origi- Zwischensatz Auslöser für Zwischensatz: nalsatz G642 G643 G644 TLIFT-Satz mit: linearer Bewegung der Tangentialachse und ohne Abhebebewegung Nichtlinearer Bewegung der Tangentialachse (Polynom) und ohne Abhebebewegung Abhebebewegung, Tangentialachsbewegung und Abhebebewegung starten gleichzeitig Abhebebewegung, Tangentialachse startet erst, wenn bestimmte Abhebeposition erreicht wird.
  • Seite 583: Beispiel: Zählen Von Überschleifsätzen

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen $AC_SPLITBLOCK Wert: Bedeutung: Unveränderter programmierter Satz, (ein durch den Kompressor generierter Satz wird auch als programmierter Satz behandelt) Es liegt ein intern generierter Satz oder ein verkürzter Originalsatz vor Es liegt der letzte Satz in einer Kette von intern generierten Sätzen oder verkürzten Originalsätzen vor Beispiel: Zählen von Überschleifsätzen Programmcode...
  • Seite 584: Aktionen In Synchronaktionen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.1 Übersicht möglicher Aktionen in Synchronaktionen Aktionen in Synchronaktionen bestehen aus Wertzuweisungen, Funktions- oder Parameteraufrufen, Schlüsselwörter oder Technologiezyklen. Über Operatoren sind komplexe Ausführungen möglich. Mögliche Anwendungen sind: • Berechnungen komplexer Ausdrücke im IPO-Takt •...
  • Seite 585 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Synchronaktion Beschreibung DO DELDTG Schnelles Restweglöschen ohne Vorlaufstopp FTCDEF(Polyn., LL, UL , Koeffiz.) Definition von Polynomen DO SYNFCT(Polyn., Output, Input) Aktivierung von Synchronfunktionen: AC-Regelung DO FTOC Online-Werkzeugkorrektur DO G70/G71/G700/G710 Maßsystem für Positionieraufgaben festlegen (Maßangabe in Inch oder metrisch) DO POS[Achse]= / DO MOV[Achse]= Kommandoachsen starten/positionieren/stoppen DO SPOS[Spindel]=...
  • Seite 586: Ausgabe Von Hilfsfunktionen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Synchronaktion Beschreibung $AN_IPO_ACT_LOAD= aktuelle IPO-Rechenzeit $AN_IPO_MAX_LOAD= längste IPO-Rechenzeit $AN_IPO_MIN_LOAD= kürzeste IPO-Rechenzeit $AN_IPO_LOAD_PERCENT= aktuelle IPO-Rechenzeit im Verhältnis zum IPO-Takt $AN_SYNC_ACT_LOAD= aktuelle Rechenzeit für Synchronaktion über alle Kanäle längste Rechenzeit für Synchronaktion über alle Kanäle $AN_SYNC_MAX_LOAD= prozentualer Anteil der ges. Synchronaktion $AN_SYNC_TO_IPO= DO TECCYCLE Technologiezyklus ausführen...
  • Seite 587: Einlesesperre Setzen (Rdisable)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Programmcode Kommentar WHEN $AA_IW[Q1]>5 DO M172 H510 ; Wenn Istwert der Q1-Achse 5 mm übersteigt, Hilfsfunktionen M172 und H510 an PLC ausgeben. 10.4.3 Einlesesperre setzen (RDISABLE) Funktion Mit RDISABLE wird bei erfüllter Bedingung die weitere Satzbearbeitung im Hauptprogramm angehalten.
  • Seite 588: Vorlaufstopp Aufheben (Stopreof)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Randbedingungen Wirkung von RDISABLE bei einem Achstausch Wirkt RDISABLE auf einen Satz, in dem auch ein Achstausch ausgeführt wird, so wirkt RDISABLE auch auf den durch den Achstausch ausgelösten REPOSA-Satz. Beispielprogramm: Programmcode N100 G0 G60 X300 Y300 N105 WHEN TRUE DO POS[X]=20 FA[X]=20000 N110 WHENEVER $AA_IM[X]<>20 DO RDISABLE N115 G0 Y20...
  • Seite 589: Restweglöschen (Deldtg)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Schnelle Programmverzweigung am Satzende. Programmcode Kommentar WHEN $AC_DTEB<5 DO STOPREOF Wenn die Entfernung zum Satzende 5 mm ;unterschreitet, Vorlaufstopp aufheben. G01 X100 Nach Ausführung der Linearinterpolation, wird Vorlaufstopp aufgehoben. IF $A_INA[7]>500 GOTOF MARKE1=X100 Wenn am Eingang 7 die Spannung von 5V ;überschritten wird, zu Label 1 springen.
  • Seite 590: Beispiel Schnelles Restweglöschen Bahn

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Schnelles Restweglöschen Bahn Programmcode Kommentar WHEN $A_IN[1]==1 DO DELDTG N100 G01 X100 Y100 F1000 wenn Eingang gesetzt ist, wird die Bewegung abgebrochen N110 G01 X… IF $AA_DELT>50… Beispiel Schnelles axiales Restweglöschen Programmcode Kommentar Abbruch einer Positionierbewegung: ID=1 WHEN $A_IN[1]==1 DO MOV[V]=3 FA[V]=700 Achse starten WHEN $A_IN[2]==1 DO DELDTG(V)
  • Seite 591: Polynomdefinition (Fctdef)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.6 Polynomdefinition (FCTDEF) Funktion Mit FCTDEF können Polynome 3. Grades in der Form y=a definiert werden. Diese Polynome werden von der Online-Werkzeugkorrektur FTOC und der Auswertefunktion SYNFCT benutzt. Syntax FCTDEF(Polynom-Nr.,LLIMIT,ULIMIT,a Bedeutung Nummer des Polynoms 3. Ordnung Polynom-Nr.
  • Seite 592: Beispiel Polynom Für Geradenabschnitt

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Polynom für Geradenabschnitt Mit Obergrenze 1000, Untergrenze -1000, dem Ordinatenabschnitt a =$AA_IM[X] und der Geradensteigung 1 lautet die Polynomdefinition: FCTDEF(1, -1000,1000,$AA_IM[X],1) Beispiel Laserleistungssteuerung Eine der möglichen Anwendungen von Polynomdefinition ist die Laserleistungssteuerung. Laserleistungssteuerung heißt: Beeinflussung eines Analogausgangs in Abhängigkeit z.
  • Seite 593 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Programmcode Kommentar $AC_FCTLL[1]=0.2 Definition der Polynomkoeffizienten $AC_FCTUL[1]=0.5 $AC_FCT0[1]=0.35 $AC_FCT1[1]=1.5EX-5 STOPRE ID=1 DO $AC_FCTUL[1]=$A_INA[2]*0.1 +0.35 Obergrenze online verändern. ID=2 DO SYNFCT(1,$A_OUTA[1],$AC_VACTW) in Abhängigkeit von der Bahngeschwindigkeit (in $AC_VACTW hinterlegt) wird die Laserleistungssteuerung über den Analog-Ausgang 1 gesteuert Hinweis Die Benutzung des oben definierten Polynoms erfolgt mit SYNFCT.
  • Seite 594: Synchronfunktion (Synfct)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.7 Synchronfunktion (SYNFCT) Funktion SYNFCT berechnet den Ausgangswert eines Polynoms 3. Grades gewichtet mit der Eingangs-Variablen. Das Ergebnis steht in der Ausgangs-Variablen und wird nach oben und unten begrenzt. Die Auswertefunktion findet Anwendung • bei AC-Regelung (Adaptive Control), •...
  • Seite 595: Beispiel Ac-Regelung (Additiv)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel AC-Regelung (additiv) Additive Beeinflussung des programmierten Vorschubs Ein programmierter Vorschub soll additiv über den Strom der X-Achse (Zustellachse) geregelt werden: Der Vorschub soll um +/- 100 mm/min variieren, wobei der Strom um +/-1A um den Arbeitspunkt bei 5A schwankt.
  • Seite 596: Beispiel Ac-Regelung (Multiplikativ)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel AC-Regelung (multiplikativ) Programmierten Vorschub multiplikativ beeinflussen Der programmierter Vorschub soll multiplikativ beeinflusst werden, wobei der Vorschub – abhängig von der Belastung des Antriebes –bestimmte Grenzen nicht überschreiten soll: • Bei Antriebslast von 80% soll der Vorschub stoppen: Override = 0. •...
  • Seite 597: Abstandsregelung Mit Begrenzter Korrektur ($Aa_Off_Mode)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.8 Abstandsregelung mit begrenzter Korrektur ($AA_OFF_MODE) Hinweis Diese Funktion steht für SINUMERIK 828D nicht zur Verfügung! Funktion Die integrierende Berechnung der Abstandswerte erfolgt mit Grenzbereichsprüfung: $AA_OFF_MODE = 1 ACHTUNG Die Kreisverstärkung des überlagerten Regelkreises ist abhängig von der Einstellung des IPO-Taktes.
  • Seite 598: Formel Für Geschwindigkeit

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Formel für Geschwindigkeit: Beispiel Unterprogramm "AON": Abstandsregelung Ein Programmcode Kommentar PROC AON $AA_OFF_LIMIT[Z]=1 ; Grenzwert festlegen. FCTDEF(1, -10, +10, 0, 0.6, 0.12) ; Polynomdefinition ID=1 DO SYNFCT(1,$AA_OFF[Z],$A_INA[3]) ; Abstandsregelung aktiv. ID=2 WHENEVER $AA_OFF_LIMIT[Z]<>0 ; Bei Überschreitung des DO $AA_OVR[X] = 0 Grenzbereiches Achse X sperren.
  • Seite 599 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Weitere Informationen Positionsoffset im Basiskoordinatensystem Mit der Systemvariable $AA_OFF[Achse]kann jeder Achse im Kanal eine Bewegung überlagert werden. Sie wirkt als Positionsoffset im Basiskoordinatensystem. Der so programmierte Positionsoffset wird der entsprechenden Achse sofort überlagert, unabhängig davon, ob die Achse programmiert verfahren wird oder nicht. Hauptlaufvariable-Ausgang begrenzen: Es ist möglich, den absolut zu korrigierenden Wert (Hauptlaufvariable-Ausgang) auf den im Settingdatum SD43350 $SA_AA_OFF_LIMIThinterlegten Wert zu begrenzen.
  • Seite 600: Online-Werkzeugkorrektur (Ftoc)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.9 Online-Werkzeugkorrektur (FTOC) Funktion FTOC ermöglicht eine überlagerte Bewegung für eine Geometrieachse nach einem mit FCTDEF programmierten Polynom in Abhängigkeit von einem Bezugswert, der z. B. der Istwert einer Achse sein kann. Der Koeffizient a der Funktionsdefinition FCTDEF(...) wird bei FTOC ausgewertet. Ober- und Untergrenze sind abhängig von a Mit FTOC können modale Online-Werkzeugkorrekturen oder Abstandsregelungen als Synchronaktionen programmiert werden.
  • Seite 601 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Funktion "Online-WZK schreiben kontinuierlich modal" ausführen DO FTOC: Parameter: Nummer der Polynom-Funktion <Funktion>: Typ: Wertebereich: 1 ... 3 Hinweis: Muss mit der Angabe bei FCTDEF übereinstimmen. Hauptlaufvariable, zu der ein Funktionswert über <Bezugswert>: die mit FCTDEF definierte Polynom-Funktion berechnet werden soll.
  • Seite 602 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Die Länge der aktiven, im Eingriff befindlichen Schleifscheibe soll korrigiert werden. Programmcode Kommentar FCTDEF(1,-1000,1000,-$AA_IW[V],1) ; Funktion definieren. ID=1 DO FTOC(1,$AA_IW[V],3,1) ; Online-Werkzeugkorrektur anwählen: Istwert der V-Achse ist Eingangswert für Polynom 1. Ergebnis wird im Kanal 1 als Korrekturwert zur Länge 3 der aktiven Schleifscheibe addiert.
  • Seite 603: Online-Werkzeuglängenkorrektur ($Aa_Toff)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.10 Online-Werkzeuglängenkorrektur ($AA_TOFF) Funktion Über die Systemvariable $AA_TOFF[ ] können die effektiven Werkzeuglängen entsprechend der drei Werkzeugrichtungen dreidimensional in Echtzeit überlagert werden. Als Index werden die drei Geometrieachsbezeichner verwendet. Damit ist die Anzahl der aktiven Korrekturrichtungen durch die zur selben Zeit aktiven Geometrieachsen festgelegt. Alle Korrekturen können gleichzeitig aktiv sein.
  • Seite 604: Beispiele

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiele Beispiel 1: Anwahl der Werkzeuglängenkorrektur Programmcode Kommentar N10 TRAORI(1) ; Transformation ein. N20 TOFFON(Z) ; Aktivierung der Online-WZL-Korrektur für die Z- Werkzeugrichtung. N30 WHEN TRUE DO $AA_TOFF[Z]=10 G4 F5 ; Für die Z-Werkzeugrichtung wird eine WZL- Korrektur von 10 interpoliert.
  • Seite 605: Positionierbewegungen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.11 Positionierbewegungen Funktion Achsen können vollkommen asynchron zum Teileprogramm aus Synchronaktionen heraus positioniert werden. Die Programmierung von Positionierachsen aus Synchronaktionen empfiehlt sich für zyklische Abläufe oder Vorgänge, die stark ereignisgesteuert sind. Aus Synchronaktionen heraus programmierte Achsen heißen Kommandoachsen. Programmierung Literatur: /PG/ Programmierhandbuch Grundlagen;...
  • Seite 606: Achse Positionieren (Pos)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.12 Achse positionieren (POS) Funktion Die Positionierachsbewegung hat im Gegensatz zur Programmierung aus dem Teileprogramm keinen Einfluss auf die Abarbeitung des Teileprogramms. Syntax POS[Achse] = Wert Bedeutung Kommandoachse starten/positionieren DO POS Name der Achse, die verfahren werden soll Achse Angabe des zu verfahrenden Wertes (je nach Verfahrmodus) Wert...
  • Seite 607 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel 2: Programmumgebung beeinflusst Positionierweg der Positionierachse (keine G-Funktion im Aktionsteil der Synchronaktion): Programmcode Kommentar N100 R1=0 N110 G0 X0 Z0 N120 WAITP(X) N130 ID=1 WHENEVER $R==1 DO POS[X]=10 N140 R1=1 N150 G71 Z10 F10 ;...
  • Seite 608: Position Im Vorgegebenen Referenzbereich (Posrange)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.13 Position im vorgegebenen Referenzbereich (POSRANGE) Funktion Mit der Funktion POSRANGE( ) kann ermittelt werden, ob sich die aktuelle interpolierte Sollposition einer Achse, in einem Fenster um eine vorgegebene Referenzposition befindet. Die Positionsangaben können sich auf vorgebbare Koordinatensysteme beziehen. Bei Abfrage der Achs-Istposition einer Modoluachse wird die Modulo-Korrektur berücksichtigt.
  • Seite 609: Achse Starten/Stoppen (Mov)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.14 Achse starten/stoppen (MOV) Funktion Mit MOV[Achse]=Wert kann eine Kommandoachse ohne Angabe einer Endposition gestartet werden. Die jeweilige Achse wird in die programmierte Richtung verfahren, bis durch einen neuen Bewegungs- oder Positionierbefehl eine andere Bewegung vorgegeben wird oder die Achse mit einem Stoppbefehl angehalten wird.
  • Seite 610: Achstausch (Release, Get)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.15 Achstausch (RELEASE, GET) Funktion Für einen Werkzeugwechsel können die betreffenden Kommandoachsen als Aktion einer Synchronaktion mit GET(Achse) angefordert werden. Der diesem Kanal zugeordnete Achstyp und das damit zu diesem Zeitpunkt verbundene Interpolationsrecht kann über die Systemvariable $AA_AXCHANGE_TYP abgefragt werden.
  • Seite 611 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Programmcode Kommentar N130 G4 F0.1 N140 START(2) den 2. Kanal starten Programmablauf im 2. Kanal: Programmcode Kommentar WHEN TRUE DO GET(Z) ;Z-Achse in den 2. Kanal holen WHENEVER($AA_TYP[Z]==0) DO RDISABLE ;Einlesesperre solange Z-Achse in anderem ;Kanal N210 G4 F0.1 WHEN TRUE DO GET(Z)
  • Seite 612: Beispiel Achstausch Im Technologiezyklus

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Achstausch im Technologiezyklus Die Achse U ($MA_AUTO_GET_TYPE=2) ist im 1.Kanal und im 2. Kanal bekannt und aktuell hat der Kanal 1 das Interpolationsrecht. Im Kanal 2 wird folgender Technologiezyklus gestartet: Programmcode Kommentar GET(U) U-Achse in Kanal holen POS[U]=100 U-Achse soll auf Position 100 verfahren werden...
  • Seite 613 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Achse aus einem anderen Kanal mit der Aktion GET anfordern Hat zum Aktivierungszeitpunkt der Aktion GET ein anderer Kanal das Schreibrecht (Interpolationsrecht) für die Achse ($AA_AXCHANGE_TYP[<Achse>] == 2), so wird die Achse mittels Achstausch von diesem Kanal angefordert ($AA_AXCHANGE_TYP[<Achse>]==6) und sobald als möglich dem anfordernden Kanal zugeordnet.
  • Seite 614: Axialer Vorschub (Fa)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Achse ist bereits dem NC-Programm zugeordnet Ist die Achse bereits dem NC–Programm des Kanals zugeordnet ($AA_AXCHANGE_TYP[<Achse>]==0) oder ist diese Zuordnung angefordert, z.B. Achstausch vom NC–Programm ausgelöst ($AA_AXCHANGE_TYP[<Achse>]==5 bzw. $AA_AXCHANGE_TYP[<Achse>] == 7), so ergibt sich keine Zustandsänderung. 10.4.16 Axialer Vorschub (FA) Funktion...
  • Seite 615: Achskoordinierung

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.18 Achskoordinierung Funktion Typischerweise wird eine Achse entweder aus dem Teileprogramm oder als Positionierachse aus der Synchronaktion bewegt. Soll dieselbe Achse jedoch wechselweise aus dem Teileprogramm als Bahn- oder Positionierachse und aus Synchronaktionen verfahren werden, so erfolgt eine koordinierte Übergabe zwischen beiden Achsbewegungen.
  • Seite 616: Istwertsetzen (Preseton)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.19 Istwertsetzen (PRESETON) Funktion Bei der Ausführung von PRESETON (Achse,Wert) wird die aktuelle Achsposition nicht verändert, es wird ihr ein neuer Wert zugewiesen. PRESETON aus Synchronaktionen ist möglich für: • Modulo-Rundachsen, die aus dem Teileprogramm gestartet wurden •...
  • Seite 617: Freigabe Für Achscontainer-Drehung Zurücknehmen (Axctswec)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.20 Freigabe für Achscontainer-Drehung zurücknehmen (AXCTSWEC) Funktion Mit dem Befehl AXCTSWEC kann eine bereits erteilte Freigabe zur Achscontainer-Drehung wieder zurückgenommen werden. Der Befehl löst einen Vorlaufstop mit Reorganisieren (STOPRE) aus. Wirksamkeit Damit im Kanal die Freigabe zur Achscontainer-Drehung wieder zurückgenommen wird, müssen folgende Bedingungen erfüllt sein: •...
  • Seite 618: Beispielprogramm

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Beispielprogramm: Programmcode Kommentar N100 Id=1 DO CTSWEC ; Technologiezyklus siehe unten. ; init NEXT: N200 G0 X30 Z1 N210 G95 F.5 N220 M3 S1000 N230 G0 X25 N240 G1 Z-10 N250 G0 X30 N260 M5 N270 AXCTSWE(S1) ;...
  • Seite 619 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Randbedingungen Verwendung einer Containerachse vor Aufruf von AXCTSWEC Da die Programmverarbeitung mit AXCTSWE nicht anhält, ist bei der Programmierung der Synchronaktion DO AXCTSWEC Folgendes zu beachten: Beispiel: Programmcode Kommentar N10 AXCTSWE(CT3) ; Freigabe der Achscontainer-Drehung. N20 AX_A10 AX_A = Containerachse.
  • Seite 620: Spindelbewegungen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.21 Spindelbewegungen Funktion Spindeln können vollkommen asynchron zum Teileprogramm aus Synchronaktionen heraus positioniert werden. Diese Art der Programmierung empfiehlt sich für zyklische Abläufe oder Vorgänge, die stark ereignisgesteuert sind. Werden durch gleichzeitig aktive Synchronaktionen für eine Spindel konkurrierende Befehle vorgegeben, gilt der zeitlich letzte Spindelbefehl.
  • Seite 621: Mitschleppen (Trailon, Trailof)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.22 Mitschleppen (TRAILON, TRAILOF) Funktion Beim Einschalten der Kopplung aus der Synchronaktion kann die Leitachse in Bewegung sein. Die Folgeachse wird in diesem Fall auf die Sollgeschwindigkeit beschleunigt. Die Position der Leitachse zum Synchronisationszeitpunkt der Geschwindigkeiten ist Startposition für das Mitschleppen.
  • Seite 622: Beispiel Konfliktvermeidung Mit Trailof

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Programmcode Kommentar $A_IN[1]==0 DO TRAILON(Y,V,1) Einschalten des 1. Mitschleppverbandes, wenn der digitale Eingang 1 ist $A_IN[2]==0 DO TRAILON(Z,W,-1) Einschalten des 2. Mitschleppverbandes G0 Z10 Zustellung der Z- und W-Achse in entgegengesetzter ;Achsrichtung G0 Y20 Zustellung der Y- und V-Achse in gleicher Achsrichtung G1 Y22 V25...
  • Seite 623: Leitwertkopplung (Leadon, Leadof)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.23 Leitwertkopplung (LEADON, LEADOF) Hinweis Diese Funktion steht für SINUMERIK 828D nicht zur Verfügung! Funktion Die axiale Leitwertkopplung ist ohne Einschränkung in Synchronaktionen programmierbar. Das Ändern einer Kurventabelle bei bestehender Kopplung ohne einer vorherigen Neusynchronisation ist optional nur in Synchronaktionen möglich. Syntax Leitwertkopplung einschalten DO LEADON(Folgeachse, Leitachse, Kurvtab.
  • Seite 624: Beispiel Fliegendes Trennen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Zugriff per Synchronaktionen freischalten RELEASE Um eine zu koppelnde Achse für den Zugriff per Synchronaktion frei zu schalten, muss vorher die Funktion RELEASE für die zu koppelnde Folgeachse aufgerufen werden. Beispiel: RELEASE(XKAN) ID=1 every SR1==1 to LEADON(CACH,XKAN,1) OVW=0 (Defaultwert) Einer bestehenden Kopplung kann ohne Neusynchronisation keine neue Kurventabelle vorgegeben werden.
  • Seite 625 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Programmcode Kommentar N100 R3=1500 ; Länge eines abzutrennenden Teiles N200 R2=100000 R13=R2/300 N300 R4=100000 N400 R6=30 ; Startposition Y Achse N500 R1=1 ; Startbedingung für Bandachse N600 LEADOF(Y,X) ; löschen einer evtl. bestehenden Kopplung N700 CTABDEF(Y,X,1,0) ;...
  • Seite 626: Messen (Meawa, Meac)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.24 Messen (MEAWA, MEAC) Funktion Im Vergleich zur Verwendung in Bewegungssätzen des Teileprogramms kann die Messfunktion aus Synchronaktionen beliebig ein- und ausgeschaltet werden. Weitere Information zum Messen, siehe Spezielle Wegbefehle "Erweiterte Messfunktion Syntax Axiales Messen ohne Restweglöschen MEAWA[Achse] = (Modus, Triggerereignis_1, ..._4) Kontinuierliches Messen ohne Restweglöschen MEAC[Achse] = (Modus, Messpeicher, Triggerereignis_1, ..._4))
  • Seite 627: Initialisierung Von Feld-Variablen (Set, Rep)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.25 Initialisierung von Feld-Variablen (SET, REP) Funktion In Synchronaktionen können Feld-Variablen initialisiert oder mit bestimmten Werten beschrieben werden. Hinweis Es sind nur Variablen möglich, die in Synchronaktionen beschreibbar sind. Maschinendaten lassen sich damit nicht initialisieren. Achsvariablen können nicht mit dem Wert NO_AXIS angegeben werden.
  • Seite 628: Wartemarken Setzen/Löschen (Setm, Clearm)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.26 Wartemarken setzen/löschen (SETM, CLEARM) Funktion In Synchronaktionen können Wartemarken gesetzt bzw. gelöscht werden, um z. B. Kanäle untereinander zu koordinieren. Syntax DO SETM(<Marker-Nummer>) DO CLEARM(<Marker-Nummer>) Bedeutung Befehl zum Setzen der Wartemarke für den Kanal SETM Der Befehl SETM kann im Teileprogramm und im Aktionsteil einer Synchronaktion geschrieben werden.
  • Seite 629: Fehlerreaktionen (Setal)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.27 Fehlerreaktionen (SETAL) Funktion Mit Synchronaktionen können Fehlerreaktionen programmiert werden. Dabei werden Zustandsvariablen abgefragt und entsprechende Aktionen ausgelöst. Mögliche Reaktionen auf Fehlerzustände sind: • Achse stoppen (Override=0) • Alarm setzen Mit SETAL können Zyklen-Alarme aus Synchronaktionen gesetzt werden. •...
  • Seite 630: Fahren Auf Festanschlag (Fxs, Fxst, Fxsw, Focon, Focof)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.28 Fahren auf Festanschlag (FXS, FXST, FXSW, FOCON, FOCOF) Funktion Die Befehle für die Funktion "Fahren auf Festanschlag" werden mit den Teileprogrammbefehlen FXS, FXST und FXSW in Synchronaktionen/Technologiezyklen programmiert. Die Aktivierung kann ohne Bewegung erfolgen, das Moment wird sofort begrenzt. Sobald die Achse sollwertseitig bewegt wird, wird auf Anschlag überwacht.
  • Seite 631: Beispiele

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiele Beispiel 1: Fahren auf Festanschlag (FXS), ausgelöst durch eine Sychronaktion Programmcode Kommentar Y-Achse: ; Statische Synchronaktionen aktivieren: N10 IDS=1 WHENEVER (($R1==1) AND $AA_FXS[y]==0)) D $R1=0 FXS[Y]=1 FXST[Y]=10 FA[Y]=200 POS[Y]=150 ; Durch das Setzen von $R1=1 wird für die Achse Y FXS aktiviert, das wirksame Moment auf 10% reduziert und eine Fahrbewegung in Richtung des Anschlags...
  • Seite 632: Weitere Informationen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Weitere Informationen Mehrfache Anwahl Wird durch eine fehlerhafte Programmierung die Funktion nach der Aktivierung (FXS[<Achse>]=1) nochmals aufgerufen, wird folgender Alarm ausgelöst: Alarm 20092 "Fahren auf Festanschlag noch aktiv" Eine Programmierung, die in der Bedingung entweder $AA_FXS[ ] oder einen eigenen Merker (hier R1) abfragt, vermeidet eine mehrfache Aktivierung der Funktion "Teilprogrammfragment": Programmcode...
  • Seite 633: Bestimmung Des Aktuellen Override

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Parameter Der Tangentenwinkel wird stets positiv im Bereich 0.0 bis 180.0 Grad ausgegeben. Existiert kein Nachfolgesatz im Hauptlauf, so wird der Winkel -180.0 Grad ausgegeben. Die Systemvariable $AC_TANEB sollte nicht für Sätze, die vom System erzeugt werden (Zwischensätze) gelesen werden.
  • Seite 634: Auslastungsauswertung Über Zeitbedarf Der Synchronaktionen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.31 Auslastungsauswertung über Zeitbedarf der Synchronaktionen Funktion In einem Interpolationstakt müssen sowohl Synchronaktionen interpretiert als auch Bewegungen usw. von der NC berechnet werden. Mit den im Folgenden vorgestellten Systemvariablen können sich Synchronaktionen über die aktuellen Zeitanteile der Synchronaktionen am Interpolationstakt und über die Rechenzeit der Lageregler informieren.
  • Seite 635 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Die Systemvariablen enthalten immer die Werte des vorhergehenden IPO-Taktes aktuelle IPO-Rechenzeit (inkl. Synchronaktionen aller $AN_IPO_ACT_LOAD Kanäle) längste IPO-Rechenzeit (inkl. Synchronaktionen aller $AN_IPO_MAX_LOAD Kanäle) kürzeste IPO-Rechenzeit (inkl. Synchronaktionen aller $AN_IPO_MIN_LOAD Kanäle) aktuelle IPO-Rechenzeit im Verhältnis zum IPO-Takt (%). $AN_IPO_LOAD_PERCENT aktuelle Rechenzeit für Synchronaktionen über alle Kanäle $AN_SYNC_ACT_LOAD...
  • Seite 636: Technologiezyklen

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5 Technologiezyklen Funktion Als Aktion in Synchronaktionen können auch Programme aufgerufen werden, die jedoch nur aus Funktionen aufgebaut sein dürfen, welche auch als Aktionen in Synchronaktionen zulässig sind. So aufgebaute Programme heißen Technologiezyklen. Technologiezyklen werden als Unterprogramme in der Steuerung abgelegt. In einem Kanal können parallel mehrere Technologiezyklen oder Aktionen bearbeitet werden.
  • Seite 637 Bewegungssynchronaktionen 10.5 Technologiezyklen Ablauf Technologiezyklen werden gestartet, sobald ihre Bedingungen erfüllt sind. Jede Zeile eines Technologiezyklus wird in einem separaten IPO-Takt abgearbeitet. Bei Positionierachsen werden zur Ausführung mehrere IPO-Takte benötigt. Andere Funktionen werden eintaktig ausgeführt. Im Technologiezyklus erfolgt die Abarbeitung der Sätze sequenziell. Werden im gleichen Interpolationstakt Aktionen aufgerufen, die sich gegenseitig ausschließen, so wird diejenige Aktion aktiv, die von der Synchronaktion mit der höheren ID- Nummer aufgerufen wird.
  • Seite 638: Beispiel 2: Verschiedene Programmsequenzen Im Technologiezyklus

    Bewegungssynchronaktionen 10.5 Technologiezyklen Achsprogramm ACHSE_Y: Programmcode POS[Y]=10 FA[Y]=200 POS[Y]=-10 Achsprogramm ACHSE_Z: Programmcode POS[Z]=90 FA[Z]=250 POS[Z]=-90 Beispiel 2: Verschiedene Programmsequenzen im Technologiezyklus Programmcode PROC CYCLE N10 DEF REAL WERT=12.3 N15 DEFINE ABC AS G01 Beide Sätze werden ohne Alarm und ohne Anlegen der Variablen bzw. des Makros überlesen.
  • Seite 639: Kontext-Variable ($P_Teccycle)

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.1 Kontext-Variable ($P_TECCYCLE) Funktion Mit Hilfe der Variablen $P_TECCYCLE können Programme in Synchronaktionsprogramme und Vorlaufprogramme unterteilt werden. Dadurch ist es möglich, syntaktisch korrekt geschriebene Sätze oder Programmsequenzen alternativ auch als Teileprogrammzyklus abzuarbeiten. Kontext-Variable interpretieren Die Systemvariable $P_TECCYCLE ermöglicht es, kontext-spezifische Interpretationen von Programmteilen in Technologiezyklen zu steuern: IF $P_TECCYCLE==TRUE ;...
  • Seite 640: Call-By-Value-Parameter

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.2 Call-by-Value-Parameter Funktion Technologiezyklen können mit Call-by-Value-Parametern definiert werden. Als Parameter sind einfache Datentypen wie INT, REAL, CHAR, STRING, AXIS und BOOL möglich. Hinweis Formal-Parameter, die Call-by-Value übergeben werden, können keine Felder sein. Die Aktualparameter können auch aus Defaultparameter bestehen (siehe "Default- Parameter-Initialisierung [Seite 640]").
  • Seite 641: Steuerung Der Abarbeitung Von Technologiezyklen (Icycof, Icycon)

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.4 Steuerung der Abarbeitung von Technologiezyklen (ICYCOF, ICYCON) Funktion Zur Steuerung der zeitlichen Abarbeitung von Technologiezyklen dienen die Sprachbefehle ICYCOF und ICYCON. Mit ICYCOF werden alle Sätze eines Technologiezykluses nur in einem Interpolationstakt abgearbeitet. Alle Aktionen, deren Ausführung mehrere Takte benötigen, führen bei ICYCOF zu parallelen Bearbeitungsprozessen.
  • Seite 642: Kaskadierungen Von Technologiezyklen

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.5 Kaskadierungen von Technologiezyklen Funktion Es können bis zu 8 Technologiezyklen in Reihe geschaltet abgearbeitet werden. Damit sind in einer Synchronaktion mehrere Technologiezyklen programmierbar. Syntax ID=1 WHEN $AA_IW[X]>50 DO TEC1($R1) TEC2 TEC3(X) Bearbeitungsreihenfolge Die Technologiezyklen werden der Reihe nach (in Kaskade) von links nach rechts gemäß der oben angegebenen Programmierung abgearbeitet.
  • Seite 643: Kontrollstrukturen (If)

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.7 Kontrollstrukturen (IF) Funktion Für Verzweigungen in der Ablaufreihenfolge von Technologiezyklen können IF- Kontrollstrukturen in Synchronaktionen verwendet werden. Syntax IF <Bedingung> $R1=1 [ELSE] optional $R1=0 ENDIF 10.5.8 Sprunganweisungen (GOTO, GOTOF, GOTOB) Funktion In Technologiezyklen sind die Sprunganweisungen GOTO, GOTOF, GOTOB möglich. Die angegeben Labels müssen im Unterprogramm vorhanden sein, damit kein Alarm abgesetzt wird.
  • Seite 644: Sprunganweisungen Und Sprungziele

    Bewegungssynchronaktionen 10.5 Technologiezyklen Sprunganweisungen und Sprungziele Springe erst vorwärts und anschließend GOTO rückwärts Springe vorwärts GOTOF Springe rückwärts GOTOB Sprungmarke Label: Sprungziel zu diesen Satz Satznummer Satznummer ist Nebensatz N100 Satznummer ist Hauptsatz :100 10.5.9 Sperren, Freischalten, Zurücksetzen (LOCK, UNLOCK, RESET) Funktion Der Ablauf eines Technologiezyklus kann durch eine andere modale Synchronaktion gesperrt, wieder freigegeben oder zurückgesetzt werden.
  • Seite 645: Verriegelung Von Synchronaktionen

    Bewegungssynchronaktionen 10.5 Technologiezyklen Verriegelung von Synchronaktionen Modale Synchronaktionen mit den ID-Nummern <n> = 1 ... 64 können von der PLC verriegelt werden. Die zugehörige Bedingung wird damit nicht mehr ausgewertet und die Ausführung der zugehörigen Funktion im NCK gesperrt. Mit einem Signal der PLC-Nahtstelle lassen sich pauschal alle Synchronaktionen sperren. Hinweis Eine programmierte Synchronaktion ist standardmäßig aktiv und kann gegen Überschreiben/ Sperren über Maschinendatum gesichert werden.
  • Seite 646: Synchronaktion Löschen (Cancel)

    Bewegungssynchronaktionen 10.6 Synchronaktion löschen (CANCEL) 10.6 Synchronaktion löschen (CANCEL) Funktion Mit dem Befehl CANCEL kann eine modal oder statisch wirksame Synchronaktion aus dem Teileprogramm heraus abgebrochen (gelöscht) werden. Wird eine Synchronaktion abgebrochen, währenddessen die daraus aktivierte Positionierachsbewegung noch aktiv ist, wird die Positionierachsbewegung abgeschlossen. Ist dies nicht erwünscht, kann die Achsbewegung mit axialem Restweglöschen vor dem CANCEL-Befehl abgebremst werden.
  • Seite 647: Steuerungsverhalten In Bestimmten Betriebszuständen

    Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen POWER ON Mit POWER ON sind grundsätzlich keine Synchronaktionen aktiv. Statische Synchronaktionen können mit einem von PLC gestarteten asynchronen Unterprogramm (ASUP) aktiviert werden. Betriebsartenwechsel Mit dem Schlüsselwort IDS aktivierte Synchronaktionen bleiben über Betriebsartenwechsel hinaus aktiv.
  • Seite 648: Programmende

    Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen NC-Stopp Statische Synchronaktionen bleiben bei NC-Stopp aktiv. Aus statischen Synchronaktionen gestartete Bewegungen werden nicht abgebrochen. Zum aktiven Satz gehörige programmlokale Synchronaktionen bleiben aktiv, daraus gestartete Bewegungen werden abgebrochen. Programmende Programmende und Synchronaktion beeinflussen sich nicht gegenseitig. Laufende Synchronaktionen werden auch nach Programmende abgeschlossen.
  • Seite 649: Repositionierung (Repos)

    Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen Programmunterbrechung durch asynchrones Unterprogramm ASUP ASUP-Anfang: Modale und statische Bewegungssynchronaktionen bleiben erhalten und sind auch im asynchronen Unterprogramm wirksam. ASUP-Ende: Wird das asynchrone Unterprogramm nicht mit REPOS fortgesetzt, wirken die im asynchronen Unterpogramm geänderten modalen und statischen Bewegungssynchronaktionen im Hauptprogramm weiter.
  • Seite 650 Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 651: Pendeln

    Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Funktion Eine Pendelachse fährt zwischen den zwei Umkehrpunkten 1 und 2 mit gegebenem Vorschub hin und her, bis die Pendelbewegung abgeschaltet wird. Andere Achsen können während der Pendelbewegung beliebig interpoliert werden. Über eine Bahnbewegung oder mit einer Positionierachse kann eine kontinuierliche Zustellung erreicht werden.
  • Seite 652: Asynchrones Pendeln (Os, Osp1, Osp2, Ost1, Ost2, Osctrl, Osnsc, Ose, Osb)

    Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Bedeutung <Achse> Name der Pendelachse Pendeln ein-/ausschalten Wert 1 Pendeln einschalten 0 Pendeln ausschalten Position von Umkehrpunkt 1 festlegen OSP1 Position von Umkehrpunkt 2 festlegen OSP2 Hinweis: Falls ein inkrementelles Verfahren aktiv ist, so wird die Position inkrementell zur letzten im NC-Programm programmierten entsprechenden Umkehrposition berechnet.
  • Seite 653 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, Setz- und Rücksetzoptionen angeben OSCTRL Die Optionswerte 0 - 3 verschlüsseln das Verhalten an den Umkehrpunkten beim Ausschalten. Es kann eine der Varianten 0 - 3 ausgewählt werden. Die übrigen Einstellungen sind nach Bedarf kombinierbar mit der gewählten Variante.
  • Seite 654: Beispiel 1: Pendelachse Soll Zwischen Zwei Umkehrpunkten Pendeln

    Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Beispiele Beispiel 1: Pendelachse soll zwischen zwei Umkehrpunkten pendeln Die Pendelachse Z soll zwischen Position 10 und 100 pendeln. Umkehrpunkt 1 soll mit Genauhalt fein, Umkehrpunkt 2 mit Genauhalt grob angefahren werden. Der Vorschub für die Pendelachse soll 250 betragen.
  • Seite 655 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, Beispiel 2: Pendeln mit Online-Änderung der Umkehrposition Die für das asynchrone Pendeln erforderlichen Settingdaten können im Teileprogramm eingestellt werden. Werden im Teileprogramm die Settingdaten direkt beschrieben, so wird die Änderung schon zum Vorlaufzeitpunkt wirksam.
  • Seite 656 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Pendelumkehrpunkte Bei der Festlegung der Pendelpositionen sind die aktuellen Verschiebungen zu beachten: • Absolute Angabe OSP1[Z]=<Wert> Position Umkehrpunkt = Summe der Verschiebungen + programmierter Wert • Relative Angabe OSP1[Z]=IC(<Wert>) Position Umkehrpunkt = Umkehrpunkt 1 + programmierter Wert Beispiel:...
  • Seite 657: Über Synchronaktionen Gesteuertes Pendeln (Oscill)

    Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Funktion Bei dieser Art des Pendelns ist nur an den Umkehrpunkten bzw. innerhalb definierter Umkehrbereiche eine Zustellbewegung zugelassen. Je nach Anforderung kann die Pendelbewegung während der Zustellung •...
  • Seite 658 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Bewegungssynchronaktionen wenn…, dann… WHEN… … DO immer wenn…, dann… WHENEVER … DO Beispiel Im Umkehrpunkt 1 soll keine Zustellung erfolgen. Beim Umkehrpunkt 2 soll die Zustellung bereits im Abstand ii2 vor dem Umkehrpunkt 2 erfolgen und die Pendelachse im Umkehrpunkt nicht auf das Beenden der Teilzustellung warten.
  • Seite 659: Pendeln Starten

    Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) 2. Bewegungssynchronaktion Programmcode Kommentar WHENEVER Immer wenn die aktuelle Position $AA_IM[Z]<$SA_OSCILL_REVERSE_POS2[Z] DO -> der Pendelachse Z im MKS kleiner $AA_OVR[X]=0 $AC_MARKER[0]=0 als der Beginn des Umkehrbereichs 2 ist, dann setze den axialen Override der Zustellachse X auf 0% und den Merker mit dem Index 0 auf den Wert 0.
  • Seite 660: Beschreibung

    Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Beschreibung 1. Pendelparameter festlegen Vor dem Bewegungssatz, der die Zuordnung von Zustell- und Pendelachse sowie die Festlegung der Zustellung enthält, sind die Parameter für das Pendeln festzulegen (siehe "Asynchrones Pendeln"). 2. Bewegungssynchronaktionen festlegen Über Synchronbedingungen erfolgt: Zustellung unterdrücken, bis sich die Pendelachse innerhalb eines Umkehrbereichs (ii1, ii2) oder an einem Umkehrpunkt (U1, U2) befindet.
  • Seite 661 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Bewegungssynchronaktionen festlegen Die im folgenden ausgeführten Bewegungssynchronaktionen werden ganz allgemein zum Pendeln verwendet. Sie finden Beispiellösungen für die Lösung von einzelnen Anforderungen, die Ihnen als Bausteine für die Erstellung von anwenderspezifischen Pendelbewegungen dienen. Hinweis Im Einzelfall können die Synchronbedingungen auch anders programmiert werden.
  • Seite 662 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Pendeln- und Zustellachse zuordnen sowie Gesamt- und Teilzustellung festlegen Zustellung im Umkehrbereich Die Zustellbewegung soll innerhalb eines Umkehrbereichs beginnen, bevor der Umkehrpunkt erreicht ist. Diese Synchronaktionen verhindern die Zustellbewegung, bis sich die Pendelachse in einem Umkehrbereich befindet.
  • Seite 663 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Anhalten der Pendelbewegung im Umkehrpunkt Die Pendelachse wird am Umkehrpunkt angehalten, gleichzeitig beginnt die Zustellbewegung. Die Pendelbewegung wird fortgesetzt, wenn die Zustellbewegung vollständig ausgeführt ist. Gleichzeitig kann diese Synchronaktion dazu benutzt werden, die Zustellbewegung zu starten, falls diese durch eine vorhergehende Synchronaktion, die noch wirksam ist, gestoppt wurde.
  • Seite 664 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Nächste Teilzustellung Nach erfolgter Zustellung muss ein zu frühes Starten der nächsten Teilzustellung verhindert werden. Dazu wird ein kanalspezifischer Merker ($AC_MARKER[Index]) verwendet, der am Ende der Teilzustellung (Teilrestweg ≡ 0) gesetzt wird und beim Verlassen des Umkehrbereichs gelöscht wird.
  • Seite 665: Stanzen Und Nibbeln

    Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung 12.1.1 Stanzen und Nibbeln ein oder aus (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) Funktion Stanzen bzw. Nibbeln aktivieren/deaktivieren Mit PON und SON wird die Stanz- bzw. Nibbelfunktion aktiviert. SPOF beendet alle stanz- und nibbelspezifischen Funktionen.
  • Seite 666: Bedeutung

    Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Interfaces ist die volle Stanz-/Nibbel-Funktionalität nutzbar. Die Umschaltung zwischen erstem und zweitem Stanz-Interface erfolgt über die Befehle SPIF1 und SPIF2. Hinweis Voraussetzung:Über Maschinendaten muss ein zweites I/O-Paar für die Stanzfunktionalität definiert sein ( → siehe Angaben des Maschinenherstellers!). Syntax PON G...
  • Seite 667: Beispiele

    Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Beispiele Beispiel 1: Nibbeln aktivieren Programmcode Kommentar N70 X50 SPOF ; Positionieren ohne Stanzauslösung. N80 X100 SON ; Nibbeln aktivieren, Auslösung eines Hubs vor der Bewegung (X=50) und am Ende der programmierten Bewegung (X=100). Beispiel 2: Stanzen mit Verzögerung Programmcode Kommentar...
  • Seite 668: Weitere Informationen

    Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Weitere Informationen Stanzen und Nibbeln mit Vorspann (PONS/SONS) Stanzen und Nibbeln mit Vorspann ist nicht gleichzeitig in mehreren Kanälen möglich. PONS bzw. SONS kann nur jeweils in einem Kanal aktiviert werden. Wegabhängige Beschleunigung (PUNCHACC) Beispiel: PUNCHACC(2,50,10,100) Lochabstände unter 2mm:...
  • Seite 669 Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Stanzen und Nibbeln auf der Stelle Eine Hubauslösung erfolgt nur dann, wenn der Satz eine Verfahrinformation für die Stanz- oder Nibbelachsen (Achsen der aktiven Ebene) enthält. Um dennoch einen Hub an gleicher Stelle auszulösen, wird eine der Stanz-/Nibbelachsen mit Verfahrweg 0 programmiert.
  • Seite 670: Automatische Wegaufbereitung

    Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 12.2 Automatische Wegaufbereitung Funktion Unterteilung in Teilstrecken Bei aktiviertem Stanzen bzw. Nibbeln bewirken sowohl SPP als auch SPN eine Aufteilung der für die Bahnachsen programmierten Gesamtverfahrstrecke in eine Anzahl von gleichlangen Teilstrecken (äquidistante Wegaufteilung). Intern entspricht jede Teilstrecke einem Satz. Anzahl der Hübe Beim Stanzen erfolgt der erste Hub am Endpunkt der ersten Teilstrecke, beim Nibbeln dagegen am Startpunkt der ersten Teilstrecke.
  • Seite 671 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung Beispiel 1 Die programmierten Nibbelstrecken sollen automatisch in gleichgroße Teilstrecken aufgeteilt werden. Programmcode Kommentar N100 G90 X130 Y75 F60 SPOF Positionieren auf Startpunkt 1 N110 G91 Y125 SPP=4 SON Nibbeln ein; maximale Teilstreckenlänge für automatische Wegaufteilung: 4 N120 G90 Y250 SPOF Nibbeln aus;...
  • Seite 672 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung Beispiel 2 Für die einzelnen Lochreihen soll eine automatische Wegaufteilung erfolgen. Für die Aufteilung wird jeweils die maximale Teilstreckenlänge (SPP-Wert) angegeben. Programmcode Kommentar N100 G90 X75 Y75 F60 PON Positionieren auf Startpunkt 1; Stanzen ein Einzelloch stanzen N110 G91 Y125 SPP=25 Maximale Teilstreckenlänge für automatische Wegaufteilung: 25 mm...
  • Seite 673: Wegaufteilung Bei Bahnachsen

    Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 12.2.1 Wegaufteilung bei Bahnachsen Länge der Teilstrecke SPP Mit SPP geben Sie den maximalen Hubabstand und damit die maximale Länge der Teilstrecken an, in die die Gesamtverfahrstrecke aufgeteilt werden soll. Das Ausschalten des Befehls erfolgt mit SPOF oder SPP=0. Beispiel: N10 SON X0 Y0 N20 SPP=2 X10...
  • Seite 674 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung Anzahl der Teilstrecken SPN Mit SPN definieren Sie die Anzahl der Teilstrecken, die aus der Gesamtverfahrstrecke erzeugt werden soll. Die Länge der Teilstrecken wird automatisch berechnet. Da SPN satzweise wirksam ist, muss vorher Stanzen oder Nibbeln mit PON oder SON aktiviert werden.
  • Seite 675: Wegaufteilung Bei Einzelachsen

    Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 12.2.2 Wegaufteilung bei Einzelachsen Sind neben den Bahnachsen auch Einzelachsen als Stanz-Nibbel-Achse definiert, so können auch sie der automatischen Wegaufteilung unterliegen. Verhalten der Einzelachse bei SPP Die programmierte Länge der Teilstrecke (SPP) bezieht sich grundsätzlich auf die Bahnachsen.
  • Seite 676 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 1. Einzelachse ohne Wegaufteilung Die Einzelachse verfährt ihren Gesamtweg im ersten der erzeugten Sätze. 2. Unterschiedliche Wegaufteilung Das Verhalten der Einzelachse ist abhängig von der Interpolation der Bahnachsen: • Kreisinterpolation: Wegaufteilung • Linearinterpolation: keine Wegaufteilung Verhalten bei SPN Die programmierte Anzahl von Teilstrecken gilt auch, wenn nicht gleichzeitig eine Bahnachse programmiert ist.
  • Seite 677: Schleifen

    Schleifen 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) Funktion Mit dem Befehl TMON können Sie für Schleifwerkzeuge (Typ 400 - 499) die Geometrie- und Drehzahlüberwachung im NC-Teileprogramm aktivieren. Die Überwachung bleibt aktiv, bis sie im Teileprogramm durch den Befehl TMOF abgeschaltet wird. Hinweis Bitte beachten Sie die Angaben des Maschinenherstellers! Voraussetzung...
  • Seite 678 Schleifen 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) Weitere Informationen Schleifspezifische Werkzeug-Parameter Parameter Bedeutung Datentyp $TC_TPG1 Spindelnummer $TC_TPG2 Verkettungsvorschrift Die Parameter werden automatisch für die linke und rechte Scheibenseite identisch gehalten. $TC_TPG3 Minimaler Scheibenradius REAL $TC_TPG4 Minimale Scheibenbreite REAL $TC_TPG5 Aktuelle Scheibenbreite REAL $TC_TPG6...
  • Seite 679: Weitere Funktionen

    Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Funktion AXNAME wird z. B. bei der Erstellung allgemeingültiger Zyklen verwendet, wenn die Namen der Achsen nicht bekannt sind. AX wird für die indirekte Programmierung von Geometrie- und Synchronachsen verwendet. Der Achsbezeichner wird dabei in einer Variablen vom Typ AXIS hinterlegt oder von einem Befehl wie AXNAME oder SPI geliefert.
  • Seite 680: Beispiele

    Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Bedeutung Konvertiert einen Eingangsstring in Achsbezeichner; der AXNAME Eingangsstring muss gültigen Achsnamen enthalten. Variabler Achsbezeichner Konvertiert Spindelnummer in Achsbezeichner; der Übergabeparameter muss eine gültige Spindelnummer enthalten. Spindelnummer Wandelt einen Achsbezeichner in einen Spindelindex vom Typ Integer AXTOSPI um.
  • Seite 681 Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, Beispiel 2: AXSTRING Bei der Programmierung mit AXSTRING[SPI(n)] wird nicht mehr der Achsindex der Achse, der die Spindel zugeordnet ist, als Spindelnummer ausgegeben, sondern es wird der String "Sn" ausgegeben. Programmcode Kommentar AXSTRING[SPI(2)] ;...
  • Seite 682: Umschaltbare Geometrieachsen (Geoax)

    Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) 14.2 Umschaltbare Geometrieachsen (GEOAX) Funktion Mit der Funktion "Umschaltbare Geometrieachsen" lässt sich der über Maschinendaten konfigurierte Geometrieachsverbund vom Teileprogramm aus verändern. Dabei kann eine als synchrone Zusatzachse definierte Kanalachse eine beliebige Geometrieachse ersetzen. Syntax GEOAX(<n>,<Kanalachse>,<n>,<Kanalachse>,<n>,<Kanalachse>) GEOAX() Bedeutung...
  • Seite 683 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Beispiele Beispiel 1: Zwei Achsen wechselweise als Geometrieachse schalten Ein Werkzeugschlitten kann über die Kanalachsen X1, Y1, Z1, Z2 verfahren werden: 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.
  • Seite 684 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Programmcode Kommentar N10 GEOAX() ; Grundkonfiguration der Geometrieachsen ist wirksam. N20 G0 X0 Y0 Z0 U0 V0 W0 ; Alle Achsen im Eilgang auf Position 0. N30 GEOAX(1,U,2,V,3,W) ; Kanalachse U wird zur ersten (X), V zur zweiten (Y) und W zur dritten Geometrieachse (Z).
  • Seite 685: Einschränkungen

    Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Einschränkungen • Die Umschaltung der Geometrieachsen ist nicht möglich bei: aktiver Transformation aktiver Spline-Interpolation aktiver Werkzeugradiuskorrektur aktiver Werkzeugfeinkorrektur • Weisen Geometrieachse und Kanalachse gleiche Namen auf, ist kein Wechsel der jeweiligen Geometrieachse möglich. • Keine der an der Umschaltung beteiligten Achsen darf an einer Aktion beteiligt sein, die über die Satzgrenzen hinweg andauern kann, wie es z. B.
  • Seite 686 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Grundkonfiguration der Geometrieachsen Der Befehl GEOAX() ruft die Grundkonfiguration des Geometrieachsverbunds auf. Nach POWER ON und bei Umschalten in die Betriebsart "Referenzpunktfahren" wird automatisch auf die Grundkonfiguration zurückgeschaltet. Werkzeuglängenkorrektur Eine aktive Werkzeuglängenkorrektur ist auch nach dem Umschaltvorgang wirksam. Sie gilt jedoch für die neu aufgenommenen bzw.
  • Seite 687: Achscontainer (Axctswe, Axctswed, Axctswec)

    Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) 14.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) Funktion Bei Rundtakt- und Mehrspindelmaschinen bewegen sich die Werkstück-tragenden Achsen von einer Bearbeitungseinheit zur nächsten. Weil die Bearbeitungseinheiten verschiedenen Kanälen unterstehen, müssen bei einem Stations-/Lagewechsel die Werkstück-tragenden Achsen dem entsprechenden Kanal dynamisch neu zugeordnet werden. Diesem Zweck dienen Achscontainer.
  • Seite 688 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) Bedeutung Anforderung zum Drehen eines Achscontainers AXCTSWE: Die Programmverarbeitung hält mit AXCTSWE nicht an. Wenn in der Steuerung die Freigaben aller Kanäle für die Achsen des Containers eingetroffen sind, erfolgt die Containerdrehung mit der im SD41700 $SN_AXCT_SWWIDTH[<Containernummer>] hinterlegten Container-spezifischen Schrittweite.
  • Seite 689 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) Randbedingungen Verwendung einer Containerachse vor Aufruf von AXCTSWEC Da die Programmverarbeitung mit AXCTSWE nicht anhält, ist bei der Programmierung der Synchronaktion DO AXCTSWEC Folgendes zu beachten: Beispiel: Programmcode Kommentar N10 AXCTSWE(CT3) ; Freigabe der Achscontainer-Drehung. N20 AX_A10 AX_A = Containerachse.
  • Seite 690 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) Achscontainer mit Link-Achsen sind ein NCU-übergreifendes Betriebsmittel (NCU global), das durch die Steuerung koordiniert wird. Achscontainer, in denen ausschließlich lokale Achsen verwaltet werden, sind möglich. Literatur: Detaillierte Hinweise zur Projektierung von Achscontainern siehe: Funktionshandbuch Erweiterungsfunktionen;...
  • Seite 691 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) AXCTSWED( ) Der Befehl AXCTSWED dient zur Vereinfachung der Inbetriebnahme des Teileprogramms bzw. Synchronaktion. Die Achscontainer-Drehung erfolgt dabei sofort mit Ausführung des Befehls AXCTSWED. Die Freigaben der anderen Kanäle die Achsen in diesem Achscontainer haben, sind nicht erforderlich.
  • Seite 692 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) Systemvariable Beschreibung $AN_AXCTAS[<Achscontainer>] Anzahl der Plätze (Slots) um die der Achscontainer aktuell weitergeschaltet wurde. Initialisierungswert nach POWER ON: 0 Wertebereich: 0 ... maximale Anzahl belegter Plätze im Achscontainer - 1 Freigabe der Achscontainer-Drehung zurücknehmen (AXCTSWEC) Falls erforderlich, kann die Freigabe des aktuellen Kanals zur Achscontainer-Drehung zurückgenommen werden: •...
  • Seite 693: Warten Auf Gültige Achsposition (Waitenc)

    Weitere Funktionen 14.4 Warten auf gültige Achsposition (WAITENC) 14.4 Warten auf gültige Achsposition (WAITENC) Funktion Mit dem Sprachbefehl WAITENC kann im NC-Programm gewartet werden, bis für die mit MD34800 $MA_WAIT_ENC_VALID = 1 projektierten Achsen synchronisierte bzw. restaurierte Achspositionen zur Verfügung stehen. Im Wartezustand kann eine Unterbrechung erfolgen, z. B. durch Start eines ASUPs oder durch Betriebsartenwechsel nach JOG.
  • Seite 694 Weitere Funktionen 14.4 Warten auf gültige Achsposition (WAITENC) Anwendungsbeispiel:Werkzeugrückzug nach POWER OFF mit Orientierungstransformation Eine Bearbeitung mit Werkzeugorientierung wurde durch Spannungsausfall abgebrochen. Beim anschließenden Hochlauf wird das ereignisgesteuerte Anwenderprogramm .../ _N_CMA_DIR/_N_PROG_EVENT_SPF aufgerufen. Im ereignisgesteuerten Anwenderprogramm wird mit WAITENC auf synchronisierte bzw. restaurierte Achspositionen gewartet, um danach einen Frame berechnen zu können, der das WKS in Werkzeugrichtung ausrichtet.
  • Seite 695: Vorhandenen Nc-Sprachumfang Prüfen (Stringis)

    Weitere Funktionen 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Funktion 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:...
  • Seite 696 1) Steuerungs-abhängig ist unter Umständen nur eine Untermenge der Siemens NC-Sprachbefehle bekannt, z.B. SINUMERIK 802D sl. Auf diesen Steuerungen wird für Strings, die prinzipiell Siemens NC-Sprachbefehle sind, der Wert 0 zurückgegeben. Dieses Verhalten kann über MD10711 $MN_NC_LANGUAGE_CONFIGURATION verändert werden. Bei MD10711 = 1 wird dann für Siemens NC-Sprachbefehle immer der Wert 100 zurückgegeben.
  • Seite 697 Weitere Funktionen 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) 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 698: Werkzeugmagazin-Verwaltung

    Weitere Funktionen 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) 13.Der String "MYVAR" ist als LUD-Variable definiert: 211 == STRINGIS("MYVAR") 14.Der String "XYZ" ist kein im NCK bekannter Befehl, GUD-Variable, Makro- oder Zyklen- Name: 000 == STRINGIS("XYZ") Werkzeugmagazin-Verwaltung Ist die Funktion Werkzeugmagazin-Verwaltung nicht aktiv, liefert STRINGIS für die Systemparameter der Werkzeugmagazin-Verwaltung , unabhängig vom Maschinendatum •...
  • Seite 699: Funktionsaufruf Isvar Und Maschinendaten Array-Index Lesen

    Weitere Funktionen 14.6 Funktionsaufruf ISVAR und Maschinendaten Array-Index 14.6 Funktionsaufruf ISVAR und Maschinendaten Array-Index lesen Funktion Der ISVAR-Befehl ist eine Funktion im Sinne der NC-Sprache mit einem: • Funktionswert vom Typ BOOL • Übergabeparameter vom Typ STRING Der ISVAR-Befehl liefert TRUE, wenn der Übergabeparameter eine in der NC bekannte Variable enthält (Maschinendatum, Settingdatum, Systemvariable, allgemeine Variablen wie GUD's).
  • Seite 700: Beispiel: Funktionaufruf Isvar

    Weitere Funktionen 14.6 Funktionsaufruf ISVAR und Maschinendaten Array-Index lesen Beispiel: Funktionaufruf ISVAR Programmcode Kommentar DEF INT VAR1 DEF BOOL IS_VAR=FALSE ; Übergabeparameter ist allgemeine Variable N10 IS_VAR=ISVAR("VAR1") ; IS_VAR ist in diesem Fall TRUE DEF REAL VARARRAY[10,10] DEF BOOL IS_VAR=FALSE ;...
  • Seite 701: Kompensationskennlinien Einlernen (Qeclrnon, Qeclrnof)

    Weitere Funktionen 14.7 Kompensationskennlinien einlernen (QECLRNON, 14.7 Kompensationskennlinien einlernen (QECLRNON, QECLRNOF) Funktion Die Quadrantenfehlerkompensation (QFK) reduziert die Konturfehler, die bei Umkehr der Fahrtrichtung durch mechanische Nichtlinearitäten (z. B. Reibung, Lose) oder Torsion entstehen. Die optimalen Kompensationsdaten können aufgrund eines neuronalen Netzes von der Steuerung während einer Lernphase adaptiert und so die Kompensationskennlinien automatisch ermittelt werden.
  • Seite 702 Weitere Funktionen 14.7 Kompensationskennlinien einlernen (QECLRNON, QECLRNOF) Bedeutung Funktion "Quadrantenfehlerkompensation lernen" einschalten QECLRNON (Achse.1,…4) Funktion "Quadrantenfehlerkompensation lernen" ausschalten QECLRNO Lernzyklus QECLRN.SPF Muster-NC-Programm für Belegen der Systemvariablen und QECDAT.MPF für die Parametrierung des Lernzyklus Muster-NC-Programm für Kreisformtest QECTEST.MPF Beschreibung Die zum Lernen erforderlichen Verfahrbewegungen der Achsen werden mit Hilfe eines NC- Programms generiert.
  • Seite 703: Fenster Aus Dem Teileprogramm Interaktiv Aufrufen (Mmc)

    Weitere Funktionen 14.8 Fenster aus dem Teileprogramm interaktiv aufrufen (MMC) 14.8 Fenster aus dem Teileprogramm interaktiv aufrufen (MMC) Funktion Über den Befehl MMC können aus dem Teileprogramm auf dem HMI anwenderdefinierte Dialogfenster (Dialogbilder) angezeigt werden. Das Aussehen der Dialogfenster wird durch rein textuelle Projektierung festgelegt (COM- Datei im Zyklenverzeichnis), die HMI -System-Software bleibt dabei unverändert.
  • Seite 704: Programmlaufzeit / Werkstückzähler

    Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler 14.9 Programmlaufzeit / Werkstückzähler 14.9.1 Programmlaufzeit / Werkstückzähler (Übersicht) Zur Unterstützung des Werkzeugmaschinenbedieners werden Informationen zur Programmlaufzeit und Werkstückzahl bereitgestellt. Diese Informationen können als Systemvariablen im NC- und/oder PLC-Programm bearbeitet werden. Gleichzeitig stehen diese Informationen für die Anzeige auf der Bedienoberfläche zur Verfügung.
  • Seite 705: Programmlaufzeit

    Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler 14.9.2 Programmlaufzeit Funktion 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 706 Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler Systemvariable Bedeutung Aktivität $AC_ACT_PROG_NET_TIME Aktuelle Netto-Laufzeit des aktuellen NC-Programms • immer aktiv in Sekunden • nur Betriebsart AUTOMATIK Wird mit dem Start eines NC-Programms automatisch 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 707 Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler Hinweis Maschinenhersteller Das Einschalten der aktivierbaren Timer erfolgt über das Maschinendatum MD27860 $MC_PROCESSTIMER_MODE. Das Verhalten der aktiven Zeitmessungen bei bestimmten Funktionen (z. B. GOTOS, Override = 0%, aktiver Probelaufvorschub, Programmtest, ASUP, PROG_EVENT, …) wird konfiguriert über die Maschinendaten MD27850 $MC_PROG_NET_TIMER_MODE und MD27860 $MC_PROCESSTIMER_MODE.
  • Seite 708: Beispiel 1: Zeitdauer Von "Mysubprogramma" Messen

    Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler Beispiele Beispiel 1: Zeitdauer von "mySubProgrammA" messen Programmcode N50 DO $AC_PROG_NET_TIME_TRIGGER=2 N60 FOR ii= 0 TO 300 N70 mySubProgrammA N80 DO $AC_PROG_NET_TIME_TRIGGER=1 N95 ENDFOR N97 mySubProgrammB N98 M30 Nachdem das Programm die Zeile N80 verarbeitet hat, steht in $AC_OLD_PROG_NET_TIME die Nettolaufzeit von "mySubProgrammA".
  • Seite 709: Werkstückzähler

    Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler 14.9.3 Werkstückzähler Funktion 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. Die Zähler existieren als kanalspezifische Systemvariablen mit Schreib- und Lese-Zugriff im Wertebereich von 0 bis 999 999 999. Systemvariable Bedeutung $AC_REQUIRED_PARTS...
  • Seite 710: Ausgabe Auf Ein Externes Gerät/Datei (Extopen, Write, Extclose)

    Weitere Funktionen 14.10 Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) 14.10 Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) Funktion Mit dieser Funktion ist es möglich, Daten aus einem Teileprogramm heraus auf ein externes Gerät / eine externe Datei zu schreiben, z. B. zum Zweck der Protokollierung von Produktionsdaten oder zur Steuerung von Zusatzaggregaten an einer Steuerung.
  • Seite 711 Weitere Funktionen 14.10 Ausgabe auf ein externes Gerät/Datei (EXTOPEN, Syntax DEF INT <Fehler> DEF STRING[<n>] <Ausgabe> … EXTOPEN(<Fehler>,"<ExtG>",<Bearbeitungsmodus>,<Benutzungsmodus>, <Schreibmodus>) … <Ausgabe>="Ausgabe Daten" WRITE(<Fehler>,"<ExtG>",<Ausgabe>) … EXTCLOSE(<Fehler>,"<ExtG>") Bedeutung Befehl zum Öffnen eines externen Geräts/Datei EXTOPEN: <Fehler>: Parameter 1: Variable für die Rückgabe des Fehlerwerts Anhand des Fehlerwerts kann im Programm das Gelingen der Operation ausgewertet werden und entsprechend fortgefahren werden.
  • Seite 712 1. dem logischen Gerätenamen 2. ggf. gefolgt von einem Dateipfad (angehängt mit "/"). Folgende logische Gerätenamen sind definiert: Lokale CompactFlash Card "LOCAL_DRIVE": (vordefiniert) reservierte Laufwerksangabe zur "CYC_DRIVE": Verwendung in SIEMENS-Zyklen (vordefiniert) Verfügbare Netzlaufwerke "/dev/ext/1",... Hinweis: "/dev/ext/9": Projektierung in der Datei extdev.ini erforderlich! reservierte Laufwerksangaben zur "/dev/cyc/1",...
  • Seite 713 Weitere Funktionen 14.10 Ausgabe auf ein externes Gerät/Datei (EXTOPEN, <Bearbeitungsmodus>: Parameter 3: Bearbeitungsmodus für die WRITE-Befehle zu diesem Gerät/Datei 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 714 Weitere Funktionen 14.10 Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) Befehl zum Schreiben der Ausgabedaten WRITE: Beschreibung siehe "Datei schreiben (WRITE) [Seite 140]"! Befehl zum Schließen eines geöffneten externen Geräts/Datei EXTCLOSE: <Fehler>: Parameter 1: Variable für die Rückgabe des Fehlerwerts Typ: Werte: kein Fehler...
  • Seite 715: Weitere Informationen

    Weitere Funktionen 14.10 Ausgabe auf ein externes Gerät/Datei (EXTOPEN, Weitere Informationen Einfluss auf Bahnsteuerbetrieb Die Befehle EXTOPEN, WRITE und EXTCLOSE lösen jeweils Vorlaufstopp aus und unterbrechen damit den Bahnsteuerbetrieb. Verhalten bei Satzsuchlauf Während "Satzsuchlauf mit Berechnung" erfolgt mit WRITE keine Ausgabe. Es werden jedoch die EXTOPEN- und EXTCLOSE-Befehle aufgesammelt und -- nachdem das Suchziel erreicht wurde -- mit NC-Start wirksam gesetzt.
  • Seite 716 Append-Modus überprüft. Optional kann mit dem Datum LOCAL_DRIVE_FILE_MODE der Schreibmodus ("O" = Overwrite, "A" = Append) festgelegt werden. Standardwert ist "A". Hinweis Eine Kopiervorlage für die Projektierungsdatei extdev.ini steht im Verzeichnis /siemens/ sinumerik/nck zur Verfügung. Hinweis Änderungen an der Datei extdev.ini werden erst nach Neustart/Hochlauf des NCK wirksam.
  • Seite 717 ; /dev/ext/4 = "SERVER:/dev0-0, /01/, A" ; … ; SINUMERIK 828 only (USB) ; /dev/ext/9 = "usb, / [ , O]" ; default: Partitionsnummer = 1 ; SIEMENS only ; /dev/cyc/1= "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE, /mydir/, A" ; /dev/cyc/2= "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE/mydir, /, A" LOCAL_DRIVE_MAX_FILESIZE = 50000 LOCAL_DRIVE_FILE_MODE = "O"...
  • Seite 718 Schreib-/Leserecht gesetzt Maximale Anzahl geöffneter externer Geräte Über alle NC-Kanäle hinweg können gleichzeitig maximal 10 Ausgabegeräte geöffnet sein. Zusätzlich gibt es noch zwei reservierte Einträge für Siemens-Zyklen. Zu diesen Geräten können gleichzeitig maximal 5 Aufträge aktiv sein. Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 719: Alarme (Setal)

    Variable vom Typ INT. Enthält die Alarmnummer. <Alarmnummer>: Der gültige Bereich für Alarmnummern liegt zwischen 60000 und 69999, wovon 60000 bis 64999 für SIEMENS-Zyklen reserviert sind und 65000 bis 69999 für den Anwender zur Verfügung stehen. Bei der Programmierung von Anwenderzyklenalarmen kann <Zeichenkette>:...
  • Seite 720 Weitere Funktionen 14.11 Alarme (SETAL) Hinweis Alarmtexte müssen in der Bedienoberfläche projektiert werden. Hinweis Soll eine Alarmausgabe in der auf der Bedienoberfläche aktiven Sprache erfolgen, benötigt der Anwender Informationen über die aktuell auf dem HMI eingestellte Sprache. Diese Information kann im Teileprogramm und in Synchronaktionen über die Systemvariable $AN_LANGUAGE_ON_HMI abgefragt werden (siehe "Aktuelle Sprache im HMI [Seite 900]").
  • Seite 721: Antriebsautarkes Erweitertes Stillsetzen Und Rückziehen

    Weitere Funktionen 14.12 Antriebsautarkes Erweitertes Stillsetzen und Rückziehen 14.12 Antriebsautarkes Erweitertes Stillsetzen und Rückziehen (ESR) 14.12.1 Antriebsautarkes Stillsetzen projektieren (ESRS) Funktion Mit der Funktion ESRS(...) werden die Antriebsparameter für das "Stillsetzen" der antriebsautarken ESR-Funktion projektiert. Syntax ESRS(<Achse_1>,<Stillsetzzeit_1>[,...,<Achse_n>,<Stillsetzzeit_n>]) Bedeutung Funktion zum Schreiben der Antriebsparameter für die ESR- ESRS(...): Funktion "Stillsetzen".
  • Seite 722: Antriebsautarkes Rückziehen Projektieren (Esrr)

    Weitere Funktionen 14.12 Antriebsautarkes Erweitertes Stillsetzen und Rückziehen (ESR) 14.12.2 Antriebsautarkes Rückziehen projektieren (ESRR) Funktion Mit der Funktion ESRR(...) werden die Antriebsparameter für das "Rückziehen" der antriebsautarken ESR-Funktion projektiert. Syntax ESRR(<Achse_1>,<Rückzugsweg_1>,<Rückzugsgeschwindigkeit_1>[,...,<Ach se_n>,<Rückzugsweg_n>,<Rückzugsgeschwindigkeit_n>]) Bedeutung Funktion zum Schreiben der Antriebsparameter für die ESR- ESRR(...): Funktion "Rückziehen".
  • Seite 723 Weitere Funktionen 14.12 Antriebsautarkes Erweitertes Stillsetzen und Rückziehen Die Rückzugsgeschwindigkeit wird für den Antrieb in eine <Rückzugs- Zeitdauer umgerechnet. Der Wert wird für die angegebene geschwindigkeit_1> Achse in den Antriebsparameter p0892 (Zeitstufe) [s] geschrieben: ..., p0892 = <Rückzugsweg_n> / <Rückzugsgeschwindigkeit _n> <Rückzugs- geschwindigkeit_n>...
  • Seite 724 Weitere Funktionen 14.12 Antriebsautarkes Erweitertes Stillsetzen und Rückziehen (ESR) Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 725: Eigene Abspanprogramme

    Eigene Abspanprogramme 15.1 Unterstützende Funktionen für das Abspanen Funktionen 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: • Konturtabelle erstellen (CONTPRON) • Codierte Konturtabelle erstellen (CONTDCON) •...
  • Seite 726: Konturtabelle Erstellen (Contpron)

    Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) 15.2 Konturtabelle erstellen (CONTPRON) Funktion Mit dem Befehl CONTPRON wird die Konturaufbereitung eingeschaltet. 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.
  • Seite 727 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Beispiel 1 Erstellen einer Konturtabelle mit: • Namen "KTAB" • max. 30 Konturelementen (Kreise, Geraden) • einer Variablen für die Anzahl auftretender Hinterschnittelemente • einer Variablen für Fehlermeldungen NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[30,11] ;...
  • Seite 728 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Konturtabelle KTAB: Index Spalte Zeile (10) 82.40535663 -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 G90 = 0 G91 = 1 a = 10...
  • Seite 729 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Beispiel 2 Erstellen einer Konturtabelle mit • Namen KTAB • max. 92 Konturelementen (Kreise, Geraden) • Betriebsart: Längsdrehen, Außenbearbeitung • Aufbereitung vorwärts und rückwärts 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.
  • Seite 730 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) 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 731: Weitere Informationen

    Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Immer in letzter Tabellen-Zeile: 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 732: Codierte Konturtabelle Erstellen (Contdcon)

    Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) 15.3 Codierte Konturtabelle erstellen (CONTDCON) Funktion Bei der mit CONTDCON eingeschalteten Konturaufbereitung werden die nachfolgend aufgerufenen NC-Sätze in einer 6-spaltigen Konturtabelle speichergünstig codiert abgelegt. Jedem Konturelement entspricht eine Tabellenzeile in der Konturtabelle. Aus Kenntnis der unten angegebenen Codierungsregeln können Sie z. B.
  • Seite 733 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Beispiel Erstellen einer Konturtabelle mit: • Namen "KTAB" • Konturelementen (Kreise, Geraden) • Betriebsart: Drehen • Bearbeitungsrichtung: vorwärts NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[9,6] ; Konturtabelle mit Namen KTAB und 9 Tabellenzeilen. Diese erlauben 8 Kontursätze.
  • Seite 734 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Konturtabelle KTAB: Spaltenindex Zeilenindex Kontur­mod Endpunkt Endpunkt Mittelpunkt Mittelpunkt Vorschub Abszisse Ordinate Abszisse Ordinate 11031 111031 11031 11032 11031 11031 11031 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...
  • Seite 735 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Weitere Informationen Erlaubte Verfahrbefehle, Koordinatensystem Für die Konturprogrammierung sind folgende G-Gruppen und G-Befehle zulässig: G-Gruppe 1: G0, G1, G2, G3 G-Gruppe 10: G60, G64, G641, G642 G-Gruppe 11: G-Gruppe 13: G70, G71, G700, G710 G-Gruppe 14: G90, G91 G-Gruppe 15:...
  • Seite 736: Schnittpunkt Zwischen Zwei Konturelementen Ermitteln (Intersec)

    Eigene Abspanprogramme 15.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) 15.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) Funktion INTERSEC ermittelt den Schnittpunkt von zwei normierten Konturelementen aus mit CONTPRON erzeugten Konturtabellen. Syntax <Status>=INTERSEC(<Konturtabelle_1>[<Konturelement_1>], <Konturtabelle_2>[<Konturelement_2>],<Schnittpunkt>,<Bearbeitungsart >) Bedeutung Schlüsselwort zur Ermittlung des Schnittpunkts zweier INTERSEC Konturelemente aus mit CONTPRON erzeugten Konturtabellen...
  • Seite 737: Schnittpunkt Zwischen Zwei Konturelementen Ermitteln

    Eigene Abspanprogramme 15.4 Schnittpunkt zwischen zwei Konturelementen ermitteln 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...
  • Seite 738: Konturelemente Einer Tabelle Satzweise Abfahren (Exectab)

    Eigene Abspanprogramme 15.5 Konturelemente einer Tabelle satzweise abfahren (EXECTAB) 15.5 Konturelemente einer Tabelle satzweise abfahren (EXECTAB) Funktion Mit dem Befehl EXECTAB können Sie Konturelemente einer Tabelle, die z. B. mit dem Befehl CONTPRON erzeugt wurde, satzweise abfahren. Syntax EXECTAB(<Konturtabelle>[<Konturelement>]) Bedeutung Befehl zum Abfahren eines Konturelements EXECTAB Name der Konturtabelle <Konturtabelle>...
  • Seite 739: Kreisdaten Berechnen (Calcdat)

    Eigene Abspanprogramme 15.6 Kreisdaten berechnen (CALCDAT) 15.6 Kreisdaten berechnen (CALCDAT) Funktion Mit dem Befehl CALCDAT können Sie aus drei oder vier bekannten Kreispunkten den Radius und die Kreismittelpunkt-Koordinaten berechnen. Die angegebenen Punkte müssen unterschiedlich sein. Bei 4 Punkten, die nicht exakt auf dem Kreis liegen, wird für Kreismittelpunkt und Radius ein Mittelwert gewählt.
  • Seite 740 Eigene Abspanprogramme 15.6 Kreisdaten berechnen (CALCDAT) 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 Kreispunkte N20 DEF REAL ERG[3] ; Variable für Ergebnis N30 DEF BOOL STATUS ;...
  • Seite 741: Konturaufbereitung Ausschalten (Execute)

    Eigene Abspanprogramme 15.7 Konturaufbereitung ausschalten (EXECUTE) 15.7 Konturaufbereitung ausschalten (EXECUTE) Funktion Mit dem Befehl EXECUTE wird die Konturaufbereitung abgeschaltet und gleichzeitig in den normalen Abarbeitungsmodus zurückgeschaltet. Syntax EXECUTE(<FEHLER>) Bedeutung Befehl 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...
  • Seite 742 Eigene Abspanprogramme 15.7 Konturaufbereitung ausschalten (EXECUTE) Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 743: Zyklen Extern Programmieren

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.1 Einleitung Inhalt In diesem Kapitel sind die Technologischen Zyklen ab Version 2.6 für die Erstellung externer NC-Programme dokumentiert. Aufbau Die Dokumentation ist wie folgt strukturiert: • Programmierung Zyklusname und Aufrufreihenfolge der Übergabeparameter • Parameter Tabelle zur Erläuterung der einzelnen Parameter Parameterbeschreibung...
  • Seite 744 Zyklen extern programmieren 16.1 Technologische Zyklen Kompatibilität Die Technologischen Zyklen ab Version 2.6 stellen eine Weiterentwicklung der Zyklenpakete für SINUMERIK 840D sl bis GIV 1.5 (Zyklen bis Version 7.5) dar. NC-Programme mit Zyklenaufrufen dieser früheren SW-Versionen sind weiterhin lauffähig. Die meisten Zyklen wurden um neue Übergabeparameter erweitert oder vorhandene Parameter wurden in ihrem Wertebereich erweitert, um neue Funktionen programmieren zu können (wie z. B.
  • Seite 745: Bohren, Zentrieren - Cycle81

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.2 Bohren, Zentrieren - CYCLE81 Programmierung CYCLE81(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL _DTB, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param Param Erklärung Maske intern Rückzugsebene (abs) Bezugspunkt (abs) Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzugeben) _SDIS Bohrtiefe (abs)/Durchmesser der Zentrierung (abs), siehe _GMODE...
  • Seite 746: Bohren, Plansenken - Cycle82

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.3 Bohren, Plansenken - CYCLE82 Programmierung CYCLE82(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param Param Erklärung Maske intern Rückzugsebene (abs) Bezugspunkt (abs) Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzugeben) SDIS Bohrtiefe (abs), siehe _AMODE...
  • Seite 747: Reiben - Cycle85

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.4 Reiben - CYCLE85 Programmierung CYCLE85(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, REAL FFR, REAL RFF, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param Param Erklärung Maske intern Rückzugsebene (abs) Bezugspunkt (abs) Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzugeben) SDIS...
  • Seite 748: Tieflochbohren - Cycle83

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.5 Tieflochbohren - CYCLE83 Programmierung CYCLE83(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL FDEP, REAL FDPR, REAL _DAM, REAL DTB, REAL DTS, REAL FRF, INT VARI, INT _AXN, REAL _MDEP, REAL _VRT, REAL _DTD, REAL _DIS1, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 749 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Geometriemode (Bewertung der programmierten Geometriewerte) _GMODE EINER: reserviert ZEHNER: Bohrtiefe bezogen auf Spitze/Schaft 0 = Spitze 1 = Schaft Displaymode _DMODE EINER: Bearbeitungsebene G17/G18/G19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene aktiv 1 = G17 (nur im Zyklus aktiv) 2 = G18 (nur im Zyklus aktiv) 3 = G19 (nur im Zyklus aktiv)
  • Seite 750: Ausdrehen - Cycle86

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.6 Ausdrehen - CYCLE86 Programmierung CYCLE86(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT SDIR, REAL RPA, REAL RPO, REAL RPAP, REAL POSS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param Param Erklärung...
  • Seite 751: Gewindebohren Ohne Ausgleichsfutter - Cycle84

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.7 Gewindebohren ohne Ausgleichsfutter - CYCLE84 Programmierung CYCLE84(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT SDAC, REAL MPIT, REAL PIT, REAL POSS, REAL SST, REAL SST1, INT _AXN, INT _PITA, INT _TECHNO, INT _VARI, REAL _DAM, REAL _VRT, STRING[15] _PITM, STRING[5] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 752 _VARI EINER: 0 = 1 Schnitt 1 = Spänebrechen (Tieflochgewindebohren) 2 = Entspanen (Tieflochgewindebohren) TAUSENDER: ISO/SIEMENS Mode für Eingabemaske nicht relevant 1 = Aufruf aus ISO-Kompatibilität 0 = Aufruf aus SIEMENS-Kontext maximale Tiefenzustellung (nur bei Entspanen/Spänebrechen) _DAM Rückzugsbetrag nach jeder Bearbeitung (nur bei Spänebrechen), siehe _AMODE _VRT String als Merker für Gewindesteigungseingabe...
  • Seite 753 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Displaymode _DMODE EINER: Bearbeitungsebene G17/G18/G19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene aktiv 1 = G17 (nur im Zyklus aktiv) 2 = G18 (nur im Zyklus aktiv) 3 = G19 (nur im Zyklus aktiv) ZEHNER: reserviert HUNDERTER: reserviert...
  • Seite 754: Gewindebohren Mit Ausgleichsfutter - Cycle840

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.8 Gewindebohren mit Ausgleichsfutter - CYCLE840 Programmierung CYCLE840(REAL RTP, REAL RFP, REAL SDIS, REAL DP, REAL DPR, REAL DTB, INT SDR, INT SDAC, INT ENC, REAL MPIT, REAL PIT, INT _AXN, INT _PITA, INT _TECHNO, STRING[15] _PITM, STRING[5] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 755 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Technologie _TECHNO EINER: Genauhaltverhalten 0 = Genauhalt wie vor Zyklusaufruf aktiv 1 = Genauhalt G601 2 = Genauhalt G602 3 = Genauhalt G603 ZEHNER: Vorsteuerung 0 = mit/ohne Vorsteuerung wie vor Zyklusaufruf aktiv 1 = mit Vorsteuerung FFWON 2 = ohne Vorsteuerung FFWOF String als Merker für Gewindesteigungseingabe...
  • Seite 756: Bohrgewinde Fräsen - Cycle78

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.9 Bohrgewinde fräsen - CYCLE78 Programmierung CYCLE78(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _ADPR, REAL _FDPR, REAL _LDPR, REAL _DIAM, REAL _PIT, INT _PITA, REAL _DAM, REAL _MDEP, INT _VARI, INT _CDIR, REAL _GE, REAL _FFD, REAL _FRDP, REAL _FFR, REAL _FFP2, INT _FFA, STRING[15] _PITM, STRING[20] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 757 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Fräsrichtung _CDIR 0 = Gleichlauf 1 = Gegenlauf 4 = Gegenlauf + Gleichlauf (Kombination Schruppen + Schlichten) Rückzugsbetrag vor Gewindefräsen (ink) Bohrvorschub (mm/min bzw. in/min oder mm/U) _FFD Bohrvorschub für Restbohrtiefe (mm/min oder mm/U) _FRDP Vorschub für Gewindefräsen (mm/min oder mm/Zahn) -FFR...
  • Seite 758: Beliebige Positionen- Cycle802

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.10 Beliebige Positionen- CYCLE802 Programmierung CYCLE802(INT _XA, INT _YA, REAL _X0, REAL _Y0, REAL _X1, REAL _Y1, REAL _X2, REAL _Y2, REAL _X3, REAL _Y3, REAL _X4, REAL _Y4, REAL _X5, REAL _Y5, REAL _X6, REAL _Y6, REAL _X7, REAL _Y7, REAL _X8, REAL _Y8, INT _VARI, INT _UMODE, INT _DMODE) Parameter Param...
  • Seite 759 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern reserviert _UMODE Displaymode _DMODE EINER: Bearbeitungsebene G17/18/19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene aktiv 1 = G17 (nur im Zyklus aktiv) 2 = G18 (nur im Zyklus aktiv) 3 = G19 (nur im Zyklus aktiv) Hinweis Nicht benötigte Positionen der Parameter X1/Y1 bis X8/Y8 können weggelassen werden.
  • Seite 760: Lochreihe - Holes1

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.11 Lochreihe - HOLES1 Programmierung HOLES1(REAL SPCA, REAL SPCO, REAL STA1, REAL FDIS, REAL DBH, INT NUM, INT _VARI, INT _UMODE, STRING[200] _HIDE, INT _NSP, INT _DMODE) Parameter Param Param Erklärung Maske intern Bezugspunkt für Lochreihe in der 1. Achse (abs) SPCA Bezugspunkt für Lochreihe in der 2.
  • Seite 761: Gitter Oder Rahmen - Cycle801

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.12 Gitter oder Rahmen - CYCLE801 Programmierung CYCLE801(REAL _SPCA, REAL _SPCO, REAL _STA, REAL _DIS1, REAL _DIS2, INT _NUM1, INT _NUM2, INT _VARI, INT _UMODE, REAL _ANG1, REAL _ANG2, STRING[200] _HIDE, INT _NSP, INT _DMODE) Parameter Param Param...
  • Seite 762: Lochkreis - Holes2

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.13 Lochkreis - HOLES2 Programmierung HOLES2(REAL CPA, REAL CPO, REAL RAD, REAL STA1, REAL INDA, INT NUM, INT _VARI, INT _UMODE, STRING[200] _HIDE, INT _NSP, INT _DMODE) Parameter Param Param Erklärung Maske intern Mittelpunkt für Lochkreis in der 1. Achse (abs) Mittelpunkt für Lochkreis in der 2.
  • Seite 763: Planfräsen - Cycle61

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.14 Planfräsen - CYCLE61 Programmierung CYCLE61(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _PA, REAL _PO, REAL _LENG, REAL _WID, REAL _MID, REAL _MIDA, REAL _FALD, REAL _FFP1, INT _VARI, INT _LIM, INT _DMODE, INT _AMODE) Parameter Param Param...
  • Seite 764 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Eingrenzungen _LIM EINER: Eingrenzung 1. Achse minus 0 = nein 1 = ja ZEHNER: Eingrenzung 1. Achse plus 0 = nein 1 = ja HUNDERTER: Eingrenzung 2. Achse minus 0 = nein 1 = ja TAUSENDER: Eingrenzung 2.
  • Seite 765: Rechtecktasche Fräsen - Pocket3

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.15 Rechtecktasche fräsen - POCKET3 Programmierung POCKET3(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _LENG, REAL _WID, REAL _CRAD, REAL _PA, REAL _PO, REAL _STA, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _MIDA, REAL _AP1, REAL _AP2, REAL _AD, REAL _RAD1, REAL _DP1, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 766 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern maximale Ebenenzustellung, Einheit siehe _AMODE _MIDA Länge der Vorbearbeitung (ink) _AP1 Breite der Vorbearbeitung (ink) _AP2 Tiefe der Vorbearbeitung (ink) Radius der Helixbahn beim Eintauchen helikal _RAD1 maximaler Eintauchwinkel für pendelnd Helixsteigung bei Eintauchen helikal _DP1 reserviert...
  • Seite 767 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Alternativmode _AMODE EINER: Taschentiefe (Z1) 0 = absolut (Kompatibilitätsmode) 1 = inkrementell ZEHNER: Einheit für Ebenenzustellung (DXY) 0 = mm 1 = % vom Werkzeugdurchmesser HUNDERTER: Eintauchtiefe bei Anfasen (ZFS) 0 = absolut 1 = inkrementell Arbeitsvorbereitung...
  • Seite 768: Kreistasche Fräsen - Pocket4

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.16 Kreistasche fräsen - POCKET4 Programmierung POCKET4(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _CDIAM, REAL _PA, REAL _PO, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _MIDA, REAL _AP1, REAL _AD, REAL _RAD1, REAL _DP1, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 769 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern maximale Ebenenzustellung, siehe _AMODE, 0 = 0,8 · WZG-Durchmesser _MIDA ∅ Durchmesser/Radius der Vorbearbeitung (ink) _AP1 Tiefe der Vorbearbeitung (ink) Radius der Helixbahn beim Eintauchen helikal _RAD1 Helixsteigung bei Eintauchen auf Helixbahn _DP1 reserviert _UMODE...
  • Seite 770: Rechteckzapfen Fräsen - Cycle76

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.17 Rechteckzapfen fräsen - CYCLE76 Programmierung CYCLE76(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DPR, REAL _LENG, REAL _WID, REAL _CRAD, REAL _PA, REAL _PO, REAL _STA, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _AP1, REAL _AP2, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 771 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Mode für Bewertung der programmierten Geometriewerte _GMODE EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung oder nur Startpunktberechnung 0 = Kompatibilitätsmode 1 = normale Bearbeitung TAUSENDER: Bemaßung des Zapfens über Mitte oder Ecke 0 = Kompatibilitätsmode 1 = Bemaßung über Mitte 2 = Bemaßung Eckpunkt, Zapfen +L +W...
  • Seite 772: Kreiszapfen Fräsen - Cycle77

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.18 Kreiszapfen fräsen - CYCLE77 Programmierung CYCLE77(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DPR, REAL _CDIAM, REAL _PA, REAL _PO, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _CDIR, INT _VARI, REAL _AP1, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 773 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Mode für Bewertung der programmierten Geometriewerte _GMODE EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung/nur Startpunktberechnung 0 = Kompatibilitätsmode 1 = normale Bearbeitung TAUSENDER: reserviert ZEHNTAUSENDER: Komplettbearbeitung/Nachbearbeitung 0 = Kompatibilitätsmode (_AP1 wie bisher behandeln) 1 = Komplettbearbeitung 2 = Nachbearbeitung Displaymode...
  • Seite 774: Mehrkant - Cycle79

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.19 Mehrkant - CYCLE79 Programmierung CYCLE79(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, INT _NUM, REAL _SWL, REAL _PA, REAL _PO, REAL _STA, REAL _RC, REAL _AP1, REAL _MIDA, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, INT _CDIR, INT _VARI, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 775 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitungsart _VARI EINER: Bearbeitung 1 = Schruppen 2 = Schlichten 3 = Schlichten Rand 5 = Anfasen ZEHNER: Schlüsselweite oder Kantenlänge 0 = Schlüsselweite 1 = Kantenlänge Fasenbreite (ink) Eintauchtiefe (Werkzeugspitze) bei Anfasen (abs/ink), siehe _AMODE) _ZFS Geometriemode...
  • Seite 776: Längsnut - Slot1

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.20 Längsnut - SLOT1 Programmierung SLOT1 (REAL RTP, REAL RFP, REAL SDIS, REAL _DP, REAL _DPR, INT NUM, REAL LENG, REAL WID, REAL _CPA, REAL _CPO, REAL RAD, REAL STA1, REAL INDA, REAL FFD, REAL FFP1, REAL _MID, INT CDIR, REAL _FAL, INT VARI, REAL _MIDF, REAL FFP2, REAL SSF, REAL _FALD, REAL _STA2, REAL _DP1, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 777 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitungsart VARI EINER: 0 = reserviert 1 = Schruppen 2 = Schlichten 4 = Schlichten Rand (nur Rand bearbeiten) 5 = Anfasen ZEHNER: Anfahren 0 = vorgebohrt, Zustellung mit G0 (Nut ist vorbearbeitet) 1 = senkrecht, Zustellung mit G1 2= helikal 3 = pendelnd...
  • Seite 778 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Displaymode _DMODE EINER: Bearbeitungsebene G17/18/19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebenen aktiv 1 = G17 (nur im Zyklus aktiv) 2 = G18 (nur im Zyklus aktiv) 3 = G19 (nur im Zyklus aktiv) ZEHNER: reserviert HUNDERTER: reserviert...
  • Seite 779: Kreisnut - Slot2

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.21 Kreisnut - SLOT2 Programmierung SLOT2(REAL RTP, REAL RFP, REAL SDIS, REAL _DP, REAL _DPR, INT NUM, REAL AFSL, REAL WID, REAL _CPA, REAL _CPO, REAL RAD, REAL STA1, REAL INDA, REAL FFD, REAL FFP1, REAL _MID, INT CDIR, REAL _FAL, INT VARI, REAL _MIDF, REAL FFP2, REAL SSF, REAL _FFCP, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 780 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern reserviert _MIDF reserviert FFP2 reserviert reserviert _FFCP reserviert _UMODE Fasenbreite (Ink) Eintauchtiefe (Werkzeugspitze) bei Anfasen (abs/ink), siehe _AMODE) _ZFS Geometriemode _GMODE EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung oder nur Startpunktberechnung 0 = Kompatibilitätsmode 1 = normale Bearbeitung Displaymode...
  • Seite 781: Offene Nut Fräsen - Cycle899

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.22 Offene Nut fräsen - CYCLE899 Programmierung CYCLE899(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _LENG, REAL _WID, REAL _PA, REAL _PO, REAL _STA, REAL _MID, REAL _MIDA, REAL _FAL, REAL _FALD, REAL _FFP1, INT _CDIR, INT _VARI, INT _GMODE, INT _DMODE, INT _AMODE, INT _UMODE, REAL _FS, REAL _ZFS) Parameter Param...
  • Seite 782 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitung _VARI EINER: 1 = Schruppen 2 = Schlichten 3 = Schlichten Boden 4 = Schlichten Rand 5 = Vorschlichten 6 = Anfasen ZEHNER: reserviert HUNDERTER: reserviert TAUSENDER: 1 = Wirbelfräsen 2 = Tauchfräsen Bewertung der Geometriewerte _GMODE...
  • Seite 783: Langloch - Longhole

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.23 Langloch - LONGHOLE Programmierung LONGHOLE(REAL RTP,REAL RFP,REAL SDIS,REAL _DP,REAL _DPR, INT NUM,REAL LENG,REAL _CPA,REAL _CPO,REAL RAD,REAL STA1, REAL INDA,REAL FFD,REAL FFP1,REAL MID,INT _VARI,INT _UMODE, INT _GMODE,INT _DMODE,INT _AMODE) Parameter Param Param Erklärung Maske intern Rückzugsebene (abs) Bezugspunkt der Werkzeugachse (abs)
  • Seite 784 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Geometriemode _GMODE EINER: reserviert ZEHNER: reserviert HUNDERT Auswahl Bearbeitung oder nur Startpunktberechnung 0 = Kompatibilitätsmode 1 = normale Bearbeitung TAUSENDER: Bemaßung Bezugspunkt, Nutlage 0 = Mitte 1 = links innen +L 2 = rechts innen -L 3 = linker Rand +L 4 = rechter Rand -L...
  • Seite 785: Gewindefräsen - Cycle70

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.24 Gewindefräsen - CYCLE70 Programmierung CYCLE70(REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DIATH, REAL _H1, REAL _FAL, REAL _PIT, INT _NT, REAL _MID, REAL _FFR, INT _TYPTH, REAL _PA, REAL _PO, REAL _NSP, INT _VARI, INT _PITA, STRING[15] _PITM, STRING[20] _PTAB, STRING[20] _PTABA, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 786 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bewertung der Gewindesteigung _PITA 0 = Kompatibilitätsmode 1 = Steigung in mm 2 = Steigung in Gänge pro Zoll (TPI) 3 = Steigung in inch 4 = Steigung als MODUL String als Merker für Gewindesteigungseingabe (nur für die Oberfläche) _PITM String für Gewindetabelle ("", "ISO", "BSW", "BSP", "UNC") (nur für die Oberfläche)
  • Seite 787: Gravurzyklus - Cycle60

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.25 Gravurzyklus - CYCLE60 Programmierung CYCLE60(STRING[200] _TEXT, REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _DPR, REAL _PA, REAL _PO, REAL _STA, REAL _CP1, REAL _CP2, REAL _WID, REAL _DF, REAL _FFD, REAL _FFP1, INT _VARI, INT _CODEP, INT _UMODE, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 788 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitung (Ausrichtung und Bezugspunkt des Gravurtextes)) _VARI EINER: Bezugspunkt 0: rechtwinklig 1: polar ZEHNER: Textausrichtung 0: Text auf einer Linie 1: Text auf einem Kreisbogen oben 2: Text auf einem Kreisbogen unten HUNDERTER: reserviert TAUSENDER: : Bezugspunkt des Textes horizontal 0: links...
  • Seite 789 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Displaymode _DMODE EINER: Bearbeitungsebene G17/18/19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene aktiv 1 = G17 2 = G18 3 = G19 ZEHNER: Vorschubart: G-Gruppe (G94/G95) für Flächen- und Tiefenvorschub 0 = Kompatibilitätsmode 1 = G-Code wie vor Zyklusaufruf.
  • Seite 790: Konturaufruf - Cycle62

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.26 Konturaufruf - CYCLE62 Programmierung CYCLE62(STRING[140] _KNAME, INT _TYPE, STRING[32] _LAB1, STRING[32] _LAB2) Parameter Param Param Erklärung Maske intern Konturname oder Unterprogrammname, muss nicht programmiert werden PRG/ _KNAME bei _TYPE = 2 Bestimmung der Kontureingabe _TYPE 0 = Unterprogramm 1 = Konturname...
  • Seite 791: Bahnfräsen - Cycle72

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.27 Bahnfräsen - CYCLE72 Programmierung CYCLE72(STRING[141] _KNAME, REAL _RTP, REAL _RFP, REAL _SDIS, REAL _DP, REAL _MID, REAL _FAL, REAL _FALD, REAL _FFP1, REAL _FFD, INT _VARI, INT _RL, INT _AS1, REAL __LP1, REAL _FF3, INT _AS2, REAL _LP2, INT _UMODE, REAL _FS, REAL _ZFS, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 792 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitungsrichtung 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) Kontur-Anfahrbewegung _AS1 EINER:...
  • Seite 793 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Displaymode _DMODE EINER: Bearbeitungsebene G17/G18/G19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene aktiv 1 = G17 (nur im Zyklus aktiv) 2 = G18 (nur im Zyklus aktiv) 3 = G19 (nur im Zyklus aktiv) ZEHNER: Vorschubart: G-Gruppe (G94/G95) für Flächen- und Tiefenvorschub 0 = Kompatibilitätsmode...
  • Seite 794: Konturtasche Vorbohren - Cycle64

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.28 Konturtasche vorbohren - CYCLE64 Programmierung CYCLE64(STRING[100] _PRG, INT _VARI, REAL _RP, REAL _Z0, REAL _SC, REAL _Z1, REAL _F, REAL _DXY, REAL _UXY, REAL _UZ, INT _CDIR, STRING[20] _TR, INT _DR, INT _UMODE, INT _GMODE, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 795 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Displaymode _DMODE EINER: Bearbeitungsebene G17/18/19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene aktiv 1 = G17 (nur im Zyklus aktiv) 2 = G18 (nur im Zyklus aktiv) 3 = G19 (nur im Zyklus aktiv) ZEHNER: Technologiemodus) 1 = Vorbohren...
  • Seite 796: Konturtasche Fräsen - Cycle63

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.29 Konturtasche fräsen - CYCLE63 Programmierung CYCLE63(STRING[100] _PRG, INT _VARI, REAL _RP, REAL _Z0, REAL _SC, REAL _Z1, REAL _F, REAL _FZ, REAL _DXY, REAL _DZ, REAL _UXY, REAL _UZ, INT _CDIR, REAL _XS, REAL _YS, REAL _ER, REAL _EP, REAL _EW, REAL _FS, REAL _ZFS, STRING[20] _TR, INT _DR, INT _UMODE, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 797 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Startpunkt Y, absolut Eintauchen helikal: Radius Eintauchen helikal: Steigung Eintauchen pendelnd: maximaler Eintauchwinkel Fasenbreite (ink) bei Anfasen Eintauchtiefe Werkzeugspitze bei Anfasen, (siehe AMODE HUNDERTER) _ZFS Referenzwerkzeugname bei Restmaterialbearbeitung Referenzwerkzeug D-Nummer bei Restmaterialbearbeitung reserviert _UMODE Mode für Bewertung der programmierten Geometriewerte...
  • Seite 798: Abspanen - Cycle951

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.30 Abspanen - CYCLE951 Programmierung CYCLE951(REAL _SPD, REAL _SPL, REAL _EPD, REAL _EPL, REAL _ZPD, REAL _ZPL, INT _LAGE, REAL _MID, REAL _FALX, REAL _FALZ, INT _VARI, REAL _RF1, REAL _RF2, REAL _RF3, REAL _SDIS, REAL _FF1, INT _NR, INT _DMODE, INT _AMODE) Parameter Param...
  • Seite 799 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitungsart _VARI EINER: Abspanrichtung (längs oder plan) im Koordinatensystem 1 = längs 2 = plan ZEHNER: 1 = Schruppen bis Schlichtaufmaß 2 = Schlichten HUNDERTR: 0 = mit Nachziehen an der Kontur, ohne Restecken 1 = ohne Nachziehen an der Kontur TAUSENDER: 0 = mit Radius/Fase an Ecke 2...
  • Seite 800 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Alternativmode _AMODE EINER: Zwischenpunkt in X 0 = absolut, Wert der Planachse im Durchmesser 1 = inkrementell, Wert der Planachse im Radius ZEHNER: Zwischenpunkt in Z 0 = absolut 1 = inkrementell HUNDERTER: Endpunkt in X 0 = absolut, Wert der Planachse im Durchmesser...
  • Seite 801: Einstich - Cycle930

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.31 Einstich - CYCLE930 Programmierung CYCLE930(REAL _SPD, REAL _SPL, REAL _WIDG, REAL _WIDG2, REAL _DIAG, REAL _DIAG2, REAL _STA, REAL _ANG1, REAL _ANG2, REAL _RCO1, REAL _RCI1, REAL _RCI2, REAL _RCO2, REAL _FAL, REAL _IDEP1, REAL _SDIS, INT _VARI, INT _DN, INT _NUM, REAL _DBH, REAL _FF1, INT _NR, REAL _FALX, REAL _FALZ, INT _DMODE, INT _AMODE) Parameter...
  • Seite 802 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitungsart _VARI EINER: reserviert ZEHNER: Technologische Bearbeitung 1 = Schruppen 2 = Schlichten 3 = Schruppen und Schlichten HUNDERTER: Lage Längs/Plan Außen/Innen +Z/+Z bzw. +X/-X 1 = Längs/Außen +Z 2 = Plan/Innen -X 3 = Längs/Innen +Z 4 = Plan/Innen +X...
  • Seite 803 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Alternativmode _AMODE EINER: Bemaßung Tiefe (nur für die Oberfläche) 0 = am Bezugspunkt 1 = gegenüber dem Bezugspunkt ZEHNER: Tiefe 0 = absolut 1 = inkrementell HUNDERTER: Bemaßung Breite (nur für die Oberfläche) 0 = am Außendurchmesser (oben) 1 = am Innendurchmesser (unten) TAUSENDER: Radius/Fase 1 (_RCO1)
  • Seite 804: Freistich Formen - Cycle940

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.32 Freistich Formen - CYCLE940 Mit dem Zyklus CYCLE940 können verschiedene Freistiche programmiert werden. Diese unterscheiden sich in der Parametrierung zum Teil erheblich. Die zusätzlichen Spalten in der Tabelle zeigen, welcher Parameter bei welcher Freistichform benötigt wird.
  • Seite 805 Zyklen extern programmieren 16.1 Technologische Zyklen Erklärung Param Param Progr. bei Form Maske intern Bearbeitungsart _VARI EINER: Bearbeitung 1 = Schruppen 2 = Schlichten 3 = Schruppen + Schlichten ZEHNER: Bearbeitungsstrategie 0 = Konturparallel 1 = Längs Freistiche Form E und F werden immer in einem Zug wie Schlichten bearbeitet. Aufmaß...
  • Seite 806 Zyklen extern programmieren 16.1 Technologische Zyklen Erklärung Param Param Progr. bei Form Maske intern Displaymode _DMODE EINER: Bearbeitungsebene G17/18/19 0 = Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene aktiv 1 = G17 (nur im Zyklus aktiv) 2 = G18 (nur im Zyklus aktiv) 3 = G19 (nur im Zyklus aktiv) Alternativmode _AMODE...
  • Seite 807: Gewindedrehen - Cycle99

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.33 Gewindedrehen - CYCLE99 Programmierung CYCLE99(REAL _SPL, REAL _SPD, REAL _FPL, REAL _FPD, REAL _APP, REAL _ROP, REAL _TDEP, REAL _FAL, REAL _IANG, REAL _NSP, INT _NRC, INT _NID, REAL _PIT, INT _VARI, INT _NUMTH, REAL _SDIS, REAL _MID, REAL _GDEP, REAL _PIT1, REAL _FDEP, INT _GST, INT _GUD, REAL _IFLANK, INT _PITA, STRING[15] _PITM, STRING[20] _PTAB, STRING[20] _PTABA, INT _DMODE, INT _AMODE)
  • Seite 808 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Bearbeitungsart _VARI EINER: Technologie 1 = Außengewinde mit linearer Zustellung 2 = Innengewinde mit linearer Zustellung 3 = Außengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant 4 = Innengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant ZEHNER: reserviert HUNDERTER: Zustellungsart 1 = einseitige Zustellung...
  • Seite 809 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern String als Merker für Gewindesteigungseingabe (nur für die Oberfläche) _PITM String für Gewindetabelle (nur für die Oberfläche) _PTAB String für Auswahl in der Gewindetabelle (nur für die Oberfläche) _PTABA Displaymode _DMODE EINER: Bearbeitungsebene G17/G18/G19...
  • Seite 810: Gewindekette - Cycle98

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.34 Gewindekette - CYCLE98 Programmierung CYCLE98(REAL _PO1, REAL _DM1, REAL _PO2, REAL _DM2, REAL _PO3, REAL _DM3, REAL _PO4, REAL _DM4, REAL APP, REAL ROP, REAL TDEP, REAL FAL, REAL _IANG, REAL NSP, INT NRC, INT NID, REAL _PP1, REAL _PP2, REAL _PP3, INT _VARI, INT _NUMTH, REAL _VRT, REAL _MID, REAL _GDEP, REAL _IFLANK, INT _PITA, STRING[15] _PITM1, STRING[15] _PITM2, STRING[15] _PITM3, INT _DMODE,INT _AMODE)
  • Seite 811 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Anzahl Leerschnitte Gewindesteigung 1. Gewindeabschnitt, siehe _PITA _PP1 Gewindesteigung 2. Gewindeabschnitt, siehe _PITA _PP2 Gewindesteigung 3. Gewindeabschnitt, siehe _PITA _PP3 Bearbeitung _VARI EINER: Technologie 1 = Außengewinde mit linearer Zustellung 2 = Innengewinde mit linearer Zustellung 3 = Außengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant 4 = Innengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant...
  • Seite 812 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern String als Merker für Gewindesteigungseingabe (nur für die Oberfläche) _PITM1 String als Merker für Gewindesteigungseingabe (nur für die Oberfläche) _PITM2 String als Merker für Gewindesteigungseingabe (nur für die Oberfläche) _PITM3 Displaymode _DMODE...
  • Seite 813: Abstich - Cycle92

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.35 Abstich - CYCLE92 Programmierung CYCLE92(REAL _SPD, REAL _SPL, REAL _DIAG1, REAL _DIAG2, REAL _RC, REAL _SDIS, REAL _SV1, REAL _SV2, INT _SDAC, REAL _FF1, REAL _FF2, REAL _SS2, REAL _DIAGM, INT _VARI, INT _DN, INT _DMODE, INT _AMODE) Parameter Param Param...
  • Seite 814 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Alternativmode _AMODE EINER: Tiefe für Drehzahlreduzierung (_DIAG1) 0 = absolut, Wert der Planachse im Durchmesser 1 = inkrementell, Wert der Planachse im Radius ZEHNER: Endtiefe (_DIAG2) 0 = absolut, Wert der Planachse im Durchmesser 1 = inkrementell, Wert der Planachse im Radius HUNDERTER: reserviert TAUSENDER: Radius/Fase (_RC)
  • Seite 815: Konturstechen - Cycle952

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.36 Konturstechen - CYCLE952 Programmierung CYCLE952(STRING[100] _PRG, STRING[100] _CON, STRING[100] _CONR, INT _VARI, REAL _F, REAL _FR, REAL _RP, REAL _D, REAL _DX, REAL _DZ, REAL _UX, REAL _UZ, REAL _U, REAL _U1, INT _BL, REAL _XD, REAL _ZD, REAL _XA, REAL _ZA, REAL _XB, REAL _ZB, REAL _XDA, REAL _XDB, INT _N, REAL _DP, REAL _DI, REAL _SC, INT _DN, INT _GMODE, INT _DMODE, INT _AMODE) Parameter...
  • Seite 816 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Vorschub für Schruppen/Schlichten Vorschub Abszisse Stechdrehen Vorschub zum Eintauchen in Hinterschnitte Schruppen Vorschub Ordinate Stechdrehen Rückzugsebene bei Innenbearbeitung (abs, immer Durchmesser) Zustellung Schruppen (siehe _AMODE EINER)) Zustellung X (siehe _AMODE EINER) Zustellung Z (siehe _AMODE EINER) Schlichtaufmass X (siehe _VARI ZEHNTAUSENDER) Schlichtaufmass Z (siehe _VARI ZEHNTAUSENDER)
  • Seite 817 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Geometriemode (Bewertung der programmierten Geometriewerte) _GMODE EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung / nur Startpunktberechnung 0 = normale Bearbeitung (kein Kompatibilitätsmode erforderlich) 1 = normale Bearbeitung 2 = Startposition berechnen - keine Bearbeitung (nur für Aufruf aus ShopMill/ShopTurn) TAUSENDER: Eingrenzung 0 = nein 1 = ja...
  • Seite 818 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Alternativmode _AMODE EINER: Auswahl Zustellung 0 = Zustellung DX und DZ bei Abspanart konturparallel 1 = Zustellung D ZEHNER: Zustellstrategie 0 = variable Schnittiefe (90 ... 100 %) 1 = konstante Schnittiefe HUNDERTER: Schnittaufteilung 0 = gleichmäßig 1 = an Kanten ausrichten...
  • Seite 819: Schwenken - Cycle800

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.37 Schwenken - CYCLE800 Programmierung CYCLE800(INT _FR, STRING[32] _TC, INT _ST, INT _MODE, REAL _X0, REAL _Y0, REAL _Z0, REAL _A, REAL _B, REAL _C, REAL _X1, REAL _Y1, REAL _Z1, INT _DIR, REAL _FR_I , INT _DMODE) Parameter Param Param...
  • Seite 820 Zyklen extern programmieren 16.1 Technologische Zyklen Param Param Erklärung Maske intern Schwenkmodus: Auswertung der Schwenkwinkel und der Schwenkreihenfolge (bitcodiert!) _MODE Bit: 7 6 0 0: Schwenkwinkel achsweise -> siehe Parameter _A, _B, _C 0 1: Raumwinkel -> siehe Parameter _A, _B 1 0: Projektionswinkel ->...
  • Seite 821 Zyklen extern programmieren 16.1 Technologische Zyklen Hinweis Sind folgende Übergabeparameter indirekt (als Parameter) programmiert, wird die Eingabemaske nicht rückübersetzt: _FR, _ST, _TC, _MODE, _DIR 1) Auswahl möglich, wenn in IBN SCHWENKEN Funktion eingerichtet ist. 2) Auswahl möglich, wenn in IBN SCHWENKEN Richtungsbezug auf Rundachse 1 oder 2 eingestellt ist.
  • Seite 822: High Speed Settings - Cycle832

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.38 High Speed Settings - CYCLE832 Programmierung CYCLE832(_TOL, _TOLM, _V832) Hinweis Der CYCLE832 entlastet den Maschinenhersteller nicht von notwendigen Optimierungsaufgaben bei der Inbetriebnahme der Maschine. Dies betrifft die Optimierung der an der Bearbeitung beteiligten Achsen und die Einstellungen der NCU (Vorsteuerung, Ruckbegrenzung, usw.).
  • Seite 823: Hochgeschwindigkeitszerspanung (Hsc) - Cycle_Hsc

    Zyklen extern programmieren 16.1 Technologische Zyklen 16.1.39 Hochgeschwindigkeitszerspanung (HSC) - CYCLE_HSC Programmierung CYCLE_HSC(_Mode, _TOL, _RTOL) Parameter Param Param Erklärung Maske intern _MODE Bearbeitungsart (Technologie) Der Parameter Bearbeitungsart wird im Klartext als String an den CYCLE_HSC übergeben (Groß- Kleinschreibung ist erlaubt). "FINISH"...
  • Seite 824 Zyklen extern programmieren 16.1 Technologische Zyklen Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 825: Tabellen

    Tabellen 17.1 Anweisungen Legende: Wirksamkeit der Anweisung: modal satzweise Verweis auf das Dokument, das die ausführliche Beschreibung der Anweisung enthält: PGsl Programmierhandbuch Grundlagen PGAsl Programmierhandbuch Arbeitsvorbereitung BNMsl Programmierhandbuch Messzyklen BHDsl Bedienhandbuch Drehen BHFsl Bedienhandbuch Fräsen FB1 ( ) Funktionshandbuch Grundfunktionen (mit dem alphanumerischen Kürzel der betreffenden Funktionsbeschreibung in Klammern) FB2 ( ) Funktionshandbuch Erweiterungsfunktionen (mit dem alphanumerischen Kürzel der betreffenden...
  • Seite 826 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl <= Vergleichsoperator, kleiner gleich Rechenfunktionen [Seite 64]  PGAsl Zuweisungsoperator Rechenfunktionen [Seite 64]  PGAsl >= Vergleichsoperator, größer gleich Rechenfunktionen [Seite 64]  PGAsl Operator für Division Rechenfunktionen [Seite 64]  PGsl Satz wird ausgeblendet … (1. Ausblendebene)  ...
  • Seite 827 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl, FB1(K2) ADDFRAME Einrechnung und evtl. Aktivierung eines gemessenen Frames Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) [Seite 310]  PGsl ADIS Überschleifabstand für Bahnfunktionen G1, G2, G3, ...   PGsl ADISPOS Überschleifabstand für Eilgang G0  ...
  • Seite 828 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl AROT Programmierbare Drehung   PGsl AROTS Programmierbare Framedrehungen mit Raumwinkeln   PGAsl Makro-Definition Makrotechnik (DEFINE ... AS) [Seite 216]  PGsl ASCALE Programmierbare Skalierung   PGAsl ASIN Rechenfunktion, Arcussinus Rechenfunktionen [Seite 64]  PGAsl ASPLINE Akima-Spline Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE,...
  • Seite 829 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl AXTOSPI konvertiert Achsbezeichner in einen Spindelindex um Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Seite 679]  PGAsl Achsname Programmierung der Werkzeugorientierung (A..., B..., C..., LEAD, TILT) [Seite 335]  PGAsl Werkzeugorientierung: RPY- oder Eulerwinkel Programmierung der Werkzeugorientierung (A..., B..., C..., LEAD, TILT) [Seite 335] ...
  • Seite 830 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Sprungförmige Bahnbeschleunigung BRISK   PGsl BRISKA Sprungförmige Bahnbeschleunigung für die programmierten Achsen einschalten   PGAsl BSPLINE B-Spline Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Seite 246]  PGAsl BTAN Tangentialer Übergang zum ersten...
  • Seite 831 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl CALLPATH Programmierbarer Suchpfad bei Unterprogrammaufrufen Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH) [Seite 206]  PGAsl CANCEL Modale Synchronaktion abbrechen Synchronaktion löschen (CANCEL) [Seite 646]  PGAsl CASE Bedingte Programmverzweigung Programmverzweigung (CASE ... OF ... DEFAULT ...) [Seite 97] ...
  • Seite 832 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Fase; Wert = Länge der Fase in   Bewegungsrichtung PGAsl Inkrementelles Anfahren einer Position Codierte Positionen anfahren (CAC, CIC, CDC, CACP, CACN) [Seite 245]  PGsl Kreisinterpolation über Zwischenpunkt   PGAsl CLEARM Rücksetzen einer/mehrerer Marken für Kanalkoordinierung Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) [Seite 115] ...
  • Seite 833 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl COUPDEF Definition ELG-Verband / Synchronspindel-Verband Synchronspindel: Programmierung (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Seite 544]  PGAsl COUPDEL ELG-Verband löschen Synchronspindel: Programmierung (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) [Seite 544]  PGAsl COUPOF ELG-Verband / Synchronspindelpaar...
  • Seite 834 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl CROTS Programmierbare Framedrehungen mit Raumwinkeln (Drehung in den   angegebenen Achsen) FB1(K2) CRPL Frame-Drehung in einer beliebigen Ebene PGAsl CSCALE Maßstabsfaktor für mehrere Achsen Rechenfunktionen [Seite 64]  PGAsl CSPLINE Kubischer Spline Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Seite 246] ...
  • Seite 835 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl CTABINV Ermittle Leitachsposition anhand der Folgeachsposition aus Kurventabelle Kurventabellenwerte lesen (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) [Seite 523]  PGAsl CTABISLOCK Gibt den Sperrzustand der Kurventabelle mit der Nummer n zurück Kurventabellen: Tabelleneigenschaften ermitteln (CTABID, CTABISLOCK, CTABMEMTYP, CTABPERIOD) [Seite 521] ...
  • Seite 836 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl CTABSEG Anzahl der bereits verwendeten Kurvensegmente im Speicher Kurventabellen: Ressourcennutzung prüfen (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) [Seite 528]  PGAsl CTABSEGID Anzahl der von der Kurventabelle mit der Nummer n verwendeten Kurventabellen: Ressourcennutzung prüfen Kurvensegmente...
  • Seite 837 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl CTRANS Nullpunktverschiebung für mehrere Achsen Grob- und Feinverschiebung (CFINE, CTRANS) [Seite 305]  PGsl 2D-Werkzeugkorrektur CUT2D   PGsl CUT2DF 2D-Werkzeugkorrektur Die Werkzeugkorrektur wirkt relativ zum   aktuellen Frame (schräge Ebene). PGAsl CUT3DC 3D-Werkzeugkorrektur Umfangsfräsen Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) [Seite 421] ...
  • Seite 838 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl CYCLE70 Technologischer Zyklus: Gewindefräsen Gewindefräsen - CYCLE70 [Seite 785] PGAsl CYCLE72 Technologischer Zyklus: Bahnfräsen Bahnfräsen - CYCLE72 [Seite 791] PGAsl CYCLE76 Technologischer Zyklus: Rechteckzapfen fräsen Rechteckzapfen fräsen - CYCLE76 [Seite 770] PGAsl CYCLE77 Technologischer Zyklus: Kreiszapfen fräsen...
  • Seite 839 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl CYCLE899 Technologischer Zyklus: Offene Nut fräsen Offene Nut fräsen - CYCLE899 [Seite 781] PGAsl CYCLE930 Technologischer Zyklus: Einstich Einstich - CYCLE930 [Seite 801] PGAsl CYCLE940 Technologischer Zyklus: Freistich Formen Freistich Formen - CYCLE940 [Seite 804] PGAsl CYCLE951 Technologischer Zyklus:...
  • Seite 840 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe FB1(W1) DELTOOLENV Datensätze zur Beschreibung von Werkzeugumgebungen löschen FB1(P1) DIACYCOFA Achsspezifische modale Durchmesser- programmierung: AUS in Zyklen PGAsl DIAM90 Durchmesserprogrammierung für G90, Radiusprogrammierung für G91   PGsl DIAM90A Achsspezifische modale Durchmesser­programmierung für G90  ...
  • Seite 841 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl DISPLON Unterdrückung der aktuellen Satzanzeige aufheben Aktuelle Satzanzeige unterdrücken (DISPLOF, DISPLON, ACTBLOCNO) [Seite 179]  PGAsl DISPR Repos-Bahndifferenz Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Seite 486]  DISR Repos-Abstand PGAsl...
  • Seite 842 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl EAUTO Festlegung des letzten Spline- Abschnitts durch die letzten 3 Punkte Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) [Seite 246]  PGAsl EGDEF Definition eines elektronischen Getriebes Elektronisches Getriebe definieren (EGDEF) [Seite 536] ...
  • Seite 843 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe ENDPROC Endezeile eines Programms mit der Anfangszeile PROC PGAsl ENDWHILE Endezeile der WHILE-Schleife Programmschleife mit Bedingung am Schleifenanfang (WHILE, ENDWHILE) [Seite 112]  PGAsl ESRR Antriebsautarkes ESR-Rückziehen im Antrieb parametrieren Antriebsautarkes Rückziehen projektieren (ESRR) [Seite 722] PGAsl ESRS...
  • Seite 844 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Vorschubwert (in Verbindung mit G4 wird mit F auch   die Verweilzeit programmiert) PGsl Axialer Vorschub   PGsl Zustell-Vorschub für Weiches An- und Abfahren   PGAsl FALSE Logische Konstante: falsch Definition von Anwendervariablen (DEF) [Seite 25]  PGsl Satzweiser Vorschub  ...
  • Seite 845 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl FILEINFO Liefert Summe von FILEDATE, FILESIZE, FILESTAT und FILETIME Datei-Informationen auslesen (FILEDATE, FILETIME, zusammen FILESIZE, FILESTAT, FILEINFO) [Seite 154]  PGAsl FILESIZE Liefert aktuelle Größe der Datei Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) [Seite 154]  PGAsl FILESTAT Liefert Filestatus der Rechte Lesen,...
  • Seite 846 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl FRAME Datentyp zur Festlegung von Koordinatensystemen Definition neuer Frames (DEF FRAME) [Seite 304]  PGsl Vorschub für Radius und Fase   PGsl FRCM Vorschub für Radius und Fase modal   PGAsl FROM Die Aktion wird ausgeführt, wenn die Bedingung einmal erfüllt ist und solange Zyklische Prüfung der Bedingung (WHEN, die Synchronaktion aktiv ist...
  • Seite 847 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Wahl der Arbeitsebene X/Y   PGsl Wahl der Arbeitsebene Z/X   PGsl Wahl der Arbeitsebene Y/Z   PGsl Untere Arbeitsfeldbegrenzung   PGsl Obere Arbeitsfeldbegrenzung   PGsl Gewindeschneiden mit konstanter Steigung   Gewindeschneiden mit linear PGsl zunehmender Steigung  ...
  • Seite 848 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Genauhalt - Geschwindigkeits­abnahme   PGAsl Eckenverzögerung an Innenecken bei aktiver Werkzeuradiuskorrektur (G41, Vorschubreduzierung mit Eckenverzögerung G42) (FENDNORM, G62, G621) [Seite 285]  PGsl Gewindebohren mit Ausgleichsfutter   PGsl Bahnsteuerbetrieb   PGsl Inch-Maßangabe für geometrische Angaben (Längen)  ...
  • Seite 849 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl G142 Anfahrrichtung WAB rechts der Kontur   PGsl G143 Anfahrrichtung WAB tangentenabhängig   PGsl G147 Weiches Anfahren mit Gerade   PGsl G148 Weiches Abfahren mit Gerade   PGsl G153 Unterdrückung aktueller Frames inklusive Basisframe  ...
  • Seite 850 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Satzwechsel bei Genauhalt fein G601   PGsl G602 Satzwechsel bei Genauhalt grob   PGsl G603 Satzwechsel bei IPO-Satzende   PGAsl G621 Eckenverzögerung an allen Ecken Vorschubreduzierung mit Eckenverzögerung (FENDNORM, G62, G621) [Seite 285]  PGsl G641 Bahnsteuerbetrieb mit Überschleifen...
  • Seite 851 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl G961 konstante Schnittgeschwindigkeit und Linear-Vorschub   PGsl G962 Linear-Vorschub oder Umdrehungsvorschub und konstante   Schnittgeschwindigkeit PGsl G971 Spindeldrehzahl einfrieren und Linear- Vorschub   PGsl G972 Linear-Vorschub oder Umdrehungsvorschub und konstante   Spindeldrehzahl einfrieren PGsl G973 Umdrehungsvorschub ohne...
  • Seite 852 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl GOTOB Sprunganweisung rückwärts (Richtung Programm-Anfang) Programmsprünge auf Sprungmarken (GOTOB, GOTOF, GOTO, GOTOC) [Seite 94]  PGAsl GOTOC Wie GOTO, aber Alarm 14080 "Sprungziel nicht gefunden" Programmsprünge auf Sprungmarken (GOTOB, unterdrücken GOTOF, GOTO, GOTOC) [Seite 94]  PGAsl GOTOF Sprunganweisung vorwärts (Richtung...
  • Seite 853 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl Einleitung eines bedingten Sprungs im Teileprogramm / Technologiezyklus Programmschleife mit Alternative (IF, ELSE, ENDIF) [Seite 107]  PGAsl INDEX Index eines Zeichens im Eingangsstring bestimmen Zeichen/String in String suchen (INDEX, RINDEX, MINDEX, MATCH) [Seite 81]  PGAsl INIPO Initialisierung der Variablen bei...
  • Seite 854 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl ISAXIS Prüfen, ob die als Parameter angegebene Geometrieachse 1 ist Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Seite 679]  PGAsl Eintauchtiefe Aktivierung von 3D-Werkzeugkorrekturen (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF, ISD) [Seite 421]  PGAsl ISFILE Prüfen, ob eine Datei im NCK-...
  • Seite 855 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl LEADOF Leitwerkkopplung AUS Axiale Leitwertkopplung (LEADON, LEADOF) [Seite 530]  PGAsl LEADON Leitwerkkopplung EIN Axiale Leitwertkopplung (LEADON, LEADOF) [Seite 530]  FB1(W1) LENTOAX Liefert Informationen über die Zuordnung der Werkzeuglängen L1, L2 und L3 des aktiven Werkzeugs zur Abszisse, Ordinate und Applikate PGsl Schnellrückzug für Gewindeschneiden...
  • Seite 856 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Programmierter Halt   PGsl Wahlweiser Halt   PGsl Programmende Hauptprogramm mit Rücksetzen auf Programmanfang   PGsl Spindeldrehrichtung rechts   PGsl Spindeldrehrichtung links   PGsl Spindel halt   PGsl Werkzeugwechsel   PGsl Unterprogrammende  ...
  • Seite 857 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl MATCH Suchen eines String im String Zeichen/String in String suchen (INDEX, RINDEX, MINDEX, MATCH) [Seite 81]  PGAsl MAXVAL Größerer Wert zweier Variablen (arithm. Funktion) Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) [Seite 71]  PGAsl MCALL Modaler Unterprogrammaufruf...
  • Seite 858 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl MODAXVAL Modulo-Position einer Modulo- Rundachse ermitteln Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) [Seite 679]  PGAsl Positionierachse starten Achse starten/stoppen (MOV) [Seite 609]  PGsl Programmierbare Meldungen   MVTOOL Sprachbefehl zum Bewegen eines Werkzeugs PGsl NC-Nebensatznummer...
  • Seite 859 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe OMA1 OEM-Adresse 1 OMA2 OEM-Adresse 2 OMA3 OEM-Adresse 3 OMA4 OEM-Adresse 4 OMA5 OEM-Adresse 5 PGAsl Logischer Operator, ODER- Verknüpfung Vergleichs- und logische Operationen [Seite 67] PGAsl ORIAXES Lineare Interpolation der Maschinenachsen oder Programmierung der Orientierungsachsen (ORIAXES, Orientierungsachsen ORIVECT, ORIEULER, ORIRPY, ORIRPY2,...
  • Seite 860 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl ORIMKS Werkzeugorientierung im Maschinen- Koordinatensystem Bezug der Orientierungsachsen (ORIWKS, ORIMKS) [Seite 344]  PGAsl ORIPATH Werkzeugorientierung bezogen auf die Bahn Bahnrelative Drehung der Werkzeugorientierung (ORIPATH, ORIPATHS, Drehwinkel) [Seite 361]  PGAsl ORIPATHS Werkzeugorientierung bezogen auf die Bahn, ein Knick im Orientierungsverlauf Bahnrelative Drehung der Werkzeugorientierung wird geglättet...
  • Seite 861 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl ORIVECT Großkreisinterpolation (identisch mit ORIPLANE) Programmierung der Orientierungsachsen (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Seite 346]  PGAsl ORIVIRT1 Orientierungswinkel über virtuelle Orientierungsachsen (Definition 1) Programmierung der Orientierungsachsen (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) [Seite 346] ...
  • Seite 862 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl Glättung der Werkzeugorientierung am Satzende Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Seite 435]  PGAsl OSSE Glättung der Werkzeugorientierung am Satzanfang und Satzende Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) [Seite 435]  PGAsl Überschleifen der Werkzeugorientierung durch Vorgabe...
  • Seite 863 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl 1. B-Spline: Knoten­abstand 2. Polynom-Interpolation: Länge des 1. Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, Parameterintervalls bei Polynom- BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Interpolation PL) [Seite 246] 2. Polynom-Interpolation (POLY, POLYPATH, PO, PL) [Seite 263] PGsl pro Minute...
  • Seite 864 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl POSP Positionieren in Teilstücken (Pendeln)   PGAsl POSRANGE Ermitteln, ob sich die aktuell interpolierte Sollposition einer Achse in Position im vorgegebenen Referenzbereich einem Fenster um eine vorgegebene (POSRANGE) [Seite 608]  Referenzposition befindet PGAsl Quadrat (Arithmetische Funktion)
  • Seite 865 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl Schnelle Zusatz- (Hilfs-)funktionsausgabe   PGAsl R... Rechenparameter auch als einstellbarer Adressbezeichner und mit Vordefinierte Anwendervariablen: Rechenparameter (R) numerischer Erweiterung [Seite 21]  PGsl Absolut satzweise achsspezifische Radiusprogrammierung   PGAsl RDISABLE Einlesesperre Einlesesperre setzen (RDISABLE) [Seite 587]  PGAsl READ Liest in der angegebenen Datei eine...
  • Seite 866 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl REPOSQ Wiederanfahren an die Kontur im Viertelkreis Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) [Seite 486]  PGAsl REPOSQA Wiederanfahren an die Kontur linear mit allen Achsen;...
  • Seite 867 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl ROUND Runden der Nachkommastellen Rechenfunktionen [Seite 64]  PGAsl ROUNDUP Aufrunden eines Eingabewerts Aufrunden (ROUNDUP) [Seite 160]  PGsl Polarradius   PGsl Drehung in der Ebene   PGAsl Parameter für Zugriff auf Framedaten: Drehung Framekomponenten lesen und verändern (TR, FI, RT, SC, MI) [Seite 301] ...
  • Seite 868 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl SEFORM Strukturierungs­anweisung im Stepeditor, um daraus die Strukturierungsanweisung im Stepeditor (SEFORM) Schrittansicht für HMI Advanced zu [Seite 227]  generieren PGAsl Schlüsselwort zur Initialisierung aller Elemente eines Feldes mit Definition und Initialisierung von Feldvariablen (DEF, aufgelisteten Werten SET, REP) [Seite 47] ...
  • Seite 869 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe FBSIsl SIRELTIME Timer des Funktionsbausteins initialisieren PGAsl SLOT1 Technologischer Zyklus: Längsnut Längsnut - SLOT1 [Seite 776] PGAsl SLOT2 Technologischer Zyklus: Kreisnut Kreisnut - SLOT2 [Seite 779] PGsl SOFT Ruckbegrenzte Bahnbeschleunigung   PGsl SOFTA Ruckbegrenzte Achsbeschleunigung für die programmierten Achsen  ...
  • Seite 870 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl SPOSA Spindelposition über Satzgrenzen hinweg   PGAsl Länge einer Teilstrecke Automatische Wegaufbereitung [Seite 670]  PGAsl SPRINT Liefert einen Eingangsstring formatiert zurück String formatieren (SPRINT) [Seite 84] PGAsl SQRT Quadratwurzel (arithmetische Funktion) Rechenfunktionen [Seite 64]  (square root) PGsl Pendelrückzugsweg für Synchronaktion...
  • Seite 871 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl STRINGIS Prüft vorhandenen NC-Sprachumfang und speziell für diesen Befehl Vorhandenen NC-Sprachumfang prüfen (STRINGIS) gehörende NC-Zyklennamen, [Seite 695]  Anwendervariablen, Makros und Labelnamen, ob diese existieren, gültig, definiert oder aktiv sind. PGAsl STRINGVAR Selektion eines Einzelzeichens aus dem progr.
  • Seite 872 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl TANGON Tangentielles Nachführen EIN Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) [Seite 463]  Werkzeuganwahl / Werkzeugwechsel (828D: _TCA) unabhängig vom Status des Werkzeugs PGAsl TCARR Werkzeugträger (Nummer "m") anfordern Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) [Seite 451] ...
  • Seite 873 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl Bezeichnet den Endwert in einer FOR- Zählschleife Zählschleife (FOR ... TO ..., ENDFOR) [Seite 110]  PGsl TOFF Werkzeuglängen-Offset in Richtung der Werkzeuglängenkomponente, die   parallel zu der im Index angegebenen Geometrieachse wirkt. PGsl TOFFL Werkzeuglängen-Offset in Richtung der...
  • Seite 874 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl TOROTZ wie TOROT   PGAsl TOUPPER Buchstaben eines Strings in Großbuchstaben wandeln Wandlung in Klein-/Großbuchstaben (TOLOWER, TOUPPER) [Seite 79]  PGAsl TOWBCS Verschleißwerte im Basiskoordinatensystem (BKS) Koordinatensystem der aktiven Bearbeitung (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) [Seite 412] ...
  • Seite 875 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGsl TRANS Programmierbare Verschiebung   PGAsl TRANSMIT Polar-Transformation (Stirnflächenbearbeitung) Fräsbearbeitung an Drehteilen (TRANSMIT) [Seite 371]  PGAsl TRAORI 4-, 5-Achstransformation, Generische Transformation Drei, Vier, und Fünf- Achs-Transformation (TRAORI) [Seite 332]  PGAsl TRUE Logische Konstante: wahr Definition von Anwendervariablen (DEF) [Seite 25] ...
  • Seite 876 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl WAITM Warten auf Marker im angegebenen Kanal; vorhergehenden Satz mit Programmkoordinierung (INIT, START, WAITM, Genauhalt beenden. WAITMC, WAITE, SETM, CLEARM) [Seite 115]  PGAsl WAITMC Warten auf Marker im angegeben. Kanal; Genauhalt nur, wenn die Programmkoordinierung (INIT, START, WAITM, anderen Kanäle den Marker noch nicht WAITMC, WAITE, SETM, CLEARM) [Seite 115] ...
  • Seite 877 Tabellen 17.1 Anweisungen Anweisung Bedeutung Beschreibung siehe PGAsl WHILE Beginn der WHILE-Programmschleife Programmschleife mit Bedingung am Schleifenanfang (WHILE, ENDWHILE) [Seite 112]  PGAsl WRITE Text ins Dateisystem schreiben. Fügt einen Satz am Ende der Datei schreiben (WRITE) [Seite 140] angegebenen Datei an. PGAsl WRTPR Verzögert den Bearbeitungsauftrag...
  • Seite 878: Anweisungen: Verfügbarkeit Bei Sinumerik 828D

    Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ● ● ● ● ● ● ● ● ●...
  • Seite 879 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen APRP ● ● ● ● ● ● ● ● ● ● ● ● APWB ●...
  • Seite 880 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen BRISK ● ● ● ● ● ● BRISKA ● ● ● ● ● ● BSPLINE ○...
  • Seite 881 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen COARSEA ● ● ● ● ● ● COMPCAD ○ ○ ○ COMPCURV ○ ○ ○...
  • Seite 882 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen CTABISLOCK CTABLOCK CTABMEMTYP CTABMPOL CTABMSEG CTABNO CTABNOMEM CTABPERIOD CTABPOL CTABPOLID CTABSEG CTABSEGID CTABSEV CTABSSV CTABTEP CTABTEV CTABTMAX...
  • Seite 883 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ● ● ● ● ● ● DEFINE ● ● ● ● ● ● DEFAULT ●...
  • Seite 884 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen DYNROUGH ● ● ● ● ● ● DYNSEMIFIN ● ● ● ● ● ● DZERO ●...
  • Seite 885 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen FCUB ● ● ● ● ● ● ● ● ● ● ● ● ● ●...
  • Seite 886 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●...
  • Seite 887 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ● ● ● ● ● ● ● ● ● ● ● ● G110 ● ●...
  • Seite 888 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen G710 ● ● ● ● ● ● G751 ● ● ● ● ● ● G810 ...
  • Seite 889 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ICYCON ● ● ● ● ● ● ● ● ● ● ● ● ● ●...
  • Seite 890 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen LEAD Werkzeugorientierung Orientierungspolyn. LEADOF LEADON LENTOAX ● ● ● ● ● ● LFOF ● ●...
  • Seite 891 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen MEAC MEAFRAME ● ● ● ● ● ● MEAS ● ● ● ● ● ●...
  • Seite 892 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ORICONCCW ORICONCW ORICONIO ORICONTO ORICURVE ORID ORIEULER ORIMKS ORIPATH ORIPATHS ORIPLANE ORIRESET ORIROTA ORIROTC ORIROTR ORIROTT ORIRPY...
  • Seite 893 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen OST1 OST2 OTOL ● ● ● ● ● ● ● ● ● OVRA ● ●...
  • Seite 894 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ● ● ● ● ● ● PTPG0 ● ● ● ● ● ● PUNCHACC PUTFTOC ●...
  • Seite 895 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ROUNDUP ● ● ● ● ● ● ● ● ● ● ● ● ● ●...
  • Seite 896 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen SONS SPATH ● ● ● ● ● ● SPCOF ● ● ● ● ● ●...
  • Seite 897 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen ● ● ● ● ● ● TANG TANGDEL TANGOF TANGON (828D: _TCA) ● ● ●...
  • Seite 898 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen TOWMCS ● ● ● TOWSTD ● ● ● TOWTCS ● ● ● TOWWCS ● ●...
  • Seite 899 Tabellen 17.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D 828D-Steuerungsvariante Anweisung PPU240.2 / 241.2 PPU260.2 / 261.2 PPU280.2 / 281.2 basic T basic M Drehen Fräsen Drehen Fräsen WALCS7 ● ● ● ● ● ● WALCS8 ● ● ● ● ● ● WALCS9 ●...
  • Seite 900: Aktuelle Sprache Im Hmi

    Tabellen 17.3 Aktuelle Sprache im HMI 17.3 Aktuelle Sprache im HMI Die folgende Tabelle enthält alle auf der Bedienoberfläche verfügbaren Sprachen. Die aktuell eingestellte Sprache ist im Teileprogramm und in Synchronaktionen über folgende Systemvariable abfragbar: $AN_LANGUAGE_ON_HMI = <Wert> <Wert> Sprache Sprachkürzel Deutsch (Deutschland) Französisch...
  • Seite 901: Anhang

    Anhang Liste der Abkürzungen Ausgang Automatisierungssystem ASCII American Standard Code for Information Interchange: Amerikanische Code-Norm für den Informationsaustausch ASIC Application Specific Integrated Circuit: Anwender-Schaltkreis ASUP Asynchrones Unterprogramm Arbeitsvorbereitung Anweisungsliste Betriebsart Betriebsartengruppe Betriebsbereit BuB, B&B Bedienen und Beobachten Binary Coded Decimals: Im Binärcode verschlüsselte Dezimalzahlen Bedienhandgerät Binärdateien (Binary Files) BIOS...
  • Seite 902 Anhang A.1 Liste der Abkürzungen Direct Control: Bewegung der Rundachse auf kürzestem Weg auf die absolute Position innerhalb einer Umdrehung Carrier Detect Dynamic Data Exchange Datenendeinrichtung Deutsche Industrie Norm Data Input/Output: Datenübertragungs-Anzeige Directory: Verzeichnis Dynamic Link Library Datenübertragungseinrichtung Disk Operating System Dual Port Memory Dual-Port-RAM DRAM...
  • Seite 903 Anhang A.1 Liste der Abkürzungen Hard Disk: Festplatte Kurzbezeichnung für hexadezimale Zahl HiFu Hilfsfunktion Human Machine Interface: Bedienfunktionalität der SINUMERIK für Bedienen, Programmieren und Simulieren. Hochauflösendes Messsystem Hauptspindelantrieb Hardware Inbetriebnahme Impulsfreigabe des Antriebsmoduls IK (GD) Implizite Kommunikation (Globale Daten) Interpolative Compensation: Interpolatorische Kompensation Interface-Modul: Anschaltungsbaugruppe Interface-Modul Receive: Anschaltungsbaugruppe für Empfangsbetrieb Interface-Modul Send: Anschaltungsbaugruppe für Sendebetrieb...
  • Seite 904 Anhang A.1 Liste der Abkürzungen Microsoft (Software-Hersteller) MSTT Maschinensteuertafel Numerical Control: Numerische Steuerung Numerical Control Kernel: Numerik-Kern mit Satzaufbereitung, Verfahrbereich usw. Numerical Control Unit: Hardware Einheit des NCK Bezeichnung des Betriebssystems des NCK Nahtstellensignal NURBS Non-Uniform Rational B-Spline Nullpunktverschiebung Organisationsbaustein in der PLC Original Equipment Manufacturer Operation Panel: Bedieneinrichtung Operation Panel Interface: Bedientafel-Anschaltung...
  • Seite 905 Anhang A.1 Liste der Abkürzungen Skip: Satz ausblenden Schrittmotor Sub Program File: Unterprogramm Speicherprogrammierbare Steuerung SRAM Statischer Speicher (gepuffert) Schneidenradiuskorrektur SSFK Spindelsteigungsfehlerkompensation Serial Synchron Interface: Serielle synchrone Schnittstelle Software System Files: Systemdateien Testing Data Active: Kennung für Maschinendaten Tool Offset: Werkzeugkorrektur Tool Offset Active: Kennzeichnung (Dateityp) für Werkzeugkorrekturen TRANSMIT Transform Milling into Turning: Koordinatenumrechnung an Drehmaschinen für...
  • Seite 906: Dokumentationsübersicht

    Anhang A.2 Dokumentationsübersicht Dokumentationsübersicht Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 907 Anhang A.2 Dokumentationsübersicht Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 908 Anhang A.2 Dokumentationsübersicht Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 909: Glossar

    Glossar Absolutmaß Angabe des Bewegungsziels einer Achsbewegung durch ein Maß, das sich auf den Nullpunkt des momentan gültigen Koordinatensystems bezieht. Siehe →  Kettenmaß. Achsadresse Siehe →  Achsbezeichner Achsbezeichner Achsen werden nach DIN 66217 für ein rechtsdrehendes, rechtwinkliges →  Koordinatensystem bezeichnet mit X, Y, Z. Um X, Y, Z drehende →...
  • Seite 910 Glossar Alarme Alle → Meldungen und Alarme werden auf der Bedientafel im Klartext mit Datum und Uhrzeit und dem entsprechenden Symbol für das Löschkriterium angezeigt. Die Anzeige erfolgt getrennt nach Alarmen und Meldungen. 1. Alarme und Meldungen im Teileprogramm Alarme und Meldungen können direkt aus dem Teileprogramm im Klartext zur Anzeige gebracht werden.
  • Seite 911 Glossar Arbeitsfeldbegrenzung Mit der Arbeitsfeldbegrenzung kann der Verfahrbereich der Achsen zusätzlich zu den Endschaltern eingeschränkt werden. Je Achse ist ein Wertepaar zur Beschreibung des geschützten Arbeitsraumes möglich. Arbeitsraum Dreidimensionaler Raum, in den die Werkzeugspitze aufgrund der Konstruktion der Werkzeugmaschine hineinfahren kann. Siehe →  Schutzraum. Arbeitsspeicher Der Arbeitsspeicher ist ein RAM-Speicher in der →...
  • Seite 912 Glossar Bahnvorschub Bahnvorschub wirkt auf → Bahnachsen. Er stellt die geometrische Summe der Vorschübe der beteiligten →  Geometrieachsen dar. Basisachse Achse, deren Soll- oder Istwert für die Berechnung eines Kompensationswertes herangezogen wird. Basiskoordinatensystem Kartesisches Koordinatensystem, wird durch Transformation auf das Maschinenkoordinatensystem abgebildet.
  • Seite 913 Glossar Betriebsart Ablaufkonzept für den Betrieb einer SINUMERIK-Steuerung. Es sind die Betriebsarten →  Jog, →  MDA, →  Automatik definiert. Betriebsartengruppe Technologisch zusammengehörige Achsen und Spindeln können zu einer Betriebsartengruppe (BAG) zusammengefasst werden. Achsen/Spindeln einer BAG können von einem oder mehreren →  Kanälen gesteuert werden. Den Kanälen der BAG ist immer die gleiche →...
  • Seite 914 Glossar Datenbaustein 1. Dateneinheit der →  PLC, auf die →  HIGHSTEP-Programme zugreifen können. 2. Dateneinheit der →  NC: Datenbausteine enthalten Datendefinitionen für globale Anwenderdaten. Die Daten können bei der Definition direkt initialisiert werden. Datenübertragungsprogramm PCIN PCIN ist ein Hilfsprogramm zum Senden und Empfangen von CNC-Anwenderdaten über die serielle Schnittstelle, wie z. B.
  • Seite 915 Glossar Festpunkt-Anfahren Werkzeugmaschinen können feste Punkte wie Werkzeugwechselpunkt, Beladepunkt, Palettenwechselpunkt etc. definiert anfahren. Die Koordinaten dieser Punkte sind in der Steuerung hinterlegt. Die Steuerung verfährt die betroffenen Achsen, wenn möglich, im →  Eilgang. Frame Ein Frame stellt eine Rechenvorschrift dar, die ein kartesisches Koordinatensystem in ein anderes kartesisches Koordinatensystem überführt.
  • Seite 916 Glossar Geschwindigkeitsführung Um bei Verfahrbewegungen um sehr kleine Beträge je Satz eine akzeptable Verfahrgeschwindigkeit erreichen zu können, kann vorausschauende Auswertung über mehrere Sätze ( →  Look Ahead) eingestellt werden. Gewindebohren ohne Ausgleichsfutter Mit dieser Funktion können Gewinde ohne Ausgleichsfutter gebohrt werden. Durch das interpolierende Verfahren der Spindel als Rundachse und der Bohrachse werden Gewinde exakt auf Endbohrtiefe geschnitten, z. B.
  • Seite 917: Kettenmaß

    Glossar Hochsprache CNC Die Hochsprache bietet: →  Anwenderdefinierte Variable, →  Systemvariable, →  Makrotechnik. Interpolator Logische Einheit des →  NCK, die nach Angaben von Zielpositionen im Teileprogramm Zwischenwerte für die in den einzelnen Achsen zu fahrenden Bewegungen bestimmt. Interpolatorische Kompensation Mit Hilfe der interpolatorischen Kompensation können fertigungsbedingte Spindelsteigungsfehler und Messsystemfehler kompensiert werden (SSFK, MSFK).
  • Seite 918 Glossar Kompensationstabelle Tabelle von Stützpunkten. Sie liefert für ausgewählte Positionen der Basisachse die Kompensationswerte der Kompensationsachse. Kompensationswert Differenz zwischen der durch den Messgeber gemessenen Achsposition und der gewünschten, programmierten Achsposition. Kontur Umriss des →  Werkstücks Konturüberwachung Als Maß für die Konturtreue wird der Schleppfehler innerhalb eines definierbaren Toleranzbandes überwacht.
  • Seite 919 Glossar Ladespeicher Der Ladespeicher ist bei der CPU 314 der →  SPS gleich dem →  Arbeitsspeicher. Linearachse Die Linearachse ist eine Achse, welche im Gegensatz zur Rundachse eine Gerade beschreibt. Look Ahead Mit der Funktion Look Ahead wird durch das "Vorausschauen" über eine parametrierbare Anzahl von Verfahrsätzen ein Optimum an Bearbeitungsgeschwindigkeit erzielt.
  • Seite 920: Nebensatz

    Glossar Maßangabe metrisch und inch Im Bearbeitungsprogramm können Positions- und Steigungswerte in inch programmiert werden. Unabhängig von der programmierbaren Maßangabe (G70/G71) wird die Steuerung auf ein Grundsystem eingestellt. Masse Als Masse gilt die Gesamtheit aller untereinander verbundenen inaktiven Teile eines Betriebsmittels, die auch im Fehlerfall keine gefährliche Berührungsspannung annehmen können.
  • Seite 921: Nullpunktverschiebung

    Glossar Netz Ein Netz ist die Verbindung von mehreren S7-300 und weiteren Endgeräten, z. B. einem PG, über →  Verbindungskabel. Über das Netz erfolgt ein Datenaustausch zwischen den angeschlossenen Geräten. Numeric Robotic Kernel (Betriebssystem des →  NCK) Nullpunktverschiebung Vorgabe eines neuen Bezugspunktes für ein Koordinatensystem durch Bezug auf einen bestehenden Nullpunkt und ein →...
  • Seite 922 Glossar Orientierter Werkzeugrückzug RETTOOL: Bei Bearbeitungsunterbrechungen (z. B. bei Werkzeugbruch) kann das Werkzeug per Programmbefehl mit vorgebbarer Orientierung um einen definierten Weg zurückgezogen werden. Override Manuelle bzw. programmierbare Eingriffsmöglichkeit, die es dem Bediener gestattet, programmierte Vorschübe oder Drehzahlen zu überlagern, um sie einem bestimmten Werkstück oder Werkstoff anzupassen.
  • Seite 923: Programmebene

    Glossar Positionierachse Achse, die eine Hilfsbewegung an einer Werkzeugmaschine ausführt. (z. B. Werkzeugmagazin, Palettentransport). Positionierachsen sind Achsen, die nicht mit den →  Bahnachsen interpolieren. Programmbaustein Programmbausteine enthalten die Haupt- und Unterprogramme der →  Teileprogramme. Programmebene Ein im Kanal gestartetes Teileprogramm läuft als →  Hauptprogramm auf Programmebene 0 (Hauptprogramm-Ebene).
  • Seite 924 Glossar Referenzpunkt Punkt der Werkzeugmaschine, auf den sich das Messsystem der →  Maschinenachsen bezieht. Rohteil Teil, mit dem die Bearbeitung eines Werkstücks begonnen wird. Rotation Komponente eines →  Frames, die eine Drehung des Koordinatensystems um einen bestimmten Winkel definiert. R-Parameter Rechenparameter, kann vom Programmierer des →...
  • Seite 925: Schrägenbearbeitung

    Glossar Schneidenradiuskorrektur Bei der Programmierung einer Kontur wird von einem spitzen Werkzeug ausgegangen. Da dies in der Praxis nicht realisierbar ist, wird der Krümmungsradius des eingesetzten Werkzeugs der Steuerung angegeben und von dieser berücksichtigt. Dabei wird der Krümmungsmittelpunkt um den Krümmungsradius verschoben äquidistant um die Kontur geführt.
  • Seite 926: Sicherheitsfunktionen

    Glossar Serielle Schnittstelle V.24 Für die Dateneingabe/-ausgabe ist auf der PCU 20 eine serielle V.24-Schnittstelle (RS232), auf der PCU 50/70 sind zwei V.24-Schnittstellen vorhanden. Über diese Schnittstellen können Bearbeitungsprogramme sowie Hersteller- und Anwenderdaten geladen und gesichert werden. Settingdaten Daten, die Eigenschaften der Werkzeugmaschine auf durch die Systemsoftware definierte Weise der NC-Steuerung mitteilen.
  • Seite 927 Glossar Spiegelung Bei Spiegelung werden die Vorzeichen der Koordinatenwerte einer Kontur bezüglich einer Achse vertauscht. Es kann bezüglich mehrerer Achsen zugleich gespiegelt werden. Spindelsteigungsfehler-Kompensation Ausgleich mechanischer Ungenauigkeiten einer am Vorschub beteiligten Kugelrollspindel durch die Steuerung anhand von hinterlegten Messwerten der Abweichungen. Spline-Interpolation Mit der Spline-Interpolation kann die Steuerung aus nur wenigen vorgegebenen Stützpunkten einer Sollkontur einen glatten Kurvenverlauf erzeugen.
  • Seite 928 Glossar Systemspeicher Der Systemspeicher ist ein Speicher in der CPU, in der folgende Daten abgelegt werden: • Daten, die das Betriebssystem benötigt • die Operanden Zeiten, Zähler, Merker Systemvariable Ohne Zutun des Programmierers eines →  Teileprogramms existierende Variable. Sie ist definiert durch einen Datentyp und dem Variablennamen, der durch das Zeichen $ eingeleitet wird.
  • Seite 929: Urlöschen

    Glossar Transformation Additive oder absolute Nullpunktsverschiebung einer Achse. Unterprogramm Die Bezeichnung Unterprogramm stammt noch aus der Zeit, als Teileprogramm fest in → Haupt- und Unterprogramme unterteilt waren. Diese feste Einteilung besteht mit der heutigen SINUMERIK NC-Sprache nicht mehr. Prinzipiell kann jedes Teileprogramm oder jeder →  Zyklus innerhalb eines anderen Teileprogramms als Unterprogramm aufgerufen werden.
  • Seite 930: Vorschub-Override

    Glossar Vorschub-Override Der programmierten Geschwindigkeit wird die aktuelle Geschwindigkeitseinstellung über →  Maschinensteuertafel oder von der →  PLC überlagert (0-200%). Die Vorschubgeschwindigkeit kann zusätzlich im Bearbeitungsprogramm durch einen programmierbaren Prozentfaktor (1-200%) korrigiert werden. Vorsteuerung, dynamisch Ungenauigkeiten der →  Kontur, bedingt durch Schleppfehler, lassen sich durch die dynamische, beschleunigungsabhängige Vorsteuerung nahezu eliminieren.
  • Seite 931: Zeitreziproker Vorschub

    Glossar WinSCP WinSCP ist ein frei verfügbares Open Source-Programm für Windows zum Transferieren von Dateien. Zeitreziproker Vorschub Bei SINUMERIK 840D kann anstelle der Vorschubgeschwindigkeit für die Achsbewegung die Zeit programmiert werden, die der Bahnweg eines Satzes benötigen soll (G93). Zoll-Maßsystem Maßsystem, das Entfernungen in "inch" und Bruchteilen davon definiert. Zwischensätze Verfahrbewegungen mit angewählter →...
  • Seite 932 Glossar Arbeitsvorbereitung Programmierhandbuch, 02/2011, 6FC5398-2BP40-1AA0...
  • Seite 933 Index Symbole $AN_POWERON_TIME $AN_SETUP_TIME * (Rechenfunktion) $MC_COMPESS_VELO_TOL / (Rechenfunktion) $P_AD + (Rechenfunktion) $P_CTOL =(b2, b3, b4, b5) $P_CUT_INV =(xe, x2, x3, x4, x5) $P_CUTMOD =(ye, y2, y3, y4, y5) $P_CUTMOD_ANG =(ze, z2, z3, z4, z5) $P_OTOL =(a2, a3, a4, a5) $P_SIM == (Vergleichsoperator) $P_STOLF...
  • Seite 934: Numerisch

    Index Numerisch Achstausch Achse freigeben 0-Zeichen Achse übernehmen 3D-Stirnfräsen ohne Synchronisierung Bahnkrümmung über Flächennormalenvektoren ohne Vorlaufstopp über Synchronaktionen anfordern und freigeben 3D-Umfangsfräsen mit Begrenzungsflächen 3D-Werkzeugkorrektur Verhalten veränderbar einstellen Bahnkrümmung Voraussetzungen Eintauchtiefe ACOS Korrektur auf der Bahn AC-Regelung, additiv Schnittpunktverfahren AC-Regelung, multiplikativ Werkzeugorientierung ACTBLOCNO 3D-Werkzeugkorrrektur...
  • Seite 935 Index Ausgabe BNAT auf externes Gerät/Datei Bohren - CYCLE82 Auslastungsauswertung Bohrgewinde fräsen - CYCLE78 Ausschaltposition BOOL Auswertefunktion BOUND Automatische Wegaufteilung BSPLINE Automatischer Unterbrechungszeiger B-Spline Automatisches "GET" BTAN AXCTSWE AXCTSWEC AXCTSWED Axiale Leitwertkopplung Axialer Vorschub AXIS AXNAME AXSTRING AXTOCHAN CACN AXTOSPI CACP CALCDAT CALL...
  • Seite 936 Index COUPOFS CYCLE_HSC COUPON CYCLE60 COUPONC CYCLE61 COUPRES CYCLE62 CYCLE63 CPROT CYCLE64 CPROTDEF CYCLE70 CROT CYCLE72 CSCALE CYCLE76 CSPLINE CYCLE77 C-Spline CYCLE78 CYCLE79 CTAB CYCLE800 CTABDEF CYCLE801 CTABDEL CYCLE802 CTABEND CYCLE81 CTABEXISTS CYCLE82 CTABFNO CYCLE83 CTABFPOL CYCLE832 CTABFSEG CYCLE84 CTABID CYCLE840 CTABINV CYCLE85...
  • Seite 937 Index D-Nummer ESRS frei vergeben ETAN D-Nummern EVERY prüfen EXECSTRING umbenennen EXECTAB EXECUTE Drehachsen Abstandsvektoren l1, l2 EXTCALL Richtungsvektoren V1, V2 EXTCLOSE Drehungen des Orientierungsvektors programmieren EXTERN über THETA Externe Nullpunktverschiebung Drehwinkel EXTOPEN EAUTO Eckenverzögerung an allen Ecken Eckenverzögerung an Innenecken FAchse Fachse Elektronisches Getriebe...
  • Seite 938 Index Frame-Berechnung MEAFRAME GETACTTD Framekompnente GETD GETDNO Framekomponente Gewindebohren mit Ausgleichsfutter - CYCLE840 Gewindebohren ohne Ausgleichsfutter - CYCLE84 Gewindedrehen - CYCLE99 Gewindefräsen - CYCLE70 FramekomponenteRT Gewindekette - CYCLE98 Frames Glättung Frameketten des Orientierungsverlaufs zuweisen Glättung des Orientierungsverlaufs Framevariable GOTO Aufruf von Koordinatentransformationen GOTOB Definition neuer Frames GOTOC...
  • Seite 939 Index Indirekte Programmierung Kinematische Transformation TRANSMIT, TRACYL INICF und TRAANG INIPO Kommandoachsen INIRE Kompensationskennlinien einlernen INIT Kompressor INITIAL Kontroll INITIAL_INI -strukturen Initialisierung Kontur von Feldern -aufbereitung von Feld-Variablen -codierung Initialisierungsprogramm -tabelle Wiederanfahren Interpolation des Drehvektors Konturaufbereitung Interruptroutine Fehlerrückmeldung Aus-/Einschalten Konturaufruf - CYCLE62 Löschen Konturelement Modale G-Funktionen sichern...
  • Seite 940 Index Ist- und Sollwertkopplung Modaler Unterprogrammaufruf Synchronisation Leit- und Folgeachse MODAXVAL Leitwertsimulation LIFTFAST Linkachse LLIMIT LOCK Logische Operatoren LONGHOLE NC-Satz-Kompressor LOOP NCU-globale Basisframes Lose NCU-globale Einstellbare Frames Nennerpolynom NEWCONF Nibbeln $TC_CARR18 NPROT NPROTDEF Nullpunktverschiebung Makro Externe Nullpunktverschiebung MASLDEF PRESETON MASLDEL NUMBER MASLOF NUT=winkel...
  • Seite 941 Index -interpolation Orientierungsachsen P... Orientierungsinterpolation Parameter Orientierungsprogrammierung Aktual- Orientierungstransformation TRAORI Formal- Generische 5/6-Achs Transformation -übergabe bei Unterprogrammaufruf Maschinenkinematik -übergabe beim Unterprogrammaufruf Orientierungsprogrammieung Werkzeug- Varianten der Orientierungsprogrammieung PCALL Verfahbewegungen und Orientierungsbewegungen PDELAYOF PDELAYON ORIEULER Pendelbewegung ORIMKS Umkehrbereich ORIPATH Zustellung unterdrücken ORIPATHS Pendelbwegung ORIPLANE Umkehrpunkt...
  • Seite 942 Index POSP POSRANGE Quadrantenfehlerkompensation Lernvorgang aktivieren PREPRO Lernvorgang ausschalten PRESETON Nachlernen Preset-Verschiebung PRIO PRLOC PROC R... Programm Randbedingungen bei Transformationen Initialisierungs- RDISABLE -laufzeiten READ -speicher REAL -sprünge Rechenparameter -verzweigung -nummer n -wiederholung Rechenparameter (R) Programmierbefehle Rechtecktasche - POCKET3 Liste Rechteckzapfen - CYCLE76 Programmkoordinierung REDEF Kanalnamen...
  • Seite 943 STAT SEFORM Stations-/Lagewechsel Seitwärtswinkel Stirnfräsen Servo-Parametersatz STOLF programmierbar STOPFIFO STOPRE SETAL STOPREOF SETDNO STRING SETINT String SETM formatieren SIEMENS-Zyklen -länge Simulation -operationen -Verkettung Singuläre Stellen STRINGIS SLOT1 STRINGVAR SLOT2 STRLEN Sollwertkopplung SUBSTR Suchpfad SONS bei Unterprogrammaufruf SPATH beim Unterprogrammaufruf Arbeitsvorbereitung...
  • Seite 944 Index Programmierbarer Suchpfad TCOFRX Suchunfähige Bereiche erfassen und suchen TCOFRY SW-Endschalter TCOFRZ Synchronaktion Technologiezyklen abbrechen Default-Parameter mit Initialwerte Achse positionieren IF-Kotrollstrukturen Aktion in satzweisen Synchronaktionen Bedingung Kaskadierungen Befehlselemente Sprunganweisungen GOTOP, GOTOF, GOTOB Gültigkeitsbereich löschen Unbedingte Sprünge Syntax Zyklische Abarbeitung steuern ICYCOF Synchronaktionen Teilstrecke Aktionen-Übersicht...
  • Seite 945 Index Transformation, Fünf-Achs UNTIL Programmierung der Bahnkrümmung in UPATH Flächennormalenvektoren Programmierung in Eulerwinkeln Programmierung in RPY-Winkeln Programmierung über LEAD/TILT V1,V2 Transformationen Drei-, Vier- und Fünf-Achs-Transformation TRAORI Variable Typenkonvertierung Drei-, Vier-Achstransformationen Variablen Kinematikunabhängige Grundstellung der anwenderdefiniert Werkzeugorientierung -definition Kinematische Transformationen -name Orientierungstransformation -typ verkettete...
  • Seite 946 Index -Parameter Anwenderzyklen parametrieren -radiuskorrektur Zyklenalarme -überwachung, schleifspezifische Zylindermantelkurventransformation Werkzeugkorrektur Offset Kontur-normal OFFN Koordinatensystem für Verschleißwerte Zylindermanteltransformation Korrekturspeicher Online- Werkzeugorientierung Werkzeugradiuskorrektur 3D-Umfangsfräsen ohne Begrenzungsflächen Eckenverzögerung Werkzeugträger Daten löschen/ändern/lesen -kinematik Orientierbare WHEN WHEN-DO WHENEVER WHENEVER-DO WHILE Wiederanfahren an die Kontur Anfahren mit neuem Werkzeug Wiederanfahrpunkt Winkelbezug Winkeloffset/Winkelinkrement der Drehachsen...

Diese Anleitung auch für:

Sinumerik sinumerik 828d

Inhaltsverzeichnis