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.
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: •...
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.
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...
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 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.
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.
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...
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 ⇒...
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>:...
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.
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.
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. •...
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 •...
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>...
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 •...
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...
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 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.
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: →...
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...
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...
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 ;...
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...
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.
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...
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...
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);...
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.
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.
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.
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...
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.
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.
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...
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] ").
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>")
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.
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.
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"...
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] ;...
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.
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: •...
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.
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.
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 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...
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.
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. •...
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 ;...
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.
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:...
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 ;...
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.
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:...
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.
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.
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) ;...
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"...
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.
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"...
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>...
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:...
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] ".
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: •...
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 •...
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.
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) ;...
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.
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) •...
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.
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"...
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.
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"...
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"...
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:...
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"...
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)
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.
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.
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 •...
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.
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 •...
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.
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.
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.
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...
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.
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>...
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...
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.
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)
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...
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.
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...
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;...
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>...
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.
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).
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...
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...
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.
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.
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...
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.
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>...
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:...
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.
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.
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"...
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.
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...
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.
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. •...
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 ;...
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.
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.
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.
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...
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.
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...
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. •...
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...
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.
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.
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.
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 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.
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)
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.
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>)
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 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.
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ß...
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.
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...
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.
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 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...
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 ...
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:...
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.
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.
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...
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:...
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.
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.
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.
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: •...
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%, ;...
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.
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 ...
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:...
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...
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...
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.
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.
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.
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.
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.
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.
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...
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.
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.
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.
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.
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...
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...
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.
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.
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.
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.
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...
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...
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)
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.
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.
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.
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.
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.
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=)"...
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...
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)
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.
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.
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: •...
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...
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...
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.
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...
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: •...
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...
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.
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.
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...
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.
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.
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: •...
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.
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(…)
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;...
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: •...
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)"...
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.
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...
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...
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 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.
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"...
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...
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.
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.
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...
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.
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. •...
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").
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.
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.
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...
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;...
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 ;...
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...
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...
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.
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.
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.
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.
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: •...
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.
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).
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.
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.
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...
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).
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.
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.
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.
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.
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:...
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.
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.
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.
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;...
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...
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]...
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.
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.
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 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.
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"...
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...
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.
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.
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.
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.
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).
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.
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.
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.
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.
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 ;...
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.
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 •...
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.
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.
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: •...
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).
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.
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 ;...
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.
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...
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...
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.
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.
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.
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.
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) ;...
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.
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.
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>...
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...
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.
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.
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.
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.
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...
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.
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.
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.
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.
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.
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.
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.
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:...
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...
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.
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.
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>...
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 ( →...
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 … ;...
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.
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)
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...
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...
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 –...
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...
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>...
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.
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.
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...
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.
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...
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:...
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.
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.
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.
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...
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]=...
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...
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.
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...
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.
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)
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.
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.
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), •...
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.
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. •...
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.
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.
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.
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.
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.
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;...
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 ;...
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.
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.
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)
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.
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...
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.
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 •...
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 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.
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.
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.
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...
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.
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) ;...
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))
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.
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.
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. •...
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.
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...
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...
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.
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...
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.
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.
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 ;...
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]").
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.
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.
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.
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.
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.
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.
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.
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.
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...
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.
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.
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:...
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.
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.
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.
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.
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...
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...
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.
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...
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.
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.
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...
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.
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)] ;...
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).
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.
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: •...
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.
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.
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 •...
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).
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 ;...
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.
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.
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.
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.
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".
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...
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...
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 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...
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]").
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".
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...
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) •...
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.
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: •...
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.
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...
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...
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>...
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 ;...
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...
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.
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...
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...
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)
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...
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...
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...
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...
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.
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.
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...
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.
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.
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...
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...
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...
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...
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...
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...
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...
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...
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)
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.
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...
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...
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...
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...
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...
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...
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...
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 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...
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)
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...
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 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.
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 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 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 Durchmesserprogrammierung für G90 ...
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 - Geschwindigkeitsabnahme 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: Knotenabstand 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 Strukturierungsanweisung 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...
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...
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...
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.
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.
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.
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.
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 →...
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.
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.
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.
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.
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...
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 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...