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

Werbung

Arbeitsvorbereitung
SINUMERIK
SINUMERIK 840D sl / 828D
Arbeitsvorbereitung
Programmierhandbuch
Gültig für
Steuerung
SINUMERIK 840D sl / 840DE sl
SINUMERIK 828D
Software
NCU Systemsoftware
03/2010
6FC5398-2BP20-1AA0
___________________
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 SP1
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 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 2.6 SP1 03/2010 6FC5398-2BP20-1AA0...
  • Seite 2: Qualifiziertes Personal

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

    ● 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, 03/2010, 6FC5398-2BP20-1AA0...
  • 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)............18 1.1.4 Vordefinierte Anwendervariablen: Link-Variablen................20 1.1.5 Definition von Anwendervariablen (DEF)..................22 1.1.6 Redefinition von Systemvariablen, Anwendervariablen und NC-Sprachbefehlen (REDEF) ..28 1.1.7 Attribut: Initialisierungswert ......................30 1.1.8...
  • Seite 8 Inhaltsverzeichnis 1.12 Kontrollstrukturen ........................95 1.12.1 Programmschleife mit Alternative (IF, ELSE, ENDIF) ..............96 1.12.2 Endlos-Programmschleife (LOOP, ENDLOOP)................98 1.12.3 Zählschleife (FOR ... TO ..., ENDFOR)..................99 1.12.4 Programmschleife mit Bedingung am Schleifenanfang (WHILE, ENDWHILE) ......100 1.12.5 Programmschleife mit Bedingung am Schleifenende (REPEAT, UNTIL)......... 101 1.12.6 Programmbeispiel mit verschachtelten Kontrollstrukturen............
  • Seite 9 Inhaltsverzeichnis 1.25.3.2 Unterprogrammaufruf mit Parameterübergabe (EXTERN) ............180 1.25.3.3 Anzahl der Programmwiederholungen (P).................183 1.25.3.4 Modaler Unterprogrammaufruf (MCALL) ...................185 1.25.3.5 Indirekter Unterprogrammaufruf (CALL) ..................187 1.25.3.6 Indirekter Unterprogrammaufruf mit Angabe des auszuführenden Programmteils (CALL BLOCK ... TO ...)........................188 1.25.3.7 Indirekter Aufruf eines in ISO-Sprache programmierten Programms (ISOCALL) .....190 1.25.3.8 Unterprogramm mit Pfadangabe und Parametern aufrufen (PCALL) ........191 1.25.3.9 Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH) ..........192 1.25.3.10...
  • Seite 10 Inhaltsverzeichnis 5.2.2 Framekomponenten lesen und verändern (TR, FI, RT, SC, MI)..........289 5.2.3 Verknüpfung von kompletten Frames ..................290 5.2.4 Definition neuer Frames (DEF FRAME) ................... 292 Grob- und Feinverschiebung (CFINE, CTRANS) ..............293 Externe Nullpunktverschiebung ....................295 Preset-Verschiebung (PRESETON) ..................296 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) ...........
  • Seite 11 Inhaltsverzeichnis Werkzeugkorrekturen ..........................389 Korrekturspeicher........................389 Additive Korrekturen ........................392 7.2.1 Additive Korrekturen anwählen (DL)..................392 7.2.2 Verschleiß- und Einrichtewerte festlegen ($TC_SCPxy[t,d], $TC_ECPxy[t,d]) ......394 7.2.3 Additive Korrekturen löschen (DELDL)..................395 Werkzeugkorrektur - Sonderbehandlung...................396 7.3.1 Werkzeuglängen spiegeln......................398 7.3.2 Vorzeichenbewertung Verschleiß ....................399 7.3.3 Koordinatensystem der aktiven Bearbeitung (TOWSTD, TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS)....................400 7.3.4 Werkzeuglänge und Ebenenwechsel ..................403...
  • Seite 12 Inhaltsverzeichnis Beeinflussung der Bewegungsführung ..................486 8.7.1 Prozentuale Ruckkorrektur (JERKLIM)..................486 8.7.2 Prozentuale Geschwindigkeitskorrektur (VELOLIM) ..............487 8.7.3 Programmbeispiel für JERKLIM und VELOLIM ................ 490 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) ........491 Toleranz bei G0-Bewegungen (STOLF) ................... 495 Achskopplungen ............................ 497 Mitschleppen (TRAILON, TRAILOF)..................
  • Seite 13 Inhaltsverzeichnis 10.3.10 FIFO-Variablen ($AC_FIFO1[n] ... $AC_FIFO10[n])..............571 10.3.11 Auskunft über Satztypen im Interpolator ($AC_BLOCKTYPE, $AC_BLOCKTYPEINFO, $AC_SPLITBLOCK)........................573 10.4 Aktionen in Synchronaktionen ....................576 10.4.1 Übersicht möglicher Aktionen in Synchronaktionen ..............576 10.4.2 Ausgabe von Hilfsfunktionen .....................579 10.4.3 Einlesesperre setzen (RDISABLE) ....................580 10.4.4 Vorlaufstopp aufheben (STOPREOF) ..................581 10.4.5 Restweglöschen (DELDTG).......................582 10.4.6...
  • Seite 14 Inhaltsverzeichnis 12.1.1 Stanzen und Nibbeln ein oder aus (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) ....................... 655 12.2 Automatische Wegaufbereitung....................660 12.2.1 Wegaufteilung bei Bahnachsen ....................663 12.2.2 Wegaufteilung bei Einzelachsen....................665 Schleifen..............................667 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) ....667 Weitere Funktionen..........................
  • 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 1.1.2 Systemvariablen Systemvariablen sind im System vordefiniert Variablen, die in Teileprogrammen und Zyklen Zugriff auf die aktuelle Parametrierung der Steuerung, sowie Maschinen-, Steuerungs- und Prozesszustände bieten. Vorlaufvariablen Als Vorlaufvariablen werden Systemvariablen bezeichnet, die im Kontext des Vorlaufs, d.h. zum Zeitpunkt der Interpretation des Teileprogrammsatzes in dem die Systemvariable programmiert ist, gelesen und geschrieben werden.
  • Seite 17 Flexible NC-Programmierung 1.1 Variablen $ + 1. Buchstabe Bedeutung: Datenart R-Parameter (Rechenparameter) 1) Bei der Verwendung von Maschinen- und Settingdaten im Teileprogramm / Zyklus als Vorlaufvariable wird der Prefix mit einem $-Zeichen geschrieben. Bei der Verwendung in Synchronaktionen als Hauptlaufvariable wird der Prefix mit zwei $-Zeichen geschrieben. 2) Bei der Verwendung eines R-Parameters im Teileprogramm / Zyklus als Vorlaufvariable wird kein Prefix geschrieben, z.B.
  • Seite 18: 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 1.1.3 Vordefinierte Anwendervariablen: Rechenparameter (R)
  • Seite 19: Bedeutung

    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 20: Vordefinierte Anwendervariablen: Link-Variablen

    Flexible NC-Programmierung 1.1 Variablen Programmcode Kommentar R[R2]=R10 Indirekte Adressierung über R-Parameter R[(R1+R2)*R3]=5 Indirekte Adressierung über math. Ausdruck X=(R1+R2) Verfahre Achse X auf die Position die sich aus der Summe von R1 und R2 ergibt Z=SQRT(R1*R1+R2*R2) Verfahre Achse Z auf Position Quadratwurzel(R1^2 + R2^2) 1.1.4 Vordefinierte Anwendervariablen: Link-Variablen...
  • Seite 21 Flexible NC-Programmierung 1.1 Variablen Link-Variable für Datenformat REAL (8 Bytes) $A_DLR Datentyp: REAL Wertebereich: ±(2,2*10 … 1,8*10 -308 +308 Adressindex in Byte, gerechnet vom Anfang des Link-Variablen-Speichers <Index> Datentyp: Wertebereich: 0 - MAX_INDEX Hinweis  MAX_INDEX ergibt sich aus der parametrierten Größe des Link-Variablen-Speichers: MAX_INDEX = (MD18700 $MN_MM_SIZEOF_LINKVAR_DATA) - 1 ...
  • Seite 22: Definition Von Anwendervariablen (Def)

    Flexible NC-Programmierung 1.1 Variablen NCU1 NCU1 schreibt in einer statischen Synchronaktion zyklisch im IPO-Takt den Stromistwert der Achse AX2 über die Link-Variable $A_DLR[ 16 ] in den Link-Variablen-Speicher. Programmcode N111 IDS=1 WHENEVER TRUE DO $A_DLR[16]=$VA_CURR[AX2] NCU2 NCU2 liest in einer statischen Synchronaktion zyklisch im IPO-Takt den Stromistwert der Achse AX2 über die Link-Variable $A_DLR[ 16 ] aus dem Link-Variablen-Speicher.
  • Seite 23 Flexible NC-Programmierung 1.1 Variablen Anwendervariablen müssen vor ihrer Verwendung (Lesen / Schreiben) definiert worden sein. Folgende Regeln sind dabei zu beachten: ● GUD müssen in einer Definitionsdatei, z. B. _N_DEF_DIR/_M_SGUD_DEF, definiert werden. ● PUD und LUD müssen im Definitionsteil eines Teileprogramms definiert werden. ●...
  • Seite 24: Beispiele

    Flexible NC-Programmierung 1.1 Variablen unterer und oberer Grenzwert (optional) <Grenzwerte> <Grenzwert>: unterer Grenzwert (lower limit) <Grenzwert>: oberer Grenzwert (upper limit) Zugriffsrechte für das Lesen / Schreiben von GUD über <Zugriffsrechte> Teileprogramm oder BTSS (optional) <Schutzstufe>: Lesen: Teileprogramm APRP <Schutzstufe>: Schreiben: Teileprogramm APWP <Schutzstufe>: Lesen: BTSS...
  • Seite 25 ; 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 26 Flexible NC-Programmierung 1.1 Variablen Programmcode Kommentar PROC SUB2 ; Unterprogramm SUB2 DEF INT VAR2 ; LUD-DEFINITION IF (VAR1==1) ; PUD lesen VAR1=VAR1+1 ; PUD lesen und schreiben VAR2=1 ; LUD schreiben ENDIF SUB3 ; Unterprogrammaufruf Programmcode Kommentar PROC SUB3 ; Unterprogramm SUB3 IF (VAR1==1) ;...
  • Seite 27 Flexible NC-Programmierung 1.1 Variablen Randbedingungen Globale Anwendervariablen (GUD) Im Rahmen der Definition von globalen Anwendervariablen (GUD) sind folgende Maschinendaten zu berücksichtigen: Bezeichner: $MN_ Bedeutung 11140 GUD_AREA_ SAVE_TAB zusätzliche Sicherung für GUD-Bausteine 18118 MM_NUM_GUD_MODULES Anzahl GUD-Dateien im aktiven Filesystem 18120 MM_NUM_GUD_NAMES_NCK Anzahl der globalen GUD-Namen 18130 MM_NUM_GUD_NAMES_CHAN...
  • Seite 28: 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 können sie die Attribute von Systemvariablen, Anwendervariablen und REDEF 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 29 Flexible NC-Programmierung 1.1 Variablen Physikalische Einheit <Phys_Einheit> <Einheit>: siehe "Attribut: Physikalische Einheit (PHU) (Seite 35)" Hinweis Nicht redefinierbar für:  Systemvariablen  globale Anwenderdaten (GUD)  Datentypen: BOOL AXIS STRING FRAME Unterer und/oder oberer Grenzwert <Grenzwerte> <Grenzwert>: unterer Grenzwert (lower limit) <Grenzwert>: oberer Grenzwert (upper limit) siehe "Attribut: Grenzwerte (LLI, ULI) (Seite 34)"...
  • Seite 30: Attribut: Initialisierungswert

    Flexible NC-Programmierung 1.1 Variablen Beispiel Redefinitionen der Systemvariable $TC_DPC1 im Datenbaustein für Maschinenhersteller Programmcode %_N_MGUD_DEF ; GUD-Baustein: Maschinenhersteller $PATH=/_N_DEF_DIR REDEF $TC_DPC1 APWB 2 APWP 3 REDEF $TC_DPC1 PHU 21 REDEF $TC_DPC1 LLI 0 ULI 200 REDEF $TC_DPC1 INIPO (100, 101, 102, 103) ;...
  • Seite 31 Flexible NC-Programmierung 1.1 Variablen Redefinition ( ) von System- und Anwendervariablen REDEF Bei der Redefinition kann für folgende Variablen ein Initialisierungswert vorgegeben werden: ● Systemdaten – Settingdaten ● Anwenderdaten – R–Parameter – Synchronaktionsvariable ($AC_MARKER, $AC_PARAM, $AC_TIMER) – Synchronaktions–GUD (SYG_xy[ ], mit x=R, I, B, A, C, S und y=S, M, U, 4, ..., 9) –...
  • Seite 32 Flexible NC-Programmierung 1.1 Variablen Tabelle 1- 1 Programmierbare Settingdaten Nummer Bezeichner G-Befehl 42000 $SC_THREAD_START_ANGLE 42010 $SC_THREAD_RAMP_DISP DITS DITE 42400 $SA_PUNCH_DWELLTIME PDELAYON 42800 $SA_SPIND_ASSIGN_TAB SETMS 43210 $SA_SPIND_MIN_VELO_G25 43220 $SA_SPIND_MAX_VELO_G26 43230 $SA_SPIND_MAX_VELO_LIMS LIMS 43300 $SA_ASSIGN_FEED_PER_REV_SOURCE FPRAON 43420 $SA_WORKAREA_LIMIT_PLUS 43430 $SA_WORKAREA_LIMIT_MINUS 43510 $SA_FIXED_STOP_TORQUE FXST 43520 $SA_FIXED_STOP_WINDOW...
  • Seite 33 Flexible NC-Programmierung 1.1 Variablen Initialisierungswert: Datentyp FRAME Für Variablen vom Datentyp darf kein Initialisierungswert angegeben werden. FRAME Variablen vom Datentyp werden implizit immer mit dem Defaultframe initialisiert. FRAME Initialisierungswert: Datentyp CHAR Für Variablen vom Datentyp kann statt des ASCII-Codes (0...255) auch das CHAR entsprechende ASCII-Zeichen in Anführungszeichen programmiert werden, z.B.
  • Seite 34: 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 35: 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 36 Flexible NC-Programmierung 1.1 Variablen <Einheit> Bedeutung Physikalische Einheit Linear–Ruck [ m/s ], [ inch/s Winkel–Ruck [ U/s Zeit [ s ] Lageregler–Verstärkung [ 16.667/s ] Umdrehungsvorschub [ mm/U ], [ inch/U ] Temperaturkompensation [ mm ], [ inch ] 1)2) Kraft [ N ] Masse...
  • Seite 37 Flexible NC-Programmierung 1.1 Variablen <Einheit> Bedeutung Physikalische Einheit 1) Die physikalische Einheit ist abhängig vom Achstyp: Linear- oder Rundachse 2) Maßsystem-Umschaltung G70/G71(inch/metrisch) Nach einer Umschaltung des Grundsystems (MD10240 $MN_SCALING_SYSTEM_IS_METRIC) mit G70/G71 erfolgt bei Schreib/Lesezugriffen auf längenbehaftete System- und Anwendervariablen keine Umrechnung der Werte (Istwert, Defaultwert und Grenzwerte) G700/G710(inch/metrisch) Nach einer Umschaltung des Grundsystems (MD10240 $MN_SCALING_SYSTEM_IS_METRIC) mit G700/G710 erfolgt bei Schreib/Lesezugriffen auf längenbehaftete System- und Anwendervariablen...
  • Seite 38: Attribut: Zugriffsrechte (Apr, Apw, Aprp, Apwp, Aprb, Apwb)

    Flexible NC-Programmierung 1.1 Variablen 1.1.10 Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB) Den Zugriffsrechten entsprechen folgende bei der Programmierung anzugebende Schutzstufen: Zugriffsrecht Schutzstufe Kennwort System Kennwort Maschinenhersteller Kennwort Service Kennwort Endanwender Schlüsselschalter Stellung 3 Schlüsselschalter Stellung 2 Schlüsselschalter Stellung 1 Schlüsselschalter Stellung 0 Definition ( ) von Anwendervariablen...
  • Seite 39 Flexible NC-Programmierung 1.1 Variablen ● Anwenderdaten – R–Parameter – Synchronaktionsvariable ($AC_MARKER, $AC_PARAM, $AC_TIMER) – Synchronaktions–GUD (SYG_xy[ ], mit x=R, I, B, A, C, S und y=S, M, U, 4, ..., 9) – EPS–Parameter – Werkzeugdaten–OEM – Magazindaten–OEM – globale Anwendervariablen (GUD) Hinweis Bei der Redefinition kann das Zugriffsrecht auf eine Variable zwischen der niedrigsten Schutzstufe 7 und der eigenen Schutzstufe, z.B.
  • Seite 40 Flexible NC-Programmierung 1.1 Variablen Zugriffsrechte bezüglich Teileprogrammen und Zyklen ( APRP APWP Die unterschiedlichen Zugriffsrechte haben für den Zugriff in einem Teileprogramm bzw. Zyklus folgende Auswirkungen: ● APRP 0 APWP 0 – beim Abarbeiten des Teileprogramms muss das System-Kennwort gesetzt sein –...
  • Seite 41: Zugriffsattribute

    Flexible NC-Programmierung 1.1 Variablen Zugriffsrechte bezüglich BTSS ( APRB APWB Die Zugriffsrechte ( ) beschränken den Zugriff auf System- und Anwendervariablen APRB APWB über BTSS für alle Systemkomponenten (HMI, PLC, externe Rechner, EPS-Dienste, etc.) gleichermaßen. Hinweis HMI-lokale Zugriffsrechte Bei Änderungen von Zugriffsrechten von Systemdaten muss darauf geachtet werden, daß diese konsistent zu den über HMI-Mechanismen festgelegten Zugriffsrechten erfolgt.
  • Seite 42 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 43: Ü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 ( und/oder redefiniert ( ) werden können. REDEF Systemdaten Datenart Init.Wert Grenzwerte phys. Einheit Zugriffsrechte Maschinendaten REDEF Settingdaten REDEF REDEF REDEF FRAME-Daten REDEF...
  • Seite 44: 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 45 Flexible NC-Programmierung 1.1 Variablen 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 optional. ● bei einer Wertzuweisung: <Variablenname>[<n>,<m>,<o>] = SET(<WERT1>,<Wert2>,...) Syntax ( DEF...=REP...
  • Seite 46 Flexible NC-Programmierung 1.1 Variablen Feldgröße bzw. Feldindex für 2. Dimension <m> Typ: INT (bei Systemvariablen auch AXIS) Wertebereich: Max. Feldgröße: 65535 Feldindex: 0 ≤ m ≤ 65534 Feldgröße bzw. Feldindex für 3. Dimension <o> Typ: INT (bei Systemvariablen auch AXIS) Wertebereich: Max.
  • Seite 47 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 48: 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, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 49: Definition Und Initialisierung Von Feldvariablen (Def, Set, Rep): Weitere Informationen

    Flexible NC-Programmierung 1.1 Variablen 1.1.13 Definition und Initialisierung von Feldvariablen (DEF, SET, REP): Weitere Informationen Weitere Informationen ( Initialisierung bei der Definition ● Es werden, beginnend beim 1. Feldelement, so viele Feldelemente mit den Werten aus der Werteliste initialisiert, wie Elemente in der Werteliste programmiert sind. ●...
  • Seite 50 Flexible NC-Programmierung 1.1 Variablen Weitere Informationen ( 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 51 Flexible NC-Programmierung 1.1 Variablen Weitere Informationen (allgemein) Wertzuweisungen an axiale Maschinendaten Axiale Maschinendaten haben prinzipiell einen Feldindex vom Datentyp . Bei AXIS Wertzuweisungen an ein axiales Maschinendatum mittels oder 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 52: Datentypen

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

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Indirekte Programmierung 1.2.1 Indirekte Programmierung von Adressen Funktion Bei der indirekten Programmierung von Adressen wird die erweiterte Adresse (Index) durch eine Variable geeigneten Typs ersetzt. Hinweis Die indirekte Programmierung von Adressen ist nicht möglich bei: ...
  • Seite 54 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 55 Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel 5: Indirekte Programmierung einer Achse Direkte Programmierung: Programmcode G2 X100 I20 Indirekte Programmierung: Programmcode Kommentar DEF AXIS AXVAR1=X ; Definition einer Variablen vom Typ AXIS und Wertzuweisung. G2 X100 IP[AXVAR1]=20 ; Indirekte Programmierung der Mittelpunktsangabe für die Achse, deren Adressname in der Variablen mit dem Namen AXVAR1 abgelegt ist Beispiel 6: Indirekte Programmierung von Feldelementen...
  • Seite 56: Indirekte Programmierung Von G-Codes

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

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

    Flexible NC-Programmierung 1.2 Indirekte Programmierung Bedeutung Folgende Positionierbefehle können zusammen mit <POSITIONIERBEFEHL>[] dem Schlüsselwort GP programmiert werden: POSA,SPOS SPOSA Außerdem möglich:  alle im Kanal vorhandenen Achs- /Spindelbezeichner: <Achse/Spindel>  variabler Achs-/Spindelbezeichner Achse/Spindel, die positioniert werden soll <Achse/Spindel> Schlüsselwort zur Positionierung GP() Parameter 1 <Position>...
  • Seite 59 Flexible NC-Programmierung 1.2 Indirekte Programmierung Beispiel Bei einer aktiven Synchronspindelkopplung zwischen der Leitspindel S1 und der Folgespindel S2 wird durch den -Befehl im Hauptprogramm der folgende SPOS 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)
  • Seite 60: Indirekte Programmierung Von Teileprogrammzeilen (Execstring)

    Flexible NC-Programmierung 1.2 Indirekte Programmierung 1.2.4 Indirekte Programmierung von Teileprogrammzeilen (EXECSTRING) Funktion Mit dem Teileprogrammbefehl ist es möglich, eine zuvor erzeugte String-Variable EXECSTRING als Teileprogrammzeile auszuführen. Syntax wird in einer eigenen Teileprogrammzeile programmiert: EXECSTRING EXECSTRING(<String-Variable>) Bedeutung Befehl zur Ausführung einer String-Variablen als EXECSTRING Teileprogrammzeile Variable vom Typ STRING, die die eigentlich auszuführende...
  • Seite 61: 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 62 Flexible NC-Programmierung 1.3 Rechenfunktionen BOUND() Variablenwert, der im definierten Wertebereich liegt (siehe "Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) (Seite 68)") CTRANS() Verschiebung CROT() Drehung CSCALE() Maßstabsveränderung CMIRROR() Spiegeln Programmierung Bei den Rechenfunktionen gilt die übliche mathematische Schreibweise. Prioritäten in der Abarbeitung werden durch runde Klammern gesetzt.
  • Seite 63 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 64: 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 anwendbar. CHAR, INT REAL BOOL Beim Typ wird der Codewert verglichen.
  • Seite 65 Flexible NC-Programmierung 1.4 Vergleichs- und logische Operationen Bitweise logischer Operator Bedeutung bitweises UND B_AND bitweises ODER B_OR bitweise Negation B_NOT bitweises Exklusiv-ODER B_XOR Hinweis In arithmetischen Ausdrücken kann durch runde Klammern die Abarbeitungsreihenfolge aller Operatoren festgelegt und damit von den normalen Prioritätsregeln abgewichen werden. Hinweis Zwischen BOOLSCHEN Operanden und Operatoren müssen Zwischenräume geschrieben werden.
  • Seite 66: 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 67: Beispiele

    Flexible NC-Programmierung 1.5 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC) Synchronaktionen Das beschriebene Verhalten der Vergleichsbefehle gilt auch bei Synchronaktionen. Beispiele Beispiel 1: Genauigkeitsbetrachtungen Programmcode Kommentar N40 R1=61.01 R2=61.02 R3=0.01 Zuweisung der Anfangswerte N41 IF ABS(R2-R1) > R3 GOTOF FEHLER Sprung würde bisher ausgeführt werden N42 M30 Programmende...
  • Seite 68: 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 können die Werte zweier Variablen miteinander MINVAL MAXVAL verglichen werden. Als Ergebnis wird der kleinere Wert (bei ) bzw.
  • Seite 69 Flexible NC-Programmierung 1.6 Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND) Hinweis können auch in Synchronaktionen programmiert werden. MINVAL MAXVAL BOUND Hinweis Verhalten bei Gleichheit Bei Gleichheit wird bei dieser gleiche Wert geliefert. Bei wird der Wert MINVAL/MAXVAL BOUND der zu prüfenden Variablen wieder zurückgegeben.
  • Seite 70: 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 71: 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 72: 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 73: 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 74: Typenkonvertierung Von String (Number, Isnumber, Axname)

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

    Flexible NC-Programmierung 1.9 Stringoperationen Beispiel Programmcode Kommentar DEF BOOL BOOL_ERG DEF REAL REAL_ERG DEF AXIS AXIS_ERG BOOL_ERG=ISNUMBER("1234.9876Ex-7") ; BOOL_ERG == TRUE BOOL_ERG=ISNUMBER("1234XYZ") ; BOOL_ERG == FALSE REAL_ERG=NUMBER("1234.9876Ex-7") ; REAL_ERG == 1234.9876Ex-7 AXIS_ERG=AXNAME("X") ; AXIS_ERG == X 1.9.3 Verkettung von Strings (<<) Funktion Die Funktion "Verkettung von Strings"...
  • Seite 76 Flexible NC-Programmierung 1.9 Stringoperationen Hinweis Die Typen FRAME und AXIS können nicht zusammen mit dem Operator "<<" verwendet werden. Beispiele Beispiel 1: Verkettung von Strings Programmcode Kommentar DEF INT IDX=2 DEF REAL VALUE=9.654 DEF STRING[20] STRG="INDEX:2" IF STRG=="Index:"<<IDX GOTOF NO_MSG MSG("Index:"<<IDX<<"/Wert:"<<VALUE) ;...
  • Seite 77: 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 werden alle Buchstaben einer Zeichenkette TOUPPER TOUPPER in Großbuchstaben umgewandelt.
  • Seite 78: 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 ist es möglich, die Länge einer Zeichenkette zu bestimmen. STRLEN Syntax <INT_ERG>=STRLEN("<STRING>") Bedeutung Mit dem Befehl wird die Länge der angegebenen Zeichenkette STRLEN STRLEN bestimmt. Es wird die Anzahl der Zeichen zurückgegeben, die - vom Anfang der Zeichenkette an gezählt - keine 0-Zeichen sind.
  • Seite 79 Flexible NC-Programmierung 1.9 Stringoperationen Semantik Suchfunktionen: Sie liefern die Position im String (erster Parameter) zurück, wo die Suche erfolgreich war. Kann das Zeichen/der String nicht gefunden werden, wird der Wert -1 zurückgegeben. Das erste Zeichen hat dabei die Position 0. Bedeutung sucht das als zweiten Parameter angegebene Zeichen (von vorne) im ersten INDEX...
  • Seite 80: 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 ;...
  • Seite 81 Flexible NC-Programmierung 1.9 Stringoperationen Beispiel Meldungen: Einsetzen eines Achsbezeichners in einem vorgefertigten String. Programmcode Kommentar DEF STRING [50] MELDUNG = "Achse n hat Position erreicht" MELDUNG [6] = "X" MSG (MELDUNG) ; liefert die Meldung "Achse X hat Position erreicht" Parameter Der Einzelzeichenzugriff ist nur auf vom Anwender definierte Variablen (LUD-,GUD- und PUD-Daten) möglich.
  • Seite 82: 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 ist es möglich, zur Programmwiederholung an den Anfang eines GOTOS Haupt- oder Unterprogramms zurückzuspringen. Über Maschinendaten kann eingestellt werden, dass bei jedem Rücksprung auf den Programmanfang: ●...
  • Seite 83: Programmsprünge Auf Sprungmarken (Gotob, Gotof, Goto, Gotoc)

    Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Beispiel Programmcode Kommentar N10 ... ; Programmanfang. N90 GOTOS ; Sprung an den Programmanfang. 1.10.2 Programmsprünge auf Sprungmarken (GOTOB, GOTOF, GOTO, GOTOC) Funktion In einem Programm können Sprungmarken (Labels) gesetzt werden, auf die von anderen Stellen innerhalb desselben Programms mit dem Befehlen bzw.
  • Seite 84 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Sprungzielparameter <Sprungziel> Mögliche Angaben sind: <Sprungmarke>: Sprungziel ist die im Programm gesetzte Sprungmarke mit benutzerdefiniertem Namen: < Sprungmarke>: <Satznummer>: Sprungziel ist eine Haupt- oder Nebensatznummer (z. B.: N300 Variable vom Typ Variables Sprungziel. Die Variable steht für STRING: eine Sprungmarke oder eine Satznummer.
  • Seite 85 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Beispiele Beispiel 1: Sprünge auf Sprungmarken Programmcode Kommentar N10 … N20 GOTOF Label_1 ; Sprung in Richtung Programmende zur Sprungmarke "Label_1". N30 … N40 Label_0: R1=R2+R3 ; Sprungmarke "Label_0" gesetzt. N50 … N60 Label_1: ;...
  • Seite 86: Programmverzweigung (Case

    Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Beispiel 4: Sprung mit Sprungbedingung Programmcode Kommentar N40 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20 ; Zuweisung der Anfangswerte. N41 LA1: G0 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6 ; Sprungmarke LA1 gesetzt. N42 R1=R1+R3 R4=R4-1 N43 IF R4>0 GOTOB LA1 ;...
  • Seite 87 Flexible NC-Programmierung 1.10 Programmsprünge und -verzweigungen Sprunganweisung mit Sprungziel in Richtung Programmende. GOTOF Statt sind auch alle anderen GOTO-Befehle programmierbar GOTOF (siehe Thema "Programmsprünge auf Sprungmarken"). Auf dieses Sprungziel wird verzweigt, wenn der Wert der <Sprungziel_1> Variablen oder Rechenfunktion der ersten angegebenen Konstanten entspricht.
  • Seite 88: 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 89 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 -Anweisung mit den beiden Sprungmarken zu klammern, ist nicht möglich. Wird REPEAT vor der -Anweisung gefunden und wird die <Start-Sprungmarke>...
  • Seite 90 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Bedeutung Befehl zum Wiederholen einer Programmzeile REPEATB Befehl zum Wiederholen eines Programmbereichs REPEAT kennzeichnet: <Sprungmarke> <Sprungmarke>  die zu wiederholende Programmzeile (bei REPEATB bzw.  den Beginn des zu wiederholenden Programmbereichs (bei REPEAT Die mit der gekennzeichnete Programmzeile kann vor...
  • Seite 91 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 92 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Beispiel 4: Bereich zwischen Sprungmarke und ENDLABEL wiederholen Programmcode Kommentar N10 G1 F300 Z-10 N20 BEGIN1: N30 X10 N40 Y10 N50 BEGIN2: N60 X20 N70 Y30 N80 ENDLABEL: Z10 N90 X0 Y0 Z0 N100 Z-10 N110 BEGIN3: X20 N120 Y30...
  • Seite 93 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Programmcode Kommentar N170 GEWINDE(8) ; Gewindebohrer M8 einwechseln und Gewindezyklus. N180 REPEAT POS_2 ; Wiederhole Programmabschnitt ab POS_2 einmal bis ENDLABEL. N190 M30 Weitere Informationen ● Programmteilwiederholung kann geschachtelt aufgerufen werden. Jeder Aufruf belegt eine Unterprogrammebene.
  • Seite 94 Flexible NC-Programmierung 1.11 Programmteilwiederholung (REPEAT, REPEATB, ENDLABEL, P) Beispiel: Programmcode N10 G1 F300 Z-10 N20 BEGIN1: N30 X=10 N40 Y=10 N50 GOTOF BEGIN2 N60 ENDLABEL: N70 BEGIN2: N80 X20 N90 Y30 N100 ENDLABEL: Z10 N110 X0 Y0 Z0 N120 Z-10 N130 REPEAT BEGIN1 P=2 N140 Z10 N150 X0 Y0...
  • Seite 95: 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 WHILE...
  • Seite 96: Programmschleife Mit Alternative (If, Else, Endif)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen Laufzeitverhalten Im standardmäßig aktiven Interpreterbetrieb kann durch Verwendung von Programmsprüngen ein schnellerer Programmablauf als mit Kontrollstrukturen erreicht werden. In vorkompilierten Zyklen ist kein Unterschied zwischen Programmsprüngen und Kontrollstrukturen vorhanden. Randbedingungen ● Sätze mit Kontrollstrukturelementen können nicht ausgeblendet werden. ●...
  • Seite 97 Flexible NC-Programmierung 1.12 Kontrollstrukturen Bedeutung Leitet die IF-Schleife ein. Leitet den alternativen Programmblock ein. ELSE Markiert das Ende der IF-Schleife und bewirkt Rücksprung auf den ENDIF Schleifenanfang. Bedingung, die darüber entscheidet, welcher Programmblock <Bedingung> durchlaufen wird. Beispiel Werkzeugwechselunterprogramm Programmcode Kommentar PROC L6 ;...
  • Seite 98: 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 99: 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. Markiert das Ende der Schleife und bewirkt Rücksprung auf den ENDFOR Schleifenanfang, solange der Endwert der Zählung noch nicht erreicht...
  • Seite 100: Programmschleife Mit Bedingung Am Schleifenanfang (While, Endwhile)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen R-Parameter als Zählvariable: Programmcode Kommentar R11=6 FOR R10=R12-R20*R1 TO R11 ; Zählvariable = R-Parameter (Realvariable) R20=R21*R22+R33 ENDFOR Beispiel 2: Fertigung einer festen Teilestückzahl Programmcode Kommentar DEF INT STUECKZAHL ; Definiert Variable vom Typ INT mit Namen "STUECKZAHL".
  • Seite 101: Programmschleife Mit Bedingung Am Schleifenende (Repeat, Until)

    Flexible NC-Programmierung 1.12 Kontrollstrukturen Beispiel Programmcode Kommentar WHILE $AA_IW[BOHRACHSE] > -10 ; Aufruf der WHILE-Schleife unter folgender Bedingung: der aktuelle WKS-Sollwert für die Bohrachse muss größer -10 sein. G1 G91 F250 AX[BOHRACHSE] = -1 ENDWHILE 1.12.5 Programmschleife mit Bedingung am Schleifenende (REPEAT, UNTIL) Funktion Bei einer REPEAT-Schleife steht die Bedingung am Schleifenende.
  • Seite 102: 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 103: 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 104 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) ● Angabe mit relativer Pfadangabe Bei relativer Pfadangabe gelten dieselben Beispiel: Regeln wie für Unterprogrammaufrufe. INIT(2,"ABRICHT") INIT(3,"UNTER_1_SPF") Bei Unterprogrammaufrufe muss "_SPF" im Programmnamen ergänzt werden. Parameter Zum Datenaustausch zwischen den Programmen können die Variablen benutzt werden, über die Kanäle gemeinsam verfügen (NCK-spezifische globale Variable).
  • Seite 105 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) CLEARM (Marker-Nr., Marker-Nr., Löschen der Marker "Marker-Nr." im eigenen Kanal, ohne Einfluss auf die laufende Bearbeitung. Alle Marker im Kanal können mit CLEARM() gelöscht werden. CLEARM (0) löscht den Marker "0". CLEARM() behält Gültigkeit über RESET und NC-START hinweg.
  • Seite 106: 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 107: Beispiel: Programm Aus Werkstück

    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 angewählt /_N_MPF_DIR/_N_MAIN_MPF Programmcode Kommentar N10 INIT(2,"MYPROG") ; Programm /_N_MPF_DIR/_N_MYPROG_MPF in Kanal 2 anwählen Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 108 Flexible NC-Programmierung 1.13 Programmkoordinierung (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM) Beispiel: Kanalname und Kanalnummer mit Integer Variable "CHAN_X" ;Name des 1. Kanals $MC_CHAN_NAME[0]= "CHAN_Y" ;Name des 2. Kanals $MC_CHAN_NAME[1]= Programmcode Kommentar START(1, 2) ; Start im 1. und 2. Kanal ausführen Analog dazu Programmierung mit den Kanalbezeichnern: Programmcode Kommentar...
  • Seite 109: 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 110: Interruptroutine Erstellen

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

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) 1.14.3 Interruptroutine zuordnen und starten (SETINT, PRIO, BLSYNC) Funktion Die Steuerung verfügt über Signale (Eingang 1…8), die eine Unterbrechung des laufenden Programms auslösen und eine entsprechende Interruptroutine starten können. Die Zuordnung, welcher Eingang welches Programm startet, erfolgt im Teileprogramm mit dem Befehl SETINT Falls im Teileprogramm mehrere...
  • Seite 112: 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 113: 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 -Anweisung kann mit deaktiviert und mit wieder aktiviert werden, SETINT DISABLE ENABLE 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 114: 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 definierte Zuordnung Eingang → Interruptroutine kann mit gelöscht SETINT CLRINT werden. Syntax CLRINT(<n>) Bedeutung Befehl: Löschen der Interruptroutinen-Zuordnung von Eingang <n> CLRINT(<n>) Parameter: Nummer des Eingangs <n>...
  • Seite 115: 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 -Anweisung mit wird beim Schalten des Eingangs das Werkzeug SETINT LIFTFAST durch schnelles Abheben von der Werkstückkontur weggefahren. Der weitere Ablauf ist davon abhängig, ob die -Anweisung neben eine SETINT...
  • Seite 116 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Festlegung der Priorität PRIO= Prioritätswert <Wert> Wertebereich: 1 ... 128 Priorität 1 entspricht der höchsten Priorität. Name des Unterprogramms (Interruptroutine), das abgearbeitet werden <NAME> soll. Befehl: Schnellabheben von der Kontur LIFTFAST Befehl: Programmierbare Verfahrrichtung (steht im Bewegungssatz) ALF=…...
  • Seite 117: Verfahrrichtung Beim Schnellabheben Von Der Kontur

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Unterprogramm: Unterprogramm Kommentar PROC W_WECHS SAVE ; Unterprogramm mit Speicherung des aktuellen Betriebszustandes N10 G0 Z100 M5 ; Werkzeugwechselposition, Spindelstopp N20 T11 M6 D1 G41 ; Werkzeug wechseln N30 REPOSL RMB M3 ; Kontur wiederanfahren und Rücksprung ins Hauptprogramm (wird in einem Satz programmiert) 1.14.7...
  • Seite 118 Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Das Werkzeug fährt bei eingeschaltetem (Bearbeitungsrichtung links von der Kontur) senkrecht von der Kontur weg. Bezugsebene für die Beschreibung der Verfahrrichtungen bei LFTXT Im Eingriffspunkt des Werkzeugs an der programmierten Kontur wird eine Ebene aufgespannt, die als Bezug für die Angabe der Abhebebewegung mit der entsprechenden Code-Nummer dient.
  • Seite 119 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 ist der Rückzug in Werkzeugrichtung festgelegt. ALF=1 ist die Funktion "Schnellabheben" ausgeschaltet. ALF=0 VORSICHT Bei eingeschalteter Werkzeugradiuskorrektur sollten: ...
  • Seite 120: Bewegungsablauf Bei Interruptroutinen

    Flexible NC-Programmierung 1.14 Interruptroutine (ASUP) Code-Nummern mit Verfahrrichtungen bei LFWP ergibt sich die Richtung in der Arbeitsebene nach folgender Zuordnung: LFWP ● : X/Y-Ebene : Rückzug in X-Richtung ALF=1 : Rückzug in Y-Richtung ALF=3 ● : Z/X-Ebene : Rückzug in Z-Richtung ALF=1 : Rückzug in X-Richtung ALF=3...
  • Seite 121: 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 122 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) GET-Anforderung ohne Vorlaufstopp Wird nach einer GET-Anforderung ohne Vorlaufstopp die Achse mit oder RELEASE(Achse) wieder freigegeben, so führt ein nachfolgender zu einem WAITP(Achse) Vorlaufstopp. VORSICHT Eine mit GET übernommene Achse bzw. Spindel bleibt auch nach einem Tasten- oder Programm-RESET diesem Kanal zugeordnet.
  • Seite 123 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 124 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 125 Flexible NC-Programmierung 1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) Achstauschverhalten veränderbar einstellen Der Abgabezeitpunkt von Achsen lässt sich über ein Maschinendatum wie folgt einstellen: ● Automatischer Achstausch findet zwischen zwei Kanälen auch dann statt, wenn die Achse durch WAITP in einen neutralen Zustand gebracht wurde (Verhalten wie bisher) ●...
  • Seite 126: 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 kann eine Achse angefordert werden, um diese Achse AXTOCHAN 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 127 Flexible NC-Programmierung 1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) Programmcode Kommentar N131 M0 N140 AXTOCHAN(Y,2) ; Y-Achse in den 2. Kanal schieben (NC-Programm). N141 M0 Weitere Informationen AXTOCHAN im NC-Programm Dabei wird nur bei einer Anforderung der Achse für das NC-Programm im eigenen Kanal ein durchgeführt und damit auch auf die tatsächliche Zustandsänderung gewartet.
  • Seite 128: Maschinendaten Wirksam Setzen (Newconf)

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

    -Befehl zu beschreibende Datei wird neu angelegt, wenn sie nicht in der NC WRITE 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 -Befehls um ca. 75 ms.
  • Seite 130 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) 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 keine Ressourcen frei keine Zugriffsrechte sonstiger Fehler Name der Datei, in der der angegebene Satz bzw.
  • Seite 131 Flexible NC-Programmierung 1.18 Datei schreiben (WRITE) Satz bzw. Daten, die in der angegebenen Datei angefügt werden <Satz/Daten> sollen. Typ: STRING Hinweis: Intern wird noch LF angehängt, d. h. die Zeichenkette wird um 1 Zeichen länger. Randbedingungen ● Maximale Dateigröße (→ Maschinenhersteller!) Die maximal mögliche Dateigröße von Protokolldateien wird eingestellt mit dem Maschinendatum: MD11420 $MN_LEN_PROTOCOL_FILE...
  • Seite 132: Datei Löschen (Delete)

    Flexible NC-Programmierung 1.19 Datei löschen (DELETE) 1.19 Datei löschen (DELETE) Funktion Mit dem -Befehl können alle Dateien gelöscht werden, egal, ob diese per -Befehl DELETE WRITE entstanden sind oder nicht. Auch Dateien, die unter höherer Zugriffsstufe erstellt wurden, können mit gelöscht werden.
  • Seite 133 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 134: Zeilen In Datei Lesen (Read)

    Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) 1.20 Zeilen in Datei lesen (READ) Funktion -Befehl liest in der angegebenen Datei eine oder mehrere Zeilen und legt die READ gelesenen Informationen in einem Feld vom Typ STRING ab. Jede gelesene Zeile belegt in diesem Feld ein Feldelement.
  • Seite 135 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) 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 Zeile nicht vorhanden (Parameter oder <Anfangszeile>...
  • Seite 136 Flexible NC-Programmierung 1.20 Zeilen in Datei lesen (READ) Anfangszeile des zu lesenden Dateibereichs (Call-By-Value-Parameter) <Anfangszeile> 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>...
  • Seite 137: 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 -Befehl kann geprüft werden, ob eine Datei im statischen Anwenderspeicher ISFILE des NCK (passives Filesystem) existiert. Syntax <Ergebnis>=ISFILE("<Dateiname>") Bedeutung Befehl zur Prüfung, ob die angegebene Datei im passiven Filesystem ISFILE existiert.
  • Seite 138 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 139: 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 können bestimmte FILEDATE FILETIME FILESIZE FILESTAT FILEINFO 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 140 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 ( ) ist <Ergebnis>...
  • Seite 141 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. Typ: STRING bei: FILEDATE Format: "dd.mm.yy" ⇒ Stringlänge muss 8 sein. FILETIME Format: " hh:mm.ss " ⇒ Stringlänge muss 8 sein. FILESTAT Format: "rwxsd"...
  • Seite 142: 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 kann die Checksumme über ein Feld berechnet werden. Durch den CHECKSUM Vergleich dieser Checksumme mit dem Ergebnis einer früheren Checksummenberechnung kann festgestellt werden, ob sich die Daten des Feldes verändert haben. Anwendung Prüfung, ob sich beim Abspanen die Eingangskontur geändert hat.
  • Seite 143 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>...
  • Seite 144: 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>...
  • Seite 145: 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 146: 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 147: Verwendung Des Programmnamens

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

    Programmebene 13 belegt. Erfolgt dann ein Interrupt, stehen diesem die benötigten 4 Programmebenen (14 bis 17) zur Verfügung. Siemens-Zyklen Siemens-Zyklen benötigen 3 Programmebenen. Der Aufruf eines Siemens-Zyklus muss daher spätestens erfolgen in: ● Teileprogrammbearbeitung: Programmebene 12 ●...
  • Seite 149: Formal- Und Aktualparameter

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

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.1.6 Parameterübergabe Definition eines Unterprogramms mit Parameterübergabe Die Definition eines Unterprogramms mit Parameterübergabe erfolgt mit dem Schlüsselwort und einer vollständigen Auflistung aller vom Unterprogramm erwarteten Parameter. PROC Unvollständige Parameterübergabe Beim Aufruf des Unterprogramms müssen nicht immer alle in der Unterprogrammschnittstelle definierten Parameter explizit übergeben werden.
  • Seite 151: Überprüfung Der Übergabeparameter

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik VORSICHT Parameterübergabe Call-by-Reference Parameter, die über Call-by-Reference übergeben werden, dürfen beim Unterprogramm- Aufruf nicht weggelassen werden. VORSICHT Datentyp AXIS Parameter vom Datentyp AXIS dürfen beim Unterprogramm-Aufruf nicht weggelassen werden. Überprüfung der Übergabeparameter Über die Systemvariable $P_SUBPAR [ n ] mit n = 1, 2, ... kann im Unterprogramm überprüft werden, ob ein Parameter explizit übergeben oder weggelassen wurde.
  • Seite 152: 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 -Anweisung...
  • Seite 153: 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 , gefolgt vom Programmnamen und einer vollständigen Auflistung aller PROC vom Unterprogramm erwarteten Parameter mit Typ und Namen. Die Definitionsanweisung muss in der ersten Programmzeile stehen.
  • Seite 154 Flexible NC-Programmierung 1.25 Unterprogrammtechnik ACHTUNG Der nach dem Schlüsselwort angegebene Programmname muss mit dem an der PROC Bedienoberfläche vergebenen Programmnamen übereinstimmen. Beispiel Definition eines Unterprogramms mit 2 Parametern vom Typ REAL: Programmcode Kommentar PROC SUB_PROG (REAL LAENGE, REAL BREITE) ; Parameter 1: Typ: REAL, Name: LAENGE Parameter 2: Typ: REAL, Name: BREITE...
  • Seite 155: 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 , gefolgt vom Programmnamen und einer vollständigen Auflistung PROC aller vom Unterprogramm erwarteten Parameter mit Schlüsselwort , Typ und Namen. Die Definitionsanweisung muss in der ersten Programmzeile stehen.
  • Seite 156 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax PROC <Programmname> (VAR <Parametertyp> <Parametername>, ...) PROC <Programmname> (VAR <Feldtyp> <Feldname> [<m>,<n>,<o>], ...) Bedeutung Definitionsanweisung am Anfang eines Programms PROC Schlüsselwort für die Parameterübergabe per Referenz Name des Programms <Programmname> Datentyp des Parameters (z. B. REAL, INT, BOOL) <Parametertyp>...
  • Seite 157: Modale G-Funktionen Sichern (Save)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.4 Modale G-Funktionen sichern (SAVE) Funktion Das Attribut bewirkt, dass die vor dem Unterprogrammaufruf aktiven modalen G- SAVE Funktionen gesichert und nach dem Unterprogrammende wieder reaktiviert werden. VORSICHT Unterbrechung des Bahnsteuerbetriebs Wird bei aktivem Bahnsteuerbetrieb ein Unterprogramme mit Attribut aufgerufen, wird SAVE der Bahnsteuerbetrieb am Ende des Unterprogramms (Rücksprung) unterbrochen.
  • Seite 158: Einzelsatzbearbeitung Unterdrücken (Sblof, Sblon)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Randbedingungen Frames Das Verhalten von Frames bezüglich Unterprogrammen mit dem Attribut ist abhängig SAVE vom Typ des Frames und kann über Maschinendaten eingestellt werden. Literatur Funktionshandbuch Grundfunktionen; Achsen, Koordinatensysteme, Frames (K2), Kapitel: "Unterprogrammrücksprung mit SAVE" 1.25.2.5 Einzelsatzbearbeitung unterdrücken (SBLOF, SBLON) Funktion Einzelsatzunterdrückung für das gesamte Programm...
  • Seite 159 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Bedeutung Erste Anweisung eines Programms PROC Befehl zum Ausschalten der Einzelsatzbearbeitung SBLOF kann in einem -Satz oder allein im Satz stehen. SBLOF PROC Befehl zum Einschalten der Einzelsatzbearbeitung SBLON muss in einem eigenen Satz stehen. SBLON Randbedingungen ●...
  • Seite 160 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 161 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Programmcode N200 END: D=$P_TOOL T=$P_TOOLNO N210 RET 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 ;...
  • Seite 162 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 163 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 programmiert werden. Dies gilt auch für die Funktion "Editierbares SBLOF System-ASUP" (MD11610 $MN_ASUP_EDITABLE). Beispiel für ein editierbares System-ASUP: Programmcode Kommentar N10 PROC ASUP1 SBLOF DISPLOF...
  • Seite 164: 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 165 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiele Beispiel 1: Aktuelle Satzanzeige im Zyklus unterdrücken Programmcode Kommentar PROC CYCLE(AXIS TOMOV, REAL POSITION) SAVE DISPLOF ; Aktuelle Satzanzeige unterdrücken. Stattdessen soll der Zyklus-Aufruf angezeigt werden, z. B.: CYCLE(X,100.0) DEF REAL DIFF ; Zyklen-Inhalt G01 ... ;...
  • Seite 166 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Hauptprogramm: Programmcode Kommentar N1000 G0 X0 Y0 Z0 N1010 ... N2050 SUBPROG1 ; Alarmausgabe = "12080 Kanal K1 Satz N9040 Syntaxfehler bei Text R10=" N2060 ... N2350 SUBPROG2 ; Alarmausgabe = "12080 Kanal K1 Satz N2350 Syntaxfehler bei Text R10="...
  • Seite 167 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 168: 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 können im Hochlauf am Ende der -Anweisungszeile alle PREPRO PROC Dateien gekennzeichnet werden. Hinweis Diese Art der Programmvorbereitung ist vom entsprechend eingestellten Maschinendatum abhängig. Bitte Angaben des Maschinenherstellers beachten. Literatur: Funktionshandbuch Sonderfunktionen;...
  • Seite 169: 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 (bzw. der Teileprogrammende-Befehl ). Er bewirkt den Rücksprung in das aufrufende Programm auf den Teileprogrammsatz nach dem Unterprogrammaufruf. Hinweis werden in der NC-Sprache gleichwertig behandelt. Syntax PROC <Programmname>...
  • Seite 170: Unterprogrammrücksprung Ret

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.2.9 Unterprogrammrücksprung RET Funktion Als Ersatz für den Rücksprungsbefehl kann im Unterprogramm auch der Befehl verwendet werden. muss in einem eigenen Teileprogrammsatz programmiert werden. bewirkt den Rücksprung in das aufrufende Programm auf den Teileprogrammsatz nach dem Unterprogrammaufruf. Hinweis Durch die Programmierung von Parametern kann das Rücksprungverhalten von geändert werden (siehe "Parametrierbarer Unterprogrammrücksprung (RET ...)
  • Seite 171: Parametrierbarer Unterprogrammrücksprung (Ret

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Unterprogramm: Programmcode Kommentar PROC SUB_PROG N100 RET ; Rücksprung erfolgt auf Satz N60 im Hauptprogramm. 1.25.2.10 Parametrierbarer Unterprogrammrücksprung (RET ...) Funktion Im Allgemeinen wird aus einem Unterprogramm mit einem Unterprogrammende oder in das Programm zurückgesprungen, aus dem das Unterprogramm aufgerufen wurde, und die Bearbeitung wird mit der auf den Unterprogrammaufruf folgenden Programmzeile fortgesetzt.
  • Seite 172 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Bedeutung Unterprogrammende (Verwendung statt Rücksprungsparameter 1 <Zielsatz> Nennt als Sprungziel den Satz, an dem die Programmbearbeitung fortgesetzt werden soll. Wenn Rücksprungsparameter 3 nicht programmiert ist, dann befindet sich das Sprungziel in dem Programm, aus dem das aktuelle Unterprogramm aufgerufen wurde. Mögliche Angaben sind: "<Satznummer>"...
  • Seite 173 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Rücksprungsparameter 3 <Anzahl der Rücksprungebenen> Nennt die Anzahl an Ebenen, die zurückgesprungen werden soll, um zu der Programmebene zu gelangen, in der die Programmbearbeitung fortgesetzt werden soll. Typ: Wert: Das Programm wird in der "aktuellen Programmebene - 1" fortgesetzt (wie ohne Parameter).
  • Seite 174 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Randbedingungen Beim Rücksprung über mehrere Programmebenen werden die -Anweisungen der SAVE einzelnen Programmebenen ausgewertet. Ist bei einem Rücksprung über mehrere Programmebenen ein modales Unterprogramm aktiv und ist in einem der übersprungenen Unterprogramme der Abwahlbefehl für das MCALL modale Unterprogramm programmiert, bleibt das modale Unterprogramm weiterhin aktiv.
  • Seite 175 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Programmcode Kommentar N1500 lab1: iVar1=R10*44 N1510 F500 X5 N1520 ... N1550 subprog1: G1 X30 ; "subProg1" ist hier als Sprungmarke definiert. N1560 ... N1600 subProg3 Aufruf von Unterprogramm "subProg3" N1610 ... N1900 M30 Unterprogramm subProg1: Programmcode Kommentar PROC subProg1 N2000 R10=R20+100...
  • Seite 176: Weitere Informationen

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Weitere Informationen Die folgenden Grafiken sollen die unterschiedlichen Wirkungen der Rücksprungsparameter 1 bis 3 veranschaulichen. 1. Rücksprungsparameter 1 = "N200", Rücksprungsparameter 2 = 0 Nach dem -Befehl wird die Programmbearbeitung mit dem Satz im Hauptprogramm N200 fortgesetzt.
  • Seite 177 Flexible NC-Programmierung 1.25 Unterprogrammtechnik 2. Rücksprungsparameter 1 = "N200", Rücksprungsparameter 2 = 1 Nach dem -Befehl wird die Programmbearbeitung mit dem Satz ( ) fortgesetzt, der auf N210 den Satz im Hauptprogramm folgt. N200 3. Rücksprungsparameter 1 = "N220", Rücksprungsparameter 3 = 2 Nach dem -Befehl wird zwei Programmebenen zurückgesprungen und die Programmbearbeitung wird mit dem Satz...
  • Seite 178: 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 oder wird in diesem Fall wie (Programmende mit Rücksprung ins aufrufende Programm) gewertet.
  • Seite 179 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>...
  • Seite 180: 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 -Parametern). Unterprogramme mit Parameterübergabe müssen vor dem Aufruf im Hauptprogramm mit bekannt gemacht werden (z.
  • Seite 181: Bedeutung

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 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: muss nur dann angegeben EXTERN werden, wenn das Unterprogramm im Werkstück- oder im globalen Unterprogrammverzeichnis steht.
  • Seite 182 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) Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 183: Anzahl Der Programmwiederholungen (P)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 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 die gewünschte Anzahl der Programmwiederholungen programmiert werden. VORSICHT Unterprogrammaufruf mit Programmwiederholung und Parameterübergabe Parameter werden nur beim Programmaufruf bzw. ersten Durchlauf übergeben. Für die weiteren Wiederholungen bleiben die Parameter unverändert.
  • Seite 184 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Programmcode Kommentar N40 RAHMEN P3 ; Das Unterprogramm RAHMEN soll dreimal hintereinander abgearbeitet werden. Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 185: Modaler Unterprogrammaufruf (Mcall)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.4 Modaler Unterprogrammaufruf (MCALL) Funktion Bei einem modalen Unterprogrammaufruf mit wird das Unterprogramm nach jedem MCALL 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 ohne Unterprogrammaufruf oder durch MCALL...
  • Seite 186 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 187: 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 und dem CALL Variablennamen.
  • Seite 188: Indirekter Unterprogrammaufruf Mit Angabe Des Auszuführenden Programmteils (Call Block

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik Indirekter Aufruf über Variable: Programmcode Kommentar … DEF STRING[100] PROGNAME ; Variable definieren. PROGNAME="/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF" ; Unterprogramm TEIL1 der Variablen PROGNAME zuordnen. CALL PROGNAME ; Unterprogramm TEIL1 über CALL und die Variable PROGNAME indirekt aufrufen. … 1.25.3.6 Indirekter Unterprogrammaufruf mit Angabe des auszuführenden Programmteils (CALL BLOCK ...
  • Seite 189 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 190: 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 191: 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 können Unterprogramme mit absoluter Pfadangabe und Parameterübergabe PCALL 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>...
  • Seite 192: Suchpfad Bei Unterprogrammaufrufen Erweitern (Callpath)

    Flexible NC-Programmierung 1.25 Unterprogrammtechnik 1.25.3.9 Suchpfad bei Unterprogrammaufrufen erweitern (CALLPATH) Funktion Mit dem Befehl kann der Suchpfad für Unterprogrammaufrufe erweitert werden. CALLPATH Damit können auch Unterprogramme aus einem nicht ausgewählten Werkstückverzeichnis aufgerufen werden, ohne den vollständigen, absoluten Pfadnamen des Unterprogramms anzugeben.
  • Seite 193: Externes Unterprogramm Abarbeiten (Extcall)

    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 ● prüft, ob der programmierte Pfadname tatsächlich vorhanden ist. Im Fehlerfall CALLPATH wird die Teileprogrammbearbeitung mit Korrektursatz-Alarm 14009 abgebrochen.
  • Seite 194 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Syntax EXTCALL("<Pfad/><Programmname>") Bedeutung Befehl zum Aufrufen eines externen Unterprogramms EXTCALL Konstante/Variable vom Typ STRING "<Pfad/><Programmname>" Absolute oder relative <Pfad/> Pfadangabe (optional) Der Programmname wird ohne <Programmname> Präfix "_N_" angegeben. Die Dateierweiterung ("MPF", "SPF") kann mit dem Zeichen "_"...
  • Seite 195 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Abarbeiten von lokalem Laufwerk Hauptprogramm: Programmcode N010 PROC MAIN N020 ... N030 EXTCALL ("SCHRUPPEN") N040 ... N050 M30 Externes Unterprogramm: Programmcode N010 PROC SCHRUPPEN N020 G1 F1000 N030 X= ... Y= ... Z= ... N040 ... N999999 M17 Das Hauptprogramm "MAIN.MPF"...
  • Seite 196 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Weitere Informationen EXTCALL-Aufruf mit absoluter Pfadangabe Wenn das Unterprogramm unter dem angegebenen Pfad existiert, dann wird es nach dem -Aufruf ausgeführt. Wenn es nicht existiert, dann wird die Programmausführung EXTCALL abgebrochen. EXTCALL-Aufruf mit relativer Pfadangabe / ohne Pfadangabe Bei einem -Aufruf mit relativer Pfadangabe bzw.
  • Seite 197: 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 198 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Datei uc.com - Anwenderzyklenbeschreibung Die Erläuterung erfolgt anhand der Fortsetzung des Beispiels: Für die folgenden beiden Zyklen soll eine Zyklenparametrierung neu erstellt werden: Programmierung Kommentar PROC MEIN_ZYKLUS_1 (REAL PAR1, INT PAR2, CHAR PAR3, STRING[10] PAR4) Der Zyklus hat folgende Übergabeparameter: PAR1: ;...
  • Seite 199 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Beispiel Beide Zyklen Anzeigemaske für Zyklus MEIN_ZYKLUS_1 Anzeigemaske für Zyklus SPEZIALZYKLUS 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>...
  • Seite 200 Flexible NC-Programmierung 1.25 Unterprogrammtechnik Datentypkennung: für Real für Integer für Charakter (1 Zeichen) für String Minimalwert, Maximalwert (kann entfallen) Grenzen des einzugebenden Wertes, die bei der Eingabe überprüft werden; Werte außerhalb dieses Bereichs können nicht eingegeben werden. Es können Aufzählungswerte angegeben werden, die mit der Toggle-Taste bedient werden können;...
  • Seite 201: 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 202 Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Regeln zur Makro-Definition ● Im Makro können beliebige Bezeichner, G-, M-, H-Funktionen und L-Programmnamen definiert werden. ● Makros können auch im NC-Programm definiert werden. ● G-Funktions-Makros können nur steuerungsglobal im Makrobaustein definiert werden. ●...
  • Seite 203 Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Beispiel 3: Externe Makrodatei Nach dem Einlesen der externen Makrodatei in die Steuerung muss die Makrodatei in die NC geladen werden. Erst dann können die Makros im NC-Programm verwendet werden. Programmcode Kommentar %_N_UMAC_DEF ;$PATH=/_N_DEF_DIR ;...
  • Seite 204 Flexible NC-Programmierung 1.26 Makrotechnik (DEFINE ... AS) Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 205: 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 206: 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 207 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 208: Suchpfade Beim Unterprogrammaufruf

    Datei- und Programmverwaltung 2.1 Programmspeicher Werkstückverzeichnis anlegen ohne Pfadangabe Fehlt die Pfadangabe, so werden Dateien mit der Endung _SPF im Verzeichnis /_N_SPF_DIR, Dateien mit der Endung _INI im Arbeitsspeicher und alle übrigen Dateien im Verzeichnis /_N_MPF_DIR abgelegt. Beispiel: Programmcode %_N_WELLE_SPF Die Datei _N_WELLE_SPF wird im Verzeichnis /_N_SPF_DIR abgelegt.
  • Seite 209 Datei- und Programmverwaltung 2.1 Programmspeicher Die Verzeichnisse werden nach dem aufgerufenen Programm in der folgenden Reihenfolge durchsucht: Verzeichnis Beschreibung name aktuelles Directory / Werkstück-Hauptverzeichnis oder Standard- Verzeichnis _N_MPF_DIR name_SPF aktuelles Directory / name_MPF aktuelles Directory / name_SPF /_N_SPF_DIR / Globale Unterprogramme name_SPF /_N_CUS_DIR / Anwender-Zyklen...
  • Seite 210: 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 211: Vorgehensweise Bei Mehrkanaligen Steuerungen (Chandata)

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

    Datei- und Programmverwaltung 2.3 Strukturierungsanweisung im Stepeditor (SEFORM) Strukturierungsanweisung im Stepeditor (SEFORM) Funktion Die Strukturierungsanweisung wird im Stepeditor (editorbasierte SEFORM 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 214 Datei- und Programmverwaltung 2.3 Strukturierungsanweisung im Stepeditor (SEFORM) Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 215: 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 216 Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Bedeutung Lokale Variable, Datentyp INTEGER definieren DEF INT NOT_USED (vgl. Kapitel "Bewegungssynchronaktionen (Seite 551)") Die gewünschte Ebene wird vor bzw. G17/G18/G19 CPROTDEF NPROTDEF angewählt und darf vor nicht geändert G17/G18/G19 EXECUTE werden. Eine Programmierung der Applikate zwischen bzw.
  • Seite 217 Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Weitere Informationen Definition von Schutzbereichen Zur Definition von Schutzbereichen gehören: ● für kanalspezifische Schutzbereiche CPROTDEF ● für maschinenspezifische Schutzbereiche NPROTDEF ● Konturbeschreibung des Schutzbereichs ● Abschluss der Definition mit EXECUTE Bei Aktivierung des Schutzbereichs im NC-Teileprogramm können Sie den Bezugspunkt des Schutzbereichs relativ verschieben.
  • Seite 218 Schutzbereiche 3.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF) Werkzeugbezogene Schutzbereiche Werkzeugbezogene Schutzbereiche müssen immer konvex sein. Falls ein konkaver Schutzbereich gewünscht ist, ist dieser in mehrere konvexe Schutzbereiche zu zerlegen. Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 219: 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 220 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 221 Schutzbereiche 3.2 Schutzbereiche aktivieren/deaktivieren (CPROT, NPROT) Programmcode Kommentar 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 EXECUTE(SCHUTZB) CPROTDEF(2,TRUE,3,–100,–150) ; Schutzbereich c–SB2 G01 X0 Y–10 G03 X0 Y10 J10 X0 Y–10 J–10 EXECUTE(SCHUTZB) CPROTDEF(3,TRUE,3,–150,–170) ;...
  • Seite 222 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 223: Ü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 224 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 225 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 226 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 227 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Programmcode Kommentar N70 cprotdef(2, true, 0) werkzeugbezogener Schutzbereich N80 g17 g1 x–y0 N90 g3 i2 x2 N100 i–x– N110 execute(_SB) N120 cprotdef(4, false, 0) werkstückbezogener Schutzbereich N130 g17 g1 x0 y15 N140 x10 N150 y25 N160 x0...
  • Seite 228 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Programmcode Kommentar N450 _STARTPOS[0] = 5. Anderes Ziel N460 _STARTPOS[1] = 17. N470 _STARTPOS[2] = 0. N480 _MOVDIST[0] = 0. N490 _MOVDIST[1] =–. N500 _MOVDIST[2] = 0. ;Verschiede Funktionsaufrufe N510 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,14) N520 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 6)
  • Seite 229 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 230 Schutzbereiche 3.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits (CALCPOSI) Bei bestimmten kinematischen Transformationen (z.B. TRANSMIT) kann die Position der Maschinenachsen aus den Positionen im Werkstückkoordinatensystem (WKS) nicht eindeutig bestimmt werden (Mehrdeutigkeit). Im normalen Verfahrbetrieb ergibt sich die Eindeutigkeit in der Regel aus der Vorgeschichte und der Bedingung, dass einer kontinuierlichen Bewegung im WKS eine kontinuierliche Bewegung der Maschinenachsen entsprechen muss.
  • Seite 231: 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 232 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 233: 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 234 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 235 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Knotenabstand (nur B-Spline): Die Knotenabstände werden intern geeignet berechnet. Die Steuerung kann aber auch vorgegebene Knotenabstände verarbeiten, die mit dem Befehl als sog. Parameter-Intervall- Länge angegeben werden.
  • Seite 236: Beispiele

    Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Randbedingungen ● Die Werkzeugradiuskorrektur ist einsetzbar. ● Kollisionsüberwachung erfolgt in der Projektion auf die Ebene. Beispiele Beispiel 1: B-Spline Programmcode 1 (alle Gewichte 1) N10 G1 X0 Y0 F300 G64 N20 BSPLINE N30 X10 Y20...
  • Seite 237 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 238 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 239 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) In der folgenden Abbildung sind neben der Spline-Kurve, die aus dem Programmbeispiel resultiert (ASPLINE), auch die Spline-Kurven enthalten, die sich bei Aktivierung einer B- oder C-Spline-Interpolation ergeben hätten (BSPLINE, CSPLINE): Weitere Informationen Vorteile der Spline-Interpolation...
  • Seite 240 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Spline-Typ Eigenschaften und Anwendung A-Spline Eigenschaften: Verläuft exakt durch die vorgegebenen Stützpunkte.  Der Kurvenverlauf ist tangenten- aber nicht krümmungsstetig.  Erzeugt kaum ungewollte Schwingungen. ...
  • Seite 241 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 242 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 243 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 verbinden Satzendpunkte mit Splines. Dazu ASPLINE BSPLINE CSPLINE 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 244 Spezielle Wegbefehle 4.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) Zusammenfassung kurzer Spline-Sätze Bei der Spline-Interpolation können kurze Spline-Sätze entstehen, die zu einer unnötigen Reduzierung der Bahngeschwindigkeit führen. Mit der Funktion "Zusammenfassung kurzer Spline-Sätze" können diese Sätze so zusammengefasst werden, dass die resultierende Satzlänge ausreichend groß...
  • Seite 245: 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 nicht explizit programmiert, so werden die ersten drei Achsen des Kanals SPLINEPATH als Spline-Verbund verfahren.
  • Seite 246: 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 247: 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 248: Bedeutung

    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...
  • Seite 249: 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 250: 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 ( ) nicht um eine POLY Spline-Interpolationsart. Sie ist in erster Linie als Schnittstelle für die Programmierung extern erzeugter Spline-Kurven gedacht.
  • Seite 251: Ein-/Ausschalten Der Polynom-Interpolation

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

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

    Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Beschreibung Die allgemeine Form der Polynom-Funktion lautet: f(p)= a p + a +. . . + a mit: : konstante Koeffizienten p: Parameter In der Steuerung können maximal Polynome 5. Grades programmiert werden: f(p)= a p + a Durch Belegen der Koeffizienten mit konkreten Werten sind verschieden Kurvenverläufe, wie...
  • Seite 255 Spezielle Wegbefehle 4.5 Polynom-Interpolation (POLY, POLYPATH, PO, PL) Aus den programmierten Werten berechnen sich X(p) und Y(p) zu: X(p) = (10 - 10 * p ) / (1 + p Y(p) = 20 * p / (1 + p mit 0 ≤ p ≤ 1 Aufgrund der programmierten Anfangspunkte, Endpunkte, Koeffizient a und PL=1 ergeben sich folgende Zwischenergebnisse:...
  • Seite 256: Einstellbarer Bahnbezug (Spath, Upath)

    Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Einstellbarer Bahnbezug (SPATH, UPATH) Funktion Während Polynominterpolation können vom Anwender zwei unterschiedliche Beziehungen zwischen den geschwindigkeitsbestimmenden FGROUP-Achsen und den übrigen Bahnachsen gewünscht sein: Letztere sollen entweder synchron zum Bahnweg S oder synchron zum Kurvenparameter U der FGROUP-Achsen geführt werden. Beide Arten der Bahninterpolation werden in unterschiedlichen Applikationen gebraucht und können durch die beiden in der 45.
  • Seite 257 Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Beispiele 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 das achsspezifische Maschinendatum MD33100 $MA_COMPRESS_POS_TOL[<n>] für jede Achse festgelegt.
  • Seite 258: Weitere Informationen

    Spezielle Wegbefehle 4.6 Einstellbarer Bahnbezug (SPATH, UPATH) Programmcode N10 G1 X0 A0 F1000 SPATH N20 POLY PO[X]=(10,10) A10 Bzw.: Programmcode N10 G1 X0 F1000 UPATH N20 POLY PO[X]=(10,10) A10 Im Satz hängt der Weg S der FGROUP-Achsen vom Quadrat des Kurvenparameters U ab.
  • Seite 259: 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 260 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 muss im NC-Programm an geeigneter Stelle ein Vorlaufstopp programmiert STOPRE...
  • Seite 261 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 (n = Nummer des Messtasters) abgefragt werden: $AC_MEA[n]...
  • Seite 262: 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 bzw. werden für die jeweils programmierte Achse bis zu vier MEASA MEAWA Messwerte pro Messung erfasst und passend zum Trigger-Ereignis in Systemvariablen...
  • Seite 263 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Hinweis sind satzweise wirksam und können zusammen in einem Satz programmiert MEASA MEAWA werden. Wird dagegen zusammen mit in einem Satz programmiert, MEASA MEAWA MEAS MEAW kommt es zu einer Fehlermeldung. Bedeutung MEASA Befehl: Axiales Messen mit Restweglöschen...
  • Seite 264 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Beispiele Beispiel 1: Axiales Messen mit Restweglöschen im Modus 1 (Auswertung in zeitlicher Reihenfolge) a) mit 1 Messsystem Programmcode Kommentar N100 MEASA[X]=(1,1,-1) G01 X100 F100 ; Messen im Modus 1 mit aktivem Messsystem.
  • Seite 265 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 266 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 267 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 268 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 269 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Hinweis ist nicht in Synchronaktionen programmierbar. Ersatzweise kann plus MEASA MEAWA Restweglöschen als Synchronaktion programmiert werden. Wird der Messauftrag mit aus den Synchronaktionen gestartet, sind die Messwerte nur MEAWA im Maschinen-Koordinatensystem verfügbar. Messergebnisse für MEASA, MEAWA Die Messergebnisse stehen unter folgenden Systemvariablen zur Verfügung: ●...
  • Seite 270 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) Messauftrag mit 2 Messsystemen Wird ein Messauftrag mit zwei Messsystemen durchgeführt, wird jedes der beiden möglichen Trigger-Ereignisse von beiden Messsystemen der jeweiligen Achse erfasst. Die Belegung der reservierten Variablen ist damit vorgegeben: $AA_MM1[<Achse>] bzw.
  • Seite 271 Spezielle Wegbefehle 4.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option) FIFO-Speicher ist ein Umlaufspeicher, in den Messwerte im Umlaufprinzip in $AC_FIFO- Variablen eingetragen werden, siehe Kapitel "Bewegungssynchronaktionen". Hinweis Der FIFO-Inhalt kann nur einmal aus dem Umlaufspeicher ausgelesen werden. Zur Mehrfachverwendung der Messdaten müssen diese in den Anwenderdaten zwischengespeichert werden.
  • Seite 272: 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 273: 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 274: 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 275 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 276: 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 277 Spezielle Wegbefehle 4.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) Zusätzliches Toleranzfenster für IPOBRKA Zum bereits bestehenden Satzwechselkriterium in der Bremsrampe kann auch ein zusätzliches Satzwechselkriterium "Toleranzfenster" angewählt werden. Die Freigabe erfolgt erst, wenn die Achse: ● wie bisher den vorgegebenen %-Wert ihrer Bremsrampe erreicht hat ●...
  • Seite 278: Programmierbarer Servo-Parametersatz (Scpara)

    Spezielle Wegbefehle 4.12 Programmierbarer Servo-Parametersatz (SCPARA) 4.12 Programmierbarer Servo-Parametersatz (SCPARA) Funktion kann der Parametersatz (bestehend aus MDs) im Teileprogramm und in SCPARA 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 279: Koordinatentransformationen (Frames)

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

    Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable 5.1.1 Vordefinierte Framevariable ($P_BFRAME, $P_IFRAME, $P_PFRAME, $P_ACTFRAME) $P_BFRAME Aktuelle Basisframevariable, die den Bezug zwischen Basiskoordinatensystem (BKS) und Basis-Nullpunktsystem (BNS) herstellt. Soll der durch $P_UBFR beschriebene Basisframe sofort im Programm wirksam werden, muss entweder ● ein programmiert werden oder G500 G54...G599...
  • Seite 282 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable $P_IFRAME Aktuelle, einstellbare Framevariable, die den Bezug zwischen Basis-Nullpunktsystem (BNS) und Einstellbarem Nullpunktsystem (ENS) herstellt. ● entspricht $P_IFRAME $P_UIFR[$P_IFRNUM] ● enthält nach Programmierung von z. B. G54 die durch definierte $P_IFRAME Translation, Rotation, Skalierung und Spiegelung. Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 283 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. enthält den resultierenden Frame, der sich $P_PFRAME ● aus der Programmierung von TRANS/ATRANS ROT/AROT SCALE/ASCALE MIRROR/AMIRROR bzw. ●...
  • Seite 284 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Falls oder verändert werden, wird $P_BFRAME $P_IFRAME $P_PFRAME $P_ACTFRAME berechnet. entspricht $P_ACTFRAME $P_BFRAME $P_IFRAME $P_PFRAME Basisframe und einstellbarer Frame wirken nach Reset, wenn das MD 20110 RESET_MODE_MASK folgendermaßen eingestellt ist: Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 285 Koordinatentransformationen (FRAMES) 5.1 Koordinatentransformation über Framevariable Bit0=1, Bit14=1 --> (Basisframe) wirkt $P_UBFR Bit0=1, Bit5=1 --> (einst. Frame) wirkt $P_UIFR[$P_UIFRNUM] Vordefinierte einstellbare Frames $P_UBFR Mit $P_UBFR wird der Basisframe programmiert, er wird aber nicht gleichzeitig im Teileprogramm aktiv. Der mit $P_UBFR geschriebene Basisframe wird eingerechnet, wenn ●...
  • Seite 286: 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 287: 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 288: Beschreibung

    Koordinatentransformationen (FRAMES) 5.2 Framevariablen/Frames Werte zuweisen Beschreibung Sie können mehrere Rechenvorschriften nacheinander programmieren. Beispiel: $P_PFRAME=CTRANS(...):CROT(...):CSCALE... Beachten Sie, dass die Befehle durch den Kettungsoperator Doppelpunkt (…):(…) miteinander verbunden werden müssen. Dadurch werden die Befehle erstens miteinander verknüpft und zweitens in der programmierten Reihenfolge additiv ausgeführt. Hinweis Die mit den genannten Befehlen programmierten Werte werden den Frames zugewiesen und abgespeichert.
  • Seite 289: 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 290: Verknüpfung Von Kompletten Frames

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

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

    Koordinatentransformationen (FRAMES) 5.3 Grob- und Feinverschiebung (CFINE, CTRANS) Grob- und Feinverschiebung (CFINE, CTRANS) Funktion Feinverschiebung Mit dem Befehl kann eine Feinverschiebung des Basisframes und aller CFINE(X, ...,Y ...) einstellbaren Frames programmiert werden. Eine Feinverschiebung kann nur erfolgen, wenn das MD18600 $MN_MM_FRAME_FINE_TRANS=1 ist.
  • Seite 294 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 295: 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 296: 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 297 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, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 298: 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 299 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 300 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 301 Koordinatentransformationen (FRAMES) 5.6 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME) Programmcode Kommentar N620 SHOW_MCS_POS3[1]=$AA_IM[Y] N630 SHOW_MCS_POS3[2]=$AA_IM[Z] 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 liefert ein Korrekturframe.
  • Seite 302: 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 303: Kanalspezifische Frames ($P_Chbfr, $P_Ubfr)

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

    Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames 5.7.2 Im Kanal wirksame Frames Funktion Im Kanal wirksame Frames werden vom Teileprogramm über die betreffenden Systemvariablen dieser Frames eingegeben. Hierzu gehören auch Systemframes. Über diese Systemvariablen kann im Teileprogramm das aktuelle Systemframe gelesen und geschrieben werden.
  • Seite 305 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames $P_CHBFRAME[n] Aktuelle Kanal-Basisframes Über die Systemvariable können die aktuellen Kanal-Basisframe- $P_CHBFRAME[n] 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 306 Koordinatentransformationen (FRAMES) 5.7 NCU-globale Frames $P_CHBFRMASK und $P_NCBFRMASK Gesamt-Basisframe Über die Systemvariable kann der Anwender auswählen, $P_CHBFRMASK $P_NCBFRMASK 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 307 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. entspricht $P_ACTFRAME $P_PARTFRAME...
  • Seite 308 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, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 309: 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 310 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 311 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 312: 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 313 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 314 Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Kinematische Transformationen TRANSMIT, TRACYL und TRAANG Für Fräsbearbeitungen an Drehmaschinen oder einer schräg zustellbaren Achse beim Schleifen gelten abhängig von der Transformation im Standardfall folgende Achsanordnungen: TRANSMIT Aktivierung der Polar-Transformation stirnseitige Bearbeitung in eine Rundachse der Drehaufspannung eine Zustellachse senkrecht zur Drehachse eine Längsachse parallel zur Drehachse...
  • Seite 315: Beispiel Drei-, Bis Fünf-Achs-Transformation Bei Einen Kardanischen Fräskopf

    Transformationen 6.1 Allgemeine Programmierung der Transformationsarten Beispiel Drei-, bis Fünf-Achs-Transformation bei einen Kardanischen Fräskopf Die Werkzeugmaschine hat mindestens 5 Achsen, davon ● Drei translatorische Achsen für geradlinige Bewegungen, die den Arbeitspunkt an jede beliebige Position im Arbeitsaum bewegen. ● Zwei rotatorische Schwenkachsen, die unter einem projektierbaren Winkel (meist 45 Grad) angeordnet sind, ermöglichen dem Werkzeug Orientierungen im Raum einzunehmen, die sich bei 45 Grad Anordnung auf eine Halbkugel beschränken.
  • Seite 316 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 317: 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 318 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 319 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 320: Drei, Vier, Und Fünf- Achs-Transformation (Traori)

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

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 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. Beispiel: ; wenn nur ein einziger Offset eingegeben werden soll TRAORI(, , , ,A,B) Alternativ zur direkten Programmierung kann der zusätzliche Offset für Orientierungsachsen auch aus der momentan aktiven Nullpunktverschiebung automatisch übernommen werden.
  • Seite 322: Grundstellung Der Werkzeugorientierung Orireset

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 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. A, B, C direkte Angabe der Maschinenachspositionen 2. A2, B2, C2 Winkelprogrammierung virtueller Achsen über Eulerwinkel oder RPY-Winkel 3.
  • Seite 323: Programmierung Der Werkzeugorientierung (A

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung der Drehungen LEAD, TILT und THETA Die Drehungen der Werkzeugorientierung werden bei der Drei- bis Fünf-Achs- Transformation mit den Voreilwinkel LEAD und den Seitwärtswinkel TILT programmiert. Bei einer Transformation mit dritter Rundachse sind sowohl für die Orientierung mit Vektorkomponenten als auch mit Angabe der Winkel LEAD, TILT zusätzliche Programmierungen von C2 (Verdrehungen des Orientierungsvektors) erlaubt.
  • Seite 324 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 325 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Parameter G..Angabe der Bewegungsart der Rundachsen X Y Z Angabe der Linearachsen A B C Angabe der Maschinenachspositionen der Rundachsen A2 B2 C2 Winkelprogrammierung (Euler- oder RPY-Winkel) virtueller Achsen bzw. Orientierungsachsen A3 B3 C3 Angabe der Vektorkomponenten Richtungsvektors A4 B4 C4 Angabe z.
  • Seite 326 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) 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: über Euler-Winkel ORIEULER über RPY-Winkel (Drehreihenfolge ZYX)
  • Seite 327: 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 programmierten Werte werden als A2, B2, C2 RPY-Winkel (in Grad) interpretiert. Hinweis Im Gegensatz zur Eulerwinkel-Programmierung haben hier alle drei Werte Einfluss auf den Orientierungsvektor.
  • Seite 328 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Programmierung des Richtungsvektors Die Komponenten des Richtungsvektors werden mit programmiert. Der Vektor A3, B3, C3 zeigt in Richtung Werkzeugaufnahme; die Länge des Vektors ist dabei ohne Bedeutung. Nicht programmierte Vektorkomponenten werden gleich Null gesetzt. Programmierung der Werkzeugorientierung mit LEAD= und TILT= Die resultierende Werkzeugorientierung wird ermittelt aus: ●...
  • Seite 329: Stirnfräsen (3D-Fräsen A4, B4, C4, A5, B5, C5)

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Definition der Werkzeugorientierung mit LEAD= und TILT= 6.2.5 Stirnfräsen (3D-Fräsen A4, B4, C4, A5, B5, C5) Funktion Stirnfräsen dient zur Bearbeitung beliebig gekrümmter Oberflächen. Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 330 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Für diese Art des 3D-Fräsens benötigen Sie die zeilenweise Beschreibung der 3D-Bahnen auf der Werkstückoberfläche. Die Berechnungen werden unter Berücksichtigung der Werkzeugform und Werkzeugabmessungen üblicherweise im CAM durchgeführt. Die fertig berechneten NC- Sätze werden dann über Postprozessoren in die Steuerung eingelesen. Programmierung der Bahnkrümmung Beschreibung der Flächen Die Beschreibung der Bahnkrümmung erfolgt über Flächennormalenvektoren mit folgenden...
  • Seite 331: 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 eingestellt werden. ORIMKS ORIWKS 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 332 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) ist die Werkzeugbewegung von der Maschinenkinematik unabhängig. Bei ORIWKS Orientierungsänderung mit raumfester Werkzeugspitze bewegt sich das Werkzeug in der vom Anfangs- und Endvektor aufgespannten Ebene. Singuläre Stellungen Hinweis ORIWKS Orientierungsbewegungen im Bereich der singulären Stellung der Fünf-Achs-Maschine erfordern große Bewegungen der Maschinenachsen.
  • Seite 333: 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 334 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) ORIEULER Orientierungsprogrammierung über Euler-Winkel ORIRPY Orientierungsprogrammierung über RPY-Winkel. Die Drehreihenfolge ist XYZ, wobei gilt: A2 ist der Drehwinkel um X B2 ist der Drehwinkel um Y C2 ist der Drehwinkel um Z ORIRPY2 Orientierungsprogrammierung über RPY-Winkel.
  • Seite 335: Orientierungsprogrammierung Entlang Einer Kegelmantelfläche (Oriplane, Oriconcw, Oriconccw, Oriconto, Oriconio)

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

    Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Parameter ORIPLANE Interpolation in der Ebene (Großkreisinterpolation) ORICONCW Interpolation auf einer Kegelmantelfläche im Uhrzeigersinn ORICONCCW Interpolation auf einer Kegelmantelfläche gegen Uhrzeigersinn ORICONTO Interpolation auf einer Kegelmantelfläche tangentialer Übergang A6= B6= C6= Programmierung der Drehachse des Kegels (normierter Vektor) NUT=winkel Öffnungswinkel des Kegels in Grad...
  • Seite 338 Transformationen 6.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI) Beschreibung Sollen Orientierungsänderungen auf einer beliebig im Raum liegenden Kegelmantelfläche beschrieben werden, dann muss der Vektor um den die Werkzeugorientierung gedreht werden soll, bekannt sein. Außerdem müssen die Start- und Endorientierung vorgegeben werden. Die Startorientierung ergibt sich aus den vorhergehenden Satz und die Endorientierung muss entweder programmiert oder durch andere Bedingungen festgelegt werden.
  • Seite 339: 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 zu programmieren.
  • Seite 340 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 341: 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 342 Transformationen 6.3 Orientierungspolynome (PO[Winkel], PO[Koordinate]) Bedeutung PO[PHI] Winkel in der Ebene zwischen Start- und Endorientierung PO[PSI] Winkel der die Auskippung der Orientierung aus der Ebene zwischen Start- und Endorientierung beschreibt PO[THT] Drehwinkel der durch Drehung des Drehvektors einer der mit THETA programmierten G-Codes der Gruppe 54 Voreilwinkel LEAD Seitwärtswinkel TILT...
  • Seite 343: 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 344: 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 345 Transformationen 6.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) Beschreibung ORIROTA Der Drehwinkel wird bezüglich einer absolut festgelegten Richtung im Raum THETA interpoliert. Die Grunddrehrichtung erfolgt über Maschinendaten ORIROTR Der Drehwinkel wird relativ zur Ebene, die von der Start- und Endorientierung THETA aufgespannt wird, interpretiert.
  • Seite 346: 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 347 Transformationen 6.5 Bahnrelative Orientierungen können verschiedene Bezüge zur Bahntangente über die drei Winkel ORIPATH/ORIPATHS ● Angabe Vorwärtswinkel bezogen auf die Bahn und Oberfläche LEAD= ● Angabe von Seitwärtswinkel bezogen auf die Bahn und Oberfläche TILT= ● Drehwinkel THETA= für den gesamten Bahnverlauf programmiert werden. Zum Drehwinkel können mit THETA zusätzlich Polynome maximal 5.
  • Seite 348: 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 349: Bahnrelative Interpolation Der Werkzeugdrehung (Orirotc, Theta)

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

    Transformationen 6.5 Bahnrelative Orientierungen Orientierungsprogrammierung über virtuelle ORIVIRT1 Orientierungsachsen ORIVIRT2 (Definition 1), Festlegung nach MD $MC_ORIAX_TURN_TAB_1 (Definition 2), Festlegung nach MD $MC_ORIAX_TURN_TAB_2 Richtungsvektorprogrammierung der Richtungsachse A3= B3= C3= Interpolation in der Ebene (Großkreisinterpolation) ORIPLANE Interpolation auf einer Kegelmantelfläche im Uhrzeigersinn ORICONCW Interpolation auf einer Kegelmantelfläche gegen Uhrzeigersinn ORICONCCW...
  • Seite 352 Transformationen 6.5 Bahnrelative Orientierungen Maschinenhersteller Beachten Sie bitte die Hinweise des Maschinenherstellers zu gegebenenfalls vordefinierten Maschinendaten und Settingdaten mit denen diese Funktion aktiviert wird. Über Maschinendatum ist einstellbar, wie der Abhebevektor interpretiert wird: 1. Im Werkzeugkoordinatensystem wird die Z-Koordinate durch die Werkzeugrichtung definiert.
  • Seite 353: 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 ( ) aktiv und die TRAORI 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 354 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: X=< > Y=< > Z=< > A3=< > B3=< > C3=< > THETA=< > F=< > bzw.
  • Seite 355 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 247) ". 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 356 Transformationen 6.6 Komprimierung der Orientierung (COMPON, COMPCURV, COMPCAD) Programmierung Kommentar DEF INT ANZAHL=60 DEF REAL RADIUS=20 DEF INT COUNTER DEF REAL WINKEL N10 G1 X0 Y0 F5000 G64 $SC_COMPRESS_CONTUR_TOL=0.05 ; Maximale Abweichung der Kontur = 0.05 mm $SC_COMPRESS_ORI_TOL=5 ; Maximale Abweichung der Orientierung = 5 Grad TRAORI COMPCURV...
  • Seite 357: 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 358: Weitere Informationen

    Transformationen 6.7 Glättung des Orientierungsverlaufs (ORISON, ORISOF) Beispiel Programmcode Kommentar TRAORI() ; Einschalten der Orientierungstransformation. ORISON ; Einschalten der Orientierungsglättung. $SC_ORISON_TOL=1.0 ; Toleranz der Orientierungsglättung = 1,0 Grad. X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1...
  • Seite 359: 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 360: Bedeutung

    Transformationen 6.8 Kinematische Transformation TRANSMIT Transformationstypen Für TRANSMIT-Bearbeitungen gibt es zwei einstellbare Ausprägungen: ● im Standardfall mit (TRAFO_TYPE_n = 256) TRANSMIT ● mit zusätzlicher Y-Linearachse (TRAFO_TYPE_n = 257) TRANSMIT Der erweiterte Transformationstyp 257 kann dazu verwendet werden, um z. B. Aufspannkorrekturen eines Werkzeugs mit realer Y-Achse zu kompensieren.
  • Seite 361 Transformationen 6.8 Kinematische Transformation Beispiel Programmcode Kommentar N10 T1 D1 G54 G17 G90 F5000 G94 Werkzeuganwahl N20 G0 X20 Z10 SPOS=45 Anfahren der Ausgangsstellung N30 TRANSMIT TRANSMIT-Funktion aktivieren N40 ROT RPL=–45 Frame einstellen N50 ATRANS X–2 Y10 N60 G1 X10 Y–10 G41 OFFN=1OFFN Vierkant schruppen;...
  • Seite 362: 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 363 Transformationen 6.8 Kinematische Transformation TRACYL Transformationstypen Die Zylindermantelkoordinatentransformation gibt es in drei Ausprägungen: ● 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) TRACYL Die Nutwandkorrektur wird mit über den dritten Parameter parametriert. TRACYL Bei Zylindermantelkurventransformation mit Nutwandkorrektur sollte die für die Korrektur verwendete Achse auf Null (y=0) stehen, damit die Nut mittig zur programmierten...
  • Seite 364 Transformationen 6.8 Kinematische Transformation Bedeutung Aktiviert die erste in den Kanalmaschinendaten vereinbarte TRACYL(d) TRACYL-Funktion. d Parameter für den Arbeitsdurchmesser. Aktiviert die n. in den Kanalmaschinendaten vereinbarte TRACYL (d, n) TRACYL-Funktion. n darf maximal 2 sein, TRACYL(d,1) entspricht TRACYL(d). Wert für den Arbeitsdurchmesser. Der Arbeitsdurchmesser ist der doppelte Abstand zwischen Werkzeugspitze und Drehmitte.
  • Seite 365 Transformationen 6.8 Kinematische Transformation Programmcode Kommentar Geometrie Radius $TC_DP6[1,1]=6. Radius Werkzeugradius $TC_DP7[1,1]=0 Nutbreite b für Nutsäge, Verrundungsradius für Fräswerkzeuge $TC_DP8[1,1]=0 Überstand k nur für Nutsäge $TC_DP9[1,1]=0 $TC_DP10[1,1]=0 $TC_DP11[1,1]=0 Winkel für kegelige Fräswerkzeuge Programmcode Kommentar Verschleiß Längen- und Radiuskorrektur $TC_DP12[1,1]=0 Die restlichen Parameter Basismaß/Adapter bis $TC_DP24=0 Beispiel: Fertigen einer hakenförmigen Nut...
  • Seite 366 Transformationen 6.8 Kinematische Transformation 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 ; Ebenenanwahl Hakenförmige Nut fertigen: Programmcode Kommentar...
  • Seite 367 Transformationen 6.8 Kinematische Transformation Beschreibung Ohne Nutwandkorrektur (Transformationstyp 512): Die Steuerung transformiert die programmierten Verfahrbewegungen des Zylinder- Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen: ● Rundachse ● Zustellachse senkrecht zur Drehachse ● Längsachse parallel zur Drehachse Die Linearachsen stehen senkrecht aufeinander. Die Zustellachse schneidet die Rundachse. Mit Nutwandkorrektur (Transformationstyp 513): Kinematik wie oben, aber zusätzlich –Längsachse parallel zur Umfangsrichtung Die Linearachsen stehen senkrecht aufeinander.
  • Seite 368 Transformationen 6.8 Kinematische Transformation Nutquerschnitt Bei Achskonfiguration 1 sind Nuten längs zur Rundachse nur dann parallel begrenzt, wenn die Nutbreite genau dem Werkzeugradius entspricht. Nuten parallel zum Umfang (Quernuten) sind an Anfang und Ende nicht parallel. Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 369 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 370 Transformationen 6.8 Kinematische Transformation Ein Teileprogramm zum Fräsen einer Nut besteht in der Regel aus folgenden Schritten: 1. Werkzeug anwählen anwählen TRACYL 3. Passende Koordinatenverschiebung (FRAME) anwählen 4. Positionieren programmieren OFFN 6. WRK anwählen 7. Anfahrsatz (Einfahren der WRK und Anfahren der Nutwand) 8.
  • Seite 371: 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 372 Transformationen 6.8 Kinematische Transformation Winkel der schrägstehenden Achse αA Zulässige Werte für α sind: -90 Grad < α < + 90 Grad Transformation aus TRAFOOF Anzahl vereinbarte Transformationen Winkel α weglassen oder Null Wird der Winkel α weggelassen (z. B. ), wird die Transformation mit TRAANG() TRAANG(, n)
  • Seite 373 Transformationen 6.8 Kinematische Transformation Programmcode Kommentar N90 WAITP(Z) ; Pendelachsen als Positionierachsen freigeben N100 TRAFOOF ; Transformation ausschalten N110 G0 Z10 MU=10 ; Freifahren N120 M30 -> in einem Satz programmieren Beschreibung Folgende Bearbeitungen sind möglich: 1. Längsschleifen 2. Planschleifen 3.
  • Seite 374: 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 375: Bedeutung

    Transformationen 6.8 Kinematische Transformation Bedeutung Startposition anfahren Aktiviert Schrägeinstechen Beispiel Programmierung Kommentar N.. G18 ; Winkel für die Schräge Achse programmieren N50 G07 X70 Z40 F4000 ; Startposition anfahren N60 G05 X70 F100 ; Schräg einstechen N70 ... Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 376: 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 377 Transformationen 6.9 Kartesisches PTP-Fahren Bedeutung Die Befehle sind modal wirksam. ist die Standardeinstellung. Während die Programmierung des STAT–Wertes modal gültig ist, wirkt die Programmierung von TU = <...> satzweise. Ein weiterer Unterschied ist auch, dass die Programmierung eines STAT–Wertes sich nur bei Vektorinterpolation auswirkt, während die Programmierung von TU auch bei aktiver Rundachsinterpolation ausgewertet wird.
  • Seite 378 Transformationen 6.9 Kartesisches PTP-Fahren Transformation wieder aktiv N50 X1200 Z400 CP N60 X1000 Z500 A20 N70 M30 Beispiel PTP-Fahren bei generischer 5-Achs Transformation Annahme: Es liegt eine rechtwinklige CA–Kinematik zu Grunde. Programmcode Kommentar TRAORI ; Transformation CA-Kinematik ein ; PTP-Fahren einschalten N10 A3 = 0 B3 = 0 C3 = 1 ;...
  • Seite 379 Transformationen 6.9 Kartesisches PTP-Fahren Programmierung der Achswinkel (TU=) Um Achswinkel < ±360 Grad eindeutig anfahren zu können, muss diese Information mit dem Befehl " " programmiert werden. Die Achsen verfahren auf kürzestem Weg: ● wenn bei einer Position kein programmiert wird, ●...
  • Seite 380 Transformationen 6.9 Kartesisches PTP-Fahren Weiteres Verhalten Betriebsartenwechsel Die Funktion "Kartesisches PTP-Fahren" ist nur in den Betriebsarten AUTO und MDA sinnvoll. Beim Wechsel der Betriebsart nach JOG bleibt die aktuelle Einstellung erhalten. Wenn der G-Code eingestellt ist, werden die Achsen im MKS verfahren. Wenn der G- Code eingestellt ist, werden die Achsen im WKS verfahren.
  • Seite 381: 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 382 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 383: 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 384 Transformationen 6.9 Kartesisches PTP-Fahren Beschreibung PTP und PTPG0 wird bei allen Transformationen berücksichtigt, die abarbeiten können. In allen PTPG0 anderen Fällen ist nicht relevant. PTPG0 G0-Sätze werden im CP-Mode abgefahren. Die Anwahl von bzw. erfolgt im Teileprogramm oder durch die Abwahl von PTPG0 Maschinendatum $MC_GCODE_RESET_VALUES[48]...
  • Seite 385: 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 386: Transformation Abwählen (Trafoof)

    Transformationen 6.11 Transformation abwählen (TRAFOOF) 6.11 Transformation abwählen (TRAFOOF) Funktion Mit dem Befehl werden alle aktiven Transformationen und Frames ausgeschaltet. TRAFOOF 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 387: 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 388 Transformationen 6.12 Verkettete Transformationen (TRACON, 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. Ist an dieser Stelle nichts programmiert, ist das gleichbedeutend mit der Angabe des Wertes 0 oder 1, d.
  • Seite 389: 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 390 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 391 Werkzeugkorrekturen 7.1 Korrekturspeicher Werkzeugparameter $TC-DP1 bis $TC-DP23 mit Konturwerkzeugen Hinweis Die Werkzeugparameter, die in der Tabelle nicht aufgeführt sind wie z.B. $TC_DP7, werden nicht ausgewertet, d. h. ihr Inhalt ist bedeutungslos. Werkzeugparameter Bedeutung Schneiden Dn Bemerkung Nummer (DP) $TC_DP1 Werkzeugtyp 400 bis 599 $TC_DP2 Schneidenlage...
  • Seite 392: 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 393 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 394: 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 395: Additive Korrekturen Löschen (Deldl)

    Werkzeugkorrekturen 7.2 Additive Korrekturen 7.2.3 Additive Korrekturen löschen (DELDL) Funktion Mit dem Befehl werden additive Korrekturen für die Schneide eines Werkzeugs DELDL 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 396: 7.3 Werkzeugkorrektur - Sonderbehandlung

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Werkzeugkorrektur - Sonderbehandlung Funktion Mit den Settingdaten SD42900 bis SD42960 lässt sich die Bewertung der Vorzeichen für Werkzeuglänge und Verschleiß steuern. Das gilt ebenfalls für das Verhalten der Verschleißkomponenten beim Spiegeln von Geometrieachsen oder beim Wechsel der Bearbeitungsebene und auch zur Temperaturkompensation in Werkzeugrichtung.
  • Seite 397 Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Weitere Informationen Wirksamwerden der veränderten Settingdaten Die Neubewertung von Werkzeugkomponenten bei einer Änderung der beschriebenen Settingdaten wird erst wirksam, wenn das nächste Mal eine Werkzeugschneide angewählt wird. Ist ein Werkzeug bereits aktiv und die Bewertung der Daten dieses Werkzeugs soll verändert wirksam werden, muss dieses Werkzeug erneut angewählt werden.
  • Seite 398: Werkzeuglängen Spiegeln

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.1 Werkzeuglängen spiegeln Funktion Mit gesetzten Settingdaten SD42900 $SC_MIRROR_TOOL_LENGTH und SD42910 $SC_MIRROR_TOOL_WEAR ungleich Null können Sie Werkzeuglängenkomponenten und Komponenten der Basismaße mit Verschleißwerten deren zugehörigen Achsen spiegeln. SD42900 $SC_MIRROR_TOOL_LENGTH Settingdatum ungleich Null: Es werden die Werkzeuglängenkomponenten ($TC_DP3, $TC_DP4 und $TC_DP5) und die Komponenten der Basismaße ($TC_DP21, $TC_DP22 und $TC_DP23), deren zugehörige Achsen gespiegelt sind, ebenfalls gespiegelt - durch Vorzeicheninvertierung.
  • Seite 399: Vorzeichenbewertung Verschleiß

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.2 Vorzeichenbewertung Verschleiß Funktion Mit gesetzten Settingdaten SD42920 $SC_WEAR_SIGN_CUTPOS und SD42930 $SC_WEAR_SIGN ungleich Null können Sie die Vorzeichenbewertung der Verschleißkomponenten invertieren. SD42920 $SC_WEAR_SIGN_CUTPOS Settingdatum ungleich Null: Bei Werkzeugen mit relevanter Schneidenlage (Dreh- und Schleifwerkzeuge, Werkzeugtypen 400) hängt die Vorzeichenbewertung der Verschleißkomponenten in der Bearbeitungsebene von der Schneidenlage ab.
  • Seite 400: 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 401 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. Es dreht nur der Vektor der TOWMCS identisch, wenn kein resultierenden Werkzeuglänge TOWSTD...
  • Seite 402 Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung Einrechnung der Verschleißwerte Das Settingdatum SD42935 $SC_WEAR_TRANSFORM legt fest, welche der drei Verschleißkomponenten: ● Verschleiß ● Summenkorrekturen fein ● Summenkorrekturen grob einer Drehung durch eine Adaptertransformation oder einen orientierbaren Werkzeugträger unterworfen werden soll, wenn einer der folgenden G-Codes aktiv ist: ●...
  • Seite 403: Werkzeuglänge Und Ebenenwechsel

    Werkzeugkorrekturen 7.3 Werkzeugkorrektur - Sonderbehandlung 7.3.4 Werkzeuglänge und Ebenenwechsel Funktion Mit gesetzten Settingdaten SD42940 $SC_TOOL_LENGTH_CONST ungleich Null können Sie Werkzeuglängenkomponenten wie Länge, Verschleiß und Basismaß zu den Geometrieachsen für Dreh- und Schleifwerkzeuge bei einen Ebenenwechsel zuordnen. SD42940 $SC_TOOL_LENGTH_CONST Settingdatum ungleich Null: Die Zuordnung der Werkzeuglängenkomponenten (Länge, Verschleiß...
  • Seite 404: 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 405 Werkzeugkorrekturen 7.4 Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) Syntax Online-WZK im Zielkanal ein-/ausschalten: FTOCON FTOCOF Online-WZK schreiben: ● Kontinuierlich satzweise: FCTDEF(<Funktion>,<LLimit>,<ULimit>,<a0>,<a1>,<a2>,<a3>) PUTFTOCF(<Funktion>,<Bezugswert>,<WZ-Parameter>,<Kanal>,<Spindel>) ● diskret: PUTFTOC(<Korrekturwert>,<WZ-Parameter>,<Kanal>,<Spindel>) Bedeutung Online-WZK einschalten FTOCON muss in dem Kanal programmiert werden, in dem die Online-WZK FTOCON wirksam werden soll.
  • Seite 406 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 übereinstimmen. FCTDEF Variabler Bezugswert, von dem die Korrektur <Bezugswert> abgeleitet werden soll (z. B. sich verändernder Istwert).
  • Seite 407 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 408 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 409: 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 410 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 festgelegt und wird durch Frames nicht beeinflusst. CUT3DFF D-Werkzeugkorrektur für das Stirnfräsen mit konstanter Orientierung.
  • Seite 411: Werkzeugkorrektur: Umfangfräsen, Stirnfräsen

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Beispiel Programmcode Kommentar N10 A0 B0 X0 Y0 Z0 F5000 N20 T1 D1 ; Werkzeugaufruf, Werkzeugkorrekturwerte aufrufen. N30 TRAORI(1) ; Transformationsanwahl N40 CUT3DC ; 3D-Werkzeugradiuskorrektur-Anwahl N50 G42 X10 Y10 ; Werkzeugradiuskorrektur-Anwahl N60 X60 N70 … 7.5.2 3D-Werkzeugkorrektur: Umfangfräsen, Stirnfräsen Umfangsfräsen...
  • Seite 412 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 413: 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 414 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Werkzeugdaten Werkzeugparameter Werkzeugmaße Geometrie Verschleiß $TC_DP6 $TC_DP15 $TC_DP7 $TC_DP16 $TC_DP11 $TC_DP20 Werkzeuglängenkorrektur Als Bezugspunkt für die Längenkorrektur gilt die Werkzeugspitze (Schnittpunkt Längsachse/Oberfläche). 3D-Werkzeugkorrektur, Werkzeugwechsel Ein neues Werkzeug mit veränderten Abmessungen (R, r, a) oder anderer Form darf nur mit Programmierung von bzw.
  • Seite 415: 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 416 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Syntax 3D-Werkzeugkorrektur Umfangsfräsen CUT3DC ISD=<Wert> Bedeutung CUT3DC 3D-Werkzeugkorrektur für das Umfangsfräsen aktivieren, z. B. für Taschenfräsen mit schrägen Seitenwänden. Mit dem Befehl wird der Abstand ( ) zwischen Fräserspitze (FS) <Wert> und dem Fräserhilfspunkt (FH) angegeben. Fräserhilfspunkt Der Fräserhilfspunkt (FH) entsteht durch Projektion des programmierten Bearbeitungspunkts auf die Werkzeugachse.
  • Seite 417: Werkzeugkorrektur: Innenecken/Außenecken Und Schnittpunktverfahren (G450/G451)

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Weitere Informationen Taschenfräsen mit schrägen Seitenwänden für Umfangsfräsen mit CUT3DC Bei dieser 3D-Werkzeugradiuskorrektur wird eine Abweichung des Fräserradius kompensiert, indem in Richtung der Flächennormalen der zu bearbeitenden Fläche zugestellt wird. Dabei bleibt die Ebene, in der die Stirnseite des Fräsers liegt unverändert, wenn die Eintauchtiefe gleich geblieben ist.
  • Seite 418 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Syntax G450 G451 Bedeutung G450 Übergangskreis (Werkzeug umfährt Werkstückecken auf einer Kreisbahn) G451 Schnittpunkt der Äquidistanten (Werkzeug schneidet in der Werkstückecke frei) Weitere Informationen Schnittpunktverfahren für 3D-Korrektur Bei 3D-Umfangsfräsen wird jetzt an Außenecken der G-Code ausgewertet, d.
  • Seite 419: 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 420: Bedeutung

    Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) Bedeutung CUT3DCCD Aktivierung der 3D-Werkzeugkorrektur für das Umfangsfräsen mit Begrenzungsflächen mit Differenzwerkzeug auf der Werkzeugsmittelpunktbahn: Zustellung zur Begrenzungsfläche. CUT3DCC Aktivierung der 3D-Werkzeugkorrektur für das Umfangsfräsen mit Begrenzungsflächen mit 3D-Radiuskorrektur: Kontur an der Bearbeitungsfläche Hinweis Werkzugradiuskorrektur mit G41, G42 Für die Werkzeugradiuskorrektur mit bei aktivem...
  • Seite 421 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 422 Werkzeugkorrekturen 7.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...) 3D-Radiuskorrektur mit CUT3DCC, Kontur an der Bearbeitungsfläche mit einem Torusfräser aktiv, so bezieht sich die programmierte Bahn auf einen CUT3DCC fiktiven Zylinderfäser gleichen Durchmessers. Der hieraus resultierende Bahnbezugspunkt ist bei Verwendung eines Torusfräser im folgenden Bild dargestellt. Es ist zulässig, dass der Winkel zwischen Bearbeitungs- und Begrenzungsfläche auch innerhalb eines Satzes von einem spitzen in einem stumpfen Winkel oder umgekehrt übergeht.
  • Seite 423: 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 424 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 Orientierungsglättung nur am Satzanfang Orientierungsglättung am Satzanfang und -ende OSSE Geschwindigkeit der Orientierungsänderung bei eingeschalteter ORIS...
  • Seite 425: Beispiele

    Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Beispiele Beispiel 1: ORIC Sind zwischen den Verfahrsätzen zwei oder mehrere Sätze mit Orientierungsänderungen (z. B. ) programmiert und ist aktiv, so A2=... B2=... C2=... ORIC wird der eingefügte Kreissatz entsprechend dem Betrag der Winkeländerungen auf diese Zwischensätze aufgeteilt.
  • Seite 426 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Beispiel 2: ORID aktiv, so werden alle Sätze zwischen den beiden Verfahrsätzen am Ende des ersten ORID Verfahrsatzes ausgeführt. Der Kreissatz mit konstanter Orientierung wird unmittelbar vor dem zweiten Verfahrsatz ausgeführt. Programmcode Kommentar ORID...
  • Seite 427: Weitere Informationen

    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=… Weitere Informationen Verhalten an Außenecken An einer Außenecke wird immer ein Kreissatz mit dem Radius des Fräsers eingefügt.
  • Seite 428 Werkzeugkorrekturen 7.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, ORIS, OSD, OST) Ist an Außenecken eine Orientierungsänderung notwendig, so kann diese wahlweise parallel zur Interpolation oder getrennt mit der Bahnbewegung erfolgen. werden zunächst die eingefügten Sätze ohne Bahnbewegung ausgeführt. Der ORID Kreissatz wird unmittelbar vor dem zweiten der beiden Verfahrsätze eingefügt, durch welche die Ecke gebildet wird.
  • Seite 429: 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 430: 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 prüfen Sie, ob die vorhandenen D-Nummern eindeutig vergeben CKKDNO 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 431: 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 432: 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 ermitteln Sie zu einer absoluten D-Nummer die dazugehörige T- GETACTTD 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 433: 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 dient zur Unterstützung während dem Umrüsten. So gekennzeichnete DZERO Korrekturdatensätze werden nicht mehr vom Befehl geprüft. Um sie wieder CHKDNO zugänglich zu machen, muss die D-Nummer wieder mit gesetzt werden.
  • Seite 434: 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 vorhanden sind. ● die Drehachsen aufeinander senkrecht stehen. ● die Werkzeuglängsachse senkrecht auf der zweiten Drehachse steht. Zusätzlich gilt bei Maschinen, bei denen alle möglichen Orientierungen einstellbar sein müssen, folgende Forderung: ●...
  • Seite 435 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik 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] $TC_CARR5[m] $TC_CARR6[m] Drehachse $TC_CARR7[m] $TC_CARR8[m] $TC_CARR9[m] Drehachse $TC_CARR10[m] $TC_CARR11[m] $TC_CARR12[m] α Drehwinkel $TC_CARR13[m] α Drehwinkel $TC_CARR14[m] Offsetvector $TC_CARR15[m] $TC_CARR16[m] $TC_CARR17[m] Erweiterungen der Systemvariablen für orientierbare Werkzeugträger Bezeichnung x-Komponente...
  • Seite 436: Erweiterungen Der Parameter

    Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Erweiterungen der Systemvariablen für orientierbare Werkzeugträger Feinver- Parameter, die zu den Werten schiebung in den Basisparameternaddiert werden können. Offsetvector $TC_CARR41[m] $TC_CARR42[m] $TC_CARR43[m] Offsetvector $TC_CARR44[m] $TC_CARR45[m] $TC_CARR46[m] Offsetvector $TC_CARR55[m] $TC_CARR56[m] $TC_CARR57[m] Offsetvector $TC_CARR58[m] $TC_CARR59[m] $TC_CARR60[m] Drehachse $TC_CARR64[m] Drehachse $TC_CARR65[m] Hinweis Erklärungen zu den Parametern...
  • Seite 437 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Parameter der Feinverschiebung $TC_CARR41 bis $TC_CARR65 enthalten Feinverschiebungsparameter, die zu den Werten in den Basisparametern addiert werden können. Der einem Basisparameter zugeordnete Feinverschiebungswert ergibt sich, wenn zur Parameternummer der Wert 40 addiert wird. Beispiel Der im folgenden Beispiel verwendete Werkzeugträger lässt sich durch eine Drehung um die Y-Achse vollständig beschreiben.
  • Seite 438 Werkzeugkorrekturen 7.8 Werkzeugträgerkinematik Programmcode Kommentar N80 X40 ; Bearbeitung unter einer Drehung von 37° durchführen. N90 Y40 N100 X0 N110 Y0 N120 M30 Weitere Informationen Aufgelöste Kinematik Für Maschinen mit aufgelöster Kinematik (sowohl Werkzeug als auch Werkstück sind drehbar) wurden die Systemvariablen um die Einträge $TC_CARR18[m] $TC_CARR23[m] erweitert und wie folgt beschrieben:...
  • Seite 439: 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, TCOFR 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 440 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) 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 441 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFR Neuberechnung der Werkzeuglängenkorrektur (TCOABS) bei Frame-Wechsel Zur Neuberechnung der Werkzeuglängenkorrektur bei Frame-Wechsel muss das Werkzeug nochmals angewählt werden. Hinweis Die Werkzeugorientierung muss dem aktiven Frame manuell angepasst werden. Bei der Berechnung der Werkzeuglängenkorrektur werden in einem Zwischenschritt auch die Drehwinkel des Werkzeugträgers berechnet.
  • Seite 442 Werkzeugkorrekturen 7.9 Werkzeuglängenkorrektur für orientierbare Werkzeugträger (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) Übergabeparameter von Standard- und Messzyklen Für die Übergabeparameter von Standard- und Messzyklen gelten definierte Wertebereiche. Bei Winkelwerten ist der Wertebereich wie folgt festgelegt: ● Drehung um 1. Geometrieachse: -180 Grad bis +180 Grad ●...
  • Seite 443: Online-Werkzeuglängenkorrektur (Toffon, Toffof)

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

    Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Beispiele Beispiel 1: Anwahl der Werkzeuglängenkorrektur Programmcode Kommentar MD21190 $MC_TOFF_MODE =1 ; Absolute Werte werden angefahren. MD21194 $MC_TOFF_VELO[0] =1000 MD21196 $MC_TOFF_VELO[1] =1000 MD21194 $MC_TOFF_VELO[2] =1000 MD21196 $MC_TOFF_ACCEL[0] =1 MD21196 $MC_TOFF_ACCEL[1] =1 MD21196 $MC_TOFF_ACCEL[2] =1 N5 DEF REAL XOFFSET N10 TRAORI(1) ;...
  • Seite 445 Werkzeugkorrekturen 7.10 Online-Werkzeuglängenkorrektur (TOFFON, TOFFOF) Weitere Informationen Satzaufbereitung Bei der Satzaufbereitung im Vorlauf wird der im Hauptlauf wirksame aktuelle Werkzeuglängenoffset mit berücksichtigt. Um die maximal zulässigen Achsgeschwindigkeiten weitgehend ausnutzen zu können, ist es erforderlich, die Satzaufbereitung mit einem Vorlaufstopp anzuhalten, während ein Werkzeugoffset STOPRE aufgebaut wird.
  • Seite 446: 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 447 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Bedeutung CUTMOD Befehl zum Einschalten der Funktion "Schneidendaten-Modifikation bei drehbaren Werkzeugen" <Wert> -Befehl können folgende Werte zugewiesen werden: CUTMOD Die Funktion ist deaktiviert. Die von den Systemvariablen $P_AD... gelieferten Werte sind gleich den korrespondierenden Werkzeugparametern.
  • Seite 448 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Beispiel Das folgende Beispiel bezieht sich auf ein Werkzeug mit der Schneidenlage 3 und einem orientierbaren Werkzeugträger, der das Werkzeug um die B-Achse drehen kann. Die Zahlenwerte in den Kommentaren geben jeweils die Satzendpositionen in Maschinenkoordinaten (MKS) in der Reihenfolge X, Y, Z an.
  • Seite 449 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Erläuterungen: In Satz wird zunächst das Werkzeug bei und nicht gedrehtem orientierbaren N180 CUTMOD=0 Werkzeugträger angewählt. Da alle Offsetvektoren des orientierbaren Werkzeugträgers 0 sind, wird die Position angefahren, die den in angegebenen $TC_DP3[1,1] $TC_DP4[1,1] Werkzeuglängen entspricht.
  • Seite 450 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 bzw.
  • Seite 451 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Modifizierte Schneidendaten: Falls eine Werkzeugdrehung aktiv ist, werden die modifizierten Daten in den folgenden Systemvariablen zur Verfügung gestellt: Systemvariable Bedeutung $P_AD[2] Schneidenlage $P_AD[10] Halterwinkel $P_AD[11] Schnittrichtung $P_AD[24] Freiwinkel Hinweis Die Daten sind gegenüber den korrespondierenden Werkzeugparametern ($TC_DP2[..., ...] usw.) immer dann modifiziert, wenn die Funktion "Schneidendaten-Modifikation bei drehbaren Werkzeugen"...
  • Seite 452 Werkzeugkorrekturen 7.11 Schneidendaten-Modifikation bei drehbaren Werkzeugen (CUTMOD) Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 453: 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 -Anweisung programmierten Winkel kann das Werkzeug relativ zur TANGON Tangente angestellt werden.
  • Seite 454 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Syntax Tangentiale Nachführung definieren: TANG(<FAchse>,<LAchse1>,<LAchse2>,<Koppelfaktor>,<KS>,<Opt>) Tangentialsteuerung einschalten: TANGON(<FAchse>,<Winkel>,<Dist>,<Winkeltoleranz>) Tangentialsteuerung ausschalten: TANGOF(<FAchse>) Funktion "Zwischensatz an Konturecken einfügen" einschalten: TLIFT(<FAchse>) -Anweisung wird im Anschluss an die Achsenzuordnung mit angegeben. TLIFT TANG(…) Funktion "Zwischensatz an Konturecken einfügen" ausschalten: -Anweisung wiederholen ohne folgendes TANG(...) TLIFT(<FAchse>)
  • Seite 455 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Tangentialsteuerung für die angegebene Folgeachse TANGOF ausschalten Funktion "Zwischensatz an Konturecken einfügen" TLIFT einschalten Definition einer Tangentialen Nachführung löschen TANGDEL Folgeachse: Tangential nachgeführte Zusatzrundachse <FAchse> Leitachsen: Bahnachsen, aus denen die Tangente für die <LAchse1>,<LAchse2>...
  • Seite 456 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Beispiele Beispiel 1: Tangentiale Nachführung definieren und einschalten Programmcode Kommentar N10 TANG(C,X,Y,1,"B","P") ; Definition einer tangentialen Nachführung: Rundachse C soll den Geometrieachsen X und Y folgen. N20 TANGON(C,90) ; Die C-Achse ist Folgeachse. Sie wird bei jeder Bewegung der Bahnachsen in eine 90°-Position zur Bahn-Tangente gedreht.
  • Seite 457 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Beispiel 3: Geometrieachsumschaltung und TANGDEL Es wird kein Alarm erzeugt. Programmcode Kommentar N10 GEOAX(2,Y1) ; Y1 ist Geometrieachse 2. N20 TANG(A,X,Y) ; 1.Definition der Tangentialen Nachführung. N30 TANGON(A,90) ; Aktivierung der Nachführung mit Y1 N40 G2 F8000 X0 Y0 I0 J50 N50 TANGOF(A) ;...
  • Seite 458 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Weitere Informationen Folge- und Leitachse definieren Die Definition von Folge- und Leitachsen erfolgt mit TANG Ein Koppelfaktor gibt den Zusammenhang zwischen einer Winkeländerung der Tangente und der nachgeführten Achse an. Sein Wert beträgt in der Regel 1 (Voreinstellung). Grenzwinkel durch Arbeitsfeldbegrenzung Bei hin- und hergeführten Bahnbewegungen springt die Tangente im Umkehrpunkt der Bahn um 180°...
  • Seite 459 Bahnverhalten 8.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TLIFT, TANGDEL) Die Drehung erfolgt mit der maximalen Geschwindigkeit der nachgeführten Achse. Optimierungsmöglichkeit Ist die automatische Optimierung angewählt ( ) und sind für die Folgeachse die <Opt>="P" Parameter Überschleifweg ( ) und Winkeltoleranz ( ) angegeben, dann <Dist>...
  • Seite 460: 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 461: Beispiel: Verschiedene Vorschubprofile

    Bahnverhalten 8.2 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) Beispiel: Verschiedene Vorschubprofile In diesem Beispiel finden Sie die Programmierung und grafische Darstellung verschiedener Vorschubprofile. Programmcode Kommentar N1 F1000 FNORM G1 X8 G91 G64 ; Konstantes Vorschubprofil, Kettenmaßangabe N2 F2000 X7 ; Sprunghafte Sollgeschwindigkeitsänderung N3 F=FPO(4000, 6000, -4000) ;...
  • Seite 462 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 463 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 464 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 oder Der Vorschubverlauf FLIN und FCUB wirkt mit wirkt nicht bei FLIN FCUB G96/G961 G97/G971...
  • Seite 465: 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 466 Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Syntax Tabelle 8- 1 Bearbeitungsabschnitt kennzeichnen: STOPFIFO STARTFIFO Tabelle 8- 2 Automatische Vorlaufspeichersteuerung: FIFOCTRL Tabelle 8- 3 Vorlaufstopp: STOPRE Hinweis Die Befehle müssen im eigenen Satz STOPFIFO STARTFIFO FIFOCTRL STOPRE programmiert werden. Bedeutung kennzeichnet den Beginn eines Bearbeitungsabschnitts, der im STOPFIFO...
  • Seite 467 Bahnverhalten 8.3 Programmablauf mit Vorlaufspeicher (STOPFIFO, STARTFIFO, FIFOCTRL, STOPRE) Hinweis Das Auffüllen des Vorlaufspeichers wird nicht ausgeführt bzw. unterbrochen, wenn der Bearbeitungsabschnitt Befehle enthält, die einen ungepufferten Betrieb erzwingen (Referenzpunktfahren, Messfunktionen, …). Hinweis Beim Zugriff auf Zustandsdaten der Maschine ($SA...) erzeugt die Steuerung internen Vorlaufstopp.
  • Seite 468: 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 469 Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Auswahl einiger Stopp-Ereignisse, die zumindest kurzfristig stoppen: Ereignisname Reaktion Unterbrechungsparameter RESET immediate NST: DB21,… DBX7.7 und DB11, … DBX20.7 PROG_END Alarm 16954 NC-Prog: M30 INTERRUPT delayed NST: FC-9 und ASUP DB10, ... DBB1 SINGLEBLOCKSTOP delayed Einzelsatzbetrieb im Stopp-Delay-Bereich eingeschaltet:...
  • Seite 470 Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Beispiel: Verschachtelung von Stopp-Delay-Bereichen in zwei Programmebenen Programmcode Kommentar N10010 DELAYFSTON() ; Sätze mit N10xxx Programmebene 1. N10020 R1 = R1 + 1 N10030 G4 F1 ; Stop-Delay-Bereich beginnt. N10040 Unterprogramm2 ; Interpretation des Unterprogramms 2. N20010 DELAYFSTON() ;...
  • Seite 471: Vorteile Des Stopp-Delay-Bereiches

    Bahnverhalten 8.4 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF) Programmcode Kommentar N99 MY_LOOP: N100 G0 Z200 N200 G0 X0 Z200 N300 DELAYFSTON() N400 G33 Z5 K2 M3 S1000 N500 G33 Z0 X5 K3 N600 G0 X100 N700 DELAYFSTOF() N800 GOTOB MY_LOOP Details über Satzsuchlauf vom Typ SERUPRO und Vorschübe in Verbindung mit G331/G332 Vorschub bei Gewindebohren ohne Ausgleichsfutter siehe: Literatur:...
  • Seite 472 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 , so wird der größtmögliche MD 11550: STOP_MODE_MASK Stopp-Delay-Bereich gebildet. Folgende Punkte regeln das Zusammenspiel der Sprachbefehle DELAYFSTON DELAYFSTOF mit Verschachtelungen und dem Unterprogrammende: 1.
  • Seite 473: 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 474 Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Beispiel Verschachtelung suchunfähiger Programmabschnitte in zwei Programmebenen mit impliziten . Das implizite in Unterprogramm 1 beendet den IPTRUNLOCK IPTRUNLOCK suchunfähigen Bereich. Programmcode Kommentar N10010 IPTRLOCK() N10020 R1 = R1 + 1 N10030 G4 F1 ;...
  • Seite 475 Bahnverhalten 8.5 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK) Regeln bei Schachtelung Folgende Punkte regeln das Zusammenspiel der Sprachbefehle IPTRLOCK IPTRUNLOCK mit Verschachtelungen und dem Unterprogrammende: 1. Mit dem Ende des Unterprogramms, in dem gerufen wurde, wird implizit IPTRLOCK aktiviert. IPTRUNLOCK in einem suchunfähigen Bereich bleibt ohne Wirkung.
  • Seite 476: 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, RMB, RME, RMN) 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 477 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM 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=… REPOSQ RME DISR=…...
  • Seite 478 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) 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 479 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Beispiel: Anfahren im Viertelkreis anfahren, REPOSQ, REPOSQA Das Werkzeug fährt den Wiederanfahrpunkt auf einem Viertelkreis mit Radius DISR=... Den notwendigen Zwischenpunkt zwischen Start- und Wiederanfahrpunkt berechnet die Steuerung automatisch.
  • Seite 480 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) 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 481 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Wiederanfahrpunkt festlegen (nicht für SERUPRO Anfahren mit RMN) Bezogen auf den NC-Satz, in dem der Programm-Ablauf unterbrochen wurde, können Sie zwischen drei Wiederanfahrpunkten wählen: ● RMI, Unterbrechungspunkt ●...
  • Seite 482 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) Vorzeichen von DISPR Das Vorzeichen von wird ausgewertet. Bei positivem Vorzeichen ist das Verhalten DISPR wie bisher. Bei negativem Vorzeichen wird hinter dem Unterbrechungspunkt bzw. bei hinter dem Startpunkt wieder aufgesetzt.
  • Seite 483 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Anfahren vom nächstliegenden Bahnpunkt RMN Zum Interpretationszeitpunkt von wird nach einer Unterbrechung der REPOSA Wiederanfahrsatz mit nicht noch einmal komplett begonnen, sondern nur der Restweg abgearbeitet.
  • Seite 484 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) 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.
  • Seite 485 Bahnverhalten 8.6 Wiederanfahren an Kontur (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RM Für die Kreisbewegungen REPOSH und REPOSQ gilt: Der Kreis wird in der angegebenen Arbeitsebene 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 486: Beeinflussung Der Bewegungsführung

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

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Beispiel Programmcode Kommentar N60 JERKLIM[X]=75 ; Der Achsschlitten in X-Richtung soll nur mit maximal 75% des für die Achse zulässigen Rucks beschleunigt/verzögert werden. 8.7.2 Prozentuale Geschwindigkeitskorrektur (VELOLIM) Funktion Mit dem NC-Befehl kann die per Maschinendatum eingestellte maximal mögliche VELOLIM Geschwindigkeit einer Achse/Spindel im Achsbetrieb bzw.
  • Seite 488 Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Bedeutung Befehl zur Geschwindigkeitskorrektur VELOLIM Maschinenachse oder Spindel, deren Geschwindigkeits- oder <Achse/Spindel> Drehzahlgrenzwert angepasst werden soll. VELOLIM für Spindeln Über Maschinendatum (MD30455 $MA_MISC_FUNCTION_MASK, Bit 6) kann für die Programmierung im Teileprogramm eingestellt werden, ob VELOLIM unabhängig von der aktuellen Verwendung als Spindel oder Achse wirkt (Bit 6 = 1) oder getrennt für jede Betriebsart programmierbar sein soll (Bit 6 = 0).
  • Seite 489 Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Hinweis VELOLIM für Spindeln in Synchronaktionen Bei der Programmierung von in Synchronaktionen wird nicht zwischen Spindel- und VELOLIM Achsbetrieb unterschieden. Unabhängig von dem bei der Programmierung verwendeten Bezeichner werden die Drehzahl im Spindelbetrieb und die Geschwindigkeit im Achsbetrieb gleichermaßen limitiert.
  • Seite 490: Programmbeispiel Für Jerklim Und Velolim

    Bahnverhalten 8.7 Beeinflussung der Bewegungsführung Projektierungsdaten für Spindel 1 (AX5): MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[1,AX5]=1000 ; Maximaldrehzahl der Getriebstufe 1 = 1000 U/min MD30455 $MA_MISC_FUNCTION_MASK[AX5] = 64 ; Bit 6 = 1: Die Programmierung wirkt VELOLIM gemeinsam für Spindel- und Achsbetrieb unabhängig vom programmierten Bezeichner.
  • Seite 491: 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 können die über Maschinen- und Settingdaten CTOL OTOL ATOL 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 492 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) ATOL Befehl zum Programmieren einer achsspezifischen Toleranz ist gültig für: ATOL  alle Kompressor-Funktionen  Orientierungsglättung ORISON  alle Überschleifarten außer G641, G644, OSD Name der Achse, für die eine Achstoleranz programmiert werden <Achse>...
  • Seite 493 Bahnverhalten 8.8 Programmierbare Kontur-/Orientierungtoleranz (CTOL, OTOL, ATOL) Programmcode Kommentar CTOL=–1 ; Ab hier wirken wieder Maschinen- und Settingdaten. X... Y... Z... X... Y... Z... X... Y... Z... 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 494 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 495: Toleranz Bei G0-Bewegungen (Stolf)

    Bahnverhalten 8.9 Toleranz bei G0-Bewegungen (STOLF) Toleranz bei G0-Bewegungen (STOLF) G0-Toleranzfaktor G0-Bewegungen (Eilgang, Zustellbewegungen) können im Unterschied zur Werkstückbearbeitung mit größerer Toleranz verfahren werden. Dies hat den Vorteil, dass sich die Abfahrzeiten für G0-Bewegungen verkürzen. Die Einstellung der Toleranzen bei G0-Bewegungen erfolgt durch Projektierung des G0- Toleranzfaktors (MD20560 $MC_G0_TOLERANCE_FACTOR).
  • Seite 496 Bahnverhalten 8.9 Toleranz bei G0-Bewegungen (STOLF) Systemvariablen Der im Teileprogramm bzw. im aktuellen IPO-Satz wirksame G0-Toleranzfaktor ist über Systemvariablen lesbar. ● In Synchronaktionen oder mit Vorlauf-Stopp im Teileprogramm über die Systemvariable: $AC_STOLF Aktiver G0-Toleranzfaktor G0-Toleranzfaktor, der bei der Aufbereitung des aktuellen Hauptlaufsatzes wirksam war.
  • Seite 497: 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 498 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 499 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) Beispiel Das Werkstück soll zweiseitig mit der dargestellten Achskonstellation bearbeitet werden. Dazu bilden Sie 2 Mitschleppverbände. Programmcode Kommentar … N100 TRAILON(V,Y) ; Einschalten des 1. Mitschleppverbandes N110 TRAILON(W,Z,–1) ; Einschalten des 2. Mitschleppverbandes. Koppelfaktor negativ: Mitschleppachse fährt jeweils in entgegengesetzter Richtung wie Leitachse.
  • Seite 500 Achskopplungen 9.1 Mitschleppen (TRAILON, TRAILOF) Dynamikbegrenzung Die Dynamikbegrenzung ist abhängig von der Art der Aktivierung des Mitschleppverbandes: ● Aktivierung im Teileprogramm Erfolgt die Aktivierung im Teileprogramm und sind alle Leitachsen als Programmachsen im aktivierenden Kanal, wird beim Verfahren der Leitachsen die Dynamik aller Mitschleppachsen so berücksichtigt, dass keine Mitschleppachse überlastet wird.
  • Seite 501: 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 502: 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 und den abschließenden Befehl gekennzeichnet ist. CTABDEF CTABEND 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 503 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 504: 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 kann stehen bleiben und wird sofort STOPRE wieder aktiv, sobald der Programmabschnitt nicht mehr zur Tabellendefinition benutzt wird entfernt wurden.
  • Seite 505 Achskopplungen 9.2 Kurventabellen (CTAB) Programmcode Kommentar N130 X100 Y6 ; 3.Stützstelle: Leitwert: 20…100, Folgewert: 0…6 N140 X150 Y6 ; 4.Stützstelle: Leitwert: 100…150, Folgewert: 6…6 N150 X180 Y0 ; 5.Stützstelle: Leitwert: 150…180, Folgewert: 6…0 N200 CTABEND ; Ende der Definition. Die Kurventabelle wird in ihrer internen Darstellung als Polynom maximal 5.Grades erzeugt.
  • Seite 506 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 507 Achskopplungen 9.2 Kurventabellen (CTAB) Aktivierung von ASPLINE, BSPLINE, CSPLINE Wird innerhalb einer Kurventabellendefinition oder CTABDEF CTABEND ASPLINE BSPLINE aktiviert, so sollte vor dieser Spline-Aktivierung mindestens ein Startpunkt CSPLINE programmiert werden. Eine sofortige Aktivierung nach sollte vermieden werden, da CTABDEF sonst der Spline von der aktuellen Achsposition vor der Kurventabellendefinition abhängt. Beispiel: Programmcode CTABDEF(Y,X,1,0)
  • Seite 508: Vorhandensein Einer Kurventabelle Prüfen (Ctabexists)

    Achskopplungen 9.2 Kurventabellen (CTAB) Laden von Kurventabellen über "Abarbeiten von Extern" Beim externen Abarbeiten von Kurventabellen muss die Größe des Nachladebuffers (DRAM) über MD18360 $MN_MM_EXT_PROG_BUFFER_SIZE so gewählt werden, dass die gesamte Kurventabellendefinition gleichzeitig im Nachladebuffer abgelegt werden kann. Die Teileprogrammbearbeitung wird anderenfalls mit einem Alarm abgebrochen. Sprünge der Folgeachse Abhängig von der Einstellung im Maschinendatum: MD20900 $MC_CTAB_ENABLE_NO_LEADMOTION...
  • Seite 509 Achskopplungen 9.2 Kurventabellen (CTAB) Syntax CTABDEL(<n>) CTABDEL(<n>,<m>) CTABDEL(<n>,<m>,<Speicherort>) CTABDEL() CTABDEL(,,<Speicherort>) Bedeutung CTABDEL Befehl zum Löschen von Kurventabellen <n> Nummer (ID) der zu löschenden Kurventabelle Beim Löschen eines Kurventabellenbereichs wird CTABDEL(<n>,<m>) die Nummer der ersten Kurventabelle des Bereichs <n> angegeben. <m> Beim Löschen eines Kurventabellenbereichs wird CTABDEL(<n>,<m>)
  • Seite 510: 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 511: Kurventabellen: Tabelleneigenschaften Ermitteln (Ctabid, Ctabislock, Ctabmemtyp, Ctabperiod)

    Achskopplungen 9.2 Kurventabellen (CTAB) <m> Beim Sperren/Entsperren eines Kurventabellenbereichs wird mit die Nummer CTABLOCK(<n>,<m>) CTABUNLOCK(<n>,<m>) <m> der letzten Kurventabelle des Bereichs angegeben. muss größer sein! <m> <n> <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 512: Bedeutung

    Achskopplungen 9.2 Kurventabellen (CTAB) Bedeutung CTABID Liefert die Tabellennummer, die im angegebenen Speicher als die -te Kurventabelle eingetragen ist. <p> Beispiel: liefert die Nummer der ersten Kurventabelle im CTABID(1,"SRAM") statischen NC-Speicher. Die erste Kurventabelle entspricht dabei der Kurventabelle mit der höchsten Tabellennummer. Hinweis: Wird zwischen aufeinander folgenden Aufrufen von CTABID...
  • Seite 513: 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 514 Achskopplungen 9.2 Kurventabellen (CTAB) Bedeutung Folgeachswert am Anfang der Kurventabelle Nr. lesen CTABTSV <n> Folgeachswert am Ende der Kurventabelle Nr. lesen CTABTEV <n> Leitachswert am Anfang der Kurventabelle Nr. lesen CTABTSP <n> Leitachswert am Ende der Kurventabelle Nr. lesen CTABTEP <n>...
  • Seite 515 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 516: Weitere Informationen

    Achskopplungen 9.2 Kurventabellen (CTAB) Programmcode Kommentar N140 X60 Y10 N150 X80 Y0 N160 CTABEND ; Ende der Tabellendefinition. N200 STARTPOS=CTABSSV(30.0,1,GRADIENT) ; Startposition Y im 2.Segment = 10 N210 ENDPOS=CTABSEV(30.0,1,GRADIENT) ; Endposition Y im 2.Segment = 40 Weitere Informationen Verwendung in Synchronaktionen Alle Befehle zum Lesen von Kurventabellenwerten können auch in Synchronaktionen verwendet werden (siehe auch Kapitel "Bewegungssynchronaktionen").
  • Seite 517 Achskopplungen 9.2 Kurventabellen (CTAB) CTAB bei periodischen Kurventabellen Liegt der angegebene außerhalb des Definitionsbereichs, wird der Leitwert <Leitwert> Modulo des Definitionsbereichs bewertet und der entsprechende Folgewert ausgegeben: Näherungswert für CTABINV Der Befehl benötigt einen Näherungswert für den erwarteten Leitwert. gibt CTABINV CTABINV den Leitwert zurück, der dem Näherungswert am nächsten liegt.
  • Seite 518: 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 519 Achskopplungen 9.2 Kurventabellen (CTAB) CTABMPOL Anzahl der maximal möglichen Kurvenpolynome im angegebenen bestimmen <Speicherort> <n> Nummer (ID) der Kurventabelle <Speicherort> Angabe des Speicherorts (optional) "SRAM" Statischer NC-Speicher "DRAM" Dynamischer NC-Speicher Hinweis: Wenn für diesen Parameter kein Wert programmiert wird, dann wird der mit MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE eingestellte Standard-Speicherort verwendet.
  • Seite 520: 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 521 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 522 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Aktionen Als Aktionen treten in den Synchronaktionen z. B. auf: ● Einkoppeln, LEADON(Folgeachse, Leitachse, Kurventabellen-Nummer) ● Auskoppeln, LEADOF(Folgeachse, Leitachse) ● Istwertsetzen, PRESETON(Achse, Wert) ● Merker setzen, $AC_MARKER[i] = Wert ● Kopplungsart: reeller/virtueller Leitwert ● Anfahren von Achspositionen, POS[Achse] = Wert Bedingungen Als Bedingungen werden digitale schnelle Eingänge, Echtzeitvariablen...
  • Seite 523 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Beschreibung Die Leitwertkopplung erfordert die Synchronisation von Leit- und Folgeachse. Diese Synchronisation kann nur erreicht werden, wenn die Folgeachse bei Einschalten der Leitwertkopplung innerhalb des Toleranzbereiches des aus der Kurventabelle berechneten Kurvenzugs steht. Der Toleranzbereich für die Stellung der Folgeachse ist über Maschinendatum MD 37200: definiert.
  • Seite 524 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Ist- und Sollwertkupplung Die Sollwertkopplung liefert im Vergleich zur Istwertkopplung einen besseren Synchronlauf zwischen Leit- und Folgeachse und ist deshalb standardmäßig voreingestellt. Sollwertkopplung ist nur möglich, wenn Leit- und Folgeachse von derselben NCU interpoliert werden.
  • Seite 525 Achskopplungen 9.3 Axiale Leitwertkopplung (LEADON, LEADOF) Leitwertsimulation bei Sollwertkopplung Über Maschinendatum lässt sich der Interpolator für die Leitachse vom Servo trennen. Damit können bei Sollwertkopplung Sollwerte ohne tatsächliche Bewegung der Leitachse erzeugt werden. Die über Sollwertkopplung erzeugten Leitwerte sind zur Benutzung z. B. in Synchronaktionen aus folgenden Variablen lesbar: - $AA_LEAD_P Leitwert Position...
  • Seite 526: 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 527: Bedeutung

    Achskopplungen 9.4 Elektronisches Getriebe (EG) 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 528: 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 529 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 530 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 gelesen werden. $AA_EG_SYN 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 531: Elektronisches Getriebe Ausschalten (Egofs, Egofc)

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

    Achskopplungen 9.4 Elektronisches Getriebe (EG) 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. Sind alle Leitachseneinflüsse auf diese Weise ausgeschaltet, so wird die Folgeachse zum Stillstand abgebremst.
  • Seite 533: Umdrehungsvorschub (G95) / Elektronisches Getriebe (Fpr)

    Achskopplungen 9.4 Elektronisches Getriebe (EG) 9.4.5 Umdrehungsvorschub (G95) / Elektronisches Getriebe (FPR) Funktion Mit dem -Befehl kann auch die Folgeachse eines Elektronischen Getriebes als vorschubbestimmende Achse des Umdrehungsvorschubes angegeben werden. Für diesen Fall gilt folgendes Verhalten: ● Der Vorschub ist abhängig von der Sollgeschwindigkeit der Folgeachse des Elektronischen Getriebes.
  • Seite 534: 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 535: 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 536 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 ist eine verkürzte Schreibweise COUPOF COUPOFS COUPRES COUPDEL...
  • Seite 537 Achskopplungen 9.5 Synchronspindel Ausschalten einer Kopplung mit Stopp der Folgespindel. COUPOFS Satzwechsel schnellstmöglich mit sofortigen Satzwechsel: COUPOFS(<S2>,<S1>) Satzwechsel erst nach Überfahren der Ausschaltposition: COUPOFS(<S2>,<S1>,<POSFS>) Kopplungsparameter zurücksetzen auf projektierte MD und SD COUPRES Anwenderdefinierte Kopplung löschen COUPDEL Warten Synchronlaufbedingung WAITC (NOC werden auf IPO bei Satzwechsel aufgehoben) Bezeichnung der Folgespindel <FS>...
  • Seite 538: Beispiele

    Achskopplungen 9.5 Synchronspindel Beispiele Beispiel 1: Arbeiten mit Leit- und Folgespindel Programmierung Kommentar ; Leitspindel = Masterspindel = Spindel 1 ; Folgespindel = Spindel 2 N05 M3 S3000 M2=4 S2=500 ; Leitspindel dreht mit 3000 U/min, Folgespindel dreht mit 500 U/min. N10 COUPDEF(S2,S1,1,1,"NOC","Dv") ;...
  • Seite 539 Achskopplungen 9.5 Synchronspindel Beispiel 2: Programmierung einer Differenzdrehzahl Programmierung Kommentar ; Leitspindel = Masterspindel = Spindel 1 ; Folgespindel = Spindel 2 N01 M3 S500 ; Leitspindel dreht mit 500 U/min. N02 M2=3 S2=300 ; Folgespindel dreht mit 300 U/min. N10 G4 F1 ;...
  • Seite 540: Weitere Informationen

    Achskopplungen 9.5 Synchronspindel 3. Kopplung bei stehender Folgespindel mit einschalten COUPON 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 541 Achskopplungen 9.5 Synchronspindel Folgespindel (FS) und Leitspindel (LS) Mit den Achsnamen für die Folge- (FS) und Leitspindel (LS) wird die Kopplung eindeutig bestimmt. Die Achsnamen müssen mit jeder Anweisung programmiert werden. Die COUPDEF anderen Kopplungsparameter sind modal wirksam und müssen nur programmiert werden, wenn sie geändert werden.
  • Seite 542 Achskopplungen 9.5 Synchronspindel Kopplungsart DV, AV VORSICHT Die Kopplungsart darf nur bei ausgeschalteter Kopplung verändert werden! Synchronbetrieb einschalten COUPON, POSFS ● Einschalten der Kopplung mit beliebigem Winkelbezug zwischen LS und FS: – COUPON(S2,S1) – COUPON(S2,S1,<POSFS>) – COUPON(S2) ● Einschalten der Kopplung mit Winkelversatz < POSFS>...
  • Seite 543 Achskopplungen 9.5 Synchronspindel Differenzdrehzahl bei COUPONC Übernahme einer Bewegung zur Differenzdrehzahl Durch das Einschalten einer Synchronspindelkopplung mit wird eine aktuell COUPONC wirksame Drehzahl der Folgespindel ( oder ) überlagert. M3 S... M4 S... Hinweis Freigabe der Überlagerung Eine Überlagern einer Spindeldrehzahl ( oder ) durch M3 S...
  • Seite 544 Achskopplungen 9.5 Synchronspindel Kopplung ausschalten COUPOF kann das Ausschaltverhalten der Kopplung vorgegeben werden: COUPOF ● Ausschalten der Kopplung mit sofortigem Satzwechsel: – (mit Angabe der Leitspindel) COUPOF(S2,S1) – (ohne Angabe der Leitspindel) COUPOF(S2) ● Ausschalten der Kopplung nach Überfahren von Ausschaltpositionen. Der Satzwechsel erfolgt nach dem Überfahren der Ausschaltpositionen.
  • Seite 545 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: Listenhandbuch Systemvariablen Aktueller Winkelversatz Der aktuelle Winkelversatz einer Folgespindel bezüglich der Leitspindel kann über folgende Systemvariable gelesen werden:...
  • Seite 546: 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 547 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Master/Slave-Achsverband trennen und Definition des MASLDEL Verbandes löschen. Slv1, Slv2, ... Slave-Achsen, die von einer Masterachse geführt werden. Masterachse Achse, die in einem Master/Slave-Verband definierte Slave- Achsen führt. Beispiele Beispiel 1: Dynamische Projektierung einer Master/Slave-Kopplung Dynamische Projektierung einer Master/Slave-Kopplung aus dem Teileprogramm heraus: Die nach einer Achscontainerdrehung relevante Achse soll zur Masterachse werden.
  • Seite 548 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Beispiel 3: Kopplungssequenz Lage 3/Container CT1 Damit die Kopplung nach der Containerdrehung mit einer anderen Spindel geschlossen werden kann, muss vorher die alte Kopplung getrennt, die Projektierung gelöscht und die neue Kopplung projektiert werden. Ausgangssituation: Nach Drehung um einen Slot: Literatur:...
  • Seite 549 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 550 Achskopplungen 9.6 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLON, MASLOF, MASLOFS) Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 551: 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 552 Bewegungssynchronaktionen 10.1 Grundlagen Programmierung Eine Synchronaktion steht allein im Satz und wirkt ab dem nächsten ausführbaren Satz einer Maschinenfunktion (z. B. Verfahrbewegung mit Synchronaktionen bestehen aus bis zu 5 Befehlselementen mit unterschiedlichen Aufgaben: Syntax: DO <Aktion1> <Aktion2> … <SCHLÜSSELWORT> <Bedingung> DO <Aktion1> <Aktion2> … ID=<n>...
  • Seite 553: Gültigkeitsbereich Und Bearbeitungsreihenfolge (Id, Ids)

    Bewegungssynchronaktionen 10.1 Grundlagen <Bedingung> Verknüpfungslogik für Hauptlaufvariablen Die Bedingung wird im IPO-Takt geprüft. ID=<n> Identifikationsnummer bzw. Mit der Identifikationsnummer werden der Gültigkeitsbereich IDS=<n> und die Position innerhalb der Bearbeitungsreihenfolge festgelegt. → Siehe " Gültigkeitsbereich und Bearbeitungsreihenfolge " Koordinierung von Synchronaktionen/Technologiezyklen Zur Koordinierung von Synchronaktionen/Technologiezyklen stehen folgende Befehle zur Verfügung: Befehl...
  • Seite 554 Bewegungssynchronaktionen 10.1 Grundlagen Anwendungen ● AC-Schleifen im JOG-Betrieb ● Verknüpfungslogik für Safety Integrated ● Überwachungsfunktionen, Reaktionen auf Maschinenzustände in allen Betriebsarten Bearbeitungsreihenfolge Modal und statisch wirksame Synchronaktionen werden in der Reihenfolge ihrer - bzw. -Nummer ( bzw. ) im Interpolationstakt bearbeitet. ID=<n>...
  • Seite 555: 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 556 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 557: Aktionen (Do)

    Bewegungssynchronaktionen 10.1 Grundlagen Mögliche Bedingungen ● Vergleich von Hauplaufvariablen (analoge/digitale Ein-/Ausgänge, u.a.) ● Boole'sche Verknüpfung zwischen Vergleichsergebnissen ● Berechnung von Echtzeitausdrücken ● Zeit/Entfernung vom Satzanfang ● Entfernung vom Satzende ● Messwerte, Messergebnisse ● Servo-Werte ● Geschwindigkeiten, Achsstatus 10.1.3 Aktionen (DO) Funktion In Synchronaktionen können eine oder mehrere Aktionen programmiert werden.
  • Seite 558: 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 559: Echtzeitausdrücke

    Bewegungssynchronaktionen 10.2 Operatoren für Bedingungen und Aktionen ● Echtzeitausdrücke Programmierung Kommentar ID=1 WHENEVER ($AA_IM[Y]>30) AND Auswahl eines Positions-Fenster ($AA_IM[Y]<40) DO $AA_OVR[S1]=80 ID=67 DO $A_OUT[1]=$A_IN[2] XOR $AN_MARKER[1] 2 boole'sche Signale auswerten ID=89 DO $A_OUT[4]=$A_IN[1] OR ($AA_IM[Y]>10) Ergebnis eines Vergleichs ausgeben ● Hauptlaufvariable indiziert Programmierung Kommentar WHEN…DO $AC_PARAM[$AC_MARKER[1]] = 3...
  • Seite 560: 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 561 Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Datentypen Hauptlaufvariablen können folgende Datentypen haben: Integer für ganzzahlige Werte mit Vorzeichen REAL Real für gebrochenrationale Zahlen BOOL Boolean TRUE und FALSE CHAR ASCII-Zeichen STRING Zeichenkette mit alphanumerischen Zeichen AXIS Achsadressen und Spindeln Vorlaufvariablen können zusätzlich folgenden Datentyp haben: FRAME Koordinatentransformationen Variablen-Felder...
  • Seite 562: 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 563: 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 564: 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 565: Default-Achsbezeichner (No_Axis)

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 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. Dieser Vorgang ist auch über HMI im Bedienbereich "Dienste" > "Anwenderdaten (GUD) definieren und aktivieren" möglich. 10.3.4 Default-Achsbezeichner (NO_AXIS) Funktion...
  • Seite 566: Synchronaktions-Marker ($Ac_Marker[N])

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Beispiel: Definition einer Achsvariablen im Hauptprogramm Programmcode DEF AXIS AXVAR UP( , AXVAR) 10.3.5 Synchronaktions-Marker ($AC_MARKER[n]) Funktion Die Feld-Variable $AC_MARKER[n] kann in Synchronaktionen gelesen, geschrieben werden. Diese Variablen können entweder im Speicher des aktiven oder passiven Filesystems liegen.
  • Seite 567: Rechenparameter ($R[N])

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen 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 Maschinendatum zum Einstellen der Anzahl der Parameter für Bewegungssynchronaktionen bis maximal 20000. Feldindex des Parameters 0n Beispiel für Synchronaktions-Parameter $AC_PARAM[n] Programmcode $AC_PARAM[0]=1.5...
  • Seite 568: Nc-Maschinen- Und Nc-Settingdaten Lesen Und Schreiben

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen Beispiele Programmcode Kommentar WHEN $AA_IM[X]>=40.5 DO $R10=$AA_MM[Y] ; Verwendung von R10 in Synchronaktion. G01 X500 Y70 F1000 STOPRE ; Vorlaufstopp IF R10>20 ; Auswertung der Rechenvariable. Programmcode SYG_AS[2]=X SYG_IS[1]=1 WHEN $AA_IM[SGY_AS[2]]>10 DO $R3=$AA_EG_DENOM[SYG_AS[1]],SYG_AS[2]] WHEN $AA_IM[SGY_AS[2]]>12 DO $AA_SCTRACE[SYG_AS[2]]=1 SYG_AS[1]=X SYG_IS[0]=1 WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[SYG_IS[0]],SYG_AS[1]]...
  • Seite 569 Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen MD- und SD Werte zum Vorlaufzeitpunkt lesen Sie werden aus der Synchronaktion mit den $-Zeichen adressiert und zum Vorlaufzeitpunkt ausgewertet. ID=2 WHENEVER $AA_IM[z]<$SA_OSCILL_REVERSE_POS2[Z]-6 DO $AA_OVR[X]=0 ;Hier wird der als unveränderlich angenommene Umkehrbereich 2 für Pendeln angesprochen MD- und SD Werte zum Hauptlaufzeitpunkt lesen Sie werden aus der Synchronaktion mit den $$-Zeichen adressiert und zum...
  • Seite 570: 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 571: 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 572: 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 573: 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 574 Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen $AC_BLOCKTYPE $AC_BLOCKTYPEINFO Wert: Wert: ungleich 0 Bedeutung: Origi- Zwischensatz Auslöser für Zwischensatz: nalsatz G643 G644 TLIFT-Satz mit: linearer Bewegung der Tangentialachse und ohne Abhebebewegung Nichtlinearer Bewegung der Tangentialachse (Polynom) und ohne Abhebebewegung Abhebebewegung, Tangentialachsbewegung und Abhebebewegung starten gleichzeitig Abhebebewegung, Tangentialachse startet erst, wenn bestimmte Abhebeposition erreicht wird.
  • Seite 575: Beispiel: Zählen Von Überschleifsätzen

    Bewegungssynchronaktionen 10.3 Hauptlaufvariablen für Synchronaktionen $AC_SPLITBLOCK Wert: Bedeutung: Unveränderter programmierter Satz, (ein durch den Kompressor generierter Satz wird auch als programmierter Satz behandelt) Es liegt ein intern generierter Satz oder ein verkürzter Originalsatz vor Es liegt der letzte Satz in einer Kette von intern generierten Sätzen oder verkürzten Originalsätzen vor Beispiel: Zählen von Überschleifsätzen Programmcode...
  • Seite 576: 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 577 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 578 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Synchronaktion Beschreibung DO FXS[Achse]= Fahren auf Festanschlag anwählen DO FXST[Achse]= Klemmmoment verändern DO FXSW[Achse]= Überwachungsfenster verändern DO FOCON[Achse]= Fahren mit begrenztem Moment/Kraft aktivieren (modal) DO FOCOF[Achse]= Fahren mit begrenztem Moment/Kraft deaktivieren (Synchronaktion wirkt satzbezogen) ID=2 EVERY $AC_BLOCKTYPE==0 DO $R1=$AC_TANEB Winkel zwischen Bahntangente im Endpunkt des aktuellen Satzes und der Bahntangente im Startpunkt des programmierten Folgesatzes...
  • Seite 579: 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 580: 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 581: 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 und satzweise (ohne ID-Nummer) WHEN programmiert werden.
  • Seite 582: 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 583: 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 584: 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 585 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Beispiel Polynom für Geradenabschnitt Mit Obergrenze 1000, Untergrenze -1000, dem Ordinatenabschnitt und der =$AA_IM[X] 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. B. der Bahngeschwindigkeit. Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 586: Synchronfunktion (Synfct)

    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 587 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Bedeutung Als Ausgangs-Variable können Variable gewählt werden, die ● mit additiver Beeinflussung ● mit multiplikativer Beeinflussung ● als Positionsoffset ● direkt in den Bearbeitungsvorgang eingehen. DO SYNFCT Aktivierung der Auswertefunktion Polynom-Nr. Mit FCTDEF definiertes Polynom (siehe Unterkapitel "Polynomdefinition") Hauptlaufvariable- Hauptlaufvariable schreiben...
  • Seite 588: Beispiel Ac-Regelung (Multiplikativ)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 1. Polynomdefinition Bestimmung der Koeffizienten y = f(x) = a x + a = -100mm/1 min A = -(-100)*5 =500 = 0 (kein quadratisches und kubisches Glied) Obergrenze = 100 Untergrenze = -100 Daraus folgt: FCTDEF(1,-100,100,500,-100,0,0) 2.
  • Seite 589 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 1. Polynomdefinition Bestimmung der Koeffizienten y = f(x) = a x + a = -100%/(80-30)% = -2 = 100 + (2*30) = 160 = 0 (kein quadratisches und kubisches Glied) Obergrenze = 120 Untergrenze = 0 Daraus folgt: FCTDEF(2,0,120,160,-2,0,0) 2.
  • Seite 590: 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 591 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Hinweis Begrenzung der Geschwindigkeit des überlagerten Interpolators durch MD32020 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 592 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 593: Online-Werkzeugkorrektur (Ftoc)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.9 Online-Werkzeugkorrektur (FTOC) Funktion ermöglicht eine überlagerte Bewegung für eine Geometrieachse nach einem mit FTOC FCTDEF programmierten Polynom in Abhängigkeit von einem Bezugswert, der z. B. der Istwert einer Achse sein kann. Der Koeffizient a der Funktionsdefinition wird bei ausgewertet.
  • Seite 594 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 übereinstimmen. FCTDEF Hauptlaufvariable, zu der ein Funktionswert über <Bezugswert> die mit definierte Polynom-Funktion FCTDEF berechnet werden soll.
  • Seite 595 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 596: 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 597: 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 598: 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 599: 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 600 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen im Aktionsteil der Synchronaktion bestimmt den Positionierweg der Positionierachse eindeutig (metrisch), unabhängig von der Programmumgebung: Programmcode Kommentar N100 R1=0 N110 G0 X0 Z0 N120 WAITP(X) N130 ID=1 WHENEVER $R==1 DO G71 POS[X]=10 N140 R1=1 N150 G71 Z10 F10 ;...
  • Seite 601: 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 602: 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 603: 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 604: Beispiel Achstausch Im Technologiezyklus

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Programmablauf im 2. Kanal: Programmcode Kommentar WHEN TRUE DO GET(Z) ;Z-Achse in den 2. Kanal holen WHENEVER($AA_TYP[Z]==0) DO RDISABLE ;Einlesesperre solange Z-Achse in anderem ;Kanal N210 G4 F0.1 WHEN TRUE DO GET(Z) ;Z-Achse wird NC-Programm-Achse WHENEVER($AA_TYP[Z]<>1) DO RDISABLE ;Einlesesperre bis Z-Achse Programmachse ist...
  • Seite 605 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Ablauf Die zum Aktivierungszeitpunkt der Aktion angeforderte Achse kann bezüglich des GET(Achse) Achstyps für einen Achstausch mit der Systemvariable ($AA_AXCHANGE_TYP[<Achse>] gelesen werden: ● 0: Achse dem NC-Programm zugeordnet ● 1: Achse der PLC zugeordnet oder als Kommandoachse oder Pendelachse aktiv ●...
  • Seite 606 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 607: 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 608: 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 609: 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 610: 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 611: 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 612 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 613: 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 614 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 615 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 616: 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 617: 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 618: Wartemarken Setzen/Löschen (Setm, Clearm)

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 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. Syntax DO SETM(<Marker-Nummer>) DO CLEARM(<Marker-Nummer>) Bedeutung SETM Befehl zum Setzen der Wartemarke für den Kanal Der Befehl kann im Teileprogramm und im Aktionsteil SETM...
  • Seite 619: 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 können Zyklen-Alarme aus Synchronaktionen gesetzt werden. SETAL ●...
  • Seite 620: 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 in Synchronaktionen/Technologiezyklen FXST FXSW programmiert. Die Aktivierung kann ohne Bewegung erfolgen, das Moment wird sofort begrenzt. Sobald die Achse sollwertseitig bewegt wird, wird auf Anschlag überwacht.
  • Seite 621: 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 622: Weitere Informationen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Weitere Informationen Mehrfache Anwahl Wird durch eine fehlerhafte Programmierung die Funktion nach der Aktivierung ) nochmals aufgerufen, wird folgender Alarm ausgelöst: FXS[<Achse>]=1 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 623: 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 624: Auslastungsauswertung Über Zeitbedarf Der Synchronaktionen

    Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen 10.4.30 Auslastungsauswertung über Zeitbedarf der Synchronaktionen Funktion In einem Interpolationstakt müssen sowohl Synchronaktionen interpretiert als auch Bewegungen usw. von der NC berechnet werden. Mit den im Folgenden vorgestellten Systemvariablen können sich Synchronaktionen über die aktuellen Zeitanteile der Synchronaktionen am Interpolationstakt und über die Rechenzeit der Lageregler informieren.
  • Seite 625 Bewegungssynchronaktionen 10.4 Aktionen in Synchronaktionen Die Systemvariablen enthalten immer die Werte des vorhergehenden IPO-Taktes $AN_IPO_ACT_LOAD aktuelle IPO-Rechenzeit (inkl. Synchronaktionen aller Kanäle) $AN_IPO_MAX_LOAD längste IPO-Rechenzeit (inkl. Synchronaktionen aller Kanäle) $AN_IPO_MIN_LOAD kürzeste IPO-Rechenzeit (inkl. Synchronaktionen aller Kanäle) $AN_IPO_LOAD_PERCENT aktuelle IPO-Rechenzeit im Verhältnis zum IPO-Takt (%). $AN_SYNC_ACT_LOAD aktuelle Rechenzeit für Synchronaktionen über alle Kanäle $AN_SYNC_MAX_LOAD...
  • Seite 626: 10.5 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 627 Bewegungssynchronaktionen 10.5 Technologiezyklen Ablauf Technologiezyklen werden gestartet, sobald ihre Bedingungen erfüllt sind. Jede Zeile eines Technologiezyklus wird in einem separaten IPO-Takt abgearbeitet. Bei Positionierachsen werden zur Ausführung mehrere IPO-Takte benötigt. Andere Funktionen werden eintaktig ausgeführt. Im Technologiezyklus erfolgt die Abarbeitung der Sätze sequenziell. Werden im gleichen Interpolationstakt Aktionen aufgerufen, die sich gegenseitig ausschließen, so wird diejenige Aktion aktiv, die von der Synchronaktion mit der höheren ID- Nummer aufgerufen wird.
  • Seite 628 Bewegungssynchronaktionen 10.5 Technologiezyklen Achsprogramm ACHSE_Y: Programmcode POS[Y]=10 FA[Y]=200 POS[Y]=-10 Achsprogramm ACHSE_Z: Programmcode POS[Z]=90 FA[Z]=250 POS[Z]=-90 Beispiel 2: Verschiedene Programmsequenzen im Technologiezyklus Programmcode PROC CYCLE N10 DEF REAL WERT=12.3 N15 DEFINE ABC AS G01 Beide Sätze werden ohne Alarm und ohne Anlegen der Variablen bzw. des Makros überlesen.
  • Seite 629: 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 630: 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 630)").
  • Seite 631: 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 632: Kaskadierungen Von Technologiezyklen

    Bewegungssynchronaktionen 10.5 Technologiezyklen 10.5.5 Kaskadierungen von Technologiezyklen Funktion Es können bis zu 8 Technologiezyklen in Reihe geschaltet abgearbeitet werden. Damit sind in einer Synchronaktion mehrere Technologiezyklen programmierbar. Syntax ID=1 WHEN $AA_IW[X]>50 DO TEC1($R1) TEC2 TEC3(X) Bearbeitungsreihenfolge Die Technologiezyklen werden der Reihe nach (in Kaskade) von links nach rechts gemäß der oben angegebenen Programmierung abgearbeitet.
  • Seite 633: 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 Label, Satznummer GOTO...
  • Seite 634: 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 635 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 636: Synchronaktion Löschen (Cancel)

    Bewegungssynchronaktionen 10.6 Synchronaktion löschen (CANCEL) 10.6 Synchronaktion löschen (CANCEL) Funktion Mit dem Befehl kann eine modal oder statisch wirksame Synchronaktion aus dem CANCEL 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 -Befehl abgebremst werden.
  • Seite 637: 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 ) aktiviert werden. ASUP Betriebsartenwechsel Mit dem Schlüsselwort aktivierte Synchronaktionen bleiben über Betriebsartenwechsel hinaus aktiv.
  • Seite 638: 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 639 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 640 Bewegungssynchronaktionen 10.7 Steuerungsverhalten in bestimmten Betriebszuständen Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 641: 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 642 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 643 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 644 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 wird für implizit Option 4 wirksam. OSCTRL Startposition (im WKS) festlegen, die vor Einschalten des Pendelns angefahren werden soll...
  • Seite 645 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Hinweis Der Befehlsfolge kann auch in einem Satz programmiert OSP1[Z]=... OSNCS[Z]=... werden. Beispiel 2: Pendeln mit Online-Änderung der Umkehrposition Die für das asynchrone Pendeln erforderlichen Settingdaten können im Teileprogramm eingestellt werden.
  • Seite 646 Pendeln 11.1 Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) Die Pendelachse kann: ● Eingangsachse für die dynamische Transformation sein ● Führungsachse bei Gantry- und Mitschleppachsen sein ● verfahren werden: – ohne Ruckbegrenzung ( BRISK oder – mit Ruckbegrenzung ( SOFT oder –...
  • Seite 647: Ü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 648 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Bewegungssynchronaktionen WHEN… … DO wenn…, dann… WHENEVER … DO immer wenn…, dann… Beispiel Im Umkehrpunkt 1 soll keine Zustellung erfolgen. Beim Umkehrpunkt 2 soll die Zustellung bereits im Abstand ii2 vor dem Umkehrpunkt 2 erfolgen und die Pendelachse im Umkehrpunkt nicht auf das Beenden der Teilzustellung warten.
  • Seite 649 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 650 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 651 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 652 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 653 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Unter den gegebenen Annahmen (siehe oben) ergeben sich folgende Anweisungen: Umkehrbereich 1: Immer wenn die aktuelle Position der Pendelachse im MKS gleich der Umkehrposition 1 ist, dann setze den axialen WHENEVER $SA_IM[Z]==$SA_OSCILL_RES Ovberrie der Pendelachse auf 0% und den axialen Override ERVE_POS1[Z] DO $AA_OVR[X] = 0 →...
  • Seite 654 Pendeln 11.2 Über Synchronaktionen gesteuertes Pendeln (OSCILL) Unter den gegebenen Annahmen (siehe oben) ergeben sich z. B. für Umkehrpunkt 1 folgende Anweisungen: 1. Marker setzen: Immer wenn der Restweg für die Teilzustellung der Zustellachse X im WKS gleich Null ist, dann setze den WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[1] = 1 Merker mit Index 1 auf 1.
  • Seite 655: 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 wird die Stanz- bzw. Nibbelfunktion aktiviert. beendet alle stanz- und SPOF nibbelspezifischen Funktionen. Die modal wirksamen Befehle schließen sich gegenseitig aus, d.
  • Seite 656 Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung 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. Für beide Stand- Interfaces ist die volle Stanz-/Nibbel-Funktionalität nutzbar.
  • Seite 657: Beispiele

    Stanzen und Nibbeln 12.1 Aktivierung, Deaktivierung SPIF2 Zweites Stanz-Interface aktivieren Die Hubsteuerung erfolgt über das zweite Paar der schnellen I/O. Hinweis: Nach RESET oder Steuerungshochlauf ist immer das erste Stanz-Interface aktiv. Wird nur ein Stanz-Interface benutzt, so muss dieses nicht programmiert werden.
  • Seite 658 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. kann nur jeweils in einem Kanal aktiviert werden. SONS Wegabhängige Beschleunigung (PUNCHACC) Beispiel: PUNCHACC(2,50,10,100) Lochabstände unter 2mm:...
  • Seite 659 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 660: 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 661 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 662 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 ;...
  • Seite 663: Wegaufteilung Bei Bahnachsen

    Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 12.2.1 Wegaufteilung bei Bahnachsen Länge der Teilstrecke 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 oder SPOF SPP=0...
  • Seite 664 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung Anzahl der Teilstrecken SPN definieren Sie die Anzahl der Teilstrecken, die aus der Gesamtverfahrstrecke erzeugt werden soll. Die Länge der Teilstrecken wird automatisch berechnet. Da satzweise wirksam ist, muss vorher Stanzen oder Nibbeln mit oder aktiviert werden.
  • Seite 665: Wegaufteilung Bei Einzelachsen

    Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung 12.2.2 Wegaufteilung bei Einzelachsen Sind neben den Bahnachsen auch Einzelachsen als Stanz-Nibbel-Achse definiert, so können auch sie der automatischen Wegaufteilung unterliegen. Verhalten der Einzelachse bei SPP Die programmierte Länge der Teilstrecke ( ) bezieht sich grundsätzlich auf die Bahnachsen.
  • Seite 666 Stanzen und Nibbeln 12.2 Automatische Wegaufbereitung Verhalten bei SPN Die programmierte Anzahl von Teilstrecken gilt auch, wenn nicht gleichzeitig eine Bahnachse programmiert ist. Voraussetzung: Einzelachse ist als Stanz-Nibbel-Achse definiert. Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 667: Schleifen

    Schleifen 13.1 Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) Funktion Mit dem Befehl können Sie für Schleifwerkzeuge (Typ 400 - 499) die Geometrie- und TMON Drehzahlüberwachung im NC-Teileprogramm aktivieren. Die Überwachung bleibt aktiv, bis sie im Teileprogramm durch den Befehl abgeschaltet wird. TMOF Hinweis Bitte beachten Sie die Angaben des Maschinenherstellers!
  • Seite 668 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 669: Weitere Funktionen

    Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Funktion wird z. B. bei der Erstellung allgemeingültiger Zyklen verwendet, wenn die Namen der AXNAME Achsen nicht bekannt sind. 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 oder...
  • Seite 670 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 671 Weitere Funktionen 14.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) Beispiel 2: AXSTRING Bei der Programmierung mit AXSTRING[SPI(n)] wird nicht mehr der Achsindex der Achse, der die Spindel zugeordnet ist, als Spindelnummer ausgegeben, sondern es wird der String ausgegeben. "Sn"...
  • Seite 672: 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 673 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 674 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 675 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 676 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 677: 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 678 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED) Bezeichner des Achscontainers, der weitergeschaltet werden soll. <Achscontainer> Mögliche Angaben sind: CT<Containernummer> An die Buchstabenkombination CT wird die Nummer des Achscontainers angehängt. Beispiel: <Containername> MD12750 $MN_AXCT_NAME_TAB eingestellter individueller Name des Achscontainers. Beispiel: A_CONT3 Weitere Informationen Achscontainer Über Achscontainer können zugeordnet werden.
  • Seite 679 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 kann zur Vereinfachung der Inbetriebnahme eingesetzt AXCTSWED() werden. Der Achscontainer dreht sich unter alleiniger Wirkung des aktiven Kanals um die im SD41700 $SN_AXCT_SWWIDTH[<Containernummer>] hinterlegten Container-spezifischen Schrittweite.
  • Seite 680 Weitere Funktionen 14.3 Achscontainer (AXCTSWE, AXCTSWED) Achscontainer-Drehung mit impliziten GET/GETD Bei der Freigabe einer Achscontainer-Drehung werden alle dem Kanal zugeordneten Achscontainer-Achsen mittels bzw. dem Kanal zugeordnet. Eine Abgabe der GETD Achsen ist erst nach der Achscontainer-Drehung wieder erlaubt. Hinweis Dieses Verhalten kann über Maschinendatum eingestellt werden. Bitte beachten Sie die Angaben des Maschinenherstellers.
  • Seite 681: Warten Auf Gültige Achsposition (Waitenc)

    Weitere Funktionen 14.4 Warten auf gültige Achsposition (WAITENC) 14.4 Warten auf gültige Achsposition (WAITENC) Funktion Mit dem Sprachbefehl kann im NC-Programm gewartet werden, bis für die mit WAITENC MD34800 $MA_WAIT_ENC_VALID = 1 projektierten Achsen synchronisierte bzw. restaurierte Achspositionen zur Verfügung stehen. Im Wartezustand kann eine Unterbrechung erfolgen, z.
  • Seite 682 Weitere Funktionen 14.4 Warten auf gültige Achsposition (WAITENC) Programmcode Kommentar IF $P_PROG_EVENT == 4 ; Hochlauf. IF $P_TRAFO <> 0 ; Transformation wurde angewählt. WAITENC ; Warten auf gültige Achspositionen der Orientierungsachsen. TOROTZ ; Z–Achse des WKS in Richtung der Werkzeugachse drehen. ENDIF ENDIF Danach kann das Werkzeug in der Betriebsart JOG durch eine Rückzugsbewegung in...
  • Seite 683: Vorhandenen Nc-Sprachumfang Prüfen (Stringis)

    Weitere Funktionen 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Funktion Mit der Funktion kann geprüft werden, ob der angegebene String als Element STRINGIS( der NC-Programmiersprache im aktuellen Sprachumfang zur Verfügung steht. Definition INT STRINGIS(STRING <Name>) Syntax STRINGIS(<Name>) Bedeutung Funktion mit Rückgabewert STRINGIS...
  • Seite 684 1) Steuerungs-abhängig ist unter Umständen nur eine Untermenge der Siemens NC-Sprachbefehle bekannt, z.B. SINUMERIK 802D sl. Auf diesen Steuerungen wird für Strings, die prinzipiell Siemens NC-Sprachbefehle sind, der Wert 0 zurückgegeben. Dieses Verhalten kann über MD10711 $MN_NC_LANGUAGE_CONFIGURATION verändert werden. Bei MD10711 = 1 wird dann für Siemens NC-Sprachbefehle immer der Wert 100 zurückgegeben.
  • Seite 685 Weitere Funktionen 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Beispiele In den folgenden Beispielen wird angenommen, dass die als String angegebenen NC- Sprachelement, sofern nicht besonders vermerkt, in der Steuerung prinzipiell programmierbar sind. 1. Der String "T" ist als Hilfsfunktion definiert: 400 == STRINGIS("T") 000 == STRINGIS ("T3") 2.
  • Seite 686 Weitere Funktionen 14.5 Vorhandenen NC-Sprachumfang prüfen (STRINGIS) Werkzeugmagazin-Verwaltung Ist die Funktion Werkzeugmagazin-Verwaltung nicht aktiv, liefert STRINGIS für die Systemparameter der Werkzeugmagazin-Verwaltung , unabhängig vom Maschinendatum ● MD10711 $MN_NC_LANGUAGE_CONFIGURATION immer den Wert 000. ISO Modus Ist die Funktion "ISO Modus" aktiv: ●...
  • Seite 687: Funktionsaufruf Isvar Und Maschinendaten Array-Index Lesen

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

    Weitere Funktionen 14.6 Funktionsaufruf ISVAR und Maschinendaten Array-Index lesen Weiterhin muss mindestens der Achsindex bei achsspezifischen Maschinendaten programmiert werden. Anderenfalls wird der Alarm 12400 abgesetzt. Beispiel: Funktionaufruf ISVAR Programmcode Kommentar DEF INT VAR1 DEF BOOL IS_VAR=FALSE ; Übergabeparameter ist allgemeine Variable N10 IS_VAR=ISVAR("VAR1") ;...
  • Seite 689: Kompensationskennlinien Einlernen (Qeclrnon, Qeclrnof)

    Weitere Funktionen 14.7 Kompensationskennlinien einlernen (QECLRNON, QECLRNOF) 14.7 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 690 Weitere Funktionen 14.7 Kompensationskennlinien einlernen (QECLRNON, QECLRNOF) Bedeutung Funktion "Quadrantenfehlerkompensation lernen" einschalten QECLRNON (Achse.1,…4) Funktion "Quadrantenfehlerkompensation lernen" ausschalten QECLRNO Lernzyklus QECLRN.SPF Muster-NC-Programm für Belegen der Systemvariablen und QECDAT.MPF für die Parametrierung des Lernzyklus Muster-NC-Programm für Kreisformtest QECTEST.MPF Beschreibung Die zum Lernen erforderlichen Verfahrbewegungen der Achsen werden mit Hilfe eines NC- Programms generiert.
  • Seite 691: Fenster Aus Dem Teileprogramm Interaktiv Aufrufen (Mmc)

    Weitere Funktionen 14.8 Fenster aus dem Teileprogramm interaktiv aufrufen (MMC) 14.8 Fenster aus dem Teileprogramm interaktiv aufrufen (MMC) Funktion Über den Befehl 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 692: Programmlaufzeit / Werkstückzähler

    Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler 14.9 Programmlaufzeit / Werkstückzähler 14.9.1 Programmlaufzeit / Werkstückzähler (Übersicht) Zur Unterstützung des Werkzeugmaschinenbedieners werden Informationen zur Programmlaufzeit und Werkstückzahl bereitgestellt. Diese Informationen können als Systemvariablen im NC- und/oder PLC-Programm bearbeitet werden. Gleichzeitig stehen diese Informationen für die Anzeige auf der Bedienoberfläche zur Verfügung.
  • Seite 693 Weitere Funktionen 14.9 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 694 Weitere Funktionen 14.9 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.
  • Seite 695 Weitere Funktionen 14.9 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 696 Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler Beispiele Beispiel 1: Zeitdauer von "mySubProgrammA" messen Programmcode N50 DO $AC_PROG_NET_TIME_TRIGGER=2 N60 FOR ii= 0 TO 300 N70 mySubProgrammA N80 DO $AC_PROG_NET_TIME_TRIGGER=1 N95 ENDFOR N97 mySubProgrammB N98 M30 Nachdem das Programm die Zeile verarbeitet hat, steht in $AC_OLD_PROG_NET_TIME die Nettolaufzeit von "mySubProgrammA".
  • Seite 697: Werkstückzähler

    Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler 14.9.3 Werkstückzähler Funktion Die Funktion "Werkstückzähler" stellt diverse Zähler zur Verfügung, die insbesondere für die steuerungsinterne Zählung von Werkstücken verwendet werden können. Die Zähler existieren als kanalspezifische Systemvariablen mit Schreib- und Lese-Zugriff im Wertebereich von 0 bis 999 999 999. Systemvariable Bedeutung $AC_REQUIRED_PARTS...
  • Seite 698 Weitere Funktionen 14.9 Programmlaufzeit / Werkstückzähler Literatur Weitere Informationen zur Funktion "Werkstückzähler" siehe: ● Funktionshandbuch Grundfunktionen; BAG, Kanal, Programmbetrieb, Reset-Verhalten (K1), Kapitel: Werkstückzähler Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 699: 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 700 Weitere Funktionen 14.10 Alarme (SETAL) Beispiel Programmcode Kommentar N100 SETAL(65000) ; Alarm Nr. 65000 setzen Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 701: 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 702: Konturtabelle Erstellen (Contpron)

    Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) 15.2 Konturtabelle erstellen (CONTPRON) Funktion Mit dem Befehl wird die Konturaufbereitung eingeschaltet. Die nachfolgend CONTPRON 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 703 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Beispiel 1 Erstellen einer Konturtabelle mit: ● Namen "KTAB" ● max. 30 Konturelementen (Kreise, Geraden) ● einer Variablen für die Anzahl auftretender Hinterschnittelemente ● einer Variablen für Fehlermeldungen NC-Programm: Programmcode Kommentar N10 DEF REAL KTAB[30,11] ;...
  • Seite 704 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Programmcode Kommentar N130 EXECUTE(FEHLER) ; Füllen der Konturtabelle beenden, Umschalten auf normalen Programmbetrieb. N140 … ; Weitere Bearbeitung der Tabelle. Konturtabelle KTAB: Index Spalte Zeile (10) 82.40535663 -1111 104.0362435 146.3099325 116.5650512 Erläuterung der Spalteninhalte: Zeiger auf nächstes Konturelement (auf die Zeilennummer desselben) Zeiger auf vorhergehendes Konturelement Codierung des Konturmodus für die Bewegung...
  • Seite 705 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 706 Eigene Abspanprogramme 15.2 Konturtabelle erstellen (CONTPRON) Programmcode Kommentar 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) ; Füllen der Konturtabelle beenden, Umschalten auf normalen Programmbetrieb.
  • Seite 707 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 708: Codierte Konturtabelle Erstellen (Contdcon)

    Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) 15.3 Codierte Konturtabelle erstellen (CONTDCON) Funktion Bei der mit eingeschalteten Konturaufbereitung werden die nachfolgend CONTDCON 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 709 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 710 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Programmcode Kommentar 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 N160 X80 F700 N170 Z-40 F800...
  • Seite 711 Eigene Abspanprogramme 15.3 Codierte Konturtabelle erstellen (CONTDCON) Zeilen 1-n: Einträge der Konturstücke Spalte 0: (Einerstelle): G0 = 0, G1 = 1, G2 = 2, G3 = 3 (Zehnerstelle): G70 = 0, G71 = 1, G700 = 2, G710 = 3 (Hunderterstelle): G90 = 0, G91 = 1 (Tausenderstelle): G93 = 0, G94 = 1, G95 = 2, G96 = 3 (Zehntausenderstelle): G60 = 0, G44 = 1, G641 = 2, G642 = 3...
  • Seite 712: 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 ermittelt den Schnittpunkt von zwei normierten Konturelementen aus mit INTERSEC 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 erzeugten Konturtabellen CONTPRON...
  • Seite 713 Eigene Abspanprogramme 15.4 Schnittpunkt zwischen zwei Konturelementen ermitteln (INTERSEC) Die Übergabe der Konturen erfordert die Einhaltung der mit definierten Werte: CONTPRON Parameter Bedeutung Codierung des Kontur-Mode für die Bewegung Kontur-Anfangpunkt Abszisse Kontur-Anfangpunkt Ordinate Kontur-Endpunkt Abszisse Kontur-Endpunkt Ordinate Mittelpunkskoordinate für die Abszisse (nur bei Kreis-Kontur) Mittelpunkskoordinate für die Ordinate (nur bei Kreis-Kontur) Beispiel Schnittpunkt von Konturelement 3 der Tabelle TABNAME1 und Konturelement 7 der Tabelle...
  • Seite 714: 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 können Sie Konturelemente einer Tabelle, die z. B. mit dem Befehl EXECTAB erzeugt wurde, satzweise abfahren. CONTPRON Syntax EXECTAB(<Konturtabelle>[<Konturelement>]) Bedeutung EXECTAB Befehl zum Abfahren eines Konturelements <Konturtabelle>...
  • Seite 715: Kreisdaten Berechnen (Calcdat)

    Eigene Abspanprogramme 15.6 Kreisdaten berechnen (CALCDAT) 15.6 Kreisdaten berechnen (CALCDAT) Funktion Mit dem Befehl können Sie aus drei oder vier bekannten Kreispunkten den Radius CALCDAT 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 716 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 717: Konturaufbereitung Ausschalten (Execute)

    Eigene Abspanprogramme 15.7 Konturaufbereitung ausschalten (EXECUTE) 15.7 Konturaufbereitung ausschalten (EXECUTE) Funktion Mit dem Befehl wird die Konturaufbereitung abgeschaltet und gleichzeitig in den EXECUTE 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 718 Eigene Abspanprogramme 15.7 Konturaufbereitung ausschalten (EXECUTE) Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 719: Tabellen

    Tabellen 16.1 Liste der Anweisungen Legende: Verweis auf das Dokument, das die ausführliche Beschreibung der Anweisung enthält: PGsl Programmierhandbuch Grundlagen PGAsl Programmierhandbuch Arbeitsvorbereitung BHDsl Bedienhandbuch Drehen BHFsl Bedienhandbuch Fräsen FB1 ( ) Funktionshandbuch Grundfunktionen (mit dem alphanumerischen Kürzel der betreffenden Funktionsbeschreibung in Klammern) FB2 ( ) Funktionshandbuch Erweiterungsfunktionen (mit dem alphanumerischen Kürzel der betreffenden...
  • Seite 720 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Operator für Subtraktion ● ● ● ● Rechenfunktionen (Seite 61) PGAsl < Vergleichsoperator, ● ● ● ● kleiner Rechenfunktionen (Seite 61) PGAsl << Verkettungsoperator für ●...
  • Seite 721 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl ACCLIMA Beeinflussung der ● ● ● ● aktuellen maximalen axialen Beschleunigung PGsl absolute Maßangabe für ● ● ● ● Rundachsen, Position in negativer Richtung anfahren PGAsl ACOS...
  • Seite 722 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Polarwinkel ● ● ● ● PGAsl Zugriffsschutz lesen / ● ● ● ● anzeigen Attribut: Zugriffsrechte (APR, APW, APRP, APWP, APRB, APWB) (Seite 38) PGAsl APRB Zugriffsrecht lesen, BTSS...
  • Seite 723 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl ASIN Rechenfunktion, ● ● ● ● Arcussinus Rechenfunktionen (Seite 61) PGAsl ASPLINE Akima-Spline ○ ○ Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) (Seite 233) PGAsl ATAN2...
  • Seite 724 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl AXTOSPI konvertiert ● ● ● ● Achsbezeichner in einen Achsfunktionen (AXNAME, AX, Spindelindex um SPI, AXTOSPI, ISAXIS, AXSTRING, MODAXVAL) (Seite 669) PGAsl Achsname ●...
  • Seite 725 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl BLSYNC Bearbeitung der ● ● ● ● Interruptroutine soll erst Interruptroutine zuordnen und mit dem nächsten starten (SETINT, PRIO, Satzwechsel beginnen BLSYNC) (Seite 111) PGAsl BNAT Natürlicher Übergang...
  • Seite 726 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Werkzeugorientierung: ● ● ● ● Flächennormalvektor für Stirnfräsen (3D-Fräsen A4, B4, den Satzanfang C4, A5, B5, C5) (Seite 329) PGAsl Werkzeugorientierung: ● ● ●...
  • Seite 727 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl CDOF Kollisionsüberwachung ● ● ● ● PGsl CDOF2 Kollisionsüberwachung ● ● ● ● AUS, bei 3D- Umfangsfräsen PGsl CDON Kollisionsüberwachung ● ● ● ●...
  • Seite 728 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Fase; ● ● ● ● Wert = Länge der Fase in Bewegungsrichtung PGAsl Inkrementelles Anfahren ● ● ● ● einer Position Codierte Positionen anfahren (CAC, CIC, CDC, CACP, CACN) (Seite 231) PGsl...
  • Seite 729 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl COMPON Kompressor EIN ○ ○ NC-Satz-Kompression (COMPON, COMPCURV, COMPCAD, COMPOF) (Seite 247) PGAsl CONTDCON Konturdecodierung in ● ● ● ● Tabellenform EIN Codierte Konturtabelle erstellen (CONTDCON) (Seite 708) PGAsl CONTPRON...
  • Seite 730 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl COUPON ELG-Verband / ○ ○ Synchronspindelpaar EIN Synchronspindel: Programmierung (COUPDEF, COUPDEL, COUPON, COUPONC, COUPOF, COUPOFS, COUPRES, WAITC) (Seite 535) PGAsl COUPONC Einschalten ELG- ○...
  • Seite 731 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl CSCALE Maßstabsfaktor für ● ● ● ● mehrere Achsen Rechenfunktionen (Seite 61) PGAsl CSPLINE Kubischer Spline ○ ○ Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) (Seite 233) PGsl...
  • Seite 732 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl CTABFPOL Anzahl der noch möglichen Polynome im Kurventabellen: Speicher Ressourcennutzung prüfen (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) (Seite 518) PGAsl CTABFSEG Anzahl der noch...
  • Seite 733 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl CTABMPOL Anzahl der maximal möglichen Polynome im Kurventabellen: Speicher Ressourcennutzung prüfen (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) (Seite 518) PGAsl CTABMSEG Anzahl der maximal...
  • Seite 734 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl CTABPOLID Anzahl der von der Kurventabelle mit der Kurventabellen: Nummer n verwendeten Ressourcennutzung prüfen Kurvenpolynome (CTABNO, CTABNOMEM, CTABFNO, CTABSEGID, CTABSEG, CTABFSEG, CTABMSEG, CTABPOLID, CTABPOL, CTABFPOL, CTABMPOL) (Seite 518) PGAsl...
  • Seite 735 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl CTABTEV Liefert den Wert der Folgeachse am Kurventabellenwerte lesen Kurventabellen-Ende (CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABSSV, CTABSEV, CTAB, CTABINV, CTABTMIN, CTABTMAX) (Seite 513) PGAsl CTABTMAX Liefert Maximalwert der Folgeachse der...
  • Seite 736 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl CUT2D 2D-Werkzeugkorrektur ● ● ● ● PGsl CUT2DF 2D-Werkzeugkorrektur ● ● ● ● Die Werkzeugkorrektur wirkt relativ zum aktuellen Frame (schräge Ebene). PGAsl CUT3DC 3D-Werkzeugkorrektur Umfangsfräsen...
  • Seite 737 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Werkzeugkorrektur- ● ● ● ● nummer PGsl Bei D0 sind die ● ● ● ● Korrekturen für das Werkzeug unwirksam PGsl Absolut satzweise ●...
  • Seite 738 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 FB1(W1) DELTOOLENV Datensätze zur ● ● ● ● Beschreibung von Werkzeugumgebungen löschen FB1(P1) DIACYCOFA Achsspezifische modale ● ● ● ● Durchmesser- programmierung: AUS in Zyklen PGAsl DIAM90...
  • Seite 739 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Relativ satzweise ● ● ● ● achsspezifische Durchmesser- programmierung PGsl DILF Rückzugsweg (Länge) ● ● ● ● PGAsl DISABLE Interrupt AUS ● ● ●...
  • Seite 740 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Ortsabhängige additive Werkzeugkorrektur an- Additive Korrekturen anwählen wählen (DL, Summen- (DL) (Seite 392) Einrichtekorrektur) PGAsl Schlüsselwort für ● ● ● ● Synchronaktion, löst bei Aktionen (DO) (Seite 557) erfüllter Bedingung Aktion PGsl...
  • Seite 741 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl EGOFC Elektronisches Getriebe kontinuierlich ausschalten Elektronisches Getriebe ausschalten (EGOFS, EGOFC) (Seite 531) PGAsl EGOFS Elektronisches Getriebe selektiv ausschalten Elektronisches Getriebe ausschalten (EGOFS, EGOFC) (Seite 531) PGAsl EGON...
  • Seite 742 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl ENDLOOP Endezeile der Endlos- ● ● ● ● Programmschleife LOOP Endlos-Programmschleife (LOOP, ENDLOOP) (Seite 98) ENDPROC Endezeile eines ● ● ● ● Programms mit der Anfangszeile PROC PGAsl ENDWHILE...
  • Seite 743 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Vorschubwert ● ● ● ● (in Verbindung mit G4 wird mit F auch die Verweilzeit programmiert) PGsl Axialer Vorschub ● ● ● ● PGsl Zustell-Vorschub für ●...
  • Seite 744 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Parameter für Zugriff auf ● ● ● ● Framedaten: Framekomponenten lesen und Feinverschiebung verändern (TR, FI, RT, SC, MI) (Seite 289) PGAsl FIFOCTRL Steuerung des ●...
  • Seite 745 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Mehrere Vorschübe axial PGAsl FNORM Vorschub normal nach ● ● ● ● DIN66025 Vorschubverlauf (FNORM, FLIN, FCUB, FPO) (Seite 460) PGAsl FOCOF Fahren mit begrenztem ○...
  • Seite 746 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl FTOC Werkzeugfeinkorrektur ● ● ● ● ändern Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF, PUTFTOC, FTOCON, FTOCOF) (Seite 404) PGAsl FTOCOF Online wirksame ● ● ● ● Werkzeugfeinkorrektur Online-Werkzeugkorrektur (PUTFTOCF, FCTDEF,...
  • Seite 747 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Ausgleichsbewegung ● ● ● ● beim Schräge Achse (TRAANG) Schrägeinstechschleifen (Seite 371) PGsl Genauhalt - ● ● ● ● Geschwindigkeits- abnahme PGsl Wahl der Arbeitsebene ●...
  • Seite 748 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Axiale programmierbare ● ● ● ● Nullpunktverschiebung absolut, Grobverschiebung PGsl Axiale programmierbare ● ● ● ● Nullpunktverschiebung additiv, Feinverschiebung PGsl Genauhalt - ● ●...
  • Seite 749 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl konstante ● ● ● ● Schnittgeschwindigkeit (wie bei G95) AUS PGsl G110 Polprogrammierung ● ● ● ● relativ zur letzten programmierten Sollposition PGsl G111 Polprogrammierung ●...
  • Seite 750 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl G340 Anfahrsatz räumlich ● ● ● ● (Tiefe und in der Ebene zugleich (Helix)) PGsl G341 Zuerst in der senkrechten ● ● ● ●...
  • Seite 751 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl G642 Bahnsteuerbetrieb mit ● ● ● ● Überschleifen unter Einhaltung definierter Toleranzen PGsl G643 Bahnsteuerbetrieb mit ● ● ● ● Überschleifen unter Einhaltung definierter Toleranzen (satzintern) PGsl G644...
  • Seite 752 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 G952 Umdrehungsvorschub ● ● ● ● und konstante Schnittgeschwindigkeit oder Spindeldrehzahl einfrieren PGsl G961 konstante ● ● ● ● Schnittgeschwindigkeit und Linear-Vorschub PGsl G962 Linear-Vorschub oder ●...
  • Seite 753 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl GETDNO Liefert D-Nummer einer ● ● ● ● Schneide (CE) eines Freie D-Nummernvergabe: D- Werkzeugs (T) Nummern umbenennen (GETDNO, SETDNO) (Seite 431) GETEXET Lesen der ●...
  • Seite 754 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Schlüsselwort zur ● ● ● ● indirekten Indirekte Programmierung von Programmierung von Positionsattributen (GP) Positionsattributen (Seite 57) PGsl GWPSOF Konstante ● ● ● ●...
  • Seite 755 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl INDEX Index eines Zeichens im ● ● ● ● Eingangsstring Zeichen/String in String suchen bestimmen (INDEX, RINDEX, MINDEX, MATCH) (Seite 78) PGAsl INIPO Initialisierung der ●...
  • Seite 756 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl IPOBRKA Bewegungskriterium ab ● ● ● ● Einsatzpunkt der Programmierbares Bremsrampe Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA) (Seite 274) PGAsl IPOENDA Bewegungsende beim ●...
  • Seite 757 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl ISVAR Prüfen, ob der ● ● ● ● Übergabeparameter eine Funktionsaufruf ISVAR und in der NC bekannte Maschinendaten Array-Index Variable enthält lesen (Seite 687) PGsl Interpolationsparameter ●...
  • Seite 758 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 FB1(W1) LENTOAX Liefert Informationen über ● ● ● ● die Zuordnung der Werkzeuglängen L1, L2 und L3 des aktiven Werkzeugs zur Abszisse, Ordinate und Applikate PGsl LFOF Schnellrückzug für...
  • Seite 759 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 BHDsl/BHFsl LONGHOLE Fräsbildzyklus Langlöcher auf einem Kreis PGAsl LOOP Einleitung einer ● ● ● ● Endlosschleife Endlos-Programmschleife (LOOP, ENDLOOP) (Seite 98) PGsl Programmierter Halt ●...
  • Seite 760 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl MASLDEL Master/Slave- ● ● ● ● Achsverband trennen und Master-/Slave-Verband Definition des Verbandes (MASLDEF, MASLDEL, löschen MASLON, MASLOF, MASLOFS) (Seite 546) PGAsl MASLOF Ausschalten einer ●...
  • Seite 761 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 FB2(M5) MEASURE Berechnungsmethode für ● ● ● ● die Werkstück- und Messen mit schaltendem Taster Werkzeugvermessung (MEAS, MEAW) (Seite 259) PGAsl MEAW Messen mit schaltendem ●...
  • Seite 762 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Spezifizierung des ● ● ● ● Gültigkeitsbereichs von Definition von Daten Anwendervariablen (DEF) (Seite 22) PGAsl NEWCONF Geänderte ● ● ● ● Maschinendaten Maschinendaten wirksam setzen übernehmen (entspricht (NEWCONF) (Seite 128)
  • Seite 763 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 OMA1 OEM-Adresse 1 ● ● ● ● OMA2 OEM-Adresse 2 ● ● ● ● OMA3 OEM-Adresse 3 ● ● ● ● OMA4 OEM-Adresse 4 ●...
  • Seite 764 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl/FB3(F5) ORICONTO Interpolation auf einer ● ● ● ● Kreismantelfläche im Orientierungsprogrammierung tangentialen Übergang entlang einer Kegelmantelfläche (Angabe der (ORIPLANE, ORICONCW, Endorientierung) ORICONCCW, ORICONTO, ORICONIO) (Seite 335) PGAsl/FB3(F6) ORICURVE...
  • Seite 765 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl ORIROTA Drehwinkel zu einer ● ● ● ● absolut vorgegebenen Drehungen der Drehrichtung Werkzeugorientierung (ORIROTA, ORIROTR, ORIROTT, ORIROTC, THETA) (Seite 343) PGAsl ORIROTC Tangentialer Drehvektor ●...
  • Seite 766 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl ORISON Glättung des ● ● ● ● Orientierungsverlaufs EIN Glättung des Orientierungsverlaufs (ORISON, ORISOF) (Seite 357) PGAsl ORIVECT Großkreisinterpolation ● ● ● ● (identisch mit Programmierung der ORIPLANE)
  • Seite 767 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl OSCTRL Optionen pendeln Asynchrones Pendeln (OS, OSP1, OSP2, OST1, OST2, OSCTRL, OSNSC, OSE, OSB) (Seite 641) PGAsl Überschleifen de ● ● ● ● Werkzeugorientierung Werkzeugorientierung (ORIC, durch Vorgabe der...
  • Seite 768 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Überschleifen der ● ● ● ● Werkzeugorientierung Werkzeugorientierung (ORIC, durch Vorgabe der ORID, OSOF, OSC, OSS, Winkeltoleranz in Grad OSSE, ORIS, OSD, OST) mit dem SD (maximale (Seite 423) Abweichung vom...
  • Seite 769 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl PDELAYOF Verzögerung beim Stanzen AUS Stanzen und Nibbeln ein oder aus (SPOF, SON, PON, SONS, PONS, PDELAYON, PDELAYOF, PUNCHACC) (Seite 655) PGAsl PDELAYON Verzögerung beim Stanzen EIN Stanzen und Nibbeln ein oder...
  • Seite 770 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl POLFMLIN Achsen für den Rückzug ● ● ● ● mit linearen Zusammenhang zwischen den Achsen freigeben PGAsl POLY Polynom-Interpolation Polynom-Interpolation (POLY, POLYPATH, PO, PL) (Seite 250) PGAsl POLYPATH...
  • Seite 771 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl PRESETON Istwertsetzen für ● ● ● ● programmierte Achsen Preset-Verschiebung (PRESETON) (Seite 296) PGAsl PRIO Schlüsselwort zum ● ● ● ● Setzen der Priorität bei Interruptroutine zuordnen und der Behandlung von starten (SETINT, PRIO,...
  • Seite 772 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Schnelle Zusatz- ● ● ● ● (Hilfs-)funktionsausgabe PGAsl R... Rechenparameter auch ● ● ● ● als einstellbarer Vordefinierte Adressbezeichner und Anwendervariablen: mit numerischer Rechenparameter (R) Erweiterung (Seite 18)
  • Seite 773 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl REPOSA Wiederanfahren an die ● ● ● ● Kontur linear mit allen Wiederanfahren an Kontur Achsen (REPOSA, REPOSL, REPOSQ, REPOSQA, REPOSH, REPOSHA, DISR, DISPR, RMI, RMB, RME, RMN) (Seite 476) PGAsl REPOSH...
  • Seite 774 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Relativ satzweise ● ● ● ● achsspezifische Achstausch, Spindeltausch Radiusprogrammierung (RELEASE, GET, GETD) (Seite 121) PGAsl RINDEX Index eines Zeichens im ● ● ●...
  • Seite 775 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Polarradius ● ● ● ● PGsl Drehung in der Ebene ● ● ● ● PGAsl Parameter für Zugriff auf ● ● ● ● Framedaten: Drehung Framekomponenten lesen und verändern (TR, FI, RT, SC, MI)
  • Seite 776 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl Spline-Grad ○ ○ Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN, EAUTO, ENAT, ETAN, PW, SD, PL) (Seite 233) PGAsl SEFORM Strukturierungs- ● ● ●...
  • Seite 777 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 FB1(W1) SETTCOR Veränderung von ● ● ● ● Werkzeugkomponenten unter Berücksichtigung aller Randbedingungen SETTIA Werkzeug aus ● ● ● ● Verschleißverbund inaktiv setzen PGsl Startpunktversatz für ●...
  • Seite 778 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl SPATH Bahnbezug für FGROUP- ● ● ● ● Achsen ist Bogenlänge Einstellbarer Bahnbezug (SPATH, UPATH) (Seite 256) PGsl SPCOF Masterspindel oder ● ● ●...
  • Seite 779 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl Pendelrückzugsweg für Synchronaktion PGsl Pendelrückzugsweg bei externem Eingang axial für Synchronaktion PGsl Pendelausfeuerzeit für Synchronaktion PGsl Pendelausfeuerzeit axial für Synchronaktion PGAsl START Starten der ausgewählten Programme in mehreren Programmkoordinierung (INIT, Kanälen gleichzeitig aus...
  • Seite 780 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl STRINGFELD Selektion eines ● ● ● ● Einzelzeichens aus dem Selektion eines Einzelzeichens progr. Springfeld (STRINGVAR, STRINGFELD) (Seite 80) PGAsl STRINGIS Prüft vorhandenen NC- ●...
  • Seite 781 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl SYNRW Lesen und Schreiben der ● ● ● ● Variable erfolgt synchron, Definition von d. h. zum Anwendervariablen (DEF) Abarbeitungszeitpunkt (Seite 22) PGAsl SYNW Schreiben der Variable ●...
  • Seite 782 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl TCOABS Werkzeuglängenkompon ● ● enten aus der aktuellen Werkzeuglängenkorrektur für Werkzeugorientierung orientierbare Werkzeugträger bestimmen (TCARR, TCOABS, TCOFR, TCOFRX, TCOFRY, TCOFRZ) (Seite 439) PGAsl TCOFR Werkzeuglängenkompon ●...
  • Seite 783 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl TMOF Werkzeugüberwachung ● ● ● ● abwählen Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF) (Seite 667) PGAsl TMON Werkzeugüberwachung ● ● ● ● anwählen Schleifenspezifische Werkzeugüberwachung im Teileprogramm (TMON, TMOF)
  • Seite 784 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl TOFRAMEZ wie TOFRAME ● ● ● ● PGAsl TOLOWER Buchstaben eines Strings ● ● ● ● in Kleinbuchstaben Wandlung in Klein- wandeln /Großbuchstaben (TOLOWER, TOUPPER) (Seite 77) FB1(W1) TOOLENV...
  • Seite 785 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl TOWMCS Verschleißwerte im ● ● Maschinen- Koordinatensystem der aktiven Koordinatensystem Bearbeitung (TOWSTD, (MKS) TOWMCS, TOWWCS, TOWBCS, TOWTCS, TOWKCS) (Seite 400) PGAsl TOWSTD Grundstellungswert für ●...
  • Seite 786 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl TRAILON Achssynchrones ● ● ● ● Mitschleppen EIN Mitschleppen (TRAILON, TRAILOF) (Seite 497) PGsl TRANS Programmierbare ● ● ● ● Verschiebung PGAsl TRANSMIT Polar-Transformation ○...
  • Seite 787 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl VELOLIM Reduktion der maximalen ● ● ● ● axialen Geschwindigkeit Prozentuale Geschwindigkeitskorrektur (VELOLIM) (Seite 487) PGsl VELOLIMA Reduktion oder ● ● ● ● Überhöhung der maximalen axialen Geschwindigkeit der...
  • Seite 788 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGsl WALCS3 WKS- ● ● ● ● Arbeitsfeldbegrenzungs- gruppe 3 aktiv PGsl WALCS4 WKS- ● ● ● ● Arbeitsfeldbegrenzungs- gruppe 4 aktiv PGsl WALCS5 WKS- ●...
  • Seite 789 Tabellen 16.1 Liste der Anweisungen Anweisung Bedeutung Beschreibung siehe 828D PPU260 / 261 PPU280 / 281 PGAsl WRITE Text ins Dateisystem ● ● ● ● schreiben. Datei schreiben (WRITE) Fügt einen Satz am Ende (Seite 129) der angegebenen Datei PGAsl WRTPR Verzögert den ●...
  • Seite 790 Tabellen 16.1 Liste der Anweisungen Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 791: 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 792 Anhang A.1 Liste der Abkürzungen 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 Directory: Verzeichnis Dynamic Link Library Datenübertragungseinrichtung Disk Operating System Dual Port Memory...
  • Seite 793 Anhang A.1 Liste der Abkürzungen Grundprogramm Global User Data: Globale Anwenderdaten Hard Disk: Festplatte Kurzbezeichnung für hexadezimale Zahl HiFu Hilfsfunktion Human Machine Interface: Bedienfunktionalität der SINUMERIK für Bedienen, Programmieren und Simulieren. Hochauflösendes Messsystem Hauptspindelantrieb Hardware Inbetriebnahme Impulsfreigabe des Antriebsmoduls IK (GD) Implizite Kommunikation (Globale Daten) Interpolative Compensation: Interpolatorische Kompensation Interface-Modul: Anschaltungsbaugruppe...
  • Seite 794 Anhang A.1 Liste der Abkürzungen Multi Port Interface: Mehrpunktfähige Schnittstelle Microsoft (Software-Hersteller) MSTT Maschinensteuertafel Numerical Control: Numerische Steuerung Numerical Control Kernel: Numerik-Kern mit Satzaufbereitung, Verfahrbereich usw. Numerical Control Unit: Hardware Einheit des NCK Bezeichnung des Betriebssystems des NCK Nahtstellensignal NURBS Non-Uniform Rational B-Spline Nullpunktverschiebung Organisationsbaustein in der PLC...
  • Seite 795 Anhang A.1 Liste der Abkürzungen Skip: Satz ausblenden Schrittmotor Sub Program File: Unterprogramm Speicherprogrammierbare Steuerung SRAM Statischer Speicher (gepuffert) Schneidenradiuskorrektur SSFK Spindelsteigungsfehlerkompensation Serial Synchron Interface: Serielle synchrone Schnittstelle Software System Files: Systemdateien Testing Data Active: Kennung für Maschinendaten Tool Offset: Werkzeugkorrektur Tool Offset Active: Kennzeichnung (Dateityp) für Werkzeugkorrekturen TRANSMIT Transform Milling into Turning: Koordinatenumrechnung an Drehmaschinen für...
  • Seite 796 Anhang A.1 Liste der Abkürzungen Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 797: 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 798 Anhang A.2 Feedback zur Dokumentation Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 799: Dokumentationsübersicht

    Anhang A.3 Dokumentationsübersicht Dokumentationsübersicht Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 800 Anhang A.3 Dokumentationsübersicht Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...
  • Seite 801: 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 802 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 803 Glossar Arbeitsraum Dreidimensionaler Raum, in den die Werkzeugspitze aufgrund der Konstruktion der Werkzeugmaschine hineinfahren kann. Siehe → Schutzraum. Arbeitsspeicher Der Arbeitsspeicher ist ein RAM-Speicher in der → CPU, auf den der Prozessor während der Programmbearbeitung auf das Anwenderprogramm zugreift. Archivieren Auslesen von Dateien und/oder Verzeichnissen auf ein externes Speichergerät.
  • Seite 804 Glossar Basisachse Achse, deren Soll- oder Istwert für die Berechnung eines Kompensationswertes herangezogen wird. Basiskoordinatensystem Kartesisches Koordinatensystem, wird durch Transformation auf das Maschinenkoordinatensystem abgebildet. Im → Teileprogramm verwendet der Programmierer Achsnamen des Basiskoordinatensystems. Es besteht, wenn keine → Transformation aktiv ist, parallel zum →...
  • Seite 805 Glossar Betriebsartengruppe Technologisch zusammengehörige Achsen und Spindeln können zu einer Betriebsartengruppe (BAG) zusammengefasst werden. Achsen/Spindeln einer BAG können von einem oder mehreren → Kanälen gesteuert werden. Den Kanälen der BAG ist immer die gleiche → Betriebsart zugeordnet. Bezeichner Die Wörter nach DIN 66025 werden durch Bezeichner (Namen) für Variable (Rechenvariable, Systemvariable, Anwendervariable), für Unterprogramme, für Schlüsselwörter und Wörter mit mehreren Adressbuchstaben ergänzt.
  • Seite 806 Glossar Datenübertragungsprogramm PCIN PCIN ist ein Hilfsprogramm zum Senden und Empfangen von CNC-Anwenderdaten über die serielle Schnittstelle, wie z. B. Teileprogramme, Werkzeugkorrekturen etc. Das PCIN- Programm ist unter MS-DOS auf Standard-Industrie-PCs lauffähig. Datenwort Zwei Byte große Dateneinheit innerhalb eines → Datenbausteins. Diagnose 1.
  • Seite 807 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 808 Glossar Gleichlaufachse Die Gleichlaufachse ist die → Gantry-Achse, deren Sollposition stets von der Verfahrbewegung der → Führungsachse abgeleitet und damit synchron verfahren wird. Aus Sicht des Bedieners und des Programmierers ist die Gleichlaufachse "nicht vorhanden". Grenzdrehzahl Maximale/minimale (Spindel-)Drehzahl: Durch Vorgaben von Maschinendaten, der → PLC oder →...
  • Seite 809: Kettenmaß

    Glossar Interruptroutine Interruptroutinen sind spezielle → Unterprogramme, die durch Ereignisse (externe Signale) vom Bearbeitungsprozess gestartet werden können. Ein in Abarbeitung befindlicher Teileprogrammsatz wird abgebrochen, die Unterbrechungsposition der Achsen wird automatisch gespeichert. Betriebsart der Steuerung (Einrichtebetrieb): In der Betriebsart JOG kann die Maschine eingerichtet werden.
  • Seite 810 Glossar Koordinatensystem Siehe → Maschinenkoordinatensystem, → Werkstückkoordinatensystem Korrekturspeicher Datenbereich in der Steuerung, in dem Werkzeugkorrekturdaten hinterlegt sind. Kreisinterpolation Das → Werkzeug soll zwischen festgelegten Punkten der Kontur mit einem gegebenen Vorschub auf einem Kreis fahren und dabei das Werkstück bearbeiten. Krümmung Die Krümmung k einer Kontur ist das Inverse des Radius r des anschmiegenden Kreises in einem Konturpunkt (k = 1/r).
  • Seite 811 Glossar Maschinenachsen In der Werkzeugmaschine physikalisch existierende Achsen. Maschinenfestpunkt Durch die Werkzeugmaschine eindeutig definierter Punkt, z. B. Maschinen-Referenzpunkt. Maschinenkoordinatensystem Koordinatensystem, das auf die Achsen der Werkzeugmaschine bezogen ist. Maschinennullpunkt Fester Punkt der Werkzeugmaschine, auf den sich alle (abgeleiteten) Messsysteme zurückführen lassen. Maschinensteuertafel Bedientafel der Werkzeugmaschine mit den Bedienelementen Tasten, Drehschalter usw.
  • Seite 812 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 813 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 814 Glossar Peripheriebaugruppe Peripheriebaugruppen stellen die Verbindung zwischen CPU und Prozess her. Peripheriebaugruppen sind: ● → Digital-Ein-/Ausgabebaugruppen ● → Analog-Ein-/Ausgabebaugruppen ● → Simulatorbaugruppen Programmable Logic Control: → Speicherprogrammierbare Steuerung. Komponente der → NC: Anpass-Steuerung zur Bearbeitung der Kontroll-Logik der Werkzeugmaschine. PLC-Programmierung Die PLC wird mit der Software STEP 7 programmiert.
  • Seite 815 Glossar Programmierbare Frames Mit programmierbaren → Frames können dynamisch im Zuge der Teileprogramm- Abarbeitung neue Koordinatensystem-Ausgangspunkte definiert werden. Es wird unterschieden nach absoluter Festlegung anhand eines neuen Frames und additiver Festlegung unter Bezug auf einen bestehenden Ausgangspunkt. Programmierschlüssel Zeichen und Zeichenfolgen, die in der Programmiersprache für → Teileprogramme eine festgelegte Bedeutung haben.
  • Seite 816 Glossar Rundungsachse Rundungsachsen bewirken eine Werkstück- oder Werkzeugdrehung in eine einem Teilungsraster entsprechende Winkellage. Beim Erreichen eines Rasters ist die Rundungsachse "in Position". Satzsuchlauf Zum Austesten von Teileprogrammen oder nach einem Abbruch der Bearbeitung kann über die Funktion "Satzsuchlauf" eine beliebige Stelle im Teileprogramm angewählt werden, an der die Bearbeitung gestartet oder fortgesetzt werden soll.
  • Seite 817: Schrittmaß

    Glossar Schraubenlinien-Interpolation Die Schraubenlinien-Interpolation eignet sich besonders zum einfachen Herstellen von Innen- oder Außengewinden mit Formfräsern und zum Fräsen von Schmiernuten. Dabei setzt sich die Schraubenlinie aus zwei Bewegungen zusammen: ● Kreisbewegung in einer Ebene ● Linearbewegung senkrecht zu dieser Ebene Schrittmaß...
  • Seite 818 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 819 Glossar 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. 2. Schnelle Hilfsfunktionsausgabe Für zeitkritische Schaltfunktionen können die Quittierungszeiten für die → Hilfsfunktionen minimiert und unnötige Haltepunkte im Bearbeitungsprozess vermieden werden.
  • Seite 820 Glossar Text-Editor Siehe → Editor TOA–Bereich Der TOA–Bereich umfasst alle Werkzeug- und Magazindaten. Standardmäßig fällt der Bereich bzgl. der Reichweite der Daten mit dem Bereich → Kanal zusammen. Über Maschinendaten kann jedoch festgelegt werden, dass sich mehrere Kanäle eine → TOA- Einheit teilen, so dass diesen Kanälen dann gemeinsame WZV-Daten zur Verfügung stehen.
  • Seite 821 Glossar Verfahrbereich Der maximal zulässige Verfahrbereich bei Linearachsen beträgt ± 9 Dekaden. Der absolute Wert ist abhängig von der gewählten Eingabe- und Lageregelfeinheit und dem Einheitensystem (inch oder metrisch). Vorkoinzidenz Satzwechsel bereits, wenn Bahnweg um ein vorgegebenes Delta der Endposition nahe gekommen ist.
  • Seite 822: Zoll-Maßsystem

    Glossar Werkzeugkorrektur Berücksichtigung der Werkzeug-Abmessungen bei der Berechnung der Bahn. Werkzeugradiuskorrektur Um eine gewünschte → Werkstückkontur direkt programmieren zu können, muss die Steuerung unter Berücksichtigung des Radius des eingesetzten Werkzeugs eine äquidistante Bahn zur programmierten Kontur verfahren ( WinSCP WinSCP ist ein frei verfügbares Open Source-Programm für Windows zum Transferieren von Dateien.
  • Seite 823: Index

    Index $R, 567 $Rn, 567 $SA_LEAD_TYPE, 524, 525 $SC_PA_ACTIV_IMMED, 222 $AA_ATOL, 493 $SN_PA_ACTIV_IMMED, 222 $AA_COUP_ACT, 459, 500, 525 $TC_CARR1...14, 434 $AA_LEAD_SP, 525 $TC_CARR18[m], 434, 438 $AA_LEAD_SV, 525 $TC_DP1, 390 $AA_MOTEND, 276 $TC_DP10, 390 $AA_TOFF[ ], 596 $TC_DP11, 390 $AC_ACT_PROG_NET_TIME, 693 $TC_DP12, 390 $AC_ACTUAL_PARTS, 697 $TC_DP13, 390...
  • Seite 824 Index < A6, 335 A7, 335 < (Vergleichsoperator), 64 ABS, 61 <<, 70 Abspanen, 701 << (Verkettungsoperator), 75 Abstandsregelung, 590 <= ( Vergleichsoperator), 64 ACC, 540 <> (Vergleichsoperator), 64 Achs -tausch, 121 Achscontainer, 677 Achse == (Vergleichsoperator), 64 Aufspann-, 677 direkt übernehmen, 121 lokale, 678 >...
  • Seite 825 Index APRB, 38 Drehung des Orientierungsvektors, 349 APRP, 38 Drehungen des Werkzeugs, 348 APW, 38 Einfügen von Zwischensätzen, 352 APWB, 38 Bahntangentenwinkel, 623 APWP, 38 BAUTO, 233 Arbeitsspeicher, 210 Bearbeitungszeit, 693 Datenbereiche, 210 Betriebsmodus Array, 44 beim Messen, 267 AS, 201 Bewegungsendekriterium ASIN, 61 programmierbar, 274...
  • Seite 826 Index COMPCAD, 353 CTABTSV, 513 COMPCURV, 247, 353 CTABUNLOCK, 510 COMPLETE, 210 CTOL, 491 COMPOF, 247, 353 CTRANS, 61, 286, 293 COMPON, 247, 353, 464 CUT3DC, 409, 415 CONTDCON, 708 CUT3DCC, 419 CONTPRON, 702 CUT3DCCD, 419 COS, 61 CUT3DF, 409 COUPDEF, 535 CUT3DFF, 409 COUPDEL, 535...
  • Seite 827 Index Feld Elektronisches Getriebe, 526 -element, 44 EGDEF, 526 Feld.-definition, 44 EGDEL, 532 Feldindex, 47 EGOFC, 531 FENDNORM, 273 EGOFS, 531 Festanschlag, 620 EGON, 528 FGROUP-Achsen, 256 EGONSYN, 528 FIFOCTRL, 465 EGONSYNE, 528 FIFO-Variable, 571 Einlesesperre, 580 FILEDATE, 139 Einrichtewert, 394 FILEINFO, 139 Eintauchtiefe, 415 FILESIZE, 139...
  • Seite 828 Index Fräserformen, 413 FROM, 555 I1,I2, 434 FTOC, 593 ICYCOF, 631 FTOCOF, 404 ICYCON, 631 FTOCON, 404 ID, 553 FXS, 620 Identifikationsnummer, 553 FXST, 620 IDS, 553 FXSW, 620 IF, 83, 96 IFRAME, 281 II1,II2, 650 INDEX, 78 G05, 375 Indirekte Pogrammierung G07, 375 von Adressen, 53...
  • Seite 829 Index Leitachse, 520 Leitwert JERKLIM, 486 -kopplung, 613 Leitwertkopplung aus statische Synchronaktionen, 521 Ist- und Sollwertkopplung, 520, 524 Kanalspezifische Frames, 303 Synchronisation Leit- und Folgeachse, 523 Kartesisches PTP-Fahren, 314 Leitwertsimulation, 525 Kinematik LIFTFAST, 115 Aufgelöste, 438 Linkachse, 678 Kinematiktyp, 438 LLI, 34 Kinematiktyp M, 438 LLIMIT, 584...
  • Seite 830 Index Dynamikbegrenzung, 500 Orientierbare Werkzeugträger, 434 Mitschleppverband, 497 Orientierungs MMC, 691 -achsen, 336 MOD, 61 -interpolation, 337 Modaler Unterprogrammaufruf, 185 Orientierungsachsen, 323, 331, 333 MODAXVAL, 669 Orientierungsinterpolation, 351 MOV, 602 Orientierungsprogrammierung, 334, 350 MPF, 206, 689 Orientierungstransformation TRAORI MU, 373 Generische 5/6-Achs Transformation, 313 MZ, 373 Maschinenkinematik, 312...
  • Seite 831 Index resultierender, 623 POLYPATH, 250 OVRA, 540 PON, 664 PONS, 655 POS, 599 POSFS, 535 Positionierbewegungen, 598 P..., 183 Positionsattribute Parameter indirekt programmieren, 57 Aktual-, 149 POSP, 647 Formal-, 149 POSRANGE, 601 -übergabe bei Unterprogrammaufruf, 180 POT, 61 -übergabe beim Unterprogrammaufruf, 150 PREPRO, 168 Werkzeug-, 389 PRESETON, 296, 609...
  • Seite 832 SETAL, 619, 699 Restweglöschen mit Vorbereitung, 582 SETDNO, 431 Restzeit SETINT, 111 für ein Werkstück, 695 SETM, 103, 618 RET, 170, 171 SIEMENS-Zyklen, 699 RINDEX, 78 SIN, 61 RMB, 476 Singuläre Stellen, 332 RME, 476 Sollwertkopplung, 537 RMI, 476 SON, 655, 663, 664...
  • Seite 833 Index Vorlauf-, 465 abbrechen, 636 SPF, 206, 689 Achse positionieren, 599 SPI, 669 Aktion, 557 SPIF1, 655 Bedingung, 555 SPIF2, 655 Befehlselemente, 552 Spindel Gültigkeitsbereich, 553 -tausch, 121 löschen, 636 Spindelbewegungen, 610 Syntax, 552 Spline Synchronaktionen -Interpolation, 233 Aktionen-Übersicht, 576 -Typen, 239 Hauptlaufvariable, 560 SPLINEPATH, 245...
  • Seite 834 Index Default-Parameter mit Initialwerte, 630 Transformationen IF-Kotrollstrukturen, 632 Drei-, Vier- und Fünf-Achs-Transformation in satzweisen Synchronaktionen, 632 TRAORI, 310 Kaskadierungen, 632 Drei-, Vier-Achstransformationen, 320 Sprunganweisungen GOTOP, GOTOF, Kinematikunabhängige Grundstellung der GOTOB, 633 Werkzeugorientierung, 310 Unbedingte Sprünge, 633 Kinematische Transformationen, 311 Zyklische Abarbeitung steuern ICYCOF, 631 Orientierungstransformation, 310 Teilstrecke, 660 verkettete, 387...
  • Seite 835 Index Koordinatensystem für Verschleißwerte, 400 Korrekturspeicher, 389 V1,V2, 434 Online-, 404, 593 VAR, 155 Werkzeugorientierung, 423 Variable Werkzeugradiuskorrektur Typenkonvertierung, 71 3D-Umfangsfräsen ohne Begrenzungsflächen, 419 Variablen Eckenverzögerung, 273 anwenderdefiniert, 22 Werkzeugträger, 439 -definition, 22 Daten löschen/ändern/lesen, 438 -name, 24, 28 -kinematik, 434 -typ, 22 Orientierbare, 439 Typkonvertierung, 73...
  • Seite 836 Index Arbeitsvorbereitung Programmierhandbuch, 03/2010, 6FC5398-2BP20-1AA0...

Diese Anleitung auch für:

Sinumerik 828d

Inhaltsverzeichnis