Herunterladen Inhalt Inhalt Diese Seite drucken
Siemens SINUMERIK 840D sl Programmierhandbuch
Vorschau ausblenden Andere Handbücher für SINUMERIK 840D sl:
Inhaltsverzeichnis

Werbung

SINUMERIK
SINUMERIK 840D sl/
SINUMERIK 828D
Arbeitsvorbereitung
Programmierhandbuch
Gültig für
Steuerung
SINUMERIK 840D sl/840DE sl
SINUMERIK 828D
Software
NCU Systemsoftware für 840D sl/840DE sl
NCU Systemsoftware für 828D
06/2009
6FC5398-2BP20-0AA0
Vorwort
Flexible NC-Programmierung
Datei- und
Programmverwaltung
Schutzbereiche
Spezielle Wegbefehle
Koordinatentransformationen
(FRAMES)
Transformationen
Werkzeugkorrekturen
Bahnverhalten
Achskopplungen
Bewegungssynchron-
aktionen
Pendeln
Stanzen und Nibbeln
Schleifen
Weitere Funktionen
Eigene Abspanprogramme
Tabellen
Anhang
Version
2.6
2.6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
A

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Siemens SINUMERIK 840D sl

  • Seite 1 Werkzeugkorrekturen Programmierhandbuch Bahnverhalten Achskopplungen Bewegungssynchron- aktionen Pendeln Stanzen und Nibbeln Schleifen Weitere Funktionen Eigene Abspanprogramme Tabellen Anhang Gültig für Steuerung SINUMERIK 840D sl/840DE sl SINUMERIK 828D Software Version NCU Systemsoftware für 840D sl/840DE sl NCU Systemsoftware für 828D 06/2009 6FC5398-2BP20-0AA0...
  • Seite 2: Qualifiziertes Personal

    Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und Instandhaltung voraus.
  • Seite 3: Vorwort

    ● Dokumentation online recherchieren Informationen zur DOConCD und direkten Zugriff auf die Druckschriften im DOConWEB. ● Dokumentation auf Basis der Siemens Inhalte individuell zusammenstellen mit dem My Documentation Manager (MDM), siehe http://www.siemens.com/mdm Der My Documentation Manager bietet Ihnen eine Reihe von Features zur Erstellung Ihrer eigenen Maschinendokumentation.
  • Seite 4: Technical Support

    Bei Fragen wenden Sie sich bitte an folgende Hotline: Europa / Afrika Telefon +49 180 5050 - 222 +49 180 5050 - 223 0,14 €/Min. aus dem deutschen Festnetz, abweichende Mobilfunkpreise möglich Internet http://www.siemens.de/automation/support-request Amerika Telefon +1 423 262 2522 +1 423 262 2200 E-Mail mailto:techsupport.sea@siemens.com...
  • Seite 5 Bei Fragen zur Dokumentation (Anregungen, Korrekturen) senden Sie bitte ein Fax oder eine E-Mail an folgende Adresse: Fax: +49 9131- 98 2176 E-Mail: mailto:docu.motioncontrol@siemens.com Eine Faxvorlage finden Sie im Anhang dieses Dokuments. Internetadresse für SINUMERIK http://www.siemens.com/sinumerik Programmierhandbuch "Grundlagen" und "Arbeitsvorbereitung"...
  • Seite 6 Vorwort Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 7: Inhaltsverzeichnis

    Inhaltsverzeichnis Vorwort ..............................3 Flexible NC-Programmierung ........................ 15 Variablen ............................15 1.1.1 Allgemeine Informationen zu Variablen ..................15 1.1.2 Systemvariablen...........................16 1.1.3 Vordefinierte Anwendervariablen: Rechenparameter (R)............19 1.1.4 Vordefinierte Anwendervariablen: Link-Variablen................21 1.1.5 Definition von Anwendervariablen (DEF)..................24 1.1.6 Redefinition von Systemvariablen, Anwendervariablen und NC-Sprachbefehlen (REDEF) ..31 1.1.7 Attribut: Initialisierungswert ......................34 1.1.8...
  • Seite 8 Inhaltsverzeichnis 1.12.2 Endlos-Programmschleife (LOOP, ENDLOOP)................ 111 1.12.3 Zählschleife (FOR ... TO ..., ENDFOR)..................112 1.12.4 Programmschleife mit Bedingung am Schleifenanfang (WHILE, ENDWHILE) ......114 1.12.5 Programmschleife mit Bedingung am Schleifenende (REPEAT, UNTIL)......... 115 1.12.6 Programmbeispiel mit verschachtelten Kontrollstrukturen............116 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) ..
  • Seite 9 Inhaltsverzeichnis 1.25.3.4 Modaler Unterprogrammaufruf (MCALL) ...................210 1.25.3.5 Indirekter Unterprogrammaufruf (CALL) ..................212 1.25.3.6 Indirekter Unterprogrammaufruf mit Angabe des auszuführenden Programmteils (CALL BLOCK ... TO ...)........................214 1.25.3.7 Indirekter Aufruf eines in ISO-Sprache programmierten Programms (ISOCALL) .....216 1.25.3.8 Unterprogramm mit Pfadangabe und Parametern aufrufen (PCALL) ........217 1.25.3.9 Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH) ..........218 1.25.3.10 Externes Unterprogramm abarbeiten (EXTCALL) ..............220 1.25.4...
  • Seite 10 Inhaltsverzeichnis 5.2.4 Definition neuer Frames (DEF FRAME) ................... 329 Grob- und Feinverschiebung (CFINE, CTRANS) ..............330 Externe Nullpunktverschiebung ....................332 Preset-Verschiebung (PRESETON) ..................333 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) ........... 335 NCU-globale Frames ........................ 339 5.7.1 Kanalspezifische Frames ($P_CHBFR, $P_UBFR)..............340 5.7.2 Im Kanal wirksame Frames.......................
  • Seite 11 Inhaltsverzeichnis Korrekturspeicher........................447 Additive Korrekturen ........................451 7.2.1 Additive Korrekturen anwählen (DL) ..................451 7.2.2 Verschleiß- und Einrichtewerte festlegen ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) ......453 7.2.3 Additive Korrekturen löschen (DELDL) ..................454 Werkzeugkorrektur - Sonderbehandlung ...................455 7.3.1 Werkzeuglängen spiegeln......................457 7.3.2 Vorzeichenbewertung Verschleiß ....................458 7.3.3 Koordinatensystem der aktiven Bearbeitung (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS)....................460 7.3.4 Werkzeuglänge und Ebenenwechsel..................463...
  • Seite 12 Inhaltsverzeichnis 8.7.1 Prozentuale Ruckkorrektur (JERKLIM)..................563 8.7.2 Prozentuale Geschwindigkeitskorrektur (VELOLIM) ..............564 8.7.3 Programmbeispiel für JERKLIM und VELOLIM ................ 565 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) ........566 Achskopplungen ..........................571 Mitschleppen (TRAILON, TRAILOF)..................571 Kurventabellen (CTAB) ......................576 9.2.1 Kurventabellen definieren (CTABDEF, CATBEND)..............577 9.2.2 Vorhandensein einer Kurventabelle prüfen (CTABEXISTS).............
  • Seite 13 Inhaltsverzeichnis 10.4 Aktionen in Synchronaktionen ....................663 10.4.1 Übersicht möglicher Aktionen in Synchronaktionen ..............663 10.4.2 Ausgabe von Hilfsfunktionen .....................666 10.4.3 Einlesesperre setzen (RDISABLE) ....................667 10.4.4 Vorlaufstopp aufheben (STOPREOF) ..................668 10.4.5 Restweglöschen (DELDTG).......................669 10.4.6 Polynomdefinition (FCTDEF) .....................671 10.4.7 Synchronfunktion (SYNFCT) .....................674 10.4.8 Abstandsregelung mit begrenzter Korrektur ($AA_OFF_MODE) ..........677 10.4.9 Online-Werkzeugkorrektur (FTOC)....................680...
  • Seite 14 Inhaltsverzeichnis 12.2.1 Wegaufteilung bei Bahnachsen ....................757 12.2.2 Wegaufteilung bei Einzelachsen ....................759 Schleifen..............................761 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) ....761 Weitere Funktionen..........................765 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) ....765 14.2 Umschaltbare Geometrieachsen (GEOAX) ................768 14.3 Achscontainer (AXCTSWE, AXCTSWED)................
  • Seite 15: Flexible Nc-Programmierung

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

    Flexible NC-Programmierung 1.1 Variablen Anwendervariablen sind unterteilt in: – Vordefinierte Anwendervariablen Vordefinierte Anwendervariablen sind im System bereits definierte Variablen, deren Anzahl über spezifische Maschinendaten vom Anwender nur noch parametriert werden muss. Die Eigenschaften dieser Variablen können vom Anwender weitestgehend angepasst werden. Siehe "Redefinition von Systemvariablen, Anwendervariablen und NC-Sprachbefehlen (REDEF) (Seite 31)".
  • Seite 17: Hauptlaufvariablen

    Flexible NC-Programmierung 1.1 Variablen Hauptlaufvariablen Als Hauptlaufvariablen werden Systemvariablen bezeichnet, die im Kontext des Hauptlaufs, d.h. zum Zeitpunkt der Ausführung des Teileprogrammsatzes in dem die Systemvariable programmiert ist, gelesen oder geschrieben werden. Hauptlaufvariablen sind: ● Systemvariablen, die in Synchronaktionen programmiert werden können (Lesen/Schreiben) ●...
  • Seite 18 Flexible NC-Programmierung 1.1 Variablen 2. Buchstabe Bedeutung: Sichtbarkeit NCK-globale Variable (NCK) kanalspezifische Variable (Channel) achsspezifische Variable (Axis) Randbedingungen Ausnahmen in der Prefix-Systematik Folgende Systemvariablen weichen von der oben genannten Prefix-Systematik ab: ● $TC_...: Der 2. Buchstabe C verweist hier nicht auf kanalspezifische, sondern auf Werkzeughalter-spezifische Systemvariablen (TC = Tool Carrier) ●...
  • Seite 19: Vordefinierte Anwendervariablen: Rechenparameter (R)

    Flexible NC-Programmierung 1.1 Variablen Hinweis Schreiben von Maschinendaten Beim Schreiben eines Maschinen- oder Settingdatums ist darauf zu achten, dass die aktive Zugriffsstufe beim Ausführen des Teileprogramms / Zyklus den Schreibzugriff erlaubt und die Wirksamkeit des Datums "IMMEDIATE" ist. Literatur Eine Auflistung der Eigenschaften aller Systemvariablen findet sich in: /PGA1/ Listenhandbuch Systemvariable Siehe auch Datentypen (Seite 57)
  • Seite 20 Flexible NC-Programmierung 1.1 Variablen Bedeutung Bezeichner bei Verwendung als Vorlaufvariable z.B. im Teileprogramm Bezeichner bei Verwendung als Hauptlaufvariable z.B. in Synchronaktionen Typ: REAL Wertebereich: Bei nicht-exponentieller Schreibweise: ± (0.000 0001 ... 9999 9999) Hinweis: Es sind maximal 8 Dezimalstellen erlaubt Bei exponentieller Schreibweise: ±...
  • Seite 21: Vordefinierte Anwendervariablen: Link-Variablen

    Flexible NC-Programmierung 1.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 Zuweisung im Hauptlauf: R6 = 1.874 * 10^8 R7=SIN(25.3) Zuweisung im Vorlauf R[R2]=R10...
  • Seite 22 Flexible NC-Programmierung 1.1 Variablen Syntax $A_DLB[<Index>] $A_DLW[<Index>] $A_DLD[<Index>] $A_DLR[<Index>] Bedeutung Link-Variable für Datenformat BYTE (1 Byte) $A_DLB: Datentyp: UINT Wertebereich: 0 ... 255 Link-Variable für Datenformat WORD (2 Bytes) $A_DLW: Datentyp: Wertebereich: -32768 ... 32767 Link-Variable für Datenformat DWORD (4 Bytes) $A_DLD: Datentyp: Wertebereich:...
  • Seite 23 Flexible NC-Programmierung 1.1 Variablen Beispiel In der Automatisierungsanlage sind 2 NCUs (NCU1 und NCU2) vorhanden. An NCU1 ist Maschinenachse AX2 angeschlossen, die als Link-Achse von NCU2 verfahren wird. NCU1 schreibt zyklisch den Stromistwert ($VA_CURR) der Achse AX2 in den Link- Variablen-Speicher.
  • Seite 24: Definition Von Anwendervariablen (Def)

    Flexible NC-Programmierung 1.1 Variablen 1.1.5 Definition von Anwendervariablen (DEF) Funktion Mit dem Befehl DEF können sie eigene Variablen definieren und mit Werten belegen. In Abgrenzung zu den Systemvariablen werden diese als anwenderdefinierte Variablen oder Anwendervariablen (User Data) bezeichnet. Entsprechend dem Gültigkeitsbereich, d.h. dem Bereich in dem die Variable sichtbar ist, gibt es folgende Kategorien von Anwendervariablen: ●...
  • Seite 25 Flexible NC-Programmierung 1.1 Variablen Syntax DEF <Bereich> <Typ> <VL_Stopp> <Init_Zeitpunkt> <Phys_Einheit> <Grenzwerte> <Zugriffsrechte> <Name>[<Wert_1>,<Wert_2>,<Wert_3>]=<Init_Wert> Bedeutung Befehl zur Definition von Anwendervariablen GUD, PUD, LUD DEF: Gültigkeitsbereich, nur relevant für GUD: <Bereich>: NC-globale Anwendervariable NCK: Kanal-globale Anwendervariable CHAN: Datentyp: <Typ>: Ganzzahliger Wert mit Vorzeichen INT: Real-Zahl (LONG REAL nach REAL:...
  • Seite 26 Flexible NC-Programmierung 1.1 Variablen Physikalische Einheit (optional) <Phys_Einheit>: PHU <Einheit>: siehe "Attribut: Physikalische Einheit (PHU) (Seite 39)" unterer und oberer Grenzwert (optional) <Grenzwerte>: LLI <Grenzwert>: unterer Grenzwert (lower limit) ULI <Grenzwert>: oberer Grenzwert (upper limit) siehe "Attribut: Grenzwerte (LLI, ULI) (Seite 38)" Zugriffsrechte für das Lesen / Schreiben von GUD über <Zugriffsrechte>: Teileprogramm oder BTSS (optional)
  • Seite 27: Beispiele

    ; Zugriffsrechte: Teileprogramm: Schreiben/Lesen = 3 = Endanwender BTSS: Schreiben = 0 = Siemens, Lesen = 3 = Endanwender ; Initialisierungswert: ZEIT_1 = 12.0, ZEIT_2 = 45.0 DEF NCK APWP 3 APRP 3 APWB 0 APRB 3 STRING[5] GUD5_NAME = "COUNTER"...
  • Seite 28 Flexible NC-Programmierung 1.1 Variablen Beispiel 2: Programm-globale und -lokale Anwendervariablen (PUD / LUD) Programmcode Kommentar PROC MAIN Hauptprogramm DEF INT VAR1 PUD-Definition SUB2 Unterprogrammaufruf Programmcode Kommentar PROC SUB2 Unterprogramm SUB2 DEF INT VAR2 LUD-DEFINITION IF (VAR1==1) PUD lesen VAR1=VAR1+1 PUD lesen und schreiben VAR2=1 LUD schreiben ENDIF...
  • Seite 29 Flexible NC-Programmierung 1.1 Variablen Beispiel 3: Definition und Verwendung von Anwendervariablen vom Datentyp AXIS Programmcode Kommentar DEF AXIS ABSZISSE 1. Geometrieachse DEF AXIS SPINDLE Spindel IF ISAXIS(1) == FALSE GOTOF WEITER ABSZISSE = $P_AXN1 WEITER: SPINDLE=(S1) 1. Spindel OVRA[SPINDLE]=80 Spindeloverride = 80% SPINDLE=(S3) 3.
  • Seite 30 Flexible NC-Programmierung 1.1 Variablen Programmglobale Anwendervariablen (PUD) ACHTUNG Sichtbarkeit von programmlokalen Anwendervariablen (PUD) Im Hauptprogramm definierte programmlokale Anwendervariablen (PUD) sind nur dann auch in den Unterprogrammen sichtbar, wenn folgendes Maschinendatum gesetzt ist: MD11120 $MN_LUD_EXTENDED_SCOPE = 1 Mit MD11120 = 0 sind die im Hauptprogramm definierten programmlokalen Anwendervariablen nur im Hauptprogramm sichtbar.
  • Seite 31: Redefinition Von Systemvariablen, Anwendervariablen Und Nc-Sprachbefehlen (Redef)

    Flexible NC-Programmierung 1.1 Variablen 1.1.6 Redefinition von Systemvariablen, Anwendervariablen und NC-Sprachbefehlen (REDEF) Funktion Mit dem Befehl REDEF können sie die Attribute von Systemvariablen, Anwendervariablen und NC-Sprachbefehle geändert. Grundvoraussetzung für eine Redefinition ist, dass sie zeitlich nach der entsprechenden Definition ausgeführt wird. Bei einer Redefinition können nicht mehrere Attribute gleichzeitg geändert werden.
  • Seite 32 Flexible NC-Programmierung 1.1 Variablen Vorlaufstopp <VL-Stopp>: Vorlaufstopp beim Lesen SYNR: Vorlaufstopp beim Schreiben SYNW: Vorlaufstopp beim Lesen/Schreiben SYNRW: Physikalische Einheit <Phys_Einheit>: PHU <Einheit>: siehe "Attribut: Physikalische Einheit (PHU) (Seite 39)" Hinweis Nicht redefinierbar für: • Systemvariablen • globale Anwenderdaten (GUD) •...
  • Seite 33 Flexible NC-Programmierung 1.1 Variablen Zeitpunkt zu dem die Variable reinitialisiert wird <Init_Zeitpunkt>: PowerOn INIPO: Hauptprogrammende, NC-Reset oder PowerOn INIRE: NewConfig oder Hauptprogrammende, NC-Reset INICF: oder PowerOn Hauptprogrammende, NC-Reset nach lokaler PRLOC: Änderung oder PowerOn siehe "Attribut: Initialisierungswert (Seite 34)" Initialisierungswert <Init_Wert>: Bei Redefinition des Initialisierungswertes muss immer auch ein Initialisierungszeitpunkt (siehe <Init_Zeitpunkt>) angegeben...
  • Seite 34: Attribut: Initialisierungswert

    Flexible NC-Programmierung 1.1 Variablen Randbedingungen Granularität Eine Redefinition bezieht sich immer auf die gesamte, durch ihren Namen eindeutig gekennzeichnete Variable. Es ist nicht möglich z.B. bei Feldvariablen für einzelne Feldelemente unterschiedliche Attributwerte zuzuweisen. Siehe auch Definition von Anwendervariablen (DEF) (Seite 24) 1.1.7 Attribut: Initialisierungswert Definition (DEF) von Anwendervariablen...
  • Seite 35 Flexible NC-Programmierung 1.1 Variablen Reinitialisierungszeitpunkt Bei der Redefinition kann Zeitpunkt angegeben werden, zu dem die Variable reinitialisiert, d.h. wieder auf den Initialisierungswert gesetzt werden soll: ● INIPO (Power On) Die Variable wird bei PowerOn reinitialisiert. ● INIRE (Reset) Die Variable wird bei NC-Reset, BAG-Reset, Teileprogrammende (M02 / M30) oder PowerOn reinitialisiert.
  • Seite 36 Flexible NC-Programmierung 1.1 Variablen Nummer Bezeichner G-Befehl OSP1 43700 $SA_OSCILL_REVERSE_POS1 OSP2 43710 $SA_OSCILL_REVERSE_POS2 OST1 43720 $SA_OSCILL_DWELL_TIME1 OST2 43730 $SA_OSCILL_DWELL_TIME2 43740 $SA_OSCILL_VELO OSNSC 43750 $SA_OSCILL_NUM_SPARK_CYCLES 43760 $SA_OSCILL_END_POS OSCTRL 43770 $SA_OSCILL_CTRL_MASK 43780 $SA_OSCILL_IS_ACTIVE 43790 $SA_OSCILL_START_POS 1) mit diesem G-Befehl wird das Settingdatum angesprochen Randbedingungen Initialisierungswert: globale Anwendervariablen (GUD) ●...
  • Seite 37 Flexible NC-Programmierung 1.1 Variablen Initialisierungswert: Datentyp CHAR Für Variablen vom Datentyp CHAR kann statt des ASCII-Codes (0...255) auch das entsprechende ASCII-Zeichen in Anführungszeichen programmiert werden, z.B. "A" Initialisierungswert: Datentyp STRING Bei Variablen vom Datentyp STRING muss die Zeichenkette in Anführungszeichen gesetzt werden z.B.: ...= "MASCHINE_1"...
  • Seite 38: Attribut: Grenzwerte (Lli, Uli)

    Flexible NC-Programmierung 1.1 Variablen 1.1.8 Attribut: Grenzwerte (LLI, ULI) Ein oberer und unterer Grenzwert des Definitionsbereichs kann nur für folgende Datentypen vorgegeben werden: ● INT ● REAL ● CHAR Definition (DEF) von Anwendervariablen: Grenzwerte und implizite Initialisierungswerte Wird bei der Definition einer Anwendervariablen von einem der oben genannten Datentypen kein expliziter Initialisierungswert definiert, wird die Variable auf den impliziten Initialisierungswert des Datentyps gesetzt: ●...
  • Seite 39: Attribut: Physikalische Einheit (Phu)

    Flexible NC-Programmierung 1.1 Variablen Redefinition (REDEF) von Anwendervariablen: Grenzwerte und aktuelle Istwerte Werden bei der Redefinition der Grenzwerte einer Anwendervariablen diese so geändert, dass der aktuelle Istwert ausserhalb des neuen Definitionsbereichs liegt, erfolgt ein Alarm und die Grenzwerte werden nicht übernommen. Hinweis Redefinition (REDEF) von Anwendervariablen Bei der Redefinition der Grenzwerte einer Anwendervariablen ist auf das konsistente Ändern...
  • Seite 40 Flexible NC-Programmierung 1.1 Variablen <Einheit> Bedeutung Physikalische Einheit Umdrehungsvorschub [ mm/U ], [ inch/U ] Temperaturkompensation [ mm ], [ inch ] 1) 2) Kraft [ N ] Masse [ kg ] Trägheitmoment [ kgm Prozent [ % ] Frequenz [ Hz ] Spannung [ V ]...
  • Seite 41: Attribut: Zugriffsrechte (Apr, Apw, Aprp, Apwp, Aprb, Apwb)

    Flexible NC-Programmierung 1.1 Variablen Hinweis Ebenenüberlauf durch Formatumrechnung Das interne Ablageformat für alle Anwendervariablen (GUD / PUD / LUD) mit längenbehafteten physikalischen Einheiten ist metrisch. Eine exzessive Verwendung derartiger Variablen im Hauptlauf des NCK, z.B. in Synchronaktionen, kann bei einer Maßsystemumschaltung zu einem Rechenzeitüberlauf der Interpolatorebene, Alarm 4240, führen.
  • Seite 42 Flexible NC-Programmierung 1.1 Variablen Definition (DEF) von Anwendervariablen Zugriffsrechte (APR... / APW...) können für folgende Variablen definiert werden: ● globale Anwenderdaten (GUD) Redefinition (REDEF) von System- und Anwendervariablen Zugriffsrechte (APR... / APW...) können für folgende Variablen redefiniert werden: ● Systemdaten –...
  • Seite 43 Flexible NC-Programmierung 1.1 Variablen Redefinition (REDEF) von NC-Sprachbefehlen Das Zugriffs- bzw. Ausführungsrecht (APX) kann für folgende NC-Sprachbefehle redefiniert werden: ● G-Funktionen / Wegbedingungen Literatur: /PG/ Programmieranleitung Grundlagen; Kapitel: G-Funktionen / Wegbedingungen ● Vordefinierte Funktionen Literatur: /PG/ Programmieranleitung Grundlagen; Kapitel: Vordefinierte Funktionen ●...
  • Seite 44 Flexible NC-Programmierung 1.1 Variablen ● APRP 3 / APWP 3 – beim Abarbeiten des Teileprogramms muss das Endanwender-Kennwort gesetzt sein – der Zyklus muss im Verzeichnis _N_CUS_DIR (Anwender), _N_CMA_DIR oder _N_CST_DIR abgelegt sein – für die Verzeichnisse _N_CUS_DIR, _N_CMA_DIR bzw. _N_CST_DIR müssen in den Maschinendaten MD11162 $MN_ACCESS_EXEC_CUS, MD11161 $MN_ACCESS_EXEC_CMA bzw.
  • Seite 45 Flexible NC-Programmierung 1.1 Variablen Hinweis Einschränkungen bezüglich APR Bei der Verwendung von APR sind folgende Einschränkungen zu beachten: • Eine Einschränkung der Zugriffsrechte zum Lesen von System- und Anwendervariablen in Teileprogrammen / Zyklen durch APR 0...7 hat keine Auswirkung. • Eine Einschränkung der Zugriffsrechte zum Lesen von System- und Anwendervariablen über BTSS durch APR 10...17, wird nur bei einem Zugriff von aus HMI berücksichtigt.
  • Seite 46 Flexible NC-Programmierung 1.1 Variablen ● 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 – MD11161 $MN_ACCESS_EXEC_CMA – MD11162 $MN_ACCESS_EXEC_CUS Schreibrechte – MD11165 $MN_ACCESS_WRITE_CST –...
  • Seite 47: Übersicht Definierbarer Und Redefinierbarer Attribute

    Flexible NC-Programmierung 1.1 Variablen 1.1.11 Übersicht definierbarer und redefinierbarer Attribute Die folgenden Tabellen zeigen bei welchen Datenarten welche Attribute definiert (DEF) und/oder redefiniert (REDEF) werden können. Systemdaten Datenart Init.Wert Grenzwerte phys. Einheit Zugriffsrechte REDEF Maschinendaten REDEF REDEF Settingdaten REDEF FRAME-Daten REDEF Prozessdaten REDEF...
  • Seite 48: Definition Und Initialisierung Von Feldvariablen (Def, Set, Rep)

    Flexible NC-Programmierung 1.1 Variablen 1.1.12 Definition und Initialisierung von Feldvariablen (DEF, SET, REP) Funktion Eine Anwendervariable kann als 1- bis maximal 3-dimensionales Feld (Array) definiert werden: ● 1-dimensional: DEF <Datentyp> <Variablenname>[<n>] ● 2-dimensional: DEF <Datentyp> <Variablenname>[<n>,<m>] ● 3-dimensional: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] Hinweis Anwendervariable vom Datentyp STRING können maximal als 2-dimensionales Feld definiert werden.
  • Seite 49 Flexible NC-Programmierung 1.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 50 Flexible NC-Programmierung 1.1 Variablen Bedeutung Befehl zur Definition von Variablen DEF: Datentyp der Variablen <Datentyp>: Wertebereich: • bei Systemvariablen: BOOL, CHAR, INT, REAL, STRING, AXIS • bei GUD- oder LUD-Variablen: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME Maximale Anzahl der Zeichen beim Datentyp <Stringlänge>: STRING Variablenname...
  • Seite 51 Flexible NC-Programmierung 1.1 Variablen Wert, mit dem die Feldelemente bei der Initialisierung <Wert>: mit REP beschrieben werden sollen. Anzahl der Feldelemente, die mit dem angegebenen <Anzahl_Feldelemente>: <Wert> beschrieben werden sollen. Für die restlichen Feldelemente gilt abhängig vom Zeitpunkt: • Initialisierung bei der Felddefinition: →...
  • Seite 52 Flexible NC-Programmierung 1.1 Variablen Feldindex Die implizite Reihenfolge der Feldelemente z.B. bei einer Wertzuweisung über SET oder REP erfolgt durch Iteration der Feldindizes von rechts nach links. Beispiel: Initialisierung eines 3-dimensionalen Feldes mit 24 Feldelementen: DEF INT FELD[2,3,4] = REP(1,24) FELD[0,0,0] = 1 1.
  • Seite 53: Beispiel: Initialisierung Kompletter Variablenfelder

    Flexible NC-Programmierung 1.1 Variablen Beispiel: Initialisierung kompletter Variablenfelder Aktuelle Belegung siehe Abbildung. Programmcode N10 DEF REAL FELD1[10,3]=SET(0,0,0,10,11,12,20,20,20,30,30,30,40,40,40,) N20 FELD1[0,0]=REP(100) N30 FELD1[5,0]=REP(-100) N40 FELD1[0,0]=SET(0,1,2,-10,-11,-12,-20,-20,-20,-30, , , ,-40,-40,-50,-60,-70) N50 FELD1[8,1]=SET(8.1,8.2,9.0,9.1,9.2) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 54 Flexible NC-Programmierung 1.1 Variablen 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. ● Feldelemente ohne explizit angegebene Werte in der Werteliste (Lücken in der Werteliste) werden mit 0 belegt.
  • Seite 55 Flexible NC-Programmierung 1.1 Variablen Weitere Informationen (REP) Initialisierung bei der Definition ● Alle oder die optional angegebene Anzahl an Feldelementen werden mit dem angegebenen Wert (Konstante) initialisiert. ● Variablen vom Datentyp FRAME können nicht initialisiert werden. Beispiel: Programmcode Kommentar DEF REAL varName[10]=REP(3.5,4) ;...
  • Seite 56 Flexible NC-Programmierung 1.1 Variablen Weitere Informationen (allgemein) Wertzuweisungen an axiale Maschinendaten Axiale Maschinendaten haben prinzipiell einen Feldindex vom Datentyp AXIS. Bei Wertzuweisungen an ein axiales Maschinendatum mittels SET oder REP wird dieser Feldindex ignoriert bzw. nicht durchlaufen. Beispiel: Wertzuweisung an Maschinendatum MD36200 $MA_AX_VELO_LIMIT $MA_AX_VELO_LIMIT[1,AX1]=SET(1.1, 2.2, 3.3) Entspricht: $MA_AX_VELO_LIMIT[1,AX1]=1.1...
  • Seite 57: Datentypen

    Flexible NC-Programmierung 1.1 Variablen 1.1.13 Datentypen Folgende Datentypen stehen in der NC zur Verfügung: Datentyp Bedeutung Wertebereich ganzzahliger Wert mit Vorzeichen -2147483648 ... +2147483647 REAL Real-Zahl (LONG REAL nach IEEE) ±(∼2,2*10 … ∼1,8*10 -308 +308 BOOL Wahrheitswert TRUE (1) und FALSE (0) 1, 0 CHAR ASCII-Zeichen...
  • Seite 58: Indirekte Programmierung

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Indirekte Programmierung Funktion Bei der indirekten Programmierung von Adressen wird die erweiterte Adresse (Index) durch eine Variable geeigneten Typs ersetzt. Hinweis Die indirekte Programmierung von Adressen ist nicht möglich bei: • N (Satznummer) • L (Unterprogramm) •...
  • Seite 59 Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 2: Indirekte Programmierung einer Achse Direkte Programmierung: Programmcode Kommentar FA[U]=300 ; Vorschub 300 für die Achse "U". Indirekte Programmierung: Programmcode Kommentar DEF AXIS AXVAR2=U ; Definition einer Variablen vom Typ AXIS und Wertzuweisung. FA[AXVAR2]=300 ;...
  • Seite 60 Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 4: Indirekte Programmierung einer Achse Direkte Programmierung: Programmcode X1=100 X2=200 Indirekte Programmierung: Programmcode Kommentar DEF AXIS AXVAR1 AXVAR2 ; Definition zweier Variablen vom Typ AXIS. AXVAR1=(X1) AXVAR2=(X2) ; Zuweisung der Achsnamen. AX[AXVAR1]=100 AX[AXVAR2]=200 ; Verfahren der Achsen, deren Adressnamen in den Variablen mit den Namen AXVAR1 und AXVAR2 abgelegt sind.
  • Seite 61 Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 6: Indirekte Programmierung von Feldelementen Direkte Programmierung: Programmcode Kommentar DEF INT FELD1[4,5] ; Definition von Feld 1. Indirekte Programmierung: Programmcode Kommentar DEFINE DIM1 AS 4 ; Bei Felddimensionen müssen Feldgrößen als feste Werte angegeben werden. DEFINE DIM2 AS 5 DEF INT FELD[DIM1,DIM2] FELD[DIM1-1,DIM2-1]=5...
  • Seite 62: Indirekte Programmierung Von G-Codes

    Flexible NC-Programmierung 1.2 Indirekte Programmierung 1.2.1 Indirekte Programmierung von G-Codes Funktion Die indirekte Programmierung von G-Codes ermöglicht eine effektive Zyklenprogrammierung. Syntax G[<Gruppe>]=<Nummer> Bedeutung G-Befehl mit Erweiterung (Index) G[...]: Index-Parameter: G-Funktionsgruppe <Gruppe>: Typ: Hinweis: Es können nur modal wirksame G- Funktionsgruppen indirekt programmiert werden.
  • Seite 63: Indirekte Programmierung Von Positionsattributen (Gp)

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 2: Ebenenanwahl (G-Funktionsgruppe 6) Programmcode Kommentar N2010 R10=$P_GG[6] ; Aktive G-Funktion der G-Funktions-Gruppe 6 lesen N2090 G[6]=R10 Literatur Informationen zu den G-Funktionsgruppen siehe: Programmierhandbuch Grundlagen; Kapitel "Liste der G-Funktionen/Wegbedingungen" 1.2.2 Indirekte Programmierung von Positionsattributen (GP) Funktion Positionsattribute, wie z.
  • Seite 64: Bedeutung

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Bedeutung Folgende Positionierbefehle können zusammen mit <POSITIONIERBEFEHL>[]: dem Schlüsselwort GP programmiert werden: POS, POSA,SPOS, SPOSA Außerdem möglich: • alle im Kanal vorhandenen Achs- /Spindelbezeichner: <Achse/Spindel> • variabler Achs-/Spindelbezeichner AX Achse/Spindel, die positioniert werden soll <Achse/Spindel>: Schlüsselwort zur Positionierung GP(): Parameter 1...
  • Seite 65 Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel Bei einer aktiven Synchronspindelkopplung zwischen der Leitspindel S1 und der Folgespindel S2 wird durch den SPOS-Befehl im Hauptprogramm der folgende Ersetzungszyklus zur Positionierung der Spindeln aufgerufen. Die Positionierung erfolgt über die Anweisung in N2230: SPOS[1]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) SPOS[2]=GP($P_SUB_SPOSIT,$P_SUB_SPOSMODE) Die anzufahrende Position wird aus der Systemvariablen $P_SUB_SPOSIT, der...
  • Seite 66: Indirekte Programmierung Von Teileprogrammzeilen (Execstring)

    Flexible NC-Programmierung 1.2 Indirekte Programmierung 1.2.3 Indirekte Programmierung von Teileprogrammzeilen (EXECSTRING) Funktion Mit dem Teileprogrammbefehl EXECSTRING wird als Parameter ein String übergeben, der die eigentlich auszuführende Teileprogrammzeile enthält. Syntax EXECSTRING(<String-Variable>) Parameter Übergabe einer String-Variablen mit der auszuführenden EXECSTRING: Teileprogrammzeile Parameter mit eigentlich auszuführender <String-Variable>: Teileprogrammzeile Hinweis...
  • Seite 67: Rechenfunktionen

    Flexible NC-Programmierung 1.3 Rechenfunktionen Rechenfunktionen Funktion Die Rechenfunktionen sind vorrangig für R-Parameter und Variable (oder Konstante und Funktionen) vom Typ REAL anwendbar. Zulässig sind auch die Typen INT und CHAR. Operator / Rechenfunktion Bedeutung Addition Subtraktion Multiplikation Division Achtung: (Typ INT)/(Typ INT)=(Typ REAL); Beispiel: 3/4 = 0.75 Division, für Variablentyp INT und REAL Achtung: (Typ INT)DIV(Typ INT)=(Typ INT);...
  • Seite 68 Flexible NC-Programmierung 1.3 Rechenfunktionen MINVAL() kleinerer Wert zweier Variablen (siehe "Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) (Seite 75)" ) MAXVAL() größerer Wert zweier Variablen (siehe "Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) (Seite 75)") BOUND() Variablenwert, der im definierten Wertebereich liegt (siehe "Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) (Seite 75)")
  • Seite 69 Flexible NC-Programmierung 1.3 Rechenfunktionen Beispiel 2: Initialisierung kompletter Variablenfelder Programmcode Kommentar R1=R1+1 ; Neues R1 = altes R1 +1 R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12 R13=SIN(25.3) R14=R1*R2+R3 ; Punktrechnung geht vor Strichrechnung. R14=(R1+R2)*R3 ; Klammern werden zuerst berechnet. R15=SQRT(POT(R1)+POT(R2)) ; Innere Klammern werden zuerst aufgelöst: R15 = Quadratwurzel aus (R1+R2) RESFRAME=FRAME1:FRAME2 ;...
  • Seite 70: Vergleichs- Und Logische Operationen

    Flexible NC-Programmierung 1.4 Vergleichs- und logische Operationen Vergleichs- und logische Operationen Funktion Vergleichsoperationen können z. B. zur Formulierung einer Sprungbedingung benutzt werden. Vergleichbar sind dabei auch komplexe Ausdrücke. Die Vergleichsoperationen sind für Variable vom Typ CHAR, INT, REAL und BOOL anwendbar.
  • Seite 71 Flexible NC-Programmierung 1.4 Vergleichs- und logische Operationen Logischer Operator Bedeutung ODER Negation Exklusiv-ODER Bitweise logischer Operator Bedeutung bitweises UND B_AND bitweises ODER B_OR bitweise Negation B_NOT bitweises Exklusiv-ODER B_XOR Hinweis In arithmetischen Ausdrücken kann durch runde Klammern die Abarbeitungsreihenfolge aller Operatoren festgelegt und damit von den normalen Prioritätsregeln abgewichen werden.
  • Seite 72 Flexible NC-Programmierung 1.4 Vergleichs- und logische Operationen 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 IF NOT R10 GOTOB START NOT bezieht sich nur auf einen Operanden.
  • Seite 73: Genauigkeitskorrektur Bei Vergleichsfehlern (Trunc)

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

    Flexible NC-Programmierung 1.5 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Kompatibilität Aus Kompatibilitätsgründen kann die Prüfung auf relative Gleichheit bei (>) und (<) durch Setzen von Maschinendatum MD10280 $MN_ PROG_FUNCTION_MASK Bit0 = 1 deaktiviert werden. Hinweis Vergleiche mit Daten vom Typ REAL sind aus den genannten Gründen generell mit einer gewissen Ungenauigkeit behaftet.
  • Seite 75: Minimum, Maximum Und Bereich Von Variablen (Minval, Maxval, Bound)

    Flexible NC-Programmierung 1.6 Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Funktion Mit den Befehlen MINVAL und MAXVAL können die Werte zweier Variablen miteinander verglichen werden. Als Ergebnis wird der kleinere Wert (bei MINVAL) bzw. größere Wert (bei MAXVAL) zurückgeliefert.
  • Seite 76 Flexible NC-Programmierung 1.6 Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Ergebnisvariable für den Befehl BOUND <Rückgabewert>: Wenn der Wert der Prüfvariablen innerhalb des definierten Wertebereichs liegt, dann wird die Ergebnisvariable auf den Wert der Prüfvariablen gesetzt. Wenn der Wert der Prüfvariablen größer als der Maximalwert ist, dann wird die Ergebnisvariable auf den Maximalwert des Definitionsbereichs gesetzt.
  • Seite 77: Priorität Der Operationen

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

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

    Flexible NC-Programmierung 1.9 Stringoperationen Stringoperationen Stringoperationen Neben den klassischen Operationen "Zuweisung" und "Vergleich" sind folgende Stringoperationen möglich: ● Typenkonvertierung nach STRING (AXSTRING) ● Typenkonvertierung von STRING (NUMBER, ISNUMBER, AXNAME) ● Verkettung von Strings (<<) ● Wandlung in Klein-/Großbuchstaben (TOLOWER, TOUPPER) ●...
  • Seite 80: Typenkonvertierung Nach String (Axstring)

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

    Flexible NC-Programmierung 1.9 Stringoperationen Beispiele Beispiel 1: MSG("Position:"<<$AA_IM[X]) Beispiel 2: AXSTRING Programmcode Kommentar DEF STRING[32] STRING_ERG STRING_ERG=AXSTRING(X) ; STRING_ERG == "X" 1.9.2 Typenkonvertierung von STRING (NUMBER, ISNUMBER, AXNAME) Funktion Mit dem Befehl NUMBER wird von STRING nach REAL konvertiert. Die Konvertierbarkeit kann mit dem Befehl ISNUMBER überprüft werden.
  • Seite 82 Flexible NC-Programmierung 1.9 Stringoperationen Variable für das Ergebnis der Abfrage mit ISNUMBER <BOOL_ERG>: Typ: BOOL Wert: TRUE ISNUMBER liefert den Wert TRUE, wenn der <String> eine nach den Regeln der Sprache gültige REAL-Zahl darstellt. FALSE Liefert ISNUMBER den Wert FALSE, wird bei Aufruf von NUMBER mit dem gleichen <String>...
  • Seite 83: Verkettung Von Strings ( Wandlung In Klein-/Großbuchstaben (Tolower, Toupper)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.3 Verkettung von Strings (<<) Funktion Die Funktion "Verkettung von Strings" schafft die Möglichkeit, einen String aus einzelnen Bestandteilen zusammensetzen zu können. Realisiert wird die Verkettung über den Operator "<<". Dieser Operator hat für alle Kombinationen der Basistypen CHAR, BOOL, INT, REAL und STRING als Zieltyp STRING. Eine eventuell notwendige Konvertierung wird nach den bestehenden Regeln vorgenommen.
  • Seite 84 Flexible NC-Programmierung 1.9 Stringoperationen Beispiele Beispiel 1: Verkettung von Strings Programmcode Kommentar DEF INT IDX=2 DEF REAL VALUE=9.654 DEF STRING[20] STRG="INDEX:2" IF STRG=="Index:"<<IDX GOTOF NO_MSG MSG("Index:"<<IDX<<"/Wert:"<<VALUE) ; Anzeige: "Index:2/Wert:9.654" NO_MSG: Beispiel 2: Explizite Typkonvertierung mit << Programmcode Kommentar DEF REAL VALUE=3.5 <<VALUE ;...
  • Seite 85: Wandlung In Klein-/Großbuchstaben (Tolower, Toupper)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.4 Wandlung in Klein-/Großbuchstaben (TOLOWER, TOUPPER) Funktion 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 TOUPPER: Zeichenkette in Großbuchstaben umgewandelt.
  • Seite 86: Länge Eines Strings Bestimmen (Strlen)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.5 Länge eines Strings bestimmen (STRLEN) Funktion Mit dem Befehl STRLEN ist es möglich, die Länge einer Zeichenkette zu bestimmen. Syntax <INT_ERG>=STRLEN("<STRING>") Bedeutung Mit dem Befehl STRLEN wird die Länge der angegebenen Zeichenkette STRLEN: bestimmt. Es wird die Anzahl der Zeichen zurückgegeben, die - vom Anfang der Zeichenkette an gezählt - keine 0-Zeichen sind.
  • Seite 87: Zeichen/String In String Suchen (Index, Rindex, Mindex, Match)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.6 Zeichen/String in String suchen (INDEX, RINDEX, MINDEX, MATCH) Funktion Diese Funktionalität erlaubt es, einzelne Zeichen bzw. einen String in einem weiteren String zu suchen. Die Funktionsergebnisse geben an, an welcher Position des Strings das Zeichen/der String im zu untersuchenden String gefunden wurde. Syntax INT_ERG=INDEX(STRING,CHAR) ;...
  • Seite 88 Flexible NC-Programmierung 1.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_EXECUTE_MPF" LISTIDX = MINDEX (EINGABE, "M,N,O,P") + 1 ; Als Wert in LISTIDX wird 3 zurückgeliefert;...
  • Seite 89: Auswahl Eines Teilstrings (Substr)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.7 Auswahl eines Teilstrings (SUBSTR) Funktion Diese Funktionalität erlaubt es, einen Teilstring aus einem String herauszulösen. Dazu wird der Index des ersten Zeichens und ggf. die gewünschte Länge angegeben. Wird die Längeninformation nicht angegeben, ist der Reststring gemeint. Syntax STRING_ERG = SUBSTR (STRING,INT) ;...
  • Seite 90: Selektion Eines Einzelzeichens (Stringvar, Stringfeld)

    Flexible NC-Programmierung 1.9 Stringoperationen 1.9.8 Selektion eines Einzelzeichens (STRINGVAR, STRINGFELD) Funktion Diese Funktionalität erlaubt es, die einzelnen Zeichen eines Strings zu selektieren. Dies trifft sowohl auf den lesenden als auch auf den schreibenden Zugriff zu. Syntax CHAR_ERG = STRINGVAR [IDX] ; Ergebnistyp: CHAR CHAR_ERG = STRINGFELD [IDX_FELD, IDX_CHAR] ;...
  • Seite 91 Flexible NC-Programmierung 1.9 Stringoperationen Beispiele Beispiel 1: Einzelzeichenzugriff auf ein System-, Maschinendatum, … Programmcode Kommentar DEF STRING [50] STRG DEF CHAR QUITTUNG … STRG = $P_MMCA QUITTUNG = STRG [0] Auswerten der Quittungskomponente Beispiel 2: Einzelzeichenzugriff bei Call-By-Reference-Parameter Programmcode Kommentar DEF STRING [50] STRG DEF CHAR CHR1 EXTERN UP_CALL (VAR CHAR1)
  • Seite 92: Programmsprünge Und -Verzweigungen

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

    Flexible NC-Programmierung 1.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 94 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Syntax GOTOB <Sprungziel> IF <Sprungbedingung> = TRUE GOTOB <Sprungziel> GOTOF <Sprungziel> IF <Sprungbedingung> = TRUE GOTOF <Sprungziel> GOTO <Sprungziel> IF <Sprungbedingung> = TRUE GOTO <Sprungziel> GOTOC <Sprungziel> IF <Sprungbedingung> = TRUE GOTOC <Sprungziel> Bedeutung Sprunganweisung mit Sprungziel in Richtung Programmanfang.
  • Seite 95 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Hinweis Sprungmarken (Labels) Sprungmarken stehen immer am Anfang eines Satzes. Wenn eine Programmnummer vorhanden ist, steht die Sprungmarke unmittelbar nach der Satznummer. Für die Benennung von Sprungmarken gelten folgende Regeln: • Anzahl an Zeichen: –...
  • Seite 96 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Beispiel 2: Indirekter Sprung auf Satznummer Programmcode Kommentar N5 R10=100 N10 GOTOF "N"<<R10 ; Sprung auf den Satz, dessen Satznummer in R10 steht. N90 ... N100 ... ; Sprungziel N110 ... Beispiel 3: Sprung auf variables Sprungziel Programmcode Kommentar DEF STRING[20] ZIEL...
  • Seite 97: Programmverzweigung (Case

    Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen 1.10.3 Programmverzweigung (CASE ... OF ... DEFAULT ...) Funktion Die CASE-Funktion bietet die Möglichkeit, den aktuellen Wert (Typ: INT) einer Variablen oder einer Rechenfunktion zu überprüfen und abhängig vom Ergebnis an unterschiedliche Stellen im Programm zu springen. Syntax CASE(<Ausdruck>) OF <Konstante_1>...
  • Seite 98 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Auf dieses Sprungziel wird verzweigt, wenn der Wert der <Sprungziel_1>: Variablen oder Rechenfunktion der ersten angegebenen Konstanten entspricht. Das Sprungziel kann wie folgt angegeben werden: <Sprungmarke>: Sprungziel ist die im Programm gesetzte Sprungmarke mit benutzerdefiniertem Namen: <Sprungmarke>: <Satznummer>: Sprungziel ist eine Haupt- oder...
  • Seite 99: Programmteilwiederholung (Repeat, Repeatb, Endlabel, P)

    Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Funktion Die Programmteilwiederholung ermöglicht die Wiederholung bereits geschriebener Programmteile innerhalb eines Programms in beliebiger Zusammensetzung. Die zu wiederholenden Programmzeilen bzw. Programmbereiche werden durch Sprungmarken (Labels) gekennzeichnet. Hinweis Sprungmarken (Labels) Sprungmarken stehen immer am Anfang eines Satzes.
  • Seite 100 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) 3. Bereich zwischen zwei Sprungmarken wiederholen: <Start-Sprungmarke>: ... <End-Sprungmarke>: ... REPEAT <Start-Sprungmarke> <End-Sprungmarke> P=<n> Hinweis Die REPEAT-Anweisung mit den beiden Sprungmarken zu klammern, ist nicht möglich. Wird die <Start-Sprungmarke> vor der REPEAT-Anweisung gefunden und wird die <End- Sprungmarke>...
  • Seite 101 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Bedeutung Befehl zum Wiederholen einer Programmzeile REPEATB: Befehl zum Wiederholen eines Programmbereichs REPEAT: Die <Sprungmarke> kennzeichnet: <Sprungmarke>: • die zu wiederholende Programmzeile (bei REPEATB) bzw. • den Beginn des zu wiederholenden Programmbereichs (bei REPEAT) Die mit der <Sprungmarke>...
  • Seite 102 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Beispiele Beispiel 1: Einzelne Programmzeile wiederholen Programmcode Kommentar N10 POSITION1: X10 Y20 N20 POSITION2: CYCLE(0,,9,8) ; Positionszyklus N30 ... N40 REPEATB POSITION1 P=5 ; Führe SATZ N10 fünfmal aus. N50 REPEATB POSITION2 ;...
  • Seite 103 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Beispiel 3: Bereich zwischen zwei Sprungmarken wiederholen Programmcode Kommentar N5 R10=15 N10 Begin: R10=R10+1 ; Breite N20 Z=10-R10 N30 G1 X=R10 F200 N40 Y=R10 N50 X=-R10 N60 Y=-R10 N70 END: Z=10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 ;...
  • Seite 104 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Beispiel 5: Fräsbearbeitung, Bohrposition mit verschiedenen Technologien bearbeiten Programmcode Kommentar N10 ZENTRIERBOHRER() ; Zentrierbohrer einwechseln. N20 POS_1: ; Bohrpositionen 1 N30 X1 Y1 N40 X2 N50 Y2 N60 X3 Y3 N70 ENDLABEL: N80 POS_2: ;...
  • Seite 105 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Weitere Informationen ● Programmteilwiederholung kann geschachtelt aufgerufen werden. Jeder Aufruf belegt eine Unterprogrammebene. ● Ist während der Bearbeitung einer Programmteilwiederholung M17 oder RET programmiert, so wird die Programmteilwiederholung abgebrochen. Das Programm wird mit dem auf die REPEAT-Zeile folgenden Satz fortgesetzt.
  • Seite 106 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) ● Bei der Mischung von Sprüngen und Programmteilwiederholung werden die Sätze rein sequentiell abgearbeitet. Erfolgt z. B. ein Sprung aus einer Programmteilwiederholung, so wird solange bearbeitet, bis das programmierte Programmteilende gefunden wird. Beispiel: Programmcode N10 G1 F300 Z-10...
  • Seite 107: Kontrollstrukturen

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12 Kontrollstrukturen Funktion Die Steuerung arbeitet die NC-Sätze standardmäßig in der programmierten Reihenfolge ab. Diese Reihenfolge kann durch die Programmierung von alternativen Programmblöcken und Programmschleifen variiert werden. Die Programmierung dieser Kontrollstrukturen erfolgt mit den Kontrollstrukturelementen (Schlüsselwörtern) IF...ELSE, LOOP, FOR, WHILE und REPEAT.
  • Seite 108 Flexible NC-Programmierung 1.12 Kontrollstrukturen Laufzeitverhalten Im standardmäßig aktiven Interpreterbetrieb kann durch Verwendung von Programmsprüngen ein schnellerer Programmablauf als mit Kontrollstrukturen erreicht werden. In vorkompilierten Zyklen ist kein Unterschied zwischen Programmsprüngen und Kontrollstrukturen vorhanden. Randbedingungen ● Sätze mit Kontrollstrukturelementen können nicht ausgeblendet werden. ●...
  • Seite 109: Programmschleife Mit Alternative (If, Else, Endif)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.1 Programmschleife mit Alternative (IF, ELSE, ENDIF) Funktion Eine Konstruktion mit IF und ELSE wird verwendet, wenn die Programmschleife einen alternativen Programmblock enthalten soll: Wenn die IF-Bedingung erfüllt ist, dann wird der auf IF folgende Programmblock ausgeführt. Wenn die IF-Bedingung nicht erfüllt ist, dann wird der auf ELSE folgende alternative Programmblock ausgeführt.
  • Seite 110 Flexible NC-Programmierung 1.12 Kontrollstrukturen Beispiel Werkzeugwechselunterprogramm Programmcode Kommentar PROC L6 ; Werkzeugwechselroutine N500 DEF INT TNR_AKTUELL ; Variable für aktive T-Nummer N510 DEF INT TNR_VORWAHL ; Variable für vorgewählte T- Nummer ; Aktuelles Werkzeug ermitteln N520 STOPRE N530 IF $P_ISTEST ;...
  • Seite 111: Endlos-Programmschleife (Loop, Endloop)

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

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.3 Zählschleife (FOR ... TO ..., ENDFOR) Funktion Die Zählschleife wird verwendet, wenn ein Arbeitsablauf mit einer festen Anzahl von Durchläufen wiederholt werden soll. Syntax FOR <Variable> = <Anfangswert> TO <Endwert> ENDFOR Bedeutung Leitet die Zählschleife ein. FOR: Markiert das Ende der Schleife und bewirkt Rücksprung auf den ENDFOR:...
  • Seite 113 Flexible NC-Programmierung 1.12 Kontrollstrukturen Beispiele Beispiel 1: INTEGER-Variable oder R-Parameter als Zählvariable INTEGER-Variable als Zählvariable: Programmcode Kommentar DEF INT iVARIABLE1 R10=R12-R20*R1 R11=6 FOR iVARIABLE1= R10 TO R11 ; Zählvariable = INTEGER-Variable R20=R21*R22+R33 ENDFOR R-Parameter als Zählvariable: Programmcode Kommentar R11=6 FOR R10=R12-R20*R1 TO R11 ;...
  • Seite 114: Programmschleife Mit Bedingung Am Schleifenanfang (While, Endwhile)

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

    Flexible NC-Programmierung 1.12 Kontrollstrukturen 1.12.5 Programmschleife mit Bedingung am Schleifenende (REPEAT, UNTIL) Funktion Bei einer REPEAT-Schleife steht die Bedingung am Schleifenende. Die REPEAT-Schleife wird einmal durchlaufen und solange wiederholt, bis die Bedingung erfüllt ist. Syntax REPEAT UNTIL <Bedingung> Bedeutung Leitet die Programmschleife ein. REPEAT: Markiert das Ende der Schleife und bewirkt Rücksprung auf den UNTIL:...
  • Seite 116: Programmbeispiel Mit Verschachtelten Kontrollstrukturen

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

    Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Funktion Kanäle Ein Kanal kann sein eigenes Programm, unabhängig von anderen Kanälen, abarbeiten. Damit sind die ihm zeitweise zugeordneten Achsen und Spindeln über das Programm steuerbar.
  • Seite 118 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Beispiel: bis SW 3: INIT(2,"/_N_WKS_DIR/_ABRICHT_MPF") Zwischen einem init-Befehl (ohne Synchronisation) und einem NC-Start muss G01F0.1 mindestens ein ausführbarer Satz stehen. START Bei Unterprogrammaufrufen muss "_SPF" in der Pfadangabe ergänzt werden INIT (2,"/_N_WKS_DIR/_N_UNTER_1_SPF") ●...
  • Seite 119 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) WAITMC (Marker-Nr., n, n, Setzen des Markers "Marker-Nr." im eigenen Kanal. Genauhalt wird nur eingeleitet, wenn die anderen Kanäle den Marker noch nicht erreicht haben. Warten auf den Marker mit der gleichen "Marker-Nr."...
  • Seite 120 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Kanalnummern Für die zu koordinierenden Kanäle können bis zu 10 Kanäle als Kanalnummer (Integerwert) angegeben werden. Kanalnamen Kanalnamen müssen über Variable (siehe Kapitel "Variable und Rechenparameter") in Nummern gewandelt werden oder anstelle von Kanalnummern können auch die über $MC_CHAN_NAME definierten Kanalnamen (Bezeichner oder Schlüsselwort) programmiert werden.
  • Seite 121: Beispiel Programmkoordinierung

    Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Beispiel Programmkoordinierung Kanal 1: _N_MPF100_MPF Programmcode Kommentar N10 INIT(2,"MPF200") N11 START(2) ; Bearbeiten im Kanal 2 N80 WAITM(1,1,2) ; Warten auf WAIT-Marke 1 im Kanal 1 und im Kanal 2 weiteres Bearbeiten in Kanal 1 N180 WAITM(2,1,2) ;...
  • Seite 122 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Beispiel: Programm aus Werkstück Programmcode N10 INIT(2,"/_N_WKS_DIR/_N_WELLE1_WPD/_N_ABSPAN1_MPF") Beispiel: INIT-Befehl mit relativer Pfadangabe Im Kanal 1 ist das Programm /_N_MPF_DIR/_N_MAIN_MPF angewählt Programmcode Kommentar N10 INIT(2,"MYPROG") ; Programm /_N_MPF_DIR/_N_MYPROG_MPF in Kanal 2 anwählen Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 123 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Beispiel: Kanalname und Kanalnummer mit Integer Variable $MC_CHAN_NAME[0]= "CHAN_X" ;Name des 1. Kanals $MC_CHAN_NAME[1]= "CHAN_Y" ;Name des 2. Kanals Programmcode Kommentar START(1, 2) ; Start im 1. und 2. Kanal ausführen Analog dazu Programmierung mit den Kanalbezeichnern: Programmcode Kommentar...
  • Seite 124: Interruptroutine (Asup)

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

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Ist das Unterprogramm abgearbeitet (und hierdurch die Betriebsbereitschaft hergestellt), springt die Steuerung in das Hauptprogramm zurück und setzt die Bearbeitung – je nach REPOS-Befehl – an der Unterbrechungsstelle fort (siehe " Wiederanfahren an Kontur (Seite 553) "). VORSICHT Wenn im Unterprogramm kein REPOS-Befehl programmiert ist, dann wird auf den Endpunkt des Satzes positioniert, der auf den unterbrochenen Satz folgt.
  • Seite 126: Interruptroutine Zuordnen Und Starten (Setint, Prio, Blsync)

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Beispiel: Programmcode PROC ABHEB_Z SAVE N10 ... N50 M17 Weitere Interruptroutinen zuordnen (SETINT) Innerhalb der Interruptroutine können SETINT-Anweisungen (siehe "Interruptroutine zuordnen und starten (SETINT)" (Seite 126)) programmiert und hierdurch weitere Interruptroutinen scharf geschaltet werden. Das Auslösen erfolgt erst durch den Eingang. Literatur Für weitere Informationen zur Erstellung von Unterprogrammen siehe Kapitel "Unterprogrammtechnik, Makrotechnik".
  • Seite 127 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Syntax SETINT(<n>) PRIO=<Wert> <NAME> SETINT(<n>) PRIO=<Wert> <NAME> BLSYNC SETINT(<n>) PRIO=<Wert> <NAME> LIFTFAST Bedeutung Befehl: Eingang <n> einer Interruptroutine zuordnen. Die zugeordnete SETINT(<n>): Interruptroutine startet, wenn Eingang <n> schaltet. Hinweis: Wird einem belegten Eingang eine neue Routine zugeordnet, ist die alte Zuordnung automatisch unwirksam.
  • Seite 128: Beispiele

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Beispiele Beispiel 1: Interruptroutinen zuordnen und Priorität festlegen Programmcode Kommentar N20 SETINT(3) PRIO=1 ABHEB_Z ; Wenn Eingang 3 schaltet, dann soll die Interruptroutine "ABHEB_Z" starten. N30 SETINT(2) PRIO=2 ABHEB_X ; Wenn Eingang 2 schaltet, dann soll die Interruptroutine "ABHEB_X"...
  • Seite 129: Zuordnung Einer Interruptroutine Deaktivieren/Reaktivieren (Disable, Enable)

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.4 Zuordnung einer Interruptroutine deaktivieren/reaktivieren (DISABLE, ENABLE) Funktion Eine SETINT-Anweisung kann mit DISABLE deaktiviert und mit ENABLE wieder aktiviert werden, ohne dass die Zuordnung Eingang → Interruptroutine verloren geht. Syntax DISABLE(<n>) ENABLE(<n>) Bedeutung Befehl: Deaktivieren der Interruptroutinen-Zuordnung von Eingang <n> DISABLE(<n>): Befehl: Reaktivieren der Interruptroutinen-Zuordnung von Eingang <n>...
  • Seite 130: Zuordnung Einer Interruptroutine Löschen (Clrint)

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

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.6 Schnellabheben von der Kontur (SETINT LIFTFAST, ALF) Funktion Bei einer SETINT-Anweisung mit LIFTFAST wird beim Schalten des Eingangs das Werkzeug durch schnelles Abheben von der Werkstückkontur weggefahren. Der weitere Ablauf ist davon abhängig, ob die SETINT-Anweisung neben LIFTFAST eine Interruptroutine enthält: Mit Interruptroutine: Nach dem Schnellabheben wird die Interruptroutine ausgeführt.
  • Seite 132: Bedeutung

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Bedeutung Befehl: Eingang <n> einer Interruptroutine zuordnen. Die zugeordnete SETINT(<n>): Interruptroutine startet, wenn Eingang <n> schaltet. <n>: Parameter: Nummer des Eingangs Typ: Wertebereich: 1 ... 8 PRIO= : Festlegung der Priorität Prioritätswert <Wert>: Wertebereich: 1 ... 128 Priorität 1 entspricht der höchsten Priorität.
  • Seite 133: Unterprogramm

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Beispiel Ein abgebrochenes Werkzeug soll automatisch durch ein Schwesterwerkzeug ersetzt werden. Die Bearbeitung wird dann mit dem neuen Werkzeug fortgesetzt. Hauptprogramm: Hauptprogramm Kommentar N10 SETINT(1) PRIO=1 W_WECHS LIFTFAST ; Wenn Eingang 1 schaltet, wird sofort das Werkzeug mit Schnellabheben (Code Nr.
  • Seite 134: Verfahrrichtung Beim Schnellabheben Von Der Kontur

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.7 Verfahrrichtung beim Schnellabheben von der Kontur Rückzugsbewegung Die Ebene der Rückzugsbewegung wird durch folgende G-Codes bestimmt: ● LFTXT Die Ebene der Rückzugsbewegung wird aus der Bahntangente und der Werkzeugrichtung bestimmt (Standardeinstellung). ● LFWP Die Ebene der Rückzugsbewegung ist die aktive Arbeitsebene, die mit den G-Codes G17, G18 oder G19 ausgewählt wird.
  • Seite 135 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Bezugsebene für die Beschreibung der Verfahrrichtungen bei LFTXT Im Eingriffspunkt des Werkzeugs an der programmierten Kontur wird eine Ebene aufgespannt, die als Bezug für die Angabe der Abhebebewegung mit der entsprechenden Code-Nummer dient. Die Bezugsebene wird aufgespannt aus der Werkzeuglängsachse (Zustellrichtung) und einem Vektor, der zu dieser und senkrecht zur Tangente im Eingriffspunkt des Werkzeugs an der Kontur steht.
  • Seite 136 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Code-Nummern mit Verfahrrichtungen bei LFTXT Ausgehend von der Bezugsebene finden Sie in folgender Abbildung die Code-Nummern mit Verfahrrichtungen. Für ALF=1 ist der Rückzug in Werkzeugrichtung festgelegt. Mit ALF=0 ist die Funktion "Schnellabheben" ausgeschaltet. VORSICHT Bei eingeschalteter Werkzeugradiuskorrektur sollten: •...
  • Seite 137: Bewegungsablauf Bei Interruptroutinen

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

    Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Funktion Eine oder mehrere Achsen bzw. Spindeln können immer nur in einem Kanal interpoliert werden. Muss eine Achse wechselweise in zwei verschiedenen Kanälen arbeiten (z. B. Palettenwechsler), so muss sie zunächst im aktuellen Kanal freigegeben und dann in den anderen Kanal übernommen werden.
  • Seite 139 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Bedeutung Freigeben der Achse(n) RELEASE (Achsname, Achsname, …): Übernehmen der Achse(n) GET (Achsname, Achsname, …): Direktes Übernehmen der Achse(n) GETD (Achsname, Achsname, …): Achszuordnung im System: AX1, AX2, … Achsname: oder Angabe der Maschinenachsnamen RELEASE(S1) : Freigeben der Spindel S1, S2, …...
  • Seite 140 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Beispiele Beispiel 1: Achstausch zwischen zwei Kanälen Von 6 Achsen werden in Kanal 1 zur Bearbeitung benutzt: 1., 2., 3. und 4. Achse. 5. und 6. Achse werden in Kanal 2 zum Werkstückwechsel benutzt. Achse 2 soll zwischen beiden Kanälen getauscht werden können und nach POWER ON dem Kanal 1 zugeordnet sein.
  • Seite 141 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Beispiel 2: Achstausch ohne Synchronisierung Wenn die Achse nicht synchronisiert werden muss, wird durch GET kein Vorlaufstopp erzeugt. Programmierung Kommentar N01 G0 X0 N02 RELEASE(AX5) N03 G64 X10 N04 X20 N05 GET(AX5) ;...
  • Seite 142 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Voraussetzung 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. Beschreibung Achse freigeben: RELEASE Bei der Achsfreigabe ist zu beachten:...
  • Seite 143 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Automatisches "GET" Wenn eine Achse prinzipiell im Kanal verfügbar, jedoch derzeitig nicht als "Kanal-Achse" vorhanden ist, wird automatisch ein GET ausgeführt. Falls die Achse(n) schon synchronisiert ist (sind), wird kein Vorlaufstopp erzeugt. Achstauschverhalten veränderbar einstellen Der Abgabezeitpunkt von Achsen lässt sich über ein Maschinendatum wie folgt einstellen: ●...
  • Seite 144: Achse Einem Anderen Kanal Übergeben (Axtochan)

    Flexible NC-Programmierung 1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) 1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) Funktion Mit dem Sprachbefehl AXTOCHAN kann eine Achse angefordert werden, um diese Achse einem anderen Kanal zu übergeben. Die Achse kann sowohl vom NC-Teileprogramm als auch aus einer Synchronaktion heraus in den entsprechenden Kanal gebracht werden.
  • Seite 145 Flexible NC-Programmierung 1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) Beispiel AXTOCHAN im NC-Programm Die Achsen X und Y sind im 1. Kanal und im 2. Kanal bekannt. Aktuell hat der Kanal 1 das Interpolationsrecht und im Kanal 1 wird folgendes Programm gestartet: Programmcode Kommentar N110 AXTOCHAN(Y,2)
  • Seite 146: Maschinendaten Wirksam Setzen (Newconf)

    Flexible NC-Programmierung 1.17 Maschinendaten wirksam setzen (NEWCONF) 1.17 Maschinendaten wirksam setzen (NEWCONF) Funktion Mit dem Befehl NEWCONF werden alle Maschinendaten der Wirksamkeitsstufe "NEW_CONFIG" wirksam gesetzt. Die Funktion kann auch in der Bedienoberfläche HMI durch Betätigen des Softkeys "MD wirksam setzen" aktiviert werden. Bei der Ausführung der Funktion "NEWCONF"...
  • Seite 147: Datei Schreiben (Write)

    Eine per WRITE-Befehl zu beschreibende Datei wird neu angelegt, wenn sie nicht in der NC existiert. Ablageort ist der statische NC-Speicher. Bei SINUMERIK 840D sl ist dies die CompactFlash Card. Gegenüber SINUMERIK 840D erhöht sich dadurch die Laufzeit des WRITE-Befehls um ca. 75 ms.
  • Seite 148 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Bedeutung Befehl zum Anfügen eines Satzes bzw. von Daten an das Ende der WRITE: angegebenen Datei Variable für die Rückgabe des Fehlerwerts <Fehler>: Typ. Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden Datei nicht gefunden falscher Dateityp Datei ist voll Datei wird benutzt...
  • Seite 149 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Name der Datei, in der der angegebene Satz bzw. die angegebenen <Dateiname>: Daten angefügt werden sollen Typ: STRING Bei der Angabe des Dateinamens sind folgende Punkte zu beachten: • Der angegebene Dateiname darf keine Leer- oder Steuerzeichen (Zeichen mit ASCII-Code ≤...
  • Seite 150 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Randbedingungen ● Maximale Dateigröße (→ Maschinenhersteller!) Die maximal mögliche Dateigröße von Protokolldateien wird eingestellt mit dem Maschinendatum: MD11420 $MN_LEN_PROTOCOL_FILE Die maximale Dateigröße gilt für alle Dateien, die mit dem WRITE-Befehl angelegt werden. Bei Überschreitung wird eine Fehlermeldung ausgegeben und der Satz bzw. die Daten werden nicht abgespeichert.
  • Seite 151: Datei Löschen (Delete)

    Flexible NC-Programmierung 1.19 Datei löschen (DELETE) 1.19 Datei löschen (DELETE) Funktion Mit dem DELETE-Befehl können alle Dateien gelöscht werden, egal, ob diese per WRITE- Befehl entstanden sind oder nicht. Auch Dateien, die unter höherer Zugriffsstufe erstellt wurden, können mit DELETE gelöscht werden. Syntax DEF INT <Fehler>...
  • Seite 152 Flexible NC-Programmierung 1.19 Datei löschen (DELETE) Name der zu löschenden Datei <Dateiname>: Typ: STRING Bei der Angabe des Dateinamens sind folgende Punkte zu beachten: • Der angegebene Dateiname darf keine Leer- oder Steuerzeichen (Zeichen mit ASCII-Code ≤ 32) enthalten, da sonst der DELETE-Befehl mit Fehlerkennung 1 "Pfad nicht erlaubt"...
  • Seite 153: Zeilen In Datei Lesen (Read)

    Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) 1.20 Zeilen in Datei lesen (READ) Funktion Der READ-Befehl liest in der angegebenen Datei eine oder mehrere Zeilen und legt die gelesenen Informationen in einem Feld vom Typ STRING ab. Jede gelesene Zeile belegt in diesem Feld ein Feldelement.
  • Seite 154 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) Bedeutung Befehl zum Lesen von Zeilen der angegebenen Datei und zur READ: Ablage dieser Zeilen in einem Variablenfeld. Variable für die Rückgabe des Fehlerwerts (Call-By-Reference- <Fehler>: Parameter) Typ. Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden Datei nicht gefunden falscher Dateityp...
  • Seite 155 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) Name der zu lesenden Datei (Call-By-Value-Parameter) <Dateiname>: Typ: STRING Bei der Angabe des Dateinamens sind folgende Punkte zu beachten: • Der angegebene Dateiname darf keine Leer- oder Steuerzeichen (Zeichen mit ASCII-Code ≤ 32) enthalten, da sonst der READ- Befehl mit Fehlerkennung 1 "Pfad nicht erlaubt"...
  • Seite 156 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) Anfangszeile des zu lesenden Dateibereichs (Call-By-Value- <Anfangszeile>: Parameter) Typ: Wert: Es werden die mit dem Parameter <Zeilenanzahl> angegebene Anzahl an Zeilen vor dem Dateiende gelesen. 1 … n Nummer der ersten zu lesenden Zeile. Anzahl der zu lesenden Zeilen (Call-By-Value-Parameter) <Zeilenanzahl>: Typ:...
  • Seite 157: Vorhandensein Einer Datei Prüfen (Isfile)

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

    Flexible NC-Programmierung 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) Funktion Über die Befehle FILEDATE, FILETIME, FILESIZE, FILESTAT und FILEINFO können bestimmte Datei-Informationen wie Datum / Uhrzeit des letzten schreibenden Zugriffs, aktuelle Dateigröße, Datei-Status oder die Summe dieser Informationen ausgelesen werden. Hinweis Die Datei muss sich im statischen Anwenderspeicher des NCK (Passives Filesystem) befinden.
  • Seite 160 Flexible NC-Programmierung 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) Variable für die Rückgabe des Fehlerwerts (Call-By-Reference- <Fehler>: Parameter) Typ. Wert: kein Fehler Pfad nicht erlaubt Pfad nicht gefunden Datei nicht gefunden falscher Dateityp Zugriffsrechte nicht ausreichend Stringlänge der Ergebnisvariablen (<Ergebnis>) ist zu klein.
  • Seite 161 Flexible NC-Programmierung 1.22 Datei-Informationen auslesen (FILEDATE, FILETIME, FILESIZE, FILESTAT, FILEINFO) Ergebnisvariable (Call-By-Reference-Parameter) <Ergebnis>: Variable, in der die angeforderte Datei-Information abgelegt wird. FILEDATE Typ: STRING bei: Format: "dd.mm.yy" ⇒ Stringlänge muss 8 sein. FILETIME Format: " hh:mm.ss " ⇒ Stringlänge muss 8 sein. FILESTAT Format: "rwxsd"...
  • Seite 162: Checksummenberechnung Über Ein Feld (Checksum)

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

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

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

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

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Verwendung des Programmnamens Bei der Verwendung des Programmnamens, z. B. bei einem Unterprogrammaufruf, sind alle Kombinationen von Prefix, Programmnamen und Postfix möglich. Beispiel: Das Unterprogramm mit dem Programmnamen "SUB_PROG" kann über folgende Aufrufe gestartet werden: 1. SUB_PROG 2.
  • Seite 168 Programmebene 13 belegt. Erfolgt dann ein Interrupt, stehen diesem die benötigten 4 Programmebenen (14 bis 17) zur Verfügung. Siemens-Zyklen Siemens-Zyklen benötigen 3 Programmebenen. Der Aufruf eines Siemens-Zyklus muss daher spätestens erfolgen in: ● Teileprogrammbearbeitung: Programmebene 12 ●...
  • Seite 169: Suchpfad

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.1.4 Suchpfad Beim Aufruf eines Unterprogramms ohne Pfadangabe sucht die Steuerung in der angegebenen Reihenfolge in folgenden Verzeichnissen: Reihenfolge Verzeichnis Beschreibung Aktuelles Verzeichnis Verzeichnis des aufrufenden Programms /_N_SPF_DIR / Globales Unterprogrammverzeichnis /_N_CUS_DIR / Anwender-Zyklen /_N_CMA_DIR / Hersteller-Zyklen /_N_CST_DIR / Standard-Zyklen...
  • Seite 170: Definition Eines Unterprogramms Mit Parameterübergabe

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Aktualparameter Beim Aufruf eines Unterprogramms müssen dem Unterprogramm absolute Werte oder Variablen, die sogenannten Aktualparameter, übergeben werden. Die Aktualparameter befüllen somit beim Aufruf die Schnittstelle des Unterprogramms mit aktuellen Werten. Beispiel: Programmcode Kommentar N10 DEF REAL BREITE ;...
  • Seite 171 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hauptprogramm: Programmcode Kommentar PROC MAIN_PROG N30 SUB_PROG(1.0,2.0,3.0) ; Unterprogrammaufruf mit vollständiger Parameterübergabe: X=1.0, Y=2.0, Z=3.0 … N100 M30 Beispiele für den Unterprogrammaufruf in N30 mit unvollständiger Parameterübergabe: N30 SUB_PROG( ,2.0,3.0) ; X=0.0, Y=2.0, Z=3.0 N30 SUB_PROG(1.0, ,3.0) ;...
  • Seite 172: Überprüfung Der Übergabeparameter

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Überprüfung der Übergabeparameter Über die Systemvariable $P_SUBPAR [ n ] mit n = 1, 2, ... kann im Unterprogramm überprüft werden, ob ein Parameter explizit übergeben oder weggelassen wurde. Der Index n bezieht sich auf die Reihenfolge der Formalparameter. Index n = 1 bezieht sich auf den 1.
  • Seite 173: Definition Eines Unterprogramms

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

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.2 Unterprogramm mit Parameterübergabe Call-by-Value (PROC) Funktion Die Definition eines Unterprogramms mit Parameterübergabe Call-by-Value erfolgt mit dem Schlüsselwort PROC, gefolgt vom Programmnamen und einer vollständigen Auflistung aller vom Unterprogramm erwarteten Parameter mit Typ und Namen. Die Definitionsanweisung muss in der ersten Programmzeile stehen.
  • Seite 175 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax PROC <Programmname> (<Parametertyp> <Parametername>, ...) Bedeutung Definitionsanweisung am Anfang eines Programms PROC: Name des Programms <Programmname>: Datentyp des Parameters (z. B. REAL, INT, BOOL) <Parametertyp>: Name des Parameters <Parametername>: ACHTUNG Der nach dem Schlüsselwort PROC angegebene Programmname muss mit dem an der Bedienoberfläche vergebenen Programmnamen übereinstimmen.
  • Seite 176: Unterprogramm Mit Parameterübergabe Call-By-Reference (Proc, Var)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.3 Unterprogramm mit Parameterübergabe Call-by-Reference (PROC, VAR) Funktion Die Definition eines Unterprogramms mit Parameterübergabe Call-by-Reference erfolgt mit dem Schlüsselwort PROC, gefolgt vom Programmnamen und einer vollständigen Auflistung aller vom Unterprogramm erwarteten Parameter mit Schlüsselwort VAR, Typ und Namen. Die Definitionsanweisung muss in der ersten Programmzeile stehen.
  • Seite 177 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hinweis Eine Parameterübergabe Call-by-Reference ist nur dann erforderlich, wenn die übergebene Variable im aufrufenden Programm definiert wurde (LUD). Kanal-globale oder NC-globale Variablen müssen nicht übergeben werden, da auf diese auch direkt vom Unterprogramm aus zugegriffen werden kann. Syntax PROC <Programmname>...
  • Seite 178: Modale G-Funktionen Sichern (Save)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hinweis Mit Feldern unbestimmter Feldlänge als Formalparameter können Unterprogramme Felder variabler Länge bearbeiten. Dazu wird bei der Definition z. B. eines zweidimensionalen Feldes als Formalparameter die Länge der 1. Dimension nicht angegeben. Das Komma aber muss geschrieben werden. Beispiel: PROC <Programmname>...
  • Seite 179 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Bedeutung Sichern der modalen G-Funktionen vor dem Unterprogrammaufruf und SAVE: Wiederherstellen 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 180: Einzelsatzbearbeitung Unterdrücken (Sblof, Sblon)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.5 Einzelsatzbearbeitung unterdrücken (SBLOF, SBLON) Funktion Einzelsatzunterdrückung für das gesamte Programm Mit SBLOF gekennzeichnete Programme werden bei aktiver Einzelsatzbearbeitung wie ein Satz komplett abgearbeitet, d. h. für das gesamte Programm wird die Einzelsatzbearbeitung unterdrückt. 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:...
  • Seite 181 Flexible NC-Programmierung 1.25 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 182 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 2: Zyklus soll für den Anwender wie ein Befehl wirken Hauptprogramm: Programmcode N10 G1 X10 G90 F200 N20 X-4 Y6 N30 CYCLE1 N40 G1 X0 N50 M30 Zyklus CYCLE1: Programmcode Kommentar N100 PROC CYCLE1 DISPLOF SBLOF ;...
  • Seite 183 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 3: Ein von der PLC gestartetes ASUP zum Aktivieren von geänderten Nullpunktverschiebung und Werkzeugkorrekturen soll nicht sichtbar sein. Programmcode N100 PROC NV SBLOF DISPLOF N110 CASE $P_UIFRNUM OF 0 GOTOF _G500 1 GOTOF _G54 2 GOTOF _G55 3 GOTOF _G56 4 GOTOF _G57 DEFAULT GOTOF END...
  • Seite 184 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 4: Mit MD10702 Bit 12 = 1 wird nicht angehalten Ausgangssituation: ● Einzelsatzbearbeitung ist aktiv. ● MD10702 $MN_IGNORE_SINGLEBLOCK_MASK Bit12 = 1 Hauptprogramm: Programmcode Kommentar N10 G0 X0 ; In dieser Teileprogrammzeile stoppen. N20 X10 ; In dieser Teileprogrammzeile stoppen. N30 CYCLE ;...
  • Seite 185 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 5: Einzelsatzunterdrückung bei Programmschachtelung Ausgangssituation: Einzelsatzbearbeitung ist aktiv. Programmverschachtelung: Programmcode Kommentar N10 X0 F1000 ; In diesem Satz wird gestoppt. N20 UP1(0) PROC UP1(INT _NR) SBLOF ; Einzelsatz-Stopp unterdrücken. N100 X10 N110 UP2(0) PROC UP2(INT _NR) N200 X20 N210 SBLON ;...
  • Seite 186 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Weitere Informationen Einzelsatzsperre für asynchrone Unterprogramme Um ein ASUP im Einzelsatz in einem Schritt abzuarbeiten, muss im ASUP eine PROC- Anweisung mit SBLOF programmiert werden. Dies gilt auch für die Funktion "Editierbares System-ASUP" (MD11610 $MN_ASUP_EDITABLE). Beispiel für ein editierbares System-ASUP: Programmcode Kommentar N10 PROC ASUP1 SBLOF DISPLOF...
  • Seite 187: Aktuelle Satzanzeige Unterdrücken (Displof, Displon, Actblocno)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.6 Aktuelle Satzanzeige unterdrücken (DISPLOF, DISPLON, ACTBLOCNO) Funktion In der Satzanzeige wird standardmäßig der aktuelle Programmsatz angezeigt. In Zyklen bzw. Unterprogrammen kann die Anzeige des aktuellen Satzes mit dem Befehl DISPLOF unterdrückt werden. Anstelle des aktuellen Satzes wird dann der Aufruf des Zyklus bzw. Unterprogramms angezeigt.
  • Seite 188 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Befehl zum Aufheben der Unterdrückung der aktuellen Satzanzeige DISPLON: Platzierung: Am Ende der Programmzeile mit der PROC-Anweisung Wirksamkeit: Bis zum Rücksprung aus dem Unterprogramm oder Programmende. Hinweis: Wenn aus dem Unterprogramm mit dem DISPLON-Befehl weitere Unterprogramme aufgerufen werden, dann wird auch in diesen Unterprogrammen der aktuelle Programmsatz angezeigt, sofern in diesen nicht explizit DISPLOF programmiert ist.
  • Seite 189 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 2: Satzanzeige bei der Alarmausgabe Unterprogramm SUBPROG1 (mit ACTBLOCNO): Programmcode Kommentar PROC SUBPROG1 DISPLOF ACTBLOCNO N8000 R10 = R33 + R44 N9040 R10 = 66 X100 ; Alarm 12080 auslösen N10000 M17 Unterprogramm SUBPROG2 (ohne ACTBLOCNO): Programmcode Kommentar PROC SUBPROG2 DISPLOF...
  • Seite 190 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 3: Unterdrückung der aktuellen Satzanzeige aufheben Unterprogramm SUB1 mit Unterdrückung: Programmcode Kommentar PROC SUB1 DISPLOF ; Aktuelle Satzanzeige im Unterprogramm SUB1 unterdrücken. Stattdessen soll der Satz mit dem SUB1-Aufruf angezeigt werden. N300 SUB2 ; Unterprogramm SUB2 aufrufen. N500 M17 Unterprogramm SUB2 ohne Unterdrückung: Programmcode...
  • Seite 191 Flexible NC-Programmierung 1.25 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. ④...
  • Seite 192: Unterprogramme Mit Vorbereitung Kennzeichnen (Prepro)

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

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

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 2. Unterprogramm mit M17 im letzten Verfahrsatz Programmcode Kommentar N10 G64 F2000 G91 X10 Y10 N20 X10 Z10 M17 ; Rücksprung ohne Unterbrechung des Bahnsteuerbetriebs. 1.25.2.9 Unterprogrammrücksprung RET Funktion Als Ersatz für den Rücksprungsbefehl M17 kann im Unterprogramm auch der Befehl RET verwendet werden.
  • Seite 195: Parametrierbarer Unterprogrammrücksprung (Ret

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Hauptprogramm: Programmcode Kommentar PROC MAIN_PROGRAM ; Programmanfang N50 SUB_PROG ; Unterprogrammaufruf: SUB_PROG N60 ... N100 M30 ; Programmende Unterprogramm: Programmcode Kommentar PROC SUB_PROG N100 RET ; Rücksprung erfolgt auf Satz N60 im Hauptprogramm. 1.25.2.10 Parametrierbarer Unterprogrammrücksprung (RET ...) Funktion Im Allgemeinen wird aus einem Unterprogramm mit einem Unterprogrammende RET oder M17 in das Programm zurückgesprungen, aus dem das Unterprogramm aufgerufen wurde,...
  • Seite 196 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax RET("<Zielsatz>") RET("<Zielsatz>",<Satz nach Zielsatz>) RET("<Zielsatz>",<Satz nach Zielsatz>,<Anzahl der Rücksprungebenen>) RET("<Zielsatz>", ,<Anzahl der Rücksprungebenen>) RET("<Zielsatz>",<Satz nach Zielsatz>,<Anzahl der Rücksprungebenen>, <Rücksprung auf Programmanfang>) RET( , ,<Anzahl der Rücksprungebenen>,<Rücksprung auf Programmanfang>) Bedeutung Unterprogrammende (Verwendung statt M17) RET: Rücksprungsparameter 1 <Zielsatz>: Nennt als Sprungziel den Satz, an dem die Programmbearbeitung fortgesetzt werden soll.
  • Seite 197 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Rücksprungsparameter 2 <Satz nach Zielsatz>: Bezieht sich auf den Rücksprungsparameter 1. Typ: Wert: Rücksprung erfolgt auf den Satz, der mit dem Rücksprungsparameter 1 angegeben wurde. > 0 Rücksprung erfolgt auf den Satz, der auf den mit dem Rücksprungsparameter 1 angegeben Satz folgt.
  • Seite 198 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hinweis Bei einem Unterprogrammrücksprung mit einer Zeichenkette als Angabe für die Zielsatzsuche wird im aufrufenden Programm immer zuerst nach einer Sprungmarke gesucht. Wenn ein Sprungziel durch eine Zeichenkette eindeutig definiert sein soll, darf die Zeichenkette daher nicht mit dem Namen einer Sprungmarke übereinstimmen, da sonst der Unterprogrammrücksprung immer auf die Sprungmarke und nicht auf die Zeichenkette ausgeführt wird (siehe Beispiel 2).
  • Seite 199 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiele Beispiel 1: Wiederaufsetzen im Hauptprogramm nach ASUP-Bearbeitung Programmierung Kommentar N10010 CALL "UP1" ; Programmebene 0 (Hauptprogramm) N11000 PROC UP1 ; Programmebene 1 N11010 CALL "UP2" N12000 PROC UP2 ; Programmebene 2 N19000 PROC ASUP ; Programmebene 3 (ASUP-Bearbeitung) N19100 RET("N10900", ,$P_STACK) ;...
  • Seite 200 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Unterprogramm subProg1: Programmcode Kommentar PROC subProg1 N2000 R10=R20+100 N2010 ... N2200 RET("subProg2") ; Rücksprung ins Hauptprogramm auf den Satz N1400 Unterprogramm subProg2: Programmcode Kommentar PROC subProg2 N2000 R10=R20+100 N2010 ... N2200 RET("iVar1") ; Rücksprung ins Hauptprogramm auf den Satz N1500 Unterprogramm subProg3: Programmcode Kommentar...
  • Seite 201 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Weitere Informationen Die folgenden Grafiken sollen die unterschiedlichen Wirkungen der Rücksprungsparameter 1 bis 3 veranschaulichen. 1. Rücksprungsparameter 1 = "N200", Rücksprungsparameter 2 = 0 Nach dem RET-Befehl wird die Programmbearbeitung mit dem Satz N200 im Hauptprogramm fortgesetzt. Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 202 Flexible NC-Programmierung 1.25 Unterprogrammtechnik 2. Rücksprungsparameter 1 = "N200", Rücksprungsparameter 2 = 1 Nach dem RET-Befehl wird die Programmbearbeitung mit dem Satz (N210) fortgesetzt, der auf den Satz N200 im Hauptprogramm folgt. 3. Rücksprungsparameter 1 = "N220", Rücksprungsparameter 3 = 2 Nach dem RET-Befehl wird zwei Programmebenen zurückgesprungen und die Programmbearbeitung wird mit dem Satz N220 fortgesetzt.
  • Seite 203: Aufruf Eines Unterprogramms

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3 Aufruf eines Unterprogramms 1.25.3.1 Unterprogrammaufruf ohne Parameterübergabe Funktion Der Aufruf eines Unterprogramms erfolgt entweder mit Adresse L und Unterprogrammnummer oder durch Angabe des Programmnamens. Auch ein Hauptprogramm kann als Unterprogramm aufgerufen werden. Das im Hauptprogramm gesetzte Programmende M2 oder M30 wird in diesem Fall wie M17 (Programmende mit Rücksprung ins aufrufende Programm) gewertet.
  • Seite 204 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Bedeutung Adresse für den Unterprogrammaufruf Nummer des Unterprogramms <Nummer>: Typ: Wert: Maximal 7 Dezimalstellen Achtung: Führende Nullen sind bei der Namensgebung von Bedeutung (⇒ L123, L0123 und L00123 sind drei verschiedene Unterprogramme). Name des Unterprogramms (oder Hauptprogramms) <Programmname>: Beispiele Beispiel 1: Aufruf eines Unterprogramms ohne Parameterübergabe...
  • Seite 205: Unterprogrammaufruf Mit Parameterübergabe (Extern)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 2: Aufruf eines Hauptprogramms als Unterprogramm 1.25.3.2 Unterprogrammaufruf mit Parameterübergabe (EXTERN) Funktion Beim Unterprogrammaufruf mit Parameterübergabe können Variablen oder Werte direkt übergeben werden (nicht bei VAR-Parametern). Unterprogramme mit Parameterübergabe müssen vor dem Aufruf im Hauptprogramm mit EXTERN bekannt gemacht werden (z.
  • Seite 206 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax EXTERN <Programmname>(<Typ_Par1>,<Typ_Par2>,<Typ_Par3>) <Programmname>(<Wert_Par1>,<Wert_Par2>,<Wert_Par3>) VORSICHT Der Unterprogrammaufruf muss immer im eigenen NC-Satz programmiert werden. Bedeutung Name des Unterprogramms <Programmname>: Schlüsselwort für die Bekanntmachung EXTERN: eines Unterprogramms mit Parameterübergabe Hinweis: EXTERN muss nur dann angegeben werden, wenn das Unterprogramm im Werkstück- oder im globalen Unterprogrammverzeichnis steht.
  • Seite 207 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiele Beispiel 1: Unterprogrammaufruf mit vorhergehender Bekanntmachung Programmcode Kommentar N10 EXTERN RAHMEN(REAL,REAL,REAL) ; Angabe des Unterprogramms. N40 RAHMEN(15.3,20.2,5) ; Aufruf des Unterprogramms mit Parameterübergabe. Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 208: Anzahl Der Programmwiederholungen (P)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel 2: Unterprogrammaufruf ohne Bekanntmachung Programmcode Kommentar N10 DEF REAL LAENGE, BREITE, TIEFE N20 … N30 LAENGE=15.3 BREITE=20.2 TIEFE=5 N40 RAHMEN(LAENGE,BREITE,TIEFE) ; oder: N40 RAHMEN(15.3,20.2,5) 1.25.3.3 Anzahl der Programmwiederholungen (P) Funktion Soll ein Unterprogramm mehrfach hintereinander abgearbeitet werden, kann im Satz mit dem Unterprogrammaufruf unter der Adresse P die gewünschte Anzahl der Programmwiederholungen programmiert werden.
  • Seite 209 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax <Programmname> P<Wert> Bedeutung Unterprogrammaufruf <Programmname>: Adresse für die Programmierung von Programmwiederholungen Anzahl der Programmwiederholungen <Wert>: Typ: Wertebereich: 1 … 9999 (ohne Vorzeichen) Beispiel Programmcode Kommentar N40 RAHMEN P3 ; Das Unterprogramm RAHMEN soll dreimal hintereinander abgearbeitet werden.
  • Seite 210: Modaler Unterprogrammaufruf (Mcall)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.4 Modaler Unterprogrammaufruf (MCALL) Funktion Bei einem modalen Unterprogrammaufruf mit MCALL wird das Unterprogramm nach jedem Satz mit Bahnbewegung automatisch aufgerufen und abgearbeitet. Hierdurch lässt sich der Aufruf von Unterprogrammen automatisieren, die an unterschiedlichen Werkstückpositionen abgearbeitet werden sollen (zum Beispiel für die Herstellung von Bohrbildern). Das Ausschalten der Funktion erfolgt mit MCALL ohne Unterprogrammaufruf oder durch Programmierung eines neuen modalen Unterprogrammaufrufs für ein neues Unterprogramm.
  • Seite 211 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiele Beispiel 1: Programmcode Kommentar N10 G0 X0 Y0 N20 MCALL L70 ; Modaler Unterprogrammaufruf. N30 X10 Y10 ; Die programmierte Position wird angefahren und anschließend das Unterprogramm L70 abgearbeitet. N40 X50 Y50 ; Die programmierte Position wird angefahren und anschließend das Unterprogramm L70 abgearbeitet.
  • Seite 212: Indirekter Unterprogrammaufruf (Call)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.5 Indirekter Unterprogrammaufruf (CALL) Funktion In Abhängigkeit von den gegebenen Bedingungen können an einer Stelle unterschiedliche Unterprogramme aufgerufen werden. Hierzu wird der Name des Unterprogramms in einer Variablen vom Typ STRING hinterlegt. Der Unterprogrammaufruf erfolgt mit CALL und dem Variablennamen.
  • Seite 213 Flexible NC-Programmierung 1.25 Unterprogrammtechnik 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 … DEF STRING[100] PROGNAME ; Variable definieren. PROGNAME="/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF" ; Unterprogramm TEIL1 der Variablen PROGNAME zuordnen.
  • Seite 214: Indirekter Unterprogrammaufruf Mit Angabe Des Auszuführenden Programmteils (Call Block

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.6 Indirekter Unterprogrammaufruf mit Angabe des auszuführenden Programmteils (CALL BLOCK ... TO ...) Funktion Mit CALL und der Schlüsselwortkombination BLOCK ... TO wird ein Unterprogramm indirekt aufgerufen und der mit Start- und Endmarke gekennzeichnete Programmteil ausgeführt. Syntax CALL <Programmname>...
  • Seite 215 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Hauptprogramm: Programmcode Kommentar DEF STRING[20] STARTLABEL, ENDLABEL ; Variablendefinition für die Start- und Endmarke. STARTLABEL="LABEL_1" ENDLABEL="LABEL_2" CALL "CONTUR_1" BLOCK STARTLABEL TO ENDLABEL ; Indirekter Unterprogrammaufruf und Kennzeichnung des auszuführenden Programmteils. Unterprogramm: Programmcode Kommentar PROC CONTUR_1 ... LABEL_1 ;...
  • Seite 216: Indirekter Aufruf Eines In Iso-Sprache Programmierten Programms (Isocall)

    Programm aufgerufen werden. Dabei wird der in den Maschinendaten eingestellte ISO- Modus aktiviert. Am Programmende wird wieder der ursprüngliche Bearbeitungsmodus wirksam. Ist in den Maschinendaten kein ISO-Modus eingestellt, erfolgt der Aufruf des Unterprogramms im Siemens-Modus. Weitere Informationen zum ISO-Modus siehe: Literatur:...
  • Seite 217: Unterprogramm Mit Pfadangabe Und Parametern Aufrufen (Pcall)

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

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.9 Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH) Funktion Mit dem Befehl CALLPATH kann der Suchpfad für Unterprogrammaufrufe erweitert werden. Damit können auch Unterprogramme aus einem nicht ausgewählten Werkstückverzeichnis aufgerufen werden, ohne den vollständigen, absoluten Pfadnamen des Unterprogramms anzugeben.
  • Seite 219 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Programmcode CALLPATH("/_N_WKS_DIR/_N_MYWPD_WPD") Damit wird folgender Suchpfad eingestellt (Position 5. ist neu): 1. Aktuelles Directory/unterprogrammbezeichner 2. Aktuelles Directory/unterprogrammbezeichner_SPF 3. Aktuelles Directory/unterprogrammbezeichner_MPF 4. /_N_SPF_DIR/unterprogrammbezeichner_SPF 5. /_N_WKS_DIR/_N_MYWPD/unterprogrammbezeichner_SPF 6. /N_CUS_DIR/_N_MYWPD/unterprogrammbezeichner_SPF 7. /_N_CMA_DIR/unterprogrammbezeichner_SPF 8. /_N_CST_DIR/unterprogrammbezeichner_SPF Randbedingungen ● CALLPATH prüft, ob der programmierte Pfadname tatsächlich vorhanden ist. Im Fehlerfall wird die Teileprogrammbearbeitung mit Korrektursatz-Alarm 14009 abgebrochen.
  • Seite 220: Externes Unterprogramm Abarbeiten (Extcall)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.10 Externes Unterprogramm abarbeiten (EXTCALL) Funktion Mit EXTCALL können Sie ein Programm vom HMI im Modus "Abarbeiten von Extern" nachladen. Dabei können alle Programme, die über die Verzeichnis-Struktur des HMI erreichbar sind, nachgeladen und abgearbeitet werden. Syntax EXTCALL("<Pfad/Programmname>") Bedeutung...
  • Seite 221 Flexible NC-Programmierung 1.25 Unterprogrammtechnik RESET, POWER ON Durch RESET und POWER ON werden externe Unterprogrammaufrufe abgebrochen und die jeweiligen Nachladespeicher gelöscht. Ein für "Abarbeiten von Extern" selektiertes Unterprogramm bleibt über RESET / Teileprogrammende weiterhin für "Abarbeiten von Extern" angewählt. Durch POWER ON geht die Anwahl verloren.
  • Seite 222 Flexible NC-Programmierung 1.25 Unterprogrammtechnik 2. Abarbeiten vom Netzlaufwerk Systeme: SINUMERIK solution line / powerline mit HMI sl / HMI Advanced / HMI Embedded Das nachzuladende Programm "Kontur2.spf" befindet sich auf dem Netzlaufwerk im Verzeichnis "\\R4711\Werkstücke". Programmcode N... EXTCALL("\\R4711\Werkstücke\Kontur2.spf") Angabe eines externen Programmpfades Der Pfad zum externen Unterprogrammverzeichnis kann voreingestellt werden mit dem Settingdatum: SD42700 $SC_EXT_PROG_PATH...
  • Seite 223 Flexible NC-Programmierung 1.25 Unterprogrammtechnik ● Wurde das aufgerufene Unterprogramm auf dem aktuell durchsuchten Programmspeicher (z. B. CompactFlash Card) nicht gefunden, wird der nächste Programmspeicher (z. B. Netzlaufwerk) gemäß Punkt 1 und 2 durchsucht. ● Die Suche endet, wenn das Unterprogramm erstmalig gefunden wurde. Sollte die Suche keinen Treffer ergeben, kommt es zum Programmabbruch.
  • Seite 224 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hinweis Abarbeiten von Extern über V24-Schnittstelle bei SINUMERIK powerline Mit HMI Embedded können mit dem Softkey "Abarbeiten von Extern" externe Programme über die V24-Schnittstelle in die NC übertragen werden. Einstellbarer Nachladespeicher (FIFO-Puffer) Für die Bearbeitung eines Programms im Modus "Abarbeiten von Extern" (Hauptprogramm oder Unterprogramm) wird im NCK ein Nachladespeicher benötigt.
  • Seite 225: Zyklen

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.4 Zyklen 1.25.4.1 Zyklen: Anwenderzyklen parametrieren Funktion Mit den Dateien cov.com und uc.com können eigene Zyklen parametriert werden. Die Datei cov.com wird mit den Standardzyklen geliefert und ist entsprechend zu erweitern. Die Datei uc.com ist vom Anwender selbst zu erstellen. Beide Dateien sind im passiven Filesystem in das Verzeichnis "Anwenderzyklen"...
  • Seite 226 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax Für jeden neu hinzukommenden Zyklus ist eine Zeile in folgender Syntax einzufügen: C<Nummer> (<Zyklusname>) Kommentartext Nummer: eine beliebige ganze Zahl, sie darf bisher in der Datei noch nicht verwendet worden sein; Zyklusname: der Programmname des einzubindenden Zyklus Kommentartext: wahlweise ein Kommentartext zum Zyklus Beispiel: C25 (MEIN_ZYKLUS_1) Anwenderzyklus_1...
  • Seite 227 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Zugehörige Datei uc.com: Programmierung %_N_UC_COM ;$PATH=/_N_CUS_DIR //C25(MEIN_ZYKLUS_1) Anwenderzyklus_1 (R/-1000.001 123.456 / 100 /Parameter_2 des Zyklus) (I/0 999999 / 1 / ganzzahliger Wert) (C//"A" / Zeichenparameter) (S///Unterprogrammname) //C26(SPEZIALZYKLUS) (R///Gesamtlänge) (I/*123456/3/Bearbeitungsart) Beispiel Beide Zyklen Anzeigemaske für Zyklus MEIN_ZYKLUS_1 Anzeigemaske für Zyklus SPEZIALZYKLUS Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 228 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntaxbeschreibung für die Datei uc.com - Anwenderzyklenbeschreibung Kopfzeile pro Zyklus: wie in der Datei cov.com mit vorgesetztem "//" //C <Nummer> (<Zyklusname>) Kommentartext Beispiel: //C25 (MEIN_ZYKLUS_1) Anwenderzyklus_ Zeile für Beschreibung pro Parameter: (<Datentypkennung> / <Minimalwert> <Maximalwert> / <Vorbelegungswert> /<Kommentar>) Datentypkennung: für Real für Integer...
  • Seite 229: Makrotechnik (Define

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

    Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Bedeutung DEFINE ... AS : Schlüsselwort-Kombination zur Definition eines Makros Name des Makros <Makroname>: Als Makronamen sind nur Bezeichner zulässig. Mit dem Makronamen wird das Makro aus dem NC-Programm heraus aufgerufen. Programmieranweisung, die im Makro enthalten sein soll. <Anweisung>: Regeln zur Makro-Definition ●...
  • Seite 231 Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Beispiel 2: Makrodefinitionen in einer Makrodatei Programmcode Kommentar DEFINE M6 AS L6 ; Beim Werkzeugwechsel wird ein Unterprogramm aufgerufen, das den nötigen Datentransfer übernimmt. Im Unterprogramm wird die eigentliche Werkzeugwechsel-M-Funktion ausgegeben (z. B. M106).
  • Seite 232 Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 233: Datei- Und Programmverwaltung

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

    Datei- und Programmverwaltung 2.1 Programmspeicher Standard-Verzeichnisse Folgende Verzeichnisse sind standardmäßig vorhanden: Verzeichnis Inhalt _N_DEF_DIR Datenbausteine und Makrobausteine _N_CST_DIR Standard-Zyklen _N_CMA_DIR Hersteller-Zyklen _N_CUS_DIR Anwender-Zyklen _N_WKS_DIR Werkstücke _N_SPF_DIR Globale Unterprogramme _N_MPF_DIR Hauptprogramme _N_COM_DIR Kommentare Dateitypen Im Programmspeicher können folgende Dateitypen eingebracht werden: Dateityp Beschreibung name_MPF...
  • Seite 235 Datei- und Programmverwaltung 2.1 Programmspeicher Werkstückverzeichnisse ( ..._WPD) Für eine flexiblere Handhabung von Daten und Programmen können bestimmte Daten und Programme gebündelt oder in einzelnen Werkstückverzeichnissen abgelegt werden. Ein Werkstückverzeichnis enthält alle Dateien, die zum Bearbeiten eines Werkstückes notwendig sind. Dies können Hauptprogramme, Unterprogramme, beliebige Initialisierungs- Programme und Kommentar-Dateien sein.
  • Seite 236 Datei- und Programmverwaltung 2.1 Programmspeicher Werkstückverzeichnis anlegen mit Pfadangabe ($PATH=…) In der zweiten Zeile einer Datei wird der Zielpfad mit $PATH=… angegeben. Die Datei wird dann unter dem angegebenen Pfad abgelegt. Beispiel: Programmcode %_N_WELLE_MPF ;$PATH=/_N_WKS_DIR/_N_WELLE_WPD N10 G0 X… Z… Die Datei _N_WELLE_MPF wird im Verzeichnis /_N_WKS_DIR/_N_WELLE_WPD abgelegt. Werkstückverzeichnis anlegen ohne Pfadangabe Fehlt die Pfadangabe, so werden Dateien mit der Endung _SPF im Verzeichnis /_N_SPF_DIR, Dateien mit der Endung _INI im Arbeitsspeicher und alle übrigen Dateien im...
  • Seite 237 Datei- und Programmverwaltung 2.1 Programmspeicher Suchpfade beim Unterprogrammaufruf Wird der Aufruf-Pfad nicht explizit im Teileprogramm beim Aufruf eines Unterprogramms (oder auch Initialisierungsdatei) angegeben, so wird das aufgerufene Programm nach einem festen Suchpfad ermittelt. Unterprogrammaufruf mit absoluter Pfadangabe Beispiel: Programmcode CALL"/_N_CST_DIR/_N_CYCLE1_SPF" Unterprogrammaufruf ohne absoluter Pfadangabe In der Regel werden die Programme ohne Pfadangabe aufgerufen.
  • Seite 238 Datei- und Programmverwaltung 2.1 Programmspeicher Suchpfade beim Unterprogrammaufruf programmieren (CALLPATH) Der Suchpfad beim Unterprogrammaufruf kann mit dem Teileprogrammbefehl CALLPATH erweitert werden. Beispiel: Programmcode CALLPATH ("/_N_WKS_DIR/_N_MYWPD_WPD") Der Suchpfad wird vor Position 5 (Anwender-Zyklus) entsprechend der angegebenen Programmierung abgelegt. Weitere Informationen zum programmierbaren Suchpfad bei Unterprogrammaufrufen mit CALLPATH siehe Kapitel "Suchpfad bei Unterprogrammaufrufen mit CALLPATH erweitern".
  • Seite 239: Arbeitsspeicher (Chandata, Complete, Initial)

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

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

    Datei- und Programmverwaltung 2.2 Arbeitsspeicher (CHANDATA, COMPLETE, INITIAL) VORSICHT CHANDATA-Anweisung Im Teileprogramm darf die CHANDATA-Anweisung nur für den Kanal gesetzt werden, auf dem das NC-Programm abgearbeitet wird, d. h. die Anweisung kann dazu benutzt werden, NC-Programme davor zu schützen, dass sie auf einem nicht vorgesehenen Kanal abgearbeitet werden.
  • Seite 242: Strukturierungsanweisung Im Stepeditor (Seform)

    Datei- und Programmverwaltung 2.3 Strukturierungsanweisung im Stepeditor (SEFORM) Strukturierungsanweisung im Stepeditor (SEFORM) Funktion Die Strukturierungsanweisung SEFORM wird im Stepeditor (editorbasierte Programmunterstützung) ausgewertet, um daraus die Schrittansicht für HMI Advanced zu generieren. Die Schrittansicht dient zur besseren Lesbarkeit des NC-Unterprogramms. Syntax SEFORM(<Abschnittsname>,<Ebene>,<Icon>) Bedeutung SEFORM()
  • Seite 243: Schutzbereiche

    Schutzbereiche Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Funktion Mit Hilfe von Schutzbereichen lassen sich verschiedene Elemente an der Maschine, die Ausrüstung sowie das Werkstück vor falschen Bewegungen schützen. Werkzeugbezogene Schutzbereiche: Für Teile, die zum Werkzeug gehören (z. B. Werkzeug, Werkzeugträger). Werkstückbezogene Schutzbereiche: Für Teile, die zum Werkstück gehören (z.
  • Seite 244 Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Bedeutung Lokale Variable, Datentyp INTEGER definieren DEF INT NOT_USED: (vgl. Kapitel "Bewegungssynchronaktion") Kanalspezifische Schutzbereiche (nur für NCU 572/573) CPROTDEF: definieren Maschinenspezifische Schutzbereiche definieren NPROTDEF: Definition beenden EXECUTE: Nummer des definierten Schutzbereichs <n>: Typ des Schutzbereichs <t>: TRUE: Werkzeugbezogener Schutzbereich...
  • Seite 245 Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Bezugspunkt der Konturbeschreibung Die werkstückbezogenen Schutzbereiche werden im Basiskoordinatensystem definiert. Die werkzeugbezogenen Schutzbereiche werden bezogen auf den Werkzeugträgerbezugspunkt F angegeben. Konturbeschreibung von Schutzbereichen Die Kontur der Schutzbereiche wird mit maximal 11 Verfahrbewegungen in der angewählten Ebene angegeben.
  • Seite 246 Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Werkzeugbezogene Schutzbereiche müssen immer konvex sein. Falls ein konkaver Schutzbereich gewünscht ist, ist dieser in mehrere konvexe Schutzbereiche zu zerlegen. Randbedingungen Während der Definition der Schutzbereiche darf: ● keine Fräserradius- bzw. Schneidenradiuskorrektur aktiv sein. ●...
  • Seite 247: Schutzbereiche Aktivieren/Deaktivieren (Cprot, Nprot)

    Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Funktion Vorher definierte Schutzbereiche zur Kollisionsüberwachung aktivieren, voraktivieren oder aktive Schutzbereiche deaktivieren. Die maximale Anzahl der gleichzeitig in einem Kanal aktiven Schutzbereiche wird über Maschinendatum festgelegt. Ist kein werkzeugbezogener Schutzbereich aktiv, so wird die Werkzeugbahn gegen die werkstückbezogenen Schutzbereiche geprüft.
  • Seite 248 Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Beispiel Für eine Fräsmaschine soll eine mögliche Kollision des Fräsers mit dem Messtaster überwacht werden. Die Lage des Messtasters soll bei der Aktivierung durch eine Verschiebung angegeben werden. Es werden dafür folgende Schutzbereiche definiert: ●...
  • Seite 249 Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Programmcode Kommentar DEF INT SCHUTZB ; Definition einer Hilfsvariablen Definition der SchutzbereicheG17 ; Orientierung einstellen NPROTDEF(1,FALSE,3,10,–10)G01 X0 Y–10 ; Schutzbereich n–SB1 Y–10 EXECUTE(SCHUTZB) NPROTDEF(2,FALSE,3,5,–5) ; Schutzbereich n–SB2 G01 X40 Y–5 Y–5 EXECUTE(SCHUTZB) CPROTDEF(1,TRUE,3,0,–100) ; Schutzbereich c–SB1 G01 X–20 Y–20 X–20 Y–20...
  • Seite 250 Schutzbereiche 3.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.
  • Seite 251 Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Status nach dem Hochlaufen Schutzbereiche können bereits nach dem Hochlaufen und anschließendem Referenzpunktanfahren aktiviert sein. Es muss dafür die Systemvariable $SN_PA_ACTIV_IMMED[<n>] bzw. $SC_PA_ACTIV_IMMED[<n>] auf TRUE gesetzt sein. Sie werden immer mit dem Status = 2 aktiviert und haben keine Verschiebung. Mehrfache Aktivierung von Schutzbereichen Ein Schutzbereich kann gleichzeitig auch in mehreren Kanälen wirksam sein (z.
  • Seite 252: Überprüfung Auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung Und Softwarelimits (Calcposi)

    Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Funktion Die Funktion CALCPOSI dient dazu zu überprüfen, ob ausgehend von einem gegebenen Startpunkt die Geometrieachsen einen vorgegebenen Weg verfahren können, ohne die Achsgrenzen (Softwarelimits), Arbeitsfeldbegrenzungen oder Schutzbereiche zu verletzen. Für den Fall, dass der vorgegebene Weg nicht gefahren werden kann, wird der maximal zulässige Wert zurückgeben.
  • Seite 253 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Zehnerstelle Der Anfangswert verletzt die Grenze Die vorgegebene Gerade verletzt die Grenze. Dieser Wert wird auch dann zurückgegeben, wenn der Endpunkt selbst keine Grenze verletzt, auf dem Weg vom Start–zum Endpunkt aber eine Verletzung eines Grenzwertes auftreten würde (z.
  • Seite 254 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Anfangswert für Abszisse [0], Ordinate [1] und Applikate [2] _STARTPOS im (WKS) Wegvorgabe inkrementell für Abszisse [0], Ordinate [1] und _MOVEDIST Applikate [2] [0] - [2]: Mindestabstände die den Geometrieachsen _DLIMIT zugeordnet sind.
  • Seite 255 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Beispiel Im Beispiel (siehe Bild) sind in der XSoftwarelimits und Arbeitsfeldbegrenzungen eingezeichnet. Zusätzlich sind drei Schutzbereiche definiert, die beiden kanalspezifischen Schutzbereiche C2 und C4 sowie der NCKSchutzbereich N3. C2 ist ein kreisförmiger aktiver, werkzeugbezogener Schutzbereich mit 2 mm Radius.
  • Seite 256 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Programmcode Kommentar N10 def real _STARTPOS[3] N20 def real _MOVDIST[3] N30 def real _DLIMIT[5] N40 def real _MAXDIST[3] N50 def int _SB N60 def int _STATUS N70 cprotdef(2, true, 0) ; werkzeugbezogener Schutzbereich N80 g17 g1 x–y0 N90 g3 i2 x2...
  • Seite 257 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) ;Verschiede Funktionsaufrufe ; Anderer Startpunkt N420 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST) N430 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,3) N440 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,1) N450 _STARTPOS[0] = 5. ; Anderes Ziel N460 _STARTPOS[1] = 17. N470 _STARTPOS[2] = 0.
  • Seite 258 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Ergebnisse der Prüfungen im Beispiel: Satznr. _STATUS _MAXDIST _MAXDIST Bemerkungen N... [0] (= X) [1] (= Y) 3123 8.040 4.594 Schutzbereich SB N3 wird verletzt. 1122 20.000 11.429 Keine SB–Überwachung,-Arbeitsfeld- begrenzung wird verletzt. 1121 30.000 17.143...
  • Seite 259 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Die Überwachung der Softwarelimits und der Arbeitsfeldbegrenzungen ist wie im normalen Verfahrbetrieb abhängig von aktiven Einstellungen (Interfacesignale zur Auswahl der Softwarelimits 1 bzw. Softwarelimits 2, GWALIMON/WALIMOF, Settingdaten zur individuellen Aktivierung der Arbeitsfeldgrenzen und zur Festlegung, ob bei der Überwachung der Arbeitsfeldbegrenzungen der Radius des aktiven Werkzeuges berücksichtigt werden soll oder nicht).
  • Seite 260 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 261: Spezielle Wegbefehle

    Spezielle Wegbefehle Codierte Positionen anfahren (CAC, CIC, CDC, CACP, CACN) Funktion Über die folgenden Befehle können Sie Linear- und Rundachsen über Positionsnummern auf in Maschinendaten-Tabellen hinterlegte feste Achspositionen verfahren. Diese Art der Programmierung wird als "Anfahren von codierten Positionen" bezeichnet. Syntax CAC(<n>) CIC(<n>)
  • Seite 262 Spezielle Wegbefehle 4.1 Codierte Positionen anfahren (CAC, CIC, CDC, CACP, CACN) Beispiel: Anfahren von codierten Positionen einer Positionierachse Programmiercode Kommentar N10 FA[B]=300 ; Vorschub für Positionierachse B N20 POS[B]=CAC(10) ; Codierte Position von Positionsnummer 10 anfahren N30 POS[B]=CIC(-4) ; Codierte Position von "aktuelle Positionsnummer" - 4 anfahren Literatur ●...
  • Seite 263: Spline-Interpolation (Aspline, Bspline, Cspline, Bauto, Bnat, Btan, Eauto, Enat, Etan, Pw, Sd, Pl)

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Funktion Beliebig gekrümmte Konturen an Werkstücken können nicht analytisch exakt beschrieben werden.
  • Seite 264 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Syntax Allgemein: ASPLINE X... Y... Z... A... B... C... BSPLINE X... Y... Z... A... B... C... CSPLINE X... Y... Z... A... B... C... Bei B-Spline zusätzlich programmierbar: PW=<n>...
  • Seite 265 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Spline-Grad (nur B-Spline): Standardmäßig wird ein Polygon 3. Grades verwendet. Durch Programmierung von SD=2 kann aber auch ein Polygon 2. Grades verwendet werden. Knotenabstand (nur B-Spline): Die Knotenabstände werden intern geeignet berechnet.
  • Seite 266: Beispiele

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Hinweis Das programmierbare Übergangsverhalten hat keinen Einfluss auf den B-Spline. Der B- Spline ist in Start- und Endpunkt immer tangential zum Kontrollpolygon. Randbedingungen ● Die Werkzeugradiuskorrektur ist einsetzbar. ●...
  • Seite 267 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Programmcode 3 (Kontrollpolygon) Kommentar N10 G1 X0 Y0 F300 G64 ; entfällt N30 X10 Y20 N40 X20 Y40 N50 X30 Y30 N60 X40 Y45 N70 X50 Y0 Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 268 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Beispiel 2: C-Spline, am Anfang und am Ende Krümmung Null Programmcode N10 G1 X0 Y0 F300 N15 X10 N20 BNAT ENAT N30 CSPLINE X20 Y10 N40 X30 N50 X40 Y5 N60 X50 Y15...
  • Seite 269 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Beispiel 3: Spline-Interpolation (A-Spline) und Koordinatentransformation (ROT) Hauptprogramm: Programmcode Kommentar N10 G00 X20 Y18 F300 G64 ; Startpunkt anfahren. N20 ASPLINE ; Interpolationstyp A-Spline aktivieren. N30 KONTUR ;...
  • Seite 270 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Weitere Informationen Vorteile der Spline-Interpolation Durch Verwendung der Spline-Interpolation lassen sich, im Gegensatz zur Verwendung von Geradensätzen G01, folgende Vorteile erzielen: ● Reduzierung der Anzahl von benötigten Teileprogrammsätzen zur Beschreibung der Kontur ●...
  • Seite 271 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) 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 272 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) 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 273 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) 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 •...
  • Seite 274 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Gegenüberstellung der drei Spline-Typen bei gleichen Stützpunkten Mindestanzahl an Spline-Sätzen Die G-Codes ASPLINE, BSPLINE und CSPLINE verbinden Satzendpunkte mit Splines. Dazu müssen im Vorlauf eine Reihe von Sätzen (Endpunkte) gleichzeitig berechnet werden. Die Größe des Puffers für die Berechnung beträgt standardmäßig 10 Sätze.
  • Seite 275 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Hinweis Bei Unterschreitung des tolerierbaren Werts wird ein Alarm ausgegeben, ebenso, wenn eine am Spline beteiligte Achse als Positionierachse programmiert wird. 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.
  • Seite 276: Spline-Verbund (Splinepath)

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

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

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

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

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

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Länge des Parameterintervalls, auf dem die Polynome definiert sind (Definitionsbereich der Funktion f(p)). Das Intervall beginnt immer bei 0, p kann Werte von 0 bis PL annehmen. Theoretischer Wertebereich für PL: 0,0001 … 99 999,9999 Hinweis: Der PL-Wert gilt für den Satz, in dem er steht.
  • Seite 283 Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Standardmäßig werden für beide Achsgruppen die programmierten Polynome auch als Polynom interpoliert. Beispiele: POLYPATH("VECT") Für die Polynominterpolation werden nur die Orientierungsachsen ausgewählt, alle anderen Achsen verfahren linear. POLYPATH( ) Deaktiviert die Polynominterpolation für alle Achsen Beispiel Programmcode Kommentar...
  • Seite 284 Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Beispiel: Kurve in der X/Y-Ebene Programmcode N9 X0 Y0 G90 F100 N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4 Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 285: Beschreibung

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Beschreibung Die Steuerung ist in der Lage, Kurven (Bahnen) zu verfahren, bei denen jede ausgewählte Bahnachse einer Polynom-Funktion max. 5. Grades folgt. Die allgemeine Form der Polynom-Funktion lautet: f(p)= a p + a oder f(p)= a p + a...
  • Seite 286: Besonderheit Nennerpolynom

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Es ist möglich Polynome zu programmieren, ohne dass der G-Code POLY aktiv ist. In diesem Fall werden jedoch nicht die programmierten Polynome interpoliert, sondern es wird der jeweils programmierte Endpunkt jeder Achse linear angefahren (G1). Durch Programmierung von POLY wird dann die Polynominterpolation aktiviert.
  • Seite 287 Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Bei eingeschalteter Polynom-Interpolation wird die Programmierung eines Nennerpolynoms mit Nullstellen innerhalb des Intervalls [0,PL] mit einem Alarm abgelehnt. Auf die Bewegung von Zusatzachsen hat das Nennerpolynom keinen Einfluss. Hinweis Eine Werkzeugradiuskorrektur ist bei der Polynom-Interpolation mit G41, G42 einschaltbar und wie für Geraden- oder Kreisinterpolation verwendbar.
  • Seite 288: Einstellbarer Bahnbezug (Spath, Upath)

    Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Einstellbarer Bahnbezug (SPATH, UPATH) Funktion Während Polynominterpolation können vom Anwender zwei unterschiedliche Beziehungen zwischen den geschwindigkeitsbestimmenden FGROUP-Achsen und den übrigen Bahnachsen gewünscht sein: Letztere sollen entweder synchron zum Bahnweg der FGROUP-Achsen oder synchron zum Kurvenparameter geführt werden. Für die nicht in FGROUP enthaltenen Achsen gibt es daher zwei Möglichkeiten, der Bahn zu folgen: ●...
  • Seite 289 Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Beispiel 1 Im nachfolgenden Beispiel wird ein Quadrat mit 20 mm Kantenlänge mit G643 überschliffen. Die maximalen Abweichungen von der exakten Kontur werden dabei durch die Maschinendaten MD33100 $MA_COMPRESS_POS_TOL[...] für jede Achse festgelegt. Programmcode Kommentar N10 G1 X…...
  • Seite 290 Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Programmierung N10 G1 X0 A0 F1000 SPATH N20 POLY PO[X]=(10,10) A10 Bzw.: Programmierung N10 G1 X0 F1000 UPATH N20 POLY PO[X]=(10,10) A10 Im Satz N20 hängt der Weg S der FGROUP-Achsen vom Quadrat des Kurvenparameters U ab.
  • Seite 291 Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Steuerungsverhalten bei Reset und Maschinen-/Optionsdaten Nach Reset ist der durch MD 20150: GCODE_RESET_VALUES [44] bestimmte G-Code wirksam (45. G-Code-Gruppe). Der Grundstellungswert für die Art des Überschleifens wird mit MD 20150: GCODE_RESET_VALUES [9] festgelegt (10. G-Code-Gruppe). Der nach Reset aktive Wert der G-Code-Gruppe wird durch das Maschinendatum MD 20150: GCODE_RESET_VALUES [44] bestimmt.
  • Seite 292: Messen Mit Schaltendem Taster (Meas, Meaw)

    Spezielle Wegbefehle 4.7 Messen mit schaltendem Taster (MEAS, MEAW) Messen mit schaltendem Taster (MEAS, MEAW) Funktion Mit der Funktion "Messen mit schaltendem Taster" werden Istpositionen am Werkstück angefahren und bei der Schaltflanke des Messtasters werden für alle im Messsatz programmierten Achsen die Positionen gemessen und für jede Achse in die entsprechende Speicherzelle geschrieben.
  • Seite 293 Spezielle Wegbefehle 4.7 Messen mit schaltendem Taster (MEAS, MEAW) Messergebnisse lesen Die Messergebnisse für die mit Messtaster erfassten Achsen stehen unter folgenden Variablen zur Verfügung: ● $AA_MM[<Achse>] Messergebnisse im Maschinenkoordinatensystem ● $AA_MW[<Achse>] Messergebnisse im Werkstückkoordinatensystem Beim Lesen dieser Variablen wird intern kein Vorlaufstopp erzeugt. Hinweis Mit STOPRE muss im NC-Programm an geeigneter Stelle ein Vorlaufstopp programmiert werden.
  • Seite 294 Spezielle Wegbefehle 4.7 Messen mit schaltendem Taster (MEAS, MEAW) Beispiel Programmcode Kommentar N10 MEAS=1 G1 F1000 X100 Y730 Z40 ; Messsatz mit Messtaster des ersten Messeingangs und Geradeninterpolation. Vorlaufstopp wird automatisch erzeugt. Weitere Informationen Messauftragsstatus Ist im Programm eine Auswertung erforderlich, ob der Messtaster geschaltet hat oder nicht, kann die Zustandsvariable $AC_MEA[n] (n = Nummer des Messtasters) abgefragt werden: Wert Bedeutung...
  • Seite 295: Erweiterte Messfunktion (Measa, Meawa, Meac) (Option)

    Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Funktion Beim axialen Messen können mehrere Messtaster und mehrere Messsysteme benutzt werden. Mit dem Befehl MEASA bzw. MEAWA werden für die jeweils programmierte Achse bis zu vier Messwerte pro Messung erfasst und passend zum Trigger-Ereignis in Systemvariablen abgelegt.
  • Seite 296 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Syntax MEASA[<Achse>]=(<Modus>,<TE1>,...,<TE4>) MEAWA[<Achse>]=(<Modus>,<TE1>,...,<TE4>) MEAC[<Achse>]=(<Modus>,<Messspeicher>,<TE1>,...,<TE4>) Hinweis MEASA und MEAWA sind satzweise wirksam und können zusammen in einem Satz programmiert werden. Wird dagegen MEASA/MEAWA zusammen mit MEAS/MEAW in einem Satz programmiert, kommt es zu einer Fehlermeldung. Bedeutung MEASA Befehl: Axiales Messen mit Restweglöschen...
  • Seite 297: Beispiele

    Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) <TE> Trigger-Ereignis zur Auslösung der Messung Typ: Wertebereich: -2, -1, 1, 2 Bedeutung: (+)1 steigende Flanke von Messtaster 1 fallende Flanke von Messtaster 1 (+)2 steigende Flanke von Messtaster 2 fallende Flanke von Messtaster 2 <Messspeicher>...
  • Seite 298 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) b) mit 2 Messsystemen Programmcode Kommentar N200 MEASA[X]=(31,1,-1) G01 X100 F100 ; Messen im Modus 1 mit beiden Messsystemen. Warten auf Messsignal mit steigender/fallender Flanke von Messtaster 1 auf dem Verfahrweg nach X=100.
  • Seite 299 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Beispiel 2: Axiales Messen mit Restweglöschen im Modus 2 (Auswertung in programmierter Reihenfolge) Programmcode Kommentar N100 MEASA[X]=(2,1,-1,2,-2) G01 X100 F100 ; Messen im Modus 2 mit aktivem Messsystem. Warten auf Messsignal in der Reihenfolge steigende Flanke von Messtaster 1, fallende Flanke Messtaster 1, steigende Flanke von Messtaster 2, fallende Flanke Messtaster 2 auf...
  • Seite 300 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Beispiel 3: Axiales kontinuierliches Messen im Modus 1 (Auswertung in zeitlicher Reihenfolge) a) Messen von bis zu 100 Messwerten Programmcode Kommentar N110 DEF REAL MESSWERT[100] N120 DEF INT Schleife=0 N130 MEAC[X]=(1,1,-1) G01 X1000 F100 ;...
  • Seite 301 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Weitere Informationen Messauftrag Die Programmierung eines Messauftrags kann im Teileprogramm oder aus einer Synchronaktion (siehe Kapitel "Bewegungssynchronaktionen") heraus erfolgen. Pro Achse kann dabei zu ein- und demselben Zeitpunkt nur ein Messauftrag aktiv sein. Hinweis Der Vorschub ist dem jeweiligen Messproblem anzupassen.
  • Seite 302 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (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 303 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Hinweis MEASA ist nicht in Synchronaktionen programmierbar. Ersatzweise kann MEAWA plus Restweglöschen als Synchronaktion programmiert werden. Wird der Messauftrag mit MEAWA aus den Synchronaktionen gestartet, sind die Messwerte nur im Maschinen-Koordinatensystem verfügbar. Messergebnisse für MEASA, MEAWA Die Messergebnisse stehen unter folgenden Systemvariablen zur Verfügung: ●...
  • Seite 304 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Geometrieachsen / Transformationen Soll das axiale Messen für eine Geometrieachse gestartet werden, muss der gleiche Messauftrag explizit für alle restlichen Geometrieachsen programmiert werden. Das gleiche gilt für Achsen, die an einer Transformation beteiligt sind. Beispiel: N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1) MEASA[X]=(1,1) G0 Z100 oder...
  • Seite 305 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Messauftragsstatus bei MEASA, MEAWA Ist im Programm eine Auswertung erforderlich, so kann der Messauftragsstatus über$AC_MEA[<n>], mit <n> = Nummer des Messtasters, abgefragt werden. Sobald alle in einem Satz programmierten Trigger-Ereignisse der Messtaster <n> erfolgt sind, liefert diese Variable den Wert 1.
  • Seite 306 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Erkannte Fehlerprogrammierungen Folgende Fehlprogrammierungen werden erkannt und mit einem Fehler angezeigt: ● MEASA/MEAWA zusammen mit MEAS/MEAW in einem Satz programmiert Beispiel: N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100 ● MEASA/MEAWA mit Parameteranzahl <2 oder >5 Beispiel: N01 MEAWA[X]=(1) G01 F100 POS[X]=100 ●...
  • Seite 307: Spezielle Funktionen Für Den Oem-Anwender (Oemipo1, Oemipo2, G810 Bis G829)

    Spezielle Wegbefehle 4.9 Spezielle Funktionen für den OEM-Anwender (OEMIPO1, OEMIPO2, G810 bis G829) Spezielle Funktionen für den OEM-Anwender (OEMIPO1, OEMIPO2, G810 bis G829) Funktion OEM-Adressen Die Bedeutung der OEM-Adressen bestimmt der OEM-Anwender. Die Funktionalität wird über Compile-Zyklen eingebracht. 5 OEM-Adressen sind reserviert. Die Adressbezeichner sind einstellbar.
  • Seite 308: Vorschubreduzierung Mit Eckenverzögerung (Fendnorm, G62, G621)

    Spezielle Wegbefehle 4.10 Vorschubreduzierung mit Eckenverzögerung (FENDNORM, G62, G621) 4.10 Vorschubreduzierung mit Eckenverzögerung (FENDNORM, G62, G621) Funktion Bei der automatischen Eckenverzögerung wird der Vorschub glockenförmig kurz vor der betreffenden Ecke abgesenkt. Außerdem kann das Ausmaß des für die Bearbeitung relevanten Werkzeugverhaltens über Settingdaten parametriert werden. Dies sind: ●...
  • Seite 309: Programmierbares Bewegungsendekriterium (Finea, Coarsea, Ipoenda, Ipobrka, Adisposa)

    Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Funktion Ähnlich dem Satzwechselkriterium bei Bahninterpolation (G601, G602 und G603) kann das Bewegungsendekriterium bei Einzelachsinterpolation in einem Teileprogramm bzw. in Synchronaktionen für Kommando-/PLC-Achsen programmiert werden. Je nachdem, welches Bewegungsendekriterium eingestellt ist, werden Teileprogrammsätze bzw.
  • Seite 310: Beispiele

    Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Beispiele Beispiel 1: Bewegungsende bei Erreichen von Interpolator-Stopp Programmcode Kommentar N110 G01 POS[X]=100 FA[X]=1000 ACC[X]=90 IPOENDA[X] ; Fahren auf Position X100 mit einer Bahngeschwindigkeit von 1000 U/min mit einem Beschleunigungswert von 90% und dem Bewegungsende bei Erreichen von Interpolator-Stopp.
  • Seite 311: Weitere Informationen

    Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Beispiel 3: Satzwechselkriterium Bremsrampe in Synchronaktionen Programmcode Kommentar ; Im Technologie-Zyklus: FINEA ; Bewegungsendekriterium Genauhalt fein. POS[X]=100 ; Technologie-Zyklus-Satzwechsel erfolgt, wenn die X-Achse die Position 100 und Genauhalt fein erreicht hat. IPOBRKA(X,100) ;...
  • Seite 312 Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Satzwechselkriterium in der Bremsrampe Der prozentuelle Wert wird hauptlaufsynchron eingetragen ins Settingdatum: SD43600 $SA_IPOBRAKE_BLOCK_EXCHANGE Wird kein Wert angegeben, so wird der aktuelle Wert dieses Settingdatums wirksam. Es ist ein Bereich von 0 % bis 100 % einstellbar. Zusätzliches Toleranzfenster für IPOBRKA Zum bereits bestehenden Satzwechselkriterium in der Bremsrampe kann auch ein zusätzliches Satzwechselkriterium "Toleranzfenster"...
  • Seite 313: Programmierbarer Servo-Parametersatz (Scpara)

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

    Koordinatentransformationen (FRAMES) Koordinatentransformation über Framevariable Funktion Neben den im Programmierhandbuch "Grundlagen" bereits beschriebenen Programmiermöglichkeiten können Sie Koordinatensysteme auch mit vordefinierten Framevariablen festlegen. Folgende Koordinatensysteme sind definiert: MKS: Maschinen-Koordinatensystem BKS: Basis-Koordinatensystem BNS: Basisnullpunkt-Koordinatensystem ENS: Einstellbares Nullpunkt-Koordinatensystem WKS: Werkstück-Koordinatensystem Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 316 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Was ist eine vordefinierte Framevariable? Vordefinierte Framevariablen sind Schlüsselwörter, die im Sprachgebrauch der Steuerung mit entsprechender Wirkung bereits festgelegt sind und im NC-Programm verarbeitet werden können. Mögliche Framevariable: ● Basisframe (Basisverschiebung) ● einstellbare Frames ●...
  • Seite 317: Vordefinierte Framevariable ($P_Bframe, $P_Iframe, $P_Pframe, $P_Actframe)

    Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Istwerte auslesen Über vordefinierte Variable im Teileprogramm können die aktuellen Istwerte der Koordinatensysteme ausgelesen werden: $AA_IM[Achse]: Lesen Istwert im MKS $AA_IB[Achse]: Lesen Istwert im BKS $AA_IBN[Achse:] Lesen Istwert im BNS $AA_IEN[Achse]: Lesen Istwert im ENS $AA_IW[Achse]: Lesen Istwert im WKS 5.1.1 Vordefinierte Framevariable ($P_BFRAME, $P_IFRAME, $P_PFRAME,...
  • Seite 318 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable $P_IFRAME Aktuelle, einstellbare Framevariable, die den Bezug zwischen Basis-Nullpunktsystem (BNS) und Einstellbarem Nullpunktsystem (ENS) herstellt. ● $P_IFRAME entspricht $P_UIFR[$P_IFRNUM] ● $P_IFRAME enthält nach Programmierung von z. B. G54 die durch G54 definierte Translation, Rotation, Skalierung und Spiegelung. Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 319 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable $P_PFRAME Aktuelle, programmierbare Framevariable, die den Bezug zwischen dem Einstellbaren Nullpunktsystem (ENS) und dem Werkstückkoordinatensystem (WKS) herstellt. $P_PFRAME enthält den resultierenden Frame, der sich ● aus der Programmierung von TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR bzw. ●...
  • Seite 320 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable $P_ACTFRAME Aktueller, resultierender Gesamtframe, der sich durch Verkettung aus ● der aktuellen Basisframevariablen $P_BFRAME, ● der aktuellen einstellbaren Framevariablen $P_IFRAME mit Systemframes und ● der aktuellen programmierbaren Framevariablen $P_PFRAME mit Systemframes ergibt. Systemframes, siehe Kapitel "Im Kanal wirksame Frames" $P_ACTFRAME beschreibt den aktuell gültigen Werkstücknullpunkt.
  • Seite 321 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Basisframe und einstellbarer Frame wirken nach Reset, wenn das MD 20110 RESET_MODE_MASK folgendermaßen eingestellt ist: Bit0=1, Bit14=1 --> $P_UBFR (Basisframe) wirkt Bit0=1, Bit5=1 --> $P_UIFR[$P_UIFRNUM] (einst. Frame) wirkt Vordefinierte einstellbare Frames $P_UBFR Mit $P_UBFR wird der Basisframe programmiert, er wird aber nicht gleichzeitig im Teileprogramm aktiv.
  • Seite 322 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Vordefinierte einstellbare Frames $P_UIFR[n] Durch die vordefinierte Framevariable $P_UIFR[n] können die einstellbaren Nullpunktverschiebungen G54 bis G599 vom Teileprogramm aus gelesen oder geschrieben werden. Diese Variablen stellen im Aufbau ein eindimensionales Feld vom Typ FRAME mit dem Namen $P_UIFR[n] dar.
  • Seite 323: Framevariablen/Frames Werte Zuweisen

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

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Beispiel Durch Wertzuweisung an dem aktuellen programmierbaren Frame werden Translation, Drehung und Spiegelung aktiviert. N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y) Frame-Rot-Komponenten mit anderen Werten vorbelegen Mit CROT alle drei Komponenenten von UIFR mit Werten vorbelegen Programmcode Kommentar $P_UIFR[5]=CROT (X, 0, Y, 0, Z, 0) N100 $P_UIFR[5, y, rt]=0 N100 $P_UIFR[5, x, rt]=0 N100 $P_UIFR[5, z, rt]=0...
  • Seite 325 Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Beschreibung Sie können mehrere Rechenvorschriften nacheinander programmieren. Beispiel: $P_PFRAME=CTRANS(...):CROT(...):CSCALE... Beachten Sie, dass die Befehle durch den Kettungsoperator Doppelpunkt (…):(…) miteinander verbunden werden müssen. Dadurch werden die Befehle erstens miteinander verknüpft und zweitens in der programmierten Reihenfolge additiv ausgeführt. Hinweis Die mit den genannten Befehlen programmierten Werte werden den Frames zugewiesen und abgespeichert.
  • Seite 326: Framekomponenten Lesen Und Verändern (Tr, Fi, Rt, Sc, Mi)

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen 5.2.2 Framekomponenten lesen und verändern (TR, FI, RT, SC, MI) Funktion Sie haben die Möglichkeit, auf einzelne Daten eines Frames, z. B. auf einen bestimmten Verschiebewert oder Drehwinkel zuzugreifen. Diese Werte können Sie verändern oder einer anderen Variablen zuweisen.
  • Seite 327 Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Wertebereich für Drehung RT Drehung um 1. Geometrieachse: -180° bis +180° Drehung um 2. Geometrieachse: -90° bis +90° Drehung um 3. Geometrieachse: -180° bis +180° Beschreibung Frame aufrufen Durch Angabe der Systemvariablen $P_UIFRNUM können Sie direkt auf die mit $P_UIFR bzw.
  • Seite 328: Verknüpfung Von Kompletten Frames

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen 5.2.3 Verknüpfung von kompletten Frames Funktion Im NC-Programm kann ein kompletter Frame einem anderen Frame zugewiesen oder Frames miteinander verkettet werden. Framekettungen eignen sich z. B. für die Beschreibung mehrerer Werkstücke, die auf einer Palette angeordnet sind und in einem Fertigungsablauf bearbeitet werden sollen.
  • Seite 329: Definition Neuer Frames (Def Frame)

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Frameketten Die Frames werden in der programmierten Reihenfolge miteinander verkettet, die Framekomponenten wie z. B. Verschiebungen, Drehungen usw. werden nacheinander additiv ausgeführt. $P_IFRAME=$P_UIFR[15]:$P_UIFR[16] $P_UIFR[15] enthält z. B. Daten für Nullpunktverschiebungen. Anschließend werden –darauf aufbauend –die Daten von $P_UIFR[16] z.
  • Seite 330: Grob- Und Feinverschiebung (Cfine, Ctrans)

    Koordinatentransformationen (FRAMES) 5.3 Grob- und Feinverschiebung (CFINE, CTRANS) Grob- und Feinverschiebung (CFINE, CTRANS) Funktion Feinverschiebung Mit dem Befehl CFINE(X, ...,Y ...) kann eine Feinverschiebung des Basisframes und aller einstellbaren Frames programmiert werden. Eine Feinverschiebung kann nur erfolgen, wenn das MD18600 $MN_MM_FRAME_FINE_TRANS=1 ist.
  • Seite 331 Koordinatentransformationen (FRAMES) 5.3 Grob- und Feinverschiebung (CFINE, CTRANS) Der Zugriff auf die Einzelkomponenten der Feinverschiebung erfolgt durch die Komponentenangabe FI (Translation Fine). DEF REAL FINEX ;Definition der Variable FINEX FINEX=$P_UIFR[$P_UIFNUM, x, FI] ;Auslesen der Feinverschiebung ;über die Variable FINEX FINEX=$P_UIFR[3, x, FI]$P ;Auslesen der Feinverschiebung ;der X-Achse im 3.Frame ;über die Variable FINEX...
  • Seite 332: Externe Nullpunktverschiebung

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

    Koordinatentransformationen (FRAMES) 5.5 Preset-Verschiebung (PRESETON) Preset-Verschiebung (PRESETON) Funktion Für spezielle Anwendungen kann es erforderlich werden, einer oder mehreren Achsen an der aktuellen Position (im Stillstand) einen neuen, programmierten Istwert zuzuweisen. VORSICHT Mit der Funktion PRESETON wird der Referenzpunkt ungültig. Deshalb sollten Sie diese Funktion nur für Achsen ohne Referenzpunktpflicht einsetzen.
  • Seite 334 Koordinatentransformationen (FRAMES) 5.5 Preset-Verschiebung (PRESETON) Beispiel Die Zuweisung der Istwerte erfolgt im Maschinenkoordinatensystem –die Werte beziehen sich auf die Maschinenachsen. N10 G0 A760 N20 PRESETON(A1,60) Achse A fährt auf Position 760. Maschinenachse A1 erhält an Position 760 den neuen Istwert 60. Ab jetzt wird im neuen Istwertsystem positioniert. Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 335: Frame-Berechnung Aus 3 Messpunkten Im Raum (Meaframe)

    Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Funktion MEAFRAME ist eine Erweiterung der 840D-Sprache für die Unterstützung der Messzyklen. Die Funktion MEAFRAME berechnet den Frame aus drei idealen und den korrespondierenden gemessenen Punkten.
  • Seite 336 Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Hinweis Qualität der Messung Damit die gemessenen den idealen Koordinaten mit einer kombinierten Rotation/Translation zugeordnet werden können, muss das von den Messpunkten aufgespannte Dreieck kongruent zum idealen Dreieck sein. Dies wird bewerkstelligt von einem Kompensationsalgorithmus, der die Summe der Quadrate der Abweichungen minimiert, die das gemessene in das ideale Dreieck überführen.
  • Seite 337 Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Programmcode Kommentar N100 G01 G90 F5000 N110 X0 Y0 Z0 N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS_POINT,FIT_QUALITY) N230 IF FIT_QUALITY < 0 SETAL(65000) GOTOF NO_FRAME ENDIF N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT SETAL(65010) GOTOF NO_FRAME ENDIF N250 IF CORR_FRAME[X,RT] >...
  • Seite 338 Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Programmcode Kommentar N700 G500 ; Setzbaren Frame deaktivieren, da mit Nullframe (kein Wert eingetragen vorbesetzt). No_FRAME ; Setzbaren Frame deaktivieren, da mit Nullframe (kein Wert eingetragen) vorbesetzt Beispiel Verkettung von Frames Verkettung von MEAFRAME für Korrekturen Die Funktion MEAFRAME( ) liefert ein Korrekturframe.
  • Seite 339: Ncu-Globale Frames

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

    Koordinatentransformationen (FRAMES) 5.7 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 eines Maschinendatums $MN_MM_NUM_GLOBAL_USER_FRAMES zu globalen Frames umprojektiert werden. Als Achsbezeichner bei den Frame-Programmbefehlen können Kanalachsbezeichner und Maschinenachsbezeichner verwendet werden.
  • Seite 341: Im Kanal Wirksame Frames

    Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames Kanalspezifische Frames $P_CHBFR[n] Über die Systemvariable $P_CHBFR[n] können die Basisframes gelesen und geschrieben werden. Beim Schreiben eines Basisframes wird der verkettete Gesamt-Basisframe nicht aktiviert, sondern die Aktivierung erfolgt erst mit der Ausführung einer G500, G54...G599- Anweisung.
  • Seite 342 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames Aktuelle im Kanal wirksame Frames Übersicht Aktuelle Systemframes für: $P_PARTFRAME TCARR und PAROT $P_SETFRAME Istwertsetzen und Ankratzen $P_EXTFRAME Externe Nullpunktverschiebung $P_NCBFRAME[n] Aktuelle NCU-globale Basisframes $P_CHBFRAME[n] Aktuelle Kanal-Basisframes $P_BFRAME Aktueller 1. Basisframe im Kanal $P_ACTBFRAME Gesamt-Basisframe $P_CHBFRMASK und $P_NCBFRMASK Gesamt-Basisframe $P_IFRAME...
  • Seite 343 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames $P_CHBFRAME[n] Aktuelle Kanal-Basisframes Über die Systemvariable $P_CHBFRAME[n] können die aktuellen Kanal-Basisframe- Feldelemente gelesen und geschrieben werden. Der resultierende Gesamt-Basisframe wird durch den Schreibvorgang im Kanal eingerechnet. Beim Schreiben eines Basisframes wird der Gesamt-Basisframe neu berechnet. $P_BFRAME Aktueller 1.
  • Seite 344 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames $P_CHBFRMASK und $P_NCBFRMASK Gesamt-Basisframe Über die Systemvariable $P_CHBFRMASK und $P_NCBFRMASK kann der Anwender auswählen, welche Basisframes er in die Berechnung des "Gesamt"-Basisframes mit einbeziehen möchte. Die Variablen können nur im Programm programmiert werden und über BTSS gelesen werden.
  • Seite 345 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames P_ACTFRAME Aktueller Gesamtframe Der aktuelle resultierende Gesamtframe $P_ACTFRAME ergibt sich nun als Verkettung aller Basisframes, dem aktuellen einstellbaren Frame und dem programmierbaren Frame. Der aktuelle Frame wird immer dann aktualisiert, wenn sich ein Frameanteil ändert. $P_ACTFRAME entspricht $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME : $P_IFRAME : $P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_CYCFRAME...
  • Seite 346 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames Frame-Kettung Der aktuelle Frame setzt sich aus dem Gesamt-Basisframe, dem einstellbaren Frame, dem Systemframe und dem programmierbaren Frame gemäß oben angegebenen aktuellen Gesamtframe zusammen. Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 347: Transformationen

    Transformationen Allgemeine Programmierung der Transformationsarten Allgemeine Funktion Zur Anpassung der Steuerung an verschiedene Maschinenkinematiken besteht die Auswahl Transformationsarten mit geeigneten Parametern zu programmieren. Über diese Parameter kann für die ausgewählte Transformation sowohl die Orientierung des Werkzeugs im Raum als auch die Orientierungsbewegungen der Rundachsen entsprechend vereinbart werden. Bei den Drei-, Vier- und Fünf-Achs-Transformationen beziehen sich die programmierten, Positionsangaben immer auf die Spitze des Werkzeugs, welches orthogonal zur im Raum befindlichen Bearbeitungsfläche nachgeführt wird.
  • Seite 348 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Orientierungstransformation Drei-, Vier- und Fünf- Achs-Transformationen TRAORI Zur optimalen Bearbeitung räumlich geformter Flächen im Arbeitsraum der Maschine, benötigen Werkzeugmaschinen außer den drei Linearachsen X, Y und Z noch zusätzliche Achsen. Die zusätzlichen Achsen beschreiben die Orientierung im Raum und werden nachfolgend Orientierungsachsen genannt.
  • Seite 349 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Kinematische Transformationen TRANSMIT und TRACYL Bei Fräsbearbeitungen an Drehmaschinen kann für die vereinbarte Transformation entweder 1. eine stirnseitige Bearbeitung in der Drehaufspannung mit TRANSMIT oder 2. eine Bearbeitung von beliebig verlaufenden Nuten an zylindrischen Körpern mit TRACYL programmiert werden.
  • Seite 350: Orientierungsbewegungen Bei Den Transformationen

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten 6.1.1 Orientierungsbewegungen bei den Transformationen Verfahrbewegungen und Orientierungsbewegungen Die Verfahrbewegungen der programmierbaren Orientierungen hängen primär vom Maschinentyp ab. Bei der Drei-, Vier- und Fünf-Achs-Transformation mit TRAORI beschreiben die rotatorischen Achsen oder die schwenkbaren Linearachsen die Orientierungsbewegungen des Werkzeugs.
  • Seite 351 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Maschinentyp Programmierung der Orientierung Drei-Achs-Transformation Programmierung der Werkzeugorientierung nur in der Ebene, Maschinentypen 1 und 2 die senkrecht zu der rotatorischen Achse ist. Es existieren zwei translatorischen Achsen (Linearachsen) und einer rotatorischen Achse (Rundachse). Vier-Achs-Transformation Programmierung der Werkzeugorientierung nur in der Ebene, Maschinentypen 1 und 2...
  • Seite 352 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Generische 5/6-AchsTransformationen Maschinentyp Programmierung der Orientierungstransformation Generische Fünf-/Sechs- Programmierung der Orientierungstransformation. Kinematik Achs Transformation Maschinentypen 4 drei Linearachsen und drei orthogonalen Rundachsen. Zweiachs-Schwenkkopf Die Rundachsen sind parallel zu zwei der drei Linearachsen. mit drehbarem Werkzeug Die erste Rundachse wird von zwei kartesischen um sich selbst und Linearachsen bewegt.
  • Seite 353 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten TRAANG Aktivierung der Transformation Schräge Achse Bearbeitung mit schräger eine Rundachse Zustellachse eine Zustellachse mit parametrierbaren Winkel eine Längsachse parallel zur Drehachse Kartesisches PTP-Fahren Die Bewegung der Maschine erfolgt in Maschinenkoordinaten und wird programmiert mit: TRAORI Aktivierung der Transformation PTP Punkt zu Punkt...
  • Seite 354: Übersicht Der Orientierungstransformation Traori

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten 6.1.2 Übersicht der Orientierungstransformation TRAORI Mögliche Programmierungsarten im Zusammenhang mit TRAORI Maschinentyp Programmierung bei aktiver Transformation TRAORI Maschinentypen 1, 2 oder 3 Achsfolge der Orientierungsachsen und die Orientierungsrichtung des Zweiachs-Schwenkkopf oder Werkzeugs ist und entweder Zweiachs-Drehtisch oder maschinenbezogen projektierbar über Maschinendaten eine Kombination von jeweils...
  • Seite 355 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Maschinentyp Programmierung bei aktiver Transformation TRAORI Interpolation des Orientierungsvektors auf einer Kegelmantelfläche Orientierungsänderungen auf einer beliebig im Raum befindlichen Kegelmantelfläche durch Interpolation: - ORIPLANE in der Ebene (Großreisinterpolation) - ORICONCW auf einer Kegelmantelfläche im Uhrzeigersinn - ORICONCCW auf einer Kegelmantelfläche gegen Uhrzeigersinn A6, B6, C6 Richtungsvektors (Drehachse des Kegels) -OICONIO Interpolation auf einer Kegelmantelfläche mit:...
  • Seite 356: Drei-, Vier- Und Fünf-Achs-Transformation (Traori)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.1 Allgemeine Zusammenhänge Kardanischer Werkzeugkopf Funktion Um optimale Schnittbedingungen beim Bearbeiten räumlich gekrümmter Flächen zu erzielen, muss der Anstellwinkel des Werkzeugs veränderbar sein. 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...
  • Seite 357 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) In den hier gezeigten Beispielen sehen Sie die Anordnungen am Beispiel mit dem Kardanischen Werkzeugkopf der Maschinenkinematik CA! Maschinenhersteller Die Achsfolge der Orientierungsachsen und die Orientierungsrichtung des Werkzeugs kann abhängig von der Maschinenkinematik über Maschinendaten eingestellt werden. In diesem Beispiel liegt A' unter dem Winkel φ...
  • Seite 358 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Allgemein gelten folgende mögliche Zusammenhänge: A' liegt unter dem Winkel φ zur X-Achse B' liegt unter dem Winkel φ zur Y-Achse C' liegt unter dem Winkel φ zur Z-Achse Der Winkel φ kann im Bereich 0° bis +89° über Maschinendaten projektiert werden. Mit schwenkbarer Linearachse Hierbei handelt es sich um eine Anordnung mit bewegtem Werkstück und bewegtem Werkzeug.
  • Seite 359: Drei, Vier, Und Fünf- Achs-Transformation (Traori)

    Transformationen 6.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 360 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung TRAORI(n) oder TRAORI(n,X,Y,Z,A,B) oder TRAFOOF Parameter Aktiviert die erste vereinbarte Orientierungstransformation TRAORI: Aktiviert die mit n vereinbarte Orientierungstransformation TRAORI(n): Nummer der Transformation (n = 1 oder 2), TRAORI(1) entspricht Orientierungstransformation ein Komponente des Orientierungsvektors, in die das Werkzeug zeigt. X,Y,Z: Programmierbarer Offset für die Rundachsen A,B:...
  • Seite 361: Varianten Der Orientierungsprogrammierung Und Grundstellung (Orireset)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beispiel Generische Transformationen Die Grundorientierung des Werkzeugs zeigt in: TRAORI(1,0,0,1) Z-Richtung TRAORI(1,0,1,0) Y-Richtung TRAORI(1,0,1,1) Y/Z-Richtung (entspricht Stellung -45°) Offset für Orientierungsachsen Bei Aktivierung der Orientierungstransformation kann ein zusätzlicher Offset für Orientierungsachsen direkt programmiert werden. Es dürfen Parameter weggelassen werden, wenn bei der Programmierung die richtige Reihenfolge eingehalten wird.
  • Seite 362 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Die Änderung der Orientierung des Werkzeuges kann auch über Orientierungsvektoren programmiert werden. Hierbei kann die Endorientierung jedes Satzes entweder durch direkte Programmierung des Vektors oder durch Programmierung der Rundachspositionen erfolgen. Hinweis Varianten der Orientierungsprogrammierung bei Drei- bis Fünf-Achs-Transformationen Bei der Drei- bis Fünf-Achs-Transformation schließen sich die Varianten 1.
  • Seite 363: Beispiele

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

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.4 Programmierung der Werkzeugorientierung (A..., B..., C..., LEAD, TILT) Funktion Für die Programmierung der Orientierung des Werkzeugs gibt es folgende Möglichkeiten: 1. Direkte Programmierung der Bewegung der Rundachsen. Die Orientierungsänderung erfolgt immer im Basis- bzw. Maschinen-Koordinatensystem. Die Orientierungsachsen werden als Synchronachsen verfahren.
  • Seite 365 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Definition der Werkzeugorientierung über G-Code Hinweis Maschinenhersteller Über Maschinendatum kann zwischen Euler- oder RPY-Winkeln umgeschaltet werden. Bei entsprechenden Maschinendaten Einstellungen ist eine Umschaltung sowohl abhängig als auch unabhängig vom aktiven G-Code der Gruppe 50 möglich. Folgende Einstellmöglichkeiten stehen zur Auswahl: 1.
  • Seite 366 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung G1 X Y Z A B C Programmierung der Bewegung der Rundachsen G1 X Y Z A2= B2= C2= Programmierung in Eulerwinkeln G1 X Y Z A3== B3== C3== Programmierung des Richtungsvektors G1 X Y Z A4== B4== C4== Programmierung des Flächennormalenvektors am Satzanfang...
  • Seite 367 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beispiel Gegenüberstellung ohne und mit 5-Achs-Transformation Beschreibung In der Regel werden 5-Achs-Programme von CAD/CAM-Systemen erzeugt und nicht an der Steuerung eingegeben. Deshalb wenden sich die folgenden Erklärungen hauptsächlich an Programmierer von Postprozessoren. Die Art der Orientierungsprogrammierung wird in der G-Code Gruppe 50 festgelegt: ORIEULER über Euler-Winkel ORIRPY über RPY-Winkel (Drehreihenfolge ZYX) ORIVIRT1 über virtuelle Orientierungsachsen (Definition 1)
  • Seite 368 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung in Eulerwinkeln ORIEULER Die bei der Orientierungsprogrammierung mit A2, B2, C2 programmierten Werte werden als Eulerwinkel (in Grad) interpretiert. Der Orientierungsvektor ergibt sich, indem ein Vektor in Z-Richtung zunächst mit A2 um die Z-Achse, dann mit B2 um die neue X-Achse und zuletzt mit C2 um die neue Z-Achse gedreht wird.
  • Seite 369: Programmierung In Rpy-Winkeln Orirpy

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung in RPY-Winkeln ORIRPY Die bei der Orientierungsprogrammierung mit A2, B2, C2 programmierten Werte werden als RPY-Winkel (in Grad) interpretiert. Hinweis Im Gegensatz zur Eulerwinkel-Programmierung haben hier alle drei Werte Einfluss auf den Orientierungsvektor.
  • Seite 370 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung des Richtungsvektors Die Komponenten des Richtungsvektors werden mit A3, B3, C3 programmiert. Der Vektor zeigt in Richtung Werkzeugaufnahme; die Länge des Vektors ist dabei ohne Bedeutung. Nicht programmierte Vektorkomponenten werden gleich Null gesetzt. Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 371 Transformationen 6.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 ●...
  • Seite 372: Stirnfräsen (3D-Fräsen A4, B4, C4, A5, B5, C5)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.5 Stirnfräsen (3D-Fräsen A4, B4, C4, A5, B5, C5) Funktion Stirnfräsen dient zur Bearbeitung beliebig gekrümmter Oberflächen. 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.
  • Seite 373 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung der Bahnkrümmung Beschreibung der Flächen Die Beschreibung der Bahnkrümmung erfolgt über Flächennormalenvektoren mit folgenden Komponenten: A4, B4, C4 Startvektor am Satzanfang A5, B5, C5 Endvektor am Satzende Steht in einem Satz nur der Startvektor, bleibt der Flächennormalenvektor über den ganzen Satz konstant.
  • Seite 374: Bezug Der Orientierungsachsen (Oriwks, Orimks)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.6 Bezug der Orientierungsachsen (ORIWKS, ORIMKS) Funktion Bei Orientierungsprogrammierung im Werkstückkoordinatensystem über ● Euler- bzw. RPY-Winkel oder ● Orientierungsvektor kann der Verlauf der Drehbewegung über ORIMKS/ORIWKS eingestellt werden. Hinweis Maschinenhersteller Die Interpolationsart für die Orientierung wird festgelegt mit dem Maschinendatum: MD21104 $MC_ORI_IPO_WITH_G_CODE = FALSE: Bezug sind die G-Funktionen ORIWKS und ORIMKS = TRUE: Bezug sind die G- Funktionen der 51.
  • Seite 375 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beschreibung 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.
  • Seite 376 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Maschinenhersteller Um die Maschinenachsen nicht zu überlasten, senkt die Geschwindigkeitsführung die Bahngeschwindigkeit in der Nähe der singulären Stellen stark ab. Mit den Maschinendaten $MC_TRAFO5_NON_POLE_LIMIT $MC_TRAFO5_POLE_LIMIT kann die Transformation so parametriert werden, dass Orientierungsbewegungen in der Nähe des Pols durch den Pol gelegt werden und eine zügige Bearbeitung möglich ist.
  • Seite 377: Programmierung Der Orientierungsachsen (Oriaxes, Orivect, Orieuler, Orirpy, Orirpy2, Orivirt1, Orivirt2)

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

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Parameter ORIAXES Lineare Interpolation der Maschinen- oder Orientierungsachsen ORIVECT Großkreisinterpolation (identisch mit ORIPLANE) ORIMKS Drehung im Maschinenkoordinatensystem ORIWKS Drehung im Werkstückkoordinatensystem Beschreibung siehe Kap. Drehungen der Werkzeugorientierung A= B= C= Programmierung der Maschinenachsposition ORIEULER Orientierungsprogrammierung über Euler-Winkel ORIRPY...
  • Seite 379 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Betriebsart JOG Die Orientierungswinkel werden in dieser Betriebsart immer linear interpoliert. Beim kontinuierlichen und inkrementellen Verfahren über Verfahrtasten kann nur eine Orientierungsachse verfahren werden. Über die Handräder können die Orientierungsachsen gleichzeitig verfahren werden. Für das Handverfahren von Orientierungsachsen wirkt der kanalspezifische Vorschub- Korrekturschalter bzw.
  • Seite 380: Orientierungsprogrammierung Entlang Einer Kegelmantelfläche (Oriplane, Oriconcw, Oriconccw, Oriconto, Oriconio)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 6.2.8 Orientierungsprogrammierung entlang einer Kegelmantelfläche (ORIPLANE, ORICONCW, ORICONCCW, ORICONTO, ORICONIO) Funktion Mit der erweiterten Orientierung ist es möglich, Orientierungsänderungen entlang sich einer im Raum befindlichen Kegelmantelfläche auszuführen. Die Interpolation des Orientierungsvektors auf einer Kegelmantelfläche erfolgt mit den modalen Befehlen ORICONxx.
  • Seite 381 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Hinweis Programmierung des Richtungsvektor A6, B6, C6 für die Drehachse des Kegels Die Programmierung einer Endorientierung ist nicht unbedingt erforderlich. Ist keine Endorientierung angegeben, dann wird ein voller Kegelmantel mit 360 Grad interpoliert. Programmierung des Öffnungswinkel des Kegels mit NUT=winkel Die Angabe einer Endorientierung ist zwingend erforderlich.
  • Seite 382 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Parameter ORIPLANE Interpolation in der Ebene (Großkreisinterpolation) ORICONCW Interpolation auf einer Kegelmantelfläche im Uhrzeigersinn ORICONCCW Interpolation auf einer Kegelmantelfläche gegen Uhrzeigersinn ORICONTO Interpolation auf einer Kegelmantelfläche tangentialer Übergang A6= B6= C6= Programmierung der Drehachse des Kegels (normierter Vektor) NUT=winkel Öffnungswinkel des Kegels in Grad...
  • Seite 383: Beispiel Unterschiedliche Orientierungsänderungen

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beispiel unterschiedliche Orientierungsänderungen … N10 G1 X0 Y0 F5000 N20 TRAORI(1) ; Orientierungstransformation ein. N30 ORIVECT ; Werkzeug-Orientierung als Vektor interpolieren. … ; Werkzeugorientierung in der Ebene. N40 ORIPLANE ; Großkreisinterpolation auswählen. N50 A3=0 B3=0 C3=1 N60 A3=0 B3=1 C3=1 ;...
  • Seite 384 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung von Kreisen in einer Ebene G2/G3, CIP und CT Die erweiterte Orientierung entspricht der Interpolation von Kreisen in einer Ebene. Zu den entsprechenden Programmiermöglichkeiten von Kreisen mit Mittelpunktsangabe oder Radiusangabe wie G2/G3, Kreis über Zwischenpunkt CIP und Tangentialkreise CT siehe Literatur: Programmierhandbuch Grundlagen, "Wegbefehle programmieren".
  • Seite 385: Orientierungsvorgabe Zweier Kontaktpunke (Oricurve, Po[Xh]=, Po[Yh]=, Po[Zh]=)

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

    Transformationen 6.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Orientierungspolynome (PO[Winkel], PO[Koordinate]) Funktion Unabhängig davon, welche Polynominterpolation der G-Code Gruppe 1 gerade aktiv ist, können zwei verschiedene Typen von Orientierungspolynomen bis maximal 5. Grades bei einer Drei- bis Fünf-Achs-Transformation programmiert werden. 1. Polynome für Winkel: Voreilwinkel LEAD, Seitwärtswinkel TILT in Bezug auf die Ebene, die von Start- und Endorientierung aufgespannt wird.
  • Seite 388 Transformationen 6.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Zusätzlich kann in beiden Fällen ein Polynom für die Drehung bei Sechs-Achs- Transformationen mit N… PO[THT]=(c2, c3, c4, c5) Bahnrelative Interpolation der Drehung oder N… PO[THT]=(d2, d3, d4, d5) absoluter, relative und tangentiale Interpolation zur Orientierungsänderung des Orientierungsvektors programmiert werden.
  • Seite 389 Transformationen 6.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Beschreibung Orientierungspolynomen können nicht programmiert werden ● wenn die Splineinterpolationen ASPLINE, BSPLINE, CSPLINE aktiv sind. Polynome vom Typ1 für Orientierungswinkel sind für jede Interpolationsart außer Spline d.h. bei Linearinterpolation mit Eilgang G00 bzw. mit Vorschub G01 bei Polynominterpolation mit POLY und bei Kreis- bzw.
  • Seite 390: Drehungen Der Werkzeugorientierung (Orirota, Orirotr, Orirott, Orirotc, Theta)

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

    Transformationen 6.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...
  • Seite 392 Transformationen 6.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) Bei der Interpolation von Satz N40 wird der Drehwinkel vom Startwert 0 Grad zum Endwert 90 Grad linear interpoliert. Im Satz N50 ändert sich der Drehwinkel von 90 Grad auf 180 Grad gemäß der Parabel θ(u) = +90u .
  • Seite 393: Bahnrelative Orientierungen

    Transformationen 6.5 Bahnrelative Orientierungen Bahnrelative Orientierungen 6.5.1 Orientierungsarten relativ zur Bahn Funktion Mit dieser erweiterten Funktion wird die relative Orientierung nicht nur am Satzende, sondern über den gesamten Bahnverlauf erreicht. Es wird die im Vorgängersatz erreichte Orientierung mittels Großkreisinterpolation in die programmierte Endorientierung überführt. Grundsätzlich gibt es zwei Möglichkeiten die gewünschte Orientierung relativ zur Bahn zu programmieren: 1.
  • Seite 394 Transformationen 6.5 Bahnrelative Orientierungen 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. Weitere Erläuterungen siehe Literatur: /FB3/ Funktionshandbuch Sonderfunktionen;...
  • Seite 395: Bahnrelative Drehung Der Werkzeugorientierung (Oripath, Oripaths, Drehwinkel)

    Transformationen 6.5 Bahnrelative Orientierungen 6.5.2 Bahnrelative Drehung der Werkzeugorientierung (ORIPATH, ORIPATHS, Drehwinkel) Funktion Bei einer Sechs-Achs-Transformation kann zur Werkzeugorientierung beliebig im Raum auch das Werkzeug mit einer dritten Rundachse um sich selbst gedreht werden. Bei bahnrelativer Drehung der Werkzeugorientierung mit ORIPATH bzw. ORIPATHS kann die zusätzliche Drehung über den Drehwinkel THETA programmiert werden.
  • Seite 396 Transformationen 6.5 Bahnrelative Orientierungen Die Werte der Winkel am Satzende werden mit LEAD=Wert, TILT=Wert bzw. THETA=Wert programmiert. Zusätzlich zu den konstanten Winkeln können für alle drei Winkel Polynome maximal 5. Grades programmiert werden. N... PO[PHI]=(a2, a3, a4, a5) Polynom für den Voreilwinkel LEAD N...
  • Seite 397: Bahnrelative Interpolation Der Werkzeugdrehung (Orirotc, Theta)

    Transformationen 6.5 Bahnrelative Orientierungen 6.5.3 Bahnrelative Interpolation der Werkzeugdrehung (ORIROTC, THETA) Funktion 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. Dabei kann für den Offsetwinkel mit PO[THT] ein Polynom bis maximal 5.
  • Seite 398 Transformationen 6.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"...
  • Seite 399 Transformationen 6.5 Bahnrelative Orientierungen Winkelprogrammierung virtueller Achsen A2= B2= C2= Orientierungsprogrammierung über virtuelle ORIVIRT1 Orientierungsachsen ORIVIRT2 (Definition 1), Festlegung nach MD $MC_ORIAX_TURN_TAB_1 (Definition 2), Festlegung nach MD $MC_ORIAX_TURN_TAB_2 Richtungsvektorprogrammierung der Richtungsachse A3= B3= C3= Interpolation in der Ebene (Großkreisinterpolation) ORIPLANE Interpolation auf einer Kegelmantelfläche im Uhrzeigersinn ORICONCW Interpolation auf einer Kegelmantelfläche gegen Uhrzeigersinn...
  • Seite 400: Glättung Des Orientierungsverlaufs (Oripaths A8=, B8=, C8=)

    Transformationen 6.5 Bahnrelative Orientierungen 6.5.4 Glättung des Orientierungsverlaufs (ORIPATHS A8=, B8=, C8=) Funktion Bei beschleunigungsstetigen Orientierungsänderungen an der Kontur sind Unterbrechungen der Bahnbewegungen, die besonders an einer Ecke der Kontur auftreten können unerwünscht. Der sich hieraus ergebene Knick im Orientierungsverlauf kann durch Einfügen eines eigenen Zwischensatzes geglättet werden.
  • Seite 401 Transformationen 6.5 Bahnrelative Orientierungen Bedeutung Werkzeugorientierung bezogen auf die Bahn, ein Knick im ORIPATHS Orientierungsverlauf wird 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. ORIPATHS Die bahnbezogene Werkzeugorientierung wird mit ORIPATHS aktiv.
  • Seite 402: Komprimierung Der Orientierung (Compon, Compcurv, Compcad)

    Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Funktion NC-Programme, in denen eine Orientierungstransformation (TRAORI) aktiv und die Orientierung mittels Richtungsvektoren programmiert ist, können unter Einhaltung von vorgegeben Toleranzen komprimiert werden. Hinweis Die Orientierungsbewegung wird nur bei aktiver Großkreisinterpolation komprimiert und ist so vom G-Code für die Orientierungsinterpolation abhängig.
  • Seite 403 Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Allgemeine Form eines komprimierbaren NC-Satzes Die allgemeine Form eines komprimierbaren NC-Satzes kann daher wie folgt aussehen: N... X=<...> Y=<...> Z=<...> A3=<...> B3=<...> C3=<...> THETA=<...> F=<...> bzw. N... X=<...> Y=<...> Z=<...> A2=<...> B2=<...> C2=<...> THETA=<...> F=<...> Hinweis Die Positionswerte können direkt (z.
  • Seite 404 Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Aktivierung / Deaktivierung Kompressor-Funktionen werden eingeschaltet durch die modalen G-Codes COMPON, COMPCURV bzw. COMPCAD. Beendet wird die Kompressor-Funktion mit COMPOF. Siehe " NC-Satz-Kompression (COMPON, COMPCURV, COMPCAD) (Seite 278) ". 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).
  • Seite 405 Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Beispiel Im nachfolgenden Programmbeispiel wird ein Kreis, der durch einen Polygonzug angenähert ist, komprimiert. Die Werkzeugorientierung bewegt sich dabei synchron dazu auf einem Kegelmantel. Obwohl die aufeinanderfolgenden programmierten Orientierungsänderungen unstetig verlaufen, generiert die Kompressor-Funktion einen glatten Verlauf der Orientierung. Programmierung Kommentar DEF INT ANZAHL=60...
  • Seite 406: Glättung Des Orientierungsverlaufs (Orison, Orisof)

    Transformationen 6.7 Glättung des Orientierungsverlaufs (ORISON, ORISOF) Glättung des Orientierungsverlaufs (ORISON, ORISOF) Funktion Mit der Funktion "Glättung des Orientierungsverlaufs (ORISON)" können Schwankungen der Orientierung über mehrere Sätze hinweg geglättet werden. Dadurch wird ein glatter Verlauf sowohl der Orientierung als auch der Kontur erzielt. Voraussetzung Die Funktion "Glättung des Orientierungsverlaufs (ORISON)"...
  • Seite 407 Transformationen 6.7 Glättung des Orientierungsverlaufs (ORISON, ORISOF) Beispiel Programmcode Kommentar TRAORI() ; Einschalten der Orientierungstransformation. ORISON ; Einschalten der Orientierungsglättung. $SC_ORISON_TOL=1.0 ; Toleranz der Orientierungsglättung = 1,0 Grad. X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1...
  • Seite 408 Transformationen 6.7 Glättung des Orientierungsverlaufs (ORISON, ORISOF) Weitere Informationen Anzahl der Sätze Die Glättung des Orientierungsverlaufs erfolgt über eine projektierte Anzahl von Sätzen, die im Maschinendatum MD28590 $MC_MM_ORISON_BLOCKS hinterlegt ist. Hinweis Wird die Glättung des Orientierungsverlaufs mit ORISON aktiviert, ohne dass ausreichend Satzspeicher dafür projektiert wurde (MD28590 <...
  • Seite 409: Kinematische Transformation

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

    Transformationen 6.8 Kinematische Transformation Beschreibung Zum Durchfahren des Pols gibt es zwei Möglichkeiten: ● Verfahren der Linearachse allein ● Verfahren in den Pol mit Drehung der Rundachse im Pol und Fahren aus dem Pol Die Auswahl erfolgt über die MD 24911 und 24951. TRANSMIT mit zusätzlicher Y-Linearachse (Transformationstyp 257): Diese Tranformationsvariante der Polar-Transformation nützt bei einer Maschine mit einer weiteren Linearachse die Redundanz aus, um eine verbesserte Werkzeugkorrektur...
  • Seite 413 Transformationen 6.8 Kinematische Transformation TRACYL Transformationstypen Die Zylindermantelkoordinatentransformation gibt es in drei Ausprägungen: ● TRACYL ohne Nutwandkorrektur: (TRAFO_TYPE_n=512) ● TRACYL mit Nutwandkorrektur: (TRAFO_TYPE_n=513) ● TRACYL mit zusätzlicher Linearachse und mit Nutwandkorrektur: (TRAFO_TYPE_n=514) Die Nutwandkorrektur wird mit TRACYL über den dritten Parameter parametriert. Bei Zylindermantelkurventransformation mit Nutwandkorrektur sollte die für die Korrektur verwendete Achse auf Null (y=0) stehen, damit die Nut mittig zur programmierten Nutmittellinie gefertigt wird.
  • Seite 414 Transformationen 6.8 Kinematische Transformation Syntax TRACYL(d) oder TRACYL(d, n) oder für Transformationstyp 514 TRACYL(d, n, Nutwandkorrektur) TRAFOOF Rundachse Die Rundachse kann nicht programmiert werden, da sie von einer Geometrie-Achse belegt wird und somit als Kanalachse nicht direkt programmierbar ist. Bedeutung Aktiviert die erste in den Kanalmaschinendaten vereinbarte TRACYL(d) TRACYL-Funktion.
  • Seite 415 Transformationen 6.8 Kinematische Transformation Beispiel: Definition des Werkzeugs Folgendes Beispiel ist geeignet, die Parametrierung der Zylindertransformation TRACYL zu testen: Programmcode Kommentar Werkzeugparameter Bedeutung Bemerkung Nummer (DP) $TC_DP1[1,1]=120 Werkzeugtyp Fräser $TC_DP2[1,1]=0 Schneidenlage nur für Drehwerkzeuge Programmcode Kommentar Geometrie Längenkorrektur $TC_DP3[1,1]=8. Längenkorrekturvektor Verrechnung nach Typ $TC_DP4[1,1]=9.
  • Seite 416: Beispiel: Fertigen Einer Hakenförmigen Nut

    Transformationen 6.8 Kinematische Transformation Beispiel: Fertigen einer hakenförmigen Nut Zylindermanteltransformation einschalten: Programmcode Kommentar N10 T1 D1 G54 G90 F5000 G94 ; Werkzeuganwahl, Aufspannkompensation N20 SPOS=0 ; Anfahren der Ausgangsstellung N30 G0 X25 Y0 Z105 CC=200 N40 TRACYL (40) ; Zylindermantelkurventransformation ;einschalten N50 G19 ;...
  • Seite 417: Beschreibung

    Transformationen 6.8 Kinematische Transformation Programmcode Kommentar N140 G1 Z105 G40 ; Abfahren von der Nutwand N150 G1 X25 ; Freifahren N160 TRAFOOF N170 G0 X25 Y0 Z105 CC=200 ; Anfahren der Ausgangsstellung N180 M30 Beschreibung Ohne Nutwandkorrektur (Transformationstyp 512): Die Steuerung transformiert die programmierten Verfahrbewegungen des Zylinder- Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen: ●...
  • Seite 418 Transformationen 6.8 Kinematische Transformation Mit Nutwandkorrektur (Transformationstyp 513): Kinematik wie oben, aber zusätzlich –Längsachse parallel zur Umfangsrichtung Die Linearachsen stehen senkrecht aufeinander. Die Geschwindigkeitsführung berücksichtigt die für die Drehbewegungen definierten Begrenzungen. Nutquerschnitt Bei Achskonfiguration 1 sind Nuten längs zur Rundachse nur dann parallel begrenzt, wenn die Nutbreite genau dem Werkzeugradius entspricht.
  • Seite 419 Transformationen 6.8 Kinematische Transformation Mit zusätzlicher Linearachse und mit Nutwandkorrektur (Transformationstyp 514): Diese Transformationsvariante nützt bei einer Maschine mit einer weiteren Linearachse die Redundanz aus, um eine verbesserte Werkzeugkorrektur durchzuführen. Für die zweite Linearachse gilt dann: ● ein kleinerer Arbeitsbereich und ●...
  • Seite 420 Transformationen 6.8 Kinematische Transformation OFFN wird erst mit angewählter Werkzeugradiuskorrektur wirksam, um eine Beschädigung der Nutwand zu vermeiden). Ferner sollte OFFN>=Werkzeugradius sein, um eine Beschädigung der gegenüberliegenden Nutwand auszuschließen. Ein Teileprogramm zum Fräsen einer Nut besteht in der Regel aus folgenden Schritten: 1.
  • Seite 421 Transformationen 6.8 Kinematische Transformation Besonderheiten ● WRK-Anwahl: WRK wird nicht hinsichtlich der Nutwand, sondern relativ zur programmierten Nutmittenlinie programmiert. Damit das Werkzeug links von der Nutwand fährt, wird G42 eingegeben (anstatt G41). Sie vermeiden dies, wenn in OFFN die Nutbreite mit negativem Vorzeichen eingetragen wird.
  • Seite 422: Schräge Achse (Traang)

    Transformationen 6.8 Kinematische Transformation 6.8.3 Schräge Achse (TRAANG) Funktion Die Funktion Schräge Achse ist für die Technologie Schleifen gedacht und ermöglicht folgende Leistungen: ● Bearbeitung mit schräger Zustellachse ● Für die Programmierung kann ein kartesisches Koordinatensystem verwendet werden. ● Die Steuerung transformiert die programmierten Verfahrbewegungen des kartesischen Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen (Standardfall): schräge Zustellachse.
  • Seite 423 Transformationen 6.8 Kinematische Transformation Bedeutung Transformation mit der Parametrierung der vorhergehenden Anwahl TRAANG( ) aktivieren. oder TRAANG( ,n) Aktiviert die erste vereinbarte Transformation Schräge Achse TRAANG(α) Aktiviert die n. vereinbarte Transformation Schräge Achse. n darf TRAANG(α,n) maximal 2 sein. TRAANG(α,1) entspricht TRAANG(α). Winkel der schrägstehenden Achse αA Zulässige Werte für α...
  • Seite 424 Transformationen 6.8 Kinematische Transformation Beispiel Programmcode Kommentar N10 G0 G90 Z0 MU=10 G54 F5000 -> ; Werkzeuganwahl, Aufspannkompensation, -> G18 G64 T1 D1 Ebenenanwahl N20 TRAANG(45) ; Transformation Schräge Achse einschalten N30 G0 Z10 X5 ; Anfahren der Ausgangsstellung N40 WAITP(Z) ;...
  • Seite 425 Transformationen 6.8 Kinematische Transformation Beschreibung Folgende Bearbeitungen sind möglich: 1. Längsschleifen 2. Planschleifen 3. Schleifen einer bestimmten Kontur 4. Schrägeinstechschleifen Maschinenhersteller Folgende Einstellungen werden über Maschinendatum festgelegt: ● der Winkel zwischen einer Maschinenachse und der schrägen Achse, ● die Lage des Werkzeugnullpunktes bezogen auf den Ursprung des bei der Funktion "Schräge Achse"...
  • Seite 426: Schräge Achse Programmieren (G05, G07)

    Transformationen 6.8 Kinematische Transformation Achskonfiguration Um im kartesischen Koordinatensystem programmieren zu können, muss der Steuerung der Zusammenhang zwischen diesem Koordinatensystem und den tatsächlich existierenden Maschinenachsen (MU, MZ) mitgeteilt werden: ● Benennung der Geometrieachsen ● Zuordnung der Geometrieachsen zu Kanalachsen – allgemeiner Fall (Schräge Achse nicht aktiv) –...
  • Seite 427: Bedeutung

    Transformationen 6.8 Kinematische Transformation Syntax Die Befehle G07/G05 dienen der Erleichterung der Programmierung der Schrägen Achse. Dabei können Positionen im kartesischen Koordinatensystem programmiert und angezeigt werden. Die Werkzeugkorrektur und Nullpunktverschiebung werden kartesisch eingerechnet. Nach der Programmierung des Winkels für die Schräge Achse im NC–Programm kann die Startposition angefahren werden (G07) und danach das Schrägeinstechen (G05) vollzogen werden.
  • Seite 428: Kartesisches Ptp-Fahren

    Transformationen 6.9 Kartesisches PTP-Fahren Kartesisches PTP-Fahren Funktion Mit dieser Funktion kann eine Position in einem kartesischen Koordinatensystem programmiert werden, die Bewegung der Maschine erfolgt aber in Maschinenkoordinaten. Die Funktion kann beispielsweise beim Wechseln der Gelenkstellung angewendet werden, wenn dabei die Bewegung durch eine Singularität führt. Hinweis Die Funktion ist nur in Verbindung mit einer aktiven Transformation sinnvoll.
  • Seite 429 Transformationen 6.9 Kartesisches PTP-Fahren Mehrdeutigkeiten der Orientierung mit Vektoren Bei der Programmierung der Orientierung mit Vektoren gibt es eine Mehrdeutigkeit in den möglichen Rundachspositionen. Die anzufahrenden Rundachspositionen können dabei durch die Programmierung von STAT = <...> ausgewählt werden. Wird STAT = 0 programmiert wird (dies entspricht der Standardeinstellung), werden die Positionen, die den kürzesten Abstand zu den Startpositionen haben angefahren.
  • Seite 430 Transformationen 6.9 Kartesisches PTP-Fahren Beispiel Ausgangsstellung N10 G0 X0 Y-30 Z60 A-30 F10000 → Ellbogen oben Transformation ein N20 TRAORI(1) N30 X1000 Y0 Z400 A0 Umorientierung ohne Transformation N40 X1000 Z500 A0 STAT='B10' TU='B100' PTP → Ellbogen unten Transformation wieder aktiv N50 X1200 Z400 CP N60 X1000 Z500 A20 N70 M30...
  • Seite 431: Beschreibung

    Transformationen 6.9 Kartesisches PTP-Fahren Beispiel PTP-Fahren bei generischer 5-Achs Transformation Annahme: Es liegt eine rechtwinklige CA–Kinematik zu Grunde. Programmcode Kommentar TRAORI ; Transformation CA-Kinematik ein ; PTP-Fahren einschalten N10 A3 = 0 B3 = 0 C3 = 1 ; Rundachspositionen C = 0 A = 0 N20 A3 = 1 B3 = 0 C3 = 1 ;...
  • Seite 432 Transformationen 6.9 Kartesisches PTP-Fahren Programmierung der Stellung (STAT=) Eine Maschinenstellung ist allein durch die Positionsangabe mit kartesischen Koordinaten und der Orientierung des Werkzeugs nicht eindeutig bestimmt. Je nachdem, um welche Kinematik es sich handelt, existieren bis zu 8 unterschiedliche bzw. unterscheidende Gelenkstellungen.
  • Seite 433 Transformationen 6.9 Kartesisches PTP-Fahren Beispiel Auswertung von TU für generische 5/6-Achs Transformation und Zielpositionen Die Variable TU enthält für jede Achse, die in die Transformation eingeht, ein Bit, das die Verfahrrichtung anzeigt. Die Zuordnung der TU–Bits entspricht der Kanalachssicht der Rundachsen.
  • Seite 434 Transformationen 6.9 Kartesisches PTP-Fahren Überlagerte Bewegungen DRF-Verschiebung oder externe Nullpunktverschiebung sind beim kartesischen PTP-Fahren nur eingeschränkt möglich. Beim Wechsel von einer PTP- nach einer CP-Bewegung dürfen keine Überlagerungen im BKS vorhanden sind. Überschleifen zwischen CP- und PTP-Bewegungen Zwischen den Sätzen ist mit G641 ein programmierbares Übergangsverschleifen möglich. Die Größe des Verschleifbereiches ist der Bahnweg in mm oder Inch, ab dem bzw.
  • Seite 435: Ptp Bei Transmit

    Transformationen 6.9 Kartesisches PTP-Fahren 6.9.1 PTP bei TRANSMIT Funktion Mit PTP bei TRANSMIT können G0- und G1-Sätze zeitoptimiert angefahren werden. Anstatt die Achsen des Basiskoordinatensystems linear zu verfahren (CP), werden die Maschinenachsen linear verfahren (PTP). Dadurch wirkt sich der Maschinenachsverlauf in Polnähe so aus, dass der Satzendpunkt erheblich schneller erreicht werden kann.
  • Seite 436 Transformationen 6.9 Kartesisches PTP-Fahren Beispiel Umfahren des Poles mit PTP und TRANSMIT Programmcode Kommentar N001 G0 X30 Z0 F10000 T1 D1 G90 Ausgangsstellung Absolutmaß N002 SPOS=0 N003 TRANSMIT Transformation TRANSMIT N010 PTPG0 zu jedem G0-Satz automatisch PTP und danach wieder CP N020 G0 X30 Y20 N030 X-30 Y-20 N120 G1 X30 Y20...
  • Seite 437: Beispiel Herausfahren Aus Dem Pol Mit Ptp Und Transmit

    Transformationen 6.9 Kartesisches PTP-Fahren Beispiel Herausfahren aus dem Pol mit PTP und TRANSMIT N070 X20 Y2 N060 X0 Y0 N050 X10 Y0 Programmierung Kommentar N001 G0 X90 Z0 F10000 T1 D1 G90 Ausgangsstellung N002 SPOS=0 N003 TRANSMIT Transformation TRANSMIT N010 PTPG0 zu jedem G0-Satz automatisch PTP und danach wieder CP N020 G0 X90 Y60...
  • Seite 438 Transformationen 6.9 Kartesisches PTP-Fahren Beschreibung PTP und PTPG0 PTPG0 wird bei allen Transformationen berücksichtigt, die PTP abarbeiten können. In allen anderen Fällen ist PTPG0 nicht relevant. G0-Sätze werden im CP-Mode abgefahren. Die Anwahl von PTP bzw. PTPG0 erfolgt im Teileprogramm oder durch die Abwahl von CP im Maschinendatum $MC_GCODE_RESET_VALUES[48].
  • Seite 439 Transformationen 6.9 Kartesisches PTP-Fahren PTP bei TRACON: PTP kann auch mit TRACON genutzt werden, wenn die erste verkettete Transformation PTP unterstützt. Bedeutung von STAT= und TU= bei TRANSMIT Soll die Rundachse um 180 Grad drehen, bzw. die Kontur bei CP durch den Pol führen, können Rundachsen abhängig vom Maschinendatum $MC_TRANSMIT_POLE_SIDE_FIX_1/2 [48] um -/+ 180 Grad gedreht und im oder gegen den Uhrzeigersinn verfahren werden.
  • Seite 440: Randbedingungen Bei Der Anwahl Einer Transformation

    Transformationen 6.10 Randbedingungen bei der Anwahl einer Transformation 6.10 Randbedingungen bei der Anwahl einer Transformation Funktion Die Anwahl von Transformationen ist über Teileprogramm bzw. MDA möglich. Dabei ist zu beachten: ● Ein Bewegungszwischensatz wird nicht eingefügt (Fasen/Radien). ● Eine Spline-Satzfolge muss abgeschlossen sein; wenn nicht, erscheint eine Meldung. ●...
  • Seite 441 Transformationen 6.10 Randbedingungen bei der Anwahl einer Transformation Framewechsel Alle Anweisungen, die sich nur auf das Basis-Koordinatensystem beziehen, sind erlaubt (FRAME, Werkzeugradiuskorrektur). Ein Framewechsel bei G91 (Kettenmaß) wird aber – anders als bei inaktiver Transformation – nicht gesondert behandelt. Das zu fahrende Inkrement wird im Werkstück-Koordinatensystem des neuen Frames ausgewertet –...
  • Seite 442: Transformation Abwählen (Trafoof)

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

    Transformationen 6.12 Verkettete Transformationen (TRACON, TRAFOOF) 6.12 Verkettete Transformationen (TRACON, TRAFOOF) Funktion Jeweils zwei Transformationen können hintereinander geschaltet (verkettet) werden, so dass die Bewegungsanteile für die Achsen aus der ersten Transformation Eingangsdaten für die verkettete zweite Transformation sind. Die Bewegungsanteile aus der zweiten Transformation wirken auf die Maschinenachsen.
  • Seite 444 Transformationen 6.12 Verkettete Transformationen (TRACON, TRAFOOF) Syntax TRACON(trf,par) Eine verkettete Transformation wird eingeschaltet. TRAFOOF Bedeutung Die verkettete Transformation wird eingeschaltet. Eine zuvor aktivierte TRACON andere Transformation wird durch TRACON() implizit ausgeschaltet. Die zuletzt eingeschaltete (verkettete) Transformation wird ausgeschaltet. TRAFOOF Nummer der verketteten Transformation: 0 oder 1 für erste/einzige verkettete Transformation.
  • Seite 445 Transformationen 6.12 Verkettete Transformationen (TRACON, TRAFOOF) Voraussetzung Die zweite Transformation muss "Schräge Achse" (TRAANG) sein. Als erste Transformation sind möglich: ● Orientierungstransformationen (TRAORI), einschließlich Kardanischer Fräskopf ● TRANSMIT ● TRACYL ● TRAANG Für die Benutzung des Einschaltbefehles für eine verkettete Transformation ist Voraussetzung, dass die einzelnen zu verkettenden Transformationen und die zu aktivierende verkettete Transformation durch Maschinendaten definiert sind.
  • Seite 446 Transformationen 6.12 Verkettete Transformationen (TRACON, TRAFOOF) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 447: Werkzeugkorrekturen

    Werkzeugkorrekturen Korrekturspeicher Funktion Aufbau des Korrekturspeichers Jedes Datenfeld ist mit einer T- und D-Nummer aufrufbar (außer "Flache D-Nr.") und enthält neben den geometrischen Angaben für das Werkzeug noch weitere Einträge, z. B. den Werkzeugtyp. Flache D-Nummern-Struktur Die "flache D-Nummern-Struktur" wird verwendet, wenn die Werkzeugverwaltung außerhalb des NCK erfolgt.
  • Seite 448 Werkzeugkorrekturen 7.1 Korrekturspeicher Werkzeugparameter Bedeutung der Systemvariablen Bemerkung Nummer (DP) $TC_DP1 Werkzeugtyp Übersicht siehe Liste $TC_DP2 Schneidenlage nur für Drehwerkzeuge Geometrie Längenkorrektur $TC_DP3 Länge 1 Verrechnung nach $TC_DP4 Länge 2 Typ und Ebene $TC_DP5 Länge 3 Geometrie Radius $TC_DP6 Radius 1 / Länge 1 Fräs-/Dreh-/Schleifwerkz.
  • Seite 449 Werkzeugkorrekturen 7.1 Korrekturspeicher Anmerkungen Für die geometrischen Größen (z. B. Länge 1 oder Radius) bestehen mehrere Eintragskomponenten. Diese werden zu einer resultierenden Größe additiv verrechnet (z. B. Gesamtlänge 1, Gesamtradius), die dann zur Wirkung kommt. Nicht benötigte Korrekturen sind mit dem Wert Null zu belegen. Werkzeugparameter $TC-DP1 bis $TC-DP23 mit Konturwerkzeugen Hinweis Die Werkzeugparameter, die in der Tabelle nicht aufgeführt sind wie z.B.
  • Seite 450 Werkzeugkorrekturen 7.1 Korrekturspeicher Grundwert und Verschleißwert Die resultierenden Größen ergeben sich jeweils als Summe aus Grundwert und Verschleißwert (z. B. $TC_DP6 + $TC_DP15 für den Radius). Zur Werkzeuglänge der ersten Schneide wird außerdem noch das Basismaß ($TC_DP21 – $TC_DP23) addiert. Zusätzlich wirken auf diese Werkzeuglänge alle anderen Größen, die auch bei einem herkömmlichen Werkzeug die effektive Werkzeuglänge beeinflussen können (Adapter, orientierbarer Werkzeugträger, Settingdaten).
  • Seite 451: Additive Korrekturen

    Werkzeugkorrekturen 7.2 Additive Korrekturen Additive Korrekturen 7.2.1 Additive Korrekturen anwählen (DL) Funktion Additive Korrekturen können als in der Bearbeitung programmierbare Prozesskorrekturen betrachtet werden. Sie beziehen sich auf die geometrischen Daten einer Schneide und sind somit Bestandteil der Werkzeugschneidendaten. Die Daten einer additiven Korrektur werden über eine DL-Nummer angesprochen (DL: Location dependent;...
  • Seite 452 Werkzeugkorrekturen 7.2 Additive Korrekturen Beispiel Die gleiche Schneide wird für 2 Lagersitze verwendet: Programmcode Kommentar N110 T7 D7 ; Der Revolver wird auf Platz 7 positioniert. D7 und DL=1 werden aktiviert und im nächsten Satz herausgefahren. N120 G0 X10 Z1 N130 G1 Z-6 N140 G0 DL=2 Z-14 ;...
  • Seite 453: Verschleiß- Und Einrichtewerte Festlegen ($Tc_Scpxy[T,D], $Tc_Ecpxy[T,D])

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

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

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Werkzeugkorrektur - Sonderbehandlung Funktion Mit den Settingdaten SD42900 bis SD42960 lässt sich die Bewertung der Vorzeichen für Werkzeuglänge und Verschleiß steuern. Das gilt ebenfalls für das Verhalten der Verschleißkomponenten beim Spiegeln von Geometrieachsen oder beim Wechsel der Bearbeitungsebene und auch zur Temperaturkompensation in Werkzeugrichtung.
  • Seite 456 Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 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. Ist ein Werkzeug bereits aktiv und die Bewertung der Daten dieses Werkzeugs soll verändert wirksam werden, muss dieses Werkzeug erneut angewählt werden.
  • Seite 457: Werkzeuglängen Spiegeln

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Weitere Anwendungsmöglichkeiten Die Verwendung der Funktionalität orientierbarer Werkzeugträger kann auch dann sinnvoll sein, wenn an der Maschine physikalisch keine Möglichkeit vorgesehen ist, Werkzeuge zu drehen, Werkzeuge aber mit verschiedenen Orientierungen fest installiert sind. Die Werkzeugvermaßung kann dann einheitlich in einer Grundorientierung vorgenommen werden, und die für die Bearbeitung relevanten Maße ergeben sich durch Drehungen eines virtuellen Werkzeugträgers.
  • Seite 458: Vorzeichenbewertung Verschleiß

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 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. Die Verschleißwerte werden nicht mitgespiegelt. Sollen diese ebenfalls gespiegelt werden, muss das Settingdatum SD42910 $SC_MIRROR_TOOL_WEAR gesetzt sein.
  • Seite 459 Werkzeugkorrekturen 7.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. B. das Vorzeichen einer Maßangabe durch beide Settingdaten geändert wird, bleibt das resultierende Vorzeichen unverändert.
  • Seite 460: Koordinatensystem Der Aktiven Bearbeitung (Towstd, Towmcs, Towwcs, Towbcs, Towtcs, Towkcs)

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.3 Koordinatensystem der aktiven Bearbeitung (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) Funktion Abhängig von der Kinematik der Maschine oder vom Vorhandensein eines orientierbaren Werkzeugträgers werden die in einem dieser Koordinatensysteme gemessenen Verschleißwerte in ein geeignetes Koordinatensystem überführt bzw. transformiert. Koordinatensysteme der aktiven Bearbeitung Aus den folgenden Koordinatensystemen können Offsets der Werkzeuglänge hervorgehen, welche die Werkzeuglängenkomponente Verschleiß...
  • Seite 461: Weitere Informationen

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Weitere Informationen Unterscheidungsmerkmale In der folgenden Tabelle sind die wichtigsten Unterscheidungsmerkmale dargestellt: G-Code Verschleißwert Aktiver orientierbarer Werkzeugträger TOWSTD Grundstellungswert, Werkzeuglänge Verschleißwerte unterliegen der Drehung. TOWMCS Verschleißwert Im MKS. TOWMCS ist Es dreht nur der Vektor der mit TOWSTD identisch, wenn kein resultierenden Werkzeuglänge orientierbarer WZ-Träger aktiv ist.
  • Seite 462 Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Keine kinematische Transformation und kein orientierbarer Werkzeugträger Ist weder eine kinematische Transformation noch ein orientierbarer Werkzeugträger aktiv, dann fallen bis auf das WKS alle weiteren vier Koordinatensysteme zusammen. Damit unterscheidet sich nur das WKS von den übrigen. Da ausschließlich Werkzeuglängen zu bewerten sind, haben Translationen zwischen den Koordinatensystemen keine Bedeutung.
  • Seite 463: Werkzeuglänge Und Ebenenwechsel

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Hinweis Die Bewertung der einzelnen Verschleißkomponenten (Zuordnung zu den Geometrieachsen, Vorzeichenbewertung) wird beeinflusst durch: • die aktive Ebene • die Adaptertransformation • folgende Settingdaten: – SD42910 $SC_MIRROW_TOOL_WEAR – SD42920 $SC_WEAR_SIGN_CUTPOS – SD42930 $SC_WEAR_SIGN – SD42940 $SC_TOOL_LENGTH_CONST –...
  • Seite 464 Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 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 465: Online-Werkzeugkorrektur (Putftocf, Fctdef, Putftoc, Ftocon, Ftocof)

    Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Funktion Mit aktiver Funktion "Online-Werkzeugkorrektur" wird bei Schleifwerkzeugen eine Werkzeuglängenkorrektur, die sich aus der Bearbeitung ergibt, sofort eingerechnet. Ein Anwendungsbeispiel ist das CD-Abrichten, bei dem die Schleifscheibe parallel zur Bearbeitung abgerichtet wird: Die Werkzeuglängenkorrektur kann aus dem Bearbeitungskanal oder einem parallelen Kanal (Abrichterkanal) verändert werden.
  • Seite 466 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Zum Schreiben der Online-WZK werden je nach gewünschtem Zeitpunkt des Abrichtvorgangs unterschiedliche Funktionen verwendet: ● Schreiben kontinuierlich satzweise (PUTFTOCF) Mit PUTFTOCF erfolgt der Abrichtvorgang zeitgleich mit der Bearbeitung. Die Werkzeugkorrektur wird im Bearbeitungskanal kontinuierlich nach einer Polynom- Funktion 1., 2.
  • Seite 467 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Bedeutung Online-WZK einschalten FTOCON: FTOCON muss in dem Kanal programmiert werden, in dem die Online-WZK wirksam werden soll. Online-WZK abbrechen FTOCOF: Mit FTOCOF wird die Korrektur nicht weiter herausgefahren, in den schneidenspezifischen Korrekturdaten ist jedoch der komplette mit PUTFTOC/PUTFTOCF geschriebene Betrag korrigiert.
  • Seite 468 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Funktion "Online-WZK schreiben kontinuierlich satzweise" aufrufen PUTFTOCF: Parameter: Nummer der Polynom-Funktion <Funktion>: Typ: Hinweis: Muss mit der Angabe bei FCTDEF übereinstimmen. Variabler Bezugswert, von dem die Korrektur <Bezugswert>: abgeleitet werden soll (z. B. sich verändernder Istwert).
  • Seite 469 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Beispiel Flachschleifmaschine mit: ● Y: Zustellachse für die Schleifscheibe ● V: Zustellachse für die Abrichtrolle ● Bearbeitungskanal: Kanal 1 mit den Achsen X, Z, Y ● Abrichtkanal: Kanal 2 mit Achse V Nach Beginn der Schleifbewegung soll bei X100 die Schleifscheibe um den Betrag 0,05 abgerichtet werden.
  • Seite 470 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Abrichtprogramm in Kanal 2: Programmcode Kommentar … N40 FCTDEF(1,–1000,1000,–$AA_IW[V],1) ; Funktion definieren: Gerade mit Steigung=1. N50 PUTFTOCF(1,$AA_IW[V],3,1) ; Online-WZK schreiben kontinuierlich: abgeleitet von der Bewegung der V-Achse wird die Länge 3 der aktuellen Schleifscheibe in Kanal 1 korrigiert.
  • Seite 471: Aktivierung 3D-Werkzeugkorrekturen (Cut3Dc

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 7.5.1 Aktivierung von 3D-Werkzeugkorrekturen (CUT3DC, CUT3DF, CUT3DFS, CUT3DFF, ISD) Funktion Bei der Werkzeugradiuskorrektur für zylindrische Werkzeuge wird die veränderliche Werkzeugorientierung berücksichtigt. Für die Anwahl der 3D-Werkzeugradiuskorrektur gelten die gleichen Programmbefehle wie bei der 2D-Werkzeugradiuskorrektur.
  • Seite 472 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Syntax CUT3DC CUT3DFS CUT3DFF CUT3DF ISD=<Wert> Bedeutung CUT3DC Aktivierung der 3D-Radiuskorrektur für das Umfangsfräsen CUT3DFS D-Werkzeugkorrektur für das Stirnfräsen mit konstanter Orientierung. Die Werkzeugorientierung ist durch G17 - G19 festgelegt und wird durch Frames nicht beeinflusst. CUT3DFF D-Werkzeugkorrektur für das Stirnfräsen mit konstanter Orientierung.
  • Seite 473 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Randbedingungen ● G450/G451 und DISC An Außenecken wird immer ein Kreissatz eingefügt. G450/G451 haben keine Bedeutung. Der Befehl DISC wird nicht ausgewertet. Beispiel Programmcode Kommentar N10 A0 B0 X0 Y0 Z0 F5000 N20 T1 D1 ;...
  • Seite 474: Werkzeugkorrektur: Umfangfräsen, Stirnfräsen

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 7.5.2 3D-Werkzeugkorrektur: Umfangfräsen, Stirnfräsen Umfangsfräsen Die hier benutzte Variante des Umfangsfräsens ist durch die Vorgabe einer Bahn (Leitlinie) und der zugehörigen Orientierung realisiert. Bei dieser Art der Bearbeitung ist auf der Bahn die Werkzeugform ohne Bedeutung. Entscheidend ist allein der Radius am Werkzeugeingriffspunkt.
  • Seite 475 Werkzeugkorrekturen 7.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.
  • Seite 476: Werkzeugkorrektur: Werkzeugformen Und Werkzeugdaten Für Stirnfräsen

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

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 7.5.4 3D-Werkzeugkorrektur: Korrektur auf der Bahn, Bahnkrümmung, Eintauchtiefe (CUT3DC, ISD) Funktion Korrektur auf der Bahn Beim Stirnfräsen muss der Fall betrachtet werden, dass der Berührpunkt auf der Werkzeugoberfläche springt. Wie in diesem Beispiel bei der Bearbeitung einer konvexen Fläche mit senkrecht stehendem Werkzeug.
  • Seite 479 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Bahnkrümmung Die Bahnkrümmung wird nicht überwacht. Auch hier empfiehlt es sich, nur solche Werkzeuge zu verwenden, mit denen ohne Konturverletzung gearbeitet werden kann. Eintauchtiefe (ISD) Die Eintauchtiefe ISD wird nur bei aktiver 3D-Werkzeugradiuskorrektur ausgewertet. Mit dem Programmbefehl ISD (Insertion Depth) wird die Eintauchtiefe des Werkzeugs beim Umfangsfräsen programmiert.
  • Seite 480 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Fräserhilfspunkt Der Fräserhilfspunkt (FH) entsteht durch Projektion des programmierten Bearbeitungspunkts auf die Werkzeugachse. Weitere Informationen Taschenfräsen mit schrägen Seitenwänden für Umfangsfräsen mit CUT3DC Bei dieser 3D-Werkzeugradiuskorrektur wird eine Abweichung des Fräserradius kompensiert, indem in Richtung der Flächennormalen der zu bearbeitenden Fläche zugestellt wird.
  • Seite 481: Werkzeugkorrektur: Innenecken/Außenecken Und Schnittpunktverfahren (G450/G451)

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 7.5.5 3D-Werkzeugkorrektur: Innenecken/Außenecken und Schnittpunktverfahren (G450/G451) Funktion Innenecken/Außenecken Außen- und Innenecken werden getrennt behandelt. Die Bezeichnung Innen- oder Außenecke ist abhängig von der Werkzeugorientierung. Bei Orientierungsänderungen an einer Ecke kann der Fall auftreten, dass sich der Eckentyp während der Bearbeitung ändert.
  • Seite 482 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Weitere Informationen Schnittpunktverfahren für 3D-Korrektur Bei 3D-Umfangsfräsen wird jetzt an Außenecken der G-Code G450/G451 ausgewertet, d. h. es kann der Schnittpunkt der Offset-Kurven angefahren werden. Bis SW 4 wurde an Außenecken immer ein Kreis eingefügt. Das verfügbare Schnittpunktverfahren ist bei typischen CAD-erzeugten 3D-Programmen besonders vorteilhaft.
  • Seite 483: Werkzeugkorrektur: 3D-Umfangsfräsen Mit Begrenzungsflächen

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 7.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. Damit diese so erzeugten Sätze vieler Teilekonturen die ursprüngliche Originalkontur möglichst genau nachbilden, ist es notwendig im Teileprogramm gewisse Anpassungen vorzunehmen.
  • Seite 484: Werkzeugkorrektur: Berücksichtigung Einer Begrenzungsfläche (Cut3Dcc, Cut3Dccd)

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 7.5.7 3D-Werkzeugkorrektur: Berücksichtigung einer Begrenzungsfläche (CUT3DCC, CUT3DCCD) Funktion 3D-Umfangsfräsen mit realen Werkzeugen Beim 3D-Umfangsfräsen mit kontinuierlicher oder konstanter Veränderung der Werkzeugorientierung wird häufig die Werkzeugmittelpunktsbahn für ein definiertes Normwerkzeug programmiert. Da in der Praxis oft nicht die passenden Normwerkzeuge zur Verfügung stehen, kann ein von einem Normwerkzeug nicht allzu stark abweichendes Werkzeug eingesetzt werden.
  • Seite 485 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Normwerkzeuge mit Eckenverrundung Die Eckenverrundung des Normwerkzeugs wird durch den Werkzeugparameter $TC_DP7 beschrieben. Aus den Werkzeugparameter $TC_DP16 ergibt sich die Abweichung der Eckenverrundung des realen Werkzeugs gegenüber dem Normwerkzeug. Beispiel Werkzeugabmessungen für einen Torusfräser mit verringertem Radius gegenüber dem Normwerkzeug.
  • Seite 486 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Weitere Informationen Werkzeugmittelpunktsbahn mit Zustellung bis zur Begrenzungsfläche CUT3DCCD Wird ein Werkzeug verwendet, welches im Vergleich zum passenden Normwerkzeug einen kleineren Radius aufweist, dann wird ein in Längsrichtung zugestellter Fräser soweit weiter geführt, bis dieser den Taschenboden wieder berührt. Damit wird die Ecke, die von der Bearbeitungs- und der Begrenzungsfläche gebildet wird so weit ausgeräumt, wie dies das Werkzeug zulässt.
  • Seite 487 Werkzeugkorrekturen 7.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.
  • Seite 488 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Gegenüber dem Normwerkzeug darf das verwendete reale Werkzeug sowohl größer als auch kleiner sein. Dabei darf der resultierende Eckenradius nicht negativ werden und das Vorzeichen des resultierenden Werkzeugradius muss erhalten bleiben. Bei CUT3DCC bezieht sich das NC-Teileprogramm auf die Kontur an der Bearbeitungsfläche. Es wird hierbei wie bei der herkömmlichen Werkzeugradienkorrektur der Gesamtradius herangezogen, der sich zusammensetzt aus der Summe von: ●...
  • Seite 489: Werkzeugorientierung (Oric, Orid, Osof, Osc, Oss, Osse, Oris, Osd, Ost)

    Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Funktion Unter Werkzeugorientierung versteht man die geometrische Ausrichtung des Werkzeugs im Raum. Bei einer 5-Achs-Bearbeitungsmaschine ist die Werkzeugorientierung über Programmbefehle einstellbar.
  • Seite 490 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Programmierung Programmierung der Orientierungsänderung: Eine Orientierungsänderung des Werkzeugs kann programmiert werden durch: ● direkte Programmierung der Rundachsen A, B, C (Rundachsinterpolation) ● Euler- oder RPY-Winkel ● Richtungsvektor (Vektorinterpolation durch Angabe von A3 oder B3 oder C3) ●...
  • Seite 491 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Programmierung der Werkzeugorientierung: Befehl Bedeutung Orientierung und Bahnbewegung parallel ORIC: Orientierung und Bahnbewegung nacheinander ORID: keine Orientierungsglättung OSOF: Orientierung konstant OSC: Orientierungsglättung nur am Satzanfang OSS: Orientierungsglättung am Satzanfang und -ende OSSE: Geschwindigkeit der Orientierungsänderung bei eingeschalteter ORIS:...
  • Seite 492: Beispiele

    Werkzeugkorrekturen 7.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 493 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Beispiel 2: ORID Ist ORID aktiv, so werden alle Sätze zwischen den beiden Verfahrsätzen am Ende des ersten Verfahrsatzes ausgeführt. Der Kreissatz mit konstanter Orientierung wird unmittelbar vor dem zweiten Verfahrsatz ausgeführt. Programmcode Kommentar ORID...
  • Seite 494 Werkzeugkorrekturen 7.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=… Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 495: Weitere Informationen

    Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Weitere Informationen Verhalten an Außenecken An einer Außenecke wird immer ein Kreissatz mit dem Radius des Fräsers eingefügt. Mit den Programmbefehlen ORIC bzw. ORID kann festgelegt werden, ob Orientierungsänderungen, die zwischen Satz N1 und N2 programmiert wurden, vor Beginn des eingefügten Kreissatzes oder gleichzeitig mit diesem ausgeführt werden.
  • Seite 496 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Überschleifen der Orientierung mit OSD bzw. OST Beim Überschleifen mit G642 kann die maximale Abweichung für die Konturachsen und die Orientierungsachsen nicht sehr unterschiedlich sein. Die kleinere Toleranz von beiden bestimmt die Form der Überschleifbewegung bzw.
  • Seite 497: Freie D-Nummernvergabe, Schneidennummer

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

    Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer 7.7.2 Freie D-Nummernvergabe: D-Nummern prüfen (CHKDNO) Funktion Mit dem Befehl CKKDNO prüfen Sie, ob die vorhandenen D-Nummern eindeutig vergeben worden sind. Die D-Nummern aller innerhalb einer TO-Einheit definierten Werkzeuge dürfen nur einmal auftreten. Ersatzwerkzeuge werden dabei nicht berücksichtigt. Syntax state=CHKDNO(Tno1,Tno2,Dno) Bedeutung...
  • Seite 499: Freie D-Nummernvergabe: D-Nummern Umbenennen (Getdno, Setdno)

    Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer 7.7.3 Freie D-Nummernvergabe: D-Nummern umbenennen (GETDNO, SETDNO) Funktion D-Nummern müssen eindeutig vergeben werden. Zwei verschiedene Schneiden eines Werkzeuges können nicht dieselbe D-Nummer haben. GETDNO Dieser Befehl liefert die D-Nummer einer bestimmten Schneide (ce) eines Werkzeuges mit der T-Nummer t.
  • Seite 500 Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer Beispiel Umbenennen einer D-Nummer Programmierung Kommentar $TC_DP2[1,2] = 120 $TC_DP3[1,2] = 5.5 $TC_DPCE[1,2] = 3 Schneidennummer CE N10 def int DNrAlt, DNrNeu = 17 N20 DNrAlt = GETDNO(1,3) N30 SETDNO(1,3,DNrNeu) Damit wird der Schneide CE=3 der neue D-Wert 17 zugewiesen. Jetzt werden die Daten dieser Schneide über die D-Nummer 17 angesprochen;...
  • Seite 501: Freie D-Nummernvergabe: T-Nummer Zur Vorgegebenen D-Nummer Ermitteln (Getacttd)

    Werkzeugkorrekturen 7.7 Freie D-Nummernvergabe, Schneidennummer 7.7.4 Freie D-Nummernvergabe: T-Nummer zur vorgegebenen D-Nummer ermitteln (GETACTTD) Funktion Mit dem Befehl GETACTTD ermitteln Sie zu einer absoluten D-Nummer die dazugehörige T- Nummer. Es erfolgt keine Prüfung auf Eindeutigkeit. Gibt es mehrere gleiche D-Nummern innerhalb einer TO-Einheit, wird die T-Nummer des ersten gefundenen Werkzeugs zurückgegeben.
  • Seite 502: Freie D-Nummernvergabe: D-Nummern Ungültig Setzen (Dzero)

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

    Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Werkzeugträgerkinematik Voraussetzungen Ein Werkzeugträger kann ein Werkzeug nur dann in alle möglichen Raumrichtungen orientieren, wenn ● zwei Drehachsen V und V vorhanden sind. ● die Drehachsen aufeinander senkrecht stehen. ● die Werkzeuglängsachse senkrecht auf der zweiten Drehachse V steht.
  • Seite 504 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Für Maschinen mit aufgelöster Kinematik (sowohl Werkzeug als auch Werkstück sind drehbar) wurden die Systemvariablen um die Einträge ● $TC_CARR18[m] bis $TC_CARR23[m] erweitert. Parameter Funktion der Systemvariablen für orientierbare Werkzeugträger Bezeichnung x-Komponente y-Komponente z-Komponente Offsetvector $TC_CARR1[m] $TC_CARR2[m] $TC_CARR3[m] Offsetvector $TC_CARR4[m]...
  • Seite 505 Werkzeugkorrekturen 7.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...
  • Seite 506: Erweiterungen Der Parameter

    Werkzeugkorrekturen 7.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.
  • Seite 507 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Parameter für den Anwender $TC_CARR34 bis $TC_CARR40 enthalten Parameter, die den Anwender zur freien Verfügung stehen und bis zum SW 6.4 standardmäßig innerhalb der NCK nicht weiter ausgewertet werden oder keine Bedeutung haben. Parameter der Feinverschiebung $TC_CARR41 bis $TC_CARR65 enthalten Feinverschiebungsparameter, die zu den Werten in den Basisparametern addiert werden können.
  • Seite 508: Weitere Informationen

    Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik 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 ; Definition eines Schaftfräsers mit Länge 20 mm. N40 $TC_DP6[1,1]=5 ; Definition eines Schaftfräsers mit Radius 5 mm.
  • Seite 509 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Die Rundachsen bestehend aus: ● den beiden Kanalbezeichnern für den Bezug der Drehachsen V und V , auf deren Position gegebenenfalls bei der Bestimmung der Orientierung des orientierbaren Werkzeugträgers zugegriffen wird. Der Kinematiktyp mit einem der Werte T, P oder M: ●...
  • Seite 510: Werkzeuglängenkorrektur Für Orientierbare Werkzeugträger (Tcarr, Tcoabs, Tcofr, Tcofrx, Tcofry, Tcofrz)

    Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) Funktion Mit veränderter Raumorientierung des Werkzeugs ändern sich auch dessen Werkzeuglängenkomponenten. Nach Umrüsten, z. B. durch manuelle Einstellung oder Wechsel des Werkzeugträgers mit fester räumlicher Ausrichtung, müssen daher die Werkzeuglängenkomponenten neu ermittelt werden.
  • Seite 511 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFR Bedeutung Werkzeugträger mit der Nummer "m" anfordern TCARR=[<m>]: Werkzeuglängenkomponenten aus der aktuellen TCOABS: Werkzeugträgerorientierung berechnen Werkzeuglängenkomponenten aus der Orientierung des aktiven TCOFR: Frames bestimmen Orientierbarer Werkzeugträger aus aktiven Frame, dessen Werkzeug TCOFRZ: in Z-Richtung zeigt Orientierbarer Werkzeugträger aus aktiven Frame, dessen Werkzeug...
  • Seite 512 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) Werkzeugträger anfordern (TCARR) Mit TCARR werden mit der Werkzeugträgernummer m dessen Geometriedaten angefordert (Korrekturspeicher). Mit m=0 wird der aktive Werkzeugträger abgewählt. Die Geometriedaten des Werkzeugträgers werden erst nach Aufruf eines Werkzeugs aktiv. Das angewählte Werkzeug bleibt über den Wechsel eines Werkzeugträgers hinaus aktiv.
  • Seite 513 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFR 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 514: Online-Werkzeuglängenkorrektur (Toffon, Toffof)

    Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Funktion Über die Systemvariable $AA_TOFF[ ] können die effektiven Werkzeuglängen entsprechend der drei Werkzeugrichtungen dreidimensional in Echtzeit überlagert werden. Als Index werden die drei Geometrieachsbezeichner verwendet. Damit ist die Anzahl der aktiven Korrekturrichtungen durch die zur selben Zeit aktiven Geometrieachsen festgelegt.
  • Seite 515 Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Beispiel Anwahl der Werkzeuglängenkorrektur Programmcode Kommentar MD21190 $MC_TOFF_MODE =1 ; absolute Werte werden angefahren MD21194 $MC_TOFF_VELO[0] =1000 MD21196 $MC_TOFF_VELO[1] =1000 MD21194 $MC_TOFF_VELO[2] =1000 MD21196 $MC_TOFF_ACCEL[0] =1 MD21196 $MC_TOFF_ACCEL[1] =1 MD21196 $MC_TOFF_ACCEL[2] =1 N5 DEF REAL XOFFSET N10 TRAORI(1) ;...
  • Seite 516 Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Beschreibung Satzaufbereitung Bei der Satzaufbereitung im Vorlauf wird der im Hauptlauf wirksame aktuelle Werkzeuglängenoffset mit berücksichtigt. Um die maximal zulässigen Achsgeschwindigkeiten weitgehend ausnutzen zu können, ist es erforderlich, die Satzaufbereitung mit einem Vorlaufstopp STOPRE anzuhalten, während ein Werkzeugoffset aufgebaut wird.
  • Seite 517: Schneidendaten-Modifikation Bei Drehbaren Werkzeugen (Cutmod)

    Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Funktion Mit der Funktion "Schneidendaten-Modifikation bei drehbaren Werkzeugen" können die veränderten geometrischen Verhältnisse, die sich bei der Drehung von Werkzeugen (vorwiegend Drehwerkzeuge, aber auch Bohr- und Fräswerkzeuge) relativ zum bearbeiten Werkstück ergeben, bei der Werkzeugkorrektur berücksichtigt werden.
  • Seite 518 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) <Wert> Dem CUTMOD-Befehl können folgende Werte zugewiesen werden: Die Funktion ist deaktiviert. Die von den Systemvariablen $P_AD... gelieferten Werte sind gleich den korrespondierenden Werkzeugparametern. > 0 Die Funktion wird aktiviert, falls ein orientierbarer Werkzeugträger mit der angegebenen Nummer aktiv ist, d.
  • Seite 519 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Hinweis SD42984 $SC_CUTDIRMOD Die über den Befehl CUTMOD aktivierbare Funktion ersetzt die über das Settingdatum SD42984 $SC_CUTDIRMOD aktivierbare Funktion. Diese Funktion steht jedoch weiterhin unverändert zur Verfügung. Da es aber nicht sinnvoll ist, beide Funktionen parallel zu nutzen, kann sie nur aktiviert werden, wenn CUTMOD gleich Null ist.
  • Seite 520 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Programmcode Kommentar N190 $TC_CARR13[2]=30 N200 TCARR=2 N210 X0 Y0 Z0 ; 10.892 0.000 -5.134 N220 G42 Z–10 ; 8.696 0.000 –17.330 N230 Z–20 ; 8.696 0.000 –21.330 N240 X10 ; 12.696 0.000 –21.330 N250 G40 X20 Z0 ;...
  • Seite 521 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Weitere Informationen Wirksamkeit der modifizierten Schneidendaten Die modifizierte Schneidenlage und der modifizierte Schneidenbezugspunkt werden bei Programmierung auch für ein bereits aktives Werkzeug sofort wirksam. Eine Werkzeugneuanwahl ist dazu nicht notwendig. Einfluss der aktiven Arbeitsebene Für die Bestimmung von modifizierter Schneidenlage, Schnittrichtung und Halter- bzw.
  • Seite 522 Werkzeugkorrekturen 7.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, Schnittrichtung, Freiwinkel und Halterwinkel) bei den mit CUTMOD bzw. $SC_CUTDIRMOD aktivierten Funktionen zugrunde gelegt wurde.
  • Seite 523 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Alle Hauptlaufvariablen ($AC_CUTMOD_ANG, $AC_CUTMOD und $AC_CUT_INV) können in Synchronaktionen gelesen werden. Ein Lesezugriff aus dem Vorlauf generiert einen Vorlaufstopp. Modifizierte Schneidendaten: Falls eine Werkzeugdrehung aktiv ist, werden die modifizierten Daten in den folgenden Systemvariablen zur Verfügung gestellt: Systemvariable Bedeutung...
  • Seite 524 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 525: Bahnverhalten

    Bahnverhalten Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Funktion Die Folgeachse wird gemäß der Tangente an der durch die Leitachsen festgelegten Bahn nachgeführt. Dadurch kann ein Werkzeug parallel zur Kontur ausgerichtet werden. Durch den in der TANGON-Anweisung programmierten Winkel kann das Werkzeug relativ zur Tangente angestellt werden.
  • Seite 526 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Anwendungsbereiche Die Tangentialsteuerung kann unter anderem eingesetzt werden bei: ● Tangentiellem Anstellen eines drehbaren Werkzeugs beim Nibbeln ● Nachführen der Werkstückausrichtung bei einer Bandsäge (s. Zeichnung) ● Anstellen eines Abrichtwerkzeugs an eine Schleifscheibe ●...
  • Seite 527 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Vereinfachte Programmierungen: Ein Koppelfaktor von 1 muss nicht explizit programmiert werden. TANG(C, X, Y, 1, "B", "P") kann abgekürzt notiert werden als TANG(C, X, Y, , , , "P"). Wie bisher kann statt TANG(C, X, Y, 1, "B", "S") geschrieben werden als TANG(C, X, Y).
  • Seite 528 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) TLIFT Zwischensatz an Konturecken einfügen. TANGDEL Definition einer Tangentialen Nachführung löschen. Beispiel: TANGDEL(FAchse) FAchse Folgeachse: Tangential nachgeführte Zusatzrundachse Lachse1, Lachse2 Leitachsen: Bahnachsen, aus denen die Tangente für die Nachführung bestimmt wird Koppel Koppelfaktor: Zusammenhang zwischen Winkeländerung der Tangente und der nachgeführten Achse.
  • Seite 529: Beispiel: Ebenenwechsel

    Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Beispiel: Ebenenwechsel Programmcode Kommentar N10 TANG(A, X, Y,1) ; 1. Definition der Tangentialen Nachführung. N20 TANGON(A) ; Aktivierung der Kopplung. N30 X10 Y20 ; Radius N80 TANGOF(A) ; Ausschalten der 1. Kopplung. N90 TANGDEL(A) ;...
  • Seite 530: Folge- Und Leitachse Definieren

    Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Beispiel: Tangentiale Nachführung mit automatischer Optimierung Automatische Optimierung über Dist und Winkeltoleranz. Programmcode Kommentar N80 G0 C0 ; Y1 ist Geoachse 2. N100 F=50000 N110 G1 X1000 Y500 N120 TRAORI ; Überschleifen mit axialer Toleranz.
  • Seite 531 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Grenzwinkel durch Arbeitsfeldbegrenzung Bei hin- und hergeführten Bahnbewegungen springt die Tangente im Umkehrpunkt der Bahn um 180° um, entsprechend ändert sich die Ausrichtung der Folgeachse. In der Regel ist dieses Verhalten nicht sinnvoll: Die Rückbewegung soll im gleichen negativen Offsetwinkel wie die Hinbewegung abgefahren werden.
  • Seite 532 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Die Drehung erfolgt mit der programmierten Bahnachse, wenn die nachgeführte Achse einmal als Bahnachse gefahren wurde. Durch die Funktion TFGREF[ax] = 0.001 kann hier eine maximale Achsgeschwindigkeit der nachgeführten Achse erreicht werden. Wurde die nachgeführte Achse bisher nicht als Bahnachse verfahren, so wird diese Achse als Positionierachse verfahren.
  • Seite 533 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Winkeländerung definieren Die Winkeländerung, ab der ein automatischer Zwischensatz eingeführt wird, wird über das Maschinendatum $MA_EPS_TLIFT_TANG_STEP definiert. Einfluss auf Transformationen Die Position der nachgeführten Rundachse kann Eingangswert für eine Transformation sein. Explizite Positionierung der Folgeachse Wird eine ihren Leitachsen nachgeführte Folgeachse explizit positioniert, so wirkt die Positionsangabe additiv zum programmierten Offsetwinkel.
  • Seite 534: Vorschubverlauf (Fnorm, Flin, Fcub, Fpo)

    Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Funktion Zur flexibleren Vorgabe des Vorschubverlaufs wird die Vorschubprogrammierung nach DIN 66025 um lineare und kubische Verläufe erweitert. Die kubischen Verläufe können direkt oder als interpolierende Splines programmiert werden. Hierdurch lassen sich - abhängig von der Krümmung des zu bearbeitenden Werkstücks - kontinuierlich glatte Geschwindigkeitsverläufe programmieren.
  • Seite 535: Beispiel: Verschiedene Vorschubprofile

    Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Vorschuboptimierung bei gekrümmten Bahnstücken Vorschub-Polynom F=FPO und Vorschubspline FCUB sollten immer mit konstanter Schnittgeschwindigkeit CFC abgefahren werden. Hierdurch lässt sich ein beschleunigungsstetiges Sollvorschubprofil erzeugen. Beispiel: Verschiedene Vorschubprofile In diesem Beispiel finden Sie die Programmierung und grafische Darstellung verschiedener Vorschubprofile.
  • Seite 536 Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) FNORM Die Vorschubadresse F bezeichnet den Bahnvorschub als konstanten Wert nach DIN 66025. Mehr Informationen hierzu finden Sie im Programmierhandbuch "Grundlagen". FLIN Der Vorschubverlauf wird vom aktuellen Vorschubwert zum programmierten F-Wert linear bis Satzende eingefahren. Beispiel: N30 F1400 FLIN X50 Arbeitsvorbereitung...
  • Seite 537 Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) FCUB Der Vorschub wird vom aktuellen Vorschubwert zum programmierten F-Wert bis Satzende im kubischen Verlauf eingefahren. Die Steuerung verbindet alle mit aktivem FCUB satzweise programmierten Vorschubwerte durch Splines. Die Vorschubwerte dienen hier als Stützpunkte zur Berechnung der Splineinterpolation.
  • Seite 538 Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) F=FPO(…,…,…) Der Vorschubverlauf wird über ein Polynom direkt programmiert. Die Angabe der Polynomkoeffizienten erfolgt analog zur Polynominterpolation. Beispiel: F=FPO(endfeed, quadf, cubf) endfeed, quadf und cubf sind vorher definierte Variable. endfeed: Vorschub am Satzende quadf: Quadratischer Polynomkoeffizient cubf:...
  • Seite 539 Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Randbedingungen Unabhängig vom programmierten Vorschubverlauf gelten die Funktionen zur Programmierung des Bahnfahrverhaltens. Der programmierbare Vorschubverlauf gilt grundsätzlich absolut - unabhängig von G90 oder G91. Der Vorschubverlauf FLIN und FCUB wirkt mit G93 und G94. FLIN und FCUB wirkt nicht bei G95, G96/G961 und G97/G971.
  • Seite 540: Programmablauf Mit Vorlaufspeicher (Stopfifo, Startfifo, Fifoctrl, Stopre)

    Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Funktion Je nach Ausbaustufe verfügt die Steuerung über eine bestimmte Menge sog. Vorlaufspeicher, die fertig aufbereitete Sätze vor der Abarbeitung speichern und im Fertigungsablauf als schnelle Satzfolgen ausgeben. Hierdurch lassen sich kurze Wege mit hohen Geschwindigkeiten abfahren.
  • Seite 541 Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Automatische Vorlaufspeichersteuerung Die automatische Vorlaufspeichersteuerung wird mit dem Befehl FIFOCTRL aufgerufen. FIFOCTRL wirkt zunächst genauso wie STOPFIFO. Bei jeder Programmierung wird gewartet, bis der Vorlaufspeicher voll ist, dann beginnt die Abarbeitung. Unterschiedlich ist dagegen das Verhalten beim Leerlaufen des Vorlaufspeichers: mit FIFOCTRL wird ab einem Füllstand von 2/3 die Bahngeschwindigkeit zunehmend reduziert, um ein komplettes Leerlaufen und ein Abbremsen bis zum Stillstand zu verhindern.
  • Seite 542 Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Bedeutung STOPFIFO kennzeichnet den Beginn eines Bearbeitungsabschnitts, der STOPFIFO: im Vorlaufspeicher zwischengespeichert werden soll. Mit STOPFIFO wird die Bearbeitung angehalten und der Vorlaufspeicher gefüllt, bis: • STARTFIFO oder STOPRE erkannt wird oder •...
  • Seite 543: Bedingt Unterbrechbare Programmabschnitte (Delayfston, Delayfstof)

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Funktion Bedingt unterbrechbare Teileprogrammabschnitte werden Stop-Delay-Bereiche genannt Innerhalb bestimmter Programmabschnitte soll nicht angehalten werden und auch der Vorschub nicht verändert werden. Im Wesentlichen sollen kurze Programmabschnitte, die z. B. zur Herstellung eines Gewindes dienen, vor fast allen Stopp-Ereignissen geschützt werden.
  • Seite 544 Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Beispiel: Stopp-Ereignisse Im Stop-Delay-Bereich wird eine Veränderung des Vorschubs und Vorschubsperre ignoriert. Sie wirken erst nach dem Stop-Delay-Bereich. Die Stopp-Ereignisse werden unterschieden in: "Sanfte" Stopp-Ereignisse Reaktion: delayed "Harte" Stopp-Ereignisse Reaktion: immediate Auswahl einiger Stopp-Ereignisse, die zumindest kurzfristig stoppen: Ereignisname Reaktion Unterbrechungsparameter...
  • Seite 545: Beispiel: Verschachtelung Von Stopp-Delay-Bereichen In Zwei Programmebenen

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Erklärung der Reaktionen immediate ("hartes" Stopp-Ereignis) Stoppt sofort auch im Stopp-Delay-Bereich delayed ("sanftes" Stopp-Ereignis) Stopp (auch ein kurzfristiger) erfolgt erst nach dem Stopp-Delay-Bereich. Alarm 16954 Programm wird abgebrochen, da im Stopp- Delay-Bereich unerlaubte Pro- grammbefehle verwendet worden sind.
  • Seite 546: Beispiel: Programmauszug

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Beispiel: Programmauszug In einer Schleife wird folgender Programmblock wiederholt: Im Bild ist erkennbar, dass der Anwender im Stop-Delay-Bereich "Stopp" drückt, und die NC beginnt den Bremsvorgang außerhalb des Stop-Delay-Bereichs, d. h. im Satz N100. Damit kommt die NC im vorderen Bereich von N100 zum Halten.
  • Seite 547 Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Vorteile des Stopp-Delay-Bereiches Ein Programmabschnitt wird ohne Geschwindigkeitseinbruch bearbeitet. Bricht der Anwender, nachdem gestoppt ist, das Programm mit RESET ab, so ist der abgebrochene Programmsatz nach dem geschützten Bereich. Dieser Programmsatz eignet sich dann als Suchziel für einen nachfolgenden Suchlauf. Solange ein Stopp-Delay-Bereich bearbeitet wird werden folgende Hauptlaufachsen nicht gestoppt: ●...
  • Seite 548 Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Überlappung/Schachtelung: Überschneiden sich zwei Stopp-Delay-Bereiche, einer aus den Sprachbefehlen und der andere aus dem Maschinendatum MD 11550: STOP_MODE_MASK, so wird der größtmögliche Stopp-Delay-Bereich gebildet. Folgende Punkte regeln das Zusammenspiel der Sprachbefehle DELAYFSTON und DELAYFSTOF mit Verschachtelungen und dem Unterprogrammende: 1.
  • Seite 549 Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Systemvariablen Ein Stopp-Delay-Bereich kann mit $P_DELAYFST im Teileprogramm erkannt werden. Ist Bit 0 der Systemvariablen auf 1 gesetzt, so befindet sich die Teileprogrammbearbeitung zu diesem Zeitpunkt in einem Stopp-Delay-Bereich. Ein Stopp-Delay-Bereich kann mit $AC_DELAYFST in Synchronaktionen erkannt werden. Ist Bit 0 der Systemvariablen auf 1 gesetzt, so befindet sich die Teileprogrammbearbeitung zu diesem Zeitpunkt in einem Stopp-Delay-Bereich.
  • Seite 550: Programmstelle Für Serupro Verhindern (Iptrlock, Iptrunlock)

    Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Funktion Für bestimmte komplizierte mechanische Situationen an der Maschine ist es erforderlich, den Satzsuchlauf SERUPRO zu verhindern. Mit einem programmierbaren Unterbrechungszeiger besteht eine Eingriffsmöglichkeit, beim "Suchen auf der Unterbrechungsstelle", vor der suchunfähigen Stelle aufzusetzen. Es können auch suchunfähige Bereiche in Teileprogrammbereichen definiert werden, in denen die NCK noch nicht wieder einsteigen kann.
  • Seite 551 Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Beispiel Verschachtelung suchunfähiger Programmabschnitte in zwei Programmebenen mit impliziten IPTRUNLOCK. Das implizite IPTRUNLOCK in Unterprogramm 1 beendet den suchunfähigen Bereich. Programmcode Kommentar N10010 IPTRLOCK() N10020 R1 = R1 + 1 N10030 G4 F1 ;...
  • Seite 552 Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Auf den aktuellen Satz wieder aufsetzen Der Unterbrechungszeiger wird mit IPTRUNLOCK für den nachfolgenden Programmabschnitt auf den aktuellen Satz zum Unterbrechungspunkt gesetzt werden. Nach einem gefundenen Suchziel kann mit dem selben Haltesatz ein neues Suchziel wiederholt werden.
  • Seite 553: Wiederanfahren An Kontur (Reposa, Reposl, Reposq, Reposqa, Reposh, Reposha, Disr, Dispr, Rmi, Rmb, Rme, Rmn)

    Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Funktion Wenn Sie während der Bearbeitung das laufende Programm unterbrechen und das Werkzeug freifahren –...
  • Seite 554: Bedeutung

    Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Syntax REPOSA RMI DISPR=… REPOSA RMB REPOSA RME REPOSA RMN REPOSL RMI DISPR=… REPOSL RMB REPOSL RME REPOSL RMN REPOSQ RMI DISPR=… DISR=… REPOSQ RMB DISR=…...
  • Seite 555 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Beispiel: Anfahren auf einer Geraden anfahren, REPOSA, REPOSL Das Werkzeug fährt den Wiederanfahrpunkt direkt auf einer Geraden an. Mit REPOSA werden automatisch alle Achsen verfahren. Bei REPOSL können Sie die zu verfahrenden Achsen angeben.
  • Seite 556 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Beispiel: Anfahren im Viertelkreis anfahren, REPOSQ, REPOSQA Das Werkzeug fährt den Wiederanfahrpunkt auf einem Viertelkreis mit Radius DISR=... an. Den notwendigen Zwischenpunkt zwischen Start- und Wiederanfahrpunkt berechnet die Steuerung automatisch.
  • Seite 557 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Beispiel: Werkzeug im Halbkreis anfahren, 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.
  • Seite 558 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Wiederanfahrpunkt festlegen (nicht für SERUPRO Anfahren mit RMN) Bezogen auf den NC-Satz, in dem der Programm-Ablauf unterbrochen wurde, können Sie zwischen drei Wiederanfahrpunkten wählen: ●...
  • Seite 559 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Anwendungsbeispiel: Durch einen Sensor wird die Annäherung an eine Spannpratze erkannt. Es wird ein ASUP ausgelöst, mit dem die Spannpratze umfahren wird. Anschließend wird mit negativem DISPR auf einen Punkt hinter der Spannpratze repositioniert und das Programm fortgesetzt.
  • Seite 560 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Anfahren vom nächstliegenden Bahnpunkt RMN Zum Interpretationszeitpunkt von REPOSA wird nach einer Unterbrechung der Wiederanfahrsatz mit RMN nicht noch einmal komplett begonnen, sondern nur der Restweg abgearbeitet.
  • Seite 561 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Anfahren mit neuem Werkzeug Falls Sie den Programmablauf wegen Werkzeugbruch gestoppt haben: Mit Programmierung der neuen D-Nummer wird das Programm ab Wiederanfahrpunkt mit den geänderten Werkzeugkorrekturwerten fortgesetzt. Bei geänderten Werkzeugkorrekturwerten kann der Unterbrechungspunkt möglicherweise nicht mehr angefahren werden.
  • Seite 562 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Für die Kreisbewegungen REPOSH und REPOSQ gilt: Der Kreis wird in der angegebenen Arbeitsebene G17 bis G19 gefahren. Falls Sie im Anfahrsatz die dritte Geometrieachse (Zustellrichtung) angeben, wird der Wiederanfahrpunkt für den Fall, dass Werkzeugposition und programmierte Position in Zustellrichtung nicht übereinstimmen, auf einer Schraubenlinie angefahren.
  • Seite 563: Beeinflussung Der Bewegungsführung

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Beeinflussung der Bewegungsführung 8.7.1 Prozentuale Ruckkorrektur (JERKLIM) Funktion In kritischen Programmabschnitten kann es notwendig sein, den Ruck unter den maximal möglichen Wert zu beschränken, um z. B. die Maschinenbeanspruchung zu verringern. Der Beschleunigungsmodus SOFT muss aktiv sein. Die Funktion wirkt nur auf Bahnachsen. Syntax JERKLIM[<Achse>]=<Wert>...
  • Seite 564: Prozentuale Geschwindigkeitskorrektur (Velolim)

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung 8.7.2 Prozentuale Geschwindigkeitskorrektur (VELOLIM) Funktion In kritischen Programmabschnitten kann es notwendig sein, die Geschwindigkeit unter den maximal möglichen Wert zu beschränken, um z. B. die Maschinenbeanspruchung zu verringern oder die Bearbeitungsgüte zu verbessern. Die Funktion wirkt nur auf Bahn- und Positionierachsen.
  • Seite 565: Programmbeispiel Für Jerklim Und Velolim

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

    Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Funktion Mit den Befehlen CTOL, OTOL und ATOL können die über Maschinen- und Settingdaten festgelegten Bearbeitungstoleranzen für die Kompressor-Funktionen (COMPON, COMPCURV, COMPCAD), die Überschleifarten G642, G643, G645, OST und die Orientierungsglättung ORISON im NC-Programm angepasst werden.
  • Seite 567 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) ATOL Befehl zum Programmieren einer achsspezifischen Toleranz ATOL ist gültig für: • alle Kompressor-Funktionen • Orientierungsglättung ORISON • alle Überschleifarten außer G641, G644, OSD Name der Achse, für die eine Achstoleranz programmiert werden <Achse>: soll Der Wert für die Achstoleranz ist je nach Achstyp (Linear- oder...
  • Seite 568 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Beispiel Programmcode Kommentar COMPCAD G645 G1 F10000 ; Kompressor-Funktion COMPCAD aktivieren. X... Y... Z... ; Hier wirken die Maschinen–und Settingdaten. X... Y... Z... X... Y... Z... CTOL=0.02 ; Ab hier wirkt eine Konturtoleranz von 0,02 mm. X...
  • Seite 569 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Weitere Informationen Toleranzwerte lesen Für weitergehende Anwendungsfälle oder zur Diagnose sind die aktuell gültigen Toleranzen für die Kompressor-Funktionen (COMPON, COMPCURV, COMPCAD), die Überschleifarten G642, G643, G645, OST und die Orientierungsglättung ORISON unabhängig von der Art des Zustandekommens über Systemvariablen lesbar.
  • Seite 570 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Hinweis Wenn keine Toleranzwerte programmiert wurden, dann sind die $A-Variablen nicht differenziert genug, um die möglicherweise verschiedenen Toleranzen der einzelnen Funktionen zu unterscheiden, da sie ja nur einen Wert nennen können. Solche Fälle können auftreten, wenn die Maschinen- und Settingdaten unterschiedliche Toleranzen für Kompressor-Funktionen, Überschleifen und Orientierungsglättung einstellen.
  • Seite 571: Achskopplungen

    Achskopplungen Mitschleppen (TRAILON, TRAILOF) Funktion Beim Bewegen einer definierten Leitachse fahren ihr zugeordnete Mitschleppachsen (= Folgeachsen) unter Berücksichtigung eines Koppelfaktors die von der Leitachse abgeleiteten Verfahrwege ab. Leitachse und Folgeachsen bilden zusammen einen Mitschleppverband. Anwendungsbereiche ● Verfahren einer Achse durch eine simulierte Achse. Die Leitachse ist eine simulierte Achse und die Mitschleppachse eine reale Achse.
  • Seite 572 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) Bedeutung TRAILON Befehl zum Einschalten und Definieren eines Mitschleppverbandes Wirksamkeit: modal <Folgeachse> Parameter 1: Achsbezeichnung der Mitschleppachse Hinweis: Eine Mitschleppachse kann auch Leitachse für weitere Mitschleppachsen sein. Auf diese Weise können unterschiedliche Mitschleppverbände aufgebaut werden. <Leitachse>...
  • Seite 573 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) Hinweis Das Mitschleppen erfolgt immer im Basiskoordinatensystem (BKS). Die Anzahl der gleichzeitig aktivierbaren Mitschleppverbände wird nur begrenzt durch die Kombinationsmöglichkeiten der an der Maschine vorhandenen Achsen. Beispiel Das Werkstück soll zweiseitig mit der dargestellten Achskonstellation bearbeitet werden. Dazu bilden Sie 2 Mitschleppverbände.
  • Seite 574 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) Weitere Informationen Achstypen Ein Mitschleppverband kann aus beliebigen Kombinationen von Linear- und Rundachsen bestehen. Als Leitachse kann dabei auch eine simulierte Achse definiert werden. Mitschleppachsen Einer Mitschleppachse können gleichzeitig maximal 2 Leitachsen zugeordnet werden. Die Zuordnung erfolgt in unterschiedlichen Mitschleppverbänden.
  • Seite 575 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) VORSICHT Wird ein Mitschleppverband • in Synchronaktionen • im Teileprogramm mit Leitachsen, die nicht Programmachsen im Kanal der Mitschleppachse sind, aktiviert, dann liegt es in der besonderen Verantwortung des Anwenders/Maschinenherstellers, geeignete Maßnahmen vorzusehen, damit es durch die Verfahrbewegungen der Leitachse nicht zu einer Überlastung der Mitschleppachsen kommt.
  • Seite 576: Kurventabellen (Ctab)

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

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.1 Kurventabellen definieren (CTABDEF, CATBEND) Funktion Eine Kurventabelle stellt ein Teileprogramm oder einen Teileprogrammabschnitt dar, welcher durch Voranstellen von CTABDEF und den abschließenden Befehl CTABEND gekennzeichnet ist. Innerhalb dieses Teileprogrammabschnitts werden durch Bewegungsanweisungen einzelnen Positionen der Leitachse eindeutige Folgeachspositionen zugeordnet, die als Stützstellen für die Berechnung eines Kurvenzugs in Form eines Polynoms bis zu maximal 5.
  • Seite 578 Achskopplungen 9.2 Kurventabellen (CTAB) Bedeutung CTABDEF( ) Beginn der Kurventabellendefinition CTABEND Ende der Kurventabellendefinition <Folgeachse> Achse, deren Bewegung über die Kurventabelle berechnet werden soll <Leitachse> Achse, die die Leitwerte zur Berechnung der Folgeachsbewegung liefert <n> Nummer (ID) der Kurventabelle Die Nummer einer Kurventabelle ist eindeutig und unabhängig vom Speicherort.
  • Seite 579: Beispiele

    Achskopplungen 9.2 Kurventabellen (CTAB) Beispiele Beispiel 1: Programmabschnitt als Kurventabellendefinition Ein Programmabschnitt soll unverändert zur Definition einer Kurventabelle benutzt werden. Der darin auftretende Befehl zum Vorlaufstopp STOPRE kann stehen bleiben und wird sofort wieder aktiv, sobald der Programmabschnitt nicht mehr zur Tabellendefinition benutzt wird und CTABDEF und CTABEND entfernt wurden.
  • Seite 580 Achskopplungen 9.2 Kurventabellen (CTAB) Programmcode Kommentar N100 CTABDEF(Y,X,3,0) ; Beginn der Definition einer nichtperiodischen Kurventabelle mit der Nummer 3. N110 X0 Y0 ; 1.Bewegungsanweisung, legt Startwerte und 1. Stützstelle fest: Leitwert: 0, Folgewert: 0 N120 X20 Y0 ; 2.Stützstelle: Leitwert: 0…20, Folgewert: Startwert…0 N130 X100 Y6 ;...
  • Seite 581 Achskopplungen 9.2 Kurventabellen (CTAB) Beispiel 3: Definition einer periodischen Kurventabelle Definition einer periodischen Kurventabelle mit Nummer 2, Leitwertbereich von 0 bis 360, Folgeachsbewegung von 0 nach 45 und zurück nach 0: Programmcode Kommentar N10 DEF REAL DEPPOS N20 DEF REAL GRADIENT N30 CTABDEF(Y,X,2,1) ;...
  • Seite 582 Achskopplungen 9.2 Kurventabellen (CTAB) Weitere Informationen Start- und Endwert der Kurventabelle Als Startwert für den Beginn des Definitionsbereichs der Kurventabelle gilt die erste Angabe von zusammengehörigen Achspositionen (die erste Bewegungsanweisung) innerhalb der Kurventabellendefinition. Der Endwert des Definitionsbereichs der Kurventabelle wird entsprechend durch den letzten Verfahrbefehl bestimmt.
  • Seite 583 Achskopplungen 9.2 Kurventabellen (CTAB) Zuweisungen an R-Parameter Zuweisungen an R-Parameter innerhalb der Tabellendefinition werden nach CTABEND zurückgesetzt. Beispiel: Programmcode Kommentar R10=5 R11=20 ; R10=5 CTABDEF G1 X=10 Y=20 F1000 R10=R11+5 ; R10=25 X=R10 CTABEND ; R10=5 Aktivierung von ASPLINE, BSPLINE, CSPLINE Wird innerhalb einer Kurventabellendefinition CTABDEF ...
  • Seite 584 Achskopplungen 9.2 Kurventabellen (CTAB) Eine Tabelle, die im dynamischen Speicher (DRAM) angelegt wurde, wird bei POWER ON gelöscht und muss eventuell noch einmal erzeugt werden. Die einmal erstellte Kurventabelle lässt sich auf beliebige Achskombinationen von Leit- und Folgeachse anwenden und ist unabhängig davon, welche Achsen zur Erstellung der Kurventabelle benutzt wurden.
  • Seite 585: Vorhandensein Einer Kurventabelle Prüfen (Ctabexists)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.2 Vorhandensein einer Kurventabelle prüfen (CTABEXISTS) Funktion Mit dem Befehl CTABEXISTS kann geprüft werden, ob eine bestimmte Kurventabellennummer im NC-Speicher vorhanden ist. Syntax CTABEXISTS(<n>) Bedeutung CTABEXISTS Prüft, ob die Kurventabelle mit Nummer <n> im statischen oder dynamischen NC-Speicher vorhanden ist Tabelle existiert nicht Tabelle existiert...
  • Seite 586 Achskopplungen 9.2 Kurventabellen (CTAB) Bedeutung CTABDEL Befehl zum Löschen von Kurventabellen <n> Nummer (ID) der zu löschenden Kurventabelle Beim Löschen eines Kurventabellenbereichs CTABDEL(<n>,<m>) wird mit <n> die Nummer der ersten Kurventabelle des Bereichs angegeben. <m> Beim Löschen eines Kurventabellenbereichs CTABDEL(<n>,<m>) wird mit <m>...
  • Seite 587: Kurventabellen Gegen Löschen Und Überschreiben Sperren (Ctablock, Ctabunlock)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.4 Kurventabellen gegen Löschen und Überschreiben sperren (CTABLOCK, CTABUNLOCK) Funktion Kurventabellen können durch Setzen von Sperren vor unbeabsichtigtem Löschen und Überschreiben geschützt werden. Eine gesetzte Sperre kann jederzeit auch wieder aufgehoben werden. Syntax Sperre setzen: CTABLOCK(<n>) CTABLOCK(<n>,<m>) CTABLOCK(<n>,<m>,<Speicherort>) CTABLOCK()
  • Seite 588 Achskopplungen 9.2 Kurventabellen (CTAB) <m> Beim Sperren/Entsperren eines Kurventabellenbereichs CTABLOCK(<n>,<m>)/CTABUNLOCK(<n>,<m>) wird mit <m> die Nummer der letzten Kurventabelle des Bereichs angegeben. <m> muss größer <n> sein! <Speicherort> Angabe des Speicherorts (optional) Beim Setzen/Aufheben einer Sperre ohne Speicherort-Angabe werden die angegebenen Kurventabellen im statischen und dynamischen NC-Speicher gesperrt/entsperrt.
  • Seite 589: Kurventabellen: Tabelleneigenschaften Ermitteln (Ctabid, Ctabislock, Ctabmemtyp, Ctabperiod)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.5 Kurventabellen: Tabelleneigenschaften ermitteln (CTABID, CTABISLOCK, CTABMEMTYP, CTABPERIOD) Funktion Mit diesen Befehlen können wichtige Eigenschaften einer Kurventabelle (Tabellennummer, Sperrzustand, Speicherort, Periodizität) abgefragt werden. Syntax CTABID(<p>) CTABID(<p>,<Speicherort>) CTABISLOCK(<n>) CTABMEMTYP(<n>) TABPERIOD(<n>) Bedeutung CTABID Liefert die Tabellennummer, die im angegebenen Speicher als die <p>-te Kurventabelle eingetragen ist.
  • Seite 590 Achskopplungen 9.2 Kurventabellen (CTAB) CTABMEMTYP Liefert den Speicherort der Kurventabelle mit Nummer <n>: Tabelle im statischen NC-Speicher Tabelle im dynamischen NC-Speicher Tabelle existiert nicht CTABPERIOD Liefert die Periodizität der Kurventabelle mit Nummer <n>: Tabelle ist nicht periodisch Tabelle ist periodisch in der Leitachse Tabelle ist periodisch in der Leit- und Folgeachse Tabelle existiert nicht <p>...
  • Seite 591: Kurventabellenwerte Lesen (Ctabtsv, Ctabtev, Ctabtsp, Ctabtep, Ctabssv, Ctabsev, Ctab, Ctabinv, Ctabtmin, Ctabtmax)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.6 Kurventabellenwerte lesen (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) Funktion Folgende Kurventabellenwerte können im Teileprogramm gelesen werden: ● Folgeachs- und Leitachswerte am Anfang und Ende einer Kurventabelle ● Folgeachswerte am Anfang und Ende eines Kurvensegments ●...
  • Seite 592 Achskopplungen 9.2 Kurventabellen (CTAB) CTAB Folgeachswert zum angegebenen Leitachswert (<Leitwert>) lesen CTABINV Leitachswert zum angegebenen Folgeachswert (<Folgewert>) lesen CTABTMIN Minimalwert der Folgeachse bestimmen: • im gesamten Definitionsbereich der Kurventabelle oder • in einem definierten Intervall <a> ... <b> CTABTMAX Maximalwert der Folgeachse bestimmen: •...
  • Seite 593: Beispiele

    Achskopplungen 9.2 Kurventabellen (CTAB) Beispiele Beispiel 1: Folgeachs- und Leitachswerte am Anfang und Ende der Kurventabelle sowie Minimal- und Maximalwert der Folgeachse im gesamten Definitionsbereich der Kurventabelle bestimmen. Programmcode Kommentar N10 DEF REAL STARTPOS N20 DEF REAL ENDPOS N30 DEF REAL STARTPARA N40 DEF REAL ENDPARA N50 DEF REAL MINVAL N60 DEF REAL MAXVAL...
  • Seite 594: Weitere Informationen

    Achskopplungen 9.2 Kurventabellen (CTAB) Beispiel 2: Bestimmung der Folgeachswerte am Anfang und Ende des zum Leitachswert X=30 gehörenden Kurvensegments. Programmcode Kommentar N10 DEF REAL STARTPOS N20 DEF REAL ENDPOS N30 DEF REAL GRADIENT N100 CTABDEF(Y,X,1,0) ; Beginn der Tabellendefinition. N110 X0 Y0 ;...
  • Seite 595 Achskopplungen 9.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, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 596 Achskopplungen 9.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 Interpolationstakt sein. Steigung der Kurventabellenfunktion Die Ausgabe der Steigung (<Gradient>) ermöglicht es, die Geschwindigkeit der Leit- oder Folgeachse an der entsprechenden Position zu berechnen.
  • Seite 597: Kurventabellen: Ressourcennutzung Prüfen (Ctabno, Ctabnomem, Ctabfno, Ctabsegid, Ctabseg, Ctabfseg, Ctabmseg, Ctabpolid, Ctabpol, Ctabfpol, Ctabmpol)

    Achskopplungen 9.2 Kurventabellen (CTAB) 9.2.7 Kurventabellen: Ressourcennutzung prüfen (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) Funktion Mit diesen Befehlen hat der Programmierer die Möglichkeit, sich aktuell über die Belegung der Ressourcen für Kurventabellen, Tabellensegmente und Polynome zu informieren. Syntax CTABNO CTABNOMEM(<Speicherort>)
  • Seite 598 Achskopplungen 9.2 Kurventabellen (CTAB) CTABPOLID Anzahl der Kurvenpolynome bestimmen, die von der Kurventabelle mit Nummer <n> verwendet werden CTABPOL Anzahl der verwendeten Kurvenpolynome im angegebenen <Speicherort> bestimmen CTABFPOL Anzahl der noch möglichen Kurvenpolynome im angegebenen <Speicherort> bestimmen CTABMPOL Anzahl der maximal möglichen Kurvenpolynome im angegebenen <Speicherort>...
  • Seite 599: Axiale Leitwertkopplung (Leadon, Leadof)

    Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Axiale Leitwertkopplung (LEADON, LEADOF) Hinweis Diese Funktion steht für SINUMERIK 828D nicht zur Verfügung! Funktion Bei der axialen Leitwertkopplung werden eine Leit- und eine Folgeachse synchron verfahren. Dabei ist die jeweilige Position der Folgeachse über eine Kurventabelle bzw. ein daraus berechnetes Polynom eindeutig einer - ggf.
  • Seite 600 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Syntax LEADON(FAchse,LAchse,n) LEADOF(FAchse,LAchse) oder Ausschalten ohne Angabe der Leitachse: LEADOF(FAchse) Die Leitwertkopplung kann sowohl vom Teileprogramm als auch während der Bewegung aus Synchronaktionen, siehe Kapitel "Bewegungssynchronaktionen" heraus ein- und ausgeschaltet werden. Bedeutung LEADON Leitwertkopplung einschalten LEADOF Leitwertkopplung ausschalten FAchse...
  • Seite 601 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Beispiel Leitwertkopplung aus Synchronaktion Bei einer Pressenanlage soll eine herkömmliche mechanische Kopplung zwischen einer Leitachse (Stempelwelle) und Achsen eines Transfersystems aus Transferachsen und Hilfsachsen durch ein elektronisches Koppelsystem ersetzt werden. Es demonstriert, wie bei einer Pressenanlage ein mechanisches Transfersystem durch ein elektronisches Transfersystem ersetzt wird.
  • Seite 602 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Programmcode Kommentar Definiert sämtliche statische Synchronaktionen. ****Marker rücksetzen N2 $AC_MARKER[0]=0 $AC_MARKER[1]=0 $AC_MARKER[2]=0 $AC_MARKER[3]=0 $AC_MARKER[4]=0 $AC_MARKER[5]=0 $AC_MARKER[6]=0 $AC_MARKER[7]=0 **** E1 0=>1 Kopplung Transfer EIN N10 IDS=1 EVERY ($A_IN[1]==1) AND ($A_IN[16]==1) AND ($AC_MARKER[0]==0) DO LEADON(X,LW,1) LEADON(YL,LW,2) LEADON(ZL,LW,3) $AC_MARKER[0]=1 **** E1 0=>1 Kopplung Walzenvorschub EIN N20 IDS=11 EVERY ($A_IN[1]==1) AND ($A_IN[5]==0) AND ($AC_MARKER[5]==0) DO LEADON(U,LW,4) PRESETON(U,0) $AC_MARKER[5]=1...
  • Seite 603 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Befindet sich die Folgeachse mit dem Einschalten der Leitwertkopplung noch nicht an der entsprechenden Position, wird der Synchronlauf automatisch hergestellt, sobald sich der berechnete Positionssollwert für die Folgeachse der tatsächlichen Folgeachsposition nähert. Die Folgeachse wird dabei während des Synchronisationsvorganges in die Richtung verfahren, die durch die Sollgeschwindigkeit der Folgeachse (berechnet aus Leitachsgeschwindigkeit und nach Kurventabelle CTAB) definiert ist.
  • Seite 604 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Sollwertkopplung ist nur möglich, wenn Leit- und Folgeachse von derselben NCU interpoliert werden. Bei einer externen Leitachse kann die Folgeachse nur über Istwerte an die Leitachse gekoppelt werden. Eine Umschaltung ist über das Settingdatum $SA_LEAD_TYPE möglich. Das Umschalten zwischen Ist- und Sollwertkopplung sollte immer bei Stillstand der Folgeachse erfolgen.
  • Seite 605 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Leitwerte erzeugen Leitwerte können wahlweise mit anderen selbst programmierten Verfahren erzeugt werden. Die so erzeugten Leitwerte werden in die Variable - $AA_LEAD_SP Leitwert Position - $AA_LEAD_SV Leitwert Geschwindigkeit geschrieben und aus ihnen gelesen. Zur Benutzung dieser Variablen muss das Settingdatum $SA_LEAD_TYPE = 2 gesetzt werden.
  • Seite 606: Elektronisches Getriebe (Eg)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) Elektronisches Getriebe (EG) Funktion Mit Hilfe der Funktion "Elektronisches Getriebe" ist es möglich, die Bewegung einer Folgeachse nach linearem Bewegungssatz abhängig von bis zu fünf Leitachsen zu steuern. Die Zusammenhänge zwischen den Leitachsen und der Folgeachse sind je Leitachse durch den Koppelfaktor definiert.
  • Seite 607 Achskopplungen 9.4 Elektronisches Getriebe (EG) Syntax EGDEF(Folgeachse,Leitachse1,Kopplungstyp1,Leitachse2,Kopplungstyp2,. Bedeutung EGDEF Definition eines elektronischen Getriebes Folgeachse Achse, die von Leitachsen beeinflusst wird Leitachse1 Achsen, die die Folgeachse beeinflussen ,..., Leitachse5 Kopplungstyp1 Kopplungstyp ,..., Kopplungstyp5 Der Kopplungstyp muss nicht für alle Leitachsen gleich sein und ist daher für jede Leitachse einzeln anzugeben.
  • Seite 608: Elektronisches Getriebe Einschalten (Egon, Egonsyn, Egonsyne)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) 9.4.2 Elektronisches Getriebe einschalten (EGON, EGONSYN, EGONSYNE) Funktion Für das Einschalten eines EG-Achsverbandes existieren 3 Varianten. Syntax Variante 1: Der EG-Achsverband wird ohneSynchronisation selektiv eingeschaltet mit: EGON(FA,"Satzwechselmodus",LA1,Z1,N1,LA2,Z2,N2,...,LA5,Z5,N5) Variante 2: Der EG-Achsverband wird mitSynchronisation selektiv eingeschaltet mit: EGONSYN(FA,"Satzwechselmodus",SynPosFA,[,LAi,SynPosLAi,Zi,Ni]) Variante 3: Der EG-Achsverband wird mitSynchronisation selektiv eingeschaltet und der Anfahrmodus...
  • Seite 609 Achskopplungen 9.4 Elektronisches Getriebe (EG) Variante 2: Folgeachse Satzwechselmodus Folgende Modi können benutzt werden: "NOC" Satzwechsel erfolgt sofort "FINE" Satzwechsel erfolgt bei "Synchronlauf fein" "COARSE" Satzwechsel erfolgt bei "Synchronlauf grob" "IPOSTOP" Satzwechsel erfolgt bei sollwertseitigem Synchronlauf (Eckige Klammern nicht schreiben) [,LAi,SynPosLAi,Zi,Ni] Mind.
  • Seite 610 Achskopplungen 9.4 Elektronisches Getriebe (EG) Weitere Informationen Beschreibung der Einschaltvarianten Variante 1: Die Positionen der Leitachsen sowie der Folgeachse zum Zeitpunkt des Einschaltens werden gespeichert als "Synchronpositionen". Die "Synchronpositionen" können mit den Systemvariablen $AA_EG_SYN gelesen werden. Variante 2: Wenn Moduloachsen im Koppelverband sind, werden ihre Positionswerte modulo reduziert. Damit ist gewährleistet, dass die nächstmögliche Synchronposition angefahren wird (sog.
  • Seite 611: Elektronisches Getriebe Ausschalten (Egofs, Egofc)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) Weitere Hinweise über die Nutzung von Kurventabellen und das Kaskadieren von Elektronischen Getrieben und deren Synchronisierung finden Sie in: Literatur: Funktionshandbuch Sonderfunktionen; Achskopplungen und ESR (M3), Kapitel "Mitschleppen und Leitwertkopplung". Verhalten des Elektronischen Getriebes bei Power On, RESET, Betriebsartenwechsel, Suchlauf ●...
  • Seite 612 Achskopplungen 9.4 Elektronisches Getriebe (EG) Variante 2: Syntax Bedeutung EGOFS(Folgeachse,Leitachse1,…,Leitachse5) Diese Parametrierung des Befehls erlaubt selektiv den Einfluss einzelner Leitachsen auf die Bewegung der Folgeachse zu beseitigen. Es muss wenigstens eine Leitachse angegeben werden. Der Einfluss der angegebenen Leitachsen auf die Folgeachse wird gezielt ausgeschaltet. Der Aufruf löst Vorlaufstopp aus. Verbleiben noch aktive Leitachsen, so läuft die Folgeachse unter deren Einfluss weiter.
  • Seite 613: Definition Eines Elektronischen Getriebes Löschen (Egdel)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) 9.4.4 Definition eines Elektronischen Getriebes löschen (EGDEL) Funktion Ein EG-Achsverband muss ausgeschaltet sein, bevor seine Definition gelöscht werden kann. Programmierung Syntax Bedeutung EGDEL(Folgeachse) Die Kopplungsdefinition des Achsverbandes wird gelöscht. Es wird bis zum Erreichen der maximalen Anzahl gleichzeitig aktivierter Achsverbände wieder möglich, weitere Achsverbände mit EGDEF neu zu definieren.
  • Seite 614: Synchronspindel

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

    Achskopplungen 9.5 Synchronspindel 9.5.1 Synchronspindel: Programmierung (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) Funktion Die Funktion Synchronspindel ermöglicht ein synchrones Verfahren zweier Spindeln (Folgespindel FS und Leitspindel LS) z.B. zur fliegenden Werkstückübergabe. Die Funktion bietet folgende Modi: ● Drehzahlsynchronität (n ●...
  • Seite 616 Achskopplungen 9.5 Synchronspindel Durch Vorgabe eines Übersetzungsverhältnisses ungleich 1 zwischen Leit- und Folgespindel ist auch eine Mehrkantbearbeitung (Polygondrehen) möglich. Syntax COUPDEF(FS,LS,ÜFS,ÜLS,Satzwechsel,Koppelart) COUPON(FS,LS,POSFS) COUPONC(FS,LS) COUPOF(FS,LS,POSFS,POSLS) COUPOFS(FS,LS) COUPOFS(FS,LS,POSFS) COUPRES(FS,LS) COUPDEL(FS,LS) WAITC(FS,Satzwechsel,LS,Satzwechsel) Hinweis Verkürzte Schreibweise Bei den Anweisungen COUPOF, COUPOFS, COUPRES und COUPDEL ist eine verkürzte Schreibweise ohne Angabe der Leitspindel möglich.
  • Seite 617 Achskopplungen 9.5 Synchronspindel Bedeutung COUPDEF Kopplung anwenderspezifisch definieren/ändern COUPON Kopplung einschalten. Ausgehend von der aktuellen Drehzahl synchronisiert sich die Folgespindel auf Leitspindel COUPONC Kopplung beim Einschalten mit vorhergehender Programmierung von M3 S... oder M4 S... übernehmen. Eine Differenzdrehzahl der Folgespindel wird sofort übernommen. COUPOF Kopplung ausschalten.
  • Seite 618 Achskopplungen 9.5 Synchronspindel Optionale Parameter: Bezeichnung der Leitspindel Angabe mit Spindelnummer: z. B. S2, S1 ÜFS, ÜLS Übersetzungsverhältnis zwischen FS und LS. ÜFS = Zähler, ÜLS = Nenner Voreinstellung: ÜFS / ÜLS = 1.0; Angabe des Nenners optional Satzwechsel Satzwechselverhalten Der Satzwechsel erfolgt: "NOC"...
  • Seite 619: Beispiele

    Achskopplungen 9.5 Synchronspindel Beispiele Beispiel 1: Arbeiten mit Leit- und Folgespindel Programmierung Kommentar ; Leitspindel = Masterspindel = Spindel 1 ; Folgespindel = Spindel 2 N05 M3 S3000 M2=4 S2=500 Leitspindel dreht mit 3000U/min, Folgespindel dreht mit 500U/min N10 COUPDEF(S2,S1,1,1,"NOC","Dv") ;...
  • Seite 620 Achskopplungen 9.5 Synchronspindel Beispiel 2: Programmierung einer Differenzdrehzahl Programmierung Kommentar ; Leitspindel = Masterspindel = Spindel 1 ; Folgespindel = Spindel 2 N01 M3 S500 ; Leitspindel dreht mit 500U/min N02 M2=3 S2=300 ; Folgespindel dreht mit 300U/min N10 G4 F1 ;...
  • Seite 621 Achskopplungen 9.5 Synchronspindel 3. Kopplung bei stehender Folgespindel mit COUPON einschalten Programmierung Kommentar ; Leitspindel = Masterspindel = Spindel 1 ; Folgespindel = Spindel 2 N05 SPOS=10 SPOS[2]=20 ; Folgespindel S2 im Positionierbetrieb N15 COUPDEF(S2,S1,1) ; Übersetzungsverhältnis FS zu LS ist 1,0 (Voreinstellung) N20 COUPON(S2,S1) ;...
  • Seite 622 Achskopplungen 9.5 Synchronspindel Synchronspindelpaar festlegen Projektierte Kopplung: Bei der projektierte Kopplung werden Leit- und Folgespindel über Maschinendatum festgelegt. Die projektierten Spindel können im Teileprogramm nicht verändert werden. Die Parametrierung der Kopplung kann mit COUPDEF im Teileprogramm erfolgen (Voraussetzung: kein Schreibschutz festgelegt). Anwenderdefinierte Kopplung: Mit COUPDEF kann eine Kopplung im Teileprogramm neu definiert oder verändert werden.
  • Seite 623 Achskopplungen 9.5 Synchronspindel Hinweis Das Übersetzungsverhältnis kann auch bei eingeschalteter Kopplung und drehenden Spindeln verändert werden. Satzwechselverhalten NOC, FINE, COARSE, IPOSTOP Bei der Programmierung des Satzwechselverhaltens ist folgende verkürzte Schreibweise möglich: ● NO: sofort (Voreinstellung) ● FI: mit Erreichen von "Synchronlauf fein" ●...
  • Seite 624 Achskopplungen 9.5 Synchronspindel Synchronbetrieb einschalten COUPON, POS ● Einschalten der Kopplung mit beliebigem Winkelbezug zwischen LS und FS: – COUPON(S2, S1) – COUPON(S2, S1, POS – COUPON(S2) ● Einschalten der Kopplung mit Winkelversatz POS Zur positionssynchronen Kopplung für profilierte Werkstücke. bezieht sich auf die 0°-Position der Leitspindel in positiver Drehrichtung Wertebereich POS : 0°…...
  • Seite 625 Achskopplungen 9.5 Synchronspindel Diffferenzdrehzahl M3 S... oder M4 S... Eine Differenzdrehzahl entsteht durch vorzeichenbehaftete Überlagerung zweier Drehzahlquellen und wird zur Folgespindel z.B. mit Sn=... oder Mn=3, Mn=4 im Drehzahlsteuerbetrieb während einer aktiven Synchronspindelkopplung erneut programmiert. Dabei wird dieser Drehzahlanteil über den Koppelfaktor von der Leitspindel abgeleitet und der Folgespindel vorzeichenrichtig dazu addiert.
  • Seite 626 Achskopplungen 9.5 Synchronspindel Geschwindigkeit, Beschleunigung: FA, ACC, OVRA, VELOLIMA Axiale Geschwindigkeit und Beschleunigung einer Folgespindeln sind programmierbar mit: ● FA[SPI(Sn)] bzw. FA[Sn] (axiale Geschwindigkeit) ● ACC[SPI(Sn)] bzw. ACC[Sn] (axiale Beschleunigung) ● OVRA[SPI(Sn)] bzw. OVRA[Sn] (axialer Override) ● VELOLIMA[SPI(Sn)] bzw. VELOLIMA[Sn] (axiale Geschwindigkeitsüberhöhung bzw. - reduktion) Mit n = 1, 2, 3, ...
  • Seite 627 Achskopplungen 9.5 Synchronspindel Kopplung ausschalten COUPOF Mit COUPOF kann das Ausschaltverhalten der Kopplung vorgegeben werden: ● Ausschalten der Kopplung mit sofortigem Satzwechsel: – COUPOF(S2,S1) (mit Angabe der Leitspindel) – COUPOF(S2) (ohne Angabe der Leitspindel) ● Ausschalten der Kopplung nach Überfahren von Ausschaltpositionen. Der Satzwechsel erfolgt nach dem Überfahren der Ausschaltpositionen.
  • Seite 628 Achskopplungen 9.5 Synchronspindel Systemvariablen Aktueller Kopplungszustand der Folgespindel Der aktuelle Kopplungszustand einer Folgespindel kann über folgende Systemvariable gelesen werden: $AA_COUP_ACT[FS] Wert Bedeutung keine Kopplung aktiv Synchronspindelkopplung aktiv Hinweis Andere Werte der Systemvariablen beziehen sich auf den Achsbetrieb Literatur /LGA1/ Handbuch der Systemvariablen Aktueller Winkelversatz Der aktuelle Winkelversatz einer Folgespindel bezüglich der Leitspindel kann über folgende Systemvariable gelesen werden:...
  • Seite 629: Master-/Slave-Verband (Masldef, Masldel, Maslon, Maslof, Maslofs)

    Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Funktion Die Master-/Slave-Kopplung vor SW 6.4 gestattet das Einkoppeln der Slave-Achsen auf ihre Masterachse nur im Stillstand der beteiligten Achsen. Die Erweiterung des SW-Standes 6.5 erlaubt das Koppeln und Trennen von drehenden, drehzahlgesteuerten Spindeln und die dynamische Projektierung.
  • Seite 630 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Erweiterung dynamische Projektierung MASLDEF Kopplung anwenderdefiniert über Maschinendaten oder auch aus dem Teileprogramm heraus anlegen/ändern. MASLOFS Die Kopplung analog zu MASLOF trennen und die Slave-Spindel automatisch abbremsen. MASLDEL Master/Slave-Achsverband trennen und Definition des Verbandes löschen.
  • Seite 631 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Programmcode Kommentar N37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2]=0 ; Permanente Kopplung kurz ausschalten. N37263 NEWCONF N37264 STOPRE MASLOF(Y1) ; Temporäre Kopplung aus. N5 PRESETON(Y1,0,Z1,0,B1,0,C1,0,U1,0) ; Istwert setzen der nicht referierten Slave Achsen, da diese mit Power On aktiviert sind.
  • Seite 632 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Weitere Informationen Allgemein MASLOF Bei Spindeln im Drehzahlsteuerbetrieb wird diese Anweisung unmittelbar ausgeführt. Die zu diesem Zeitpunkt drehenden Slave-Spindeln behalten ihre Drehzahlen bis zur erneuten Drehzahlprogrammierung bei. Erweiterung dynamische Projektierung MASLDEF Definition eines Master-/Slave-Verbandes aus dem Teileprogramm heraus.
  • Seite 633 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Koppelverhalten bei Spindeln Bei Spindeln im Drehzahlsteuerbetrieb wird das Koppelverhalten von MASLON, MASLOF, MASLOFS und MASLDEL explizit über das Maschinendatum MD37263 $MA_MS_SPIND_COUPLING_MODE festgelegt. In der Standardeinstellung mit MD37263 = 0 erfolgt das Einkoppeln und Trennen der Slave- Achsen ausschließlich im Stillstand der beteiligten Achsen.
  • Seite 634 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 635: Bewegungssynchronaktionen

    Bewegungssynchronaktionen 10.1 Grundlagen Funktion Synchronaktionen bieten die Möglichkeit, synchron zu Bearbeitungssätzen Aktionen auszuführen. Der Ausführungszeitpunkt der Aktionen kann über Bedingungen definiert werden. Die Bedingungen werden im Interpolationstakt überwacht. Die Aktionen stellen somit eine Reaktion auf Echtzeitereignisse dar, ihre Ausführung ist nicht an Satzgrenzen gebunden. Zusätzlich enthält eine Synchronaktion Angaben zu ihrer Lebensdauer und zur Abfragehäufigkeit für die programmierten Hauptlaufvariablen und damit zur Ausführungshäufigkeit der zu startenden Aktionen.
  • Seite 636 Bewegungssynchronaktionen 10.1 Grundlagen ● Optimierung laufzeitkritischer Anwendungen (z. B. Werkzeugwechsel) ● Schnelle Reaktion auf externe Ereignisse ● AC-Regelungen programmieren ● Sicherheitsfunktionen einrichten ● ..Programmierung Eine Synchronaktion steht allein im Satz und wirkt ab dem nächsten ausführbaren Satz einer Maschinenfunktion (z. B. Verfahrbewegung mit G0, G1, G2, G3). Synchronaktionen bestehen aus bis zu 5 Befehlselementen mit unterschiedlichen Aufgaben: Syntax: DO <Aktion1>...
  • Seite 637 Bewegungssynchronaktionen 10.1 Grundlagen Bedeutung: Anweisung zur Auslösung der programmierten Aktion(en) Wirkt nur bei erfüllter <Bedingung> (sofern programmiert). → Siehe " Aktionen " <Aktion1> Zu startende Aktion(en) <Aktion2> … Beispiele: • Variable zuweisen • Technologiezyklus starten <SCHLÜSSELWORT> Über das Schlüsselwort (WHEN, WHENEVER, FROM oder EVERY) wird die zyklische Prüfung der <Bedingung>...
  • Seite 638: Gültigkeitsbereich Und Bearbeitungsreihenfolge (Id, Ids)

    Bewegungssynchronaktionen 10.1 Grundlagen Beispiel Programmcode Kommentar WHEN $AA_IW[Q1]>5 DO M172 H510 ; Wenn der Istwert der Achse Q1 5 mm übersteigt, werden die Hilfsfunktionen M172 und H510 an die PLC-Nahtstelle ausgegeben. 10.1.1 Gültigkeitsbereich und Bearbeitungsreihenfolge (ID, IDS) Funktion Gültigkeitsbereich Der Gültigkeitsbereich einer Synchronaktion wird festgelegt durch die Kennung ID bzw. IDS: Keine Modal-ID: Satzweise wirksame Synchronaktion im Automatik-Betrieb Modal wirksame Synchronaktion im Automatik-Betrieb bis...
  • Seite 639 Bewegungssynchronaktionen 10.1 Grundlagen Programmierung Syntax Bedeutung keine Modal-ID Die Synchronaktion ist nur im Automatik-Betrieb wirksam. Sie gilt nur für den folgenden ausführbaren Satz (Satz mit Bewegungsanweisung oder sonstiger Maschinenaktion), ist also satzweise wirksam. Beispiel: WHEN $A_IN[3]==TRUE DO $A_OUTA[4]=10 ID=<n> ... Die Synchronaktion wirkt in den folgenden Sätzen modal und kann durch CANCEL(<n>) ausgeschaltet oder durch Programmierung einer neuen Synchronaktion mit gleicher ID überschrieben werden.
  • Seite 640: Zyklische Prüfung Der Bedingung (When, Whenever, From, Every)

    Bewegungssynchronaktionen 10.1 Grundlagen 10.1.2 Zyklische Prüfung der Bedingung (WHEN, WHENEVER, FROM, EVERY) Funktion Über ein Schlüsselwort wird die zyklische Prüfung der Bedingung einer Synchronaktion definiert. Ist kein Schlüsselwort programmiert, werden die Aktionen der Synchronaktion in jedem IPO-Takt ausgeführt. Schlüsselworte kein Schlüsselwort Die Ausführung der Aktion ist an keine Bedingung geknüpft.
  • Seite 641: Beispiele

    Bewegungssynchronaktionen 10.1 Grundlagen Beispiele Beispiel 1: Kein Schlüsselwort Programmcode Kommentar DO $A_OUTA[1]=$AA_IN[X] ; Istwertausgabe auf Analogausgang. Beispiel 2: WHENEVER Programmcode Kommentar WHENEVER $AA_IM[X] > 10.5*SIN(45) DO … ; Vergleich mit im Vorlauf berechnetem Ausdruck. WHENEVER $AA_IM[X] > $AA_IM[X1] DO … ;...
  • Seite 642 Bewegungssynchronaktionen 10.1 Grundlagen Weitere Informationen Bedingung Die Bedingung stellt einen logischen Ausdruck dar, der über Boole'sche Operatoren beliebig aufgebaut sein kann. Boole'sche Ausdrücke sollen immer in Klammern angegeben werden. Die Bedingung wird im Interpolationstakt überprüft. Vor der Bedingung kann ein G-Code angegeben werden. Damit kann erreicht werden, dass unabhängig vom gerade aktiven Teileprogrammzustand für die Auswertung der Bedingung und die auszuführende Aktion/Technologiezyklus definierte Einstellungen bestehen.
  • Seite 643: Aktionen (Do)

    Bewegungssynchronaktionen 10.1 Grundlagen 10.1.3 Aktionen (DO) Funktion In Synchronaktionen können eine oder mehrere Aktionen programmiert werden. Sämtliche in einem Satz programmierte Aktionen werden im gleichen Interpolationstakt aktiv. Syntax DO <Aktion1> <Aktion2> ... Bedeutung Löst bei erfüllter Bedingung eine Aktion oder einen Technologiezyklus aus.
  • Seite 644: Operatoren Für Bedingungen Und Aktionen

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

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

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.1 Systemvariablen Funktion Mit Hilfe von Systemvariablen können Daten der NC gelesen und geschrieben werden. Systemvariable werden in Vorlauf- und Hauptlaufvariable unterschieden. Vorlaufvariable werden immer zum Vorlaufzeitpunkt ausgeführt. Hauptlaufvariable ermitteln ihren Wert immer bezüglich des aktuellen Hauptlaufzustandes.
  • Seite 647 Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Der 2. Buchstabe wird meistens nur für Hauptlaufvariablen verwendet. Vorlaufvariablen wie z. B. $P_ werden meist ohne 2. Buchstaben ausgeführt. Dem Prefix ($ gefolgt von einem oder zwei Buchstaben) folgt immer ein Unterstrich und der nachfolgende Variablenname (meistens als englische Bezeichnung oder Abkürzung).
  • Seite 648: Implizite Typwandlung

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

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

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Index Datentyp <x> (MD18660 ... MD18665) Baustein REAL BOOL AXIS CHAR STRING SGUD SYG_RS[ i ] SYG_IS[ i ] SYG_BS[ i ] SYG_AS[ i ] SYG_CS[ i ] SYG_SS[ i ] MGUD SYG_RM[ i ] SYG_IM[ i ] SYG_BM[ i ] SYG_AM[ i ]...
  • Seite 651: Default-Achsbezeichner (No_Axis)

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

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Syntax PROC UP(AXIS PAR1=NO_AXIS, AXIS PAR2=NO_AXIS) IF PAR1 <>NO_AXIS... Bedeutung Unterprogrammdefinition PROC Unterprogrammname zur Erkennung Parameter n PARn Initialisierung des Formalparameters mit Default-Achsbezeichner NO_AXIS Beispiel: Definition einer Achsvariablen im Hauptprogramm Programmcode DEF AXIS AXVAR UP( , AXVAR) 10.3.5 Synchronaktions-Marker ($AC_MARKER[n]) Funktion...
  • Seite 653: Synchronaktions-Parameter ($Ac_Param[N])

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.6 Synchronaktions-Parameter ($AC_PARAM[n]) Funktion Synchronaktions-Parameter $AC_PARAM[n] dienen für Berechnungen und als Zwischenspeicher in Synchronaktionen. Diese Variablen können entweder im Speicher vom aktiven oder passiven Filesystem liegen. Synchronisations-Variable: Datentyp REAL Die Parameter sind unter gleichem Namen einmal pro Kanal vorhanden. $AC_PARAM[n] Rechenvariable für Bewegungssynchronaktionen (REAL) $MC_MM_NUM_AC_PARAM...
  • Seite 654: Rechenparameter ($R[N])

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.7 Rechenparameter ($R[n]) Funktion Diese statische Feld-Variable dient zu Berechnungen im Teileprogramm und Synchronaktionen. Syntax Programmierung im Teileprogramm: REAL R[n] REAL Rn Programmierung in Synchronaktionen: REAL $R[n] REAL $Rn Rechenparameter Die Verwendung von Rechenparametern ermöglicht: ●...
  • Seite 655: Nc-Maschinen- Und Nc-Settingdaten Lesen Und Schreiben

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 10.3.8 NC-Maschinen- und NC-Settingdaten lesen und schreiben Funktion Das Lesen und Schreiben von NC-Maschinen-/Settingdaten ist auch aus Synchronaktionen möglich. Beim Lesen und Schreiben von Maschinendaten-Feldelementen kann bei der Programmierung ein Index weggelassen werden. Geschieht dies im Teileprogramm, so wird beim Lesen das erste Feldelement gelesen und beim Schreiben werden alle Elemente des Feldes mit dem Wert beschrieben.
  • Seite 656 Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen MD- und SD zum Hauptlaufzeitpunkt schreiben Das aktuell eingestellte Zugriffsrecht muss den Schreibzugriff zulassen. Die Wirksamkeit für alle MD und SD ist in der Literatur: /LIS/, Listen (Buch 1) angegeben. Zu schreibende MD und SD sind eingeleitet mit $$ zu adressieren. Beispiel Programmcode Kommentar...
  • Seite 657: Timer-Variablen ($Ac_Timer[N])

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

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

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

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

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Hinweis $AC_BLOCKTYPEINFO enthält in der Tausenderstelle (T) immer auch den Wert für Blocktype für den Fall, dass ein Zwischensatz vorliegt. In $AC_BLOCKTYPEungleich 0 wird die Tausenderstelle nicht übernommen. $AC_SPLITBLOCK Wert: Bedeutung: Unveränderter programmierter Satz, (ein durch den Kompressor generierter Satz wird auch als programmierter Satz behandelt) Es liegt ein intern generierter Satz oder ein verkürzter Originalsatz vor Es liegt der letzte Satz in einer Kette von intern generierten Sätzen oder verkürzten...
  • Seite 663: Aktionen In Synchronaktionen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.1 Übersicht möglicher Aktionen in Synchronaktionen Aktionen in Synchronaktionen bestehen aus Wertzuweisungen, Funktions- oder Parameteraufrufen, Schlüsselwörter oder Technologiezyklen. Über Operatoren sind komplexe Ausführungen möglich. Mögliche Anwendungen sind: ● Berechnungen komplexer Ausdrücke im IPO-Takt ●...
  • Seite 664 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Synchronaktion Beschreibung DO $V…= zuweisen (Servo-Werte) DO $A...= Variable zuweisen (Hauptlaufvariable) DO $AC…[n]= Spezielle Hauptlaufvariable DO $AC_MARKER[n]= Synchronaktions-Marker lesen oder schreiben DO $AC_PARAM[n]= Synchronaktions-Parameter lesen oder schreiben DO $R[n]= Rechenvariable lesen oder schreiben DO $MD...= Lesen des MD-Wertes zum Interpolationszeitpunkt DO $$SD...= Schreiben des SD-Wertes im Hauptlauf...
  • Seite 665 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Synchronaktion Beschreibung DO [Feld n, m]=SET(Wert, Wert, ...) Initialisierung von Feldvariablen mit Wertelisten DO [Feld n, m]=REP(Wert, Wert, ...) Initialisierung von Feldvariablen mit gleichen Werten DO SETM(Marker Nr.) Wartemarken setzen DO CLEARM(Marker Nr.) Wartemarken löschen DO SETAL(Alarm Nr.) Zyklenalarm setzen (zusätzliche Sicherheitsfunktion) DO FXS[Achse]=...
  • Seite 666: Ausgabe Von Hilfsfunktionen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.2 Ausgabe von Hilfsfunktionen Funktion Ausgabezeitpunkt Die Ausgabe von Hilfsfunktionen erfolgt in der Synchronaktion unmittelbar zum Ausgabezeitpunkt der Aktion. Der über Maschinendatum definierte Ausgabezeitpunkt für Hilfsfunktionen ist unwirksam. Der Ausgabezeitpunkt ist dann gegeben, wenn die Bedingung erfüllt ist. Beispiel: Kühlmittel einschalten bei bestimmter Achsposition: WHEN $AA_IM[X]>=15 DO M07 POS[X]=20 FA[X]=250...
  • Seite 667: Einlesesperre Setzen (Rdisable)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.3 Einlesesperre setzen (RDISABLE) Funktion Mit RDISABLE wird bei erfüllter Bedingung die weitere Satzbearbeitung im Hauptprogramm angehalten. Programmierte Bewegungssynchronaktionen werden weiterbearbeitet, nachfolgende Sätze weiter aufbereitet. Im Bahnsteuerbetrieb wird am Anfang eines Satzes mit RDISABLE in Synchronaktionen immer Genauhalt ausgelöst, unabhängig davon, ob RDISABLE wirksam wird oder nicht.
  • Seite 668: Vorlaufstopp Aufheben (Stopreof)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.4 Vorlaufstopp aufheben (STOPREOF) Funktion Bei explizit programmiertem Vorlaufstopp STOPRE oder durch eine aktive Synchronaktion implizit aktiviertem Vorlaufstopp hebt STOPREOF, sobald die Bedingung erfüllt ist, den Vorlaufstopp nach dem nächsten Bearbeitungssatz auf. Hinweis STOPREOF muss mit dem Schlüsselwort WHEN und satzweise (ohne ID-Nummer) programmiert werden.
  • Seite 669: Restweglöschen (Deldtg)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.5 Restweglöschen (DELDTG) Funktion In Abhängigkeit von einer Bedingung kann Restweglöschen für die Bahn und für die angegebenen Achsen ausgelöst werden. Zur Verfügung steht: ● Schnelles, vorbereitetes Restweglöschen ● Restweglöschen ohne Vorbereitung Vorbereitetes Restweglöschen mit DELDTG erlaubt eine sehr schnelle Reaktion auf das Auslöseereignis und wird daher bei zeitkritischen Anwendungen verwendet, z.
  • Seite 670: Beispiel Schnelles Axiales Restweglöschen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Schnelles axiales Restweglöschen Programmcode Kommentar Abbruch einer Positionierbewegung: ID=1 WHEN $A_IN[1]==1 DO MOV[V]=3 FA[V]=700 Achse starten WHEN $A_IN[2]==1 DO DELDTG(V) Restweglöschen, Achse anhalten erfolgt mit MOV=0 Abhängig von Eingangsspannung den Restweg löschen: WHEN $A_INA[5]>8000 DO DELDTG(X1) Sobald am Eingang 5 Spannung von 8V überschritten wird, Restweg von Achse X1...
  • Seite 671: Polynomdefinition (Fctdef)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.6 Polynomdefinition (FCTDEF) Funktion Mit FCTDEF können Polynome 3. Grades in der Form y=a definiert werden. Diese Polynome werden von der Online-Werkzeugkorrektur FTOC und der Auswertefunktion SYNFCT benutzt. Syntax FCTDEF(Polynom-Nr.,LLIMIT,ULIMIT,a Bedeutung Polynom-Nr. Nummer des Polynoms 3. Ordnung LLIMIT untere Grenze für Funktionswert ULIMIT...
  • Seite 672 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Polynom für Geradenabschnitt Mit Obergrenze 1000, Untergrenze -1000, dem Ordinatenabschnitt a =$AA_IM[X] und der Geradensteigung 1 lautet die Polynomdefinition: FCTDEF(1, -1000,1000,$AA_IM[X],1) Beispiel Laserleistungssteuerung Eine der möglichen Anwendungen von Polynomdefinition ist die Laserleistungssteuerung. Laserleistungssteuerung heißt: Beeinflussung eines Analogausgangs in Abhängigkeit z.
  • Seite 673 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Programmcode Kommentar $AC_FCTLL[1]=0.2 Definition der Polynomkoeffizienten $AC_FCTUL[1]=0.5 $AC_FCT0[1]=0.35 $AC_FCT1[1]=1.5EX-5 STOPRE ID=1 DO $AC_FCTUL[1]=$A_INA[2]*0.1 +0.35 Obergrenze online verändern. ID=2 DO SYNFCT(1,$A_OUTA[1],$AC_VACTW) in Abhängigkeit von der Bahngeschwindigkeit (in $AC_VACTW hinterlegt) wird die Laserleistungssteuerung über den Analog-Ausgang 1 gesteuert Hinweis Die Benutzung des oben definierten Polynoms erfolgt mit SYNFCT.
  • Seite 674: Synchronfunktion (Synfct)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.7 Synchronfunktion (SYNFCT) Funktion SYNFCT berechnet den Ausgangswert eines Polynoms 3. Grades gewichtet mit der Eingangs-Variablen. Das Ergebnis steht in der Ausgangs-Variablen und wird nach oben und unten begrenzt. Die Auswertefunktion findet Anwendung ● bei AC-Regelung (Adaptive Control), ●...
  • Seite 675 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel AC-Regelung (additiv) Additive Beeinflussung des programmierten Vorschubs Ein programmierter Vorschub soll additiv über den Strom der X-Achse (Zustellachse) geregelt werden: Der Vorschub soll um +/- 100 mm/min variieren, wobei der Strom um +/-1A um den Arbeitspunkt bei 5A schwankt.
  • Seite 676 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel AC-Regelung (multiplikativ) Programmierten Vorschub multiplikativ beeinflussen Der programmierter Vorschub soll multiplikativ beeinflusst werden, wobei der Vorschub – abhängig von der Belastung des Antriebes –bestimmte Grenzen nicht überschreiten soll: ● Bei Antriebslast von 80% soll der Vorschub stoppen: Override = 0. ●...
  • Seite 677: Abstandsregelung Mit Begrenzter Korrektur ($Aa_Off_Mode)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.8 Abstandsregelung mit begrenzter Korrektur ($AA_OFF_MODE) Hinweis Diese Funktion steht für SINUMERIK 828D nicht zur Verfügung! Funktion Die integrierende Berechnung der Abstandswerte erfolgt mit Grenzbereichsprüfung: $AA_OFF_MODE = 1 ACHTUNG Die Kreisverstärkung des überlagerten Regelkreises ist abhängig von der Einstellung des IPO-Taktes.
  • Seite 678 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Hinweis Begrenzung der Geschwindigkeit des überlagerten Interpolators durch MD 32020: JOG_VELO bei Ipo-Takt 12 ms. Formel für Geschwindigkeit: Beispiel Unterprogramm "AON": Abstandsregelung Ein Programmcode Kommentar PROC AON $AA_OFF_LIMIT[Z]=1 ; Grenzwert festlegen. FCTDEF(1, -10, +10, 0, 0.6, 0.12) ;...
  • Seite 679 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Weitere Informationen Positionsoffset im Basiskoordinatensystem Mit der Systemvariable $AA_OFF[Achse]kann jeder Achse im Kanal eine Bewegung überlagert werden. Sie wirkt als Positionsoffset im Basiskoordinatensystem. Der so programmierte Positionsoffset wird der entsprechenden Achse sofort überlagert, unabhängig davon, ob die Achse programmiert verfahren wird oder nicht. Hauptlaufvariable-Ausgang begrenzen: Es ist möglich, den absolut zu korrigierenden Wert (Hauptlaufvariable-Ausgang) auf den im Settingdatum SD43350 $SA_AA_OFF_LIMIThinterlegten Wert zu begrenzen.
  • Seite 680: Online-Werkzeugkorrektur (Ftoc)

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

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

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

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

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

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

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

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.15 Achstausch (RELEASE, GET) Funktion Für einen Werkzeugwechsel können die betreffenden Kommandoachsen als Aktion einer Synchronaktion mit GET(Achse) angefordert werden. Der diesem Kanal zugeordnete Achstyp und das damit zu diesem Zeitpunkt verbundene Interpolationsrecht kann über die Systemvariable $AA_AXCHANGE_TYP abgefragt werden.
  • Seite 691 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Programmablauf für einen Achstausch zweier Kanäle Die Achse Z ist im 1.Kanal und im 2. Kanal bekannt. Programmablauf im 1. Kanal: Programmcode Kommentar WHEN TRUE DO RELEASE(Z) Z-Achse wird zur neutralen Achse WHENEVER($AA_TYP[Z]==1) DO RDISABLE Einlesesperre solange Z-Achse Programmachse N110 G4 F0.1...
  • Seite 692: Beispiel Achstausch Im Technologiezyklus

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Weiterer Programmablauf im 1. Kanal: Programmcode Kommentar N150 WAIM(10, 1, 2) mit Kanal 2 synchronisieren WHEN TRUE DO GET(Z) Z-Achse in diesen Kanal holen WHENEVER($AA_TYP[Z]==0) DO RDISABLE Einlesesperre solange Z-Achse in anderem Kanal N160 G4 F0.1 N199 WAITE(2) N999 M30 warte auf Programmende im Kanal 2...
  • Seite 693 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen ● 4: neutrale Achse ist vom PLC kontrolliert ● 5: ein anderer Kanal hat Interpolationsrecht, Achse ist angefordert für das NC-Programm ● 6: ein anderer Kanal hat Interpolationsrecht, Achse ist angefordert als neutrale Achse ● 7: Achse der PLC oder als Kommandoachse oder Pendelachse aktiv, Achse ist angefordert für das NC-Programm ●...
  • Seite 694 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Achse bereits dem angeforderten Kanal zugeordnet Zuordnung als NC-Programm Achse mit Reorganisieren: Ist die angeforderte Achse zum Aktivierungszeitpunkt bereits dem anfordernden Kanal zugeordnet, und im Zustand neutrale Achse – nicht von der PLC kontrolliert – ($AA_AXCHANGE_TYP[<Achse>]==3), so wird sie dem NC–Programm zugeordnet ($AA_AXCHANGE_TYP[<Achse>]==0).
  • Seite 695: Axialer Vorschub (Fa)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.16 Axialer Vorschub (FA) Funktion Der axiale Vorschub für Kommandoachsen ist modal wirksam. Syntax FA[<Achse>]=<Wert> Beispiel Programmcode Kommentar ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=990 Vorschubwert fest vorgeben. Vorschubwert aus Hauptlaufvariablen bilden: ID=1 EVERY $AA_IM[B]>75 DO POS[U]=100 FA[U]=$AA_VACTM[W]+100 10.4.17 SW-Endschalter Funktion...
  • Seite 696: Achskoordinierung

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

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

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

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.21 Mitschleppen (TRAILON, TRAILOF) Funktion Beim Einschalten der Kopplung aus der Synchronaktion kann die Leitachse in Bewegung sein. Die Folgeachse wird in diesem Fall auf die Sollgeschwindigkeit beschleunigt. Die Position der Leitachse zum Synchronisationszeitpunkt der Geschwindigkeiten ist Startposition für das Mitschleppen.
  • Seite 700 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Programmcode Kommentar $A_IN[1]==0 DO TRAILON(Y,V,1) ; Einschalten des 1. Mitschleppverbandes, wenn der digitale Eingang 1 ist $A_IN[2]==0 DO TRAILON(Z,W,-1) ; Einschalten des 2. Mitschleppverbandes G0 Z10 ; Zustellung der Z- und W-Achse in entgegengesetzter ;Achsrichtung G0 Y20 ;...
  • Seite 701: Leitwertkopplung (Leadon, Leadof)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.22 Leitwertkopplung (LEADON, LEADOF) Hinweis Diese Funktion steht für SINUMERIK 828D nicht zur Verfügung! Funktion Die axiale Leitwertkopplung ist ohne Einschränkung in Synchronaktionen programmierbar. Das Ändern einer Kurventabelle bei bestehender Kopplung ohne einer vorherigen Neusynchronisation ist optional nur in Synchronaktionen möglich. Syntax Leitwertkopplung einschalten DO LEADON(Folgeachse, Leitachse, Kurvtab.
  • Seite 702 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Zugriff per Synchronaktionen freischalten RELEASE Um eine zu koppelnde Achse für den Zugriff per Synchronaktion frei zu schalten, muss vorher die Funktion RELEASE für die zu koppelnde Folgeachse aufgerufen werden. Beispiel: RELEASE(XKAN) ID=1 every SR1==1 to LEADON(CACH,XKAN,1) OVW=0 (Defaultwert) Einer bestehenden Kopplung kann ohne Neusynchronisation keine neue Kurventabelle vorgegeben werden.
  • Seite 703 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Programmcode Kommentar N100 R3=1500 ; Länge eines abzutrennenden Teiles N200 R2=100000 R13=R2/300 N300 R4=100000 N400 R6=30 ; Startposition Y Achse N500 R1=1 ; Startbedingung für Bandachse N600 LEADOF(Y,X) ; löschen einer evtl. bestehenden Kopplung N700 CTABDEF(Y,X,1,0) ;...
  • Seite 704: Messen (Meawa, Meac)

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

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

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Programmcode Kommentar WHEN TRUE DO SYG_IS[0]=REP(0) Ergebnis: WHEN TRUE DO SYG_IS[1]=SET(3,4,5) SYG_IS[0]=0 SYG_IS[1]=3 SYG_IS[2]=4 SYG_IS[3]=5 SYG_IS[4]=0 10.4.25 Wartemarken setzen/löschen (SETM, CLEARM) Funktion In Synchronaktionen können Wartemarken gesetzt bzw. gelöscht werden, um z. B. Kanäle untereinander zu koordinieren.
  • Seite 707: Fehlerreaktionen (Setal)

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

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

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

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

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.28 Bestimmung des Bahntangentenwinkels in Synchronaktionen Funktion Die in Synchronaktionen lesbare Systemvariable $AC_TANEB (Tangent ANgel at End of Block) ermittelt den Winkel zwischen der Bahntangente im Endpunkt des aktuellen Satzes und der Bahntangente im Startpunkt des programmierten Folgesatzes. Parameter Der Tangentenwinkel wird stets positiv im Bereich 0.0 bis 180.0 Grad ausgegeben.
  • Seite 712: Auslastungsauswertung Über Zeitbedarf Der Synchronaktionen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Der resultierende Override wird für Synchronaktionen in den Systemvariablen: $AA_TOTAL_OVR Axial Override $AC_TOTAL_OVR Bahnoverride zum Lesen bereitgestellt. Der resultierende Override errechnet sich als: $AA_OVR * $AA_PLC_OVR bzw. $AC_OVR * $AC_PLC_OVR 10.4.30 Auslastungsauswertung über Zeitbedarf der Synchronaktionen Funktion In einem Interpolationstakt müssen sowohl Synchronaktionen interpretiert als auch Bewegungen usw.
  • Seite 713 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Bedeutung Die Variablen haben nur gültige Werte, wenn das Maschinendatum $MN_IPO_MAX_LOAD größer als 0 ist. Andernfalls geben die Variablen sowohl für SINUMERIK powerline als auch für solution line Systeme immer die Nettorechenzeit an, bei der die durch HMI erzeugten Unterbrechungen nicht mehr berücksichtigt werden.
  • Seite 714: Technologiezyklen

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5 Technologiezyklen Funktion Als Aktion in Synchronaktionen können auch Programme aufgerufen werden, die jedoch nur aus Funktionen aufgebaut sein dürfen, welche auch als Aktionen in Synchronaktionen zulässig sind. So aufgebaute Programme heißen Technologiezyklen. Technologiezyklen werden als Unterprogramme in der Steuerung abgelegt. In einem Kanal können parallel mehrere Technologiezyklen oder Aktionen bearbeitet werden.
  • Seite 715 Bewegungssynchronaktionen 10.5 Technologiezyklen Parameterübergabe Eine Parameterübergabe an Technologiezyklen ist möglich. Berücksichtigt werden sowohl einfache Datentypen, die als Formal-Parameter "Call by Value" übergeben werden, als auch Standardeinstellungen, die beim Aufruf von Technologiezyklen wirksam werden. Dies sind: ● Programmierte Standardwerte, wenn kein Übergabeparameter programmiert ist. ●...
  • Seite 716 Bewegungssynchronaktionen 10.5 Technologiezyklen Hauptprogramm: Programmcode Kommentar ID=1 EVERY $A_IN[1]==1 DO ACHSE_X ; Wenn Eingang 1 auf 1, starte Achsprogramm ACHSE_X. ID=2 EVERY $A_IN[2]==1 DO ACHSE_Y ; Wenn Eingang 2 auf 1, starte Achsprogramm ACHSE_Y. ID=3 EVERY $A_IN[3]==1 DO ACHSE_Z ; Wenn Eingang 3 auf 1, starte Achsprogramm ACHSE_Z. Achsprogramm ACHSE_X: Programmcode M100...
  • Seite 717 Bewegungssynchronaktionen 10.5 Technologiezyklen Beispiel 2: Verschiedene Programmsequenzen im Technologiezyklus Programmcode PROC CYCLE N10 DEF REAL WERT=12.3 N15 DEFINE ABC AS G01 Beide Sätze werden ohne Alarm und ohne Anlegen der Variablen bzw. des Makros überlesen. Programmcode PROC CYCLE N10 DEF REAL N15 DEFINE ABC G01 Beide Sätze führen weiterhin zum NC-Alarm, weil die Syntax nicht korrekt geschrieben ist.
  • Seite 718: Kontext-Variable ($P_Teccycle)

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

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

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

    Bewegungssynchronaktionen 10.5 Technologiezyklen Beispiel für Abarbeitungsmode ICYCOF Programmcode Kommentar IPO-Takt PROC TECHNOCYC $R1=1 2.25 POS[X]=100 ICYCOF $R1=2 $R2=$R1+1 POS[X]=110 $R3=3 10.5.5 Kaskadierungen von Technologiezyklen Funktion Es können bis zu 8 Technologiezyklen in Reihe geschaltet abgearbeitet werden. Damit sind in einer Synchronaktion mehrere Technologiezyklen programmierbar. Syntax ID=1 WHEN $AA_IW[X]>50 DO TEC1($R1) TEC2 TEC3(X) Bearbeitungsreihenfolge...
  • Seite 722: Technologiezyklen In Satzweisen Synchronaktionen

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.6 Technologiezyklen in satzweisen Synchronaktionen Funktion Technologiezyklen sind auch in satzweisen Synchronaktion möglich. Ist die Abarbeitungszeit eines Technologiezyklus länger als die Bearbeitungszeit des zugehörigen Satzes, so wird der Technologiezyklus beim Satzwechsel abgebrochen. Hinweis Ein Technologiezyklus verhindert nicht den Satzwechsel. 10.5.7 Kontrollstrukturen (IF) Funktion...
  • Seite 723: Sprunganweisungen (Goto, Gotof, Gotob)

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.8 Sprunganweisungen (GOTO, GOTOF, GOTOB) Funktion In Technologiezyklen sind die Sprunganweisungen GOTO, GOTOF, GOTOB möglich. Die angegeben Labels müssen im Unterprogramm vorhanden sein, damit kein Alarm abgesetzt wird. Hinweis Labels und Satznummern dürfen nur Konstanten sein. Syntax Unbedingte Sprünge GOTO Label, Satznummer GOTOF Label, Satznummer...
  • Seite 724: Sperren, Freischalten, Zurücksetzen (Lock, Unlock, Reset)

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.9 Sperren, Freischalten, Zurücksetzen (LOCK, UNLOCK, RESET) Funktion Der Ablauf eines Technologiezyklus kann durch eine andere modale Synchronaktion gesperrt, wieder freigegeben oder zurückgesetzt werden. Syntax LOCK(<n1>,<n2>,...) UNLOCK(<n1>,<n2>,...) RESET(<n1>,<n2>,...) Bedeutung LOCK Befehl zum Sperren von Synchronaktionen Die aktive Aktion wird unterbrochen. UNLOCK Befehl zum Freischalten von Synchronaktionen RESET...
  • Seite 725: Beispiele

    Bewegungssynchronaktionen 10.5 Technologiezyklen Beispiele Beispiel 1: Synchronaktionen sperren (LOCK) Programmcode N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1) Beispiel 2: Synchronaktionen freischalten (UNLOCK) Programmcode N100 ID=1 WHENEVER $A_IN[1]==1 DO M130 N200 ID=2 WHENEVER $A_IN[2]==1 DO LOCK(1) N250 ID=3 WHENEVER $A_IN[3]==1 DO UNLOCK(1) Beispiel 3: Technologiezyklus unterbrechen (RESET) Programmcode...
  • Seite 726: Synchronaktion Löschen (Cancel)

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

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

    Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen NC-Stopp Statische Synchronaktionen bleiben bei NC-Stopp aktiv. Aus statischen Synchronaktionen gestartete Bewegungen werden nicht abgebrochen. Zum aktiven Satz gehörige programmlokale Synchronaktionen bleiben aktiv, daraus gestartete Bewegungen werden abgebrochen. Programmende Programmende und Synchronaktion beeinflussen sich nicht gegenseitig. Laufende Synchronaktionen werden auch nach Programmende abgeschlossen.
  • Seite 729 Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen Programmunterbrechung durch asynchrones Unterprogramm ASUP ASUP-Anfang: Modale und statische Bewegungssynchronaktionen bleiben erhalten und sind auch im asynchronen Unterprogramm wirksam. ASUP-Ende: Wird das asynchrone Unterprogramm nicht mit REPOS fortgesetzt, wirken die im asynchronen Unterpogramm geänderten modalen und statischen Bewegungssynchronaktionen im Hauptprogramm weiter.
  • Seite 730 Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 731: Pendeln

    Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Funktion Eine Pendelachse fährt zwischen den zwei Umkehrpunkten 1 und 2 mit gegebenem Vorschub hin und her, bis die Pendelbewegung abgeschaltet wird. Andere Achsen können während der Pendelbewegung beliebig interpoliert werden. Über eine Bahnbewegung oder mit einer Positionierachse kann eine kontinuierliche Zustellung erreicht werden.
  • Seite 732 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Bedeutung <Achse> Name der Pendelachse Pendeln ein-/ausschalten Wert: Pendeln einschalten Pendeln ausschalten OSP1 Position von Umkehrpunkt 1 festlegen OSP2 Position von Umkehrpunkt 2 festlegen Hinweis: Falls ein inkrementelles Verfahren aktiv ist, so wird die Position inkrementell zur letzten im NC-Programm programmierten entsprechenden Umkehrposition berechnet.
  • Seite 733: Asynchrones Pendeln (Os, Osp1, Osp2, Ost1, Ost2, Osctrl, Osnsc, Ose, Osb)

    Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) OSCTRL Setz- und Rücksetzoptionen angeben Die Optionswerte 0 - 3 verschlüsseln das Verhalten an den Umkehrpunkten beim Ausschalten. Es kann eine der Varianten 0 - 3 ausgewählt werden. Die übrigen Einstellungen sind nach Bedarf kombinierbar mit der gewählten Variante.
  • Seite 734 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) OSNSC Anzahl der Ausfeuerungshübe festlegen Endposition (im WKS) festlegen, die nach Ausschalten des Pendelns angefahren werden 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 soll Die Startposition wird vor Umkehrpunkt 1 angefahren.
  • Seite 735 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Beispiele Beispiel 1: Pendelachse soll zwischen zwei Umkehrpunkten pendeln Die Pendelachse Z soll zwischen Position 10 und 100 pendeln. Umkehrpunkt 1 soll mit Genauhalt fein, Umkehrpunkt 2 mit Genauhalt grob angefahren werden. Der Vorschub für die Pendelachse soll 250 betragen.
  • Seite 736: Weitere Informationen

    Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Beispiel 2: Pendeln mit Online-Änderung der Umkehrposition Die für das asynchrone Pendeln erforderlichen Settingdaten können im Teileprogramm eingestellt werden. Werden im Teileprogramm die Settingdaten direkt beschrieben, so wird die Änderung schon zum Vorlaufzeitpunkt wirksam.
  • Seite 737 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Pendelumkehrpunkte Bei der Festlegung der Pendelpositionen sind die aktuellen Verschiebungen zu beachten: ● Absolute Angabe OSP1[Z]=<Wert> Position Umkehrpunkt = Summe der Verschiebungen + programmierter Wert ● Relative Angabe OSP1[Z]=IC(<Wert>) Position Umkehrpunkt = Umkehrpunkt 1 + programmierter Wert Beispiel:...
  • Seite 738: Über Synchronaktionen Gesteuertes Pendeln (Oscill)

    Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Funktion Bei dieser Art des Pendelns ist nur an den Umkehrpunkten bzw. innerhalb definierter Umkehrbereiche eine Zustellbewegung zugelassen. Je nach Anforderung kann die Pendelbewegung während der Zustellung ●...
  • Seite 739 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Achszuordnung, Zustellung OSCILL[<Pendelachse>]=(<Zustellachse 1>,<Zustellachse 2>, <Zustellachse 3>) POSP[<Zustellachse>]=(<Endpos>,<Teillänge>,<Modus>) Zustellachse(n) der Pendelachse zuordnen OSCILL: Gesamt- und Teilzustellungen festlegen (siehe Kapitel Datei- und POSP: Programmverwaltung) Endposition für die Zustellachse, nachdem alle Teilzustellungen Endpos: abgefahren sind. Größe der Teilzustellung am Umkehrpunkt/Umkehrbereich Teillänge: Aufteilung der Gesamtzustellung in Teilzustellungen...
  • Seite 740 Pendeln 11.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 741 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) 2. Bewegungssynchronaktion Programmcode Kommentar WHENEVER ; Immer wenn die aktuelle Position der $AA_IM[Z]<$SA_OSCILL_REVERSE_POS2[Z]DO -> Pendelachse Z im MKS kleiner als der -> $AA_OVR[X]=0 $AC_MARKER[0]=0 Beginn des Umkehrbereichs 2 ist, dann setze den axialen Override der Zustellachse X auf 0% und den Merker mit dem Index 0 auf den Wert 0.
  • Seite 742 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Beschreibung 1. Pendelparameter festlegen Vor dem Bewegungssatz, der die Zuordnung von Zustell- und Pendelachse sowie die Festlegung der Zustellung enthält, sind die Parameter für das Pendeln festzulegen (siehe "Asynchrones Pendeln"). 2. Bewegungssynchronaktionen festlegen Über Synchronbedingungen erfolgt: Zustellung unterdrücken, bis sich die Pendelachse innerhalb eines Umkehrbereichs (ii1, ii2) oder an einem Umkehrpunkt (U1, U2) befindet.
  • Seite 743 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Bewegungssynchronaktionen festlegen Die im folgenden ausgeführten Bewegungssynchronaktionen werden ganz allgemein zum Pendeln verwendet. Sie finden Beispiellösungen für die Lösung von einzelnen Anforderungen, die Ihnen als Bausteine für die Erstellung von anwenderspezifischen Pendelbewegungen dienen. Hinweis Im Einzelfall können die Synchronbedingungen auch anders programmiert werden.
  • Seite 744 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Pendeln- und Zustellachse zuordnen sowie Gesamt- und Teilzustellung festlegen Zustellung im Umkehrbereich Die Zustellbewegung soll innerhalb eines Umkehrbereichs beginnen, bevor der Umkehrpunkt erreicht ist. Diese Synchronaktionen verhindern die Zustellbewegung, bis sich die Pendelachse in einem Umkehrbereich befindet.
  • Seite 745 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Anhalten der Pendelbewegung im Umkehrpunkt Die Pendelachse wird am Umkehrpunkt angehalten, gleichzeitig beginnt die Zustellbewegung. Die Pendelbewegung wird fortgesetzt, wenn die Zustellbewegung vollständig ausgeführt ist. Gleichzeitig kann diese Synchronaktion dazu benutzt werden, die Zustellbewegung zu starten, falls diese durch eine vorhergehende Synchronaktion, die noch wirksam ist, gestoppt wurde.
  • Seite 746 Pendeln 11.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 Immer wenn der REstweg für die Teilzustellung der $AA_DTEPW[X]==0 Zustelalchse X im WKS gleich Null ist, dann setze den DO $AA_OVR[Z]=100...
  • Seite 747: Stanzen Und Nibbeln

    Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung 12.1.1 Stanzen und Nibbeln ein oder aus (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) Funktion Stanzen bzw. Nibbeln aktivieren/deaktivieren Mit PON und SON wird die Stanz- bzw. Nibbelfunktion aktiviert. SPOF beendet alle stanz- und nibbelspezifischen Funktionen.
  • Seite 748 Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Wegabhängige Beschleunigung Mit PUNCHACC kann eine Beschleunigungskennlinie festgelegt werden, die je nach Lochabstand unterschiedliche Beschleunigungen definiert. Zweites Stanz-Interface Maschinen, die abwechselnd ein zweites Stand-Interface (zweite Stanzeinheit oder ein vergleichbares Medium) nutzen sollen, können auf ein zweites Paar der schnellen digitalen Ein- und Ausgänge der Steuerung (I/O-Paar) umgeschaltet werden.
  • Seite 749 Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Bedeutung Stanzen aktivieren Nibbeln aktivieren PONS Stanzen mit Vorspann aktivieren SONS Nibbeln mit Vorspann aktivieren SPOF Stanzen/Nibbeln deaktivieren PDELAYON Stanzen mit Verzögerung aktivieren PDELAYOF Stanzen mit Verzögerung deaktivieren PUNCHACC Wegabhängige Beschleunigung aktivieren Parameter: <Smin> Kleinster Lochabstand <Amin>...
  • Seite 750: Beispiele

    Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Beispiele Beispiel 1: Nibbeln aktivieren Programmcode Kommentar N70 X50 SPOF ; Positionieren ohne Stanzauslösung. N80 X100 SON ; Nibbeln aktivieren, Auslösung eines Hubs vor der Bewegung (X=50) und am Ende der programmierten Bewegung (X=100). Beispiel 2: Stanzen mit Verzögerung Programmcode Kommentar...
  • Seite 751 Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Weitere Informationen Stanzen und Nibbeln mit Vorspann (PONS/SONS) Stanzen und Nibbeln mit Vorspann ist nicht gleichzeitig in mehreren Kanälen möglich. PONS bzw. SONS kann nur jeweils in einem Kanal aktiviert werden. Wegabhängige Beschleunigung (PUNCHACC) Beispiel: PUNCHACC(2,50,10,100) Lochabstände unter 2mm:...
  • Seite 752 Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung Stanzen und Nibbeln auf der Stelle Eine Hubauslösung erfolgt nur dann, wenn der Satz eine Verfahrinformation für die Stanz- oder Nibbelachsen (Achsen der aktiven Ebene) enthält. Um dennoch einen Hub an gleicher Stelle auszulösen, wird eine der Stanz-/Nibbelachsen mit Verfahrweg 0 programmiert.
  • Seite 753 Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung 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). Dabei gelten die folgenden Entsprechungen zu älteren Systemen: M20, M23 SPOF ≙ ≙ ≙...
  • Seite 754: Automatische Wegaufbereitung

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

    Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 12.2.1 Wegaufteilung bei Bahnachsen Länge der Teilstrecke SPP Mit SPP geben Sie den maximalen Hubabstand und damit die maximale Länge der Teilstrecken an, in die die Gesamtverfahrstrecke aufgeteilt werden soll. Das Ausschalten des Befehls erfolgt mit SPOF oder SPP=0. Beispiel: N10 SON X0 Y0 N20 SPP=2 X10...
  • Seite 758 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung Beispiel: N10 G1 G91 SON X10 Y10 N20 SPP=3.5 X15 Y15 Bei der Gesamtverfahrstrecke von 15 mm und einer Teilstreckenlänge von 3,5 mm ergibt sich ein nicht ganzzahliger Quotient (4.28). Somit erfolgt eine Reduktion des SPP-Werts bis zum nächstmöglichen ganzzahligen Quotienten.
  • Seite 759: Wegaufteilung Bei Einzelachsen

    Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung Hinweis Sofern Stanzen/Nibbeln grundsätzlich in der Steuerung verfügbar ist, ist die Programmierung der automatischen Wegaufteilung mit SPN bzw. SPP auch unabhängig von dieser Technologie aktivierbar. 12.2.2 Wegaufteilung bei Einzelachsen Sind neben den Bahnachsen auch Einzelachsen als Stanz-Nibbel-Achse definiert, so können auch sie der automatischen Wegaufteilung unterliegen.
  • Seite 760 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 1. Einzelachse ohne Wegaufteilung Die Einzelachse verfährt ihren Gesamtweg im ersten der erzeugten Sätze. 2. Unterschiedliche Wegaufteilung Das Verhalten der Einzelachse ist abhängig von der Interpolation der Bahnachsen: ● Kreisinterpolation: Wegaufteilung ● Linearinterpolation: keine Wegaufteilung Verhalten bei SPN Die programmierte Anzahl von Teilstrecken gilt auch, wenn nicht gleichzeitig eine Bahnachse programmiert ist.
  • Seite 761: Schleifen

    Schleifen 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) Funktion Mit dem Befehl TMON können Sie für Schleifwerkzeuge (Typ 400 - 499) die Geometrie- und Drehzahlüberwachung im NC-Teileprogramm aktivieren. Die Überwachung bleibt aktiv, bis sie im Teileprogramm durch den Befehl TMOF abgeschaltet wird. Hinweis Bitte beachten Sie die Angaben des Maschinenherstellers! Voraussetzung...
  • Seite 762 Schleifen 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) Weitere Informationen Schleifspezifische Werkzeug-Parameter Parameter Bedeutung Datentyp $TC_TPG1 Spindelnummer $TC_TPG2 Verkettungsvorschrift Die Parameter werden automatisch für die linke und rechte Scheibenseite identisch gehalten. $TC_TPG3 Minimaler Scheibenradius REAL $TC_TPG4 Minimale Scheibenbreite REAL $TC_TPG5 Aktuelle Scheibenbreite REAL $TC_TPG6...
  • Seite 763 Schleifen 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) Arbeiten ohne T- und D-Nummer Per Maschinendatum kann eine Standard-T-Nummer und Standard-D-Nummer eingestellt werden, die nicht mehr programmiert werden muss und nach Power On / Reset wirksam wird. Beispiel: Arbeiten mit derselben Schleifscheibe Über das Maschinendatum kann eingestellt werden, dass das aktive Werkzeug bei Reset erhalten bleibt (siehe "...
  • Seite 764 Schleifen 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 765: Weitere Funktionen

    Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Funktion AXNAME wird z. B. bei der Erstellung allgemeingültiger Zyklen verwendet, wenn die Namen der Achsen nicht bekannt sind. AX wird für die indirekte Programmierung von Geometrie- und Synchronachsen verwendet. Der Achsbezeichner wird dabei in einer Variablen vom Typ AXIS hinterlegt oder von einem Befehl wie AXNAME oder SPI geliefert.
  • Seite 766 Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Bedeutung AXNAME Konvertiert einen Eingangsstring in Achsbezeichner; der Eingangsstring muss gültigen Achsnamen enthalten. Variabler Achsbezeichner Konvertiert Spindelnummer in Achsbezeichner; der Übergabeparameter muss eine gültige Spindelnummer enthalten. Spindelnummer AXTOSPI Wandelt einen Achsbezeichner in einen Spindelindex vom Typ Integer um.
  • Seite 767: Beispiele

    Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Beispiele Beispiel 1: AXNAME, AX, ISAXIS Programmcode Kommentar OVRA[AXNAME("Planachse")]=10 ; Override für Planachse AX[AXNAME("Planachse")]=50.2 ; Endposition für Planachse OVRA[SPI(1)]=70 ; Override für Spindel 1 AX[SPI(1)]=180 ; Endposition für Spindel 1 IF ISAXIS(1)==FALSE GOTOF WEITER ;...
  • Seite 768: Umschaltbare Geometrieachsen (Geoax)

    Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) 14.2 Umschaltbare Geometrieachsen (GEOAX) Funktion Mit der Funktion "Umschaltbare Geometrieachsen" lässt sich der über Maschinendaten konfigurierte Geometrieachsverbund vom Teileprogramm aus verändern. Dabei kann eine als synchrone Zusatzachse definierte Kanalachse eine beliebige Geometrieachse ersetzen. Syntax GEOAX(<n>,<Kanalachse>,<n>,<Kanalachse>,<n>,<Kanalachse>) GEOAX() Bedeutung...
  • Seite 769 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Beispiele Beispiel 1: Zwei Achsen wechselweise als Geometrieachse schalten Ein Werkzeugschlitten kann über die Kanalachsen X1, Y1, Z1, Z2 verfahren werden: Die Geometrieachsen sind so projektiert, dass nach dem Einschalten zunächst Z1 als 3. Geometrieachse unter dem Geometrieachsnamen "Z" wirksam ist und zusammen mit X1 und Y1 den Geometrieachsverbund bildet.
  • Seite 770 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Beispiel 2: Umschalten der Geometrieachsen bei 6 Kanalachsen Eine Maschine besitzt 6 Kanalachsen mit den Namen XX, YY, ZZ, U, V, W. Die Grundeinstellung der Geometrieachskonfiguration über Maschinendaten ist: Kanalachse XX = 1. Geometrieachse (X-Achse) Kanalachse YY = 2.
  • Seite 771 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Hinweis Achskonfiguration Die Zuordnung zwischen den Geometrieachsen, Zusatzachsen, Kanalachsen und Maschinenachsen, sowie die Festlegung der Namen der einzelnen Achstypen wird über folgende Maschinendaten getroffen: MD20050 $MC_AXCONF_GEOAX_ASIGN_TAB (Zuordnung Geometrieachse zu Kanalachse) MD20060 $MC_AXCONF_GEOAX_NAME_TAB (Geometrieachsname im Kanal) MD20070 $MC_AXCONF_MACHAX_USED (Maschinenachsnummer gültig im Kanal) MD20080 $MC_AXCONF_CHANAX_NAME_TAB (Kanalachsname im Kanal) MD10000 $MN_AXCONF_MACHAX_NAME_TAB (Maschinenachsname)
  • Seite 772 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Randbedingungen Achszustand nach dem Ersetzen Eine durch die Umschaltung im Geometrieachsverbund ersetzte Achse ist nach dem Umschaltvorgang über ihren Kanalachsnamen als Zusatzachse programmierbar. Frames, Schutzbereiche, Arbeitsfeldbegrenzungen Mit dem Umschalten der Geometrieachsen werden alle Frames, Schutzbereiche und Arbeitsfeldbegrenzungen gelöscht.
  • Seite 773 Weitere Funktionen 14.2 Umschaltbare Geometrieachsen (GEOAX) Eine über GEOAX veränderte Geometrieachskonfiguration wird durch Aktivierung einer Transformation gelöscht. Widersprechen sich Einstellungen der Maschinendaten für die Transformation und für die Umschaltung von Geometrieachsen, so haben die Einstellungen in der Transformation Vorrang. Beispiel: Eine Transformation sei aktiv.
  • Seite 774: Achscontainer (Axctswe, Axctswed)

    Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED) 14.3 Achscontainer (AXCTSWE, AXCTSWED) Funktion Bei Rundtaktmaschinen/Mehrspindelmaschinen bewegen sich die Werkstück-tragenden Achsen von einer Bearbeitungseinheit zur nächsten. Weil die Bearbeitungseinheiten verschiedenen NCU-Kanälen unterstehen, müssen bei einem Stations- / Lagewechsel die Werkstück-tragenden Achsen dem entsprechenden NCU-Kanal dynamisch neu zugeordnet werden.
  • Seite 775 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED) <Achscontainer> Bezeichner des Achscontainers, der weitergeschaltet werden soll. Mögliche Angaben sind: CT<Containernummer> An die Buchstabenkombination CT wird die Nummer des Achscontainers angehängt. Beispiel: CT3 <Containername> MD12750 $MN_AXCT_NAME_TAB eingestellter individueller Name des Achscontainers. Beispiel: A_CONT3 Weitere Informationen Achscontainer Über Achscontainer können zugeordnet werden.
  • Seite 776 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED) Beispiel: Nach der Achscontainer-Drehung um 1 ist der Kanalachse Z statt der Achse AX1 auf NCU1 die Achse AX5 auf NCU1 zugeordnet. AXCTSWED( ) Die Befehlsvariante AXCTSWED() kann zur Vereinfachung der Inbetriebnahme eingesetzt werden. Der Achscontainer dreht sich unter alleiniger Wirkung des aktiven Kanals um die im SD41700 $SN_AXCT_SWWIDTH[<Containernummer>] hinterlegten Container-spezifischen Schrittweite.
  • Seite 777 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED) Wirksamkeit Von der neuen Achszuordnung nach einer Achscontainerdrehung sind alle NCUs betroffen, deren Kanäle über das logische Maschinenachsabbild auf den gedrehten Achscontainer verweisen. Achscontainer-Drehung mit impliziten GET/GETD Bei der Freigabe einer Achscontainer-Drehung werden alle dem Kanal zugeordneten Achscontainer-Achsen mittels GET bzw.
  • Seite 778: Vorhandenen Nc-Sprachumfang Prüfen (Stringis)

    14.4 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Funktion Der bei einer SINUMERIK 840D sl generierte NC-Sprachumfang einschließlich der aktiven GUD-/Makro-Definitionen sowie die installierten und aktiven Zyklenprogramme können mit dem Befehl STRINGIS auf ihre tatsächliche Verfügbarkeit und ihre programmierspezifischen Eigenschaften überprüft werden. So ist es z. B. möglich, bereits zu Beginn einer Programminterpretation nicht aktivierte Funktionen auf ihre Wirksamkeit zu überprüfen.
  • Seite 779: Speziell Für Stringis

    Weitere Funktionen 14.4 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) STRINGIS Prüft den vorhandenen NC-Sprachumfang und speziell zu diesem Befehl gehörende NC- Zyklennamen, Anwendervariablen, Makros und Label-Namen: ob diese existieren, gültig, definiert oder aktiv sind. Der NC-Sprachbefehl STRINGIS ist eine Variable vom Typ Integer. Speziell für STRINGIS NC-Zyklennamen (eines aktiven Zyklus) GUD-Variablen...
  • Seite 780 Weitere Funktionen 14.4 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) NC-Sprachumfang Zum NC-Sprachumfang gehören: G-Codes aller existierenden G-Code-Gruppen wie z.B. G0, G1, G2, INVCW, POLY, ROT, KONT, SOFT, CUT2D, CDON, RMB, SPATH DIN- oder NC-Adressen wie z.B. ADIS, RNDM, SPN, SR , MEAS NC-Sprachfunktionen wie z.B.
  • Seite 781 Weitere Funktionen 14.4 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Hinweis Wenn sich bei einer Prüfung mit STRINGIS keine andere Stellenkodierung ergeben sollte, dann gilt der entsprechende NC-Sprachbefehl als programmierbar und es gilt die Stellenkodierung 2xx. Wertebereiche 2xx der Detailinformationen Detailinformationen Bedeutung des Prüfergebnisses: Keine Interpretation ist möglich Eine DIN-Adresse bzw.
  • Seite 782 Weitere Funktionen 14.4 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Hinweis Anmerkungen zu einzelnen Rückgabewerten (1) Als DIN-Adressen werden fest genormte Adressen erkannt. Für die NC-Adressen mit einstellbaren Bezeichnern gelten folgende Festlegungen für Geometrieachsen: A, B, C für angegebene Rundachsen, E ist reserviert für Erweiterungen und I, J, K, Q, U, V, W, X, Y, Z für angegebene Linearachsen.
  • Seite 783 Weitere Funktionen 14.4 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Beipiel für programmierbare Hilfsfunktion T Programmierung Kommentar T ist als Hilfsfunktion definiert und immer programmierbar 400 = STRINGIS("T") 0 = STRINGIS("T3") ;Rückgabewert ohne Adresserweiterung ;Rückgabewert mit Adresserweiterung Beispiele weiterer Prüfungen des programmierbaren NC-Sprachumfangs 2xx Programmierung Kommentar X ist als Achse definiert...
  • Seite 784 Weitere Funktionen 14.4 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Programmierung Kommentar 207 = STRINGIS("$TC_DP3") $TC_DP3 als Systemvariable erkannt. $TC_TP4 ist eine Systemvariable für eine NC-Systemvariable $TC_TP4 für Werkzeuggröße Werkzeuggröße existiert. 207 = STRINGIS("$TC_TP4") $TC_TP4 als Systemvariable erkannt. $TC_MPP4 ist eine Systemvariable für den Prüfung der Magazinverwaltung auf Magazinplatzzustand 207 = STRINGIS("$TC_MPP4")
  • Seite 785: Funktionsaufruf Isvar Und Maschinendaten Array-Index Lesen

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

    Weitere Funktionen 14.5 Funktionsaufruf ISVAR und Maschinendaten Array-Index lesen Nur wenn alle diese Prüfungen positiv sind, wird TRUE zurückgeliefert. Wird nur eine Prüfung nicht erfüllt oder ist ein Syntaxfehler aufgetreten, dann wird dies mit FALSE quittiert. Axialen Variablen werden als Index für die Achsnamen akzeptiert, jedoch nicht näher geprüft.
  • Seite 787 Weitere Funktionen 14.5 Funktionsaufruf ISVAR und Maschinendaten Array-Index lesen Beispiel: Maschinendaten Array mit und ohne Index lesen Das erste Element wird gelesen bei R1=$MC_EXTERN_GCODE_RESET_VALUES dies entspricht wie bisher R1=$MC_EXTERN_GCODE_RESET_VALUES[0] oder gelesen wird das erste Element R1=$MA_POSTCTRL_GAIN[X1] dies entspricht wie bisher R1=$MA_POSTCTRL_GAIN[0, X1] Gelesen wird auch das erste Element in Synchronaktionen bei WHEN TRUE DO $R1 = $MC_EXTERN_GCODE_RESET_VALUES...
  • Seite 788: Kompensationskennlinien Einlernen (Qeclrnon, Qeclrnof)

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

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

    Weitere Funktionen 14.8 Programmlaufzeit / Werkstückzähler 14.8 Programmlaufzeit / Werkstückzähler 14.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 792 Weitere Funktionen 14.8 Programmlaufzeit / Werkstückzähler Systemvariable Bedeutung Aktivität Kanal-spezifisch Aktivierung über $AC_OPERATING_TIME Gesamtlaufzeit von NC-Programmen in der • MD27860 Betriebsart Automatik in Sekunden nur Betriebsart • Der Wert wird mit jedem Steuerungshochlauf AUTOMATIK automatisch auf "0" zurückgesetzt. $AC_CYCLE_TIME Laufzeit des angewählten NC-Programms in Sekunden Der Wert wird mit dem Start eines neuen NC- Programms automatisch auf "0"...
  • Seite 793 Weitere Funktionen 14.8 Programmlaufzeit / Werkstückzähler Systemvariable Bedeutung Aktivität $AC_PROG_NET_TIME_TRIGGER nur Betriebsart Trigger zur Laufzeitmessung: 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" gesetzt und läuft danach weiter. Start Startet die Messung und setzt dabei $AC_ACT_PROG_NET_TIME auf "0".
  • Seite 794 Weitere Funktionen 14.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.
  • Seite 795 Weitere Funktionen 14.8 Programmlaufzeit / Werkstückzähler Beispiele Beispiel 1: Zeitdauer von "mySubProgrammA" messen Programmcode N50 DO $AC_PROG_NET_TIME_TRIGGER=2 N60 FOR ii= 0 TO 300 N70 mySubProgrammA N80 DO $AC_PROG_NET_TIME_TRIGGER=1 N95 ENDFOR N97 mySubProgrammB N98 M30 Nachdem das Programm die Zeile N80 verarbeitet hat, steht in $AC_OLD_PROG_NET_TIME die Nettolaufzeit von "mySubProgrammA".
  • Seite 796: Werkstückzähler

    Weitere Funktionen 14.8 Programmlaufzeit / Werkstückzähler 14.8.3 Werkstückzähler Funktion Die Funktion "Werkstückzähler" stellt diverse Zähler zur Verfügung, die insbesondere für die steuerungsinterne Zählung von Werkstücken verwendet werden können. Die Zähler existieren als kanalspezifische Systemvariablen mit Schreib- und Lese-Zugriff im Wertebereich von 0 bis 999 999 999. Systemvariable Bedeutung $AC_REQUIRED_PARTS...
  • Seite 797 Weitere Funktionen 14.8 Programmlaufzeit / Werkstückzähler Hinweis Über kanalspezifische Maschinendaten kann auf die Zähler-Aktivierung, den Zeitpunkt der Nullung und den Zählalgorithmus Einfluss genommen werden. Hinweis Werkstückzählung mit anwenderdefiniertem M-Befehl Über Maschinendaten kann eingestellt werden, dass die Zählimpulse für die verschiedenen Werkstückzähler statt über das Programmende M2/M30 über anwenderdefinierte M-Befehle ausgelöst werden.
  • Seite 798: Alarme (Setal)

    <Alarmnummer> Variable vom Typ INT. Enthält die Alarmnummer. Der gültige Bereich für Alarmnummern liegt zwischen 60000 und 69999, wovon 60000 bis 64999 für SIEMENS-Zyklen reserviert sind und 65000 bis 69999 für den Anwender zur Verfügung stehen. <Zeichenkette> Bei der Programmierung von Anwenderzyklenalarmen kann zusätzlich eine Zeichenkette mit bis zu 4 Parametern angegeben...
  • Seite 799 Weitere Funktionen 14.9 Alarme (SETAL) Beispiel Programmcode Kommentar N100 SETAL(65000) ; Alarm Nr. 65000 setzen Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 800 Weitere Funktionen 14.9 Alarme (SETAL) Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 801: Eigene Abspanprogramme

    Eigene Abspanprogramme 15.1 Unterstützende Funktionen für das Abspanen Funktionen Für das Abspanen werden Ihnen fertige Bearbeitungszyklen angeboten. Darüber hinaus haben Sie die Möglichkeit, mit den nachfolgend aufgeführten Funktionen eigene Abspanprogramme zu erstellen: ● Konturtabelle erstellen (CONTPRON) ● Codierte Konturtabelle erstellen (CONTDCON) ●...
  • Seite 802: Konturtabelle Erstellen (Contpron)

    Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) 15.2 Konturtabelle erstellen (CONTPRON) Funktion Mit dem Befehl CONTPRON wird die Konturaufbereitung eingeschaltet. Die nachfolgend aufgerufenen NC-Sätze werden nicht abgearbeitet, sondern in einzelne Bewegungen aufgeteilt und in der Konturtabelle abgelegt. Jedem Konturelement entspricht eine Tabellenzeile im zweidimensionalen Feld der Konturtabelle.
  • Seite 803 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) <Bearbeitungsrichtung> Parameter für die Bearbeitungsrichtung Typ: Wert: Konturaufbereitung vorwärts (Standardwert) Konturaufbereitung in beiden Richtungen Beispiel 1 Erstellen einer Konturtabelle mit: ● Namen "KTAB" ● max. 30 Konturelementen (Kreise, Geraden) ● einer Variablen für die Anzahl auftretender Hinterschnittelemente ●...
  • Seite 804 Eigene Abspanprogramme 15.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 Hinterschnittelemente mit Namen ANZHINT.
  • Seite 805 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Erläuterung der Spalteninhalte: Zeiger auf nächstes Konturelement (auf die Zeilennummer desselben) Zeiger auf vorhergehendes Konturelement Codierung des Konturmodus für die Bewegung Mögliche Werte für X = abc a = 10 G90 = 0 G91 = 1 b = 10 G70 = 0 G71 = 1...
  • Seite 806 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Beispiel 2 Erstellen einer Konturtabelle mit ● Namen KTAB ● max. 92 Konturelementen (Kreise, Geraden) ● Betriebsart: Längsdrehen, Außenbearbeitung ● Aufbereitung vorwärts und rückwärts NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[92,11] ; Konturtabelle mit Namen KTAB und max.
  • Seite 807 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Programmcode Kommentar N100 G18 X100 Z100 F1000 N105 CONTPRON(KTAB,BT,HE,MODE) ; Konturaufbereitung einschalten. N110 G1 G90 Z20 X20 N120 X45 N130 Z0 N140 G2 Z-15 X30 K=AC(-15) I=AC(45) N150 G1 Z-30 N160 X80 N170 Z-40 N180 EXECUTE(ERR) ;...
  • Seite 808 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) 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. Immer in Tabellen-Zeile 0: 1) Vorgänger: Zeile n enthält das Konturende vorwärts 2) Nachfolger: Zeile n ist das Konturtabellenende vorwärts Je einmal innerhalb der Konturelemente vorwärts: 3) Vorgänger: Konturbeginn (vorwärts)
  • Seite 809 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) 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 ● Kreisprogrammierung über CIP und CT Die Funktionen Spline, Polynom und Gewinde führen zu Fehlern. Änderungen des Koordinatensystems durch Einschalten eines Frames sind zwischen CONTPRON und EXECUTE nicht zulässig.
  • Seite 810: Codierte Konturtabelle Erstellen (Contdcon)

    Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) 15.3 Codierte Konturtabelle erstellen (CONTDCON) Funktion Bei der mit CONTDCON eingeschalteten Konturaufbereitung werden die nachfolgend aufgerufenen NC-Sätze in einer 6-spaltigen Konturtabelle speichergünstig codiert abgelegt. Jedem Konturelement entspricht eine Tabellenzeile in der Konturtabelle. Aus Kenntnis der unten angegebenen Codierungsregeln können Sie z.
  • Seite 811 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Beispiel Erstellen einer Konturtabelle mit: ● Namen "KTAB" ● Konturelementen (Kreise, Geraden) ● Betriebsart: Drehen ● Bearbeitungsrichtung: vorwärts NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[9,6] ; Konturtabelle mit Namen KTAB und 9 Tabellenzeilen. Diese erlauben 8 Kontursätze.
  • Seite 812 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Programmcode Kommentar N100 G18 G64 G90 G94 G710 N101 G1 Z100 X100 F1000 N105 CONTDCON (KTAB, MODE) ; Aufruf Konturaufbereitung (MODE darf weggelassen werden). N110 G1 Z20 X20 F200 ; Konturbeschreibung. N120 G9 X45 F300 N130 Z0 F400 N140 G2 Z-15 X30 K=AC(-15) I=AC(45)F100 N150 G64 Z-30 F600...
  • Seite 813 Eigene Abspanprogramme 15.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:...
  • Seite 814 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Weitere Informationen Erlaubte Verfahrbefehle, Koordinatensystem Für die Konturprogrammierung sind folgende G-Gruppen und G-Befehle zulässig: G-Gruppe 1: G0, G1, G2, G3 G-Gruppe 10: G60, G64, G641, G642 G-Gruppe 11: G-Gruppe 13: G70, G71, G700, G710 G-Gruppe 14: G90, G91 G-Gruppe 15:...
  • Seite 815: Schnittpunkt Zwischen Zwei Konturelementen Ermitteln (Intersec)

    Eigene Abspanprogramme 15.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) 15.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) Funktion INTERSEC ermittelt den Schnittpunkt von zwei normierten Konturelementen aus mit CONTPRON erzeugten Konturtabellen. Syntax <Status>=INTERSEC(<Konturtabelle_1>[<Konturelement_1>], <Konturtabelle_2>[<Konturelement_2>],<Schnittpunkt>,<Bearbeitungsart >) Bedeutung INTERSEC Schlüsselwort zur Ermittlung des Schnittpunkts zweier Konturelemente aus mit CONTPRON erzeugten Konturtabellen <Status>...
  • Seite 816 Eigene Abspanprogramme 15.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) Hinweis Beachten Sie, dass die Variablen vor ihrer Verwendung definiert sein müssen. 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...
  • Seite 817: Konturelemente Einer Tabelle Satzweise Abfahren (Exectab)

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

    Eigene Abspanprogramme 15.6 Kreisdaten berechnen (CALCDAT) 15.6 Kreisdaten berechnen (CALCDAT) Funktion Mit dem Befehl CALCDAT können Sie aus drei oder vier bekannten Kreispunkten den Radius und die Kreismittelpunkt-Koordinaten berechnen. Die angegebenen Punkte müssen unterschiedlich sein. Bei 4 Punkten, die nicht exakt auf dem Kreis liegen, wird für Kreismittelpunkt und Radius ein Mittelwert gewählt.
  • Seite 819 Eigene Abspanprogramme 15.6 Kreisdaten berechnen (CALCDAT) Beispiel Von drei Punkten soll ermittelt werden, ob sie auf einem Kreisabschnitt liegen. Programmcode Kommentar N10 DEF REAL PKT[3,2]=(20,50,50,40,65,20) ; Variable zur Angabe der Kreispunkte N20 DEF REAL ERG[3] ; Variable für Ergebnis N30 DEF BOOL STATUS ;...
  • Seite 820: Konturaufbereitung Ausschalten (Execute)

    Eigene Abspanprogramme 15.7 Konturaufbereitung ausschalten (EXECUTE) 15.7 Konturaufbereitung ausschalten (EXECUTE) Funktion Mit dem Befehl EXECUTE wird die Konturaufbereitung abgeschaltet und gleichzeitig in den normalen Abarbeitungsmodus zurückgeschaltet. Syntax EXECUTE(<FEHLER>) Bedeutung EXECUTE Befehl zum Beenden der Konturaufbereitung <FEHLER> Variable für Fehlerrückmeldung Typ: Der Wert der Variablen zeigt an, ob die Kontur fehlerfrei aufbereitet werden konnte: Fehler...
  • Seite 821: Tabellen

    Tabellen 16.1 Liste der Anweisungen Legende: Verweis auf das Dokument, das die ausführliche Beschreibung der Anweisung enthält: Programmierhandbuch Grundlagen Programmierhandbuch Arbeitsvorbereitung Bedienhandbuch HMI sl Drehen Bedienhandbuch HMI sl Fräsen FB1 ( ) Funktionshandbuch Grundfunktionen (mit dem alphanumerischen Kürzel der betreffenden Funktionsbeschreibung in Klammern) FB2 ( ) Funktionshandbuch Erweiterungsfunktionen (mit dem alphanumerischen Kürzel der betreffenden...
  • Seite 822 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Operator für Addition ●...
  • Seite 823 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Werkzeugorientierung: ● ●...
  • Seite 824 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F ADISPOS Überschleifabstand für ●...
  • Seite 825 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F APWB Zugriffsrecht schreiben, ●...
  • Seite 826 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F ATRANS additive programmierbare ●...
  • Seite 827 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F AXTOSPI konvertiert ●...
  • Seite 828 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F BAUTO Definieren des ersten ○...
  • Seite 829 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F BSPLINE B-Spline ○...
  • Seite 830 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CACP In Tabelle abgelegter ●...
  • Seite 831 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CDON Kollisionsüberwachung ●...
  • Seite 832 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CHKDNO Eindeutigkeitsprüfung der ●...
  • Seite 833 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F COMPCURV Kompressor EIN: ○...
  • Seite 834 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F COUPDEL ELG-Verband löschen ○...
  • Seite 835 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Bahnbewegung ● ●...
  • Seite 836 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CTAB Ermittle Folgeachsposition Kurventabellenwerte lesen anhand der...
  • Seite 837 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CTABFSEG Anzahl der noch möglichen Kurventabellen: Kurvensegmente im...
  • Seite 838 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CTABMPOL Anzahl der maximal möglichen Polynome im Kurventabellen: Speicher...
  • Seite 839 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CTABPOL Anzahl der bereits verwendeten Polynome Kurventabellen: im Speicher...
  • Seite 840 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CTABSSV Liefert den Startwert der Folgeachse eines Kurventabellenwerte lesen Segments der...
  • Seite 841 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CTABTSV Liefert den Wert der Folgeachse am Kurventabellenwerte lesen Kurventabellen-Anfang...
  • Seite 842 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F CUT3DCCD 3D-Werkzeugkorrektur Umfangsfräsen mit 3D-Werkzeugkorrektur: Begrenzungsflächen mit...
  • Seite 843 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Absolute Maßangabe für ●...
  • Seite 844 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F FB1(P1) DIACYCOFA Achsspezifische modale ●...
  • Seite 845 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F DIAMONA Achsspezifische modale ●...
  • Seite 846 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F DISR Repos-Abstand ●...
  • Seite 847 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F DYNROUGH Dynamik für Schruppen ●...
  • Seite 848 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F EGONSYNE Elektronisches Getriebe einschalten, mit Vorgabe Elektronisches Getriebe von Anfahrmodus...
  • Seite 849 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F ENDWHILE Endezeile der WHILE- ●...
  • Seite 850 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F EXTERN Bekanntmachung eines ●...
  • Seite 851 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F FFWON Vorsteuerung Ein ●...
  • Seite 852 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F FILETIME Liefert Uhrzeit des zuletzt ●...
  • Seite 853 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Über ein Polynom programmierter Vorschubverlauf (FNORM, FLIN, Vorschubverlauf...
  • Seite 854 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Fahren auf Festanschlag ●...
  • Seite 855 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Wahl der Arbeitsebene ●...
  • Seite 856 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Axiale programmierbare ●...
  • Seite 857 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F konstante ● ●...
  • Seite 858 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F G291 Umschalten auf ISO2/3- ●...
  • Seite 859 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F G603 Satzwechsel bei IPO- ●...
  • Seite 860 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F G751 Festpunkt über ●...
  • Seite 861 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F G973 Umdrehungsvorschub ●...
  • Seite 862 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F FB1(W1) GETTCOR Werkzeuglängen bzw.
  • Seite 863 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F PG/FB1(H2) H... Hilfsfunktionsausgabe an ●...
  • Seite 864 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F INIPO Initialisierung der ●...
  • Seite 865 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Variabler ● ●...
  • Seite 866 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F ISNUMBER Prüfen, ob ●...
  • Seite 867 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Unterprogramm-Nummer ● ●...
  • Seite 868 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F LFWP Ebene der ●...
  • Seite 869 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Spindel halt für ●...
  • Seite 870 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F MASLON Einschalten einer ●...
  • Seite 871 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F MEAWA Messen ohne Restweglöschen Erweiterte Messfunktion (MEASA, MEAWA, MEAC)
  • Seite 872 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F NC-Nebensatznummer ● ●...
  • Seite 873 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F OEMIPO2 OEM-Interpolation 2 ●...
  • Seite 874 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F PGA/FB3(F3) ORICONCCW Interpolation auf einer ●...
  • Seite 875 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F ORIMKS Werkzeugorientierung im ●...
  • Seite 876 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F ORIROTR Drehwinkel relativ zur ●...
  • Seite 877 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F ORIVECT Großkreisinterpolation ●...
  • Seite 878 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F OSCTRL Optionen pendeln Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB)
  • Seite 879 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Glättung der ●...
  • Seite 880 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Anzahl Unterprogramm- ●...
  • Seite 881 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F pro Minute ●...
  • Seite 882 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F PONS Stanzen EIN im IPO-Takt Stanzen und Nibbeln ein oder aus (SPOF, SON, PON, SONS, PONS, PDELAYON,...
  • Seite 883 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Punkt-zu-Punkt- ● ●...
  • Seite 884 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F R... Rechenparameter auch ●...
  • Seite 885 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F REPEATB Wiederholung einer ●...
  • Seite 886 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F RESET Technologiezyklus ●...
  • Seite 887 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Wiederanfahren an ●...
  • Seite 888 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F SBLOF Einzelsatz unterdrücken ●...
  • Seite 889 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F SETAL Alarm setzen ●...
  • Seite 890 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Sinus (Trigon. Funktion) ●...
  • Seite 891 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F SPATH Bahnbezug für FGROUP- ●...
  • Seite 892 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F SPOSA Spindelposition über ●...
  • Seite 893 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F STOPRE Vorlaufstopp, bis alle ●...
  • Seite 894 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F SUPA Unterdrückung der ●...
  • Seite 895 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F TANG Definition des Achs- verbandes Tangentiales Tangentialsteuerung (TANG, Nachführen...
  • Seite 896 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F TCOFRX Werkzeugorientierung ●...
  • Seite 897 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F TMON Werkzeugüberwachung ●...
  • Seite 898 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F TOFRAMEY Y-Achse des WKS durch ●...
  • Seite 899 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F TOWBCS Verschleißwerte im ●...
  • Seite 900 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F Verschiebungs- ● ●...
  • Seite 901 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F TRUNC Abschneiden der ●...
  • Seite 902 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F WAITC Warten, bis ○...
  • Seite 903 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F WALCS5 WKS- ●...
  • Seite 904 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 - - - PPU280 / 281 D - - - - - F - - - - - D - - - - - F WRITE Text ins Dateisystem ●...
  • Seite 905: Anhang

    Anhang Liste der Abkürzungen Ausgang Automatisierungssystem ASCII American Standard Code for Information Interchange: Amerikanische Code-Norm für den Informationsaustausch ASIC Application Specific Integrated Circuit: Anwender-Schaltkreis ASUP Asynchrones Unterprogramm Arbeitsvorbereitung Anweisungsliste Betriebsart Betriebsartengruppe Betriebsbereit BuB, B&B Bedienen und Beobachten Binary Coded Decimals: Im Binärcode verschlüsselte Dezimalzahlen Bedienhandgerät Binärdateien (Binary Files) BIOS...
  • Seite 906 Anhang A.1 Liste der Abkürzungen Digital-Analog-Umwandler Datenbaustein in der PLC Datenbausteinbyte in der PLC Datenbausteinwort in der PLC Datenbausteinbit in der PLC Direct Control: Bewegung der Rundachse auf kürzestem Weg auf die absolute Position innerhalb einer Umdrehung Carrier Detect Dynamic Data Exchange Datenendeinrichtung Deutsche Industrie Norm Data Input/Output: Datenübertragungs-Anzeige...
  • Seite 907 Anhang A.1 Liste der Abkürzungen FIFO First In First Out: Speicher, der ohne Adressangabe arbeitet und dessen Daten in derselben Reihenfolge gelesen werden, in der sie gespeichert wurden. FIPO Feininterpolator Funktionsmodul Floating Point Unit: Gleitpunkteinheit Frame-Baustein FRAME Datensatz (Rahmen) Fräsradiuskorrektur Feed Stop: Vorschub Halt Funktionsplan (Programmiermethode für PLC) Grundprogramm...
  • Seite 908 Anhang A.1 Liste der Abkürzungen Liquid-Crystal Display: Flüssigkristallanzeige Light-Emitting Diode: Leuchtdiodenanzeige Line Feed Lagemesssystem Lageregler Local User Data Megabyte Maschinendaten Manual Data Automatic: Handeingabe Messkreis Maschinenkoordinatensystem MLFB Maschinenlesbare Fabrikatbezeichnung Main Program File: NC-Teileprogramm (Hauptprogramm) Multi Port Interface: Mehrpunktfähige Schnittstelle Microsoft (Software-Hersteller) MSTT Maschinensteuertafel Numerical Control: Numerische Steuerung...
  • Seite 909 Anhang A.1 Liste der Abkürzungen Random Access Memory: Programmspeicher, der gelesen und beschrieben werden kann Funktion Referenzpunkt anfahren REPOS Funktion Repositionieren RISC Reduced Instruction Set Computer: Prozessortyp mit kleinem Befehlssatz und schnellem Befehlsdurchsatz Rapid Override: Eingangskorrektur R-Parameter Active: Speicherbereich in NCK für R- NCK für R-Parameternummern Roll Pitch Yaw: Drehungsart eines Koordinatensystems Request To Send: Sendeteil einschalten, Steuersignal von seriellen Daten-...
  • Seite 910 Anhang A.1 Liste der Abkürzungen Werkstückkoordinatensystem Werkzeug Werkzeuglängenkorrektur Werkstatt orientierte Programmierung Work Piece Directory: Werkstückverzeichnis Werkzeug-Radius-Korrektur Werkzeugkorrektur Werkzeugwechsel Zero Offset Active: Kennzeichnung (Dateityp) für Nullpunktverschiebungsdaten µC Mikro-Controller Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 911: Feedback Zur Dokumentation

    Das vorliegende Dokument wird bezüglich seiner Qualität und Benutzerfreundlichkeit ständig weiterentwickelt. Bitte helfen Sie uns dabei, indem Sie Ihre Anmerkungen und Verbesserungsvorschläge per E-Mail oder Fax senden an: E-Mail: mailto:docu.motioncontrol@siemens.com Fax: +49 9131 - 98 2176 Bitte verwenden Sie die Faxvorlage auf der Blattrückseite.
  • Seite 912 Anhang A.2 Feedback zur Dokumentation Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 913: Dokumentationsübersicht

    Anhang A.3 Dokumentationsübersicht Dokumentationsübersicht Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 914 Anhang A.3 Dokumentationsübersicht Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...
  • Seite 915: Glossar

    Glossar Absolutmaß Angabe des Bewegungsziels einer Achsbewegung durch ein Maß, das sich auf den Nullpunkt des momentan gültigen Koordinatensystems bezieht. Siehe → Kettenmaß. Achsadresse Siehe → Achsbezeichner Achsbezeichner Achsen werden nach DIN 66217 für ein rechtsdrehendes, rechtwinkliges → Koordinatensystem bezeichnet mit X, Y, Z. Um X, Y, Z drehende →...
  • Seite 916 Glossar Alarme Alle → Meldungen und Alarme werden auf der Bedientafel im Klartext mit Datum und Uhrzeit und dem entsprechenden Symbol für das Löschkriterium angezeigt. Die Anzeige erfolgt getrennt nach Alarmen und Meldungen. 1. Alarme und Meldungen im Teileprogramm Alarme und Meldungen können direkt aus dem Teileprogramm im Klartext zur Anzeige gebracht werden.
  • Seite 917 Glossar Anwenderspeicher Alle Programme und Daten wie Teileprogramme, Unterprogramme, Kommentare, Werkzeugkorrekturen, Nullpunktverschiebungen/Frames sowie Kanal- und Programmanwenderdaten können in den gemeinsamen CNC-Anwenderspeicher abgelegt werden. Arbeitsfeldbegrenzung Mit der Arbeitsfeldbegrenzung kann der Verfahrbereich der Achsen zusätzlich zu den Endschaltern eingeschränkt werden. Je Achse ist ein Wertepaar zur Beschreibung des geschützten Arbeitsraumes möglich.
  • Seite 918 Glossar Bahngeschwindigkeit Die maximal programmierbare Bahngeschwindigkeit ist abhängig von der Eingabefeinheit. Bei einer Auflösung von beispielsweise 0,1 mm beträgt die maximal programmierbare Bahngeschwindigkeit 1000 m/min. Bahnsteuerbetrieb Ziel des Bahnsteuerbetriebes ist es, ein größeres Abbremsen der → Bahnachsen an den Teileprogramm-Satzgrenzen zu vermeiden und mit möglichst gleicher Bahngeschwindigkeit in den nächsten Satz zu wechseln.
  • Seite 919 Glossar 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.
  • Seite 920 Glossar Booten Laden des Systemprogramms nach Power On. C-Achse Achse, um die eine gesteuerte Drehbewegung und Positionierung mit der Werkstückspindel erfolgt. Siehe → NC Komponente der NC-Steuerung zur Durchführung und Koordination von Kommunikation. Central Processing Unit, siehe → Speicherprogrammierbare Steuerung C-Spline Der C-Spline ist der bekannteste und am meisten verwendete Spline.
  • Seite 921 Glossar Datenwort Zwei Byte große Dateneinheit innerhalb eines → Datenbausteins. 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.
  • Seite 922 Glossar Frame Ein Frame stellt eine Rechenvorschrift dar, die ein kartesisches Koordinatensystem in ein anderes kartesisches Koordinatensystem überführt. Ein Frame enthält die Komponenten → Nullpunktverschiebung, → Rotation, → Skalierung, → Spiegelung. 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.
  • Seite 923 Glossar Gewindebohren ohne Ausgleichsfutter Mit dieser Funktion können Gewinde ohne Ausgleichsfutter gebohrt werden. Durch das interpolierende Verfahren der Spindel als Rundachse und der Bohrachse werden Gewinde exakt auf Endbohrtiefe geschnitten, z. B. Sacklochgewinde (Voraussetzung: Achsbetrieb der Spindel). Gleichlaufachse Die Gleichlaufachse ist die → Gantry-Achse, deren Sollposition stets von der Verfahrbewegung der →...
  • Seite 924: Kettenmaß

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

    Glossar 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. Maschinensteuertafel Bedientafel der Werkzeugmaschine mit den Bedienelementen Tasten, Drehschalter usw. und einfachen Anzeigeelementen wie LEDs. Sie dient der unmittelbaren Beeinflussung der Werkzeugmaschine über die PLC.
  • Seite 928 Glossar Metrisches Messsystem Genormtes System von Einheiten: für Längen z. B. mm (Millimeter), m (Meter). Numerical Control: NC-Steuerung umfasst alle Komponenten der Werkzeugmaschinensteuerung: → NCK, → PLC, HMI, → COM. Hinweis Für die Steuerungen SINUMERIK 840D wäre CNC-Steuerung korrekter: Computerized Numerical Control.
  • Seite 929 Glossar Nullpunktverschiebung Vorgabe eines neuen Bezugspunktes für ein Koordinatensystem durch Bezug auf einen bestehenden Nullpunkt und ein → Frame. 1. Einstellbar SINUMERIK 840D: Es steht eine projektierbare Anzahl von einstellbaren Nullpunktverschiebungen für jede CNC-Achse zur Verfügung. Die über G-Funktionen anwählbaren Verschiebungen sind alternativ wirksam. 2.
  • Seite 930 Glossar Override Manuelle bzw. programmierbare Eingriffsmöglichkeit, die es dem Bediener gestattet, programmierte Vorschübe oder Drehzahlen zu überlagern, um sie einem bestimmten Werkstück oder Werkstoff anzupassen. Peripheriebaugruppe Peripheriebaugruppen stellen die Verbindung zwischen CPU und Prozess her. Peripheriebaugruppen sind: ● → Digital-Ein-/Ausgabebaugruppen ●...
  • Seite 931 Glossar Positionierachse Achse, die eine Hilfsbewegung an einer Werkzeugmaschine ausführt. (z. B. Werkzeugmagazin, Palettentransport). Positionierachsen sind Achsen, die nicht mit den → Bahnachsen interpolieren. Programmbaustein Programmbausteine enthalten die Haupt- und Unterprogramme der → Teileprogramme. Programmierbare Arbeitsfeldbegrenzung Begrenzung des Bewegungsraumes des Werkzeugs auf einen durch programmierte Begrenzungen definierten Raum.
  • Seite 932 Glossar Referenzpunkt Punkt der Werkzeugmaschine, auf den sich das Messsystem der → Maschinenachsen bezieht. Rohteil Teil, mit dem die Bearbeitung eines Werkstücks begonnen wird. Rotation Komponente eines → Frames, die eine Drehung des Koordinatensystems um einen bestimmten Winkel definiert. R-Parameter Rechenparameter, kann vom Programmierer des →...
  • Seite 933 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 934: Schrittmaß

    Glossar Schrittmaß Verfahrweglängenangabe über Inkrementanzahl (Schrittmaß). Inkrementanzahl kann als → Settingdatum hinterlegt sein bzw. durch entsprechend beschriftete Tasten 10, 100, 1000, 10000 gewählt werden. Schutzraum Dreidimensionaler Raum innerhalb des → Arbeitsraumes, in den die Werkzeugspitze nicht hineinreichen darf. Serielle Schnittstelle V.24 Für die Dateneingabe/-ausgabe ist auf der PCU 20 eine serielle V.24-Schnittstelle (RS232), auf der PCU 50/70 sind zwei V.24-Schnittstellen vorhanden.
  • Seite 935 Glossar Software-Endschalter Software-Endschalter begrenzen den Verfahrbereich einer Achse und verhindern ein Auffahren des Schlittens auf die Hardware-Endschalter. Je Achse sind 2 Wertepaare vorgebbar, die getrennt über die → PLC aktiviert werden können. Speicherprogrammierbare Steuerung Speicherprogrammierbare Steuerungen (SPS) sind elektronische Steuerungen, deren Funktion als Programm im Steuerungsgerät gespeichert ist.
  • Seite 936 Glossar Synchronachsen Synchronachsen benötigen für ihren Weg die gleiche Zeit wie die Geometrieachsen für ihren Bahnweg. Synchronaktionen 1. Hilfsfunktionsausgabe Während der Werkstückbearbeitung können aus dem CNC-Programm heraus technologische Funktionen (→ Hilfsfunktionen) an die PLC ausgegeben werden. Über diese Hilfsfunktionen werden beispielsweise Zusatzeinrichtungen der Werkzeugmaschine gesteuert, wie Pinole, Greifer, Spannfutter etc.
  • Seite 937 Glossar Teileprogrammsatz Teil eines → Teileprogramms, durch Line Feed abgegrenzt. Es werden → Hauptsätze und → Nebensätze unterschieden. Teileprogrammverwaltung Die Teileprogrammverwaltung kann nach → Werkstücken organisiert werden. Die Größe des Anwenderspeichers bestimmt die Anzahl der zu verwaltenden Programme und Daten. Jede Datei (Programme und Daten) kann mit einem Namen von maximal 24 alphanumerischen Zeichen versehen werden.
  • Seite 938: Vorkoinzidenz

    Glossar Urlöschen Beim Urlöschen werden folgende Speicher der → CPU gelöscht: ● → Arbeitsspeicher ● Schreib-/Lesebereich des → Ladespeichers ● → Systemspeicher ● → Backup-Speicher Variablendefinition Eine Variablendefinition umfasst die Festlegung eines Datentyps und eines Variablennamens. Mit dem Variablennamen kann der Wert der Variablen angesprochen werden.
  • Seite 939 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.
  • Seite 940: Zoll-Maßsystem

    Glossar WinSCP WinSCP ist ein frei verfügbares Open Source-Programm für Windows zum Transferieren von Dateien. Zeitreziproker Vorschub Bei SINUMERIK 840D kann anstelle der Vorschubgeschwindigkeit für die Achsbewegung die Zeit programmiert werden, die der Bahnweg eines Satzes benötigen soll (G93). Zoll-Maßsystem Maßsystem, das Entfernungen in "inch"...
  • Seite 941: Index

    Index $SN_PA_ACTIV_IMMED, 251 $TC_CARR1...14, 503 $TC_CARR18[m], 504, 508 $TC_DP1, 448 $AA_ATOL, 569 $TC_DP10, 448 $AA_COUP_ACT, 575, 605 $TC_DP11, 448 $AA_LEAD_SP, 605 $TC_DP12, 448 $AA_LEAD_SV, 605 $TC_DP13, 448 $AA_MOTEND, 311 $TC_DP14, 448 $AA_TOFF[ ], 683 $TC_DP15, 448 $AC_ACT_PROG_NET_TIME, 792 $TC_DP16, 448 $AC_ACTUAL_PARTS, 796 $TC_DP17, 448 $AC_BLOCKTYPE, 660...
  • Seite 942 Index < A4, 364, 373 A5, 364, 373 < (Vergleichsoperator), 70 A6, 380 <<, 77 A7, 380 << (Verkettungsoperator), 83 ABS, 67 <= ( Vergleichsoperator), 70 Abspanen, 801 <> (Vergleichsoperator), 70 Abstandsregelung, 677 ACC, 622 Achs -tausch, 138 == (Vergleichsoperator), 70 Achscontainer, 774 Achse Aufspann-, 774...
  • Seite 943 Index Anweisungen Bahnbezug Liste, 821 Bahnachsen, 290 APR, 41 Bahnvorschub, 290 APRB, 41 Einstellbarer, 288 APRP, 41 G-Code-Gruppe, 288 APW, 41 Gewindesätze, 290 APWB, 41 Kreisinterpolation und Linearinterpolation, 290 APWP, 41 Kurvenparameter, 288 Arbeitsspeicher, 239 Randbedingungen, 290 Datenbereiche, 239 Bahnrelative Orientierung Array, 48 Drehung der Werkzeugorientierung, 396 AS, 229...
  • Seite 944 Index CHANDATA, 239 CTABPOL, 597 CHAR, 24 CTABPOLID, 597 CHECKSUM, 162 CTABSEG, 597 CHKDNO, 498 CTABSEGID, 597 CIC, 261 CTABSEV, 591 CLEARM, 117, 706 CTABSSV, 591 CLRINT, 130 CTABTEP, 591 CMIRROR, 67, 323 CTABTEV, 591 COARSE, 615 CTABTMAX, 591 COARSEA, 309 CTABTMIN, 591 COMCAD, 278 CTABTSP, 591...
  • Seite 945 Index Drehungen des Orientierungsvektors programmieren über THETA, 390 F10, 243 Drehwinkel, 391 F3, 788 DV, 615 FA, 615, 695 Fachse, 599 FAchse, 525 FALSE, 24 EAUTO, 263 FCTDEF, 465, 671 Eckenverzögerung an allen Ecken, 308 FCUB, 534 Eckenverzögerung an Innenecken, 308 Feinverschiebung, 330 Feld Elektronisches Getriebe, 606...
  • Seite 946 Index Framevariable, 315 Grobverschiebung, 330 Aufruf von Koordinatentransformationen, 315 Grundstellung der Werkzeugorientierung Definition neuer Frames, 329 ORIRESET, 362 Vordefinierte Framevariable, 317, 327 GUD, 24, 234 Werte zuweisen, 323 GUD-Variablen Framvariable Synchronaktionsfähige, 649 Nullpunktverschiebungen G54 bis G599, 322 Zuordnungen zu den G-Befehlen G54 bis G599, 322 Fräser Haltesatz, 551...
  • Seite 947 Index IPOBRKA, 309 Kreisdaten IPOENDA, 309 berechnen, 818 IPOSTOP, 615 KS, 525 IPTRLOCK, 550 IPTRUNLOCK, 550 ISAXIS, 765 ISD, 471, 478 L..., 203 ISFILE, 157 Label, 99 ISNUMBER, 81 Lachse, 599 ISOCALL, 216 LAchse, 525 Istwertkopplung, 618 Lagesynchronität, 615 Istwertsetzen, 697 Laserleistungssteuerung, 672 ISVAR, 785 Laufzeit...
  • Seite 948 Index MEAC, 295 OEMIPO1/2, 307 MEAFRAME, 335 OFFN, 409, 412 MEAFRAME, 335 Offset der Drehachsen, 506 MEAFRAME, 339 Offset Kontur-normal OFFN, 420 MEAS, 292 Online-Werkzeuglängenkorrektur, 514, 683 MEASA, 295 OR, 70 MEAW, 292 ORIAXES, 377, 397 MEAWA, 295 ORIC, 489 Merkervariable, 652 ORICONCCW, 380, 397 Messauftragsstatus, 305...
  • Seite 949 Index OSC, 489 PO[PHI], 388, 395 OSCILL, 738, 742 PO[PHI]=(a2, a3, a4, a5), 380 OSCTRL, 731 PO[PSI], 388, 395 OSD, 489 PO[PSI]=(b2, b3, b4, b5), 380 OSE, 731 PO[THT], 388, 395 OSNSC, 731 PO[XH], 388 OSOF, 489 PO[XH]=(xe, x2, x3, x4, x5), 385 OSP1, 731 PO[YH], 388 OSP2, 731...
  • Seite 950 Index WHILE-Schleife, 114 REPOSH, 553 Zählschleife, 112 REPOSHA, 553 Programmspeicher, 233 REPOSL, 553 Dateitypen, 234 REPOSQ, 553 Standard-Verzeichnisse, 234 REPOSQA, 553 Programmteil RESET, 724 -wiederholung, 99 Restweglöschen, 302, 669 Programmteilwiederholung Restweglöschen mit Vorbereitung, 669 mit indirekter Programmierung CALL, 214 Restzeit PSI, 380, 388 für ein Werkstück, 794 PTP, 428, 435...
  • Seite 951 -länge, 86 SETAL, 707, 798 -operationen, 79 SETDNO, 499 -Verkettung, 83 SETINT, 126 STRING, 24 SETM, 117, 706 STRINGIS, 778 SIEMENS-Zyklen, 798 NC-Adressen, 782 SIN, 67 STRINGVAR, 90 Singuläre Stellen, 376 STRLEN, 86 Sollwertkopplung, 618 SUBSTR, 89 SON, 747, 757, 758...
  • Seite 952 Index SYNRW, 24 TOWSTD, 460 SYNW, 24 TOWTCS, 460 System TOWWCS, 460 -abhängige Verfügbarkeit, 5 TRAANG, 422 Systemvariablen, 646 TRACON, 443 TRACYL, 412, 419 TRAFOOF, 442 TRAILOF, 571 TRAILON, 571 TAN, 67 Transformation TANG, 525 Schräge Achse, 422 TANGDEL, 525 Transformation mit schwenkbarer Linearachse, 358 Tangentialsteuerung, 525 Transformation TRACYL, 414...
  • Seite 953 Index Umfangsfräsen, 472, 474 Umfangsfräsen (3D) WAIT, 117 mit Begrenzungsflächen, 484 WAITC, 615 Umkehr WAITE, 117 -punkt, 738 WAITM, 117 Umschaltbare Geometrieachsen, 768 WAITMC, 117 UNLOCK, 724 Wartemarken, 706 Unterprogramm, 165 Wegaufteilung, 759 -aufruf mit Parameterübergabe, 205 Wegaufteilung bei Bahnachsen, 757 -aufruf ohne Parameterübergabe, 203 Werkstück -aufruf, indirekt, 212...
  • Seite 954 Index xe, ye, ze, 385 XH YH ZH, 385 xi, yi, zi, 385 XOR, 70 Zählschleife, 112 Zeitbedarf Synchronaktionen, 712 Zustell -achse, 740 -bewegung, 745 Zyklen Anwenderzyklen parametrieren, 225 Zyklenalarme, 798 Zylindermantelkurventransformation, 412, 413 Offset Kontur-normal OFFN, 420 Zylindermanteltransformation, 352 Arbeitsvorbereitung Programmierhandbuch, 06/2009, 6FC5398-2BP20-0AA0...

Diese Anleitung auch für:

Sinumerik 828d

Inhaltsverzeichnis