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 zusammenzustellen: 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.
Seite 5
Vorwort Informationen zu Struktur und Inhalt Programmierhandbuch Grundlagen / 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, 10/2015, 6FC5398-2BP40-5AA3...
Seite 8
Inhaltsverzeichnis 2.9.4 Wandlung in Klein-/Großbuchstaben (TOLOWER, TOUPPER)..........83 2.9.5 Länge eines Strings bestimmen (STRLEN)................83 2.9.6 Zeichen/String in String suchen (INDEX, RINDEX, MINDEX, MATCH)........84 2.9.7 Auswahl eines Teilstrings (SUBSTR)..................85 2.9.8 Lesen und Schreiben von einzelnen Zeichen................86 2.9.9 String formatieren (SPRINT)....................87 2.10 Programmsprünge und -verzweigungen................95 2.10.1 Rücksprung auf Programmanfang (GOTOS).................95 2.10.2...
Seite 9
Inhaltsverzeichnis 2.24.1.6 Parameterübergabe......................153 2.24.2 Definition eines Unterprogramms..................154 2.24.2.1 Unterprogramm ohne Parameterübergabe................154 2.24.2.2 Unterprogramm mit Parameterübergabe Call-by-Value (PROC).........155 2.24.2.3 Unterprogramm mit Parameterübergabe Call-by-Reference (PROC, VAR)......157 2.24.2.4 Modale G-Funktionen sichern (SAVE).................159 2.24.2.5 Einzelsatzbearbeitung unterdrücken (SBLOF, SBLON)............160 2.24.2.6 Aktuelle Satzanzeige unterdrücken (DISPLOF, DISPLON, ACTBLOCNO)......166 2.24.2.7 Unterprogramme mit Vorbereitung kennzeichnen (PREPRO)..........169 2.24.2.8...
Grundlegende Sicherheitshinweise Allgemeine Sicherheitshinweise WARNUNG Lebensgefahr durch Nichtbeachtung von Sicherheitshinweisen und Restrisiken Durch Nichtbeachtung der Sicherheitshinweise und Restrisiken in der zugehörigen Hardware- Dokumentation können Unfälle mit schweren Verletzungen oder Tod auftreten. ● Halten Sie die Sicherheitshinweise der Hardware-Dokumentation ein. ● Berücksichtigen Sie bei der Risikobeurteilung die Restrisiken. WARNUNG Lebensgefahr durch Fehlfunktionen der Maschine infolge fehlerhafter oder veränderter Parametrierung...
Lösungen von Siemens werden unter diesem Gesichtspunkt ständig weiterentwickelt. Siemens empfiehlt, sich unbedingt regelmäßig über Produkt-Updates zu informieren. Für den sicheren Betrieb von Produkten und Lösungen von Siemens ist es erforderlich, geeignete Schutzmaßnahmen (z. B. Zellenschutzkonzept) zu ergreifen und jede Komponente in ein ganzheitliches Industrial Security-Konzept zu integrieren, das dem aktuellen Stand der Technik entspricht.
Flexible NC-Programmierung Variablen Durch die Verwendung von Variablen aus den Bereichen Systemdaten und Anwenderdaten, insbesondere in Verbindung mit Rechenfunktionen und Kontrollstrukturen, können NC- Programme und Zyklen flexibel gestaltet werden. ● Systemdaten In den Systemdaten liegen die im System vordefinierten Variablen. Diese Variablen haben eine definierte Bedeutung.
Flexible NC-Programmierung 2.1 Variablen Hauptlaufvariablen Hauptlaufvariablen sind Systemdaten, die im Kontext des Hauptlaufs, d. h. zum Zeitpunkt der Ausführung des Satzes, in dem die Variable programmiert ist, gelesen oder geschrieben werden. Hauptlaufvariablen sind: ● Variable, die in Synchronaktionen programmiert werden können (Lesen/Schreiben) ●...
Flexible NC-Programmierung 2.1 Variablen Randbedingungen Ausnahmen in der Präfix-Systematik Folgende Systemvariablen weichen von der oben genannten Präfix-Systematik ab: ● $TC_...: Der 2. Buchstabe C verweist hier nicht auf kanalspezifische, sondern auf Werkzeughalter-spezifische Systemvariablen (TC = Tool Carrier) ● $P_ ...: Kanalspezifische Systemvariablen 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...
Flexible NC-Programmierung 2.1 Variablen 2.1.2 Vordefinierte Anwendervariablen: Rechenparameter 2.1.2.1 Kanalspezifische Rechenparameter (R) Kanalspezifische Rechenparameter oder R-Parameter sind vordefinierte Anwendervariablen 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.
Flexible NC-Programmierung 2.1 Variablen Beispiel Zuweisungen an R-Parameter und Verwendung von R-Parametern in mathematischen Funktionen: Programmcode Kommentar R0=3.5678 ; Zuweisung im Vorlauf R[1]=-37.3 ; Zuweisung im Vorlauf R3=-7 ; Zuweisung im Vorlauf $R4=-0.1EX-5 ; Zuweisung im Hauptlauf: R4 = -0.1 * 10^-5 $R[6]=1.874EX8 ;...
Seite 24
Flexible NC-Programmierung 2.1 Variablen Lesen und Schreiben der globalen R-Parameter erfolgt über die Bedienoberfäche oder im NC- Programm im Vorlauf. Eine Verwendung in Synchronaktionen oder Technologiezyklen ist nicht möglich. Hinweis Beim Lesen und Schreiben von globalen R-Parametern erfolgt keine Synchronisation zwischen den Kanälen.
Flexible NC-Programmierung 2.1 Variablen NCU1 NCU1 schreibt in einer statischen Synchronaktion zyklisch im IPO-Takt den Stromistwert der Achse AX2 über die Link-Variable $A_DLR[ 16 ] in den Link-Variablen-Speicher. Programmcode N111 IDS=1 WHENEVER TRUE DO $A_DLR[16]=$VA_CURR[AX2] 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.
Seite 28
Flexible NC-Programmierung 2.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/_N_MGUD_DEF, definiert werden. ● PUD und LUD müssen im Definitionsteil eines NC-Programms definiert werden. ●...
Seite 31
Flexible NC-Programmierung 2.1 Variablen Programmcode Kommentar PROC SUB2 ; Unterprogramm SUB2 DEF INT VAR2 ; LUD-DEFINITION IF (VAR1==1) ; PUD lesen VAR1=VAR1+1 ; PUD lesen und schreiben VAR2=1 ; LUD schreiben ENDIF SUB3 ; Unterprogrammaufruf Programmcode Kommentar PROC SUB3 ; Unterprogramm SUB3 IF (VAR1==1) ;...
Seite 32
Flexible NC-Programmierung 2.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 18118 MM_NUM_GUD_MODULES Anzahl GUD-Dateien im aktiven Filesystem 18120 MM_NUM_GUD_NAMES_NCK Anzahl der globalen GUD-Namen 18130 MM_NUM_GUD_NAMES_CHAN...
Flexible NC-Programmierung 2.1 Variablen 2.1.5 Redefinition von Systemdaten, Anwenderdaten und NC-Sprachbefehlen (REDEF) Mit dem Befehl REDEF können die Attribute von Systemdaten, Anwenderdaten und NC- Sprachbefehle geändert werden. Grundvoraussetzung für eine Redefinition ist, dass sie zeitlich nach der entsprechenden Definition ausgeführt wird. Bei einer Redefinition können nicht mehrere Attribute gleichzeitig geändert werden.
Seite 34
Flexible NC-Programmierung 2.1 Variablen Vorlaufstop <VL-Stop>: Vorlaufstop beim Lesen SYNR: Vorlaufstop beim Schreiben SYNW: Vorlaufstop beim Lesen/Schreiben SYNRW: Physikalische Einheit <Phys_Einheit>: PHU <Einheit>: physikalische Einheit Siehe "Attribut: Physikalische Einheit (PHU) (Seite 40)". Hinweis Nicht redefinierbar für: ● Systemvariablen ● Globale Anwenderdaten (GUD) der Datentypen: BOOL, AXIS, STRING, FRAME unterer / oberer Grenzwert <Grenzwerte>:...
Seite 35
Flexible NC-Programmierung 2.1 Variablen Initialisierungswert <Init_Wert>: Bei Redefinition des Initialisierungswerts muss immer auch ein Initialisierungszeitpunkt (siehe <Init_Zeitpunkt>) angegeben werden. Siehe "Attribut: Initialisierungswert (Seite 36)". Zur Initialisierung von Feldvariablen siehe "Definition und Initi‐ alisierung von Feldvariablen (DEF, SET, REP) (Seite 50)". Hinweis Nicht redefinierbar für Systemvariablen, außer Settingdaten.
Flexible NC-Programmierung 2.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. 2.1.6 Attribut: Initialisierungswert Definition (DEF) von Anwendervariablen Bei der Definition kann für folgende Anwendervariablen ein Initialisierungswert vorgegeben werden: ●...
Seite 37
Flexible NC-Programmierung 2.1 Variablen ● INICF (NewConfig) Die Variable wird bei NewConf-Anforderung über HMI, Teileprogramm-Befehl NEWCONFIG oder NC-Reset, BAG-Reset, Teileprogrammende (M02 / M30) oder Power On reinitialisiert. ● PRLOC (programmlokale Änderung) Die Variable wird nur dann bei NC-Reset, BAG-Reset oder Teileprogrammende (M02 / M30) reinitialisiert, wenn sie im Rahmen des aktuellen Teileprogramms verändert worden ist.
Seite 38
Flexible NC-Programmierung 2.1 Variablen Randbedingungen Initialisierungswert: globale Anwendervariablen (GUD) ● Für globale Anwendervariable (GUD) mit dem Gültigkeitsbereich NCK kann als Initialisierungszeitpunkt nur INIPO (Power On) vorgegeben werden. ● Für globale Anwendervariablen (GUD) mit dem Gültigkeitsbereich CHAN kann als Initialisierungszeitpunkt neben INIPO (Power On) auch INIRE (Reset) oder INICF (NewConfig) vorgegeben werden.
Flexible NC-Programmierung 2.1 Variablen Impliziter Initialisierungswert: Werkzeug- und Magazindaten Für Werkzeug- und Magazindaten können Initialisierungswerte über folgendes Maschinendatum vorgegeben werden: MD17520 $MN_TOOL_DEFAULT_DATA_MASK Hinweis Synchronisation Die Synchronisation von Ereignissen die eine Reinitialisierung einer globalen Variable auslösen mit dem Lesen dieser Variable an anderer Stelle, liegt ausschließlich in der Verantwortung des Anwenders / Maschinenherstellers.
Seite 41
Flexible NC-Programmierung 2.1 Variablen Folgende physikalische Einheiten können programmiert werden: <Einheit> Bedeutung Physikalische Einheit keine physikalische Einheit Linear- oder Winkel–Position [ mm ], [ inch ], [ Grad ] 1)2) Linear-Position [ mm ], [ inch ] Winkel-Position [ Grad ] Linear- oder Winkel-Geschwindigkeit [ mm/min ], [ inch/min ], [ U/min ] 1)2)
Seite 42
Flexible NC-Programmierung 2.1 Variablen <Einheit> Bedeutung Physikalische Einheit [ Hz/s ] Durchfluss [ l/min ] Druck [ bar ] Volumen [ cm Streckenverstärkung [ mm/(V*min) ] Streckenverstärkung Kraftregler [ N/V ] Gewindesteigung [ mm/U ], [ inch/U] Gewindesteigungsänderung [ mm/U / U ], [ inch/U / U] 1) Die physikalische Einheit ist abhängig vom Achstyp: Linear- oder Rundachse 2) Maßsystem-Umschaltung G70/G71(inch/metrisch)
Seite 45
Flexible NC-Programmierung 2.1 Variablen Zugriffsrechte bezüglich NC-Programmen und Zyklen (APRP, APWP) Die unterschiedlichen Zugriffsrechte haben für den Zugriff aus einem NC-Programm bzw. Zyklus folgende Auswirkungen: ● APRP 0 / APWP 0 – Beim Abarbeiten des NC-Programms muss das System-Kennwort gesetzt sein –...
Flexible NC-Programmierung 2.1 Variablen Zugriffsrechte bezüglich BTSS (APRB, APWB) Die Zugriffsrechte (APRB, APWB) beschränken den Zugriff auf System- und Anwendervariablen über BTSS für alle Systemkomponenten (HMI, PLC, externe Rechner, EPS-Dienste, etc.) gleichermaßen. Hinweis HMI-lokale Zugriffsrechte Bei Änderungen von Zugriffsrechten von Systemdaten muss darauf geachtet werden, dass diese konsistent zu den über HMI-Mechanismen festgelegten Zugriffsrechten erfolgt.
Seite 47
Flexible NC-Programmierung 2.1 Variablen 3. Für Zugriffe auf geschützte Elemente aus Zyklen heraus müssen die Ausführungs- und Schreibrechte der Zyklenverzeichnisse _N_CST_DIR, _N_CMA_DIR und _N_CST_DIR angepasst werden: Ausführungsrechte – MD11160 $MN_ACCESS_EXEC_CST = <Schutzstufe> – MD11161 $MN_ACCESS_EXEC_CMA = <Schutzstufe> – MD11162 $MN_ACCESS_EXEC_CUS = <Schutzstufe> Schreibrechte –...
Serieninbetriebnahme und Hochrüstung von Maschinen und Maschinenreihen sind alle System- und Anwenderdaten der NC in Datenklassen unterteilt. Datenklasse Daten S = System Von Siemens bereitgestellte Systemdaten wie Maschinen- und Settingdaten, Standard- und Messzyklen, Definitionen (SGUD) und Makros (SMAC) etc. M = Manufacturer Maschinenreihen-spezifische Inbetriebnahmedaten wie Her‐...
Flexible NC-Programmierung 2.1 Variablen Redefinition (REDEF) von Systemdaten Die Datenklasse von Systemdaten kann durch Redefinition (REDEF) geändert werden. Die Redefinition muss in einer Definitionsdatei mit Datenklasse S oder M erfolgen. Bei Verwendung von ACCESS-Dateien dürfen Redefinitionen nur innerhalb der ACCESS- Dateien erfolgen.
Seite 51
Flexible NC-Programmierung 2.1 Variablen Syntax (DEF) DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] STRING[<Stringlänge>] <Variablenname>[<n>,<m>] Syntax (DEF...=SET...) Verwendung einer Werteliste: ● bei der Definition: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = SET(<Wert1>,<Wert2>,...) gleichbedeutend mit: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = (<Wert1>,<Wert2>,...) Hinweis Bei der Initialisierung über eine Werteliste ist die Angabe von SET optional. ●...
Seite 52
Flexible NC-Programmierung 2.1 Variablen Feldgröße bzw. Feldindex für 1. Dimension <n>: Typ: INT (bei Systemvariablen auch AXIS) Wertebereich: Max. Feldgröße: 65535 Feldindex: 0 ≤ n ≤ 65534 Feldgröße bzw. Feldindex für 2. Dimension <m>: Typ: INT (bei Systemvariablen auch AXIS) Wertebereich: Max.
Flexible NC-Programmierung 2.1 Variablen Siehe auch Definition und Initialisierung von Feldvariablen (DEF, SET, REP): Weitere Informationen (Seite 54) Variablen (Seite 19) 2.1.13 Definition und Initialisierung von Feldvariablen (DEF, SET, REP): Weitere Informationen Weitere Informationen (SET) Initialisierung bei der Definition ● Es werden, beginnend beim 1. Feldelement, so viele Feldelemente mit den Werten aus der Werteliste initialisiert, wie Elemente in der Werteliste programmiert sind.
Seite 55
Flexible NC-Programmierung 2.1 Variablen Wertzuweisung im Programmablauf Bei der Wertzuweisung im Programmablauf gelten die oben bei der Definition beschriebenen Regeln. Zusätzlich gibt es folgende Möglichkeiten: ● Als Elemente in der Werteliste sind auch Ausdrücke erlaubt. ● Die Wertzuweisung beginnt bei dem programmierten Feldindex. Hierdurch lassen sich gezielt Teilfelder mit Werten belegen.
Flexible NC-Programmierung 2.1 Variablen Programmcode Kommentar FRM[5]=REP(CTRANS(X,5)) ; Feldelemente [5] bis [9] = CTRANS(X,5) Siehe auch Definition und Initialisierung von Feldvariablen (DEF, SET, REP) (Seite 50) 2.1.14 Datentypen Folgende Datentypen stehen in der NC zur Verfügung: Datentyp Bedeutung Wertebereich ganzzahliger Wert mit Vorzeichen -2147483648 ...
Flexible NC-Programmierung 2.1 Variablen 2.1.15 Vorhandensein einer Variablen prüfen (ISVAR) Mit der vordefinierten Funktion ISVAR kann geprüft werden, ob eine System-/ Anwendervariable (z. B. Maschinendatum, Settingdatum, Systemvariable, allgemeine Variable wie GUD) im NCK bekannt ist. Syntax <Ergebnis>=ISVAR(<Variable>) Der Übergabeparameter <Variable> kann wie folgt aufgebaut sein: ●...
Flexible NC-Programmierung 2.1 Variablen Programmcode Kommentar DEF REAL VARARRAY[10,10] DEF BOOL IS_VAR=FALSE N10 IS_VAR=ISVAR("VARARRAY[,]") ; IS_VAR ist in diesem Fall TRUE, ist ein zweidimensionales Feld. N20 IS_VAR=ISVAR("VARARRAY") ; IS_VAR ist TRUE, Variable existiert. N30 IS_VAR=ISVAR("VARARRAY[8,11]") ; IS_VAR ist FALSE, Feldindex ist nicht er- laubt.
Seite 59
Flexible NC-Programmierung 2.1 Variablen Lesen der physikalischen Einheit einer System- /Anwendervariablen GETVARPHU: Name der System- /Anwendervariablen <Name>: Datentyp: STRING Beispiel: Der NCK enthalte folgende GUD-Variable: DEF CHAN REAL PHU 42 LLI 0 ULI 10000 electric Programmcode Kommentar DEF INT result=0 result=GETVARPHU("elect- ;...
Seite 60
Flexible NC-Programmierung 2.1 Variablen Beispiel: Programmcode Kommentar DEF INT result=0 result=GETVA- ; Ermittle den Zugriffschutz für den Systemparameter RAP("$TC_MAP8","WB") "Magazinposition" bezüglich Schreiben über BTSS. IF (result < 0) GOTOF error Als Ergebnis wird der Wert 7 zurückgeliefert. Dies entspricht der Schlüsselschalter-Stellung 0 (= kein Zugriffsschutz).
Seite 61
Flexible NC-Programmierung 2.1 Variablen Programmcode Kommentar DEF REAL result=0 state=GETVARLIM("$MA_MAX_AX_VE- ; Ermittle den unteren Grenzwert für LO","L",result) MD32000 $MA_MAX_AX_VELO. IF (result < 0) GOTOF error Standardwert lesen Syntax: <Status>=GETVARDFT(<Name>,<Ergebnis>[,<Index_1>,<Index_2>,<Index_3>] Bedeutung: Funktionsstatus <Status>: Datentyp: Wertebereich: o. k. kein Standardwert verfügbar (z. B. weil <Ergebnis> den falschen Typ zu <Name> hat) Der angegebene <Name>...
Seite 62
Flexible NC-Programmierung 2.1 Variablen Beispiel: Programmcode Kommentar DEF INT state=0 DEF REAL resultR=0 ; Variable zur Aufnahme der Standardwer- te der Typen INT, REAL, BOOL, AXIS. DEF FRAME resultF=0 ; Variable zur Aufnahme der Standardwer- te des Typs FRAME IF (GETVARTYP("$MA_MAX_AX_VELO") <> 4) GOTOF error state=GETVARDFT("$MA_MAX_AX_VELO", ;...
Flexible NC-Programmierung 2.2 Indirekte Programmierung Beispiel: Programmcode Kommentar DEF INT result=0 DEF STRING name="R" result=GETVARTYP(name) ; Ermittle den Typ des R-Parameters. IF (result < 0) GOTOF error Als Ergebnis wird der Wert 4 zurückgeliefert. Dies entspricht dem Datentyp REAL. Indirekte Programmierung 2.2.1 Indirekte Programmierung von Adressen Bei der indirekten Programmierung von Adressen wird die erweiterte Adresse (<Index>) durch...
Seite 64
Flexible NC-Programmierung 2.2 Indirekte Programmierung Indirekte Programmierung: Programmcode Kommentar DEF INT SPINU=1 ; Definition der Variablen vom Typ INT und Wertzuweisung. S[SPINU]=300 ; Drehzahl 300 U/min für die Spindel, deren Nummer in der Variablen SPINU abgelegt ist (in diesem Beispiel die Spin- del mit Nummer 1).
Flexible NC-Programmierung 2.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 Wertzuwei- sung. G2 X100 IP[AXVAR1]=20 ; Indirekte Programmierung der Mittelpunktsangabe für die Achse, deren Adressname in der Variablen mit dem Namen AX- VAR1 abgelegt ist Beispiel 6: Indirekte Programmierung von Feldelementen...
Flexible NC-Programmierung 2.2 Indirekte Programmierung 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. nur nicht-syntaxbestimmende G-Codes indirekt programmiert werden. Von den syntaxbestimmenden G-Codes sind nur die der G-Funktionsgruppe 1 möglich. Die syntaxbestimmenden G-Codes der G-Funktionsgruppen 2, 3 und 4 sind nicht möglich.
Flexible NC-Programmierung 2.2 Indirekte Programmierung 2.2.3 Indirekte Programmierung von Positionsattributen (GP) Positionsattribute, wie z. B. die inkrementelle oder absolute Programmierung der Achsposition, können in Verbindung mit dem Schlüsselwort GP indirekt als Variablen programmiert werden. Anwendung Die indirekte Programmierung von Positionsattributen findet Verwendung in Ersetzungszyklen, da hier folgender Vorteil gegenüber der Programmierung von Positionsattributen als Schlüsselwort (z.
Seite 68
Flexible NC-Programmierung 2.2 Indirekte Programmierung Wert Bedeutung Zulässig bei: POS, POSA,AX, Achsadresse POS, POSA,AX, Achsadresse POS, POSA,AX, Achsadresse POS, POSA,AX, Achsadresse POS, POSA POS, POSA POS, POSA CACP POS, POSA CACN POS, POSA Beispiel Bei einer aktiven Synchronspindelkopplung zwischen der Leitspindel S1 und der Folgespindel S2 wird durch den SPOS-Befehl im Hauptprogramm der folgende Ersetzungszyklus zur Positionierung der Spindeln aufgerufen.
Flexible NC-Programmierung 2.2 Indirekte Programmierung Programmcode Kommentar N2420 ; Abfrage auf weitere Ersetzungen N3300 ENDIF N9999 RET Randbedingungen ● In Synchronaktionen ist die indirekte Programmierung von Positionsattributen nicht möglich. Literatur Funktionshandbuch Grundfunktionen; BAG, Kanal, Programmbetrieb, Reset-Verhalten (K1), Kapitel: Ersetzung von NC-Funktionen durch Unterprogramme 2.2.4 Indirekte Programmierung von Teileprogrammzeilen (EXECSTRING) Mit dem Teileprogrammbefehl EXECSTRING ist es möglich, eine zuvor erzeugte String-...
Flexible NC-Programmierung 2.3 Rechenfunktionen Variablenwert, der im definierten Wertebereich liegt BOUND() (siehe "Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) (Seite 76)") Verschiebung CTRANS() Drehung CROT() Maßstabsveränderung CSCALE() Spiegeln CMIRROR() 1) Siehe Absatz "Beispiele" Programmierung Bei den Rechenfunktionen gilt die übliche mathematische Schreibweise. Prioritäten in der Abarbeitung werden durch runde Klammern gesetzt.
Flexible NC-Programmierung 2.4 Vergleichs- und logische Operationen Arcustangens2: ATAN2 Die Rechenfunktion ATAN2 berechnet aus zwei aufeinan‐ der senkrecht stehenden Vek‐ toren den Winkel des Sum‐ menvektors. Das Ergebnis liegt im Bereich von vier Quadranten (-180° < 0 < +180°). Basis für den Winkelbezug ist immer der 2.
Seite 73
Flexible NC-Programmierung 2.4 Vergleichs- und logische Operationen Bei den logischen (boolschen) Operationen gilt für die Datentypen BOOL, CHAR,INT und REAL: ● 0 entspricht: FALSE ● ungleich 0 entspricht: TRUE Bitweise logische Operatoren Mit den Variablen vom Typ CHAR und INT können auch bitweise logische Operationen vorgenommen werden.
Flexible NC-Programmierung 2.5 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Hinweis Der Operator B_NOT bezieht sich auf nur einen Operanden. Dieser steht nach dem Operator. Beispiele Beispiel 1: Vergleichsoperatoren IF R10>=100 GOTOF ZIEL oder R11=R10>=100 IF R11 GOTOF ZIEL Das Ergebnis des Vergleichs R10>=100 wird zunächst in R11 zwischengespeichert. Beispiel 2: Logische Operatoren IF (R10<50) AND ($AA_IM[X]>=17.5) GOTOF ZIEL oder...
Seite 75
Flexible NC-Programmierung 2.5 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Berücksichtigte relative Gleichheit von 10 ● Gleichheit: (==) ● Ungleichheit: (<>) ● Größer-Gleich: (>=) ● Kleiner-Gleich: (<=) ● Größer/Kleiner: (><) mit absoluter Gleichheit ● Größer: (>) ● Kleiner: (<) Kompatibilität Aus Kompatibilitätsgründen kann die Prüfung auf relative Gleichheit bei (>) und (<) durch Setzen von Maschinendatum MD10280 $MN_ PROG_FUNCTION_MASK Bit0 = 1 deaktiviert werden.
Flexible NC-Programmierung 2.6 Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Programmcode Kommentar IF ABS((R2-R1)/R3)-1) > 10EX-5 GOTOF FEHLER ; Sprung wird nicht ausgeführt ; Programmende FEHLER: SETAL(66000) Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Mit den Befehlen MINVAL und MAXVAL können die Werte zweier Variablen miteinander verglichen werden.
Flexible NC-Programmierung 2.7 Priorität der Operationen 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. Beispiel Programmcode Kommentar...
Flexible NC-Programmierung 2.8 Mögliche Typenkonvertierungen exklusives ODER ODER << Verkettung von Strings, Ergebnistyp STRING ==, <>, >, <, >=, <= Vergleichsoperatoren Hinweis Der Kettungsoperator ":" für Frames darf nicht mit anderen Operatoren in einem Ausdruck vorkommen. Eine Prioritätseinstufung für diesen Operator ist deshalb nicht erforderlich. Beispiel If-Anweisung If (otto==10) and (anna==20) gotof end Mögliche Typenkonvertierungen...
Flexible NC-Programmierung 2.9 Stringoperationen Hinweis Ist beim Konvertieren ein Wert größer als der Zielbereich, erfolgt eine Fehlermeldung. Treten in einem Ausdruck gemischte Typen auf, so wird eine Typanpassung automatisch durchgeführt. Typumwandlungen sind auch in Synchronaktionen möglich, siehe Kapitel Bewegungssynchronaktionen, Implizite Typwandlung". Stringoperationen Stringoperationen Neben den klassischen Operationen "Zuweisung"...
Flexible NC-Programmierung 2.9 Stringoperationen 2.9.1 Typenkonvertierung nach STRING (AXSTRING) 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 "...
Flexible NC-Programmierung 2.9 Stringoperationen Bedeutung Der Befehl NUMBER liefert die durch den <String> dargestellte Zahl als REAL- NUMBER: Wert zurück. Zu konvertierende Variable vom Typ STRING <String>: Variable für das Ergebnis der Typkonvertierung mit NUMBER <REAL_ERG>: Typ: REAL Mit dem Befehl ISNUMBER kann überprüft werden, ob der <String> in eine gül‐ ISNUMBER: tige Zahl gewandelt werden kann.
Seite 82
Flexible NC-Programmierung 2.9 Stringoperationen Syntax <bel._Typ> << <bel._Typ> Bedeutung Variable vom Typ CHAR, BOOL, INT, REAL oder STRING <bel._Typ>: << : Operator für die Verkettung von Variablen (<bel._Typ>) zu einer zusammengesetz‐ ten Zeichenkette (Typ STRING). Dieser Operator ist auch alleinig als sog. "unäre" Variante verfügbar. So ist es mög‐ lich, eine explizite Typwandlung nach STRING auszuführen (nicht für FRAME und AXIS): <<...
Flexible NC-Programmierung 2.9 Stringoperationen 2.9.4 Wandlung in Klein-/Großbuchstaben (TOLOWER, TOUPPER) Die Funktion "Wandlung in Klein-/Großbuchstaben" erlaubt es, alle Buchstaben einer Zeichenkette in eine einheitliche Darstellung zu wandeln. Syntax <STRING_ERG>=TOUPPER("<String>") <STRING_ERG>=TOLOWER("<String>") Bedeutung Mit dem Befehl TOUPPER werden alle Buchstaben einer Zeichenkette in TOUPPER: Großbuchstaben umgewandelt.
Flexible NC-Programmierung 2.9 Stringoperationen Variable für das Ergebnis der Bestimmung <INT_ERG>: Typ: Beispiel Die Funktion im Zusammenhang mit dem Einzelzeichenzugriff ermöglicht es, das Ende einer Zeichenkette zu bestimmen: Programmcode IF (STRLEN(BAUSTEIN_NAME)>10) GOTOF FEHLER 2.9.6 Zeichen/String in String suchen (INDEX, RINDEX, MINDEX, MATCH) Diese Funktionalität erlaubt es, einzelne Zeichen bzw.
Flexible NC-Programmierung 2.9 Stringoperationen Beispiel Zerlegen einer Eingabe in Pfad- und Bausteinnamen Programmcode Kommentar DEF INT PFADIDX, PROGIDX DEF STRING[26] EINGABE DEF INT LISTIDX EINGABE = "/_N_MPF_DIR/_N_EXECU- TE_MPF" LISTIDX = MINDEX (EINGABE, ; Als Wert in LISTIDX wird 3 zurückgeliefert; "M,N,O,P") + 1 da "N"...
Flexible NC-Programmierung 2.9 Stringoperationen Beispiel Programmcode Kommentar DEF STRING[29] ERG 0123456789012345678 ERG = SUBSTR("QUITTUNG: 10 bis 99", 10, 2) ; ERG == "10" ERG = SUBSTR("QUITTUNG: 10 bis 99", 10) ; ERG == "10 bis 99" 2.9.8 Lesen und Schreiben von einzelnen Zeichen Innerhalb eines Strings können einzelne Zeichen gelesen und geschrieben werden.
Flexible NC-Programmierung 2.9 Stringoperationen Beispiel 2: Auswerten einer Systemvariablen Programmcode Kommentar DEF STRING[50] STRG ; Zwischenspeicher für Systemvariable STRG = $P_MMCA ; Systemvariable laden IF STRG[0] == "E" GOTO ... ; Auswerten der Systemvariable Beispiel 3: Parameterübergabe "call by value" und "call by reference" Programmcode Kommentar 0123456...
Seite 88
Flexible NC-Programmierung 2.9 Stringoperationen Wert in Form einer Konstanten oder NC-Variablen, < Wert_1>,< Wert_2>,…,< Wert_n>: der an der Stelle, an der das n-te Formatsteuerzei‐ chen % steht, entsprechend der Formatbeschreibung in den <Format_String> eingefügt wird. Formatierte Zeichenkette (maximal 400 Bytes) "<Ergebnis_String>": Verfügbare Formatbeschreibungen Wandlung in den String "TRUE", wenn der zu wandelnde Wert:...
Seite 89
Flexible NC-Programmierung 2.9 Stringoperationen Wandlung in einen String mit einer Dezimalzahl mit 6 Nachkommastellen. Die Nach‐ kommstellen werden ggf. gerundet oder mit 0 aufgefüllt. Beispiel: N10 DEF REAL REAL_VAR=-1.2341234EX+03 N20 DEF STRING[80] RESULT N30 RESULT=SPRINT("CONTENT OF REAL_VAR:%F",REAL_VAR) Ergebnis: Die String-Variable RESULT wird mit der Zeichenkette "CONTENT OF REAL_VAR: -1234.123400"...
Seite 90
Flexible NC-Programmierung 2.9 Stringoperationen Wandlung in einen String mit einer Dezimalzahl in Exponentialdarstellung mit einer %<m>E: Gesamtlänge von mindestens <m> Zeichen. Fehlende Zeichen werden linksbündig mit Leerzeichen aufgefüllt. Die Mantisse wird normalisiert mit einer Vorkommastelle und 6 Nachkommastellen abgelegt. Die Nachkommastellen werden ggf. gerundet oder mit 0 aufgefüllt.
Seite 91
Flexible NC-Programmierung 2.9 Stringoperationen Wandlung in einen String mit einer Dezimalzahl je nach Wertebereich in Dezimal- oder Exponentialdarstellung: ist der darzustellende Wert betragsmäßig kleiner als 1.0EX-04 oder größer/gleich 1.0EX+06 wird die Exponentialdarstellung gewählt, sonst die Dezimaldarstellung. Es werden maximal sechs signifikante Stellen ange‐ zeigt, ggf.
Seite 92
Flexible NC-Programmierung 2.9 Stringoperationen Wandlung in einen String mit einer Dezimalzahl je nach Wertebereich in Dezimal- %<m>.<n>G: oder Exponentialdarstellung (wie %.<n>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:%12.4G",REAL_VAR)
Seite 93
Flexible NC-Programmierung 2.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 94
Flexible NC-Programmierung 2.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>...
Flexible NC-Programmierung 2.10 Programmsprünge und -verzweigungen NC-Datentypen BOOL CHAR REAL STRING AXIS FRAME Hinweis Die Tabelle zeigt, dass die NC-Datentypen AXIS und FRAME nicht direkt in der SPRINT- Funktion verwendet werden können. Es ist aber möglich: ● den Datentyp AXIS mit der Funktion AXSTRING in einen String zu wandeln, der dann mit SPRINT weiterverarbeitet werden kann.
Flexible NC-Programmierung 2.10 Programmsprünge und -verzweigungen Randbedingungen ● GOTOS löst intern ein STOPRE (Vorlaufstopp) aus. ● Bei einem Teileprogramm mit Datendefinitionen (LUD-Variablen) wird mit GOTOS auf den ersten Programmsatz nach dem Definitionsabschnitt gesprungen, d. h. die Datendefinitionen werden nicht erneut ausgeführt. Die definierten Variablen behalten daher den im GOTOS-Satz erreichten Wert und werden nicht auf die im Definitionsabschnitt programmierten Standardwerte zurückgesetzt.
Seite 97
Flexible NC-Programmierung 2.10 Programmsprünge und -verzweigungen Bedeutung Sprunganweisung mit Sprungziel in Richtung Programmanfang. GOTOB: Sprunganweisung mit Sprungziel in Richtung Programmende. GOTOF: Sprunganweisung mit Sprungzielsuche. Die Suche erfolgt erst in Richtung Pro‐ GOTO: grammende, dann in Richtung Programmanfang. Wirkung wie GOTO mit dem Unterschied, dass der Alarm 14080 "Sprungziel GOTOC: nicht gefunden"...
Seite 98
Flexible NC-Programmierung 2.10 Programmsprünge und -verzweigungen Randbedingungen ● Sprungziel kann nur ein Satz mit Sprungmarke oder Satznummer sein, der innerhalb des Programms liegt. ● Eine Sprunganweisung ohne Sprungbedingung muss in einem separaten Satz programmiert werden. Bei Sprunganweisungen mit Sprungbedingungen gilt diese Einschränkung nicht.
Flexible NC-Programmierung 2.10 Programmsprünge und -verzweigungen Beispiel 3: Sprung auf variables Sprungziel Programmcode Kommentar DEF STRING[20] ZIEL IF <Bedingung> == TRUE ZIEL = "Marke1" ; Sprungziel zuweisen ELSE ZIEL = "Marke2" ; Sprungziel zuweisen ENDIF ; Sprung in Richtung Programmende zum variablen Sprungziel "Inhalt von ZIEL" GOTOF ZIEL Marke1: T="Bohrer1"...
Seite 100
Flexible NC-Programmierung 2.10 Programmsprünge und -verzweigungen Zweiter angegebener konstanter Wert für die Variable oder Rechenfunktion <Konstante_2>: Typ: Für die Fälle, in denen die Variable oder Rechenfunktion keinen der ange‐ DEFAULT: gebenen konstanten Werte annimmt, kann mit der Anweisung DEFAULT ein Sprungziel bestimmt werden. Hinweis: Falls die DEFAULT-Anweisung nicht programmiert ist, wird in diesen Fällen der auf die CASE-Anweisung folgende Satz zum Sprungziel.
Flexible NC-Programmierung 2.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) 2.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) 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 102
Flexible NC-Programmierung 2.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) 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> nicht vor der REPEAT-Anweisung erreicht, dann wird die Wiederholung zwischen <Start-Sprungmarke>...
Seite 103
Flexible NC-Programmierung 2.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Schlüsselwort, welches das Ende eines zu wiederholenden Programmbe‐ ENDLABEL: reichs markiert Enthält die Zeile mit dem ENDLABEL weitere Anweisungen, so werden diese bei jeder Wiederholung erneut ausgeführt. ENDLABEL kann mehrfach im Programm verwendet werden. Adresse zur Angabe der Wiederholungsanzahl Anzahl an Programmteilwiederholungen <n>:...
Seite 104
Flexible NC-Programmierung 2.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Programmcode Kommentar N10 Begin: R10=R10+1 ; Breite N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 N50 X=-R10 N60 Y=-R10 N70 END: Z=10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 ; Führe Bereich N10 bis N70 dreimal aus. N110 Z10 N120 M30 Beispiel 4: Bereich zwischen Sprungmarke und ENDLABEL wiederholen...
Flexible NC-Programmierung 2.12 Kontrollstrukturen ● Kontrollstrukturen und Programmteilwiederholung können kombiniert genutzt werden. Es sollte jedoch keine Überschneidungen geben. Eine Programmteilwiederholung sollte innerhalb eines Kontrollstruktur-Zweigs liegen bzw. eine Kontrollstruktur innerhalb einer Programmteilwiederholung. ● Bei der Mischung von Sprüngen und Programmteilwiederholung werden die Sätze rein sequentiell abgearbeitet.
Flexible NC-Programmierung 2.12 Kontrollstrukturen Diese Reihenfolge kann durch die Programmierung von alternativen Programmblöcken und Programmschleifen variiert werden. Die Programmierung dieser Kontrollstrukturen erfolgt mit denSchlüsselwörtern IF, ELSE, ENDIF, LOOP, FOR, WHILE und REPEAT. ACHTUNG Programmierfehler Kontrollstrukturen sind nur innerhalb des Anweisungsteils eines Programms möglich. Definitionen im Programmkopf können nicht bedingt oder wiederholt ausgeführt werden.
Flexible NC-Programmierung 2.12 Kontrollstrukturen Aktuelle Satzanzeige bei Programmschleifen Werden innerhalb einer Programmschleife nur Vorlaufsätze ausgeführt, wird in der aktuellen Satzanzeige der letzte Hauptlaufsatz vor der Programmschleife angezeigt. Damit z.B. zu Diagnosezwecken auch die abgearbeiteten Vorlaufsätze in der aktuellen Satzanzeige sichtbar werden, muss der Decodier-Einzelsatz SBL2 aktiviert werden. Literatur Funktionshandbuch Grundfunktionen, Kapitel: BAG, Kanal, Programmbetrieb, Reset- Verhalten (K1) >...
Flexible NC-Programmierung 2.12 Kontrollstrukturen Verzweigung IF <Bedingung> Programmblock_1 ; Ausführung bei: <Bedingung> == TRUE ELSE Programmblock_2 ; Ausführung bei: <Bedingung> == FALSE ENDIF Bedeutung Leitet die bedingte Anweisung bzw. Verzweigung ein. Leitet den alternativen Programmblock ein. ELSE: Markiert das Ende der bedingte Anweisung bzw. Verzweigung. ENDIF: Logischer Ausdruck, dessen Auswertung TRUE oder FALSE ergibt.
Flexible NC-Programmierung 2.12 Kontrollstrukturen 2.12.2 Endlos-Programmschleife (LOOP, ENDLOOP) 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 Schleifenanfang. ENDLOOP: Beispiel Programmcode...
Seite 111
Flexible NC-Programmierung 2.12 Kontrollstrukturen Zählvariable, die vom Anfangs- bis zum Endwert hochgezählt wird und sich bei <Variable>: jedem Durchlauf um den Wert "1" erhöht. INT oder REAL Hinweis: Der Typ REAL wird genommen, wenn z. B. R-Parameter für eine Zähl‐ schleife programmiert werden.
Flexible NC-Programmierung 2.12 Kontrollstrukturen 2.12.4 Programmschleife mit Bedingung am Schleifenanfang (WHILE, ENDWHILE) 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 Schleifenan‐ ENDWHILE: fang.
Flexible NC-Programmierung 2.12 Kontrollstrukturen Bedeutung Leitet die Programmschleife ein. REPEAT: Markiert das Ende der Schleife und bewirkt Rücksprung auf den Schleifenan‐ UNTIL: fang. Bedingung, die erfüllt sein muss, damit die REPEAT-Schleife nicht mehr durch‐ <Bedingung>: laufen wird. Beispiel Programmcode Kommentar REPEAT ;...
Flexible NC-Programmierung 2.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) 2.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Ein Kanal der NC kann prinzipiell das in ihm gestartete Programm unabhängig von anderen Kanälen seiner Betriebsartengruppe (BAG) abarbeiten. Sind aber gleichzeitig mehrere Programme in mehreren Kanälen der BAG an der Fertigung eines Werkstücks beteiligt, müssen die Programmabläufe in den unterschiedlichen Kanälen koordiniert werden.
Seite 115
Flexible NC-Programmierung 2.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Bedeutung Vordefinierte Prozedur zur Anwahl des NC-Programms, das im angegebenen Kanal ab‐ INIT: gearbeitet werden soll Kanalnummer <Kanal-Nr.>: Typ: Optionale Pfadangabe (absolut oder relativ) + Programm‐ <Programm>: name Typ: STRING Regeln zur Pfadangabe siehe "Adressierung von Dateien des Programmspeichers (Seite 209)".
Seite 116
Flexible NC-Programmierung 2.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Vordefinierte Prozedur zum Warten auf das Erreichen einer Marke in den angegebenen WAITMC: Kanälen Im Ggs. zu WAITM wird Genauhalt nur eingeleitet, wenn die anderen Kanäle die Marke noch nicht erreicht haben. Parameter wie bei WAITM.
Seite 117
Flexible NC-Programmierung 2.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Beispiele START über Maschinendatum parametrierte Kanalnamen Parametrierung: $MC_CHAN_NAME[ 0 ] = "CHAN_1" ; Name von Kanal 1 $MC_CHAN_NAME[ 1 ] = "CHAN_2" ; Name von Kanal 2 Die im Maschinendatums MD20000 $MC_CHAN_NAME parametrierten Namen "CHAN_1" und "CHAN_2"...
Seite 118
Flexible NC-Programmierung 2.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) INIT-Befehl mit Programmnamen Anwahl des Programms mit dem Namen "MYPROG". Die Steuerung sucht das Programm anhand des Suchpfades. Programmcode INIT(2,"MYPROG") Programmkoordinierung mit WAITM Kanal 1: Das Programm /_N_MPF_DIR/_N_MPF100_MPF ist bereits angewählt. und gestartet. Programmcode Kommentar ;...
Seite 119
Flexible NC-Programmierung 2.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Randbedingungen Nicht synchroner Beginn des Abarbeitens von Folgesätzen nach WAIT-Marken Bei einer Kanalkoordinierung mittels WAIT-Marken kann es zu einem nicht synchronen Beginn des Abarbeitens der Folgesätze kommen. Dieses Verhalten tritt auf, wenn unmmittelbar vor Erreichen der gemeinsamen WAIT-Marke in einem der zu synchronisierenden Kanäle eine Aktion ausgelöst wird, die in diesem Restweglöschen mit implizitem Repositionieren (REPOSA) zur Folge hat.
Flexible NC-Programmierung 2.14 Interruptroutine (ASUP) 2.14 Interruptroutine (ASUP) 2.14.1 Funktion einer Interruptroutine Hinweis Die in der folgenden Beschreibung abwechselnd vorkommenden Begriffe "Asynchrones Unterprogramm (ASUP)" und "Interruptroutine" kennzeichnen die gleiche Funktionalität. Die Funktion einer Interruptroutine soll anhand eines typischen Beispiels verdeutlicht werden: Während der Bearbeitung bricht das Werkzeug.
Flexible NC-Programmierung 2.14 Interruptroutine (ASUP) 2.14.3 Interruptroutine zuordnen und starten (SETINT, PRIO, BLSYNC) Die Steuerung verfügt über mehrere schnelle Eingänge (Eingang 1 ... 8), die jeweils einen Interrupt (1 ... 8) auslösen. Jedem Interrupt kann über den Befehl SETINT eine Priorität und eine Interrupt-Routine zugeordnet werden.
Seite 123
Flexible NC-Programmierung 2.14 Interruptroutine (ASUP) Randbedingungen Interrupt-Regeln 1. Für jeden Interrupt, der nicht sofort abgearbeitet werden kann, oder aktuell schon in Bearbeitung ist, wird eine weitere Interrupt-Anforderung gespeichert. Darüber hinaus gehende Interrupt-Anforderungen für diesen Interrupt verloren. 2. Wird aktuell ein Interrupt bearbeitet und es wird ein weiterer Interrupt mit höherer Priorität ausgelöst, unterbricht dieser den niederprioren Interrupt.
Flexible NC-Programmierung 2.14 Interruptroutine (ASUP) 2.14.4 Zuordnung einer Interruptroutine deaktivieren/reaktivieren (DISABLE, ENABLE) Eine SETINT-Anweisung kann mit DISABLE deaktiviert und mit ENABLE wieder aktiviert werden, ohne dass die Zuordnung Eingang → Interruptroutine verloren geht. Syntax DISABLE(<n>) ENABLE(<n>) Bedeutung Befehl: Deaktivieren der Interruptroutinen-Zuordnung von Eingang <n> DISABLE(<n>): Befehl: Reaktivieren der Interruptroutinen-Zuordnung von Eingang <n>...
Seite 128
Flexible NC-Programmierung 2.14 Interruptroutine (ASUP) Die möglichen Verfahrrichtungen sind in der Steuerung unter speziellen Code-Nummern gespeichert und unter dieser Nummer abrufbar. Beispiel: Programmcode N10 SETINT(2) PRIO=1 ABHEB_Z LIFTFAST ALF=7 Das Werkzeug fährt bei eingeschaltetem G41 (Bearbeitungsrichtung links von der Kontur) senkrecht von der Kontur weg.
Seite 129
Flexible NC-Programmierung 2.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. Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Flexible NC-Programmierung 2.14 Interruptroutine (ASUP) Mit ALF=0 ist die Funktion "Schnellabheben" ausgeschaltet. VORSICHT Kollisionsgefahr Bei eingeschalteter Werkzeugradiuskorrektur sollten: ● bei G41 die Codierungen 2, 3, 4 ● bei G42 die Codierungen 6, 7, 8 nicht verwendet werden, da in diesen Fällen das Werkzeug zur Kontur hinfahren und mit dem Werkstück kollidieren würde.
Flexible NC-Programmierung 2.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Die Interruptroutine verhält sich mit LIFTFAST und ALF=0 identisch wie die Interruptroutine ohne LIFTFAST. Hinweis Der Betrag, um den die Geometrieachsen beim Schnellabheben von der Kontur wegfahren, ist über ein Maschinendatum einstellbar. 2.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Eine oder mehrere Achsen bzw.
Flexible NC-Programmierung 2.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Freigeben der Spindel S1, S2, … RELEASE(S1): Übernehmen der Spindel S1, S2, … GET(S2): Direktes Übernehmen der Spindel S1, S2, … GETD(S3): 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.
Seite 133
Flexible NC-Programmierung 2.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Programmierung Kommentar N160 WAITM(1,1,2) ; Warten auf WAIT-Marke in Kanal 1 und 2 zur Synchro- nisation in den beiden Kanälen. N150 GET(AX2) ; Achse AX2 übernehmen. ; Weiterer Ablauf nach Achstausch. N… M30 Beispiel 2: Achstausch ohne Synchronisierung Wenn die Achse nicht synchronisiert werden muss, wird durch GET kein Vorlaufstopp erzeugt.
Flexible NC-Programmierung 2.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Weitere Informationen Voraussetzungen für den Achstausch ● Die Achse muss über Maschinendaten in allen Kanälen definiert sein, die Achse verwenden wollen. ● Über das achsspezifische Maschinendatum muss festgelegt sein, welchem Kanal die Achse nach POWER ON zugeordnet werden soll.
Flexible NC-Programmierung 2.16 Achse einem anderen Kanal übergeben (AXTOCHAN) Achstauschverhalten veränderbar einstellen Der Abgabezeitpunkt von Achsen lässt sich über ein Maschinendatum wie folgt einstellen: ● Automatischer Achstausch findet zwischen zwei Kanälen auch dann statt, wenn die Achse durch WAITP in einen neutralen Zustand gebracht wurde (Verhalten wie bisher) ●...
Seite 136
Flexible NC-Programmierung 2.16 Achse einem anderen Kanal übergeben (AXTOCHAN) Hinweis Konkurrierende Positionierachse und ausschließlich PLC kontrollierte Achse Eine PLC-Achse kann als konkurrierende Positionierachse den Kanal nicht wechseln. Eine ausschließlich von der PLC kontrollierte Achse kann nicht dem NC-Programm zugeordnet werden. Literatur: Funktionshandbuch Erweiterungsfunktionen;...
Flexible NC-Programmierung 2.17 Maschinendaten wirksam setzen (NEWCONF) 2.17 Maschinendaten wirksam setzen (NEWCONF) 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 2.18 Datei schreiben (WRITE) 2.18 Datei schreiben (WRITE) Mit dem WRITE-Befehl können Sätze/Daten aus dem NC-Programm an das Ende einer sich im passiven Filesystem oder auf einem externen Programmspeicher befindlichen Datei (Protokolldatei) geschrieben werden. Dies kann auch das gerade in Abarbeitung befindliche Programm sein.
Seite 139
Flexible NC-Programmierung 2.18 Datei schreiben (WRITE) Parameter 2: Name der Datei, in der der angegebene Satz bzw. die angegebenen <Dateiname>: Daten angefügt werden sollen Typ: STRING Vor dem eigentlichen Dateinamen kann der absolute Pfad angegeben werden. Ohne Pfadangabe wird die Datei im aktuellen Verzeichnis (= Verzeichnis des an‐ gewählten Programms) gesucht.
Seite 140
Flexible NC-Programmierung 2.18 Datei schreiben (WRITE) Programmcode Kommentar N20 WRITE(ERROR,"PROT","PROTOKOLL VOM 7.2.97") ; Schreibe den Text "PROTOKOLL VOM 7.2.97" in die Datei _N_PROT_MPF. N30 IF ERROR ; Fehlerauswertung. N40 MSG ("Fehler bei WRITE-Befehl:" << ERROR) N50 M0 N60 ENDIF Beispiel 2: WRITE-Befehl ins passive Filesystem mit absoluter Pfadangabe Programmcode WRITE(ERROR,"/_N_WKS_DIR/_N_PROT_WPD/_N_PROT_MPF","PROTOKOLL VOM 7.2.97")
Flexible NC-Programmierung 2.20 Zeilen in Datei lesen (READ) Bedeutung Befehl zum Löschen der angegebenen Datei DELETE: 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 wird benutzt keine Ressourcen frei sonstiger Fehler Name der zu löschenden Datei...
Seite 143
Flexible NC-Programmierung 2.20 Zeilen in Datei lesen (READ) Syntax DEF INT <Fehler> DEF STRING[<Stringlänge>] <Ergebnis>[<n>,<m>] READ(<Fehler>,"<Dateiname>",<Anfangszeile>,<Zeilenanzahl>,<Ergebnis> Bedeutung Befehl zum Lesen von Zeilen der angegebenen Datei und zur Ablage dieser READ: Zeilen in einem Variablenfeld. Variable für die Rückgabe des Fehlerwerts (Call-By-Reference-Parameter) <Fehler>: Typ.
Flexible NC-Programmierung 2.21 Vorhandensein einer Datei prüfen (ISFILE) 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.
Flexible NC-Programmierung 2.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) Bedeutung Befehl zum Prüfen des Vorhandenseins einer Datei ISFILE: Name der Datei, deren Vorhandensein geprüft werden soll. <Dateiname>: Typ: STRING Vor dem eigentlichen Dateinamen kann der absolute Pfad angegeben werden. Ohne Pfadangabe wird die Datei im aktuellen Verzeichnis (= Verzeichnis des angewählten Programms) gesucht.
Seite 146
Flexible NC-Programmierung 2.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) Voraussetzung Die aktuell eingestellte Schutzstufe muss gleich oder größer dem Show-Recht des übergeordneten Verzeichnisses sein. Ist dies nicht der Fall, wird der Zugriff mit Fehlermeldung (Rückgabewert der Fehlervariablen = 13) abgelehnt. Syntax FILE..(<Fehler>,"<Dateiname>",<Ergebnis>) Bedeutung...
Flexible NC-Programmierung 2.23 Aufrunden (ROUNDUP) Ergebnisvariable (Call-By-Reference-Parameter) <Ergebnis>: Variable, in der die angeforderte Datei-Information abgelegt wird. Typ: VAR CHAR[8] FILEDATE Format: "dd.mm.yy" VAR CHAR[8] FILETIME Format: "hh:mm.ss" VAR INT FILESIZE Die Dateigröße wird in Byte ausge‐ geben. VAR CHAR[5] FILESTAT Format: "rwxsd"...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik 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. Beispiele Beispiel 1: Verschiedene Eingabewerte und deren Rundungsergebnisse Beispiel Rundungsergebnis ROUNDUP(3.1) ROUNDUP(3.6) -3.0 ROUNDUP(-3.1) -3.0 ROUNDUP(-3.6)
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Diese feste Einteilung besteht mit der heutigen SINUMERIK NC-Sprache nicht mehr. Jedes Teileprogramm kann prinzipiell als Hauptprogramm angewählt und gestartet oder als Unterprogramm von einem anderen Teileprogramm aus aufgerufen werden. Somit wird im weiteren Verlauf mit Unterprogramm ein Teileprogramm bezeichnet, das von einem anderen Teileprogramm aus aufgerufen wird.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik 2.24.1.2 Unterprogrammnamen Benennungregeln Der Unterprogrammname kann unter Einhaltung folgender Regeln frei gewählt werden: ● Erlaubte Zeichen: – Buchstaben: A ... Z, a ... z – Ziffern: 0 ... 9 – Unterstrich: _ ● Die ersten beiden Zeichen müssen zwei Buchstaben oder ein Unterstrich gefolgt von einem Buchstabe sein.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik 2.24.1.3 Schachtelung von Unterprogrammen Ein Hauptprogramm kann Unterprogramme aufrufen, die wiederum Unterprogramme aufrufen. Die Abläufe der Programme sind somit ineinander geschachtelt. Jedes Programm läuft dabei in einer eigenen Programmebene. Schachtelungstiefe Die NC-Sprache stellt aktuell 16 Programmebenen zur Verfügung. Das Hauptprogramm läuft immer in der obersten Programmebene 0.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Siemens-Zyklen Siemens-Zyklen benötigen 3 Programmebenen. Der Aufruf eines Siemens-Zyklus muss daher spätestens erfolgen in: ● Teileprogrammbearbeitung: Programmebene 12 ● Interruptroutine: Programmebene 14 2.24.1.4 Suchpfad Beim Aufruf eines Unterprogramms ohne Pfadangabe durchsucht die Steuerung nach einer vordefinierten Suchreihenfolge (siehe "Suchpfad bei Unterprogrammaufruf (Seite 214)") die vorhandenen Programmspeicher.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmcode Kommentar N100 M30 2.24.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 2.24 Unterprogrammtechnik N30 SUB_PROG( , ,3.0) ; X=0.0, Y=0.0, Z=3.0 N30 SUB_PROG( , , ) ; X=0.0, Y=0.0, Z=0.0 ACHTUNG Parameterübergabe Call-by-Reference Parameter, die über Call-by-Reference übergeben werden, dürfen beim Unterprogramm- Aufruf nicht weggelassen werden. ACHTUNG Datentyp AXIS Parameter vom Datentyp AXIS dürfen beim Unterprogramm-Aufruf nicht weggelassen werden.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Syntax [PROC <Programmname>] Bedeutung Definitionsanweisung am Anfang eines Programms PROC: Name des Programms <Programmname>: Beispiel Beispiel 1: Unterprogramm mit PROC-Anweisung Programmcode Kommentar PROC SUB_PROG ; Definitionszeile N10 G01 G90 G64 F1000 N20 X10 Y20 N100 RET ;...
Seite 156
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Syntax PROC <Programmname> (<Parametertyp> <Parametername>=<Init_Wert>, ...) Hinweis Es können bis zu 127 Parameter übergeben werden. Bedeutung Definitionsanweisung am Anfang eines Programms PROC: Name des Programms <Programmname>: Datentyp des Parameters (z. B. REAL, INT, BOOL) <Parametertyp>: Name des Parameters <Parametername>: Optionaler Wert zur Initialisierung des Parameters (optional) <Init_Wert>:...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Verschieden Aufrufvarianten: Programmcode PROC MAIN_PROG REAL PAR_1 = 100 REAL PAR_2 = 200 REAL PAR_3 = 300 ; Aufrufvarianten SUB_PROG SUB_PROG(PAR_1, PAR_2, PAR_3) SUB_PROG(PAR_1) SUB_PROG(PAR_1, , PAR_3) SUB_PROG( , , PAR_3) N100 RET 2.24.2.3 Unterprogramm mit Parameterübergabe Call-by-Reference (PROC, VAR) Die Definition eines Unterprogramms mit Parameterübergabe Call-by-Reference erfolgt mit dem Schlüsselwort PROC, gefolgt vom Programmnamen und einer vollständigen Auflistung aller Parameter mit Schlüsselwort VAR, Typ und Namen.
Seite 158
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Hinweis Die Parameterübergabe Call-by-Reference ist nur dann erforderlich, wenn die übergebene Variable lokal in einem aufrufenden Programm definiert ist (LUD). Kanal-globale oder NC- globale Variablen müssen nicht übergeben werden, da auf diese auch direkt vom Unterprogramm aus zugegriffen werden kann. Syntax PROC <Programmname>...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Feldgröße [<m>,<n>,<o>]: Aktuell sind maximal 3-dimensionale Felder möglich: Feldgröße für 1. Dimension <m>: Feldgröße für 2. Dimension <n>: Feldgröße für 3. Dimension <o>: Hinweis ● Der nach dem Schlüsselwort PROC angegebene Programmname muss mit dem an der Bedienoberfläche vergebenen Programmnamen übereinstimmen.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Sichern der modalen G-Funktionen vor dem Unterprogrammaufruf und Wiederherstellen SAVE: nach Unterprogrammende Beispiel Im Unterprogramm KONTUR wirkt die modale G-Funktion G91 (Kettenmaß). Im Hauptprogramm wirkt die modale G-Funktion G90 (Absolutmaß). Durch die Unterprogrammdefinition mit SAVE wirkt nach dem Unterprogrammende im Hauptprogramm wieder G90.
Seite 161
Flexible NC-Programmierung 2.24 Unterprogrammtechnik SBLOF steht in der PROC-Zeile und gilt bis zum Ende oder Abbruch des Unterprogramms. Mit dem Rücksprung-Befehl wird entschieden, ob am Ende des Unterprogramms angehalten wird oder nicht: Rücksprung mit M17: Stopp am Ende des Unterprogramms Rücksprung mit RET: Kein Stopp am Ende des Unterprogramms Einzelsatzunterdrückung innerhalb des Programms...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Randbedingungen ● Einzelsatzunterdrückung und Satzanzeige Die aktuelle Satzanzeige kann in Zyklen/Unterprogrammen mit DISPLOF unterdrückt werden. Wird DISPLOF zusammen mit SBLOF programmiert, so wird bei Einzelsatz-Stopps innerhalb des Zyklus/Unterprogramms nach wie vor der Aufruf des Zyklus/Unterprogramms angezeigt. ●...
Seite 163
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmcode N50 M30 Zyklus CYCLE1: Programmcode Kommentar N100 PROC CYCLE1 DISPLOF SBLOF ; Einzelsatz unterdrücken N110 R10=3*SIN(R20)+5 N120 IF (R11 <= 0) N130 SETAL(61000) N140 ENDIF N150 G1 G91 Z=R10 F=R11 N160 M17 Der Zyklus CYCLE1 wird bei aktiver Einzelsatzbearbeitung abgearbeitet, d. h. es muss für die Bearbeitung von CYCLE1 einmal die Start-Taste gedrückt werden.
Seite 164
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Hauptprogramm: Programmcode Kommentar N10 G0 X0 ; In dieser Teileprogrammzeile stoppen. N20 X10 ; In dieser Teileprogrammzeile stoppen. N30 CYCLE ; Vom Zyklus generierter Verfahrsatz. N50 G90 X20 ; In dieser Teileprogrammzeile stoppen. Zyklus CYCLE: Programmcode Kommentar PROC CYCLE SBLOF ;...
Seite 165
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmcode Kommentar N320 X32 ; In diesem Satz wird gestoppt. N330 SBLOF ; Einzelsatz-Stopp unterdrücken. N340 X34 N350 M17 ; SBLOF ist aktiv. N240 X24 ; In diesem Satz wird gestoppt. SBLON ist aktiv. N250 M17 ;...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik aufrufenden Programms angehalten. Ist dies nicht erwünscht, muss im Unterprogramm noch vor dem Rücksprung (M17) wieder SBLON programmiert werden. Bei einem Rücksprung mit RET in ein übergeordnetes Programm wird nicht angehalten. 2.24.2.6 Aktuelle Satzanzeige unterdrücken (DISPLOF, DISPLON, ACTBLOCNO) In der Satzanzeige wird standardmäßig der aktuelle Programmsatz angezeigt.
Seite 167
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Beispiele Beispiel 1: Aktuelle Satzanzeige im Zyklus unterdrücken Programmcode Kommentar PROC CYCLE(AXIS TOMOV, REAL POSITION) ; Aktuelle Satzanzeige unterdrücken. Statt- SAVE DISPLOF dessen soll der Zyklus-Aufruf angezeigt wer- den, z. B.: CYCLE(X,100.0) DEF REAL DIFF ; Zyklen-Inhalt G01 ...
Seite 168
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmcode Kommentar N2060 ... N2350 SUBPROG2 ; Alarmausgabe = "12080 Kanal K1 Satz N2350 Syntax- fehler bei Text R10=" N3000 M30 Beispiel 3: Unterdrückung der aktuellen Satzanzeige aufheben Unterprogramm SUB1 mit Unterdrückung: Programmcode Kommentar PROC SUB1 DISPLOF ;...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Beispiel 4: Anzeigeverhalten bei unterschiedlichen DISPLON/DISPLOF-Kombinationen ① In der aktuellen Satzanzeige werden die Teileprogrammzeilen aus Programmebene 0 angezeigt. ② In der aktuellen Satzanzeige werden die Teileprogrammzeilen aus Programmebene 3 angezeigt. ③ In der aktuellen Satzanzeige werden die Teileprogrammzeilen aus Programmebene 3 angezeigt. ④...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Unterprogramme mit Vorbereitung einlesen und Unterprogrammaufruf Sowohl im Hochlauf vorbereiteter Unterprogramme mit Parametern als auch beim Unterprogrammaufruf werden die Zyklenverzeichnissen in der gleichen Reihenfolge behandelt: 1. _N_CUS_DIR Anwenderzyklen 2. _N_CMA_DIR Herstellerzyklen 3. _N_CST_DIR Standardzyklen Im Falle gleichnamiger NC-Programme mit unterschiedlicher Ausprägung wird die zuerst gefundene PROC-Anweisung aktiviert und die andere PROC-Anweisung wird ohne Alarmmeldung überlesen.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmcode Kommentar N50 SUB_PROG ; Unterprogrammaufruf: SUB_PROG N60 ... N100 M30 ; Programmende Unterprogramm: Programmcode Kommentar PROC SUB_PROG N100 RET ; Rücksprung erfolgt auf Satz N60 im Hauptprogramm. 2.24.2.10 Parametrierbarer Unterprogrammrücksprung (RET ...) Im Allgemeinen wird mit dem Befehl RET aus einem Unterprogramm in das aufrufende Programm zurückgesprungen.
Seite 173
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Unterprogrammende RET: Im Parameter wird als Sprungziel der Satz angegeben, an dem <Zielsatz>: die Programmbearbeitung fortgesetzt werden soll. Ist der Parameter <Anzahl der Rücksprungebenen> nicht pro‐ grammiert, dann befindet sich das Sprungziel in dem Programm, aus dem das aktuelle Unterprogramm aufgerufen wurde.
Seite 174
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Im Parameter wird die Anzahl der Programmebenen angegeben, <Anzahl der die zurückzuspringen sind, um dort den Zielsatz zu suchen und Rücksprungebenen>: die Programmbearbeitung fortzusetzen. Typ: Wert: Das Programm wird in der "aktuellen Pro‐ grammebene - 1" fortgesetzt (wie RET ohne Parameter).
Seite 175
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Beispiele Beispiel 1: Wiederaufsetzen im Hauptprogramm nach ASUP-Bearbeitung Programmierung Kommentar N10010 CALL "UP1" ; Programmebene 0 (Hauptprogramm) N11000 PROC UP1 ; Programmebene 1 N11010 CALL "UP2" N12000 PROC UP2 ; Programmebene 2 N19000 PROC ASUP ; Programmebene 3 (ASUP-Bearbeitung) N19100 RET("N10900", ,$P_STACK) ;...
Seite 176
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmcode Kommentar N2000 R10=R20+100 N2010 ... N2200 RET("subProg2") ; Rücksprung ins Hauptprogramm auf den Satz N1400 Unterprogramm subProg2: Programmcode Kommentar PROC subProg2 N2000 R10=R20+100 N2010 ... N2200 RET("iVar1") ; Rücksprung ins Hauptprogramm auf den Satz N1500 Unterprogramm subProg3: Programmcode Kommentar...
Seite 177
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Nach dem RET-Befehl wird die Programmbearbeitung mit dem Satz N200 im Hauptprogramm fortgesetzt. 2. <Zielsatz> = "N200", <Satz nach Zielsatz> = 1 Nach dem RET-Befehl wird die Programmbearbeitung mit dem Satz (N210) fortgesetzt, der auf den Satz N200 im Hauptprogramm folgt. 3.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik 2.24.2.11 Parametrierbarer Unterprogrammrücksprung (RETB ...) Im Allgemeinen wird mit dem Befehl RETB aus einem Unterprogramm in das aufrufende Programm zurückgesprungen. Die Bearbeitung wird dann mit der auf den Unterprogrammaufruf folgenden Programmzeile fortgesetzt. Soll die Programmbearbeitung an einer anderen Stelle fortgesetzt werden, stehen folgende Möglichkeiten zur Verfügung: ●...
Seite 179
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Unterprogrammende RETB: Im Parameter wird als Sprungziel der Satz angegeben, an dem <Zielsatz>: die Programmbearbeitung fortgesetzt werden soll. Ist der Parameter <Anzahl der Rücksprungebenen> nicht pro‐ grammiert, dann befindet sich das Sprungziel in dem Programm, aus dem das aktuelle Unterprogramm aufgerufen wurde.
Seite 180
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Im Parameter wird die Anzahl der Programmebenen angegeben, <Anzahl der die zurückzuspringen sind, um dort den Zielsatz zu suchen und Rücksprungebenen>: die Programmbearbeitung fortzusetzen. Typ: Wert: Das Programm wird in der "aktuellen Pro‐ grammebene - 1" fortgesetzt (wie RET ohne Parameter).
Flexible NC-Programmierung 2.24 Unterprogrammtechnik 2.24.3 Aufruf eines Unterprogramms 2.24.3.1 Unterprogrammaufruf ohne Parameterübergabe 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.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Beispiele Beispiel 1: Aufruf eines Unterprogramms ohne Parameterübergabe Beispiel 2: Aufruf eines Hauptprogramms als Unterprogramm 2.24.3.2 Unterprogrammaufruf mit Parameterübergabe (EXTERN) Beim Unterprogrammaufruf mit Parameterübergabe können Variablen oder Werte direkt übergeben werden (nicht bei VAR-Parametern). Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Seite 184
Flexible NC-Programmierung 2.24 Unterprogrammtechnik 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. ACHTUNG Verwechslungsgefahr Sowohl die Variablentypen als auch die Reihenfolge der Übergabe muss mit den Definitionen, die im Unterprogramm unter PROC vereinbart wurden, übereinstimmen.
Seite 185
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmcode Kommentar N40 RAHMEN(15.3,20.2,5) ; Aufruf des Unterprogramms mit Para- meterübergabe. Beispiel 2: Unterprogrammaufruf ohne Bekanntmachung Programmcode Kommentar N10 DEF REAL LAENGE, BREITE, TIEFE N20 … N30 LAENGE=15.3 BREITE=20.2 TIEFE=5 N40 RAHMEN(LAENGE,BREITE,TIEFE) ; oder: N40 RAHMEN(15.3,20.2,5) Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik 2.24.3.3 Anzahl der Programmwiederholungen (P) Soll ein Unterprogramm mehrfach hintereinander abgearbeitet werden, kann im Satz mit dem Unterprogrammaufruf unter der Adresse P die gewünschte Anzahl der Programmwiederholungen programmiert werden. VORSICHT Unterprogrammaufruf mit Programmwiederholung und Parameterübergabe Parameter werden nur beim Programmaufruf bzw. ersten Durchlauf übergeben. Für die weiteren Wiederholungen bleiben die Parameter unverändert.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Beispiel Programmcode Kommentar N40 RAHMEN P3 ; Das Unterprogramm RAHMEN soll dreimal hintereinander abgear- beitet werden. 2.24.3.4 Modaler Unterprogrammaufruf (MCALL) Durch den modalen Unterprogrammaufruf MCALL(<Programmname>) wird das angegebene Unterprogramm nicht sofort aufgerufen. Stattdessen erfolgt der Aufruf ab diesem Zeitpunkt im Teileprogramm automatisch nach jedem Verfahrsatz mit Bahnbewegungen.
Seite 188
Flexible NC-Programmierung 2.24 Unterprogrammtechnik ACHTUNG Modale Unterprogrammaufrufe ohne Bahnbewegung Das modale Unterprogramm wird in folgenden Situationen auch ohne Programmierung einer Bahnbewegung aufgerufen: ● Programmierung der Adressen S oder F, wenn G0 oder G1 aktiv ist ● Wenn G0 oder G1 allein im Satz steht oder zusammen mit weiteren G-Codes programmiert wurde.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Befehl für den indirekten Unterprogrammaufruf CALL: Name des Unterprogramms (Variable oder Konstante) <Programmname>: Typ: STRING Beispiel Direkter Aufruf mit STRING-Konstante: Programmcode Kommentar … CALL "/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF" ; Unterprogramm TEIL1 mit CALL direkt aufrufen. … Indirekter Aufruf über Variable: Programmcode Kommentar …...
Seite 191
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Befehl für den indirekten Unterprogrammaufruf CALL: Name des Unterprogramms (Variable oder Konstante), das den zu <Programmname>: bearbeitenden Programmteil enthält (Angabe optional). Typ: STRING Hinweis: Ist kein <Programmname> programmiert, wird der mit <Startmarke> und <Endmarke> gekennzeichnete Programmteil im aktuellen Programm gesucht und ausgeführt.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Syntax PCALL <Pfad/Programmname>(<Parameter 1>,…,<Parameter n>) Bedeutung Schlüsselwort für Unterprogrammaufruf mit absoluter Pfadanga‐ PCALL: Absolute Pfadangabe einschließlich Unterprogrammnamen. <Pfad/Programmname>: Regeln zur Pfadangabe siehe "Adressierung von Dateien des Programmspeichers (Seite 209)". Wurde kein absoluter Pfad angegeben, verhält sich PCALL wie ein Standard-Unterprogrammaufruf mit Programmbezeichner.
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Schlüsselwort für die programmierbare Suchpfad‐ CALLPATH: erweiterung. Wird in einer eigenen Teileprogrammzeile pro‐ grammiert. Konstante oder Variable vom Typ STRING. <Pfadname>: Enthält die absolute Pfadangabe des Verzeichnis‐ ses, um das der Suchpfad erweitert werden soll. Regeln zur Pfadangabe siehe "Adressierung von Dateien des Programmspeichers (Seite 209)".
Seite 195
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Als externer Speicher stehen zur Verfügung: ● Lokales Laufwerk ● Netzlaufwerk ● USB-Laufwerk Hinweis Als Schnittstelle zum Abarbeiten eines auf einem USB-Laufwerk befindlichen externen Programms dürfen nur die USB-Schnittstellen an der Bedientafelfront bzw. TCU verwendet werden. ACHTUNG Werkzeug-/Werkstückbeschädigung durch USB-FlashDrive Es wird empfohlen zum Abarbeiten eines externen Unterprogramms kein USB-FlashDrive...
Seite 196
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Befehl zum Aufrufen eines externen Unterprogramms EXTCALL: Konstante/Variable vom Typ STRING "<Pfad/><Programmname>": Absolute oder relative Pfadangabe <Pfad/>: (optional) Der Programmname wird ohne Prä‐ <Programmname>: fix "_N_" angegeben. Die Dateierweiterung ("MPF", "SPF") kann mit dem Zeichen "_" oder "."...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Programmverzeichnis wird für den Pfad des Unterprogramms "SP_1" verwendet und wird im Hauptprogramm auch nicht umgeschrieben. Daher muss beim Aufruf des Unterprogramms "SP_2" der vollständige Pfad angegeben werden. Hauptprogramm "MAIN" Programmcode N010 PROC MAIN N020 ... N030 EXTCALL("SP_1") N030 EXTCALL("USB:WKS.DIR/WST1.WPD/SP_2") N050 ...
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Einstellbarer Nachladespeicher (FIFO-Puffer) Für das Abarbeiten eines externen Unterprogramms wird ein Nachladespeicher benötigt. Die Größe des Nachladespeichers ist mit 30 kByte voreingestellt und kann nur vom Maschinenhersteller verändert werden (über MD18360 MM_EXT_PROG_BUFFER_SIZE). Hinweis Unterprogramme mit Sprunganweisungen Bei externen Unterprogrammen, die Spunganweisungen enthalten (GOTOF, GOTOB, CASE, FOR, LOOP, WHILE, REPEAT, IF, ELSE, ENDIF etc.), müssen die Sprungziele innerhalb des Nachladespeichers liegen.
Seite 199
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Als externer Speicher stehen zur Verfügung: ● Anwender CF-Karte ● Netzlaufwerk ● USB-Laufwerk Hinweis Als Schnittstelle zum Abarbeiten eines auf einem USB-Laufwerk befindlichen externen Programms darf nur die USB-Schnittstelle der Bedientafelfront (PPU) verwendet werden. ACHTUNG Werkzeug-/Werkstückbeschädigung durch USB-FlashDrive Es wird empfohlen zum Abarbeiten eines externen Unterprogramms kein USB-FlashDrive zu verwenden.
Seite 200
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Bedeutung Befehl zum Aufrufen eines externen Unterprogramms EXTCALL: Konstante / Variable vom Typ STRING "<Pfad/><Programmname>": Absolute oder relative Pfadangabe <Pfad/>: (optional) Der Programmname wird ohne Prä‐ <Programmname>: fix "_N_" angegeben. Die Dateierweiterung ("MPF", "SPF") kann mit dem Zeichen "_" oder "."...
Seite 201
Flexible NC-Programmierung 2.24 Unterprogrammtechnik Hauptprogramm "MAIN" Programmcode N010 PROC MAIN N020 ... N030 EXTCALL("SP_1") N030 EXTCALL("USB:WKS.DIR/WST1.WPD/SP_2") N050 ... N060 M30 Weitere Informationen EXTCALL-Aufruf mit absoluter Pfadangabe Ist das Unterprogramm unter dem angegebenen Pfad vorhanden, wird es mit dem EXTCALL- Aufruf ausgeführt. Ist das Unterprogramm unter dem angegebenen Pfad nicht vorhanden, wird die Programmausführung mit dem EXTCALL-Aufruf abgebrochen.
Flexible NC-Programmierung 2.25 Makrotechnik (DEFINE ... AS) Hinweis ShopMill-/ShopTurn-Programme ShopMill- und ShopTurn-Programme müssen wegen der am Dateiende angefügten Konturbeschreibungen vollständig im Nachladespeicher abgelegt sein. Für parallel abgearbeitete externe Unterprogramme wird jeweils ein eigener Nachladespeicher benötigt. Reset / Programmende / POWER ON Durch Reset und POWER ON werden externe Unterprogrammaufrufe abgebrochen und die jeweiligen Nachladespeicher gelöscht.
Seite 203
Flexible NC-Programmierung 2.25 Makrotechnik (DEFINE ... AS) Aktivierung Um die Makros einer Makrodatei im NC-Programm verwenden zu können, muss die Makrodatei in die NC geladen werden. Syntax Makro-Definition: DEFINE <Makroname> AS <Anweisung 1> <Anweisung 2> ... Aufruf im NC-Programm: <Makroname> Bedeutung Schlüsselwort-Kombination zur Definition eines Makros DEFINE ...
Seite 204
Flexible NC-Programmierung 2.25 Makrotechnik (DEFINE ... AS) Programmcode Kommentar Beispiel 2: Makrodefinitionen in einer Makrodatei Programmcode Kommentar DEFINE M6 AS L6 ; Beim Werkzeugwechsel wird ein Unterprogramm auf- gerufen, das den nötigen Datentransfer übernimmt. Im Unterprogramm wird die eigentliche Werkzeugwech- sel-M-Funktion ausgegeben (z.
Datei- und Programmverwaltung Programmspeicher 3.1.1 Programmspeicher im NCK 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.
Datei- und Programmverwaltung 3.1 Programmspeicher Beispiel: Das Werkstückverzeichnis _N_WELLE_WPD, das für das Werkstück WELLE angelegt wurde, enthält folgende Dateien: Datei Beschreibung _N_WELLE_MPF Hauptprogramm _N_PART2_MPF Hauptprogramm _N_PART1_SPF Unterprogramm _N_PART2_SPF Unterprogramm _N_WELLE_INI Allgemeines Initialisierungsprogramm der Daten für das Werkstück _N_WELLE_SEA Initialisierungsprogramm Settingdaten _N_PART2_INI Allgemeines Initialisierungsprogramm der Daten für Programm Part 2 _N_PART2_UFR...
Seite 208
Datei- und Programmverwaltung 3.1 Programmspeicher Literatur: Bedienhandbuch; Kapitel: "Programme verwalten" > "Laufwerke einrichten" Vom System werden dann automatisch die Verzeichnisse MPF.DIR, SPF.DIR und WKS.DIR auf dem Laufwerk angelegt. Diese drei Verzeichnisse bilden das GDIR. Das GDIR spielt ausschließlich für die Funktion EES eine Rolle. Je nach Laufwerkskonfiguration ersetzt oder erweitert das GDIR den NC-Teileprogrammspeicher.
Datei- und Programmverwaltung 3.1 Programmspeicher Case-insensitive Dateisysteme Hinweis Um Probleme durch die Groß- und Kleinschreibung bei der Datei-Adressierung (siehe "Adressierung von Dateien des Programmspeichers (Seite 209)") zu vermeiden, sollten case- insensitive Dateisysteme als externe Programmspeicher verwendet werden. 3.1.3 Adressierung von Dateien des Programmspeichers Eine Datei im Programmspeicher, die durch einen Dateihandlingsbefehl (z.
Datei- und Programmverwaltung 3.1 Programmspeicher Hinweis Adressierungen von Dateien des passiven Filesystems in EES-Notation werden intern nach folgenden Regeln in NCK-Notation umgewandelt: ● Verzeichnis- und Dateinamen werden mit der Domainkennung "_N_" erweitert. ● Ist das viertletzte Zeichen im Verzeichnis- bzw. Dateinamen ein Punkt ("."), wird es in einen Unterstrich ("_") umgewandelt.
Seite 211
Datei- und Programmverwaltung 3.1 Programmspeicher Laufwerksname Für die Angabe des Laufwerksnamens gelten folgende Regeln: ● Es sind alle in /user/sinumerik/hmi/cfg/logdrive.ini projektierten symbolischen Gerätenamen zulässig. ● Am Anfang steht das Zeichen "//", gefolgt von mindestens einem Buchstaben oder einer Ziffer. ● Die folgenden Zeichen können in beliebiger Kombination Buchstaben, Ziffern, "_" und Leerzeichen sein.
Seite 212
Datei- und Programmverwaltung 3.1 Programmspeicher Verzeichnispfad Für die Angabe des Verzeichnispfades gelten folgende Regeln: ● Am Anfang und am Ende des Verzeichnispfades und als Trennzeichen für die einzelnen Pfadanteile steht "/". Hinweis Ein doppelter Schrägstrich ("//") innerhalb des Verzeichnispfades ist nicht zulässig! ●...
Seite 213
Datei- und Programmverwaltung 3.1 Programmspeicher Dateiname Für Dateinamen gelten folgende Regeln: ● Nur bei der Adressierung in NCK-Notation beginnen die Dateinamen mit der Domainkennung "_N_". ● Die beiden folgenden Zeichen müssen zwei Buchstaben oder ein Unterstrich und ein Buchstabe sein. ●...
Datei- und Programmverwaltung 3.1 Programmspeicher 3.1.4 Suchpfad bei Unterprogrammaufruf Bei Unterprogrammaufrufen ohne Pfadangabe wird der absolute Pfad durch Abarbeiten eines festen Suchpfades ermittelt. Die Programmspeicher werden dabei in der folgenden Reihenfolge durchsucht: Verzeichnis Beschreibung name aktuelles Verzeichnis / Das aktuelle Verzeichnis ist das Verzeichnis, in dem die Programmanwahl erfolgt ist.
Datei- und Programmverwaltung 3.1 Programmspeicher 3.1.5 Abfrage von Pfad und Dateiname Zur Abfrage des Pfades und des Dateinamens eines NC-Programms stehen folgende im Teileprogramm lesbare Systemvariablen zur Verfügung: Systemvariable Bedeutung $P_STACK Liefert die Programmebene, in der das aktuelle NC-Programm bearbeitet wird. $P_PATH[ <n>] STRING Liefert den Pfad des NC-Programms, welches in der durch den...
Datei- und Programmverwaltung 3.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Systemvariable Bedeutung $P_IS_EES_PATH[ <n>] BOOL Abfrage, ob der von $P_PATH[<n>] gelieferte Pfad bzw. der von $P_PROG[<n>] gelieferte Programmname der NCK-No‐ tation oder der EES-Notation entspricht. = FALSE $P_PATH[<n>] und $P_PROG[<n>] liefern NCK- Notation.
Datei- und Programmverwaltung 3.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) ● Nullpunktverschiebungen ● ... Initialisierungsprogramme Hierbei handelt es sich um Programme, mit denen die Daten des Arbeitsspeichers vorbesetzt (initialisiert) werden. Hierfür können folgende Dateitypen verwendet werden: Dateityp Beschreibung name_TEA Maschinendaten name_SEA Settingdaten name_TOA Werkzeugkorrekturen name_UFR...
Seite 218
Datei- und Programmverwaltung 3.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Vorgehensweise bei mehrkanaligen Steuerungen (CHANDATA) CHANDATA(<Kanalnummer>) für mehrere Kanäle ist nur in der Datei _N_INITIAL_INI zulässig. Das ist die Inbetriebnahmedatei, mit der alle Daten der Steuerung initialisiert werden. Programmcode Kommentar %_N_INITIAL_INI CHANDATA(1) ;...
Datei- und Programmverwaltung 3.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Initialisierungsprogramme einlesen ACHTUNG Datenverlust Wird die Datei mit dem Namen "INITIAL_INI" eingelesen, so werden alle Daten, die in der Datei nicht versorgt werden, mit Standarddaten initialisiert. Ausgenommen davon sind nur die Maschinendaten. Es werden also Settingdaten, Werkzeugdaten, NPV, GUD-Werte, ... mit Standarddaten (normalerweise "NULL") versorgt.
Seite 220
Datei- und Programmverwaltung 3.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Schutzbereiche Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) 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.
Schutzbereiche 4.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Bedeutung Lokale Variable vom Datentyp INTEGER definieren DEF INT NOT_USED: 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 4.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Weitere Informationen Definition von Schutzbereichen Zur Definition von Schutzbereichen gehören: ● CPROTDEF für kanalspezifische Schutzbereiche ● NPROTDEF für maschinenspezifische Schutzbereiche ● Konturbeschreibung des Schutzbereichs ● Abschluss der Definition mit EXECUTE Bei Aktivierung des Schutzbereichs im NC-Teileprogramm können Sie den Bezugspunkt des Schutzbereichs relativ verschieben.
Schutzbereiche 4.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) 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 225
Schutzbereiche 4.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Randbedingungen Schutzbereichsüberwachung bei aktiver Werkzeugradiuskorrektur Bei aktiver Werkzeugradiuskorrektur ist eine funktionsfähige Schutzbereichsüberwachung nur möglich, wenn die Ebene der Werkzeugradiuskorrektur identisch ist mit der Ebene der Schutzbereichsdefinitionen. Beispiel Für eine Fräsmaschine soll eine mögliche Kollision des Fräsers mit dem Messtaster überwacht werden.
Seite 227
Schutzbereiche 4.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Weitere Informationen Aktivierungsstatus (<state>) ● <state>=2 Ein Schutzbereich wird im Allgemeinen im Teileprogramm mit Status = 2 aktiviert. Der Status ist immer kanalspezifisch, auch bei maschinenbezogenen Schutzbereichen. ● <state>=1 Wenn durch das PLC-Anwenderprogramm vorgesehen ist, dass ein Schutzbereich durch das PLC-Anwenderprogramm wirksam gesetzt werden kann, so erfolgt die dafür erforderliche Voraktivierung durch den Status = 1.
Schutzbereiche 4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwareendschalter (CALCPOSI) Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwareendschalter (CALCPOSI) Die Funktion CALCPOSI() überprüft im Werkstückkoordinatensystem (WKS) bezüglich der Geometrieachsen, ob, ausgehend von der Startposition, entlang des Verfahrwegs aktive Begrenzungen verletzt würde. Kann der Verfahrweg aufgrund von Begrenzungen nicht vollständig abgefahren werden, wird ein positiver, dezimal codierter Statuswert und der maximal mögliche Verfahrweg zurückgegeben.
Seite 229
Schutzbereiche 4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwareendschalter (CALCPOSI) Einerstelle <Status>: (Teil 2) Hinweis Sind gleichzeitig mehrere Begrenzungen verletzt, wird diejenige gemeldet, die zur stärksten Einschränkung des vorgegebenen Verfahrweges führt. Softwareendschalter begrenzen den Verfahrweg Arbeitsfeldbegrenzung begrenzt den Verfahrweg Schutzbereiche begrenzen den Verfahrweg Funktion Kollisionsvermeidung: Schutzbereiche begrenzen den Verfahrweg Zehnerstelle...
Seite 230
Schutzbereiche 4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwareendschalter (CALCPOSI) Referenz auf einen Vektor mit den Startpositionen: <Start>: ● <Start> [0]: Abszisse ● <Start> [1]: Ordinate ● <Start> [2]: Applikate Parametertyp: Eingang Datentyp: VAR REAL[3] Wertebereich: -max. REAL-Wert ≤ x[n] ≤ +max. REAL-Wert Referenz auf einen Vektor mit dem inkrementellen Verfahrweg: <Dist>: ●...
Seite 231
Schutzbereiche 4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwareendschalter (CALCPOSI) Referenz auf ein Feld der Länge 5. <Limit>: ● <Limit> [0 - 2]: Mindestabstand der Geometrieachsen, Abszisse, Ordinate, Applikate Die ersten drei Elemente enthalten die Mindestabstände der Geometrieachse, die gegenüber den überwachten Begrenzungen eingehalten werden müssen. Sie werden bezüglich der Arbeitsfeldbegrenzung immer und bezüglich der Softwareendschalter verwendet, wenn entweder keine Transformation, oder aber eine Transformation aktiv ist, bei der eine eindeutige Zuordnung der...
Seite 232
Schutzbereiche 4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwareendschalter (CALCPOSI) Maßsystem (inch / metrisch) für Positions- und Längenangaben (optional) <System>: Datentyp: BOOL Defaultwert: FALSE Wert Bedeutung FALSE Maßsystem entsprechend der aktuell aktiven G-Funktion aus G-Gruppe 13 (G70, G71, G700, G710). Hinweis Bei aktivem G70 und Grundsystem metrische oder aktivem G71 und Grundsystem inch, werden die Systemvariablen $AA_IW und $AA_MW im Grundsystem geliefert und müssen...
Spezielle Wegbefehle Codierte Positionen anfahren (CAC, CIC, CDC, CACP, CACN) Ü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>) CACP(<n>)
Spezielle Wegbefehle 5.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) 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.
Seite 235
Spezielle Wegbefehle 5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, EAUTO / ENAT / ETAN Bedeutung Spline-Interpolationstyp: Befehl zum Einschalten der A-Spline-Interpolation ASPLINE: Befehl zum Einschalten der B-Spline-Interpolation BSPLINE: Befehl zum Einschalten der C-Spline-Interpolation CSPLINE: Die Befehle ASPLINE, BSPLINE und CSPLINE sind modal wirksam und gehören zur Gruppe der Wegbefehle.
Spezielle Wegbefehle 5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Krümmung Null ENAT: Tangentialer Übergang zum Satz vorher (Löschstellung) ETAN: Hinweis Das programmierbare Übergangsverhalten hat keinen Einfluss auf den B-Spline. Der B-Spline ist in Start- und Endpunkt immer tangential zum Kontrollpolygon. Randbedingungen ●...
Seite 239
Spezielle Wegbefehle 5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Unterprogramm "Kontur" (enthält die Stützpunkt-Koordinaten): Programmcode N10 X20 Y18 N20 X10 Y21 N30 X6 Y31 N40 X18 Y31 N50 X13 Y43 N60 X22 Y42 N70 X16 Y58 N80 X33 Y51 N90 M1 In der folgenden Abbildung sind neben der Spline-Kurve, die aus dem Programmbeispiel...
Seite 240
Spezielle Wegbefehle 5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, Eigenschaften und Anwendung der verschiedenen Spline-Typen Spline-Typ Eigenschaften und Anwendung A-Spline Eigenschaften: ● Verläuft exakt durch die vorgegebenen Stützpunkte. ● Der Kurvenverlauf ist tangenten- aber nicht krümmungsstetig. ●...
Seite 241
Spezielle Wegbefehle 5.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 242
Spezielle Wegbefehle 5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, 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.
Seite 243
Spezielle Wegbefehle 5.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.
Spezielle Wegbefehle 5.3 Spline-Verbund (SPLINEPATH) Zusammenfassung kurzer Spline-Sätze Bei der Spline-Interpolation können kurze Spline-Sätze entstehen, die zu einer unnötigen Reduzierung der Bahngeschwindigkeit führen. Mit der Funktion "Zusammenfassung kurzer Spline-Sätze" können diese Sätze so zusammengefasst werden, dass die resultierende Satzlänge ausreichend groß ist und nicht zu einer Verringerung der Bahngeschwindigkeit führt. Die Funktion wird aktiviert über das kanalspezifische Maschinendatum: MD20488 $MC_SPLINE_MODE (Einstellung für Spline-Interpolation) Literatur:...
Spezielle Wegbefehle 5.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) PO[Achsbezeichner/Variable] : Endpunkte und Polynom-Koeffizienten X, Y, Z : Achsbezeichner xe, ye, ze : Angabe der Endposition für die jeweilige Achse; Wertebereich wie Wegmaß a2, a3, a4, a5 : Die Koeffizienten a , und a werden mit ihrem Wert geschrieben;...
Spezielle Wegbefehle 5.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Verlauf der Kurve in der XY-Ebene Beschreibung Die allgemeine Form der Polynom-Funktion lautet: f(p)= a p + a +. . . + a mit: : konstante Koeffizienten p: Parameter Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Spezielle Wegbefehle 5.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) 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 Geraden, Parabeln und Potenzfunktionen, erzeugbar. Eine Gerade wird erzeugt durch a = 0: f(p)= a Weiter gilt:...
Spezielle Wegbefehle 5.6 Einstellbarer Bahnbezug (SPATH, UPATH) Bei eingeschalteter Polynom-Interpolation wird die Programmierung eines Nenner-Polynoms mit Nullstellen innerhalb des Intervalls [0,PL] mit einem Alarm abgelehnt. Auf die Bewegung von Zusatzachsen hat das Nenner-Polynom keinen Einfluss. Hinweis Eine Werkzeugradiuskorrektur ist bei der Polynom-Interpolation mit G41, G42 einschaltbar und wie für Geraden- oder Kreisinterpolation verwendbar.
Seite 252
Spezielle Wegbefehle 5.6 Einstellbarer Bahnbezug (SPATH, UPATH) Bedeutung Die nicht in FGROUP enthaltenen Achsen werden bezogen auf den Bahnweg S verfahren SPATH: Die nicht in FGROUP enthaltenen Achsen werden bezogen auf den Kurvenparameter UPATH: U verfahren Hinweis UPATH und SPATH bestimmen auch den Zusammenhang des F-Wort-Polynoms (FPOLY, FCUB, FLIN) mit der Bahnbewegung.
Seite 253
Spezielle Wegbefehle 5.6 Einstellbarer Bahnbezug (SPATH, UPATH) Weitere Informationen Steuerungsverhalten bei Reset und Maschinen-/Optionsdaten Nach Reset ist die durch MD20150 $MC_GCODE_RESET_VALUES[ 44 ] bestimmte G- Funktion wirksam (45. G-Code-Gruppe). Der Grundstellungswert für die Art des Überschleifens wird mit MD20150 $MC_GCODE_RESET_VALUES[9] festgelegt (10. G-Code-Gruppe). Das achsspezifische Maschinendatum MD33100 $MA_COMPRESS_POS_TOL[<n>] hat eine erweiterte Bedeutung: es enthält die Toleranzen für die Kompressorfunktion und für das Überschleifen mit G642.
Spezielle Wegbefehle 5.7 Messen mit schaltendem Taster (MEAS, MEAW) Messen mit schaltendem Taster (MEAS, MEAW) 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 255
Spezielle Wegbefehle 5.7 Messen mit schaltendem Taster (MEAS, MEAW) Trigger-Ereignis zur Auslösung der Messung <TE>: Typ: Wertebereich: -2, -1, 1, 2 Bedeutung: (+)1 steigende Flanke von Messtaster 1 (auf Messeingang 1) fallende Flanke von Messtaster 1 (auf Messeingang 1) (+)2 steigende Flanke von Messtaster 2 (auf Messeingang 2) fallende Flanke von Messtaster 2 (auf Messeingang 2) Hinweis:...
Seite 256
Spezielle Wegbefehle 5.7 Messen mit schaltendem Taster (MEAS, MEAW) Messwerteaufnahme Es werden die Positionen aller verfahrenen Bahn- und Positionierachsen des Satzes (maximale Anzahl an Achsen je nach Steuerungskonfiguration) erfasst. Bei MEAS wird die Bewegung nach dem Schalten des Messtasters definiert abgebremst. Hinweis Ist in einem Messsatz eine Geometrieachse programmiert, werden die Messwerte für alle aktuellen Geometrieachsen abgelegt.
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Axiales Messen (MEASA, MEAWA, MEAC) (Option) Beim axialen Messen können mehrere Messtaster und mehrere Messsysteme benutzt werden. Für die Programmierung der Funktion stehen die Schlüsselwörter MEASA, MEAWE und MEAC zur Verfügung. Mit MEASA bzw.
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Schlüsselwort: Axiales kontinuierliches Messen ohne Restweglöschen MEAC: Wirksamkeit: satzweise Name der zur Messung verwendeten Kanalachse <Achse>: Zweistellige Ziffer zur Angabe des Betriebsmodus (Messmodus und <Modus>: Messsystem) Einerdekade (Messmodus): Messauftrag abbrechen. Bis zu 4 verschiedene gleichzeitig aktivierbare Trigger-Ereignisse. Bis zu 4 nacheinander aktivierbare Trigger-Ereignisse.
Seite 259
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Programmcode Kommentar N130 R10=$AA_MM1[X] ; Zum ersten programmierten Trigger-Ereig- nis (steigende Flanke) gehörigen Messwert speichern. N140 R11=$AA_MM2[X] ; Zum zweiten programmierten Trigger-Er- eignis (fallende Flanke) gehörigen Mess- wert speichern. N150 ENDE: b) mit 2 Messsystemen Programmcode Kommentar...
Seite 260
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Programmcode Kommentar N140 R11=$AA_MM2[X] ; Zum zweiten programmierten Trigger-Er- eignis (steigende Flanke Messtaster 1) gehörigen Messwert speichern. N150 MESSTASTER2: N160 IF $AC_MEA[2]==FALSE GOTOF ENDE ; Erfolg der Messung mit Messtaster 2 kon- trollieren.
Seite 261
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) c) Messen einer fallenden/steigenden Zahnflanke mit 2 Messtastern Programmcode Kommentar N110 DEF REAL MESSWERT[16] N120 DEF INT Schleife=0 N130 MEAC[X]=(1,1,-1,2) G01 X100 F100 ; Messen im Modus 1 mit aktivem Messsys- tem, Speichern der Messwerte unter $AC_FI- FO1, Warten auf Messsignal in der Reihen- folge fallende Flanke von Messtaster 1,...
Seite 262
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Für jede Messung können jeweils bis zu 4 Trigger-Ereignisse der angesprochenen Messtaster verarbeitet werden, also bis zu zwei Messtaster mit je zwei Messflanken. Die Reihenfolge der Verarbeitung sowie die maximale Anzahl der Trigger-Ereignisse sind dabei abhängig vom gewählten Modus.
Seite 263
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Mit der zweiten Ziffer (Einerdekade) wird der gewünschte Messmodus angewählt. Damit wird der Messvorgang an die Möglichkeiten der jeweiligen Steuerung angepasst: ● Modus 1 Die Auswertung der Trigger-Ereignisse erfolgt in der zeitlichen Reihenfolge ihres Auftretens.
Seite 264
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Messergebnisse für MEASA, MEAWA Die Messergebnisse stehen unter folgenden Systemvariablen zur Verfügung: ● im Maschinen-Koordinatensystem: Messwert des programmierten Messsystems bei Trigger-Ereignis 1 $AA_MM1[<Achse>] Messwert des programmierten Messsystems bei Trigger-Ereignis 4 $AA_MM4[<Achse>] ●...
Seite 265
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) $A_PROBE[<n>] Wert Bedeutung Messtaster ausgelenkt Messtaster nicht ausgelenkt Die Messtasterbegrenzung steht unter der folgenden Systemvariablen zur Verfügung: $A_PROBE_LIMITED[<n>] Wert Bedeutung Messtasterbegrenzung aktiv Messtasterbegrenzung inaktiv <n> = Messtaster Literatur: Listenhandbuch Systemvariablen Messauftragsstatus bei MEASA, MEAWA Ist im Programm eine Auswertung erforderlich, so kann der Messauftragsstatus über $AC_MEA[<n>], mit <n>...
Seite 266
Spezielle Wegbefehle 5.8 Axiales Messen (MEASA, MEAWA, MEAC) (Option) Der FIFO-Speicher ist ein Umlaufspeicher, in den Messwerte im Umlaufprinzip in $AC_FIFO- Variablen eingetragen werden (siehe Kapitel "Synchronaktionen (Seite 531)"). 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 5.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 5.10 Vorschubreduzierung mit Eckenverzögerung (FENDNORM, G62, G621) 5.10 Vorschubreduzierung mit Eckenverzögerung (FENDNORM, G62, G621) Bei der automatischen Eckenverzögerung wird der Vorschub glockenförmig kurz vor der betreffenden Ecke abgesenkt. Außerdem kann das Ausmaß des für die Bearbeitung relevanten Werkzeugverhaltens über Settingdaten parametriert werden. Dies sind: ●...
Spezielle Wegbefehle 5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) 5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Ä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 270
Spezielle Wegbefehle 5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Beispiele Beispiel 1: Bewegungsendekriterium: "Interpolator-Stopp" Programmcode ; Fahre Positionierachse X auf 100, Geschwindigkeit 200 m/min, Beschleunigung 90%, ; Bewegungsendekriterium: Interpolator-Stopp N110 G01 POS[X]=100 FA[X]=200 ACC[X]=90 IPOENDA[X] ; Synchronaktion: ; IMMER WENN: Eingang 1 gesetzt ist ;...
Seite 271
Spezielle Wegbefehle 5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) den Satzwechselzeitpunkt kein Wert angegeben, wird der aktuelle Wert des Settingdatums wirksam. SD43600 $SA_IPOBRAKE_BLOCK_EXCHANGE Mit der nächsten Programmierung eines axialen Bewegungsendekriteriums (FINEA, COARSEA , IPOENDA) wird IPOBRKA für die entsprechende Achse deaktiviert. Zusätzliches Satzwechselkriterium: "Toleranzfenster"...
Koordinatentransformationen (Frames) Koordinatentransformation über Framevariable Neben den im Programmierhandbuch Grundlagen, Kapitel "Koordinatentransformationen (Frames)" beschriebenen Befehlen wie z.B. ROT, AROT, SCALE, etc. kann das Werkstück- Koordinatensystem (WKS) auch über die Framevariablen $P_...FR (Datenhaltungsframes) und $P_...FRAME (Aktive Frames) transformiert werden. Das folgende Bild gibt einen Überblick über die Strukturierung der Framevariablen: ●...
Seite 274
Koordinatentransformationen (Frames) 6.1 Koordinatentransformation über Framevariable Bild 6-1 Übersicht der Framevariablen Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Koordinatentransformationen (Frames) 6.1 Koordinatentransformation über Framevariable 6.1.1 Vordefinierte Framevariable ($P_CHBFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) Aktiv: kanalspezifische Basisframes $P_CHBFRAME[ <n> ] ($P_BFRAME) Hinweis Die der aktuelle Basisframe $P_BFRAME und der Datenhaltungs-Basisframe $P_UBFR werden aus Kompatibliltätsgründen beibehalten. ● $P_BFRAME $P_CHBFRAME[0] ● $P_UBFR $P_CHBFR[0]. Die Framevariablen $P_CHBFRAME[<n>] definieren den Bezug zwischen Basiskoordinatensystem (BKS) und Basis-Nullpunktsystem (BNS).
Seite 276
Koordinatentransformationen (Frames) 6.1 Koordinatentransformation über Framevariable Aktiv: kanalspezifischer Programmierbarer Frame $P_PFRAME Die Framevariable $P_PFRAME, definiert den Bezug zwischen dem Einstellbaren Nullpunktsystem (ENS) und dem Werkstückkoordinatensystem (WKS). $P_PFRAME enthält den resultierenden Frame, der sich ● aus der Programmierung von TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/ AMIRROR bzw.
Seite 277
Koordinatentransformationen (Frames) 6.1 Koordinatentransformation über Framevariable $P_ACTFRAME beschreibt den Nujllpunkt des aktuellen Werkstückkoordinatensystems. Bild 6-2 Framevariable $P_ACTFRAME Wird einer der folgenden Frames $P_BFRAME / $P_CHBFRAME[<n>], $P_IFRAME oder $P_PFRAME verändert, wird der aktuelle Gesamtframe $P_ACTFRAME neu berechnet. Basisframe und Einstellbarer Frame wirken nach Reset, wenn das MD 20110 RESET_MODE_MASK folgendermaßen eingestellt ist: Bit0=1, Bit14=1 -->...
Koordinatentransformationen (Frames) 6.2 Wertzuweisungen an Frames Datenhaltung: Kanalspezifische Basisframes $P_CHBFR[<n>] Über die Framevariablen $P_CHBFR[<n>] werden die Basisframes in der Datenhaltung gelesen / geschrieben. Der Datenhaltungsframe wird durch das Schreiben nicht sofort im Kanal aktiv. Das Aktivieren des geschriebenen Frames erfolgt bei: ●...
Seite 279
Koordinatentransformationen (Frames) 6.2 Wertzuweisungen an Frames $P_PFRAME = CSCALE(X, <Maßstab>, Y, <Maßstab>, Z, <Maßstab>, ...) $P_PFRAME = CMIRROR(X, Y, Z) Die Syntax für $P_CHBFRAME[<n>] ist identisch zu $P_PFRAME. Bedeutung Verschiebung in den angegebenen Achsen CTRANS: Drehung um die angegebenen Achsen CROT: Maßstabsveränderung in den angegebenen Achsen CSCALE:...
Koordinatentransformationen (Frames) 6.2 Wertzuweisungen an Frames Alternativ dazu die direkte Zuweisung der Einzelwerte direkt an die jewseilige Achse der Drehkomponente des Datenhaltungsframes: $P_UIFR[5, Y, RT]=0 $P_UIFR[5, X, RT]=0 $P_UIFR[5, Z, RT]=0 Beschreibung Mehrere Operationen auf einen Frame können durch den Kettungsoperator : miteinander verbunden werden.
Seite 281
Koordinatentransformationen (Frames) 6.2 Wertzuweisungen an Frames Der Verschiebewert TR in Y des aktuellen program‐ R15=$P_PFRAME[Y,TR] mierbaren Frames soll der Variablen R15 zugewie‐ sen werden. Der Verschiebewert TR in X des aktuellen program‐ $P_PFRAME[X,TR]=25 mierbaren Frames soll verändert werden. Ab sofort gilt X25.
Koordinatentransformationen (Frames) 6.2 Wertzuweisungen an Frames 6.2.3 Rechnen mit Frames Im NC-Programm kann ein Frame einem anderen Frame zugewiesen oder Frames miteinander verkettet werden. Frameverkettungen eignen sich z. B. für die Beschreibung mehrerer Werkstücke, die auf einer Palette angeordnet sind und in einem Fertigungsablauf bearbeitet werden sollen. Für die Beschreibung von Palettenaufgaben könnten die Framekomponenten z.
Koordinatentransformationen (Frames) 6.2 Wertzuweisungen an Frames Verkettungen Die Frames werden in der programmierten Reihenfolge durch den Operator : miteinander verkettet. Die Framekomponenten wie z. B. Verschiebungen, Drehungen usw. werden nacheinander additiv ausgeführt. Programmconde Kommentar $P_IFRAME = $P_UIFR[15] : ; Zuweisung des Ergebnis-Frames aus der Verkettung $P_UIFR[16] ;...
Koordinatentransformationen (Frames) 6.3 Grob- und Feinverschiebung (CTRANS, CFINE) Programmconde Kommentar PALETTE = CTRANS(...) : CROT(...) ; Zuweisung des Ergebnisframes der Verkettung von ; Verschiebung und Drehung an die Framevariable PALETTE Grob- und Feinverschiebung (CTRANS, CFINE) Feinverschiebung Eine Feinverschiebung CFINE(...) kann auf folgende Frames angewandt werden: ●...
Seite 286
Koordinatentransformationen (Frames) 6.4 Externe Nullpunktverschiebung ($AA_ETRANS) Die Externen Nullpunktverschiebung mittels $AA_ETRANS wirkt, abhängig von der Maschinendaten-Parametrierung, auf zwei Arten: 1. Die Systemvariablen $AA_ETRANS wirkt nach Aktivierung durch das NC/PLC- Nahtstellensignal direkt als Verschiebungswert 2. Der Wert der Systemvariablen $AA_ETRANS wird nach Aktivierung durch das NC/PLC- Nahtstellensignal in die aktiven Systemframes $P:EXTFRAME und den Datenhaltungsframe $P_EXTFR übernommen.
Koordinatentransformationen (Frames) 6.5 Istwertsetzen mit Verlust des Referenzierstatus (PRESETON) Istwertsetzen mit Verlust des Referenzierstatus (PRESETON) Die Prozedur PRESETON() setzt für eine oder mehrere Achsen einen neuen Istwert im Maschinenkoordinatensystem (MKS). Dies entspricht einer Nullpunktverschiebung des MKS der Achse. Die Achse wird dadurch nicht verfahren. Durch PRESETON wird ein Vorlaufstop mit Synchronisation ausgelöst.
Koordinatentransformationen (Frames) 6.6 Istwertsetzen ohne Verlust des Referenzierstatus (PRESETONS) Literatur PRESETONS in NC-Programmen Eine ausführliche Beschreibung von PRESETON in NC-Programmen findet sich in: Funktionshandbuch Grundfunktionen; Kapitel "K2: Achsen, Koordinatensysteme, Frames" > "Koordinatensysteme" > "Maschinenkoordinatensystem (MKS)" > "Istwertsetzen mit Verlust des Referenzierstatus (PRESETON)" PRESETONS in Synchronaktionen Eine ausführliche Beschreibung von PRESETON in Synchronaktionen findet sich in: Funktionshandbuch Synchronaktionen;...
Koordinatentransformationen (Frames) 6.7 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Programmierung Syntax PRESETONS(<Achse_1>, <Wert_1> [, <Achse_2>, <Wert_2>, ... <Achse_8>, <Wert_8>]) Bedeutung Istwertsetzen ohne Verlust des Referenzierstatus PRESETONS: Vorlaufstopp: Alleine im Satz: Maschinenachsname <Achse_x>: Typ: AXIS Wertebereich: im Kanal definierte Maschinenachsnamen Neuer aktueller Istwert der Maschinenachse im Maschinenkoordinatensystem <Wert_x>: (MKS)
Seite 290
Koordinatentransformationen (Frames) 6.7 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Syntax MEAFRAME(<Ideal-Punkte>,<Messpunkte>,<Qualität>) Bedeutung Funktionsaufruf MEAFRAME: 2-dim. REAL-Feld, das die drei Koordinaten der Ideal-Punkte enthält <Ideal-Punkte>: 2-dim. REAL-Feld, das die drei Koordinaten der gemessenen Punkte ent‐ <Messpunkte>: hält Variable, mit der Informationen zur Qualität der FRAME-Berechnung zu‐ <Qualität>: rückgegeben werden Typ:...
Seite 291
Koordinatentransformationen (Frames) 6.7 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Beispiele Beispiel 1: Teileprogramm 1: Programmcode DEF FRAME CORR_FRAME Setzen von Messpunkten: Programmcode Kommentar DEF REAL IDEAL_POINT[3,3]= SET(10.0,0.0,0.0,0.0,10.0,0.0,0.0,0.0,10.0) DEF REAL MEAS_POINT[3,3]= ; Für Test. SET(10.1,0.2,-0.2,-0.2,10.2,0.1,-0.2,0.2,9.8) DEF REAL FIT_QUALITY=0 DEF REAL ROT_FRAME_LIMIT=5 ;...
Seite 292
Koordinatentransformationen (Frames) 6.7 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Programmcode Kommentar SETAL(65021) GOTOF NO_FRAME ENDIF N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT ; Begrenzung des 3. RPY- Winkels. SETAL(65022) GOTOF NO_FRAME ENDIF N300 $P_IFRAME=CORR_FRAME ; Abtast-Frame mit einem setzbaren Frame aktivieren. ;...
Koordinatentransformationen (Frames) 6.8 NCU-globale Frames In den Frames darf hierbei nicht aktiv sein: ● Spiegelung mit MIRROR ● Skalierung mit SCALE Die Eingangsparameter für Soll- und Istwerte sind die Werkstückkoordinaten. Im Grundsystem der Steuerung sind diese Koordinaten stets metrisch oder in Inch (G71/G70) und als radiusbezogenes (DIAMOF) Maß...
Koordinatentransformationen (Frames) 6.8 NCU-globale Frames NCU-globale einstellbare Frames $P_UIFR[n] Alle einstellbaren Frames G500, G54...G599 können entweder NCU-global oder kanalspezifisch projektiert werden. Maschinenhersteller Alle einstellbaren Frames können mit Hilfe des Maschinendatums MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES zu globalen Frames umprojektiert werden. Als Achsbezeichner bei den Frame-Programmbefehlen können Kanalachsbezeichner und Maschinenachsbezeichner verwendet werden.
Koordinatentransformationen (Frames) 6.8 NCU-globale Frames 6.8.2 Im Kanal wirksame Frames 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 296
Koordinatentransformationen (Frames) 6.8 NCU-globale Frames durch den Schreibvorgang im Kanal eingerechnet. Beim Schreiben eines Basisframes wird der Gesamt-Basisframe neu berechnet. $P_BFRAME Aktueller 1. Basisframe im Kanal Über die vordefinierte Framevariable $P_BFRAME kann der aktuelle Basisframe mit dem Feldindex 0, der im Kanal gültig ist, im Teileprogramm gelesen und geschrieben werden. Der geschriebene Basisframe wird sofort eingerechnet.
Seite 297
Koordinatentransformationen (Frames) 6.8 NCU-globale Frames Mit der Programmierung der Variablen werden der Gesamt-Basisframe und der Gesamt- Frame neu berechnet. Nach Reset und in der Grundeinstellung ist der Wert von $P_CHBFRMASK und $P_NCBFRMASK wie folgt: $P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK $P_NCBFRMASK = $MC_CHBFRAME_RESET_MASK Beispiel: $P_NCBFRMASK = 'H81' ;$P_NCBFRAME[0] : $P_NCBFRAME[7] $P_CHBFRMASK = 'H11' ;$P_CHBFRAME[0] : $P_CHBFRAME[4]...
Koordinatentransformationen (Frames) 6.8 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, 10/2015, 6FC5398-2BP40-5AA3...
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 7.1 Allgemeine Programmierung der Transformationsarten Achsen. Die zusätzlichen Achsen beschreiben die Orientierung im Raum und werden nachfolgend Orientierungsachsen genannt. Sie stehen als Drehachsen bei vier Maschinentypen mit verschiedener Kinematik zur Verfügung. 1. Zweiachsen-Schwenkkopf, z. B. Kardanischer Werkzeugkopf mit einer Rundachse parallel zu einer Linearachse bei festem Werkzeugtisch.
Transformationen 7.1 Allgemeine Programmierung der Transformationsarten Kartesisches PTP-Fahren Zur kinematischen Transformation gehört auch das "Kartesisches PTP-Fahren" bei dem bis zu 8 unterschiedliche Gelenkstellungen STAT= programmiert werden können. Die Positionen werden im kartesischen Koordinatensystem programmiert, wobei die Bewegung der Maschine in Maschinenkoordinaten erfolgt. Literatur: /FB2/ Funktionshandbuch Erweiterungsfunktionen;...
Transformationen 7.1 Allgemeine Programmierung der Transformationsarten Maschinenkinematik bei Drei-, Vier- und Fünf-Achs-Transformation TRAORI Es kann entweder das Werkzeug oder der Werkzeugtisch mit bis zu zwei Rundachsen drehbar sein. Eine Kombination von jeweils einachsigem Schwenkkopf und Drehtisch ist auch möglich. Maschinentyp Programmierung der Orientierung Drei-Achs-Transformation Programmierung der Werkzeugorientierung nur in der Ebene, die...
Seite 305
Transformationen 7.1 Allgemeine Programmierung der Transformationsarten Generische 5/6-AchsTransformationen Maschinentyp Programmierung der Orientierungstransformation Generische Fünf-/Sechs- Programmierung der Orientierungstransformation. Kinematik mit Achs Transformation Ma‐ drei Linearachsen und drei orthogonalen Rundachsen. schinentypen 4 Die Rundachsen sind parallel zu zwei der drei Linearachsen. Die Zweiachs-Schwenkkopf mit erste Rundachse wird von zwei kartesischen Linearachsen be‐...
Transformationen 7.1 Allgemeine Programmierung der Transformationsarten TRAORI Aktivierung der Transformation STAT Stellung der Gelenke ist abhängig von der Transformation Um welchen Winkel die Achsen auf den kürzesten Weg verfahren PTP-Fahren bei generischer 5/6-AchsTransformation Die Bewegung der Maschine erfolgt in Maschinenkoordinaten und die Werkzeugorientierung kann sowohl mit Rundachspositionen als auch mit von der Kinematik unabhängigen Vektoren Euler bzw.
Transformationen 7.1 Allgemeine Programmierung der Transformationsarten 7.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 des Zweiachs-Schwenkkopf oder Werkzeugs ist und entweder Zweiachs-Drehtisch oder eine maschinenbezogen projektierbar über Maschinendaten Kombination von jeweils ein‐...
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Maschinentyp Programmierung bei aktiver Transformation TRAORI Maschinentypen 1 und 3 Programmierung der Drehungen der Werkzeugorientierung mit LEAD Voreilwinkel Winkel relativ zum Flächennormalenvektor PO[PHI] Programmierung eines Polynoms bis 5.Grades TILT Seitwärtswinkel Drehung um Bahntangente (Z-Richtung) PO[PSI] Programmierung eines Polynoms bis 5.Grades Weitere Maschinentypen mit THETA Drehwinkel (Drehung um die Werkzeugrichtung in Z)
Seite 309
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Mit welcher Maschinenkonstruktion dies erreicht wird, ist in den Achsdaten hinterlegt. 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.
Seite 310
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) In diesem Beispiel liegt A' unter dem Winkel φ zur X-Achse 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 φ...
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Die Achsfolge der rotatorischen Achsen und die Orientierungsrichtung des Werkzeugs kann abhängig von der Maschinenkinematik über Maschinendaten eingestellt werden. Es gelten folgende mögliche Zusammenhänge: Achsen: Achsfolgen: 1. Rundachse A A B B C C 2.
Seite 312
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Syntax TRAORI(<n>) TRAORI(<n>,<X>,<Y>,<Z>,<A>,<B>) TRAFOOF Bedeutung Aktiviert die erste vereinbarte Orientierungstransformation TRAORI: Aktiviert die mit n vereinbarte Orientierungstransformation TRAORI(<n>): Nummer der Transformation <n>: Wert: 1 oder 2 Beispiel: TRAORI(1) aktiviert Orientierungstransformation 1 Komponente des Orientierungsvektors, in die das Werkzeug zeigt. <X>,<Y>,<Z>: Programmierbarer Offset für die Rundachsen <A>,<B>:...
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beispiele TRAORI(1,0,0,1) ; Die Grundorientierung des Werkzeugs zeigt in Z-Richtung TRAORI(1,0,1,0) ; Die Grundorientierung des Werkzeugs zeigt in Z-Richtung TRAORI(1,0,1,1) ; Die Grundorientierung des Werkzeugs zeigt in Y/Z-Richtung (entspricht Stellung -45°) 7.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...
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Wird für eine Achse keine Grundstellungsposition programmiert, dann wird definierte Position aus dem dazugehörigen Maschinendatum $MC_TRAFO5_ROT_AX_OFFSET_1/2 verwendet. Eventuell aktive Frames der Rundachsen werden dabei nicht berücksichtigt. Hinweis Nur wenn eine Orientierungstransformation mit TRAORI(...) aktiv ist, kann eine Grundstellung der Werkzeugorientierung kinematikunabhäng mit ORIRESET(...) ohne Alarm 14101 programmiert werden.
Seite 315
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 5. Programmierung über Voreilwinkel LEAD und Seitwärtswinkel TILT 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)".
Seite 316
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung G1 X... Y... Z... A... B... C... Programmierung der Bewegung der Rundachsen Programmierung in Eulerwinkeln G1 X... Y... Z... A2= B2= C2= G1 X... Y... Z... A3== B3== C3== Programmierung des Richtungsvektors G1 X...
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beispiel: Gegenüberstellung ohne und mit 5-Achs-Transformation Weitere Informationen 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: G-Funktion Orientierungsprogrammierung...
Seite 318
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) In diesem Fall ist der Wert von C2 (Drehung um neue Z-Achse) bedeutungslos und muss nicht programmiert werden. Programmierung in RPY-Winkeln ORIRPY Die bei der Orientierungsprogrammierung mit A2, B2, C2 programmierten Werte werden als RPY-Winkel (in Grad) interpretiert.
Seite 319
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Ist das Maschinendatum zur über Definition der Orientierungsachsen über G-Code $MC_ORI_DEF_WITH_G_CODE = 1, dann gilt: Der Orientierungsvektor ergibt sich, indem ein Vektor in Z-Richtung zunächst mit A2 um die Z-Achse, dann mit B2 um die neue Y-Achse und zuletzt mit C2 um die neue X-Achse gedreht wird.
Seite 320
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung der Werkzeugorientierung mit LEAD= und TILT= Die resultierende Werkzeugorientierung wird ermittelt aus: ● Bahntangente ● Flächennormalenvektor am Satzanfang A4, B4, C4 und am Satzende A5, B6, C5 ● Voreilwinkel LEAD in der von Bahntangente und Flächennormalenvektor aufgespannten Ebene ●...
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 7.2.5 Stirnfräsen (A4, B4, C4, A5, B5, C5) Stirnfräsen dient zur Bearbeitung beliebig gekrümmter Oberflächen. 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.
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Bei aktivem ORIWKS (siehe "Bezug der Orientierungsachsen (ORIWKS, ORIMKS) (Seite 322)") beziehen sich die Flächennormalenvektoren auf den aktiven Frame und werden bei Frame-Drehung mitgedreht. Maschinenhersteller Der Flächennormalenvektor muss innerhalb eines über Maschinendatum einstellbaren Grenzwertes senkrecht zur Bahntangente stehen, ansonsten wird Alarm ausgegeben.
Seite 323
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Weitere Informationen Bei ORIMKS ist die ausgeführte Werkzeugbewegung von der Maschinenkinematik abhängig. Bei Orientierungsänderung mit raumfester Werkzeugspitze wird zwischen den Rundachspositionen linear interpoliert. Bei ORIWKS ist die Werkzeugbewegung von der Maschinenkinematik unabhängig. Bei Orientierungsänderung mit raumfester Werkzeugspitze bewegt sich das Werkzeug in der vom Anfangs- und Endvektor aufgespannten Ebene.
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Singuläre Stellen werden nur mit dem MD $MC_TRAFO5_POLE_LIMIT behandelt. Literatur: /FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achs-Transformation (F2), Kapitel "Singuläre Stellen und ihre Behandlung". 7.2.7 Programmierung der Orientierungsachsen (ORIAXES, ORIVECT, ORIEULER, ORIRPY, ORIRPY2, ORIVIRT1, ORIVIRT2) Die Funktion "Orientierungsachsen"...
Seite 325
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Drehung im Maschinenkoordinatensystem ORIMKS: Drehung im Werkstückkoordinatensystem ORIWKS: Beschreibung siehe "Bezug der Orientierungsachsen (ORIWKS, ORIMKS) (Seite 322)". Programmierung der Maschinenachsposition A= B= C=: Orientierungsprogrammierung über Euler-Winkel ORIEULER: Orientierungsprogrammierung über RPY-Winkel ORIRPY: Die Drehreihenfolge ist XYZ, wobei gilt: ●...
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) MD21150 $MC_JOG_VELO_RAPID_ORI MD21155 $MC_JOG_VELO_ORI Hinweis SINUMERIK 840D sl 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.
Transformationen 7.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 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung der Drehachse des Kegels (normierter Vektor) A6= B6= C6=: Öffnungswinkel des Kegels in Grad NUT=winkel: Verfahrwinkel kleiner oder gleich 180 Grad NUT=+179: Verfahrwinkel größer oder gleich 180 Grad NUT=-181: Interpolation auf einer Kegelmantelfläche ORICONIO: Zwischenorientierung (Programmierung als normierter Vektor) A7= B7= C7=:...
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung in der Ebene ORIPLANE entspricht ORIVECT Die Programmierung der Großkreisinterpolation zusammen mit Winkelpolynomen entspricht der Linear- und Polynominterpolation von Konturen. Die Werkzeugorientierung wird in einer Ebene interpoliert, die von der Start- und Endorientierung aufgespannt wird. Werden zusätzlich Polynome programmiert, dann kann der Orientierungsvektor auch aus der Ebene gekippt werden.
Seite 330
Transformationen 7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Maschinenhersteller Beachten Sie bitte die Hinweise des Maschinenherstellers zu über Maschinendatum einstellbare Achsbezeichner für die Programmierung der 2. Orientierungsbahn des Werkzeugs. Programmierung Bei dieser Interpolationsart können für die beiden Raumkurven Punkte mit G1 bzw. Polynome mit POLY programmiert werden.
Transformationen 7.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Hinweis Bezeichner XH YH ZH für die Programmierung einer 2. Orientierungsbahn Die Bezeichner müssen so gewählt werden, dass kein Konflikt mit anderen Bezeichnern der Linearachsen X Y Z Achsen und Rundachsen wie A2 B2 C2 Eulerwinkel bzw. RPY-Winkel A3 B3 C3 Richtungsvektoren A4 B4 C4 bzw.
Seite 332
Transformationen 7.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Zusätzlich kann in beiden Fällen ein Polynom für die Drehung bei Sechs-Achs- Transformationen mit Bahnrelative Interpolation der Drehung N… PO[THT]=(c2, c3, c4, c5) oder absoluter, relative und tangentiale Interpolati‐ N… PO[THT]=(d2, d3, d4, d5) on zur Orientierungsänderung des Orientierungsvektors programmiert werden.
Transformationen 7.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) Orientierungspolynome vom Typ 2 mit ORICURVE Ist die Interpolation mit zusätzlicher Raumkurve ORICURVE aktiv, werden die kartesischen Komponenten des Orientierungsvektors interpoliert und es sind nur Orientierungspolynome vom Typ 2 möglich. Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) Soll bei Maschinentypen mit beweglichem Werkzeug auch die Orientierung des Werkzeugs...
Seite 334
Transformationen 7.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) 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:...
Transformationen 7.5 Bahnrelative Orientierungen ORIROTT Der Drehwinkel THETA wird relativ zur Orientierungsänderung interpretiert. Für THETA=0 wird der Drehvektor tangential zur Orientierungsänderung interpoliert und unterscheidet sich nur dann zu ORIROTR, wenn für die Orientierung mindestens ein Polynom für den "Kippwinkel PSI" programmiert wurde. Damit ergibt sich eine Orientierungsänderung, die nicht in der Ebene abläuft.
Transformationen 7.5 Bahnrelative Orientierungen für den gesamten Bahnverlauf programmiert werden. Zum Drehwinkel THETA können mit PO[THT]=(...) zusätzlich Polynome maximal 5. Grades programmiert werden. Hinweis Maschinenhersteller Bitte beachten Sie die Angaben des Maschinenherstellers. Über projektierbare Maschinen- und Settingdaten können zur Bahnrelativen Orientierungsart weitere Einstellungen vorgenommen werden.
Seite 337
Transformationen 7.5 Bahnrelative Orientierungen Maschinenhersteller Bitte beachten Sie die Angaben des Maschinenherstellers. Über Maschinendatum kann die Interpolation der Winkel LEAD und TILT unterschiedlich eingestellt werden. Syntax Drehung der Werkzeugorientierung und des Werkzeugs Die Werkzeugorientierungsart relativ zur Bahn wird mit ORIPATH oder ORIPATHS aktiviert. Orientierungsart bezogen auf die Bahn aktivieren N...
Transformationen 7.5 Bahnrelative Orientierungen Hinweis Drehwinkel THETA Für die Drehung des Werkzeugs mit dritter Rundachse als Orientierungsachse um sich selbst, ist eine Sechs-Achs-Transformation erforderlich. 7.5.3 Bahnrelative Interpolation der Werkzeugdrehung (ORIROTC, THETA) Interpolation mit Drehvektoren Zur mit ORIROTC programmierten Drehung des Werkzeugs relativ zur Bahntangenten kann der Drehvektor auch mit einem durch den Drehwinkel THETA programmierbaren Offset interpoliert werden.
Seite 339
Transformationen 7.5 Bahnrelative Orientierungen Hinweis Interpolation des Drehvektors ORIROTC Soll gegen die Orientierungsrichtung des Werkzeugs auch die Drehung des Werkzeugs relativ zur Bahntangente angestellt werden, dann ist dies nur bei einer Sechs-Achs-Transformation möglich. Bei aktiven ORIROTC Der Drehvektor ORIROTA kann nicht programmiert werden. Im Falle einer Programmierung wird der ALARM 14128 "Absolutprogrammierung der Werkzeugdrehung bei aktivem ORIROTC"...
Transformationen 7.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD, COMPSURF) Bedeutung Werkzeugorientierung bezogen auf die Bahn, ein Knick im Orientierungsverlauf wird ORIPATHS: geglättet. Vektorkomponenten für Richtung und Weglänge A8= B8= C8=: Abhebebewegung in Werkzeugrichtung X, Y, Z: Hinweis Programmierung des Richtungsvektors A8, B8, C8 Ist die Länge dieses Vektors gleich Null erfolgt keine Abhebebewegung.
Seite 342
Transformationen 7.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD, COMPSURF) Siehe " Drehungen der Werkzeugorientierung (Seite 333) ". Hinweis NC-Sätze, in denen zusätzlich eine Drehung programmiert ist, sind nur dann komprimierbar, falls sich der Drehwinkel linear ändert. D. h. für den Drehwinkel darf kein Polynom mit PO[THT]=(...) programmiert sein.
Seite 343
Transformationen 7.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD, COMPSURF) Beendet wird die Kompressor-Funktion mit COMPOF. Siehe " NC-Satz-Kompression (COMPON, COMPCURV, COMPCAD) (Seite 245) ". 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).
Transformationen 7.7 Glättung des Orientierungsverlaufs (ORISON, ORISOF) Programmierung Kommentar N140 ENDFOR Glättung des Orientierungsverlaufs (ORISON, ORISOF) 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 7.8 Kinematische Transformation Kinematische Transformation 7.8.1 Stirnseitentransformation einschalten (TRANSMIT) Die Stirnseitentransformation (TRANSMIT) wird im Teileprogramm oder Synchronaktion über die Anweisung TRANSMIT eingeschaltet. Syntax TRANSMIT TRANSMIT(<n>) Bedeutung TRANSMIT mit erstem TRANSMIT-Datensatz einschalten TRANSMIT: TRANSMIT mit <n>-tem TRANSMIT-Datensatz einschalten TRANSMIT(n): Hinweis Eine im Kanal aktive Transformation TRANSMIT wird ausgeschaltet durch: ●...
Seite 347
Transformationen 7.8 Kinematische Transformation TRACYL-Datensatznummer (optional) <n>: Wertebereich: 1, 2 Der Parameter <k> ist nur relevant für Transformationstyp 514 <k>: k = 0: ohne Nutwandkorrektur k = 1: mit Nutwandkorrektur Wird der Parameter nicht angegeben, wirkt die parametrierte Grundstel‐ lung: $MC_TRACYL_DEFAULT_MODE_<n>...
Seite 348
Transformationen 7.8 Kinematische Transformation 12.TRAFOOF. 13.Ursprüngliche Koordinatenverschiebung (FRAME) wieder anwählen. Kontur-Offset (OFFN) Um mit der TRACYL-Transformation 513 Nuten zu fräsen, wird im Teileprogramm die Mittenlinie der Nut und über die Adresse OFFN die halbe Nutbreite programmiert. Um eine Beschädigung der Nutwand zu vermeiden, wird OFFN erst mit angewählter Werkzeugradiuskorrektur wirksam.
Transformationen 7.8 Kinematische Transformation Werkzeugradiuskorrektur (WRK) Bei der TRACYL-Transformation 513 wird die WRK nicht relativ zur Nutwand, sondern zur programmierten Mitte der Nut eingerechnet. Damit das Werkzeug links von der Nutwand fährt, ist statt G41 die Anweisung G42 zu programmieren oder der Wert von OFFN mit negativem Vorzeichen anzugeben.
Transformationen 7.8 Kinematische Transformation <α>: Winkel der schrägstehenden Achse (optional) Wertebereich: -90° < α < + 90° Wird der Paramter nicht angegeben, wirkt die parametrierte Grundstel‐ lung: $MC_TRAANG_ANGLE_<n> mit <n> = TRAANG-Datensatznummer TRAANG-Datensatznummer (optional) <n>: Wertebereich: 1, 2 Hinweis Eine im Kanal aktive Transformation TRAANG wird ausgeschaltet durch: ●...
Transformationen 7.9 Verkettete Transformation einschalten (TRACON) Bedeutung Startposition zum schrägen Einstechen berechnen und anfahren Verfahren der schrägen Achse auf die programmierte Endposition Endposition der X-Achse <Endpos_X>: Endposition der Z-Achse <Endpos_Z>: Beispiel ① Parallele zur Z-Achse im Abstand der aktuellen Position der X-Achse ②...
Seite 352
Transformationen 7.9 Verkettete Transformation einschalten (TRACON) Syntax TRACON(<Trafo_Nr>,<Par_1>,<Par_2,...) TRAFOOF Bedeutung Verkettete Transformation einschalten TRACON: Eine zuvor aktivierte andere Transformation wird durch TRACON() implizit ausge‐ schaltet. Nummer der verketteten Transformation <Trafo_Nr>: Typ: Wertebe‐ 0 ... 2 reich: Wert: 0, 1 erste/einzige verkettete Transformation zweite verkettete Transformation keine Angabe gleichbedeutend mit 0 bzw.
Transformationen 7.10 Kartesisches PTP-Fahren 7.10 Kartesisches PTP-Fahren 7.10.1 Kartesisches PTP-Fahren ein-/ausschalten (PTP, PTPG0, PTPWOC, CP) Das kartesische Punkt-zu-Punkt- bzw. PTP-Fahren wird im NC-Programm mit den Befehlen der G-Gruppe 49 ein-/ausgeschaltet. Die Befehle sind modal wirksam. Voreinstellung ist das Verfahren mit einer kartesischen Bahnbewegung (CP).
Transformationen 7.10 Kartesisches PTP-Fahren Beispiele Siehe: ● Beispiel 1: PTP und TRAORI (Seite 359) ● Beispiel 2: PTPG0 und TRANSMIT (Seite 360) 7.10.2 Stellung der Gelenke angeben (STAT) Die Positionsangabe mit kartesischen Koordinaten und die Angabe der Werkzeugorientierung reichen nicht aus, um die Maschinenstellung eindeutig festzulegen, da bei gleicher Werkzeugorientierung mehrere Gelenkstellungen möglich sind.
Seite 355
Transformationen 7.10 Kartesisches PTP-Fahren Am Beispiel eines Roboters mit einer 6-Achs-Gelenkkinematik soll die Bedeutung der Bits veranschaulicht werden: Bit 0 Position des Schnittpunkts der Handachsen (A4, A5, A6) Grundbereich Der Roboter befindet sich im Grundbereich, wenn der X-Wert des Schnittpunkts der Handachsen, bezogen auf das A1-Koordinatensystem, positiv ist.
Seite 356
Transformationen 7.10 Kartesisches PTP-Fahren Beispiele Die folgenden Abbildungen zeigen Beispiele für die Mehrdeutigkeit durch unterschiedliche Gelenkstellungen bei einer 6-Achs-Gelenkkinematik. Erst durch die STAT-Angaben werden die Gelenkstellungen eindeutig. Stellung 1: X1 = 0° Y1 = 45° Z1 = 45° Stellung 2: X1 = -180°...
Transformationen 7.10 Kartesisches PTP-Fahren 7.10.3 Vorzeichen der Achswinkel angeben (TU) Um bei rotatorischen Achsen auch Achswinkel, die größer +180° oder kleiner -180° sind, ohne besondere Verfahrstrategie (z. B. Zwischenpunkte) anfahren zu können, müssen unter der einstellbaren Adresse TU die Vorzeichen der Achswinkel angegeben werden. Hinweis Die Steuerung berücksichtigt programmierte TU-Werte nur bei PTP-Bewegungen.
Seite 358
Transformationen 7.10 Kartesisches PTP-Fahren TU=19 (entspricht TU='B010011) würde also bedeuten: Wert Achswinkel ⇒ A1 < 0° ⇒ A2 < 0° ⇒ A3 ≥ 0° ⇒ A4 ≥ 0° ⇒ A5 < 0° ⇒ A6 ≥ 0° Hinweis Bei Achsen mit einem Verfahrbereich > ±360° wird immer auf kürzestem Weg verfahren, da die Achsstellung durch die TU-Information nicht eindeutig bestimmbar ist.
Transformationen 7.10 Kartesisches PTP-Fahren Im Satz N40 fahren dabei die Rundachsen durch die Programmierung von STAT=1 den längeren Weg von ihrem Startpunkt (C=90, A=90) zum Endpunkt (C=270, A=–45). Mit STAT=0 würden die Rundachsen dagegen den kürzeren Weg zum Endpunkt (C=90, A=45) fahren. 7.10.5 Beispiel 2: PTPG0 und TRANSMIT Beispiel 1...
Seite 361
Transformationen 7.10 Kartesisches PTP-Fahren Beispiel 2 Herausfahren aus dem Pol mit PTPG0 und TRANSMIT N070 X20 Y2 N060 X0 Y0 N050 X10 Y0 Programmierung Kommentar N001 G0 X90 Z0 F10000 T1 D1 G90 ; Ausgangsstellung N002 SPOS=0 N003 TRANSMIT ; Transformation TRANSMIT N010 PTPG0 ;...
Transformationen 7.11 Randbedingungen bei der Anwahl einer Transformation 7.11 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 7.12 Transformation abwählen (TRAFOOF) 7.12 Transformation abwählen (TRAFOOF) Mit der vordefinierten Prozedur TRAFOOF werden alle aktiven Transformationen und Frames ausgeschaltet. Hinweis Für die Abwahl der Transformation gelten dieselben Randbedingungen (Seite 362) wie für die Anwahl. Danach benötigte Frames müssen durch erneute Programmierung aktiv geschaltet werden. Syntax TRAFOOF Bedeutung...
Kinematische Ketten Löschen von Komponenten (DELOBJ) Die Funktion DELOBJ() "löscht" Komponenten durch Zurücksetzen der zugeordneten Systemvariablen auf ihren Defaultwert: ● Elemente von kinematischen Ketten ● Schutzbereiche, Schutzbereichselemente und Kollisionspaare ● Transformationsdaten Syntax [<RetVal>=] DELOBJ(<CompType>[,,,<NoAlarm>)]) [<RetVal>=] DELOBJ(<CompType>,<Index1>[,,<NoAlarm>]) [<RetVal>=] DELOBJ(<CompType>[,<Index1>][,<Index2>][,<NoAlarm>]) Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Seite 366
Kinematische Ketten 8.1 Löschen von Komponenten (DELOBJ) Bedeutung Löschen von Elementen von kinematischen Ketten, Schutzbereichen, Schutzbe‐ DELOBJ: reichselementen, Kollisionspaaren und Transformationsdaten Typ der zu löschenden Komponente <CompType>: Datentyp: STRING Wert: "KIN_CHAIN_ELEM" Bedeutung: Systemvariablen aller kinematischen Elemente: $NK_... Wert: "KIN_CHAIN_SWITCH" Bedeutung: Systemvariable $NK_SWITCH[<i>] Wert: "KIN_CHAIN_ALL"...
Seite 367
Kinematische Ketten 8.1 Löschen von Komponenten (DELOBJ) Index der ersten zu löschenden Komponente (optional) <Index1>: Datentyp: Defaultwert: Wertebereich: -1 ≤ x ≤ (maximale Anzahl projektierter Komponenten -1) Wert Bedeutung 0, 1, 2, ..Index der zu löschenden Komponente. Alle Komponenten des angegebenen Typs werden gelöscht. <In‐ dex2>...
Kinematische Ketten 8.2 Indexermittlung per Namen (NAMETOINT) Indexermittlung per Namen (NAMETOINT) In Systemvariablenfeldern vom Typ STRING sind anwenderspezifische Namen eingetragen. Anhand des Bezeichners der Systemvariablen und des Namens, ermittelt die Funktion NAMETOINT() den zum Namen gehörenden Indexwert, unter dem er im Systemvariablenfeld abgelegt ist.
Kollisionsvermeidung mit kinematischen Ketten Hinweis Schutzbereiche Die in den nachfolgenden Kapiteln genannten Schutzbereiche beziehen sich auf die Funktion "Geometrische Maschinenmodellierung" Literatur: Funktionshandbuch Sonderfunktionen, Kapitel "Geometrische Maschinenmodellierung" Prüfen auf Kollisionspaar (COLLPAIR) Bei der Kollisionsvermeidung mit kinematischen Ketten kann mit der Funktion COLLPAIR ermittelt werden, ob zwei Schutzbereiche ein Kollisionspaar bilden, d.
Kollisionsvermeidung mit kinematischen Ketten 9.2 Neuberechnung des Kollisionsmodells anfordern (PROTA) Name des zweiten Schutzbereiches <Name_2>: Datentyp: STRING Wertebereich: Parametrierte Schutzbereichsnamen Alarmunterdrückung (optional) <NoAlarm>: Datentyp: BOOL Wert: FALSE Im Fehlerfall (<RetVal> < 0) wird die Programmabar‐ beitung angehalten und ein Alarm angezeigt. TRUE Im Fehlerfall wird die Programmabarbeitung nicht an‐...
Kollisionsvermeidung mit kinematischen Ketten 9.3 Schutzbereichszustand setzen (PROTS) Bedeutung Neuberechnung des Kollisionsmodells anfordern PROTA: Vorlaufstopp: Parameter <Par>: Datentyp: STRING Wertebereich: "R" Mit der Neuberechnung des Kollisionsmodells werden alle Schutzbe‐ reiche wieder in ihren jeweiligen Initialisierungsstatus versetzt. Randbedingungen Simulation Die Prozedur PROTA darf in Teileprogrammen nicht im Zusammenhang mit der Simulation (simNCK) verwendet werden.
Kollisionsvermeidung mit kinematischen Ketten 9.4 Abstandsbestimmung zweier Schutzbereiche (PROTD) Status, auf den die angegebenen Schutzbereiche gesetzt werden sollen <State>: Datentyp: CHAR Wert: "A"oder "a" Status: Aktiv "I"oder "i" Status: Inaktiv "P"oder "p" Status: Voraktiviert (Aktivierung erfolgt über NC/PLC-Nahtstelle) "R"oder "r" Status = $NP_INIT_STAT (Initialisierungssta‐...
Seite 373
Kollisionsvermeidung mit kinematischen Ketten 9.4 Abstandsbestimmung zweier Schutzbereiche (PROTD) Funktionswert bei Kollision Eine Kollision zweier Schutzbereiche liegt vor, wenn für ihren Abstand gilt: ● 0,0 < Abstand < MD10619 $MN_COLLISION_TOLERANCE (Toleranz für Kollisionsprüfung) Liegt zwischen den angegebenen Schutzbereichen eine Kollision vor, liefert die Funktion PROTD den Wert 0,0.
Seite 374
Kollisionsvermeidung mit kinematischen Ketten 9.4 Abstandsbestimmung zweier Schutzbereiche (PROTD) Maßsystem (inch / metrisch) für Abstand und Abstandsvektor (optional) <System>: Datentyp: BOOL Wert: FALSE Maßsystem entsprechend der aktuell akti‐ ven G-Funktion aus G-Gruppe 13 (G70, G71, G700, G710). TRUE Maßsystem entsprechend des eingestell‐ ten Grundsystems:MD52806 $MN_ISO_SCALING_SYSTEM Defaultwert:...
Werkzeugkorrekturen 10.1 Korrekturspeicher 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 376
Gilt auch bei Fräswerkzeugen für das 3D-Stirnfräsen Bei Nutsäge Werkzeugtyp reserviert (wird von SINUMERIK 840D sl nicht benutzt) Anmerkungen Für die geometrischen Größen (z. B. Länge 1 oder Radius) bestehen mehrere Eintragskomponenten. Diese werden zu einer resultierenden Größe additiv verrechnet (z. B.
Seite 377
Werkzeugkorrekturen 10.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...
Werkzeugkorrekturen 10.2 Additive Korrekturen 10.2 Additive Korrekturen 10.2.1 Additive Korrekturen anwählen (DL) 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 10.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 10.2 Additive Korrekturen Hinweis Die festgelegten Verschleiß- und Einrichtewerte werden zu den Geometrieparametern und den übrigen Korrekturparametern (D-Nummer) addiert. Beispiel Der Verschleißwert der Länge 1 wird für die Schneide <d> des Werkzeugs <t> auf den Wert 1.0 festgelegt. Parameter: $TC_DP3 (Länge 1, bei Drehwerkzeugen) Verschleißwerte: $TC_SCP13 bis $TC_SCP63 Einrichtewerte: $TC_ECP13 bis $TC_ECP63 $TC_SCP43 [<t>,<d>] = 1.0...
Werkzeugkorrekturen 10.3 Werkzeugkorrektur - Sonderbehandlung Lösch-Status <Status>: Wert: Bedeutung: Das Löschen wurde erfolgreich durchgeführt. Das Löschen wurde nicht durchgeführt (wenn die Parametrierung genau eine Schneide bezeichnet), oder das Löschen erfolgte nicht vollständig (wenn die Parametrierung mehrere Schneiden bezeich‐ net). Hinweis Verschleiß- und Einrichtewerte aktiver Werkzeuge können nicht gelöscht werden (verhält sich analog zum Löschverhalten von D bzw.
Werkzeugkorrekturen 10.3 Werkzeugkorrektur - Sonderbehandlung SD42950 $SC_TOOL_LENGTH_TYPE Zuordnung der Werkzeuglängenkomponenten un‐ abhängig vom Werkzeugtyp. SD42960 $SC_TOOL_TEMP_COMP Temperaturkompensationswert in Werkzeugrich‐ tung. Ist auch bei vorhandener Werkzeugorientie‐ rung wirksam. Literatur Funktionshandbuch Grundfunktionen; Werkzeugkorrektur (W1) 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.
Werkzeugkorrekturen 10.3 Werkzeugkorrektur - Sonderbehandlung 10.3.1 Werkzeuglängen spiegeln Mit gesetzten Settingdaten SD42900 $SC_MIRROR_TOOL_LENGTH und SD42910 $SC_MIRROR_TOOL_WEAR ungleich Null können Sie Werkzeuglängenkomponenten und Komponenten der Basismaße mit Verschleißwerten deren zugehörigen Achsen spiegeln. SD42900 $SC_MIRROR_TOOL_LENGTH Settingdatum ungleich Null: Es werden die Werkzeuglängenkomponenten ($TC_DP3, $TC_DP4 und $TC_DP5) und die Komponenten der Basismaße ($TC_DP21, $TC_DP22 und $TC_DP23), deren zugehörige Achsen gespiegelt sind, ebenfalls gespiegelt - durch Vorzeicheninvertierung.
Werkzeugkorrekturen 10.3 Werkzeugkorrektur - Sonderbehandlung In folgender Tabelle sind die Maße durch ein X gekennzeichnet, deren Vorzeichen über das SD42920 (ungleich 0) invertiert wird: Schneidenlage Länge 1 Länge 2 Hinweis Die Vorzeichenbewertung durch SD42920 und SD42910 sind voneinander unabhängig. Wenn z.
Seite 385
Werkzeugkorrekturen 10.3 Werkzeugkorrektur - Sonderbehandlung ● Werkzeugkoordinatensystem (TCS) ● Werkzeugkoordinatensystem der kinematischen Transformation (KCS) Syntax TOWSTD TOWMCS TOWWCS TOWBCS TOWTCS TOWKCS Bedeutung Grundstellungswert für Korrekturen in der Werkzeuglänge Verschleißwert TOWSTD: Korrekturen in der Werkzeuglänge im MKS TOWMCS: Korrekturen in der Werkzeuglänge im WKS TOWWCS: Korrekturen in der Werkzeuglänge im BKS TOWBCS:...
Seite 386
Werkzeugkorrekturen 10.3 Werkzeugkorrektur - Sonderbehandlung Lineare Transformation Die Werkzeuglänge ist im MKS nur sinnvoll definierbar, wenn das MKS aus dem BKS durch eine lineare Transformation hervorgeht. Nicht lineare Transformation Ist z. B. mit TRANSMIT eine nicht lineare Transformation aktiv, dann wird bei Angabe des MKS als gewünschtes Koordinatensystem automatisch das BKS verwendet.
Werkzeugkorrekturen 10.3 Werkzeugkorrektur - Sonderbehandlung ● TOWTCS Verschleißwerte im Werkzeugkoordinatesystem an der Werkzeughalteraufnahme (T Werkzeugträgerbezug) ● TOWKCS Verschleißwerte im Koordinatesystem des Werkzeugkopfes bei kinetischer Transformation Hinweis Die Bewertung der einzelnen Verschleißkomponenten (Zuordnung zu den Geometrieachsen, Vorzeichenbewertung) wird beeinflusst durch: ● die aktive Ebene ●...
Werkzeugkorrekturen 10.4 Online-Werkzeugkorrektur Folgende Tabelle zeigt die Zuordnung der Werkzeuglängenkomponenten zu den Geometrieachsen für alle anderen Werkzeuge (WZ-Typ < 400 bzw. > 599): Bearbeitungsebene Länge 1 Länge 2 Länge 3 Jeder Wert ungleich 0, der nicht gleich einem der sechs aufgeführten Werte ist, wird wie der Wert 17 bewertet.
Seite 389
Werkzeugkorrekturen 10.4 Online-Werkzeugkorrektur Syntax FCTDEF(<Func>,<LLimit>,<ULimit>,<a0>,<a1>,<a2>,<a3>) Bedeutung Definition einer Polynom-Funktion für PUTFTOCF(...): FCTDEF(...): y = f(x) = a *x + a <Func>: Funktionsnummer Datentyp: Wertebereich: 1, 2, 3 Unterer Begrenzungswert <LLimit>: Datentyp: REAL Oberer Begrenzungswert <ULimit>: Datentyp: REAL Koeffizienten der Polynom-Funktion <a0>,<a1>,<a2>,<a3>: Datentyp: REAL...
Werkzeugkorrekturen 10.4 Online-Werkzeugkorrektur Programmierung Programmcode Kommentar FCTDEF(1,-100,100,-$AA_IW[XA],1) ; Funktionsdefinition 10.4.2 Online-Werkzeugkorrektur schreiben, kontinuierlich (PUTFTOCF) Mit der vordefinierten Prozedur PUTFTOCF(...) wird eine Online-Werkzeugkorrektur über eine zuvor mit FCTDEF(...) (Seite 388) definierte Polynom-Funktion vorgenommen. Hinweis Die Online-Werkzeugkorrektur kann auch über eine Synchronaktion erfolgen. Weitere Informationen siehe Funktionshandbuch Synchronaktionen.
Werkzeugkorrekturen 10.4 Online-Werkzeugkorrektur 10.4.3 Online-Werkzeugkorrektur schreiben, diskret (PUTFTOC) Funktion Mit der vordefinierten Prozedur PUTFTOC(...) wird eine Online-Werkzeugkorrektur mit einem festen Korrekturwert vorgenommen. Syntax PUTFTOC(<CorrVal>,<ToolPar>,<Chan>,<Sp>) Bedeutung Online-WZK schreiben PUTFTOC(...): Korrekturwert, der zum Verschleißparameter addiert wird <CorrVal>: Datentyp: REAL Nummer des Verschleißparameters (Länge 1, 2 oder 3), in dem der Korrekturwert <ToolPar>: verrechnet werden soll Datentyp:...
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Bedeutung Online-Werkzeugkorrektur einschalten FTOCON: Der Befehl muss in dem Kanal programmiert werden, in dem die Online-Werk‐ zeugkorrektur eingeschaltet werden soll. Online-Werkzeugkorrektur ausschalten FTOCOF: Der Befehl muss in dem Kanal programmiert werden, in dem die Online-Werk‐ zeugkorrektur ausgeschaltet werden soll.
Seite 393
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Unterschied zwischen 2½ D- und 3D-Werkzeugradiuskorrektur Bei der 3D-Werkzeugradiuskorrektur ist die Werkzeug-Orientierung veränderlich. Bei der 2½ D-Werkzeugradiuskorrektur wird mit einem Werkzeug mit konstanter Orientierung gerechnet. Werkzeugradiuskorrektur bezogen auf ein Differenzwerkzeug Die auf ein Differenzwerkzeug bezogene 3D-Werkzeugradiuskorrektur wird durch den Befehl CUT3DCD aktiviert.
Seite 394
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Bedeutung Aktivierung der 3D-Radiuskorrektur für das Umfangsfräsen CUT3DC: Aktivierung der auf ein Differenzwerkzeug bezogenen 3D-Radi‐ CUT3DCD: uskorrektur für das Umfangsfräsen D-Werkzeugkorrektur für das Stirnfräsen mit konstanter Orientie‐ CUT3DFS: rung. Die Werkzeugorientierung ist durch G17 - G19 festgelegt und wird durch Frames nicht beeinflusst.
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 10.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 396
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Stirnfräsen 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. Der Postprozessor schreibt in das Teileprogramm - neben den NC-Sätzen - die Werkzeugorientierungen (bei aktiver 5-Achstransformation) und den G-Code für die gewünschte 3D-Werkzeugkorrektur.
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 10.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 10.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 399
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 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.
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Fräserhilfspunkt Der Fräserhilfspunkt (FH) entsteht durch Projektion des programmierten Bearbeitungspunkts auf die Werkzeugachse. Weitere Informationen Taschenfräsen mit schrägen Seitenwänden für Umfangsfräsen mit CUT3DC Bei dieser 3D-Werkzeugradiuskorrektur wird eine Abweichung des Fräserradius kompensiert, indem in Richtung der Flächennormalen der zu bearbeitenden Fläche zugestellt wird. Dabei bleibt die Ebene, in der die Stirnseite des Fräsers liegt unverändert, wenn die Eintauchtiefe ISD gleich geblieben ist.
Seite 401
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Bei Orientierungsänderungen an einer Ecke kann der Fall auftreten, dass sich der Eckentyp während der Bearbeitung ändert. Tritt dieser Fall auf, wird die Bearbeitung mit einer Fehlermeldung abgebrochen. Syntax G450 G451 Bedeutung Übergangskreis (Werkzeug umfährt Werkstückecken auf einer Kreisbahn) G450: Schnittpunkt der Äquidistanten (Werkzeug schneidet in der Werkstückecke frei) G451:...
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) an der Ecke bestimmt wird. Existiert kein derartiger Schnittpunkt, wird die Ecke wie bisher behandelt, d. h. es wird ein Kreis eingefügt. Weitere Informationen zum Schnittpunktverfahren siehe: Literatur: Funktionshandbuch Sonderfunktionen; 3D-Werkzeugradiuskorrektur (W5) 10.5.6 3D-Werkzeugkorrektur: 3D-Umfangsfräsen mit Begrenzungsflächen Anpassungen von 3D-Umfangsfräsen an Gegebenheiten von CAD-Programmen Von CAD-Sytemen generierte NC-Programme approximieren in der Regel die Mittelpunktsbahn eines Normwerkzeuges mit einer großen Anzahl kurzer Linearsätze.
Seite 403
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Mit CUT3DCC wird bei Verwendung von zylindrischen Werkzeugen eine Begrenzungsfläche berücksichtigt, die das programmierte Normwerkzeug erreicht hätte. Das NC-Programm beschreibt die Kontur auf der Bearbeitungsfläche. Syntax CUT3DCCD CUT3DCC Bedeutung Aktivierung der 3D-Werkzeugkorrektur für das Umfangsfräsen mit Begrenzungsf‐ CUT3DCCD: lächen mit Differenzwerkzeug auf der Werkzeugsmittelpunktbahn: Zustellung zur Begrenzungsfläche.
Seite 404
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Werkzeugtyp R = Schaftradius r = Eckenradius Zugelassen sind nur Fräsertypen mit Bei diesen zugelassenen Fräsertypen ist der Eckenradius r zylindrischen Schaft (Zylinder- oder gleich dem Schaftradius R. Alle anderen zugelassenen Werk‐ Schaftfräser) sowie Torusfräser (Typ zeugtypen werden als Zylinderfräser interpretiert und ein 121 und 131) und im Grenzfall der zy‐...
Seite 405
Werkzeugkorrekturen 10.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Ob die zu bearbeitende Fläche links oder rechts von der Bahn liegt, kann aus dem erzeugten Teileprogramm nicht entnommen werden. Es wird deshalb von einem positiven Radius und einem negativen Verschleißwert des Originalwerkzeuges ausgegangen. Ein negativer Verschleißwert beschreibt immer ein Werkzeug mit verringertem Durchmesser.
Werkzeugkorrekturen 10.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Die Lage der Begrenzungsfläche wird bestimmt aus der Differenz der beiden Werte: ● Abmessungen des Normwerkzeugs ● Werkzeugradius (WZ-Parameter $TC_DP6) 10.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Unter Werkzeugorientierung versteht man die geometrische Ausrichtung des Werkzeugs im Raum.
Seite 407
Werkzeugkorrekturen 10.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Das Bezugskoordinatensystem ist entweder das Maschinenkoordinatensystem (ORIMKS) oder das aktuelle Werkstückkoordinatensystem (ORIWKS). Programmierung der Werkzeugorientierung: Orientierung und Bahnbewegung parallel ORIC: Orientierung und Bahnbewegung nacheinander ORID: keine Orientierungsglättung OSOF: Orientierung konstant OSC: Orientierungsglättung nur am Satzanfang...
Werkzeugkorrekturen 10.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Beispiele Beispiel 1: ORIC Sind zwischen den Verfahrsätzen N10 und N20 zwei 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 409
Werkzeugkorrekturen 10.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Programmcode Kommentar ORID N8 A2=… B2=… C2=… N10 X… Y… Z… N12 A2=… B2=… C2=… ; Der Satz N12 und N14 wird am Ende von N10 ausgeführt. Danach wird der Kreissatz mit der aktuellen Orientierung ausgefahren.
Seite 410
Werkzeugkorrekturen 10.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) 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 411
Werkzeugkorrekturen 10.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 10.7 Freie D-Nummernvergabe, Schneidennummer 10.7 Freie D-Nummernvergabe, Schneidennummer 10.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 10.7 Freie D-Nummernvergabe, Schneidennummer Bedeutung =TRUE: Die D-Nummern wurden für den überprüften Bereich state: eindeutig vergeben. =FALSE: Es erfolgte eine D-Nummernkollision oder die Para‐ metrierung ist ungültig. Über Tno1, Tno2 und Dno werden die Parameter übergeben, die zur Kollision führten.
Werkzeugkorrekturen 10.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 10.8 Werkzeugträgerkinematik Syntax DZERO Bedeutung Kennzeichnet alle D-Nummern der TO-Einheit als ungültig. DZERO: 10.8 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. ●...
Werkzeugkorrekturen 10.8 Werkzeugträgerkinematik Funktion Die Werkzeugträgerkinematik mit maximal zwei Drehachsen v oder v wird über die 17 Systemvariablen $TC_CARR1[m] bis $TC_CARR17[m] beschrieben. Die Beschreibung des Werkzeugträgers besteht aus: ● dem vektoriellen Abstand von der ersten Drehachse zum Bezugspunkt des Werkzeugträgers I , dem vektoriellen Abstand von erster zu zweiter Drehachse I , dem vektoriellen Abstand von zweiter Drehachse zum Bezugspunkt des Werkzeugs I...
Seite 417
Werkzeugkorrekturen 10.8 Werkzeugträgerkinematik Erweiterungen der Systemvariablen für orientierbare Werkzeugträger Bezeichnung x-Komponente y-Komponente z-Komponente Offsetvector $TC_CARR18[m] $TC_CARR19[m] $TC_CARR20[m] Achsbezeichner Achsbezeichner der Drehachsen v und v (Vorbelegung ist Null) Drehachse v $TC_CARR21[m] Drehachse v $TC_CARR22[m] Kinematiktyp $TC_CARR23[m] Tool Kinematiktyp-T -> Kinematiktyp-P -> Kinematiktyp-M Part Nur das Werkzeug ist...
Werkzeugkorrekturen 10.8 Werkzeugträgerkinematik Hinweis Erklärungen zu den Parametern Mit "m" wird jeweils die Nummer des zu beschreibenden Werkzeugträgers angegeben. $TC_CARR47 bis $TC_CARR54 sowie $TC_CARR61 bis $TC_CARR63 sind nicht definiert und führen beim Versuch hierauf lesend oder schreiben zuzugreifen, zu einem Alarm. Die Anfangs- bzw.
Seite 419
Werkzeugkorrekturen 10.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 420
Werkzeugkorrekturen 10.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 10.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) 10.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) 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 422
Werkzeugkorrekturen 10.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) Orientierbarer Werkzeugträger aus aktiven Frame, dessen Werkzeug in Y-Rich‐ TCOFRY: tung zeigt Orientierbarer Werkzeugträger aus aktiven Frame, dessen Werkzeug in X-Rich‐ TCOFRX: tung zeigt Weitere Informationen Werkzeuglängenkorrektur aus Trägerorientierung (TCOABS) TCOABS berechnet die Werkzeuglängenkorrektur aus den aktuellen Orientierungswinkeln des Werkzeugträgers;...
Werkzeugkorrekturen 10.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Drehwinkelwerte zumindest annähernd den mechanisch eingestellten Drehwinkeln entsprechen. Hinweis Werkzeugorientierung Die Steuerung kann die über die Frame-Orientierung berechneten Verdrehwinkel nicht auf die Einstellbarkeit an der Maschine überprüfen. Sind die Drehachsen des Werkzeugträgers konstruktiv so angeordnet, dass die durch die Frame-Orientierung berechnete Werkzeugorientierung nicht erreicht werden kann, wird ein Alarm ausgegeben.
Seite 424
Werkzeugkorrekturen 10.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Alle Korrekturen können gleichzeitig aktiv sein. Die Funktion Online-Werkzeuglängenkorrektur ist anwendbar bei: ● Orientierungstransformation TRAORI ● Orientierbare Werkzeugträger TCARR Hinweis Die Online-Werkzeuglängenkorrektur ist eine Option, die vorher frei geschaltet werden muss. Nur in Verbindung mit einer aktiven Orientierungstransformation oder einem aktiven orientierbaren Werkzeugträger ist diese Funktion sinnvoll.
Seite 426
Werkzeugkorrekturen 10.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. Der Werkzeugoffset ist zum Vorlaufzeitpunkt auch immer dann bekannt, wenn die Werkzeuglängenkorrekturen nach Programmstart nicht mehr verändert werden, oder wenn nach einer Veränderung der Werkzeuglängenkorrekturen mehr Sätze abgearbeitet wurden...
Werkzeugkorrekturen 10.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) 10.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) 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 428
Werkzeugkorrekturen 10.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Bedeutung Befehl zum Einschalten der Funktion "Schneidendaten-Modifikation bei drehbaren Werk‐ CUTMOD: zeugen" 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 kor‐ respondierenden Werkzeugparametern.
Seite 429
Werkzeugkorrekturen 10.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Die Zahlenwerte in den Kommentaren geben jeweils die Satzendpositionen in Maschinenkoordinaten (MKS) in der Reihenfolge X, Y, Z an. Programmcode Kommentar N10 $TC_DP1[1,1]=500 N20 $TC_DP2[1,1]=3 Schneidenlage N30 $TC_DP3[1,1]=12 N40 $TC_DP4[1,1]=1 N50 $TC_DP6[1,1]=6 N60 $TC_DP10[1,1]=110 ;...
Seite 430
Werkzeugkorrekturen 10.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) 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 431
Werkzeugkorrekturen 10.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) 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, Schnittrich‐ tung, Freiwinkel und Halterwinkel) bei den mit CUTMOD bzw. $SC_CUT‐ DIRMOD aktivierten Funktionen zugrunde gelegt wurde.
Seite 432
Werkzeugkorrekturen 10.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Systemvariable Bedeutung $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" mit dem Befehl CUTMOD aktiviert wurde und ein orientierbarer Werkzeugträger aktiv ist, der eine Werkzeugdrehung bewirkt.
Bahnverhalten 11.1 Tangentialsteuerung 11.1.1 Kopplung definieren (TANG) Über die vordefinierte Prozedur TANG(...) wird eine Tangentialkopplung zwischen einer Rundachse als Folgeachse und zwei Geometrieachsen als Leitachsen definiert. Die Folgeachse wird dabei kontinuierlich zur Bahntangente der Leitachsen ausgerichtet. Syntax TANG(<Folgeachse>, <Leitachse_1>, <Leitachse_2>, <Koppelfaktor>, <Koordinatensystem>, <Optimierung>) Bedeutung Definieren einer Tangentialkopplung...
Bahnverhalten 11.1 Tangentialsteuerung Optimierungsart <Optimierung>: Datentyp: CHAR Wert: Standard (Defaultwert) "S": Die Dynamik der Rundachse hat keine Rückwirkung auf die Leitachsen. Ist die Dy‐ namik der Rundachse höher als für die Nachführung erforderlich, ist dieses Ver‐ fahren ausreichend genau.Ist die Dynamik der Rundachse nicht hoch genug, um der Änderung der Bahntangenten zu folgen, weicht die Ausrichtung der Rundachse ent‐...
Seite 435
Bahnverhalten 11.1 Tangentialsteuerung Zwischensatzerzeugung einschalten Mit Programmierung von TLIFT(...) im Anschluss an TANG(...) wird vom Vorlauf beim Erkennen einer Ecke an dieser Stelle der Bahn ein von der Steuerung automatisch generierter Zwischensatz eingefügt. Bei der Abarbeitung des Programms werden dann bei Erreichen des Zwischensatzes die Leitachsen angehalten.
Bahnverhalten 11.1 Tangentialsteuerung 11.1.3 Kopplung einschalten (TANGON) Über die vordefinierte Prozedur TANGON(...) wird eine zuvor mit TANG(...) (Seite 433) definierte Tangentialkopplung eingeschaltet. Die Folgeachse wird dann beim nachfolgenden Verfahren der Leitachsen kontinuierlich zur Bahntangente ausgerichtet. Winkel der Folgeachse Der Winkel, den die Folgeachse in Bezug zur Bahntangente einnimmt, ist abhängig vom in TANG(...) vorgegebenen Übersetzungsverhältnis, dem im Maschinendatum MD37402 $MA_TANG_OFFSET parametrierten Offsetwinkel und dem dazu additv wirkenden bei TANGON(...) vorgegebenen Offsetwinkel.
Bahnverhalten 11.1 Tangentialsteuerung 11.1.4 Kopplung ausschalten (TANGOF) Über die vordefinierte Prozedur TANGOF(...) wird eine mit TANG(...) (Seite 433) definierte und mit TANGON(...) (Seite 436) eingeschaltete Tangentialkopplung ausgeschaltet. Die Folgeachse wird dann nicht mehr auf die Bahntangente der Leitachse ausgerichtet. Die Kopplung der Folgeachse an die Leitachsen bleibt aber auch nach dem Ausschalten weiterhin bestehen, was z.B.
Bahnverhalten 11.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Achsename der Folgeachse, deren Tangentialkopplung gelöscht wer‐ <Folgeachse>: den soll Datentyp: AXIS Wertebereich: Kanalachsnamen Beispiele Leitachwechsel Bevor für die Folgeachse eine neue Tangentialkopplung mit einer anderen Leitachse definiert werden kann, muss die bestehende Tangentialkopplung zuerst gelöscht werden. Programmcode Kommentar N10 TANG(A, X, Y, 1)
Seite 439
Bahnverhalten 11.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) 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. Diese Geschwindigkeitsverläufe ermöglichen ruckfreie Beschleunigungsänderungen und hierdurch Fertigung gleichmäßiger Werkstückoberflächen.
Bahnverhalten 11.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 441
Bahnverhalten 11.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) FLIN Der Vorschubverlauf wird vom aktuellen Vorschubwert zum programmierten F-Wert linear bis Satzende eingefahren. Beispiel: N30 F1400 FLIN X50 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 Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Seite 442
Bahnverhalten 11.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) programmierten Vorschubwerte durch Splines. Die Vorschubwerte dienen hier als Stützpunkte zur Berechnung der Splineinterpolation. Beispiel: N50 F1400 FCUB X50 N60 F2000 X47 N70 F3800 X52 F=FPO(…,…,…) Der Vorschubverlauf wird über ein Polynom direkt programmiert. Die Angabe der Polynomkoeffizienten erfolgt analog zur Polynominterpolation.
Seite 443
Bahnverhalten 11.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, nicht bei G95, G96/G961 und G97/G971.
Bahnverhalten 11.3 Beschleunigungsverhalten 11.3 Beschleunigungsverhalten 11.3.1 Beschleunigungsmodus (BRISK, BRISKA, SOFT, SOFTA, DRIVE, DRIVEA) Zur Programmierung des Beschleunigungsmodus stehen folgende Teileprogrammbefehle zur Verfügung: ● "BRISK, BRISKA" Die Einzelachsen bzw. die Bahnachsen verfahren mit maximaler Beschleunigung bis zum Erreichen der programmierten Vorschubgeschwindigkeit (Beschleunigung ohne Ruckbegrenzung).
Seite 445
Bahnverhalten 11.3 Beschleunigungsverhalten Bild 11-2 Verlauf der Bahngeschwindigkeit bei DRIVE Syntax BRISK BRISKA(<Achse1>,<Achse2>,…) SOFT SOFTA(<Achse1>,<Achse2>,…) DRIVE DRIVEA(<Achse1>,<Achse2>,…) Bedeutung Befehl zum Einschalten der "Beschleunigung ohne Ruckbegren‐ BRISK: zung" für die Bahnachsen. Befehl zum Einschalten der "Beschleunigung ohne Ruckbegren‐ BRISKA: zung" für Einzelachsbewegungen (JOG, JOG/INC, Positionier‐ achse, Pendelachse, etc.).
Bahnverhalten 11.3 Beschleunigungsverhalten Randbedingungen Wechsel des Beschleunigungsmodus während Bearbeitung Wenn in einem Teileprogramm der Beschleunigungsmodus während der Bearbeitung gewechselt wird (BRISK ↔ SOFT), dann erfolgt auch bei Bahnsteuerbetrieb am Übergang ein Satzwechsel mit Genauhalt am Satzende. Beispiele Beispiel 1: SOFT und BRISKA Programmcode N10 G1 X…...
Seite 447
Bahnverhalten 11.3 Beschleunigungsverhalten Hinweis Verfügbarkeit bei SINUMERIK 828D Die Funktionen VELOLIMA, ACCLIMA und JERKLIMA können bei SINUMERIK 828D nur in Verbindung mit der Funktion "Mitschleppen" verwendet werden! Syntax VELOLIMA(<Achse>)=<Wert> ACCLIMA(<Achse>)=<Wert> JERKLIMA(<Achse>)=<Wert> Bedeutung Befehl zur Korrektur der parametrierten Maximalgeschwindigkeit VELOLIMA: Befehl zur Korrektur der parametrierten Maximalbeschleunigung ACCLIMA: Befehl zur Korrektur des parametrierten Maximalrucks JERKLIMA:...
Bahnverhalten 11.3 Beschleunigungsverhalten Programmcode Kommentar N200 VELOLIMA[AX4]=100 ; Volle Maximalgeschwindigkeit. Beispiel 3: Leitwertkopplung per statische Synchronaktion beeinflussen Achse 4 wird mittels Leitwertkopplung an X gekoppelt. Das Beschleunigungsverhalten wird per statische Synchronaktion 2 ab Position 100 auf 80 % begrenzt. Programmcode Kommentar N120 IDS=2 WHENEVER $AA_IM[AX4] >...
Bahnverhalten 11.4 Fahren mit Vorsteuerung (FFWON, FFWOF) Bedeutung G-Befehl zur Aktivierung der normalen Dynamik DYNNORM: G-Befehl zur Aktivierung der Dynamik für Positionierbetrieb, Gewindebohren DYNPOS: G-Befehl zur Aktivierung der Dynamik für Schruppen DYNROUGH: G-Befehl zur Aktivierung der Dynamik für Schlichten DYNSEMIFIN: G-Befehl zur Aktivierung der Dynamik für Feinschlichten DYNFINISH: Rechenparameter mit Nummer <m>...
Bahnverhalten 11.5 Programmierbare Konturgenauigkeit (CPRECON, CPRECOF) Syntax FFWON FFWOF Bedeutung Befehl zum Einschalten der Vorsteuerung FFWON: Befehl zum Ausschalten der Vorsteuerung FFWOF: Hinweis Über Maschinendaten wird die Art der Vorsteuerung festgelegt und welche Bahnachsen vorgesteuert verfahren werden sollen. Standard: Geschwindigkeitsabhängige Vorsteuerung Option: Beschleunigungsabhängige Vorsteuerung Beispiel Programmcode...
Seite 451
Bahnverhalten 11.5 Programmierbare Konturgenauigkeit (CPRECON, CPRECOF) Bedeutung G-Funktionsaufruf: "Programmierbare Konturgenauigkeit" einschalten CPRECON: Wirksamkeit: modal G-Funktionsaufruf: "Programmierbare Konturgenauigkeit" ausschalten CPRECOF: Wirksamkeit: modal CPRECON und CPRECOF bilden zusammen die G-Funktionsgruppe 39 (Programmierbare Konturgenauigkeit). Hinweis Über das Settingdatum $SC_MINFEED (Mindestbahnvorschub bei CPRECON) kann der Anwender eine Mindestgeschwindigkeit für den Bahnvorschub vorgeben.
Bahnverhalten 11.6 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) 11.6 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Je nach Ausbaustufe verfügt die Steuerung über eine bestimmte Menge sog. Vorlaufspeicher, die fertig aufbereitete Sätze vor der Abarbeitung speichern und im Fertigungsablauf als schnelle Satzfolgen ausgeben.
Seite 453
Bahnverhalten 11.6 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) vorher aufbereiteten und gespeicherten Sätze vollständig abgearbeitet sind. Der vorherige Satz wird im Genauhalt angehalten (wie G9). ACHTUNG Programmabbruch Bei eingeschalteter Werkzeugkorrektur und bei Spline-Interpolationen sollte kein "STOPRE" programmiert werden, da sonst zusammengehörige Satzfolgen unterbrochen werden. Syntax Tabelle 11-1 Bearbeitungsabschnitt kennzeichnen: STOPFIFO...
Bahnverhalten 11.7 Beeinflussung von Stopp-Ereignissen durch Stop-Delay-Bereiche (DELAYFSTON, DELAYFSTOF) Bedeutung "STOPFIFO" kennzeichnet den Beginn eines Bearbeitungsabschnitts, der im Vor‐ STOPFIFO: laufspeicher zwischengespeichert werden soll. Mit "STOPFIFO" wird die Bearbei‐ tung angehalten und der Vorlaufspeicher gefüllt, bis: ● "STARTFIFO" oder "STOPRE" erkannt wird oder ●...
Seite 455
Bahnverhalten 11.7 Beeinflussung von Stopp-Ereignissen durch Stop-Delay-Bereiche (DELAYFSTON, DELAYFSTOF) Syntax DELAYFSTON DELAYFSTOF Hinweis DELAYFSTON und DELAYFSTOF stehen allein in einer Teileprogrammzeile! Bedeutung Beginn eines Bereichs definieren, in dem "sanfte" Stopps verzögert werden, bis DELAYFSTON: das Ende des Stop-Delay-Bereichs erreicht wird Ende eines Stop-Delay-Bereichs definieren DELAYFSTOF: Systemvariablen...
Bahnverhalten 11.8 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 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) 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"...
Bahnverhalten 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) REPOSQ DISR=… : Wiederanfahren an die Kontur mit den Geometrieachsen auf einem Vier‐ telkreis mit Radius DISR. Alle anderen Kanalachsen müssen explizit programmiert werden. REPOSQA DISR=…...
Seite 461
Bahnverhalten 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) Wiederanfahren an die Kontur mit Viertelkreis, REPOSQ, REPOSQA Das Werkzeug fährt den Wiederanfahrpunkt auf einem Viertelkreis mit Radius DISR=... an. Den notwendigen Zwischenpunkt zwischen Start- und Wiederanfahrpunkt berechnet die Steuerung automatisch.
Seite 462
Bahnverhalten 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) Wiederanfahren an die Kontur mit Halbkreis, REPOSH, REPOSHA Das Werkzeug fährt den Wiederanfahrpunkt auf einem Halbkreis mit Durchmesser DISR=... an. Den notwendigen Zwischenpunkt zwischen Start- und Wiederanfahrpunkt berechnet die Steuerung automatisch.
Bahnverhalten 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) Mit RMIBL DISPR=... bzw. mit RMEBL DISPR=... können Sie einen Wiederanfahrpunkt festlegen, der vor dem Unterbrechungspunkt bzw. vor dem Satzendpunkt liegt. Mit DISPR=... beschreiben Sie den Konturweg in mm/inch, um den der Wiederanfahrpunkt vor dem Unterbrechungs- bzw.
Seite 464
Bahnverhalten 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) SERUPRO-Anfahren mit RMNBL Wird bei der Bearbeitung an einer beliebigen Stelle ein Abbruch erzwungen, dann wird mit SERUPRO-Anfahren unter RMNBL der kürzeste Weg von der Abbruchstelle angefahren, um anschließend nur den Restweg abzuarbeiten.
Bahnverhalten 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) Anfahren vom nächstliegenden Bahnpunkt RMNBL Zum Interpretationszeitpunkt von REPOSA wird nach einer Unterbrechung der Wiederanfahrsatz mit RMNBL nicht noch einmal komplett begonnen, sondern nur der Restweg abgearbeitet.
Seite 466
Bahnverhalten 11.9 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMIBL, RMBBL, RMEBL, RMNBL) 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 11.10 Beeinflussung der Bewegungsführung In folgenden Fällen wird automatisch auf lineares Anfahren REPOSL umgeschaltet: ● Sie haben keinen Wert für DISR angegeben. ● Es gibt keine definierte Anfahrrichtung (Programmunterbrechung in einem Satz ohne Verfahrinformation). ● Bei Anfahrrichtung senkrecht zur aktuellen Arbeitsebene. 11.10 Beeinflussung der Bewegungsführung 11.10.1...
Bahnverhalten 11.10 Beeinflussung der Bewegungsführung Syntax JERKLIM[<Achse>]=<Wert> Bedeutung Befehl zur Ruckkorrektur JERKLIM: Maschinenachse, deren Ruckgrenzwert angepasst werden soll. <Achse>: Prozentualer Korrekturwert, bezogen auf den projektierten maximalen Achsruck <Wert>: bei Bahnbewegung (MD32431 $MA_MAX_AX_JERK). Wertebereich: 1 ... 200 Der Wert 100 bewirkt keine Beeinflussung des Rucks. Hinweis Das Verhalten von JERKLIM bei Teileprogrammende und Kanal-Reset wird projektiert mit Bit 0 im Maschinendatum MD32320 $MA_DYN_LIMIT_RESET_MASK:...
Bahnverhalten 11.10 Beeinflussung der Bewegungsführung Syntax VELOLIM[<Achse/Spindel>]=<Wert> Bedeutung Befehl zur Geschwindigkeitskorrektur VELOLIM: Achse oder Spindel, deren Geschwindigkeits- oder Drehzahlgrenzwert an‐ <Achse/Spindel>: gepasst 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"...
Bahnverhalten 11.10 Beeinflussung der Bewegungsführung Beispiele Beispiel 1: Geschwindigkeitsbegrenzung Maschinenachse Programmcode Kommentar N70 VELOLIM[X]=80 ; Der Achsschlitten in X-Richtung soll nur mit maximal 80 % der für die Achse zulässigen Geschwindigkeit ver- fahren werden. Beispiel 2: Drehzahlbegrenzung Spindel Programmcode Kommentar N05 VELOLIM[S1]=90 ;...
Bahnverhalten 11.11 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) 11.11 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) 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 472
Bahnverhalten 11.11 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) 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 soll <Achse>: Der Wert für die Achstoleranz ist je nach Achstyp (Linear- oder Rundachse) <Wert>:...
Bahnverhalten 11.11 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.
Bahnverhalten 11.12 Toleranz bei G0-Bewegungen (STOLF) $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". 11.12 Toleranz bei G0-Bewegungen (STOLF) G0-Toleranzfaktor G0-Bewegungen (Eilgang, Zustellbewegungen) können im Unterschied zur Werkstückbearbeitung mit größerer Toleranz verfahren werden.
Seite 475
Bahnverhalten 11.12 Toleranz bei G0-Bewegungen (STOLF) Bedeutung Befehl zur Programmierung des G0-Toleranzfaktors STOLF: G0-Toleranzfaktor <Toleranzfaktor>: Der Faktor kann sowohl größer 1 als auch kleiner 1 sein. Normalerwei‐ se werden jedoch für G0-Bewegungen größere Toleranzen einstellbar sein. Bei STOLF=1.0 (entspricht dem projektierten Standardwert) sind für G0-Bewegungen dieselben Toleranzen wirksam wie für Nicht-G0-Be‐...
Bahnverhalten 11.13 Satzwechselverhalten bei aktiver Kopplung (CPBC) Programmcode Kommentar X... Y... Z... ; Ab hier wirkt ein G0-Toleranzfaktor von 4, also eine Konturtoleranz von 0,08mm. 11.13 Satzwechselverhalten bei aktiver Kopplung (CPBC) Mit dem Befehl CPBC wird das Satzwechselkriterium vorgegeben das erfüllt sein muss, damit im Teileprogramm bei aktiver Kopplung ein Satzwechsel durchgeführt wird.
Achskopplungen 12.1 Mitschleppen (TRAILON, TRAILOF) Beim Bewegen einer definierten Leitachse fahren ihr zugeordnete Mitschleppachsen (= Folgeachsen) unter Berücksichtigung eines Koppelfaktors die von der Leitachse abgeleiteten Verfahrwege ab. Leitachse und Folgeachsen bilden zusammen einen Mitschleppverband. Anwendungsbereiche ● Verfahren einer Achse durch eine simulierte Achse. Die Leitachse ist eine simulierte Achse und die Mitschleppachse eine reale Achse.
Seite 478
Achskopplungen 12.1 Mitschleppen (TRAILON, TRAILOF) 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 auf‐ gebaut werden. Parameter 2: Achsbezeichnung der Leitachse <Leitachse>: Parameter 3: Koppelfaktor <Koppelfaktor>: Der Koppelfaktor gibt das gewünschte Verhältnis der Wege von Mitschlepp‐...
Seite 479
Achskopplungen 12.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 entgegengesetz- ter Richtung wie Leitachse.
Seite 480
Achskopplungen 12.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 12.2 Kurventabellen (CTAB) Programmcode Kommentar ; Restweganzeige am Satzanfang: G91 B360 ; B=360, C=360 G91 B720 ; B=720, C=1080 G91 B360 ; B=360, C=1440 12.2 Kurventabellen (CTAB) Mit Hilfe von Kurventabellen können Positions- und Geschwindigkeitsbeziehungen zwischen zwei Achsen (Leit- und Folgeachse) programmiert werden. Die Kurventabellendefinition erfolgt im Teileprogramm.
Seite 482
Achskopplungen 12.2 Kurventabellen (CTAB) 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. Grades dienen. Voraussetzung Für die Definition von Kurventabellen muss durch entsprechende MD-Projektierung Speicherplatz reserviert sein (→...
Achskopplungen 12.2 Kurventabellen (CTAB) Tabellenperiodizität <Periodizität>: Tabelle ist nicht periodisch (wird nur einmal abgearbeitet, auch bei Rundachsen) Tabelle ist periodisch bezüglich Leitachse Tabelle ist periodisch bezüglich Leitachse und Folgeachse Angabe des Speicherorts (optional) <Speicherort>: Die Kurventabelle wird im statischen NC-Speicher angelegt. "SRAM"...
Seite 484
Achskopplungen 12.2 Kurventabellen (CTAB) Beispiel 2: Definition einer nichtperiodischen Kurventabelle Programmcode Kommentar N100 CTABDEF(Y,X,3,0) ; Beginn der Definition einer nichtperiodischen Kurven- tabelle mit der Nummer 3. N110 X0 Y0 ; 1.Bewegungsanweisung, legt Startwerte und 1. Stütz- stelle fest: Leitwert: 0, Folgewert: 0 N120 X20 Y0 ;...
Seite 485
Achskopplungen 12.2 Kurventabellen (CTAB) Programmcode Kommentar N20 DEF REAL GRADIENT N30 CTABDEF(Y,X,2,1) ; Beginn der Definition. N40 G1 X=0 Y=0 N50 POLY N60 PO[X]=(45.0) N70 PO[X]=(90.0) PO[Y]=(45.0,135.0,-90) N80 PO[X]=(270.0) N90 PO[X]=(315.0) PO[Y]=(0.0,-135.0,90) N100 PO[X]=(360.0) N110 CTABEND ; Ende der Definition. ;Test der Kurve durch Kopplung von Y an X: N120 G1 F1000 X0 N130 LEADON(Y,X,2)
Seite 486
Achskopplungen 12.2 Kurventabellen (CTAB) Verfügbarer Sprachumfang Innerhalb der Definition der Kurventabelle steht der gesamte NC-Sprachumfang zur Verfügung. Hinweis Folgende Angaben sind In Kurventabellendefinitionen nicht zulässig: ● Vorlaufstopp ● Sprünge in der Leitachsenbewegung (z. B. beim Wechsel von Transformationen) ● Bewegungsanweisung allein für die Folgeachse ●...
Seite 487
Achskopplungen 12.2 Kurventabellen (CTAB) Programmcode CTABDEF(Y,X,1,0) X0 Y0 ASPLINE X=5 Y=10 X10 Y40 CTABEND Wiederholte Verwendung von Kurventabellen Der über die Kurventabelle berechnete funktionelle Zusammenhang von Leit- und Folgeachse bleibt unter der gewählten Tabellennummer über das Teileprogrammende und über POWER OFF hinaus erhalten, falls die Tabelle im statischen NC-Speicher (SRAM) abgelegt ist.
Achskopplungen 12.2 Kurventabellen (CTAB) 12.2.2 Vorhandensein einer Kurventabelle prüfen (CTABEXISTS) Mit dem Befehl CTABEXISTS kann geprüft werden, ob eine bestimmte Kurventabellennummer im NC-Speicher vorhanden ist. Syntax CTABEXISTS(<n>) Bedeutung Prüft, ob die Kurventabelle mit Nummer <n> im statischen oder dynamischen NC- CTABEXISTS: Speicher vorhanden ist Tabelle existiert nicht...
Achskopplungen 12.2 Kurventabellen (CTAB) Angabe des Speicherorts (optional) <Speicherort>: Beim Löschen ohne Speicherort-Angabe werden die angegebenen Kurven‐ tabellen im statischen und dynamischen NC-Speicher gelöscht. Beim Löschen mit Speicherort-Angabe werden von den angegebenen Kur‐ ventabellen nur diejenigen gelöscht, die im angegebenen Speicher liegen. Die übrigen bleiben bestehen.
Achskopplungen 12.2 Kurventabellen (CTAB) Bedeutung Befehl zum Setzen einer Sperre gegen Löschen/Überschreiben CTABLOCK: Befehl zum Aufheben einer Sperre gegen Löschen/Überschreiben CTABUNLOCK: CTABUNLOCK gibt die mit CTABLOCK gesperrten Kurventabellen wieder frei. Kurventabellen, die in einer aktiven Kopplung wirken, bleiben weiterhin ge‐ sperrt und können nicht gelöscht werden.
Seite 491
Achskopplungen 12.2 Kurventabellen (CTAB) Syntax CTABID(<p>) CTABID(<p>,<Speicherort>) CTABISLOCK(<n>) CTABMEMTYP(<n>) TABPERIOD(<n>) Bedeutung Liefert die Tabellennummer, die im angegebenen Speicher als die <p>-te CTABID: Kurventabelle eingetragen ist. Beispiel: CTABID(1,"SRAM") liefert die Nummer der ersten Kurventabelle im stati‐ schen NC-Speicher. Die erste Kurventabelle entspricht dabei der Kurventa‐ belle mit der höchsten Tabellennummer.
Achskopplungen 12.2 Kurventabellen (CTAB) 12.2.6 Kurventabellenwerte lesen (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) 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 493
Achskopplungen 12.2 Kurventabellen (CTAB) Maximalwert der Folgeachse bestimmen: CTABTMAX: ● im gesamten Definitionsbereich der Kurventabelle oder ● in einem definierten Intervall <a> ... <b> Nummer (ID) der Kurventabelle <n>: Im Parameter <Gradient> wird die Steigung der Kurventabellenfunktion <Gradient>: an der ermittelten Position zurückgegeben Achse, deren Bewegung über die Kurventabelle berechnet werden soll <Folgeachse>: (optional)
Seite 494
Achskopplungen 12.2 Kurventabellen (CTAB) Programmcode Kommentar N150 X80 Y20 N160 CTABEND ; Ende der Tabellendefinition. N200 STARTPOS=CTABTSV(1,GRADIENT) ; Folgeachswert am Kurventabellenanfang = 10 N210 ENDPOS=CTABTEV(1,GRADIENT) ; Folgeachswert am Kurventabellenende = 20 N220 STARTPARA=CTABTSP(1,GRADIENT) ; Leitachswert am Kurventabellenanfang = 0 N230 ENDPARA=CTABTEP(1,GRADIENT) ;...
Seite 495
Achskopplungen 12.2 Kurventabellen (CTAB) CTAB bei nichtperiodischen Kurventabellen Liegt der angegebene <Leitwert> außerhalb des Definitionsbereichs, wird als Folgewert die obere bzw. untere Grenze ausgegeben: CTAB bei periodischen Kurventabellen Liegt der angegebene <Leitwert> außerhalb des Definitionsbereichs, wird der Leitwert Modulo des Definitionsbereichs bewertet und der entsprechende Folgewert ausgegeben: Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Achskopplungen 12.2 Kurventabellen (CTAB) 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. Der Näherungswert kann z. B. der Leitwert aus dem vorherigen Interpolatortakt sein. Steigung der Kurventabellenfunktion Die Ausgabe der Steigung (<Gradient>) ermöglicht es, die Geschwindigkeit der Leit- oder Folgeachse an der entsprechenden Position zu berechnen.
Achskopplungen 12.3 Axiale Leitwertkopplung (LEADON, LEADOF) Bedeutung Gesamtanzahl der definierten Kurventabellen bestimmen (im statischen und CTABNO: dynamischen NC-Speicher) Anzahl der definierten Kurventabellen im angegebenen <Speicherort> CTABNOMEM: bestimmen Anzahl der noch möglichen Kurventabellen im angegebenen CTABFNO: <Speicherort> bestimmen Anzahl der Kurvensegmente der angegebenen <Segmentart> bestimmen, CTABSEGID: die von der Kurventabelle mit Nummer <n>...
Seite 498
Achskopplungen 12.3 Axiale Leitwertkopplung (LEADON, LEADOF) 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. simulierten - Position der Leitachse zugeordnet. Leitachse heißt diejenige Achse, die die Eingangswerte für die Kurventabelle liefert.
Achskopplungen 12.3 Axiale Leitwertkopplung (LEADON, LEADOF) Folgeachse <Folgeachse>: Leitachse <Leitachse>: Kurventabellen-Nummer <n>: Umschaltung zwischen Soll- und Istwertkopplung $SA_LEAD_TYPE: Leitwertkopplung ausschalten, LEADOF Mit dem Ausschalten der Leitwertkopplung wird die Folgeachse wieder zur normalen Kommandoachse! Axiale Leitwertkopplung und verschiedene Betriebszustände, RESET Abhängig von der Einstellung im Maschinendatum werden Leitwertkopplungen mit RESET ausgeschaltet.
Seite 500
Achskopplungen 12.3 Axiale Leitwertkopplung (LEADON, LEADOF) Als Bedingungen werden digitale schnelle Eingänge, Echtzeitvariablen $AC_MARKER und Positionsvergleiche, mit dem logischen Operator AND verknüpft, ausgewertet. Hinweis Im folgenden Beispiel wurden Zeilenwechsel, Einrückungen und Fettsatz ausschließlich dafür verwendet, die Lesbarkeit der Programmierung zu erhöhen. Für die Steuerung ist alles unter einer Zeilennummer stehende einzeilig.
Seite 501
Achskopplungen 12.3 Axiale Leitwertkopplung (LEADON, LEADOF) verfahren, die durch die Sollgeschwindigkeit der Folgeachse (berechnet aus Leitachsgeschwindigkeit und nach Kurventabelle CTAB) definiert ist. Kein Synchronlauf Entfernt sich die berechnete Folgeachssollposition mit Einschalten der Leitwertkopplung von der aktuellen Folgeachsposition, wird kein Synchronlauf hergestellt. Ist- und Sollwertkupplung Die Sollwertkopplung liefert im Vergleich zur Istwertkopplung einen besseren Synchronlauf zwischen Leit- und Folgeachse und ist deshalb standardmäßig voreingestellt.
Seite 502
Achskopplungen 12.3 Axiale Leitwertkopplung (LEADON, LEADOF) Eine Umschaltung ist über das Settingdatum $SA_LEAD_TYPE möglich. Das Umschalten zwischen Ist- und Sollwertkopplung sollte immer bei Stillstand der Folgeachse erfolgen. Denn nur im Stillstand wird nach dem Umschalten neu synchronisiert. Anwendungsbeispiel Das Lesen der Istwerte kann bei großen Maschinenerschütterungen nicht fehlerfrei erfolgen. Beim Einsatz der Leitwertkopplung im Pressentransfer kann es daher in den Arbeitsschritten mit größten Erschütterungen notwendig werden, von Istwertkopplung auf Sollwertkopplung umzuschalten.
Achskopplungen 12.4 Elektronisches Getriebe (EG) $AC_MARKER[i] = n verwaltet mit: i Merker-Nummer n Statuswert 12.4 Elektronisches Getriebe (EG) Mit Hilfe der Funktion "Elektronisches Getriebe" ist es möglich, die Bewegung einer Folgeachse nach linearem Bewegungssatz abhängig von bis zu fünf Leitachsen zu steuern. Die Zusammenhänge zwischen den Leitachsen und der Folgeachse sind je Leitachse durch den Koppelfaktor definiert.
Achskopplungen 12.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 Kopplungstyp5 für jede Leitachse einzeln anzugeben.
Seite 505
Achskopplungen 12.4 Elektronisches Getriebe (EG) Variante 2: Der EG-Achsverband wird mitSynchronisation selektiv eingeschaltet mit: EGONSYN(FA,"Satzwechselmodus",SynPosFA,[,LAi,SynPosLAi,Zi,Ni]) Variante 3: Der EG-Achsverband wird mitSynchronisation selektiv eingeschaltet und der Anfahrmodus vorgegeben mit: EGONSYNE(FA,"Satzwechselmodus",SynPosFA,Anfahrmodus[,LAi,SynPosLAi,Z i,Ni]) Bedeutung Variante 1: Folgeachse Folgende Modi können benutzt werden: Satzwechselmodus: Satzwechsel erfolgt sofort "NOC"...
Seite 506
Achskopplungen 12.4 Elektronisches Getriebe (EG) synchron Leitachsen (SynPosLA) werden Positionen definiert, in denen der Koppelverband als gilt. Sofern sich das elektronische Getriebe beim Einschalten nicht in synchronem Zustand befindet, fährt die Folgeachse auf ihre definierte Synchronposition. Variante 3: Die Parameter entsprechen denen der Variante 2 zuzüglich: Folgende Modi können benutzt werden: Anfahrmodus: Nächste Zahnlücke zeitoptimiert anfahren...
Achskopplungen 12.4 Elektronisches Getriebe (EG) Kurventabellen Wird für eine der Leitachsen eine Kurventabelle verwendet, so muss: der Nenner des Koppelfaktors linearer Kopplungen auf 0 gesetzt werden. (Nenner 0 wäre für lineare Kopplungen unzulässig). Nenner Null ist für die Steuerung das Kennzeichen, dass als Nummer der zu verwendenden Kurventabelle interpretiert werden soll.
Achskopplungen 12.4 Elektronisches Getriebe (EG) Programmierung Variante 1: Syntax Bedeutung Das elektronische Getriebe wird ausgeschaltet. Die Folgeachse EGOFS(Folgeachse) wird zum Stillstand abgebremst. Der Aufruf löst Vorlaufstopp aus. Variante 2: Syntax Bedeutung Diese Parametrierung des Befehls erlaubt EGOFS(Folgeachse,Leitachse1, selektiv den Einfluss einzelner Leitachsen …,Leitachse5) auf die Bewegung der Folgeachse zu besei‐...
Achskopplungen 12.5 Synchronspindel 12.4.5 Umdrehungsvorschub (G95) / Elektronisches Getriebe (FPR) Mit dem FPR-Befehl kann auch die Folgeachse eines Elektronischen Getriebes als vorschubbestimmende Achse des Umdrehungsvorschubes angegeben werden. Für diesen Fall gilt folgendes Verhalten: ● Der Vorschub ist abhängig von der Sollgeschwindigkeit der Folgeachse des Elektronischen Getriebes.
Achskopplungen 12.5 Synchronspindel 12.5.1 Synchronspindel: Programmierung (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) Die Funktion "Synchronspindel" ermöglicht ein drehzahlsynchrones Verfahren von Folge- (FS) und Leitspindel (LS) mit programmierbarem Übersetzungsverhältniss. Die Funktion bietet folgende Modi: ● Drehzahlsynchronität (n ● Lagesynchronität (ϕ = ϕ...
Seite 511
Achskopplungen 12.5 Synchronspindel Anwendungsbeispiele: ● Fliegende Werkstückübergabe z.B. zur Rückseitenbearbeitung, Übersetzungsverhältnis: ① Drehzahl synchronisieren ② Werkstück übergeben ③ Rückseite bearbeiten ● Mehrkantbearbeitung (Polygondrehen), Drehzyahlsynchronität, Übersetzungsverhältnis: Syntax COUPDEF(<FS>,<LS>,<ZFS>,<NLS>,<Satzwechsel>,<Koppelart>) COUPON(<FS>,<LS>,<POSFS>) COUPONC(<FS>,<LS>) COUPOF(<FS>,<LS>,<POSFS>,<POSLS>) COUPOFS(<FS>,<LS>) COUPOFS(<FS>,<LS>,<POSFS>) COUPRES(<FS>,<LS>) Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Seite 512
Achskopplungen 12.5 Synchronspindel 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. Bedeutung Kopplung anwenderspezifisch definieren/ändern COUPDEF: Kopplung einschalten. Ausgehend von der aktuellen Drehzahl synchronisiert COUPON: sich die Folgespindel auf die Leitspindel Kopplung beim Einschalten mit vorhergehender Programmierung von COUPONC: M3 S...
Achskopplungen 12.5 Synchronspindel Satzwechselverhalten <Satzwechsel>: Der Satzwechsel erfolgt: sofort "NOC" mit Erreichen von "Synchronlauf fein" "FINE" mit Erreichen von "Synchronlauf grob" "COARSE" mit Erreichen von IPOSTOP, d. h. nach sollwertseitigem "IPOSTOP" Synchronlauf (Voreinstellung) Das Satzwechselverhalten ist modal wirksam. Kopplungsart: Kopplung zwischen FS und LS <Koppelart>: Sollwertkopplung (Voreinstellung) "DV"...
Seite 514
Achskopplungen 12.5 Synchronspindel Programmcode Kommentar N350 COUPOF(S2,S1) Fliegend auskoppeln, S=S2=3000 N355 SPOSA[2]=0 FS bei Null Grad stoppen. N360 G0 X0 Y0 N365 WAITS(2) Warten auf Spindel 2. N370 M5 FS stoppen. N375 M30 Programmierung einer Differenzdrehzahl Programmcode Kommentar Leitspindel = Masterspindel = Spindel 1 Folgespindel = Spindel 2 N01 M3 S500 Leitspindel dreht mit 500 U/min.
Seite 515
Achskopplungen 12.5 Synchronspindel Programmcode Kommentar N15 COUPDEF(S2,S1,1) Übersetzungsverhältnis FS zu LS ist 1,0 (Vorein- stellung). N20 COUPONC(S2,S1) Fliegend auf Leitspindel einkoppeln und vorher- gehende Drehzahl zu S2 übernehmen. N10 G4 F5 S2 dreht mit 100U/min + 200U/min = 300U/min 3. Kopplung bei stehender Folgespindel mit COUPON einschalten Programmcode Kommentar Leitspindel = Masterspindel = Spindel 1...
Achskopplungen 12.5 Synchronspindel Eine Kopplung wird vollständig definiert durch: COUPDEF(<FS>,<LS>,<ÜFS>,<ÜLS>, Satzwechselverhalten, Koppelart) Folgespindel (FS) und Leitspindel (LS) Mit den Achsnamen für die FS und LS wird die Kopplung eindeutig bestimmt. Die Achsnamen müssen mit jeder Anweisung COUPDEF programmiert werden. Die anderen Kopplungsparameter sind modal wirksam und müssen nur programmiert werden, wenn sie geändert werden.
Achskopplungen 12.5 Synchronspindel ● "CO": mit Erreichen von "Synchronlauf grob" ● "IP": mit Erreichen von IPOSTOP, d. h. nach sollwertseitigem Synchronlauf Kopplungsart Hinweis Die Kopplungsart darf nur bei ausgeschalteter Kopplung verändert werden. Synchronbetrieb einschalten COUPON, <POSFS> ● Einschalten der Kopplung mit beliebigem Winkelversatz zwischen LS und FS: –...
Seite 518
Achskopplungen 12.5 Synchronspindel Differenzdrehzahl Eine Differenzdrehzahl entsteht im Drehzahlsteuerbetrieb und aktiver Synchronspindelkopplung durch vorzeichenbehaftete Überlagerung einer FS-Drehzahl aufgrund LS-Bewegung und einer FS-Drehzahl aufgrund Spindelprogrammierung: ● Synchronspindelkopplung mit COUPONC ● S<FS>=<Drehzahl> [ M<FS>=<Drehrichtung>] Hinweis Randbedingungen ● Mit der Drehrichtung M3 / M4 muss auch die Drehzahl S... neu programmiert werden. ●...
Seite 519
Achskopplungen 12.5 Synchronspindel Beispiele ● Warten auf das Erreichen der Synchronlaufbedingung FINE bei Folgespindel S2 und COARSE bei Folgespindel S4: WAITC(S2,"FINE",S4,"COARSE") ● Warten auf das Erreichen der Synchronlaufbedingung entsprechend COUPDEF: WAITC( ) Kopplung ausschalten COUPOF Mit COUPOF kann das Ausschaltverhalten der Kopplung vorgegeben werden: ●...
Achskopplungen 12.6 Generische Kopplung (CP...) <Wert> Bedeutung keine Kopplung aktiv Synchronspindelkopplung aktiv Hinweis ● Alle andere Werte beziehen sich auf Achsbetrieb ● Ist die Spindel eine Folgespindel von mehreren Kopplungen, wird als Wert der Kopplungszustand aller Kopplungen als Summenzustand zurückgegeben. ●...
Seite 521
Achskopplungen 12.6 Generische Kopplung (CP...) Hinweis Die bisherigen Kopplungsaufrufe für das Mitschleppen (TRAIL*), Leitwertkopplung (LEAD*), Elektronisches Getriebe (EG*) und Synchronspindel (COUP*) werden über Anpasszyklen weiterhin unterstützt. Übersicht aller Schlüsselwörter und Kopplungseigenschaften Die folgende Tabelle stellt eine Übersicht aller Schlüsselwörter der Generischen Kopplung und der damit programmierbaren Kopplungseigenschaften dar: Schlüsselwort Kopplungseigenschaft / Bedeu‐...
Seite 522
Achskopplungen 12.6 Generische Kopplung (CP...) Schlüsselwort Kopplungseigenschaft / Bedeu‐ Syntax tung Satzwechselkriterium CPBC CPBC[FAx]="<Satzwechselkriterium>" Satzwechsel erfolgt unab‐ "<Satzwechsel- "NOC" hängig vom Kopplungszu‐ kriterium>": stand. Satzwechsel erfolgt beim "IPOSTOP" sollwertseitigen Synchron‐ lauf. Satzwechsel erfolgt beim "COARSE" istwertseitigen Synchron‐ lauf "Grob". Satzwechsel erfolgt beim "FINE"...
Seite 523
Achskopplungen 12.6 Generische Kopplung (CP...) Schlüsselwort Kopplungseigenschaft / Bedeu‐ Syntax tung Synchronisationsmodus CPFMSON CPFMSON[FAx]="<Synchronisationsmodus>" Die Kopplung wird zeitopti‐ "<Synchronisation "CFAST" miert geschlossen. smodus>": Die Kopplung wird erst ein‐ "CCOARSE" geschaltet, wenn sich die gemäß Koppelgesetz ge‐ forderte Folgeachsposition im Bereich der aktuellen Folgeachsposition befindet.
Seite 524
Achskopplungen 12.6 Generische Kopplung (CP...) Schlüsselwort Kopplungseigenschaft / Bedeu‐ Syntax tung Verhalten der Folgeachse beim CPFMON CPFMON[FAx]="<Einschaltverhalten>" Einschalten Nur bei Spindeln! "<Einschalt- "STOP" verhalten>": Eine aktive Bewegung der Folgespindel wird vor dem Einschalten gestoppt. Nur bei Spindeln und Haupt‐ "CONT" laufachsen! Die aktuelle Bewegung der Folgeachse/-spindel wird in...
Seite 525
Achskopplungen 12.6 Generische Kopplung (CP...) Schlüsselwort Kopplungseigenschaft / Bedeu‐ Syntax tung Kopplungsverhalten bei RESET CPMRESET[FAx]="<Reset-Verhalten>" CPMRESET Der aktuelle Zustand der "<Reset- "NONE" Kopplung bleibt erhalten. Verhalten>": Ist das entsprechende Kop‐ "ON" pelmodul angelegt, so wird die Kopplung eingeschal‐ tet. Es werden alle definier‐ ten Leitachsbeziehungen aktiviert.
Seite 526
Achskopplungen 12.6 Generische Kopplung (CP...) Schlüsselwort Kopplungseigenschaft / Bedeu‐ Syntax tung Geschwindigkeit weiter. Die Kopplung wird deakti‐ viert und anschließend ge‐ löscht. Kopplungsverhalten beim Teile‐ CPMSTART CPMSTART[FAx]="<Start-Verhalten>" programmstart Der aktuelle Zustand der "<Start- "NONE" Kopplung bleibt erhalten. Verhalten>": Kopplung eingeschaltet. Es "ON"...
Seite 527
Achskopplungen 12.6 Generische Kopplung (CP...) Schlüsselwort Kopplungseigenschaft / Bedeu‐ Syntax tung Zweiter Schwellwert für den Po‐ CPSYNFIP2 CPSYNFIP2[FAx]=<Wert> sitionssynchronlauf "Fein" Schwellwert für den Geschwin‐ CPSYNCOV CPSYNCOV[FAx]=<Wert> digkeitssynchronlauf "Grob" Schwellwert für den Geschwin‐ CPSYNFIV CPSYNFIV[FAx]=<Wert> digkeitssynchronlauf "Fein" Verhalten der Folgeachse bei CPMBRAKE CPMBRAKE[FAx]=<Bitcodierter Wert>...
Achskopplungen 12.7 Master/Slave-Kopplung (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) 12.7 Master/Slave-Kopplung (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Die "Master/Slave-Kopplung" ermöglicht: ● das Einkoppeln der Slave-Achsen auf die Master-Achse im Stillstand der beteiligten Achsen. ● das Koppeln und Trennen von drehenden, drehzahlgesteuerten Spindeln. ●...
Achskopplungen 12.7 Master/Slave-Kopplung (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Hinweis Koppelverhalten bei Spindeln im Drehzahlsteuerbetrieb Bei Spindeln im Drehzahlsteuerbetrieb wird das Koppelverhalten von MASLON, MASLOF, MASLOFS und MASLDEL explizit über das folgende Maschinendatum festgelegt: MD37263 $MA_MS_SPIND_COUPLING_MODE In der Standardeinstellung mit MD37263 = 0 erfolgt das Einkoppeln und Trennen der Slave- Achsen ausschließlich im Stillstand der beteiligten Achsen.
Seite 530
Achskopplungen 12.7 Master/Slave-Kopplung (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Programmcode Kommentar $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=1 ; Permanente Kopplung der Slave-Achse ein- schalten NEWCONF ; Maschinendatenänderung aktivieren Beispiel 2: Dynamische Projektierung einer Master/Slave-Kopplung Damit die Kopplung nach der Achscontainer-Drehung mit einer anderen Spindel geschlossen werden kann, muss vorher die alte Kopplung getrennt, die Projektierung gelöscht und die neue Kopplung projektiert werden.
Synchronaktionen 13.1 Definition einer Synchronaktion Eine Synchronaktion wird in einem Satz eines Teileprogramms definiert. Innerhalb dieses Satzes dürfen keine weiteren Befehle programmiert werden, die nicht Bestandteil der Synchronaktion sind. Eine Synchronaktion besteht aus folgenden Komponenten: Gültigkeit, Ident-Nr. Bedingungsteil Aktionsteil (optional) (optional) Häufigkeit G-Funktion...
Seite 532
Synchronaktionen 13.1 Definition einer Synchronaktion Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Pendeln 14.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Eine Pendelachse fährt zwischen den zwei Umkehrpunkten 1 und 2 mit gegebenem Vorschub hin und her, bis die Pendelbewegung abgeschaltet wird. Andere Achsen können während der Pendelbewegung beliebig interpoliert werden. Über eine Bahnbewegung oder mit einer Positionierachse kann eine kontinuierliche Zustellung erreicht werden.
Seite 534
Pendeln 14.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) 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. Haltezeit im Umkehrpunkt 1 in [s] festlegen OST1: Haltezeit im Umkehrpunkt 2 in [s] festlegen OST2:...
Pendeln 14.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Endposition (im WKS) festlegen, die nach Ausschalten des Pendelns angefahren werden OSE: soll Hinweis: Bei Programmierung von "OSE" wird für "OSCTRL" implizit Option 4 wirksam. Startposition (im WKS) festlegen, die vor Einschalten des Pendelns angefahren werden OSB: soll Die Startposition wird vor Umkehrpunkt 1 angefahren.
Pendeln 14.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Hinweis Der Befehlsfolge "OSP1[Z]=..." bis "OSNCS[Z]=..." kann auch in einem Satz programmiert werden. Beispiel 2: Pendeln mit Online-Änderung der Umkehrposition Die für das asynchrone Pendeln erforderlichen Settingdaten können im Teileprogramm eingestellt werden.
Seite 537
Pendeln 14.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Die Pendelachse kann: ● Eingangsachse für die dynamische Transformation sein ● Führungsachse bei Gantry- und Mitschleppachsen sein ● verfahren werden: – ohne Ruckbegrenzung "BRISK" oder – mit Ruckbegrenzung "SOFT" oder –...
Pendeln 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) 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 ● fortgeführt oder ●...
Seite 539
Pendeln 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) 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. Die Achse Z ist Pendelachse und die Achse X Zustellachse.
Seite 540
Pendeln 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Programmcode Kommentar WHENEVER $AA_IM[Z]>=$SA_OSCILL_REVERSE_POS2[Z] ; Immer wenn die aktuelle Position DO $AA_OVR[Z]=0 der Pendelachse Z im MKS größer gleich der Umkehrposition 2 ist, dann setze den axialen Override der Pendelachse Z auf 0%. WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[0]=1 ;...
Seite 541
Pendeln 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Pendelparameter festlegen Zuordnung von Pendel- und Zustellachse: OSCILL OSCILL[<Pendelachse>]=(<Zustellachse1>,<Zustellachse2>,<Zustellachse 3>) Mit dem Befehl "OSCILL" erfolgen die Achszuordnungen und der Start der Pendelbewegung. Maximal können einer Pendelachse 3 Zustellachsen zugewiesen werden. Hinweis Vor dem Start des Pendelns müssen die Synchronbedingungen für das Verhalten der Achsen festgelegt sein.
Pendeln 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Funktionen Mit den im folgenden detailliert beschriebenen Sprachmitteln können Sie folgende Funktionen realisieren: 1. Zustellung im Umkehrpunkt. 2. Zustellung im Umkehrbereich. 3. Zustellung in beiden Umkehrpunkten. 4. Anhalten der Pendelbewegung im Umkehrpunkt. 5. Pendelbewegung wieder starten. 6.
Seite 543
Pendeln 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Unter den gegebenen Annahmen (siehe oben) ergeben sich folgende Anweisungen: Umkehrbereich 1: WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS1[Z] DO $AA_OVR[X]=0 $AA_OVR[Z]=100 Immer wenn die aktuelle Position der Pendelachse Z im MKS größer oder kleiner als die Position des Umkehrpunkts 1 ist, dann setze den axialen Override der Zustellachse X auf 0% und den axialen Override der Pendelachse Z auf 100%.
Seite 544
Pendeln 14.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Pendelbewegung wieder starten Diese Synchronaktion wird dazu benutzt, die Bewegung der Pendelachse fortzusetzen, wenn die Teilzustellbewegung abgeschlossen ist. Unter den gegebenen Annahmen (siehe oben) ergeben sich folgende Anweisungen: WHENEVER $AA_DTEPW[X]==0 DO $AA_OVR[Z]=100 Immer wenn der Restweg für die Teilzustellung der Zustelalchse X im WKS gleich Null ist, dann setze den axialen Override der Pendelachse auf 100%.
Stanzen und Nibbeln 15.1 Aktivierung, Deaktivierung 15.1.1 Stanzen und Nibbeln ein oder aus (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) Stanzen bzw. Nibbeln aktivieren/deaktivieren Mit PON und SON wird die Stanz- bzw. Nibbelfunktion aktiviert. SPOF beendet alle stanz- und nibbelspezifischen Funktionen.
Seite 546
Stanzen und Nibbeln 15.1 Aktivierung, Deaktivierung Interfaces ist die volle Stanz-/Nibbel-Funktionalität nutzbar. Die Umschaltung zwischen erstem und zweitem Stanz-Interface erfolgt über die Befehle SPIF1 und SPIF2. Hinweis Voraussetzung:Über Maschinendaten muss ein zweites I/O-Paar für die Stanzfunktionalität definiert sein (→ siehe Angaben des Maschinenherstellers!). Syntax PON G...
Seite 547
Stanzen und Nibbeln 15.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 Bewe- gung (X=100). Beispiel 2: Stanzen mit Verzögerung Programmcode Kommentar...
Seite 548
Stanzen und Nibbeln 15.1 Aktivierung, Deaktivierung Es wird mit einer Beschleunigung von 50% der Maximalbeschleunigung verfahren. Lochabstände von 2mm bis 10mm: Die Beschleunigung wird proportional zum Abstand auf 100% gesteigert. Lochabstände größer als 10mm: Verfahren mit einer Beschleunigung von 100%. Auslösung des ersten Hubs Die Auslösung des ersten Hubs nach Aktivierung der Funktion erfolgt beim Nibbeln und Stanzen zeitlich unterschiedlich:...
Seite 549
Stanzen und Nibbeln 15.1 Aktivierung, Deaktivierung Arbeiten mit drehbaren Werkzeugen Hinweis Um drehbare Werkzeuge tangential an die programmierte Bahn anzustellen, verwenden Sie die Tangentialsteuerung. Verwendung von M-Befehlen Mit Hilfe der Makrotechnik ist es nach wie vor möglich, spezielle M-Funktionen statt der Sprachbefehle zu benutzen (Kompatibilität).
Stanzen und Nibbeln 15.2 Automatische Wegaufteilung 15.2 Automatische Wegaufteilung 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 551
Stanzen und Nibbeln 15.2 Automatische Wegaufteilung 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 Teilstre- ckenlänge für automatische Wegaufteilung: 4 N120 G90 Y250 SPOF...
Stanzen und Nibbeln 15.2 Automatische Wegaufteilung 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 ;...
Stanzen und Nibbeln 15.2 Automatische Wegaufteilung Beispiel: N10 SON X0 Y0 N20 SPP=2 X10 Die Gesamtverfahrstrecke von 10 mm wird in 5 Teilstrecken von je 2 mm (SPP=2) aufgeteilt. Hinweis Die Wegaufteilung mit SPP erfolgt immer äquidistant: alle Teilstrecken sind gleich lang. Das heißt, die programmierte Teilstreckengröße (Wert von SPP) ist nur dann gültig, wenn der Quotient aus Gesamtverfahrstrecke und SPP-Wert ganzzahlig ist.
Stanzen und Nibbeln 15.2 Automatische Wegaufteilung SPP und SPN im gleichen Satz Programmieren Sie in einem Satz sowohl die Teilstreckenlänge (SPP) als auch Anzahl der Teilstrecken (SPN), so gilt für diesen Satz SPN, für alle weiteren SPP. Wurde SPP schon vor SPN aktiviert, so wird es nach dem Satz mit SPN wieder wirksam.
Stanzen und Nibbeln 15.2 Automatische Wegaufteilung Beispiel: N10 G1 SON X10 A0 N20 SPP=3 X25 A100 Durch die Hubstrecke von 3 mm werden bei der Gesamtverfahrstrecke der X-Achse (Bahnachse) von 15 mm 5 Sätze erzeugt. Die A-Achse dreht sich damit in jedem Satz um 20°. 1.
Seite 556
Stanzen und Nibbeln 15.2 Automatische Wegaufteilung Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Schleifen 16.1 Schleifspezifische Werkzeugüberwachung ein-/ausschalten (TMON, TMOF) Mit den vordefinierten Prozeduren TMON(...) und TMOF(...) wird die schleifspezifische Werkzeugüberwachung (Geometrie- und Drehzahlüberwachung) ein- bzw. ausgeschaltet. Voraussetzung Die werkzeugspezifischen Parameter $TC_TPG1 bis $TC_TPG9 müssen gesetzt sein. Syntax TMON(<TNr>) TMOF(<TNr>) Bedeutung Schleifspezifische Werkzeugüberwachung einschalten TMON(...): Der Befehl muss in dem Kanal programmiert werden, in dem die schleifspezifische Werkzeugüberwachung eingeschaltet werden soll.
Weitere Funktionen 17.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) "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"...
Weitere Funktionen 17.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Prüft, ob die angegebene Geometrieachse vorhanden ist. ISAXIS: Ermittelt bei Modulo-Rundachsen die Modulo-Position; diese entspricht dem MODAXVAL: Modulo-Rest bezogen auf den parametrierten Modulo-Bereich (beträgt in der Standardeinstellung 0 bis 360 Grad; über MD30340 MODULO_RANGE_START und MD30330 $MA_MODULO_RANGE können Beginn und Größe des Modulo- Bereichs verändert werden).
Weitere Funktionen 17.2 Umschaltbare Geometrieachsen (GEOAX) MD30330 $MA_MODULO_RANGE = 360 Programmcode Kommentar R10=MODAXVAL(A,372.55) ; Berechnete Modulo-Position R10 = 12.55. Beispiel 4: MODAXVAL Wenn sich der programmierte Achsbezeichner nicht auf eine Modulo-Rundachse bezieht, dann wird der zu wandelnde Wert (<Achsposition>) unverändert zurückgegeben. Programmcode Kommentar R11=MODAXVAL(X,372.55)
Seite 562
Weitere Funktionen 17.2 Umschaltbare Geometrieachsen (GEOAX) Die Geometrieachsen sind so projektiert, dass nach dem Einschalten zunächst Z1 als 3. Geometrieachse unter dem Geometrieachsnamen "Z" wirksam ist und zusammen mit X1 und Y1 den Geometrieachsverbund bildet. Im Teileprogramm sollen nun die Achsen Z1 und Z2 wechselweise als Geometrieachse Z zum Einsatz kommen: Programmcode Kommentar...
Seite 563
Weitere Funktionen 17.2 Umschaltbare Geometrieachsen (GEOAX) Programmcode Kommentar N50 G17 G2 X20 I10 F1000 ; Vollkreis in der X/Y-Ebene. Es fahren die ; Kanalachsen XX und V. N60 GEOAX(2,W) ; Kanalachse W wird zweite Geometrieachse (Y). N80 G17 G2 X20 I10 F1000 ;...
Seite 564
Weitere Funktionen 17.2 Umschaltbare Geometrieachsen (GEOAX) Mitteilung an PLC-Anwenderprogramm Parametriermöglichkeit des M-Befehls der bei einer Geometrieachsumschaltung an die NC/ PLC-Nahtstelle ausgegeben wird: ● MD22532 $MC_GEOAX_CHANGE_M_CODE Randbedingungen Keine Geometrieachsumschaltung ● Ist eine der folgenden Funktionen aktiv, ist keine Geometrieachsumschaltung möglich: – Transformation –...
Weitere Funktionen 17.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) Werkzeuglängenkorrektur Eine aktive Werkzeuglängenkorrektur ist auch nach dem Umschaltvorgang wirksam. Sie gilt jedoch für die neu aufgenommenen bzw. positionsgetauschten Geometrieachsen als noch nicht herausgefahren. Beim ersten Bewegungsbefehl für diese Geometrieachsen besteht der resultierende Verfahrweg dementsprechend aus der Summe von Werkzeuglängenkorrektur und programmiertem Verfahrweg.
Weitere Funktionen 17.3 Achscontainer (AXCTSWE, AXCTSWED, AXCTSWEC) Bedeutung Freigabe zum Drehen des Achscontainers AXCTSWE: Die Programmverarbeitung wird durch "AXCTSWE" nicht angehalten. Die Drehung erfolgt, sobald alle am Achscontainer beteiligten Kanäle die Freigabe erteilt haben. Freigabe zum Drehen des Achscontainers ohne Berücksichtiung der anderen am AXCTSWED: Achscontainer beteiligten Kanäle Hinweis...
Weitere Funktionen 17.4 Warten auf gültige Achsposition (WAITENC) Systemvariable Beschreibung $AN_AXCTSWE[<Achscontainer>] Slot-spezifischer Status der Achscontainer-Dre‐ hung Die Systemvariable liefert Bit-weise den Status der Slots des Achscontainers. Jedes Bit entspricht ei‐ nem Slot. $AN_AXCTAS[<Achscontainer>] Anzahl der Plätze (Slots) um die der Achscontainer aktuell weitergeschaltet wurde.
Weitere Funktionen 17.5 Programmierbare Parametersatzumschaltung (SCPARA) Beispiel "WAITENC" wird z. B. im ereignisgesteuerten Anwenderprogramm .../_N_CMA_DIR/ _N_PROG_EVENT_SPF verwendet, wie das folgende Anwendungsbeispiel zeigt. Anwendungsbeispiel: Werkzeugrückzug nach POWER OFF mit Orientierungstransformation Eine Bearbeitung mit Werkzeugorientierung wurde durch Spannungsausfall abgebrochen. Beim anschließenden Hochlauf wird das ereignisgesteuerte Anwenderprogramm .../ _N_CMA_DIR/_N_PROG_EVENT_SPF aufgerufen.
Seite 569
Weitere Funktionen 17.5 Programmierbare Parametersatzumschaltung (SCPARA) DB31, ... DBX9.3 (Parametersatzvorgabe durch NC gesperrt) Hinweis Wird eine Parametersatzumschaltung durch "SCPARA" angefordert, während die Parametersatzumschaltung über die NC/PLC-Nahstelle gesperrt ist, wird die Umschaltung ohne Fehlermeldung abgewiesen. Syntax SCPARA[<Achse>] = <Wert> Bedeutung Befehl: Parametersatz umschalten SCPARA: Achsbezeichner (Kanalachse) <Achse>:...
Weitere Funktionen 17.6 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) 17.6 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Mit der Funktion "STRINGIS(...)" kann geprüft werden, ob der angegebene String als Element der NC-Programmiersprache im aktuellen Sprachumfang zur Verfügung steht. Definition INT STRINGIS(STRING <Name>) Syntax STRINGIS(<Name>) Bedeutung Funktion mit Rückgabewert STRINGIS: Name des zu prüfenden Elementes der NC-Programmiersprache...
Seite 571
1) Steuerungs-abhängig ist unter Umständen nur eine Untermenge der Siemens NC-Sprachbefehle bekannt, z.B. SINUME‐ RIK 802D sl. Auf diesen Steuerungen wird für Strings, die prinzipiell Siemens NC-Sprachbefehle sind, der Wert 0 zurückge‐ geben. 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 572
Weitere Funktionen 17.6 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) 4. Der String "INVCW" ist als benamter G–Code definiert: 202 == STRINGIS("INVCW") 5. Der String "$MC_GCODE_RESET_VALUES" ist als Maschinendatum definiert: 206 == STRINGIS("$MC_GCODE_RESET_VALUES") 6. Der String "GETMDACT" ist eine NC–Sprachfunktion: 203 == STRINGIS("GETMDACT ") 7.
Weitere Funktionen 17.7 Fenster aus dem Teileprogramm interaktiv aufrufen (MMC) Beispiel Die für die Funktion STRINGIS(...) relevanten Maschinendaten haben folgende Werte: ● MD10711 $MN_NC_LANGUAGE_CONFIGURATION = 2 (Es werden nur die NC- Sprachbefehle als bekannt angesehen, deren Optionen gesetzt sind) ● MD19410 $ON_TRAFO_TYPE_MASK = 'H0' (Option: Transformationen) ●...
Seite 574
Weitere Funktionen 17.7 Fenster aus dem Teileprogramm interaktiv aufrufen (MMC) Bedeutung Unterprogrammbezeichner MMC: Parameter vom Typ STRING <Kommando>: Enthält das MMC-Kommando, z. B. in folgender Form: "CYCLES,PICTURE_ON,T_SK.COM,BILD,MGUD.DEF,BILD_3.AWB ,TEST_1,A1" Bedienbereich, in dem die projektierten Anwender‐ CYCLES: dialoge ausgeführt werden. Befehl: Bildanwahl bzw. Bildabwahl PICTURE_ON: bzw.
Weitere Funktionen 17.8 Programmlaufzeit / Werkstückzähler 17.8 Programmlaufzeit / Werkstückzähler 17.8.1 Programmlaufzeit / Werkstückzähler (Übersicht) Zur Unterstützung des Werkzeugmaschinenbedieners werden Informationen zur Programmlaufzeit und Werkstückzahl bereitgestellt. Diese Informationen können als Systemvariablen im NC- und/oder PLC-Programm bearbeitet werden. Gleichzeitig stehen diese Informationen für die Anzeige auf der Bedienoberfläche zur Verfügung.
Seite 576
Weitere Funktionen 17.8 Programmlaufzeit / Werkstückzähler Systemvariable Bedeutung Aktivität $AC_OPERATING_TIME Gesamtlaufzeit von NC-Programmen in der Betriebs‐ ● Aktivierung über art Automatik in Sekunden MD27860 Der Wert wird mit jedem Steuerungshochlauf automa‐ ● nur Betriebsart tisch auf "0" zurückgesetzt. AUTOMATIK $AC_CYCLE_TIME Laufzeit des angewählten NC-Programms in Sekunden Der Wert wird mit dem Start eines neuen NC-Pro‐...
Seite 577
Weitere Funktionen 17.8 Programmlaufzeit / Werkstückzähler Systemvariable Bedeutung Aktivität $AC_PROG_NET_TIME_TRIGGER Trigger zur Laufzeitmessung: ● nur Betriebsart AUTOMATIK Neutraler Zustand Der Trigger ist nicht aktiv. Beenden Beendet die Messung und kopiert den Wert aus $AC_ACT_PROG_NET_TIME in $AC_OLD_PROG_NET_TIME. $AC_ACT_PROG_NET_TIME wird auf "0" ge‐ setzt und läuft danach weiter.
Weitere Funktionen 17.8 Programmlaufzeit / Werkstückzähler Hinweis Restzeit für ein Werkstück Wenn nacheinander gleiche Werkstücke produziert werden, kann aus den Timerwerten: ● Bearbeitungszeit für das zuletzt produzierte Werkstück (siehe $AC_OLD_PROG_NET_TIME) ● aktuelle Bearbeitungszeit (siehe $AC_ACT_PROG_NET_TIME) die verbleibende Restzeit für ein Werkstück ermittelt werden. Die Restzeit wird zusätzlich zur aktuellen Bearbeitungszeit auf der Bedienoberfläche anzeigt.
Weitere Funktionen 17.8 Programmlaufzeit / Werkstückzähler Der Wert von $AC_OLD_PROG_NET_TIME: ● beibt über M30 hinaus erhalten. ● wird nach jedem Schleifendurchlauf aktualisiert. Beispiel 2: Zeitdauer von "mySubProgrammA" und "mySubProgrammC" messen Programmcode N10 DO $AC_PROG_NET_TIME_TRIGGER=2 N20 mySubProgrammA N30 DO $AC_PROG_NET_TIME_TRIGGER=3 N40 mySubProgrammB N50 DO $AC_PROG_NET_TIME_TRIGGER=4 N60 mySubProgrammC N70 DO $AC_PROG_NET_TIME_TRIGGER=1...
Weitere Funktionen 17.9 Process DataShare - Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) Hinweis Alle Werkstückzähler werden bei einem Steuerungshochlauf mit Standardwerten auf "0" gesetzt und können unabhängig von ihrer Aktivierung gelesen und geschrieben werden. Hinweis Über kanalspezifische Maschinendaten kann auf die Zähler-Aktivierung, den Zeitpunkt der Nullung und den Zählalgorithmus Einfluss genommen werden.
Seite 581
Weitere Funktionen 17.9 Process DataShare - Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) <Output>="Ausgabe Daten" WRITE(<Result>,<ExtDev>,<Output>) … EXTCLOSE(<Result>,<ExtDev>) Bedeutung Vordefinierte Prozedur zum Öffnen eines externen Geräts/Datei EXTOPEN: Parameter 1: Ergebnisvariable <Result>: Anhand des Ergebnisvariablenwerts kann im Programm das Gelingen der Ope‐ ration ausgewertet und entsprechend fortgefahren werden.
Seite 582
Weitere Funktionen 17.9 Process DataShare - Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) Parameter 2: Symbolischer Bezeichner für das zu öffnende externe Gerät/Datei <ExtDev>: Typ: STRING Der symbolische Bezeichner besteht aus: 1. dem logischen Gerätenamen 2. ggf. gefolgt von einem Dateipfad (angehängt mit "/"). Folgende logische Gerätenamen sind definiert: Lokale CompactFlash Card (vordefiniert) "LOCAL_DRIVE":...
Seite 583
Weitere Funktionen 17.9 Process DataShare - Ausgabe auf ein externes Gerät/Datei (EXTOPEN, WRITE, EXTCLOSE) Parameter 3: Bearbeitungsmodus für die WRITE-Befehle zu diesem Gerät/Datei <SyncMode>: Typ: STRING Werte: Synchrones Schreiben "SYN": Die Programmausführung wird angehalten, bis der Schreibvorgang abgeschlossen ist. Die erfolgreiche Beendigung des synchronen Schreib‐ ens kann durch Auswerten der Fehlervariablen des WRITE-Befehls überprüft werden.
Weitere Funktionen 17.10 Alarme (SETAL) Vordefinierte Prozedur zum Schließen eines geöffneten externen Geräts/Datei EXTCLOSE: Parameter 1: Ergebnisvariable <Result>: Typ: Werte: kein Fehler ungültiger externer Pfad programmiert Fehler beim Schließen des externen Geräts Parameter 2: Symbolischer Bezeichner für das zu schließende externe Gerät/ <ExtDev>: DateiBeschreibung siehe unter EXTOPEN! Hinweis:...
Seite 585
Variable vom Typ INT. Enthält die Alarmnummer. <Alarmnummer>: Der gültige Bereich für Alarmnummern liegt zwischen 60000 und 69999, wo‐ von 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 zusätzlich eine <Zeichenkette>:...
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) Die Funktion "Erweitertes Stillsetzen und Rückziehen", im weiteren Verlauf mit ESR bezeichnet, bietet die Möglichkeit, in Fehlersituationen prozessabhängig flexibel zu reagieren: ● Erweitertes Stillsetzen Soweit es die spezifische Fehlersituation erlaubt, werden alle für das Erweiterte Stillsetzen freigegebenen Achsen geordnet stillgesetzt.
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) Aktivierung Funktionsfreigabe Die Funktionen Generatorbetrieb, Stillsetzen, Rückziehen werden durch Setzen des zugehörigen Steuersignals $AA_ESR_ENABLE freigegeben. Dieses Steuersignal kann von Synchronaktionen verändert werden. Funktionsauslösung ESR wird gemeinsam für alle freigegebenen Achsen ausgelöst durch Setzen der Systemvariablen $AC_ESR_TRIGGER.
Seite 588
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) POLFA(Achse,0) ; Bewirkt keinen Vorlaufstopp Bedeutung Adresse zur Angabe der Zielposition der Rückzugsachse POLF: POLF ist modal wirksam. Name der Geometrie- oder Kanal-/Maschinenachse, die zu‐ <Achse>: rückzieht Rückzugsposition <Position>: Typ: REAL Für Geometrieachse gilt WKS, sonst MKS. Bei gleichen Bezeichnern für Geometrie- und Kanal-/Maschi‐...
Seite 589
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) Hinweis Bevor über POLFMASK oder POLFMLIN das Schnellabheben auf eine feste Position freigegeben werden kann, muss für die ausgewählten Achsen eine Position mit POLF programmiert worden sein. Hinweis Werden Achsen nacheinander mit POLFMASK, POLFMLIN oder POLFMLIN, POLFMASK freigegeben, gilt für die jeweilige Achse immer die letzte Festlegung.
Seite 590
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) ● Im Teileprogramm sind die achsspezifischen Rückzugspositionen mit POLF programmiert. ● Die Achsen sind mit POLFMASK/POLFMLIN für das NC-geführte Rückziehen ausgewählt. ● Für die Rückzugbewegung müssen die Freigabesignale gesetzt sein und gesetzt bleiben. NC-geführtes Rückziehen freigeben und starten Wenn die Systemvariable $AC_ESR_TRIGGER = 1 gesetzt wird, und wenn in diesem Kanal eine Rückzugsachse konfiguriert ist (d.
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) Neutrale Achsen Neutrale Achsen können kein NC-geführtes ESR ausführen. 17.11.1.2 NC-geführtes Stillsetzen Für die im Kanal konfigurierte(n) Stillsetzachse(n) wird durch Setzen der Systemvariablen $AC_ESR_TRIGGER (bzw. $AA_ESR_TRIGGER für Einzelachsen) das NC-geführte Stillsetzen aktiviert. Voraussetzungen ●...
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) Syntax ESRS(<Achse_1>,<Stillsetzzeit_1>[,...,<Achse_n>,<Stillsetzzeit_n>]) Bedeutung Funktion zum Schreiben der Antriebsparameter für die ESR-Funktion ESRS(...): "Stillsetzen" Die Funktion: ● muss alleine im Satz stehen. ● löst Vorlaufstopp aus. ● kann nicht in Synchronaktionen verwendet werden. Achse, für die antriebsautarkes Stillsetzen projektiert werden soll <Achse_1>, ...,...
Seite 593
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) Bedeutung Funktion zum Schreiben der Antriebsparameter für die ESR-Funk‐ ESRR(...): tion "Rückziehen" Die Funktion: ● muss alleine im Satz stehen. ● löst Vorlaufstopp aus. ● kann nicht in Synchronaktionen verwendet werden. Achse, für die antriebsautarkes Rückziehen projektiert werden soll <Achse_1>, ..., Im Antrieb wird für diese Achse der Antriebsparameter p0888 (Kon‐...
Seite 594
Weitere Funktionen 17.11 Erweitertes Stillsetzen und Rückziehen (ESR) Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Eigene Abspanprogramme 18.1 Unterstützende Funktionen für das Abspanen Für das Abspanen werden Ihnen fertige Bearbeitungszyklen angeboten. Darüber hinaus haben Sie die Möglichkeit, mit den nachfolgend aufgeführten Funktionen eigene Abspanprogramme zu erstellen: ● Konturtabelle erstellen (CONTPRON) ● Codierte Konturtabelle erstellen (CONTDCON) ●...
Seite 596
Eigene Abspanprogramme 18.2 Konturtabelle erstellen (CONTPRON) Siehe " Konturaufbereitung ausschalten (EXECUTE) (Seite 609) " Bedeutung Vordefinierte Prozedur zum Einschalten der Konturaufberei‐ CONTPRON: tung zur Erstellung einer Konturtabelle Name der Konturtabelle <Konturtabelle>: Parameter für die Bearbeitungsart <Bearbeitungsart>: Typ: CHAR Wert: Längsdrehen: Innenbearbeitung "G": Längsdrehen: Außenbearbeitung "L":...
Seite 597
Eigene Abspanprogramme 18.2 Konturtabelle erstellen (CONTPRON) NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[30,11] ; Konturtabelle mit Namen KTAB und max. 30 Konturelementen, Parameterwert 11 (Spaltenzahl der Tabelle) ist eine feste Größe. N20 DEF INT ANZHINT ; Variable für die Anzahl der Hinter- schnittelemente mit Namen ANZHINT.
Seite 598
Eigene Abspanprogramme 18.2 Konturtabelle erstellen (CONTPRON) -1111 104.0362435 146.3099325 116.5650512 Erläuterung der Spalteninhalte: Zeiger auf nächstes Konturelement (auf die Zeilennummer desselben) Zeiger auf vorhergehendes Konturelement Codierung des Konturmodus für die Bewegung Mögliche Werte für X = abc a = 10 G90 = 0 G91 = 1 b = 10...
Seite 599
Eigene Abspanprogramme 18.2 Konturtabelle erstellen (CONTPRON) NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[92,11] ; Konturtabelle mit Namen KTAB und max. 92 Konturelementen, Parameterwert 11 ist eine feste Größe. N20 DEF CHAR BT="L" ; Betriebsart für CONTPRON: Längsdrehen, Außenbearbeitung N30 DEF INT HE=0 ;...
Seite 600
Eigene Abspanprogramme 18.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 18.3 Codierte Konturtabelle erstellen (CONTDCON) 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: ● Rundung und Fase ●...
Seite 602
Eigene Abspanprogramme 18.3 Codierte Konturtabelle erstellen (CONTDCON) Bedeutung Vordefinierte Prozedur zum Einschalten der Konturaufberei‐ CONTDCON: tung zur Erstellung einer codierten Konturtabelle Name der Konturtabelle <Konturtabelle>: Parameter für Bearbeitungsrichtung <Bearbeitungsrichtung>: Typ: Wert: Konturaufbereitung gemäß der Folge der Kontursätze (Standardwert) unzulässig Hinweis Die für CONTDCON zugelassenen G-Codes im zu tabellierenden Programmstück sind umfangreicher als bei CONTPRON.
Seite 603
Eigene Abspanprogramme 18.3 Codierte Konturtabelle erstellen (CONTDCON) NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[9,6] ; Konturtabelle mit Namen KTAB und 9 Tabellenzeilen. Diese erlauben 8 Kon- tursätze. Der Parameterwert 6 (Spal- tenzahl der Tabelle) ist eine feste Größe. N20 DEF INT MODE = 0 ;...
Seite 604
Eigene Abspanprogramme 18.3 Codierte Konturtabelle erstellen (CONTDCON) Erläuterung der Spalteninhalte: Zeile 0: Codierungen für den Startpunkt: Spalte 0: (Einerstelle): G0 = 0 (Zehnerstelle): G70 = 0, G71 = 1, G700 = 2, G710 = 3 Spalte 1: Startpunkt Abszisse Spalte 2: Startpunkt Ordinate Spalte 3-4: Spalte 5:...
Eigene Abspanprogramme 18.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) Ein Tausch der Geometrieachsen mit GEOAX während der Aufbereitung der Konturtabelle führt zu einem Alarm. Bearbeitungsrichtung Die mit CONTDCON erzeugte Konturtabelle ist zum Abspanen in der programmierten Richtung der Kontur vorgesehen. 18.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) INTERSEC ermittelt den Schnittpunkt von zwei normierten Konturelementen aus mit...
Eigene Abspanprogramme 18.5 Konturelemente einer Tabelle satzweise abfahren (EXECTAB) 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 18.6 Kreisdaten berechnen (CALCDAT) Bedeutung Vordefinierte Proedur zum Abfahren eines Konturelements EXECTAB: Name der Konturtabelle <Konturtabelle>: Nummer des Konturelements <Konturelement>: Beispiel Die Konturelemente 0 bis 2 der Tabelle KTAB sollen satzweise abgefahren werden. Programmcode Kommentar N10 EXECTAB(KTAB[0]) ; Element 0 der Tabelle KTAB verfahren. N20 EXECTAB(KTAB[1]) ;...
Seite 608
Eigene Abspanprogramme 18.6 Kreisdaten berechnen (CALCDAT) Bedeutung Vordefinierte Funktion zur Berechnung von Radius und Mittelpunkt-Ko‐ CALCDAT: ordinaten eines Kreises aus 3 oder 4 Punkten Variable für den Kreisberechnungsstatus <Status>: Typ: BOOL Wert: TRUE Die angegebenen Punkte liegen auf einem Kreis. FALSE Die angegebenen Punkte liegen nicht auf ei‐...
Eigene Abspanprogramme 18.7 Konturaufbereitung ausschalten (EXECUTE) Beispiel Von drei Punkten soll ermittelt werden, ob sie auf einem Kreisabschnitt liegen. Programmcode Kommentar N10 DEF REAL PKT[3,2]=(20,50,50,40,65,20) ; Variable zur Angabe der Kreis- punkte. N20 DEF REAL ERG[3] ; Variable für Ergebnis. N30 DEF BOOL STATUS ;...
Seite 610
Eigene Abspanprogramme 18.7 Konturaufbereitung ausschalten (EXECUTE) Bedeutung Vordefinierte Prozedur zum Beenden der Konturaufbereitung EXECUTE: Variable für Fehlerrückmeldung <FEHLER>: Typ: Der Wert der Variablen zeigt an, ob die Kontur fehlerfrei aufbereitet werden konnte: Fehler kein Fehler Beispiel Programmcode N30 CONTPRON(...) N40 G1 X... Z... N100 EXECUTE(...) Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Zyklen extern programmieren 19.1 Technologische Zyklen 19.1.1 Einleitung Inhalt Dieses Kapitel enthält die Beschreibung der Zyklen für die Technologien Drehen, Fräsen, Schleifen. Aufbau Die Beschreibung eines Zyklus ist wie folgt aufgebaut: ● Syntax Zyklusname und Aufrufreihenfolge der Übergabeparameter ● Parameter Tabelle zur Erläuterung der einzelnen Parameter Parameterbeschreibung In der Tabelle sind zu einem Parameter folgende Daten angegeben: Name, Beschreibung,...
Zyklen extern programmieren 19.1 Technologische Zyklen Zyklen auf Positionsmuster wiederholen Bohr- und Fräszyklen können auf Positionsmuster wiederholt werden (modale Aufrufe). Vor dem Zyklus ist dann in derselben Zeile MCALL zu schreiben, z. B. MCALL CYCLE83(...). Hinweis Sind bestimmte Übergabeparameter (z. B. <_VARI>, <_GMODE>, <_DMODE>, <_AMODE>) indirekt als Parameter programmiert, wird die Eingabemaske beim Rückübersetzen geöffnet, kann aber nicht abgespeichert werden, weil es zu bestimmtem Auswahlfeldern keine eindeutige Zuordnung gibt.
Zyklen extern programmieren 19.1 Technologische Zyklen 19.1.3 HOLES1 - Lochreihe Syntax HOLES1(<SPCA>, <SPCO>, <STA1>, <FDIS>, <DBH>, <NUM>, <_VARI>, <_UMODE>, <_HIDE>, <_NSP>, <_DMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt für Lochreihe in der 1. Achse (abs) <SPCA> REAL Bezugspunkt für Lochreihe in der 2.
Seite 615
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Mittelpunkt für Lochkreis in der 1. Achse (abs) (bei XY) <CPA> Bezugspunkt in der 1. Achse (bei XA, YB, ZC) REAL Mittelpunkt für Lochkreis in der 2. Achse (abs) (bei XY) <CPO>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Vorschubart: G-Gruppe (G94/G95) für Flächen- und Tiefenvorschub...
Seite 622
Zyklen extern programmieren 19.1 Technologische Zyklen <CDIR>, <_FAL>, <VARI>, <_MIDF>, <FFP2>, <SSF>, <_FALD>, <_STA2>, <_DP1>, <_UMODE>, <_FS>, <_ZFS>, <_GMODE>, <_DMODE>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <RTP> REAL Bezugspunkt der Werkzeugachse (abs) <RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzu‐ <SDIS>...
Seite 623
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Schlichtaufmaß Tiefe <_FALD> REAL Radius der Helixbahn beim Eintauchen helikal <_STA2> maximaler Eintauchwinkel für pendelnd REAL Eintauchtiefe pro Umdrehung für Helix <_DP1> reserviert <_UMODE> REAL Fasenbreite (ink) bei Anfasen <_FS>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Endtiefe Z1 (abs/ink) Kompatibilität Z1 (ink) Z1 (abs) ZEHNER: reserviert HUNDERTER: Eintauchtiefe bei Anfasen ZFS ZFS (abs) ZFS (ink) Hinweis Der Zyklus ist gegenüber früheren SW-Versionen mit neuen Funktionen ausgestattet. Das hat zur Folge, dass bestimmte Parameter in der Eingabemaske nicht mehr angezeigt werden (<NUM>, <RAD>, <INDA>).
Seite 625
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern α0 REAL Anfangswinkel <STA1> α2 REAL Fortschaltwinkel <INDA> REAL Zustellvorschub Tiefe <FFD> REAL Vorschub <FFP1> REAL maximale Tiefenzustellung <_MID> Fräsrichtung Gleichlauf <CDIR> Gegenlauf REAL Schlichtaufmaß Ebene oder Nutrand <_FAL>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: reserviert HUNDERTER:...
Seite 627
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Langlochtiefe (abs) <_DP> REAL Langlochtiefe (ink), bezogen auf Z0 (ohne Vorzeichen einzugeben) <_DPR> Anzahl der Langlöcher = 1 <NUM> REAL Länge Langloch <LENG> REAL Bezugspunkt, 1. Achse der Ebene <_CPA>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Vorschubart: G-Gruppe (G94/G95) für Flächen- und Tiefenvorschub...
Seite 629
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern STRING zu gravierender Text (maximal 100 Zeichen) <_TEXT> [200] REAL Rückzugsebene (abs) <_RTP> REAL Bezugspunkt der Werkzeugachse (abs) <_RFP> REAL Sicherheitsabstand (additiv auf Referenzebene, ohne Vorzeichen ein‐ <_SDIS>...
Seite 630
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitung (Ausrichtung und Bezugspunkt des Gravurtextes) <_VARI> EINER: Bezugspunkt rechtwinklig polar ZEHNER: Textausrichtung Text auf einer Linie Text auf einem Kreisbogen oben Text auf einem Kreisbogen unten HUNDERTER: reserviert TAUSENDER: Bezugspunkt des Textes horizontal...
Seite 638
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <_RTP> REAL Bezugspunkt der Werkzeugachse (abs) <_RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzu‐ <_SDIS> geben) REAL Gewindelänge (abs, ink), siehe <_AMODE> <_DP> Auslauf am Bohrungsgrund berücksichtigen (minimum halbe Steigung) ∅...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: reserviert HUNDERTER: Bearbeitung/Startpunktberechnung Kompatibilitätsmodus normale Bearbeitung Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv)
Seite 640
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Vorschub an der Kontur <_FFP1> REAL Vorschub für Tiefenzustellung (oder räumliche Zustellung) <_FFD> Bearbeitungsart <_VARI> EINER: Bearbeitung Schruppen Schlichten Anfasen ZEHNER: Zwischenwege mit G0 Zwischenwege mit G1 HUNDERTER: Rückzug am Konturende Rückzug am Konturende auf Be‐...
Seite 641
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Kontur-Anfahrbewegung <_AS1> EINER: Gerade Viertelkreis Halbkreis senkrecht An- und Abfahren ZEHNER: letzte Bewegung, in der Ebene letzte Bewegung, räumlich REAL Anfahrweg, oder Anfahrradius (ink, ohne Vorzeichen einzugeben) <_LP1> REAL Vorschub für Zwischenwege (G94/G95 wie an Kontur) <_FF3>...
Seite 642
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Vorschubart: G-Gruppe (G94/G95) für Flächen- und Tiefenvorschub...
Seite 644
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung oder nur Start‐ punktberechnung Kompatibilitätsmodus normale Bearbeitung TAUSENDER: Bemaßung des Zapfens über Mitte oder Ecke Kompatibilitätsmodus Bemaßung über Mitte Bemaßung Eckpunkt,...
Seite 648
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Betrag/Prozentsatz für jede weitere Zustellung (Degression), siehe <_DAM> <_AMODE> REAL minimale Zustellung (ink), nur bei Degression wirksam <_MDEP> Bearbeitungsart <_VARI> EINER: reserviert ZEHNER: Entspanen vor Gewindefräsen kein Entspanen vor Gewindefrä‐ sen (wirkt nur auf Endbohrtiefe) Entspanen vor Gewindefräsen (wirkt nur auf Endbohrtiefe)
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern STRING[20] String für Auswahl in der Gewindetabelle (z.B. "M 10", "M 12", ...) (nur <_PTABA> für die Oberfläche) Geometriemodus (Bewertung der programmierten Geometriewerte), <_GMODE> reserviert Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/18/19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐...
Seite 650
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzu‐ <_SDIS> geben) REAL Mehrkanttiefe (abs/ink), siehe <_AMODE> <_DP> Anzahl der Kanten (1...n) <_NUM> SW/L REAL Schlüsselweite oder Kantenlänge (je nach <_VARI>) <_SWL>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzu‐ <SDIS> geben) Z1/∅ REAL Bohrtiefe (abs) / Durchmesser der Zentrierung (abs), siehe <_GMODE> <DP> REAL Bohrtiefe (ink) <DPR> REAL Verweilzeit auf Endbohrtiefe, siehe <_AMODE> <DTB>...
Seite 653
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <RTP> REAL Bezugspunkt (abs) <RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzu‐ <SDIS> geben) REAL Bohrtiefe (abs), siehe <_AMODE> <DP> REAL Bohrtiefe (ink), siehe <_AMODE> <DPR>...
Seite 654
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Bohrtiefe Z1 (abs/ink) Kompatibilität aus Programmie‐ rung DP/DPR inkrementell absolut ZEHNER: Verweilzeit DT auf Endbohrtiefe in Se‐ kunden/Umdrehungen Kompatibilität, aus Vorzeichen von DT (> 0 Sekunden / < 0 Um‐ drehungen) in Sekunden in Umdrehungen...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Restbohrtiefe inkrementell bezogen auf Endbohrtiefe oder absolut (in <S_ZD> Verbindung mit <_AMODE> ZEHNTAUSENDER) REAL Restbohrvorschub als Wert oder in % (in Verbindung mit <_AMODE> <S_FD> HUNDERTTAUSENDER) 19.1.23 CYCLE83 - Tieflochbohren Syntax CYCLE83(<RTP>, <RFP>, <SDIS>, <DP>, <DPR>, <FDEP>, <FDPR>, <_DAM>,...
Seite 656
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsbetrag nach jeder Bearbeitung (nur bei Spänebrechen) <_VRT> > 0 variabler Rückzugsbetrag Standardwert 1 mm REAL Verweilzeit auf Endbohrtiefe, siehe <_AMODE> <_DTD> REAL Vorhalteabstand (nur bei Entspanen), siehe <_AMODE> <_DIS1>...
Seite 657
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Bohrtiefe = Endbohrtiefe Z1 (abs/ink) Kompatibilität, aus Programmie‐ rung <DP>/<DPR> inkrementell absolut ZEHNER: Verweilzeit auf Bohrtiefe DTB in Sekun‐ den/Umdrehungen Kompatibilität aus Vorzeichen von DTB (> 0 Sekunden oder <...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern manuell (programmierter Wert) ZEHNMILLIONEN: Vorschubfaktor für erste Zustellung <FRF> als Faktor/Prozentsatz Kompatibilität, als Faktor (0,001 bis 1,0, FRF = 0 bedeutet 100 %) Prozentsatz (0,001 bis 999,999 %) 19.1.24 CYCLE84 - Gewindebohren ohne Ausgleichsfutter Syntax...
Seite 659
MCALL Spindelbetrieb wieder aktivie‐ bei MCALL in Lageregelung bleiben Bearbeitungsart <_VARI> EINER: 1 Schnitt Spänebrechen (Tieflochgewindebohren) Entspanen (Tieflochgewindebohren) TAUSENDER: ISO/SIEMENS Modus für Eingabemaske nicht relevant Aufruf aus ISO-Kompatibilität Aufruf aus SIEMENS-Kontext REAL maximale Tiefenzustellung (nur bei Entspanen/Spänebrechen) <_DAM> Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Seite 660
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsbetrag nach jeder Bearbeitung (nur bei Spänebrechen), siehe <_VRT> <_AMODE> STRING[15] String als Merker für Gewindesteigungseingabe <_PITM> STRING[5] String für Gewindetabelle ("", "ISO", "BSW", "BSP", "UNC") <_PTAB> STRING[20] String für Auswahl in der Gewindetabelle (z.
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Bohrtiefe (abs), siehe <_AMODE> <DP> REAL Bohrtiefe (ink), siehe <_AMODE> <DPR> REAL Verweilzeit auf Endbohrtiefe, siehe <_AMODE> <DTB> Spindeldrehrichtung <SDIR> REAL Abhebebetrag in X-Richtung <RPA> REAL Abhebebetrag in Y-Richtung <RPO>...
Seite 664
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt (abs, immer Durchmesser) <_SPD> REAL Bezugspunkt (abs) <_SPL> REAL Tiefe für Drehzahlreduzierung, siehe <_AMODE> (EINER) <_DIAG1> REAL Endtiefe, siehe <_AMODE> (ZEHNER) <_DIAG2> R/FS REAL Verrundusradius oder Fasebreite, siehe <_AMODE> (TAUSENDER) <_RC>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Tiefe für Drehzahlreduzierung (<_DIAG1>) absolut, Wert der Planachse im Durchmesser inkrementell, Wert der Planachse im Radius ZEHNER: Endtiefe (<_DIAG2>) absolut, Wert der Planachse im Durchmesser inkrementell, Wert der Planachse im Radius HUNDERTER:...
Seite 666
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsart <_VARI> EINER und ZEHNER: Schruppen, längs, Außen Schruppen, plan, Außen Schruppen, längs, Innen Schruppen, plan, Innen Schlichten, längs, Außen Schlichten, plan, Außen Schlichten, längs, Innen Schlichten, plan, Innen Komplettbearbeitung, längs, Au‐...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) TAUSENDER: Kompatibilitätsmodus: Konturna‐...
Seite 668
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Gewindevorlauf (ink, ohne Vorzeichen einzugeben) <APP> REAL Gewindeauslauf (ink, ohne Vorzeichen einzugeben) <ROP> REAL Gewindetiefe (ink, ohne Vorzeichen einzugeben) <TDEP> REAL Schlichtaufmaß in X und Z <FAL> REAL Zustellschräge als Abstand oder Winkel, siehe <_AMODE>...
Seite 669
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitung <_VARI> EINER: Technologie Außengewinde mit linearer Zu‐ stellung Innengewinde mit linearer Zustel‐ lung Außengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant Innengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant ZEHNER: reserviert HUNDERTER:...
Seite 670
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Gangwechseltiefe (wirkt nur bei "mehrgängig") <_GDEP> keine Gangwechseltiefe berück‐ sichtigen > 0 = Gangwechseltiefe berücksichti‐ REAL Zustellschräge als Breite (nur für die Oberfläche) <_IFLANK> Bewertung der Gewindesteigung <_PITA>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: 1. Zwischenpunkt in Z (Z1) absolut inkrementell ZEHNER: 1. Zwischenpunkt in X (X1) absolut inkrementell α HUNDERTER: 2. Zwischenpunkt in Z (Z2) absolut inkrementell TAUSENDER: 2.
Seite 672
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt (abs) <_SPL> REAL Bezugspunkt (abs, immer Durchmesser) <_SPD> REAL Endpunkt in Verbindung mit <_AMODE> (EINER) <_FPL> REAL Endpunkt, in Verbindung mit <_AMODE> (ZEHNER) <_FPD> LW/LW2 REAL Gewindevorlauf in Verbindung mit <_AMODE>...
Seite 673
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsart <_VARI> EINER: Technologie Außengewinde mit linearer Zu‐ stellung Innengewinde mit linearer Zustel‐ lung Außengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant Innengewinde mit degressiver Zustellung, Spanquerschnitt bleibt konstant ZEHNER: reserviert HUNDERTER:...
Seite 674
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Änderung der Steigung pro Umdrehung <_PIT1> Gewindesteigung ist konstant (G33) > 0 = Gewindesteigung wird größer (G34) < 0 = Gewindesteigung wird kleiner (G35) REAL Eintauchtiefe (ohne Vorzeichen einzugeben) <_FDEP>...
Seite 675
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Gewindelänge in Z absolut inkrementell ZEHNER: Gewindelänge in X absolut, Wert der Planachse im Durchmesser inkrementell, Wert der Planachse im Radius α HUNDERTER: Vorlauf-/Einlaufwegbewertung <_APP> Gewindevorlauf <_APP>...
Zyklen extern programmieren 19.1 Technologische Zyklen 19.1.31 CYCLE435 - Abrichterposition berechnen Syntax CYCLE435(<_T>, <_DD>, <S_TA>, <S_DA>, <S_AD>, <S_AL>, <S_PVD>, <S_PVL>, <S_PD>, <S_PL>, <_AMODE>) Parameter Parameter Parameter Datentyp Bedeutung Maske intern STRING[32] Werkzeugname der Schleifscheibe <_T> Schneidennummer der Schleifscheibe <_DD> STRING[32] Bezugspunkt Abrichter - Name des Abrichters <S_TA>...
Seite 677
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsart <_VARI> EINER: Profilierungsart achsparallel konturparallel ZEHNER: Bearbeitungsrichtung ziehend möglich mit den Schneidenlagen 1 bis 4 stoßend möglich mit den Schneidenlagen 1 bis 4 wechselnd möglich mit den Schneidenlagen 1 bis 8 Anfang →...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Auswahl Profilieren Neu/Fortsetzen Fortsetzen ZEHNER: Auswahl Profilieraufmaß von der Rohkontur bis zum tief‐ sten Punkt der Kontur von der Rohkontur bis zum höch‐ sten Punkt der Kontur REAL Freiwinkel des Abrichters <S_FW>...
Seite 679
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Status Transformationen <_ST> EINER: Neu , Schwenkebene wird ge‐ löscht und mit den aktuellen Pa‐ rametern neu berechnet Additiv , Schwenkebene setzt ad‐ ditiv auf aktive Schwenkebene ZEHNER: Werkzeugspitze nachführen ja/nein (nur aktiv, wenn in IBN SCHWENKEN Funk‐...
Seite 680
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Schwenkmodus: Auswertung der Schwenkwinkel und der Schwenkrei‐ <_MODE> henfolge (bitcodiert!) Bit: 7 6 0 0: Schwenkwinkel achsweise -> sie‐ he Parameter <_A>, <_B>, <_C> 0 1: Raumwinkel -> siehe Parameter <_A>, <_B>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Darstellung des Beta-Wertes bei Aus‐...
Seite 682
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Bezugspunkt für Positionsmuster (Gitter/Rahmen) in der 1. Achse (abs) <_SPCA> REAL Bezugspunkt für Positionsmuster (Gitter/Rahmen) in der 2. Achse (abs) <_SPCO> α0 REAL Grund-Drehwinkel < 0 = Drehung im Uhrzeigersinn <_STA>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) 19.1.35 CYCLE802 - Beliebige Positionen Syntax...
Seite 684
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL 5. Position Y <_Y4> REAL 6. Position X <_X5> REAL 6. Position Y <_Y5> REAL 7. Position X <_X6> REAL 7. Position Y <_Y6> REAL 8. Position X <_X7>...
Seite 685
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitung <_VARI> HUNDERTER: (nur für Aufruf aus Jobshop) (vorerst nur 0 und 2 ausgewertet) kein Spindel klemmen Spindel klemmen nur bei senk‐ rechtem Eintauchen mit G00 oder G01 Spindel klemmen während der gesamten Bearbeitung TAUSENDER:...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) Alternative für alle AB-Positionen (9-stelliger Dezimalwert) <S_ABA>...
Seite 687
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <RTP> REAL Bezugspunkt (abs) <RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen) <SDIS> REAL Endbohrtiefe abs/ink (siehe <_AMODE> EINER) <_DP> REAL 1. Bohrtiefe zum Spänebrechen/Entspanen absolut oder inkrementell <FDEP>...
Seite 688
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Vorhalteabstand inkremental nur bei Entspanen (siehe <_AMODE> EIN‐ <_DIS1> EMILLION) REAL Vorschub zum Einfahren in die Pilotbohrung als Wert oder in % (in Ver‐ <S_FP> bindung mit <S_AMODE2> HUNDERTER) Spindeldrehrichtung beim Anfahren <S_SDAC2>...
Seite 689
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Kühlmittel STRING[10] Kühlmittel ein, M-Befehl oder Unterprogrammaufruf <S_CON> Kühlmittel STRING[10] Kühlmittel aus, M-Befehl oder Unterprogrammaufruf <S_COFF> Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: Bohrtiefe bezogen auf Spitze/Schaft Spitze Schaft Anzeigemodus...
Seite 690
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus 1 <_AMODE> EINER: Bohrtiefe = Endbohrtiefe Z1 abs/ink inkrementell absolut ZEHNER: Verweilzeit auf jeder Bohrtiefe DTB in Sekunden/Umdrehungen in Sekunden in Umdrehungen HUNDERTER: Verweilzeit zum Entspanen DTS in Se‐ kunden/Umdrehungen in Sekunden in Umdrehungen...
Seite 691
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus 2 <S_AMODE2 > EINER: EINER: Bohrvorschub F F/min ZEHNER: Bewertung Anbohrvorschub FA in % vom Bohrvorschub F/min HUNDERTER: Bewertung Vorschub zum Einfahren in Pilotbohrung FP in % vom Bohrvorschub F/min TAUSENDER: Bewertung Vorschub Anschnitt FS...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus 3 <S_AMODE3 > EINER: Anbohrtiefe ZA abs/ink inkrementell absolut ZEHNER: Tiefe der Pilotbohrung ZP inkrementell absolut Faktor des Bohrungsdurchmes‐ sers HUNDERTER: Restbohrtiefe ZD ink/abs inkrementell absolut 19.1.37 CYCLE832 - High Speed Settings Syntax CYCLE832(<S_TOL>, <S_TOLM>, <S_OTOL>)
Seite 693
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parame‐ Parameter Datentyp Bedeutung ter Maske intern Toleranz REAL Konturtoleranz <S_TOL> Die Konturtoleranz entspricht der Achstoleranz der Geometrieachsen. Bearbeitungsart (Technologie) <S_TOLM> EINER: Abwahl Schlichten (Finish) Vorschlichten (Semifinish) Schruppen (Rough) ZEHNER: Kompatibilität bzw. keine Orien‐ tierungstoleranz Orientierungstoleranz im Parame‐...
Zyklen extern programmieren 19.1 Technologische Zyklen Klartexteingabe Um die Lesbarkeit des Zyklenaufrufs zu verbessern, kann der Parameter <S_TOLM> (Bearbeitungsart) auch im Klartext eingegeben werden. Klartexte sind sprachunabhängig. Folgende Eingaben sind zulässig: für Abwahl _OFF für Schlichten _FINISH für Vorschlichten _SEMIFIN für Schruppen _ROUGH...
Zyklen extern programmieren 19.1 Technologische Zyklen Programmcode Kommentar ; Abarbeitung eines Hochgeschwindigkeitsbear- beitungsprogramms b) Zyklenaufruf ohne Klartexteingabe Programmcode Kommentar G710 ; s. o. CYCLE832(0.004,1,1) ; s. o. ; s. o. Beispiel 2: CYCLE832 auf 5-Achs-Maschine mit Orientierungstransformation a) Zyklenaufruf und Abwahl mit Klartexteingabe Programmcode Kommentar G710...
Seite 696
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <RTP> REAL Bezugspunkt (abs) <RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzuge‐ <SDIS> ben) REAL Bohrtiefe (abs), siehe <_AMODE> <DP> REAL Bohrtiefe (ink) , siehe <_AMODE> <DPR>...
Seite 697
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Maßeinheit der Gewindesteigung (Auswertung <PIT> und <MPIT>) <_PITA> Steigung in mm - Auswertung <MPIT>/<PIT> Steigung in mm - Auswertung <PIT> Steigung in TPI - Auswertung <PIT> (Gewindegänge pro inch) Steigung in inch - Auswertung <PIT>...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklu‐ saufruf wirksame Ebene aktiv G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: reserviert HUNDERTER:...
Seite 699
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Parameter Datentyp Bedeutung Maske intern REAL Rückzugsebene (abs) <_RTP> REAL Bezugspunkt der Werkzeugachse(abs) <_RFP> REAL Sicherheitsabstand (additiv auf Bezugspunkt, ohne Vorzeichen einzu‐ <_SDIS> geben) REAL Nuttiefe(abs/ink), siehe <_AMODE> <_DP> REAL Länge der Nut (ink) <_LENG>...
Seite 700
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: reserviert ZEHNER: reserviert HUNDERTER: Auswahl Bearbeitung/nur Startpunktbe‐ rechnung normale Bearbeitung TAUSENDER: Bemaßung über Mitte / Kante Bemaßung über Mitte Bemaßung über Kante "links" ("-"...
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) Alternativmodus <_AMODE>...
Seite 704
Zyklen extern programmieren 19.1 Technologische Zyklen Syntax CYCLE940(<_SPD>, <_SPL>, <_FORM>, <_LAGE>, <_SDIS>, <_FFP>, <_VARI>, <_EPD>, <_EPL>, <_R1>, <_R2>, <_STA>, <_VRT>, <_MID>, <_FAL>, <_FALX>, <_FALZ>, <_PITI>, <_PTAB>, <_PTABA>, <_DMODE>, <_AMODE>) Parameter Nr. Para- Parameter Datentyp Progr. bei Form Bedeutung meter intern Maske REAL Bezugspunkt in der Planachse (immer Durchmesser)
Seite 705
Zyklen extern programmieren 19.1 Technologische Zyklen Nr. Para- Parameter Datentyp Progr. bei Form Bedeutung meter intern Maske Verrundungsradius an der Schrägen <_R1> Verrundungsradius in der Ecke <_R2> α Eintauchwinkel <_STA> Planzug X (abs/ink), siehe <_AMODE> <_VRT> Planzug X bei Schlichten, (abs/ink), siehe <_AMODE> Tiefenzustellung <_MID>...
Zyklen extern programmieren 19.1 Technologische Zyklen Nr. Para- Parameter Datentyp Progr. bei Form Bedeutung meter intern Maske <_AMODE> INT Alternativmodus EINER: Parameter <_EPD> Aufmaß X oder Frei‐ stichtiefe absolut (immer Durchmesser) inkrementell ZEHNER: Parameter <_EPL> Aufmaß Z oder Frei‐ stichbreite absolut inkrementell HUNDERTER:...
Seite 707
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Lage Lage der Abspanecke außen/hinten <_LAGE> außen/vorne innen/hinten innen/vorne REAL maximale Tiefenzustellung beim Eintauchen <_MID> REAL Schlichtaufmaß in X <_FALX> REAL Schlichtaufmaß in Z <_FALZ> Bearbeitungsart <_VARI> EINER: Abspanrichtung (längs oder plan) im Ko‐...
Seite 708
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Eingabeform <_ZPD>/<_ZPL>...
Seite 710
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Bearbeitungsart <_VARI> EINER: Abspanart längs plan konturparallel ZEHNER: Technologische Bearbeitung (siehe <_GMODE> HUNDERTER) Schruppen Schlichten reserviert Schruppen zweikanalig Schlichten zweikanalig HUNDERTER: Bearbeitungsrichtung Bearbeitungsrichtung X - Bearbeitungsrichtung X + Bearbeitungsrichtung Z - Bearbeitungsrichtung Z + TAUSENDER:...
Seite 711
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern REAL Vorschub zum Eintauchen in Hinterschnitte Schruppen <_FR> Vorschub Ordinate Stechdrehen REAL Rückzugsebene bei Innenbearbeitung (abs., immer Durchmesser) <_RP> REAL Zustellung Schruppen (siehe <_AMODE> EINER) <_D> REAL Zustellung X (siehe <_AMODE> EINER) <_DX>...
Seite 712
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Geometriemodus (Bewertung der programmierten Geometriewerte) <_GMODE> EINER: re‐ ser‐ viert ZEHNER: re‐ ser‐ viert HUNDERTER: Auswahl Bearbeitung / nur Startpunktbe‐ rechnung normale Bearbeitung (kein Kom‐ patibilitätsmodus erforderlich) normale Bearbeitung Startposition berechnen - keine Bearbeitung (nur für Aufruf aus ShopMill/ShopTurn)
Seite 713
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Anzeigemodus <_DMODE> EINER: Bearbeitungsebene G17/G18/G19 Kompatibilität, es bleibt die vor Zyklusaufruf wirksame Ebene ak‐ G17 (nur im Zyklus aktiv) G18 (nur im Zyklus aktiv) G19 (nur im Zyklus aktiv) ZEHNER: Technologiemodus Konturabspanen...
Seite 714
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung Maske intern Alternativmodus <_AMODE> EINER: Auswahl Zustellung Zustellung DX und DZ bei Ab‐ spanart konturparallel Zustellung D ZEHNER: Zustellstrategie variable Schnitttiefe (90 ... 100 %) konstante Schnitttiefe HUNDERTER: Schnittaufteilung gleichmäßig an Kanten ausrichten TAUSENDER: Auswahl Konturaufmaß...
Zyklen extern programmieren 19.1 Technologische Zyklen 19.1.44 CYCLE4071 - Längsschleifen mit Zustellung am Umkehrpunkt Syntax CYCLE4071(<S_A>, <S_B>, <S_W>, <S_U>, <S_I>, <S_K>, <S_H>, <S_A1>, <S_A2>) Parameter Parameter Datentyp Bedeutung REAL Zustelltiefe am Anfang <S_A> REAL Zustelltiefe am Ende <S_B> REAL Schleifbreite <S_W>...
Zyklen extern programmieren 19.1 Technologische Zyklen Beispiel Zwei Pendelbewegung mit folgenden Zyklenparameter ausführen: ● Zustelltiefe am Anfang: 0,02 mm ● Zustelltiefe am Ende: 0,01 mm ● Hub: 100 mm ● Ausfeuerzeit: 1 s ● Vorschub Zustellung: 1 mm/min ● Quervorschub: 1000 mm/min ●...
Seite 717
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung STRING Abbruchbedingungen für Zustellung: <S_GAUGE> 1. Nummer eines schnellen Eingangs 2. Logischer Ausdruck REAL Zustelltiefe am Anfang <S_A> REAL Zustelltiefe am Ende <S_B> REAL Schleifbreite <S_W> REAL Ausfeuerzeit <S_U> REAL Vorschub für Zustellung <S_I>...
Seite 718
Zyklen extern programmieren 19.1 Technologische Zyklen Bild 19-1 Abbruch der Zustellung am Ende Bild 19-2 Abbruch der Zustellung am Anfang Ressourcen Als Ressourcen verwendet der Zyklus eine satzübergreifende Synchronaktion und eine Synchronaktionsvariable. Die Synchronaktion wird dynamisch aus dem freien Bereich des Synchronaktionsbandes ermittelt (CUS.DIR - 1 ..., CMA.DIR - 1000 ..., CST.DIR –...
Seite 719
Zyklen extern programmieren 19.1 Technologische Zyklen Beispiele Beispiel 1: Oszillieren mit zwei Hüben Zyklenparameter: ● Zustelltiefe am Anfang: 0,02 mm ● Zustelltiefe am Ende: 0,01 mm ● Hub: 100 mm ● Ausfeuerzeit: 1 s ● Vorschub Zustellung: 1 mm/min ● Quervorschub: 1000 mm/min ●...
Zyklen extern programmieren 19.1 Technologische Zyklen 19.1.46 CYCLE4073 - Längschleifen mit kontinuierlicher Zustellung Syntax CYCLE4073(<S_A>, <S_B>, <S_W>, <S_U>, <S_K>, <S_H>, <S_A1>, <S_A2>) Parameter Parameter Datentyp Bedeutung REAL Zustelltiefe am Anfang <S_A> REAL Zustelltiefe am Ende <S_B> REAL Schleifbreite <S_W> REAL Ausfeuerzeit <S_U>...
Zyklen extern programmieren 19.1 Technologische Zyklen Beispiel Oszillieren mit zwei Hüben Zyklenparameter: ● Zustelltiefe am Anfang: 0,02 mm ● Zustelltiefe am Ende: 0,01 mm ● Hub: 100 mm ● Ausfeuerzeit: 1 s ● Quervorschub: 1000 mm/min ● Wiederholungen: 2 ● Pendel- und Zustellachse: Standardgeometrieachsen Programmcode N10 T1 D1 N20 CYCLE4073(0.02,0.01,100,1,1000,2)
Seite 722
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Parameter Datentyp Bedeutung STRING Abbruchbedingungen für Zustellung: <S_GAUGE> 1. Nummer eines schnellen Eingangs 2. Logischer Ausdruck REAL Zustelltiefe am Anfang <S_A> REAL Zustelltiefe am Ende <S_B> REAL Schleifbreite <S_W> REAL Ausfeuerzeit <S_U> REAL Vorschub für Querzustellung <S_K>...
Seite 723
Zyklen extern programmieren 19.1 Technologische Zyklen Bild 19-3 Abbruch der Zustellung vom Ende zum Anfang Bild 19-4 Abbruch der Zustellung vom Anfang zum Ende Ressourcen Als Ressourcen verwendet der Zyklus eine satzübergreifende Synchronaktion und eine Synchronaktionsvariable. Die Synchronaktion wird dynamisch aus dem freien Bereich des Synchronaktionsbandes ermittelt (CUS.DIR - 1 ..., CMA.DIR - 1000 ..., CST.DIR –...
Zyklen extern programmieren 19.1 Technologische Zyklen ● Hub: 100 mm ● Ausfeuerzeit: 1 s ● Quervorschub: 1000 mm/min ● Wiederholungen: 2 ● Pendel- und Zustellachse: Standardgeometrieachsen Abbruchsignal: schneller Eingang 1 ($A_IN[1] ) Programmcode N10 T1 D1 N20 CYCLE4074("1",0.02,0.01,100,1,1000,2) N30 M30 Beispiel 2: Oszillieren mit zwei Hüben Zyklenparameter: ●...
Seite 725
Zyklen extern programmieren 19.1 Technologische Zyklen Parameter Datentyp Bedeutung REAL Gesamtzustelltiefe <S_K> REAL Schleifbreite <S_A> REAL Vorschub für Zustellung <S_R> REAL Vorschub für Querzustellung <S_F> REAL Ausfeuerzeit <S_P> AXIS Zustellachse (optional) <S_A1> AXIS Pendelachse (optional) <S_A2> Funktion Der Zyklus dient zum Bearbeiten mit einer Gesamtzustelltiefe P3 <S_K> in Zustellschritten. Die Zustelltiefen am Anfang P1 <S_I>...
Seite 726
Zyklen extern programmieren 19.1 Technologische Zyklen Bild 19-5 Gesamtzustelltiefe erreicht bei Zustellung am zweiten Umkehrpunkt Bild 19-6 Gesamtzustelltiefe erreicht bei Zustellung am ersten Umkehrpunkt Beispiel Oszillieren mit: ● 0,02 mm Zustelltiefe am Anfang ● 0,01 mm Zustelltiefe am Ende ● Gesamtzustelltiefe 1 mm ●...
Zyklen extern programmieren 19.1 Technologische Zyklen Programmcode N10 T1 D1 N20 CYCLE4075(0.02,0.01,1,100,1,1000,1) N30 M30 19.1.49 CYCLE4077 - Flachschleifen mit Zustellung am Umkehrpunkt und Abbruchsignal Syntax CYCLE4077(<S_GAUGE>, <S_I>, <S_J>, <S_K>, <S_A>, <S_R>, <S_F>, <S_P>, <S_A1>, <S_A2>) Parameter Parameter Datentyp Bedeutung STRING Abbruchbedingung für Zustellung: <S_GAUGE>...
Seite 728
Zyklen extern programmieren 19.1 Technologische Zyklen Ablauf 1. Start des Zyklus an der aktuellen Position der Pendelachse. 2. Verfahren der Zustellachse auf die Zustelltiefe am Anfang P2 <S_I> mit dem Vorschub für Zustellung P6 <S_R>. 3. Ausfeuern mit der Ausfeuerzeit P8 <S_P>. 4.
Seite 729
Zyklen extern programmieren 19.1 Technologische Zyklen Bild 19-8 Abbruch der Zustellung am Anfang Ressourcen Als Ressourcen verwendet der Zyklus eine satzübergreifende Synchronaktion und eine Synchronaktionsvariable. Die Synchronaktion wird dynamisch aus dem freien Bereich des Synchronaktionsbandes ermittelt (CUS.DIR - 1 ..., CMA.DIR - 1000 ... , CST.DIR – 1199 ...). Als Synchronaktionsvariable wird SYG_IS[1] verwendet.
Zyklen extern programmieren 19.1 Technologische Zyklen Beispiel 2 Oszillieren mit: ● 0,02 mm Zustelltiefe am Anfang ● 0,01 mm Zustelltiefe am Ende ● Gesamtzustelltiefe 1 mm ● Hub 100 mm ● Vorschub Zustellung 1 mm/min ● Quervorschub 1000 mm/min ● Ausfeuerzeit 1 Sekunde ●...
Seite 731
Zyklen extern programmieren 19.1 Technologische Zyklen Die Angabe der Zustellachse P8 <S_A1> und/oder Pendelachse P9 <S_A2> sind optional. Wird ein bzw. beide Parameter nicht angegeben, verwendet der Zyklus die ersten beiden Geometrieachsen des Kanals. Ist die Summe der Zustalltiefen P1 <S_I> und P2 <S_J> gleich 0 bzw. die Gesamtzustelltiefe P3 <S_K>...
Seite 733
Zyklen extern programmieren 19.1 Technologische Zyklen Ablauf 1. Start des Zyklus an der aktuellen Position der Pendelachse. 2. Verfahren der Zustellachse auf die Zustelltiefe am Anfang P1 <S_I> mit dem Vorschub für Zustellung P5 <S_R>. 3. Ausfeuern mit der Ausfeuerzeit P7 <S_P> 4.
Zyklen extern programmieren 19.1 Technologische Zyklen Bild 19-10 Gesamtzustelltiefe erreicht bei Zustellung am ersten Umkehrpunkt Beispiel Oszillieren mit: ● 0,02 mm Zustelltiefe am Anfang ● 0,01 mm Zustelltiefe am Ende ● Gesamtzustelltiefe 1 mm ● Hub 100 mm ● Vorschub Zustellung 1 mm/min ●...
Seite 735
Zyklen extern programmieren 19.1 Technologische Zyklen Bei folgenden Zyklenmasken kann z.B. die vereinfachte Eingabe angewählt werden: Technologie Zyklenmaske Bohren Tieflochbohren Gewindebohren Fräsen Rechtecktasche Konturfräsen: Tasche Drehen Gewindedrehen: Längs Konturdrehen: Abspanen Konturdrehen: Stechen Konturdrehen: Stechdrehen Bei den betreffenden Zyklenmasken steht an der Bedienoberfläche die Auswahlmöglichkeit "Eingabe: einfach"...
19.2 Messzyklen 19.2 Messzyklen Messzyklen sind spezielle von Siemens bereitgestellte Unterprogramme zur Lösung bestimmter Messaufgaben. Wie bei Zyklen allgemein üblich, können auch die Messzyklen über Parameter an das konkrete Problem angepasst werden. Messzyklen stehen für Messungen in folgenden Bereichen und Technologien zur Verfügung: ●...
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) NC-Hauptsatznummer, Sprungmarkenab‐ PGAsl schluss, Kettungsoperator Operator für Multiplikation PGAsl Operator für Addition PGAsl Operator für Subtraktion PGAsl < Vergleichsoperator, kleiner PGAsl << Verkettungsoperator für Strings PGAsl <= Vergleichsoperator, kleiner gleich...
Seite 738
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) ADDFRAME Einrechnung und evtl. Aktivierung eines gemes‐ PGAsl, FB1sl (K2) senen Frames ADIS Überschleifabstand für Bahnfunktionen G1, G2, PGsl G3, ... ADISPOS Überschleifabstand für Eilgang G0 PGsl ADISPOSA Größe des Toleranzfenster für IPOBRKA...
Seite 739
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) AXCTSWEC Freigabe zur Achscontainer-Drehung zurückneh‐ PGAsl AXCTSWED Achscontainer drehen (Befehlsvariante für die In‐ PGAsl betriebnahme!) AXIS Achsbezeichner, Achsadresse PGAsl AXNAME Konvertiert Eingangsstring in Achsbezeichner PGAsl AXSTRING Konvertiert den String Spindelnummer...
Seite 740
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) Werkzeugorientierung: Flächennormalvektor für PGAsl den Satzanfang Werkzeugorientierung: Flächennormalenvektor PGAsl für das Satzende Absolutes Anfahren einer Position PGAsl CACN In Tabelle abgelegter Wert wird absolut in nega‐ PGAsl tiver Richtung angefahren CACP...
Seite 741
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) CMIRROR Spiegeln an einer Koordinatenachse PGAsl COARSEA Bewegungsende beim Erreichen von "Genauhalt PGAsl Grob" COLLPAIR Prüfen auf Zugehörigkeit zu einem Kollisionspaar PGAsl COMPCAD Kompressor EIN: Optimierte Oberflächen-güte PGAsl bei CAD-Programmen...
Seite 742
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) CPLCTID Generische Kopplung: Nummer der Kurventabel‐ FB3sl (M3) CPLDEF Generische Kopplung: Definition einer Leitachse FB3sl (M3) und Anlegen eines Koppelmoduls CPLDEL Generische Kopplung: Löschen einer Leitachse FB3sl (M3) eines Koppelmoduls CPLDEN...
Seite 743
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) CPROTDEF Definition eines kanalspezifischen Schutzbe‐ PGAsl reichs CPSETTYPE Generische Kopplung: Kopplungstyp FB3sl (M3) CPSYNCOP Generische Kopplung: Schwellwert für den Posi‐ FB3sl (M3) tionssynchronlauf "Grob" CPSYNCOP2 Generische Kopplung: Schwellwert für den Posi‐...
Seite 744
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) CTABMSEG Anzahl der maximal möglichen Kurvensegmente PGAsl im Speicher CTABNO Anzahl der definierten Kurventabellen im SRAM FB3sl (M3) oder DRAM CTABNOMEM Anzahl der definierten Kurventabellen im SRAM PGAsl oder DRAM CTABPERIOD...
Seite 745
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) CUT3DFF 3D-Werkzeugkorrektur Stirnfräsen mit konstanter PGAsl Werkzeugorientierung abhängig vom aktiven Frame CUT3DFS 3D-Werkzeugkorrektur Stirnfräsen mit konstanter PGAsl Werkzeugorientierung unabhängig vom aktiven Frame CUTCONOF Konstante Radiuskorrektur AUS PGsl CUTCONON...
Seite 746
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) CYCLE801 Gitter oder Rahmen PGAsl CYCLE802 Beliebige Positionen PGAsl CYCLE830 Tieflochbohren 2 PGAsl CYCLE832 High Speed Settings PGAsl CYCLE840 Gewindebohren mit Ausgleichsfutter PGAsl CYCLE899 Offene Nut fräsen PGAsl...
Seite 747
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) DELDTG Restweglöschen FBSYsl DELETE Die angegebene Datei löschen. Der Dateina‐ PGAsl me kann mit Pfad und Datei-Kennung ange‐ geben werden. DELMLOWNER Eigentümermagazinplatz des Werkzeugs lö‐ FBWsl schen DELMLRES...
Seite 748
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) DISPLOF Aktuelle Satzanzeige unterdrücken PGAsl DISPLON Unterdrückung der aktuellen Satzanzeige PGAsl aufheben DISPR Repos-Bahndifferenz PGAsl DISR Repos-Abstand PGAsl DISRP Abstand der Rückzugsebene von der Bear‐ PGsl beitungsebene beim weichen An- und Abfah‐...
Seite 749
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) ENAT Natürlicher Kurvenübergang zum nächsten PGAsl Verfahrsatz ENDFOR Endezeile der FOR-Zählschleife PGAsl ENDIF Endezeile der IF-Verzweigung PGAsl ENDLABEL Endmarke für Teilprogrammwiederholungen PGAsl, FB1sl (K1) über REPEAT ENDLOOP Endezeile der Endlos-Programmschleife...
Seite 750
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) Axialer Vorschub für Handradüberlagerung PGsl FENDNORM Eckenverzögerung AUS PGAsl FFWOF Vorsteuerung AUS PGAsl FFWON Vorsteuerung Ein PGAsl FGREF Bezugsradius bei Rundachsen oder Bahnbe‐ PGsl zugsfaktoren bei Orientierungsachsen (Vek‐...
Seite 751
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) FROM Die Aktion wird ausgeführt, wenn die Bedin‐ FBSYsl gung einmal erfüllt ist und solange die Syn‐ chronaktion aktiv ist FTOC Werkzeugfeinkorrektur ändern FBSYsl FTOCOF Online wirksame Werkzeugfeinkorrektur...
Seite 753
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) G290 Umschalten auf SINUMERIK-Mode EIN FBWsl G291 Umschalten auf ISO2/3-Mode EIN FBWsl G331 Gewindebohren ohne Ausgleichsfutter, positive PGsl Steigung, Rechtslauf G332 Gewindebohren ohne Ausgleichsfutter, negati‐ PGsl ve Steigung, Linkslauf G335...
Seite 754
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) G820 , ..., G829 Für den OEM-Anwender reservierte G-Gruppe PGAsl G931 Vorschubvorgabe durch Verfahrzeit G942 Linear-Vorschub und konstante Schnittge‐ schwindigkeit oder Spindeldrehzahl einfrieren G952 Umdrehungsvorschub und konstante Schnittge‐...
Seite 755
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) GOTO Sprunganweisung erst vorwärts dann rückwärts PGAsl (Richtung erst zum Programm-Ende und dann zum Programm-Anfang) GOTOB Sprunganweisung rückwärts (Richtung Pro‐ PGAsl gramm-Anfang) GOTOC Wie GOTO, aber Alarm 14080 "Sprungziel nicht PGAsl gefunden"...
Seite 756
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) INVFRAME Aus einem Frame den inversen Frame berech‐ FB1sl (K2) Variabler Interpolationsparameter PGAsl IPOBRKA Bewegungskriterium ab Einsatzpunkt der Bremsrampe IPOENDA Bewegungsende beim Erreichen von "IPO- PGAsl Stopp"...
Seite 757
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) LEADOF Axiale Leitwerkkopplung AUS PGAsl LEADON Axiale Leitwerkkopplung EIN PGAsl LENTOAX Liefert Informationen über die Zuordnung der FB1sl (W1) Werkzeuglängen L1, L2 und L3 des aktiven Werkzeugs zur Abszisse, Ordinate und Applika‐...
Seite 758
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) MASLDEL Master/Slave-Achsverband trennen und Defini‐ PGAsl tion des Verbandes löschen MASLOF Ausschalten einer temporären Kopplung PGAsl MASLOFS Ausschalten einer temporären Kopplung mit PGAsl automatischem Stillsetzen der Slave-Achse MASLON Einschalten einer temporären Kopplung...
Seite 759
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) Logisches NICHT (Negation) PGAsl NPROT Maschinenspezifischer Schutzbereich EIN/ PGAsl NPROTDEF Definition eines maschinenspezifischen PGAsl Schutzbereichs NUMBER Eingangsstring in Zahl umwandeln PGAsl OEMIPO1 OEM-Interpolation 1 PGAsl OEMIPO2 OEM-Interpolation 2...
Seite 760
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) ORIRESET Grundstellung der Werkzeugorientierung mit PGAsl bis zu 3 Orientierungsachsen ORIROTA Drehwinkel zu einer absolut vorgegebenen PGAsl Drehrichtung ORIROTC Tangentialer Drehvektor zur Bahntangente PGAsl ORIROTR Drehwinkel relativ zur Ebene zwischen Start-...
Seite 761
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) OTOL Orientierungstoleranz für Kompressor-Funktio‐ PGAsl nen, Orientierungsglättung und Überschleifar‐ Drehzahlkorrektur PGAsl OVRA Axiale Drehzahlkorrektur PGAsl OVRRAP Eilgang-Korrektur PGAsl Anzahl Unterprogrammdurchläufe PGAsl PAROT Werkstückkoordinatensystem am Werkstück PGsl ausrichten PAROTOF...
Seite 762
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) POSRANGE Ermitteln, ob sich die aktuell interpolierte Soll‐ FBSYsl position einer Achse in einem Fenster um eine vorgegebene Referenzposition befindet Quadrat PGAsl (Arithmetische Funktion) Pro Umdrehung PGsl PREPRO...
Seite 763
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) Schlüsselwort zur Initialisierung aller Elemente PGAsl eines Feldes mit demselben Wert REPEAT Wiederholung einer Programmschleife PGAsl REPEATB Wiederholung einer Programmzeile PGAsl REPOSA Wiederanfahren an die Kontur linear mit allen PGAsl Achsen REPOSH...
Seite 764
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) Spindeldrehzahl PGsl (bei G4, G96/G961 andere Bedeutung) SAVE Attribut zur Rettung von Informationen bei Un‐ PGAsl terprogrammaufrufen SBLOF Einzelsatz unterdrücken PGAsl SBLON Einzelsatzunterdrückung aufheben PGAsl Parameter für Zugriff auf Framedaten: Skalie‐...
Seite 765
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) SOFTA Ruckbegrenzte Achsbeschleunigung für die pro‐ PGsl grammierten Achsen einschalten Nibbeln EIN PGAsl SONS Nibbeln EIN im IPO-Takt PGAsl SPATH Bahnbezug für FGROUP-Achsen ist Bogenlän‐ PGAsl SPCOF Masterspindel oder Spindel (n) von Lagerege‐...
Seite 766
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) STRINGIS Prüft vorhandenen NC-Sprachumfang und spe‐ PGAsl ziell für diesen Befehl gehörende NC-Zyklenna‐ men, Anwendervariablen, Makros und Labelna‐ men, ob diese existieren, gültig, definiert oder aktiv sind.
Seite 767
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) TCOFRZ Werkzeugorientierung eines aktiven Frames bei PGAsl der Werkzeugwahl bestimmen, Werkzeug zeigt in Z-Richtung THETA Drehwinkel PGAsl TILT Seitwärtswinkel PGAsl TLIFT Bei Tangentialsteuerung Zwischensatz an Kon‐ PGAsl turecken einfügen Werkzeuganwahl mit Magazin-Platznummer...
Seite 768
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) TOWBCS Verschleißwerte im Basiskoordinatensystem PGAsl (BKS) TOWKCS Verschleißwerte im Koordinatensystem des PGAsl Werkzeugkopfes bei kinetischer Transformation (unterscheidet sich vom MKS durch Werkzeug‐ drehung) TOWMCS Verschleißwerte im Maschinen-Koordinatensys‐...
Seite 769
Tabellen 20.1 Anweisungen Anweisung Bedeutung Beschreibung siehe Erläuterungen siehe Legende (Seite 770). 1) 2) 3) 4) 5) WAITE Warten auf das Programmende in einem ande‐ PGAsl ren Kanal. WAITENC Warten auf synchronisierte bzw. restaurierte PGAsl Achspositionen WAITM Warten auf Marker im angegebenen Kanal; vor‐ PGAsl hergehenden Satz mit Genauhalt beenden.
Seite 770
Tabellen 20.1 Anweisungen Art der Anweisung: Adresse Bezeichner, dem ein Wert zugewiesen wird (z. B. OVR=10). Es gibt auch einige Adressen, die ohne Wertzuweisung eine Funktion ein- oder ausschalten (z. B. CPLON und CPLOF). Technologischer Zyklus Vordefiniertes Teileprogramm, in dem ein bestimmter Zyklus (Bearbeitungsvorgang), wie z. B. das Bohren eines Gewindes oder das Fräsen einer Tasche, allgemeingültig programmiert ist.
Tabellen 20.2 Anweisungen: Verfügbarkeit bei SINUMERIK 828D Verweis auf das Dokument, das die ausführliche Beschreibung der Anweisung enthält: PGsl Programmierhandbuch Grundlagen PGAsl Programmierhandbuch Arbeitsvorbereitung BNMsl Programmierhandbuch Messzyklen BHDsl Bedienhandbuch Drehen BHFsl Bedienhandbuch Fräsen FB1sl ( ) Funktionshandbuch Grundfunktionen (mit dem alphanumerischen Kürzel der betreffen‐ den Funktionsbeschreibung in Klammern) FB2sl ( ) Funktionshandbuch Erweiterungsfunktionen (mit dem alphanumerischen Kürzel der be‐...
Seite 797
Tabellen 20.3 Aktuelle Sprache im HMI <Wert> Sprache Sprachkürzel Slowakisch Rumänisch Chinesisch (traditionell) Koreanisch Japanisch Türkisch Hinweis Eine Aktualisierung von $AN_LANGUAGE_ON_HMI erfolgt: ● nach Systemhochlauf. ● nach NCK- und/oder PLC-Reset. ● nach dem Umschalten auf einen anderen NCK im Rahmen von M2N. ●...
Seite 798
Tabellen 20.3 Aktuelle Sprache im HMI Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Anhang Liste der Abkürzungen Ausgang ADI4 Analog Drive Interface for 4 Axes Adaptive Control Active Line Module Asynchroner rotatorischer Motor 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 AUXFU Auxiliary Function: Hilfsfunktion...
Seite 800
Anhang A.1 Liste der Abkürzungen Connector Output Certificate of License Communication Compiler Projecting Data: Projektierdaten des Compilers Cathode Ray Tube: Bildröhre Central Service Board: PLC-Baugruppe Control Unit Communication Processor Central Processing Unit: Zentrale Rechnereinheit Carriage Return Clear To Send: Meldung der Sendebereitschaft bei seriellen Daten-Schnittstellen CUTCOM Cutter Radius Compensation: Werkzeugradiuskorrektur Digital-Analog-Umwandler...
Seite 801
Anhang A.1 Liste der Abkürzungen Ein-/Ausgabe Encoder: Istwertgeber Einfach Peripheriemodul (PLC–E/A–Baugruppe) Elektronisch gefährdete Baugruppen/Bauelemente Elektromagnetische Verträglichkeit Europäische Norm Encoder: Istwertgeber EnDat Geberschnittstelle EPROM Erasable Programmable Read Only Memory: Löschbarer, elektrisch programmierba‐ rer nur Lesespeicher ePS Network Services Dienste zur internetgestützten Maschinen-Fernwartung Typbezeichnung eines Absolutwertgebers mit 2048 Sinussignalen/Umdrehung Engineering System Erweitertes Stillsetzen und Rückziehen...
Seite 802
Anhang A.1 Liste der Abkürzungen Kurzbezeichnung für hexadezimale Zahl HiFu Hilfsfunktion Hydraulischer Linearantrieb Human Machine Interface: SINUMERIK-Bedienoberfläche Hauptspindelantrieb Hardware Inbetriebnahme Interpolatorische Kompensation Interface-Modul: Anschaltungsbaugruppe Interface-Modul Receive: Anschaltungsbaugruppe für Empfangsbetrieb Interface-Modul Send: Anschaltungsbaugruppe für Sendebetrieb Increment: Schrittmaß Initializing Data: Initialisierungsdaten Interpolator International Standard Architecture International Standard Organization Jogging: Einrichtbetrieb...
Seite 803
Anhang A.1 Liste der Abkürzungen Media Access Control MAIN Main program: Hauptprogramm (OB1, PLC) Megabyte Motion Control Interface MCIS Motion–Control–Information–System Machine Control Panel: Maschinensteuertafel Maschinendatum bzw. Maschinendaten Manual Data Automatic: Handeingabe Motor Data Set: Motordatensatz MELDW Meldungswort Maschinenkoordinatensystem Motor Module Main Program File: Hauptprogramm (NC) MSTT Maschinensteuertafel...
Seite 804
Anhang A.1 Liste der Abkürzungen PCMCIA Personal Computer Memory Card International Association: Speichersteckkarten-Normierung PC Unit: PC-Box (Rechnereinheit) Programmiergerät Parameterkennung: Teil eines PKW Parameterkennung: Wert (Parametrierteil eines PPO) Programmable Logic Control: Anpass-Steuerung PROFINET PROFIBUS-Nutzerorganisation POWER ON Programmorganisationseinheit Position/Positionieren POSMO A Positioning Motor Actuator: Positioniermotor POSMO CA Positioning Motor Compact AC: Komplette Antriebseinheit mit integrierter Leistungs–...
Seite 805
Anhang A.1 Liste der Abkürzungen Request To Send: Sendeteil einschalten, Steuersignal von seriellen Daten-Schnittstel‐ RTCP Real Time Control Protocol Synchronaktion Safe Break Control: Sichere Bremsenansteuerung Single Block: Einzelsatz Subroutine: Unterprogramm (PLC) Settingdatum bzw. Settingdaten System Datenbaustein Setting Data Active: Kennzeichnung (Dateityp) für Settingdaten SERUPRO Search-Run by Program Test: Suchlauf via Programmtest System Funktionsbaustein...
Seite 806
Anhang A.1 Liste der Abkürzungen Terminal Board (SINAMICS) Tool Center Point: Werkzeugspitze TCP/IP Transport Control Protocol / Internet Protocol Thin Client Unit Testing Data Active: Kennung für Maschinendaten Totally Integrated Automation Terminal Module (SINAMICS) Tool Offset: Werkzeugkorrektur Tool Offset Active: Kennzeichnung (Dateityp) für Werkzeugkorrekturen TRANSMIT Transform Milling Into Turning: Koordinatentransformation für Fräsbearbeitungen an einer Drehmaschine...
Seite 807
Anhang A.1 Liste der Abkürzungen Extensible Markup Language Zero Offset Active: Kennung für Nullpunktverschiebungen Zustandswort (des Antriebs) Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
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 → Achsname Achsen Die CNC-Achsen werden entsprechend ihres Funktionsumfangs abgestuft in: ● Achsen: interpolierende Bahnachsen ●...
Seite 810
Glossar Antrieb Der Antrieb ist diejenige Einheit der CNC, welche die Drehzahl- und Momentenregelung aufgrund der Vorgaben der NC ausführt. Anwenderdefinierte Variable Anwender können für beliebige Nutzung im → Teileprogramm oder Datenbaustein (globale Anwenderdaten) anwenderdefinierte Variablen vereinbaren. Eine Definition enthält eine Datentypangabe und den Variablennamen.
Seite 811
Glossar Asynchrones Unterprogramm Teileprogramm, das asynchron (unabhängig) zum aktuellen Programmzustand durch ein Interruptsignal (z. B. Signal "schneller NC-Eingang") gestartet werden kann. Automatik Betriebsart der Steuerung (Satzfolgebetrieb nach DIN): Betriebsart bei NC-Systemen, in der ein → Teileprogramm angewählt und kontinuierlich abgearbeitet wird. Bahnachse Bahnachsen sind alle Bearbeitungsachsen des →...
Seite 812
Glossar Baustein Als Bausteine werden alle Dateien bezeichnet, die für die Programmerstellung und Programmverarbeitung benötigt werden. Bearbeitungskanal Über eine Kanalstruktur können durch parallele Bewegungsabläufe Nebenzeiten verkürzt werden, z. B. Verfahren eines Ladeportals simultan zur Bearbeitung. Ein CNC-Kanal ist dabei als eigene CNC-Steuerung mit Dekodierung, Satzaufbereitung und Interpolation anzusehen. Bedienoberfläche Die Bedienoberfläche (BOF) ist das Anzeigemedium einer CNC-Steuerung in Gestalt eines Bildschirms.
Glossar C-Achse Achse, um die eine gesteuerte Drehbewegung und Positionierung mit der Werkstückspindel erfolgt. Siehe → NC Computericed Numerical Control: umfasst die Komponenten → NCK, → PLC, HMI, → COM. Siehe → NC Computericed Numerical Control: umfasst die Komponenten → NCK, → PLC, HMI, → COM. Komponente der NC-Steuerung zur Durchführung und Koordination von Kommunikation.
Seite 814
Glossar Diagnose 1. Bedienbereich der Steuerung 2. Die Steuerung besitzt sowohl ein Selbstdiagnose-Programm als auch Testhilfen für den Service: Status-, Alarm- und Serviceanzeigen Differential Resolver Function: NC-Funktion, die in Verbindung mit einem elektronischen Handrad eine inkrementale Nullpunktverschiebung im Automatik-Betrieb erzeugt. Editor Der Editor ermöglicht das Erstellen, Ändern, Ergänzen, Zusammenschieben und Einfügen von Programmen/Texten/Programmsätzen.
Seite 815
Glossar Führungsachse Die Führungsachse ist die → Gantry–Achse, die aus Sicht des Bedieners und des Programmierers vorhanden und damit entsprechend wie eine normale NC-Achse beeinflussbar ist. Genauhalt Bei programmierter Genauhalt-Anweisung wird die in einem Satz angegebene Position genau und ggf. sehr langsam angefahren. Zur Reduktion der Annäherungszeit werden für Eilgang und Vorschub →...
Seite 816
Glossar Grenzdrehzahl Maximale/minimale (Spindel-)Drehzahl: Durch Vorgaben von Maschinendaten, der → PLC oder → Settingdaten kann die maximale Drehzahl einer Spindel begrenzt sein. Hauptprogramm Die Bezeichnung Hauptprogramm 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.
Seite 817
Glossar Interruptroutine Interruptroutinen sind spezielle → Unterprogramme, die durch Ereignisse (externe Signale) vom Bearbeitungsprozess gestartet werden können. Ein in Abarbeitung befindlicher Teileprogrammsatz wird abgebrochen, die Unterbrechungsposition der Achsen wird automatisch gespeichert. Betriebsart der Steuerung (Einrichtebetrieb): In der Betriebsart JOG kann die Maschine eingerichtet werden.
Seite 818
Glossar Überlastung des Antriebs ergeben. In diesem Fall kommt es zu einem Alarm und die Achsen werden stillgesetzt. Koordinatensystem Siehe → Maschinenkoordinatensystem, → Werkstückkoordinatensystem Korrekturspeicher Datenbereich in der Steuerung, in dem Werkzeugkorrekturdaten hinterlegt sind. Kreisinterpolation Das → Werkzeug soll zwischen festgelegten Punkten der Kontur mit einem gegebenen Vorschub auf einem Kreis fahren und dabei das Werkstück bearbeiten.
Seite 819
Glossar Makrotechnik Zusammenfassung einer Menge von Anweisungen unter einem Bezeichner. Der Bezeichner repräsentiert im Programm die Menge der zusammengefassten Anweisungen. Maschinenachsen In der Werkzeugmaschine physikalisch existierende Achsen. Maschinenfestpunkt Durch die Werkzeugmaschine eindeutig definierter Punkt, z. B. Maschinen-Referenzpunkt. Maschinenkoordinatensystem Koordinatensystem, das auf die Achsen der Werkzeugmaschine bezogen ist. Maschinennullpunkt Fester Punkt der Werkzeugmaschine, auf den sich alle (abgeleiteten) Messsysteme zurückführen lassen.
Glossar Meldungen Alle im Teileprogramm programmierten Meldungen und vom System erkannte → 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. Metrisches Messsystem Genormtes System von Einheiten: für Längen z.
Die PLC wird mit der Software STEP 7 programmiert. Die Programmiersoftware STEP 7 basiert auf dem Standardbetriebssystem WINDOWS und enthält die Funktionen der STEP 5 - Programmierung mit innovativen Weiterentwicklungen. PLC-Programmspeicher SINUMERIK 840D sl: Im PLC-Anwenderspeicher werden das PLC-Anwenderprogramm und die Anwenderdaten gemeinsam mit dem PLC-Grundprogramm abgelegt. Arbeitsvorbereitung Programmierhandbuch, 10/2015, 6FC5398-2BP40-5AA3...
Seite 822
Nullpunkt und den Winkel festlegt, den der Radiusvektor mit einer festgelegten Achse bildet. Polynom-Interpolation Mit der Polynom-Interpolation können die unterschiedlichsten Kurvenverläufe erzeugt werden, wie Gerade-, Parabel-, Potenzfunktionen (SINUMERIK 840D sl). Positionierachse Achse, die eine Hilfsbewegung an einer Werkzeugmaschine ausführt. (z. B.
Seite 823
Glossar Quadrantenfehlerkompensation Konturfehler an Quadrantenübergängen, die durch wechselnde Reibverhältnisse an Führungsbahnen entstehen, sind mit der Quadrantenfehlerkompensation weitgehend eliminierbar. Die Parametrierung der Quadrantenfehlerkompensation erfolgt durch einen Kreisformtest. Referenzpunkt Punkt der Werkzeugmaschine, auf den sich das Messsystem der → Maschinenachsen bezieht. Rohteil Teil, mit dem die Bearbeitung eines Werkstücks begonnen wird.
Glossar Schlüsselwörter Wörter mit festgelegter Schreibweise, die in der Programmiersprache für → Teileprogramme eine definierte Bedeutung haben. 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.
Seite 825
Glossar Schutzraum Dreidimensionaler Raum innerhalb des → Arbeitsraumes, in den die Werkzeugspitze nicht hineinreichen darf. Settingdaten Daten, die Eigenschaften der Werkzeugmaschine auf durch die Systemsoftware definierte Weise der NC-Steuerung mitteilen. Sicherheitsfunktionen Die Steuerung enthält ständig aktive Überwachungen, die Störungen in der → CNC, der Anpass-Steuerung (→...
Seite 826
Glossar 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. Standardzyklen Für häufig wiederkehrende Bearbeitungsaufgaben stehen Standardzyklen zur Verfügung: ●...
Seite 827
Glossar Systemvariable Ohne Zutun des Programmierers eines → Teileprogramms existierende Variable. Sie ist definiert durch einen Datentyp und dem Variablennamen, der durch das Zeichen $ eingeleitet wird. Siehe → Anwenderdefinierte Variable. Teileprogramm Folge von Anweisungen an die NC-Steuerung, die insgesamt die Erzeugung eines bestimmten →...
Seite 828
Glossar 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. Es läuft dann in der nächsten →...
Seite 829
Glossar Vorsteuerung, dynamisch Ungenauigkeiten der → Kontur, bedingt durch Schleppfehler, lassen sich durch die dynamische, beschleunigungsabhängige Vorsteuerung nahezu eliminieren. Dadurch ergibt sich auch bei hohen → Bahngeschwindigkeiten eine hervorragende Bearbeitungsgenauigkeit. Die Vorsteuerung kann achsspezifisch über das → Teileprogramm an- und abgewählt werden. Werkstück Von der Werkzeugmaschine zu erstellendes/zu bearbeitendes Teil.
Glossar Zeitreziproker Vorschub Anstelle der Vorschubgeschwindigkeit kann für die Achsbewegung auch 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 → Werkzeugkorrektur (G41/G42) dürfen durch eine begrenzte Anzahl Zwischensätze (Sätze ohne Achsbewegungen in der Korrekturebene) unterbrochen werden, wobei die Werkzeugkorrektur noch korrekt verrechnet werden kann.