Sinumerik Sinumerik 840D Sl/840di sl/840D/840Di/810D Arbeitsvorbereitung
Sinumerik Sinumerik 840D Sl/840di sl/840D/840Di/810D Arbeitsvorbereitung
1
______________
Flexible NC-Programmierung
Unterprogrammtechnik,
2
SINUMERIK ______________
Makrotechnik
Datei- und
3
SINUMERIK ______________
Programmverwaltung
5
Programmierhandbuch ______________
Spezielle Wegbefehle
6
______________
Frames
7
______________
Transformationen
8
______________
Werkzeugkorrekturen
9
______________
Bahnverhalten
Bewegungs-
10
______________
synchronaktionen
Gültig für 11
Steuerung
______________
Pendeln
A
11/2006
6FC5398-2BP10-2AA0 ______________
Anhang
Sicherheitshinweise
Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von
Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck
hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe
werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt.
Gefahr
bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden
Vorsichtsmaßnahmen nicht getroffen werden.
Warnung
bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden
Vorsichtsmaßnahmen nicht getroffen werden.
Vorsicht
mit Warndreieck bedeutet, dass eine leichte Körperverletzung eintreten kann, wenn die entsprechenden
Vorsichtsmaßnahmen nicht getroffen werden.
Vorsicht
ohne Warndreieck bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen
nicht getroffen werden.
Achtung
bedeutet, dass ein unerwünschtes Ergebnis oder Zustand eintreten kann, wenn der entsprechende Hinweis nicht
beachtet wird.
Beim Auftreten mehrerer Gefährdungsstufen wird immer der Warnhinweis zur jeweils höchsten Stufe verwendet.
Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschäden gewarnt wird, dann kann im selben
Warnhinweis zusätzlich eine Warnung vor Sachschäden angefügt sein.
Qualifiziertes Personal
Das zugehörige Gerät/System darf nur in Verbindung mit dieser Dokumentation eingerichtet und betrieben
werden. Inbetriebsetzung und Betrieb eines Gerätes/Systems dürfen nur von qualifiziertem Personal
vorgenommen werden. Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise dieser
Dokumentation sind Personen, die die Berechtigung haben, Geräte, Systeme und Stromkreise gemäß den
Standards der Sicherheitstechnik in Betrieb zu nehmen, zu erden und zu kennzeichnen.
Bestimmungsgemäßer Gebrauch
Beachten Sie Folgendes:
Warnung
Das Gerät darf nur für die im Katalog und in der technischen Beschreibung vorgesehenen Einsatzfälle und nur in
Verbindung mit von Siemens empfohlenen bzw. zugelassenen Fremdgeräten und -komponenten verwendet
werden. Der einwandfreie und sichere Betrieb des Produktes setzt sachgemäßen Transport, sachgemäße
Lagerung, Aufstellung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus.
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.
Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die vollständige Übereinstimmung
keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden regelmäßig überprüft, notwendige
Korrekturen sind in den nachfolgenden Auflagen enthalten.
Vorwort
SINUMERIK-Dokumentation
Die SINUMERIK-Dokumentation ist in 3 Ebenen gegliedert:
● Allgemeine Dokumentation
● Anwender-Dokumentation
● Hersteller-/Service-Dokumentation
Zielgruppe
Die vorliegende Druckschrift wendet sich an:
● Programmierer
● Projekteure
Nutzen
Das Programmierhandbuch befähigt die Zielgruppe, Programme und Software-Oberflächen
zu entwerfen, zu schreiben, zu testen und Fehler zu beheben.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 iii
Vorwort
Standardumfang
In der vorliegenden Programmieranleitung ist die Funktionalität des Standardumfangs
beschrieben. Ergänzungen oder Änderungen, die durch den Maschinenhersteller
vorgenommen werden, werden vom Maschinenhersteller dokumentiert.
Es können in der Steuerung weitere, in dieser Dokumentation nicht erläuterte Funktionen
ablauffähig sein. Es besteht jedoch kein Anspruch auf diese Funktionen bei der Neulieferung
bzw. im Servicefall.
Ebenso enthält diese Dokumentation aus Gründen der Übersichtlichkeit nicht sämtliche
Detailinformationen zu allen Typen des Produkts und kann auch nicht jeden denkbaren Fall
der Aufstellung, des Betriebes und der Instandhaltung berücksichtigen.
Technical Support
Bei technischen Fragen wenden Sie sich bitte an folgende Hotline:
Hinweis
Landesspezifische Telefonnummern für technische Beratung finden Sie im Internet:
[Link]
Arbeitsvorbereitung
iv Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Vorwort
EG-Konformitätserklärung
Die EG-Konformitätserklärung zur EMV-Richtlinie finden/erhalten Sie
● im Internet:
[Link]
unter der Produkt-/Bestellnummer 15257461
● bei der zuständigen Zweigniederlassung des Geschäftsgebiets A&D MC der Siemens AG
Exportvariante
Folgende Funktionen sind in der Exportvariante nicht enthalten:
1) Die Funktionseinschränkungen für die Export-Varianten SINUMERIK 810DE powerline / SINUMERIK 840DE sl /
SINUMERIK 840DE powerline / SINUMERIK 840DiE sl / SINUMERIK 840DiE powerline sind auf "max. 4
interpolierende Achsen" begrenzt.
Beschreibung
Grundlagen
Die Programmieranleitung "Grundlagen" dient dem Maschinenfacharbeiter und setzt
entsprechende Kenntnisse für Bohr-, Fräs- und Drehbearbeitungen voraus. An einfachen
Programmierbeispielen werden die auch nach DIN 66025 bekannten Befehle und
Anweisungen erläutert.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 v
Vorwort
Arbeitsvorbereitung
Die Programmieranleitung "Arbeitsvorbereitung" dient dem Technologen mit Kenntnissen
über die gesamten Programmiermöglichkeiten. Die SINUMERIK 840D sl/840Di
sl/840D/840Di/810D ermöglicht mit einer speziellen Programmiersprache die
Programmierung eines komplexen Werkstückprogramms (z. B. Freiformflächen,
Kanalkoordinierung,...) und erleichtert dem Technologen eine aufwendige Programmierung.
Die Befehle und Anweisungen, die in dieser Programmieranleitung beschrieben sind, sind
Technologie-unabhängig.
Verwendet werden können sie z. B. für:
● Drehen, Fräsen und Schleifen
● Zyklische Maschinen (Verpackungs-, Holzbearbeitung)
● Laser-Leistungssteuerungen
Arbeitsvorbereitung
vi Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Inhaltsverzeichnis
Vorwort ...................................................................................................................................................... iii
1 Flexible NC-Programmierung ................................................................................................................. 1-1
1.1 Variable und Rechenparameter (Anwenderdefinierte Variable, Rechenparameter,
Systemvariable) ......................................................................................................................... 1-1
1.2 Variablendefinition (DEF Anwenderdefinierte Variable LUD, GUD, PUD) ................................ 1-3
1.3 Felddefinitionen (DEF, SET, REP)............................................................................................. 1-7
1.4 Indirekte Programmierung ....................................................................................................... 1-14
1.4.1 String als Teileprogrammzeile abarbeiten (EXECSTRING) .................................................... 1-17
1.5 Zuweisungen............................................................................................................................ 1-18
1.6 Rechenoperationen/Rechenfunktionen ................................................................................... 1-19
1.7 Vergleichs- und logische Operationen..................................................................................... 1-22
1.7.1 Genauigkeitskorrektur bei Vergleichsfehlern (TRUNC)........................................................... 1-25
1.7.2 Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND)..................... 1-26
1.8 Priorität der Operationen.......................................................................................................... 1-28
1.9 Mögliche Typenkonvertierungen.............................................................................................. 1-29
1.10 Stringoperationen..................................................................................................................... 1-30
1.10.1 Typenkonvertierung nach STRING.......................................................................................... 1-31
1.10.2 Typenkonvertierung von STRING............................................................................................ 1-32
1.10.3 Verkettung von Strings............................................................................................................. 1-33
1.10.4 Wandlung in Klein-/Großbuchstaben....................................................................................... 1-34
1.10.5 Länge des Strings .................................................................................................................... 1-35
1.10.6 Zeichen/String in String suchen ............................................................................................... 1-35
1.10.7 Auswahl eines Teilstrings ........................................................................................................ 1-37
1.10.8 Selektion eines Einzelzeichens................................................................................................ 1-37
1.11 CASE-Anweisung .................................................................................................................... 1-39
1.12 Kontrollstrukturen..................................................................................................................... 1-41
1.13 Programmkoordinierung .......................................................................................................... 1-45
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)........................................................ 1-50
1.15 Achstausch, Spindeltausch (RELEASE, GET, GETD) ............................................................ 1-59
1.16 Achse einem anderen Kanal übergeben (AXTOCHAN) .......................................................... 1-63
1.17 NEWCONF: Maschinendaten wirksam setzen ........................................................................ 1-64
1.18 WRITE: Datei schreiben .......................................................................................................... 1-65
1.19 DELETE: Datei löschen ........................................................................................................... 1-67
1.20 READ: Zeilen in Datei lesen .................................................................................................... 1-69
1.21 ISFILE: Datei im Anwendunsspeicher NCK vorhanden .......................................................... 1-71
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 vii
Inhaltsverzeichnis
Arbeitsvorbereitung
viii Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Inhaltsverzeichnis
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 ix
Inhaltsverzeichnis
Arbeitsvorbereitung
x Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Inhaltsverzeichnis
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 xi
Inhaltsverzeichnis
Arbeitsvorbereitung
xii Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Inhaltsverzeichnis
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 xiii
Inhaltsverzeichnis
A Anhang ...................................................................................................................................................A-1
A.1 Liste der Abkürzungen ...............................................................................................................A-2
A.2 Publikationsspezifische Information...........................................................................................A-7
A.2.1 Korrekturblatt - Faxvorlage.........................................................................................................A-7
A.2.2 Dokumentationsübersicht...........................................................................................................A-9
Glossar ......................................................................................................................................... Glossar-1
Index................................................................................................................................................ Index-1
Arbeitsvorbereitung
xiv Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung 1
1.1 1.1 Variable und Rechenparameter (Anwenderdefinierte Variable,
Rechenparameter, Systemvariable)
Funktion
Durch Verwendung von Variablen statt fester Werte können Sie ein Programm flexibel
gestalten. Sie können damit auf Signale reagieren, wie z. B. Messwerte, oder Sie können
durch Verwendung von Variablen als Sollwert dasselbe Programm für verschiedene
Geometrien einsetzen.
Zusammen mit Variablenrechnung und Programmsprüngen eröffnet dies dem geschickten
Programmierer die Möglichkeit, ein hochflexibles Programmarchiv anzulegen und damit viel
Programmierarbeit zu sparen.
Variablenarten
Die Steuerung unterscheidet 3 Arten von Variablen:
Anwenderdefinierte Variable Vom Anwender mit Namen und Typ definierte Variable, z. B.
Rechenparameter.
Rechenparameter Spezielle, vordefinierte Rechenvariable, für die die Adresse R mit
nachfolgender Nummer vorgesehen ist. Die vordefinierten
Rechenvariablen sind vom Typ REAL.
Systemvariable Von der Steuerung zur Verfügung gestellte Variable, die im
Programm verarbeitet werden können (schreiben, lesen).
Systemvariable bieten Zugriff auf Nullpunktverschiebungen,
Werkzeugkorrekturen, Istwerte, Messwerte der Achsen, Zustände
der Steuerung usw.
(Bedeutung der Systemvariablen siehe Anhang).
Variablentypen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-1
Flexible NC-Programmierung
1.1 Variable und Rechenparameter (Anwenderdefinierte Variable, Rechenparameter, Systemvariable)
Rechenvariable
Unter der Adresse R stehen ohne weitere Definition standardmäßig 100 Rechenvariable
vom Typ REAL zur Verfügung.
Die genaue Anzahl der Rechenvariablen (maximal 32535) wird über Maschinendaten
festgelegt.
Beispiel: R10=5
Systemvariable
Die Steuerung stellt Systemvariable zur Verfügung, die in allen laufenden Programmen zur
Verfügung stehen und verarbeitet werden können.
Systemvariable liefern Maschinen- und Steuerungszustände. Sie sind teilweise nicht
beschreibbar.
Überblick über die Systemvariablen
Zur besonderen Kennzeichnung beginnt der Name von Systemvariablen immer mit einem
"$"-Zeichen. Danach folgen die spezifischen Bezeichnungen.
1. Buchstabe Bedeutung
$M Maschinendaten
$S Settingdaten
$T Werkzeugverwaltungsdaten
$P Programmierte Werte
$A Aktuelle Werte
$V Service-Daten
2. Buchstabe Bedeutung
N NCK-global
C kanalspezifisch
A achsspezifisch
Beispiel: $AA_IM
Bedeutet: Aktueller axialer Istwert im Maschinenkoordinatensystem.
Arbeitsvorbereitung
1-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.2 Variablendefinition (DEF Anwenderdefinierte Variable LUD, GUD, PUD)
Funktion
Neben den vordefinierten Variablen kann der Programmierer eigene Variablen definieren
und mit Werten belegen.
Die lokalen Variablen (LUD) gelten nur in dem Programm, in dem sie definiert sind.
Die globalen Variablen (GUD) gelten in allen Programmen.
Über Maschinendatum werden die im Hauptprogramm definierten lokalen
Anwendervariablen (LUD) zu programmglobalen Anwendervariablen (PUD) umdefiniert,
siehe Anwenderbeispiel.
Maschinenhersteller
siehe Angaben des Maschinenherstellers.
Programmierung
Variablentyp INT
DEF INT name
oder
DEF INT name=Wert
Variablentyp REAL
DEF REAL name
oder
DEF REAL name1,name2=3,name4
oder
DEF REAL name[feldindex1,feldindex2]
Variablentyp BOOL
DEF BOOL name
Variablentyp CHAR
DEF CHAR name
oder
DEF CHAR name[feldindex]=("A","B",…)
Variablentyp STRING
DEF STRING[Stringlänge] name
Variablentyp AXIS
DEF AXIS name
oder
DEF AXIS name[feldindex]
Variablentyp FRAME
DEF FRAME name
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-3
Flexible NC-Programmierung
1.2 Variablendefinition (DEF Anwenderdefinierte Variable LUD, GUD, PUD)
Hinweis
Wird einer Variablen bei der Definition kein Wert zugewiesen, so wird sie vom System mit
Null vorbelegt.
Variable müssen vor ihrer Verwendung am Anfang des Programms definiert werden. Die
Definition muss in einem eigenen Satz erfolgen; pro Satz kann nur ein Variablentyp definiert
werden.
Parameter
Beispiel
Variablentyp Bedeutung
INT
DEF INT ANZAHL Es wird eine Variable vom Typ Integer mit dem
Namen ANZAHL angelegt.
Vorbelegung vom System mit Null.
DEF INT ANZAHL=7 Es wird eine Variable vom Typ Integer mit dem
Namen ANZAHL angelegt. Die Variable hat den
Anfangswert 7.
REAL
DEF REAL TIEFE Es wird eine Variable vom Typ Real mit dem
Namen TIEFE angelegt.
Vorbelegung vom System mit Null (0.0).
DEF REAL TIEFE=6.25 Es wird eine Variable vom Typ Real mit dem
Namen TIEFE angelegt. Die Variable hat den
Anfangswert 6.25.
DEF REAL TIEFE=3.1,LAENGE=2,ANZAHL In einer Zeile können auch mehrere Variable
definiert werden.
BOOL
DEF BOOL WENN_ZUVIEL Es wird eine Variable vom Typ Bool mit dem
Namen WENN_ZUVIEL angelegt.
Vorbelegung vom System mit Null (FALSE).
DEF BOOL WENN_ZUVIEL=1 oder Es wird eine Variable vom Typ Bool mit dem
DEF BOOL WENN_ZUVIEL=TRUE oder Namen WENN_ZUVIEL angelegt.
DEF BOOL WENN_ZUVIEL=FALSE
CHAR
Arbeitsvorbereitung
1-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.2 Variablendefinition (DEF Anwenderdefinierte Variable LUD, GUD, PUD)
DEF CHAR GUSTAV_1=65 Den Variablen vom Typ Char kann ein Codewert
für das entsprechende ASCII-Zeichen oder
DEF CHAR GUSTAV_1="A" das ASCII-Zeichen direkt zugewiesen werden
(Codewert 65 entspricht dem Buchstaben "A").
STRING
DEF STRING[6] MUSTER_1="ANFANG" Die Variablen vom Typ String können eine
Zeichenkette aufnehmen. Die maximale Anzahl
der Zeichen steht in eckiger Klammer hinter dem
Variablentyp.
AXIS
DEF AXIS ACHSNAME=(X1) Die Variablen vom Typ AXIS haben den Namen
ACHSNAME und enthalten den Achsbezeichner
eines Kanals - hier X1.
(Achsnamen mit erweiterter Adresse stehen in
runden Klammern.)
FRAME
DEF FRAME SCHRAEG_1 Die Variablen vom Typ FRAME haben den Namen
SCHRAEG_1.
Hinweis
Eine Variable vom Typ AXIS nimmt Achsbezeichner und Spindelbezeichner eines Kanals
auf.
Hinweis
Achsnamen mit erweiterter Adresse müssen in runden Klammern geschrieben werden.
$MN_LUD_EXTENDED_SCOPE=1
PROC MAIN ;Hauptprogramm
DEF INT VAR1 ;PUD-Definition
... ;Unterprogrammaufruf
SUB2
...
M30
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-5
Flexible NC-Programmierung
1.2 Variablendefinition (DEF Anwenderdefinierte Variable LUD, GUD, PUD)
Variablennamen
Ein Variablenname besteht aus maximal 31 Zeichen. Die beiden ersten Zeichen müssen ein
Buchstabe oder ein Unterstrich sein.
Das "$"-Zeichen kann nicht für anwenderdefinierte Variable benutzt werden, weil dieses
Zeichen für die Systemvariablen verwendet wird.
Arbeitsvorbereitung
1-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.3 Felddefinitionen (DEF, SET, REP)
Funktion
Ein Feld ist ein Speicherbock, das über den Variablentyp mit Name und Größe definiert wird.
Es können Felder mit maximal 2 Dimensionen definiert werden.
Hinweis
Maximale Feldgröße
Bei der Definition von Feldern beträgt die maximale Feldgröße der 1. und 2. Dimension
32767 für den Feldindex [n, m].
Initialisierung von Feldern
Den Feldelementen können Initialisierungswerte zugeordnet werden:
● während des Programmlaufs
oder
● auch bereits bei der Felddefinition.
Bei zweidimensionalen Feldern wird der rechte Feldindex zuerst inkrementiert.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-7
Flexible NC-Programmierung
1.3 Felddefinitionen (DEF, SET, REP)
Programmierung
DEF CHAR NAME[n,m]
oder
DEF INT NAME[n,m]
oder
DEF REAL NAME[n,m]
oder
DEF AXIS NAME[n,m]
oder
DEF FRAME NAME[n,m]
oder
DEF STRING[Stringlänge] NAME[m]
oder
DEF BOOL[n,m]
● Initialisierung mit Wertelisten; SET
Möglichkeiten bei der Felddefinition
DEF Typ VARIABLE = SET(WERT)
DEF Typ FELD[n,m] = SET(WERT, Wert, …)
oder
DEF Typ VARIABLE = Wert
DEF Typ FELD[n,m] = (Wert, Wert, …)
Hinweis
Bei der Felddefinition können Sie SET optional angeben.
Möglichkeiten im Programmlauf
FELD[n,m]= SET(Wert, Wert, Wert,…)
FELD[n,m]= SET(Ausdruck, Ausdruck, Ausdruck,…)
● Initialisierung mit gleichen Werten, REP
Möglichkeiten bei der Felddefinition
Beim Anlegen der Variablen "Feld" werden mit
DEF Typ FELD[n,m] = REP(Wert) alle Elemente initialisiert. Mit
DEF Typ FELD[n,m] = REP(Wert, AnzahlFeldelemente) wird nur die mit
"AnzahlFeldelemente" definierte Anzahl von Feldelementen mit "Wert" initialisiert.
Die Initialisierung beginnt mit dem Feldindex 0. Die restlichen Elemente der Variablen
werden mit Null vorbelegt. Ist "AnzahlFeldelemente" = 0, wird das gesamte
Variablenfeld mit Null vorbesetzt, wie z. B. für alle 30 Feldelemente von varName:
DEF REAL varName[30] =REP(3.5, 0)
Arbeitsvorbereitung
1-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.3 Felddefinitionen (DEF, SET, REP)
Hinweis
Variable vom Typ FRAME lassen sich nicht initialisieren.
Wird für die Bereichsangabe ein Wert kleiner Null oder größer als die Anzahl der
Feldelemente programmiert, so wird ein Alarm "Wertebereich überschritten" ausgegeben.
Möglichkeiten im Programmlauf
FELD[n,m] = REP(Wert)
FELD[n,m] = REP(Ausdruck)
FELD[n,m] = REP(Wert, AnzahlFeldelemente)
FELD[n,m] = REP(Ausdruck, AnzahlFeldelemente)
Wenn die Bereichsangabe "AnzahlFeldelemente" = 0 ist, bleiben die aktuellen Werte
aller Feldvariablen unverändert z. B.:
varName [12] =REP(44.5, 0)
Hinweis
Variable vom Typ FRAME sind zugelassen und können hierdurch sehr einfach initialisiert
werden.
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-9
Flexible NC-Programmierung
1.3 Felddefinitionen (DEF, SET, REP)
Felder mit Variablen vom Typ STRING dürfen nur eindimensional sein.
Feldindex [n,m]
Auf die Elemente eines Feldes kann über den Feldindex zugegriffen werden. Über diesen
Feldindex können die Feldelemente entweder mit Werten belegt oder die Werte der
Feldelemente gelesen werden.
Das erste Feldelement beginnt mit dem Index [0,0]; bei einer Feldgröße von [3,4] ist
beispielsweise der maximal mögliche Feldindex [2,3].
)HOGLQGH[
>QP@
P
Q Q Q Q
Q P
Arbeitsvorbereitung
1-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.3 Felddefinitionen (DEF, SET, REP)
Speicherbedarf
Hinweis
Die maximale Feldgröße bestimmt die Größe der Speicherblöcke, in denen der
Variablenspeicher verwaltet wird. Sie sollte nicht größer als notwendig eingestellt werden.
Standard: 812 Bytes
Werden keine großen Felder definiert, wählen Sie: 256 Bytes.
Beispiel: Definition von BOOL - Feldern
Globale Anwenderdaten sollen PLC-Maschinendaten für das Ein-/Ausschalten der
Steuerung enthalten.
Beispiel Definition von Feldern mit maximaler Feldgröße für die 1. und 2. Dimension
DEF INT NAME[32767,32767]
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, 11/2006, 6FC5398-2BP10-2AA0 1-11
Flexible NC-Programmierung
1.3 Felddefinitionen (DEF, SET, REP)
)HOGLQGH[
'LH)HOGHOHPHQWH>@ 'LH)HOGHOHPHQWH>@
ELV>@ZXUGHQPLWGHP ELV>@ZXUGHQPLWGHP
'HIDXOWZHUWLQLVWLDOLVLHUW 'HIDXOWZHUW
LQLVWLDOLVLHUW'LH)HOGHOH
PHQWH>@ELV>@ZXUGHQ
QLFKWYHU¦QGHUW
Arbeitsvorbereitung
1-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.3 Felddefinitionen (DEF, SET, REP)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-13
Flexible NC-Programmierung
1.4 Indirekte Programmierung
Funktion
Durch indirekte Programmierung können Programme sehr universell genutzt werden. Dabei
wird die erweiterte Adresse (Index) jeweils durch eine Variable geeigneten Typs ersetzt.
Indirekte G-Code-Programmierung
Die indirekte Programmierung von G-Codes über Variable ermöglicht eine effektive
Zyklenprogrammierung. Hierfür stehen zwei Parameter
G-Code-Gruppen mit Integer-Konstante
G-Code-Nummern mit Variable vom Typ Integer/Real
zur Verfügung.
Programmierung
ADRESSE[INDEX]
oder
G[<Gruppen-Index>] = <Integer/Real-Variable>
Indirekte Programmierung von G-Codes über Variable für eine effektive
Zyklenprogrammierung
Parameter
Alle Adressen sind parametrierbar außer:
● N - Satznummer
● L - Unterprogramm
Für alle einstellbaren Adressen ist keine indirekte Programmierung möglich.
Beispiel: X[1] anstelle von X1 ist nicht zulässig.
Gültige G-Code-Gruppen
Es können nur modal wirksame G-Code-Gruppen indirekt programmiert werden.
Satzweise wirksame G-Code-Gruppen werden mit dem Alarm 12470 abgelehnt.
Gültige G-Code-Nummern
In der indirekten G-Code-Programmierung sind keine Arithmetik-Funktionen erlaubt.
Die G-Code Nummer muss in einer Variablen vom Typ Integer oder Real abgelegt sein.
Ungültige G-Code-Nummern werden mit dem Alarm 12475 abgelehnt.
Arbeitsvorbereitung
1-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.4 Indirekte Programmierung
Hinweis
Alle gültigen G-Codes sind in der PG, im Kapitel "Liste der G-Funktionen/Wegbedingungen"
in verschiedenen Gruppen dargestellt. Siehe /PG/ Programmierhandbuch Grundlagen,
"Tabellen"
Beispiel
Spindel
S1=300 ;direkte Programmierung
DEF INT SPINU=1 ;indirekte Programmierung:
S[SPINU]=300 ;Drehzahl 300 U/min für die Spindel,
;deren Nummer in der Variablen SPINU
;abgelegt ist (in diesem Beispiel 1).
Vorschub
FA[U]=300 ;direkte Programmierung
DEF AXIS AXVAR2=U ;indirekte Programmierung:
FA[AXVAR2]=300 ;Vorschub für Positionierachse, deren
;Adressname in der Variablen vom Typ AXIS mit
;dem Variablennamen AXVAR2 abgelegt ist.
Messwert
$AA_MM[X] ;direkte Programmierung
DEF AXIS AXVAR3=X ;indirekte Programmierung:
$AA_MM[AXVAR3] ;Messwert in Maschinenkoordinaten für Achse,
;deren Name in der Variablen AXVAR3
;abgelegt ist.
Feldelement
DEF INT FELD1[4,5] ;direkte Programmierung
DEFINE DIM1 AS 4 ;indirekte Programmierung:
DEFINE DIM2 AS 5 ;Bei Felddimensionen müssen Feldgrößen
DEF INT FELD[DIM1,DIM2] ;als feste Werte angegeben werden.
FELD[DIM1-1,DIM2-1]=5
Achsanweisung mit Achsvariablen
X1=100 X2=200 ;direkte Programmierung
DEF AXIS AXVAR1 AXVAR2 ;indirekte Programmierung:
AXVAR1=(X1) AXVAR2=(X2) ;Definition der Variablen
AX[AXVAR1]=100 AX[AXVAR2]=200 ;Zuweisung der Achsnamen Verfahren der
;Achsen, die in den Variablen hinterlegt sind
;auf 100 bzw. 200.
Interpolationsparameter mit
Achsvariablen
G2 X100 I20 ;direkte Programmierung
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-15
Flexible NC-Programmierung
1.4 Indirekte Programmierung
Hinweis
Auch R-Parameter können als eindimensionales Feld mit verkürzter Schreibweise
verstanden werden (R10 entspricht R[10]).
Ebenenanwahl G-Code-Gruppe 6
Arbeitsvorbereitung
1-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.4 Indirekte Programmierung
Funktion
Mit dem Teileprogrammbefehl EXECSTRING wird als Parameter ein String übergeben, der
die eigentlich auszuführende Teileprogrammzeile enthält.
Programmierung
EXECSTRING (<String-Variable>)
Parameter
Hinweis
Alle Teileprogramm-Konstrukte können abgesetzt werden, die im Programmteil eines
Teileprogramms programmiert werden können. Ausgeschlossen sind damit PROC- und
DEF-Anweisungen sowie generell die Verwendung in INI- und DEF-Files.
N300 R10 = 1
N310 BLOCK = "M3"
N320 IF(R10)
N330 BLOCK = BLOCK << MFCT1
N340 ENDIF
N350 EXECSTRING(BLOCK) ;Teileprogrammzeile "M3 M4711" ausführen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-17
Flexible NC-Programmierung
1.5 Zuweisungen
Funktion
Den Variablen/Rechenparametern können im Programm Werte eines passenden Typs
zugewiesen werden.
Programmierung
Die Zuweisung erfordert dabei stets einen eigenen Satz; pro Satz sind mehrere
Zuweisungen möglich. Die Zuweisung zu Achsadressen (Verfahranweisungen) erfordert
einen getrennten Satz gegenüber den Variablenzuweisungen.
Parameter
Zuweisung an String-Variable
Innerhalb einer CHAR- oder STRING-Kette wird zwischen Groß- und Kleinschreibung
unterschieden.
Sollen ' oder " Bestandteil der Zeichenkette sein, so ist dies in '…' zu klammern.
Beispiel:
MSG("Viene lavorata l'''ultima figura")
gibt den Text 'Viene lavorata l'ultima figura' am Bildschirm aus.
Nicht darstellbare Zeichen können als Binär- oder Hexadezimal-Konstante in den String
aufgenommen werden.
Beispiel
Arbeitsvorbereitung
1-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.6 Rechenoperationen /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.
Rechenfunktion ATAN2( , )
Die Funktion berechnet aus zwei aufeinander senkrecht stehenden Vektoren den Winkel des
Summenvektors. Das Ergebnis liegt im Bereich von vier Quadranten (–° < 0 < +180°). Basis
für den Winkelbezug ist immer der 2. Wert in positiver Richtung.
5 $7$1
9HNWRU
:LQNHO r
9HNWRU
5 $7$1
:LQNHO r
9HNWRU
9HNWRU
Programmierung
Bei den Rechenoperatoren gilt die übliche mathematische Schreibweise. Prioritäten in der
Abarbeitung werden durch runde Klammern gesetzt. Für die trigonometrischen und deren
inverse Funktionen gilt die Gradangabe (rechter Winkel = 90°).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-19
Flexible NC-Programmierung
1.6 Rechenoperationen /Rechenfunktionen
Parameter
Operatoren/Rechenfunktionen
+ Addition
- Subtraktion
* Multiplikation
/ Division
Achtung: (Typ INT)/(Typ INT)=(Typ REAL); Beispiel: 3/4 = 0.75
DIV Division, für Variablentyp INT und REAL
Achtung: (Typ INT)DIV(Typ INT)=(Typ INT); Beispiel: 3 DIV 4 = 0
MOD Modulo-Division (nur für Typ INT) liefert Rest einer INT-Division;
Beispiel 3 MOD 4=3
: Kettungsoperator (bei FRAME-Variablen)
Sin () Sinus
COS () Cosinus
TAN () Tangens
ASIN () Arcussinus
ACOS () Arcuscosinus
ATAN2 (,) Arcustangens2
SQRT () Quadratwurzel
ABS () Betrag
POT () 2. Potenz (Quadrat)
TRUNC () ganzzahliger Teil
ROUND () Runden auf ein Ganzzahliges
LN () natürlicher Logarithmus
EXP () Exponentialfunktion
MINVAL () kleinerer Wert zweier Variablen
MAXVAL () größerer Wert zweier Variablen
BOUND () Variablenwert der im definierten Wertebereich liegt
CTRANS () Verschiebung
CROT () Drehung
CSCALE () Maßstabsveränderung
CMIRROR () Spiegeln
Arbeitsvorbereitung
1-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.6 Rechenoperationen /Rechenfunktionen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-21
Flexible NC-Programmierung
1.7 Vergleichs - und logische Operationen
Funktion
Vergleichsoperationen können z. B. zur Formulierung einer Sprungbedingung benutzt
werden. Vergleichbar sind dabei auch komplexe Ausdrücke.
Die Vergleichsoperationen sind für Variable vom Typ CHAR, INT, REAL und BOOL
anwendbar. Beim Typ CHAR wird der Codewert verglichen.
Bei den Typen STRING, AXIS und FRAME sind möglich: == und <>, die für Operationen vom
Typ STRING auch in Synchronaktionen angewendet werden können.
Das Ergebnis von vergleichenden Operationen ist immer vom Typ BOOL.
Logische Operatoren dienen zur Verknüpfung von Wahrheitswerten.
Die Logischen Operationen sind nur auf Variable vom Typ BOOL anwendbar. Über interne
Typenkonvertierung sind sie auch auf die Datentypen CHAR, INT, und REAL anwendbar.
Bei den logischen (boolschen) Operationen gilt für die Datentypen BOOL, CHAR, INT und
REAL:
● 0 entspricht: FALSE
● ungleich 0 entspricht: TRUE
Bitweise logische Operatoren
Mit den Variablen vom Typ CHAR und INT können auch bitweise logische Operationen
vorgenommen werden. Gegebenenfalls erfolgt eine Typkonvertierung automatisch.
Programmierung
Vergleichsoperatoren
==
oder
<>
oder
>
oder
<
oder
>=
oder
<=
Logische Operatoren
AND
oder
OR
oder
Arbeitsvorbereitung
1-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.7 Vergleichs - und logische Operationen
NOT
oder
XOR
Zwischen BOOLSCHEN Operanden und Operatoren müssen Zwischenräume geschrieben
werden.
Bitweise Logische Operatoren
B_AND
oder
B_OR
oder
B_NOT
oder
B_XOR
Parameter
Bedeutung der Vergleichsoperatoren
== gleich
<> ungleich
> größer
< kleiner
>= größer oder gleich
<= kleiner oder gleich
AND UND
OR ODER
NOT Negation
XOR Exklusiv-ODER
Hinweis
Der Operator B_NOT bezieht sich auf nur einen Operanden;
dieser steht nach dem Operator.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-23
Flexible NC-Programmierung
1.7 Vergleichs - und logische Operationen
Beispiel Vergleichsoperatoren
IF R10>=100 GOTOF ZIEL
oder
R11=R10>=100
IF R11 GOTOF ZIEL
Das Ergebnis des Vergleichs R10>=100 wird zunächst in R11 zwischengespeichert.
Arbeitsvorbereitung
1-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.7 Vergleichs - und logische Operationen
Funktion
Der TRUNC-Befehl schneidet den mit einem Genauigkeitsfaktor multiplizierten Operanden
ab.
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.
Relative Gleichheit
Damit die durch die Darstellungsform hervorgerufenen Ungenauigkeiten den Programmfluß
nicht verfälschen, wird bei den Vergleichsbefehlen nicht auf absolute Gleichheit, sondern auf
eine relative Gleichheit geprüft.
Programmierung
Genauigkeitskorrektur bei Vergleichsfehlern
TRUNC (R1*1000)
Parameter
Hinweis
Vergleiche mit Daten vom Typ REAL sind aus den genannten Gründen generell mit einer
gewissen Ungenauigkeit behaftet. Bei nicht akzeptablen Abweichungen muss auf INTEGER-
Rechnung ausgewichen werden, indem die Operanden mit einem Genauigkeitsfaktor
multipliziert und danach mit TRUNC abgeschnitten werden.
Synchronaktionen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-25
Flexible NC-Programmierung
1.7 Vergleichs - und logische Operationen
Beispiel Genauigkeitsbetrachtungen
1.7.2 Minimum, Maximum und Bereich von Variablen (MINVAL, MAXVAL, BOUND)
Funktion
Mit den beiden Funktionen MINVAL und MAXVAL können zwei Variable miteinander
verglichen werden und als Ergebnis wird der kleinere Wert bzw. größere Wert
zurückgeliefert.
Mit der Funktion BOUND wird geprüft, ob der Wert einer Prüfvariablen innerhalb des
definierten Wertebereichs liegt. Ist dies der Fall, so wird der Wert der Variablen
zurückgegeben. Wenn der Wert der Prüfvariablen größer als der Maximalwert ist, dann wird
der Maximalwert ausgegeben. Analog wird beim Unterschreiten des Minimalwertes der
Minimalwert geliefert.
Verhalten bei Gleichheit
Bei Gleichheit wird bei den Funktionen MINVAL, MAXVAL dieser gleiche Wert geliefert und
bei BOUND wird der Wert der zu prüfenden Variablen wieder zurückgegeben.
Programmierung
Minimum
Arbeitsvorbereitung
1-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.7 Vergleichs - und logische Operationen
Hinweis
Die drei Funktionen MINVAL( ), MAXVAL( ) und BNOUND( ) können auch in
Synchronaktionen programmiert werden.
Parameter
Beispiele
DEF REAL rVar1 = 10.5, rVar2 = 33.7, rVar3, rVar4, rVar5, rValMin, rValMax, rRetVar
rValMin = MINVAL(rVar1, rVar2) ;rValMin wird auf den Wert 10.5 gesetzt
rValMax = MAXVAL(rVar1, rVar2) ;rValMax wird auf den Wert 33.7 gesetzt
rVar3 = 19.7
rRetVar = BOUND(rVar1, rVar2, rVar3) ;rVar3 liegt innerhalb der Grenzen,
;rRetVar wird auf 19.7 gesetzt
rVar3 = 1.8
rRetVar = BOUND(rVar1, rVar2, rVar3) ;rVar3 liegt unterhalb der Minimumgrenze,
;rRetVar wird auf 10.5 gesetzt
rVar3 = 45.2
rRetVar = BOUND(rVar1, rVar2, rVar3) ;rVar3 liegt oberhalb der Maximumgrenze,
;rRetVar wird auf 33.7 gesetzt
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-27
Flexible NC-Programmierung
1.8 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.
Hinweis
Der Kettungsoperator ":" für Frames darf nicht mit anderen Operatoren in einem Ausdruck
vorkommen. Eine Prioritätseinstufung für diesen Operator ist deshalb nicht erforderlich.
Beispiel If-Anweisung
If (otto==10) and (anna==20) gotof end
Arbeitsvorbereitung
1-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.9 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
* Bei Typumwandlung von REAL nach INT wird bei gebrochenem Wert >= 0.5
aufgerundet, ansonsten wird abgerundet (vgl. Funktion ROUND)
1) Wert <> 0 entspricht TRUE, Wert == 0 entspricht FALSE
2) Wenn der Wert im zulässigen Zahlenbereich liegt
3) Wenn nur 1 Zeichen
4) Stringlänge 0 = >FALSE, ansonsten TRUE
Hinweis
Ist beim Konvertieren ein Wert größer als der Zielbereich, erfolgt eine Fehlermeldung.
Treten in einem Ausdruck gemischte Typen auf, so wird eine Typanpassung automatisch
durchgeführt. Typumwandlungen sind auch in Synchronaktionen möglich, siehe Kapitel
Bewegungssynchronaktionen, Implizite Typwandlung".
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-29
Flexible NC-Programmierung
1.10 Stringoperationen
Überblick
Neben den in diesem Kapitel beschriebenen klassischen Operationen "Zuweisung" und
"Vergleich" stehen weitere Möglichkeiten für Stringmanipulationen zur Verfügung:
Parameter
Wandlung in Klein-/Großbuchstaben:
STRING_ERG = TOUPPER (STRING) Ergebnistyp: STRING
STRING_ERG = TOLOWER (STRING) Ergebnistyp: STRING
Arbeitsvorbereitung
1-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.10 Stringoperationen
Beispiel
Funktion
Hierdurch lassen sich Variablen unterschiedlichen Typs als Bestandteil einer Meldung
(MSG) nutzen.
Erfolgt bei Verwendung des Operators << implizit für die Datentypen INT, REAL, CHAR und
BOOL (siehe "Verkettung von Strings").
Ein INT-Wert wird in die normal lesbare Form umgewandelt. Bei REAL-Werten werden bis
zu 10 Nachkommastellen angegeben.
Programmierung
Syntax
Semantik:
AXSTRING (AXIS) liefert den angegebenen Achsbezeichner als String.
Parameter
Variable vom Typ AXIS können durch die Funktion AXSTRING nach STRING gewandelt
werden.
FRAME-Variable können nicht konvertiert werden.
Beispiel:
MSG("Position:"<<$AA_IM[X])
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-31
Flexible NC-Programmierung
1.10 Stringoperationen
Beispiel
Funktion
Mit der Funktion NUMBER wird von STRING nach REAL konvertiert.
Liefert ISNUMBER den Wert FALSE, wird bei AUFRUF von NUMBER mit dem gleichen
Parameter Alarm ausgelöst.
Mit der Funktion AXNAME kann eine String in den Datentyp AXIS konvertiert werden. Kann
der String keinem projektierten Achsbezeichner zugeordnet werden, wird ein Alarm
ausgelöst.
Programmierung
Syntax
Semantik:
NUMBER (STRING) liefert die durch den String dargestellte Zahl als REAL-Wert zurück.
ISNUMBER (STRING) liefert TRUE, wenn der String eine nach den Regeln der Sprache
gültige REAL-Zahl darstellt. Damit kann überprüft werden, ob der String in eine gültige Zahl
gewandelt werden kann.
AXNAME (STRING) wandelt den angegebenen String in einen Achsbezeichner.
Beispiel
Arbeitsvorbereitung
1-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.10 Stringoperationen
Funktion
Diese Funktionalität schafft die Möglichkeit, einen String aus einzelnen Bestandteilen
zusammensetzen zu können.
Realisiert wird die Verkettung über den Operator: <<. Dieser Operator hat für alle
Kombinationen der Basistypen CHAR, BOOL, INT, REAL und STRING als Zieltyp STRING.
Eine eventuell notwendige Konvertierung wird nach den bestehenden Regeln
vorgenommen.
Programmierung
Syntax
Semantik
Die gegebenen Strings (ggf. der implizit gewandelte andere Typ) werden miteinander
verkettet.
Dieser Operator ist auch alleinig als sog. "unäre" Variante verfügbar. So ist es möglich, eine
explizite Typwandlung nach STRING auszuführen (nicht für FRAME und AXIS).
Die Typen FRAME und AXIS können nicht mit diesem Operator verwendet werden.
Syntax
Semantik
Der angegebene Typ wird implizit in den Typ STRING konvertiert.
Beispielsweise läßt sich so eine Meldung oder ein Kommando aus Textlisten
zusammensetzen und Parameter (etwa ein Bausteinname) einfügen:
MSG(STRG_TAB[LOAD_IDX]<<BAUSTEIN_NAME)
Vorsicht
Die Zwischenergebnisse bei der Stringverkettung dürfen die maximale Stringlänge nicht
überschreiten.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-33
Flexible NC-Programmierung
1.10 Stringoperationen
Funktion
Diese Funktionalität erlaubt es, alle Buchstaben eines Strings in eine einheitliche Darstellung
zu wandeln.
Syntax
Semantik
Alle Kleinbuchstaben werden in Groß- bzw. Kleinbuchstaben gewandelt.
Beispiel
Da es auch möglich ist, Benutzereingaben an der HMI anzustoßen, kann eine einheitliche
Darstellung mit Klein- oder Großbuchstaben erreicht werden:
DEF STRING [29] STRG
…
IF "[Link]" == TOUPPER (STRG) GOTOF LOAD_LEARN
Arbeitsvorbereitung
1-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.10 Stringoperationen
Funktion
Diese Funktionalität erlaubt es, die Länge eines Strings zu bestimmen.
Syntax
Semantik
Es wird eine Anzahl der Zeichen zurückgegeben, die - vom Anfang des Strings an gezählt -
kein 0-Zeichen sind.
Beispiel
Dies erlaubt es z. B. im Zusammenhang mit dem weiter unten beschriebenen
Einzelzeichenzugriff, das Ende des Strings zu bestimmen:
IF(STRLEN (BAUSTEIN_NAME) > 10) GOTOF FEHLER
Funktion
Diese Funktionalität erlaubt es, einzelne Zeichen bzw. einen String in einem weiteren String
zu suchen. Die Funktionsergebnisse geben an, an welcher Position des Strings das
Zeichen/der String im zu untersuchenden String gefunden wurde.
Programmierung
Syntax
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-35
Flexible NC-Programmierung
1.10 Stringoperationen
Parameter
So lassen sich Strings nach bestimmten Kriterien zerlegen, etwa an Positionen mit
Leerzeichen oder Pfadtrennzeichen ("/").
Arbeitsvorbereitung
1-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.10 Stringoperationen
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.
Programmierung
Syntax
Semantik
Im ersten Fall wird der Teilstring ab der Position, die durch den ersten Parameter festgelegt
ist, bis zum Ende des Strings zurückgegeben.
Im zweiten Fall ist der Ergebnisstring auf die maximale Länge, gegeben durch den dritten
Parameter, begrenzt.
Liegt die Anfangsposition hinter dem Stringende, wird der Leerstring (" ") zurückgegeben.
Ist die Anfangsposition oder die Länge negativ, wird ein Alarm ausgelöst.
Beispiel
Funktion
Diese Funktionalität erlaubt es, die einzelnen Zeichen eines Strings zu selektieren. Dies trifft
sowohl auf den lesenden als auch auf den schreibenden Zugriff zu.
Programmierung
Syntax
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-37
Flexible NC-Programmierung
1.10 Stringoperationen
Semantik
Es wird das Zeichen innerhalb des Strings gelesen/geschrieben, das an der angegebenen
Stelle steht. Ist die Positionsangabe negativ oder größer als der String, wird ein Alarm
ausgelöst.
Beispiel Meldungen:
Einsetzen eines Achsbezeichners in einem vorgefertigten String.
Parameter
Der Einzelzeichenzugriff ist nur auf vom Anwender definierte Variablen
(LUD-,GUD- und PUD-Daten) möglich.
Außerdem ist diese Art des Zugriffs bei einem Unterprogrammaufruf nur für Parameter vom
Typ "Call-By-Value" möglich.
Arbeitsvorbereitung
1-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.11 CASE-Anweisung
Funktion
Die CASE-Anweisung bietet die Möglichkeit, abhängig von einem aktuellen Wert des Typs
INT unterschiedlich zu verzweigen.
Je nachdem, welchen Wert die von der CASE-Anweisung überprüfte Konstante annimmt,
verzweigt das Programm an die Stelle, die durch das zugehörige Sprungziel bestimmt wird.
Programmierung
CASE (Ausdruck) OF Konstante1 GOTOF LABEL1 … DEFAULT GOTOF LABELn
CASE (Ausdruck) OF Konstante1 GOTOB LABEL1 … DEFAULT GOTOB LABELn
Parameter
Hinweis
Mehr Informationen zu den GOTO Befehlen siehe in Kapitel 10 Rechenparameter und
Programmsprünge.
Für die Fälle, in denen die Konstante keinen der vorbestimmten Werte annimmt, kann mit
der Anweisung DEFAULT ein Sprungziel bestimmt werden.
Falls die DEFAULT-Anweisung nicht programmiert ist, wird in diesen Fällen der auf die
CASE-Anweisung folgende Satz zum Sprungziel.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-39
Flexible NC-Programmierung
1.11 CASE-Anweisung
Beispiel 1
CASE(Ausdruck) OF 1 GOTOF LABEL1 2 GOTOF LABEL2 … DEFAULT GOTOF
LABELn
"1" und "2" sind mögliche Konstanten.
Ist der Wert des Ausdrucks = 1 (INT-Konstante), springe zu Satz mit LABEL1
Ist der Wert des Ausdrucks = 2 (INT-Konstante), springe zu Satz mit LABEL2
…
ansonsten springe zu Satz mit LABELn
Beispiel 2
Arbeitsvorbereitung
1-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.12 Kontrollstrukturen
Funktion
Die Steuerung arbeitet die NC-Sätze standardmäßig in der programmierten Reihenfolge ab.
Mit diesen Befehlen lassen sich - neben den in diesem Kapitel beschriebenen
Programmsprüngen - zusätzliche Alternativen und Programmschleifen festlegen.
Die Befehle ermöglichen strukturierte Programmierung und gute Lesbarkeit der Programme.
Programmierung
Schachtelungstiefe
Kontrollstrukturen gelten programm-lokal. Innerhalb jeder Unterprogrammebene ist eine
Schachtelungstiefe von bis zu 8 Kontrollstrukturen möglich.
+DXSWSURJUDPP 8QWHUSURJUDPP
352&68%352*
/223 5(3($7
)25
:+,/( )25
,) :+,/(
(1',) (1':+,/(
:+,/( :+,/(
(1':+,/(
68%352* (1')25
(1':+,/( (1')25
(1':+,/( 817,/
(1'/223
Vorsicht
Kontrollstrukturen sind nur innerhalb des Anweisungsteils eines Programms möglich.
Definitionen im Programmkopf können nicht bedingt oder wiederholt ausgeführt werden.
Schlüsselworte für Kontrollstrukturen dürfen ebenso wie Sprungziele nicht mit Makros
überlagert werden. Eine Abprüfung bei der Makrodefinition findet nicht statt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-41
Flexible NC-Programmierung
1.12 Kontrollstrukturen
Parameter
Beispiel Endlosprogramm
%_N_LOOP_MPF
LOOP
IF NOT $P_SEARCH ;kein Satzsuchlauf
G01 G90 X0 Z10 F1000
WHILE $AA_IM[X] <= 100
G1 G91 X10 F500 ;Bohrbild
Z–F100
Z5
ENDWHILE
Z10
ELSE ;Satzsuchlauf
MSG("Im Suchlauf wird nicht gebohrt")
ENDIF
$A_OUT[1] = 1 ;nächste Bohrplatte
G4 F2
ENDLOOP
M30
%_N_STUECKZAHL_MPF
Arbeitsvorbereitung
1-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.12 Kontrollstrukturen
Beispiel für Variable vom Typ INT und REAL als Zählschleife
%_N_VARIABLENZAEHLER_MPF
;bisherige Programmiermöglichkeit
DEF INT iVARIABLE1
R10 = R12-R20*R1 R11 = 6
FOR iVARIABLE1 = R10 TO R11 ;Zählervariable = Integervariable
R20 = R21*R22 + R33
ENDFOR
M30
;erweiterte Programmiermöglichkeit
R11 = 6
FOR R10 = R12-R20*R1 TO R11 ;Zählervariable = R-Parameter (Realvariable)
R20 = R21*R22 + R33
ENDFOR
M30
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. Labels sind in
solchen Sätzen nicht erlaubt.
Kontrollstrukturen werden interpretativ abgearbeitet. Bei Erkennen eines Schleifenendes
wird unter Berücksichtigung der dabei gefundenen Kontrollstrukturen nach dem
Schleifenanfang gesucht.
Daher wird im Interpreterbetrieb die Blockstruktur eines Programms nicht komplett geprüft.
Grundsätzlich empfiehlt sich, Kontrollstrukturen und Programmsprünge nicht gemischt zu
verwenden.
Bei Vorverarbeitung von Zyklen kann die korrekte Schachtelung von Kontrollstrukturen
überprüft werden.
Ablauf
1. IF-ELSE-ENDIF
Ein IF-ELSE-ENDIF-Block dient zur Auswahl zwischen 2 Alternativen:
IF (Ausdruck)
NC-Sätze
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-43
Flexible NC-Programmierung
1.12 Kontrollstrukturen
ELSE
NC-Sätze
ENDIF
Hat der Ausdruck den Wert TRUE, d. h. die Bedingung ist erfüllt, so wird der nachfolgende
Programmblock ausgeführt. Ist die Bedingung nicht erfüllt, so wird der ELSE-Zweig
durchlaufen.
Der ELSE-Zweig kann entfallen.
2. Endlos-Programmschleife LOOP
Die Endlos-Schleife findet Verwendung in Endlos-Programmen. Am Schleifenende findet
immer wieder der Rücksprung zum Schleifenanfang statt.
LOOP
NC-Sätze
ENDLOOP
3. Zählschleife FOR
Die FOR-Schleife wird verwendet, wenn ein Arbeitsablauf mit einer festen Anzahl von
Durchläufen wiederholt werden soll. Die Zählvariable wird dabei vom Anfangswert bis zum
Endwert hochgezählt. Der Anfangswert muss kleiner sein als der Endwert. Die Zählvariable
kann vom Typ INT oder REAL sein. Der Typ REAL wird genommen, wenn z. B. R-Parameter
für eine Zählschleife programmiert werden. Ist die Zählvariable vom Typ REAL, wird ihr Wert
auf einen ganzzahligen Wert gerundet.
FOR Variable = Anfangswert TO Endwert
NC-Sätze
ENDFOR
4. Programmschleife mit Bedingung am Schleifenanfang WHILE
Die WHILE-Schleife wird durchlaufen, solange die Bedingung erfüllt ist.
WHILE Ausdruck
NC-Sätze
ENDWHILE
5. Programmschleife mit Bedingung am Schleifen-Ende REPEAT
Die REPEAT-Schleife wird einmal durchlaufen und solange wiederholt, bis die Bedingung
erfüllt ist.
REPEAT
NC-Sätze
UNTIL (Ausdruck)
Arbeitsvorbereitung
1-44 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.13 Programmkoordinierung
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.
Bei der Inbetriebnahme können für die Steuerung zwei oder mehr Kanäle eingerichtet
werden.
Programmkoordinierung
Sind mehrere Kanäle an der Fertigung eines Werkstücks beteiligt, so kann eine
Synchronisation der Programmabläufe erforderlich werden.
Für diese Programmkoordinierung gibt es besondere Anweisungen (Kommandos). Sie
stehen jeweils in einem Satz für sich.
Hinweis
Programmkoordinierung ist auch im eigenen Kanal möglich.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-45
Flexible NC-Programmierung
1.13 Programmkoordinierung
Parameter
Zum Datenaustausch zwischen den Programmen können die Variablen benutzt werden,
über die Kanäle gemeinsam verfügen (NCK-spezifische globale Variable). Ansonsten wird
die Programmerstellung für jeden Kanal getrennt vorgenommen.
Arbeitsvorbereitung
1-46 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.13 Programmkoordinierung
Hinweis
Alle obigen Befehle müssen in eigenständigen Sätzen stehen.
Die Anzahl der Marker ist abhängig von der eingebauten CPU.
Kanalnummern
Für die zu koordinierenden Kanäle können bis zu 10 Kanäle als Kanalnummer (Integerwert)
angegeben werden.
Kanalnamen
Kanalnamen müssen über Variable (siehe Kapitel "Variable und Rechenparameter") in
Nummern gewandelt werden oder anstelle von Kanalnummern können auch die über
$MC_CHAN_NAME definierten Kanalnamen (Bezeichner oder Schlüsselwort) programmiert
werden. Die definierten Namen müssen den NC-Sprachkonventionen entsprechen (D. h. die
ersten beiden Zeichen müssen entweder aus Buchstaben oder ein Unterstrich bestehen).
Vorsicht
Die Nummernzuordnung ist vor leichtfertiger Änderung zu sichern.
Die Namen dürfen nicht bereits in der NC in anderer Bedeutung wie z.B. als Schlüsselwort,
Sprachbefehl, Achsname etc. vorhanden sein.
SETM() und CLEARM()
SETM()und CLEARM() können auch aus einer Synchronaktion heraus programmiert
werden. Siehe Kapitel "Wartemarken setzen/ Löschen: SETM CLEARM"
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-47
Flexible NC-Programmierung
1.13 Programmkoordinierung
Beispiel
Kanal mit Namen "MASCHINE" soll Kanalnummer 1 erhalten,
Kanal mit Namen "LADER" soll Kanalnummer 2 erhalten:
DEF INT MASCHINE=1, LADER=2
Die Variablen erhalten den gleichen Namen wie die Kanäle.
Damit lautet beispielsweise die Anweisung START:
START(MASCHINE)
Beispiel Programmkoordinierung
Kanal 1:
%_N_MPF100_MPF
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
Kanal 2:
%_N_MPF200_MPF
;$PATH=/_N_MPF_DIR
;Bearbeiten im Kanal 2
N70 WAITM(1,1,2) ;Warten auf WAIT-Marke 1 im Kanal 1 und
. ;im Kanal 2 weiteres Bearbeiten in Kanal 1
Arbeitsvorbereitung
1-48 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.13 Programmkoordinierung
1 1
:$,70 :$,70
.DQDO
1
03) 1
ZDUWHQ 0
.DQDO 1
1 1
ZDUWHQ ZDUWHQ 0
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-49
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
Funktion
Die Zusammenhänge bezüglich Programmierung einer Interruptroutine werden anhand
eines typischen Beispiels verdeutlicht:
Während der Bearbeitung bricht das Werkzeug. Hierdurch wird ein Signal ausgelöst, das
den laufenden Bearbeitungsablauf stoppt und gleichzeitig ein Unterprogramm –die sog.
Interruptroutine –startet. In diesem Unterprogramm stehen alle Anweisungen, die in diesem
Fall ausgeführt werden sollen.
Ist das Unterprogramm abgearbeitet (und hierdurch die Betriebsbereitschaft hergestellt),
springt die Steuerung in das Hauptprogramm zurück und setzt die Bearbeitung –je nach
REPOS-Befehl –an der Unterbrechungsstelle fort.
,QWHUUXSWURXWLQH
:HJIDKUHQYRQ
GHU.RQWXU
:HUN]HXJZHFKVHO
1HXH.RUUHNWXU
ZHUWH
:LHGHUDQIDKUHQ
+DXSW
SURJUDPP
Programmierung
SETINT(3) PRIO=1 NAME
SETINT(3) PRIO=1 LIFTFAST
SETINT(3) PRIO=1 NAME LIFTFAST
G… X… Y… ALF=…
DISABLE (3)
ENABLE (3)
CLRINT (3)
Arbeitsvorbereitung
1-50 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
Parameter
Rückzugsbewegung
Die Richtung der Rückzugsbewegung wird durch den G-Code LFTXT bzw. LFWP mit der
Variablen ALF programmiert.
● LFTXT
Die Ebene der Rückzugsbewegung wird aus der Bahntangente und der
Werkzeugrichtung bestimmt. Mit diesem G-Code (Standardeinstellung) wird das bisherige
Verhalten beim Schnellabheben programmiert.
● LFWP
Die Ebene der Rückzugsbewegung ist die aktive Arbeitsebene, die mit den G-Codes
G17, G18 oder G19 ausgewählt wird. Die Richtung der Rückzugsbewegung ist
unabhängig von der Bahntangente. Damit ist ein achsparalleles Schnellabheben
programmierbar.
● LFPOS
Rückzug der mit POLFMASK bekannt gemachten Achse auf die mit POLF programmierte
absolute Achsposition. Siehe auch NC-geführtes Rückziehen im Funktionshandbuch M3.
ALF hat keinen Einfluss auf die Abheberichtung für mehrere Achsen sowie für mehrere
Achsen im linearen Zusammenhang.
In der Ebene der Rückzugsbewegung wird wie bisher mit ALF die Richtung in diskreten
Schritten von 45 Grad programmiert. Bei LFTXT ist für ALF=1 der Rückzug in
Werkzeugrichtung festgelegt.
Bei LFWP ergibt sich die Richtung in der Arbeitsebene nach folgender Zuordnung:
● G17:X/Y-EbeneALF=1Rückzug in X-Richtung
ALF=3Rückzug in Y-Richtung
● G18:Z/X-EbeneALF=1Rückzug in Z-Richtung
ALF=3Rückzug in X-Richtung
● G19:Y/Z-EbeneALF=1Rückzug in Y-Richtung
ALF=3Rückzug in Z-Richtung
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-51
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
Beispiel
In diesem Beispiel soll ein abgebrochenes Werkzeug automatisch durch ein
Schwesterwerkzeug ersetzt werden. Die Bearbeitung wird dann mit dem neuen Werkzeug
fortgesetzt.
Hauptprogramm
N10 SETINT(1) PRIO=1 W_WECHS -> Wenn Eingang 1 schaltet, wird sofort das
-> LIFTFAST Werkzeug mit Schnellabheben (Code Nr. 7 für
Werkzeugradiuskorrektur G41) von der Kontur
weggefahren. Dann wird Interruptroutine
W_WECHS abgearbeitet.
N20 G0 Z100 G17 T1 ALF=7 D1
N30 G0 X-5 Y-22 Z2 M3 S300
N40 Z-7
N50 G41 G1 X16 Y16 F200
N60 Y35
N70 X53 Y65
N90 X71.5 Y16
N100 X16
N110 G40 G0 Z100 M30
Unterprogramm
Vorsicht
Wenn Sie im Unterprogramm keinen der REPOS-Befehle programmieren, so wird auf den
Endpunkt des Satzes, der auf den unterbrochenen Satz folgt, positioniert.
Arbeitsvorbereitung
1-52 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
Hinweis
Innerhalb der Interruptroutine können SETINT-Anweisungen programmiert und hierdurch
weitere Interruptroutinen scharf geschaltet werden. Das Auslösen erfolgt erst durch den
Eingang.
Für weitere Informationen zur Erstellung von Unterprogrammen siehe Kapitel
"Unterprogrammtechnik, Makrotechnik".
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-53
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
6(7,17
6(7,17
6(7,17
6(7,17
Arbeitsvorbereitung
1-54 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-55
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
In beiden Fällen wird beim Schalten von Eingang 2 mit höchster Priorität Schnellabheben
ausgeführt.
● Bei N10 wird die Bearbeitung mit dem Alarm 16010 gestoppt (da kein asynchrones
Unterprogramm, ASUP, angegeben wurde).
● Bei N30 wird das ASUP "ABHEB-Z" ausgeführt.
Bei der Bestimmung der Abheberichtung wird geprüft, ob ein Frame mit Spiegelung aktiv ist.
In diesem Fall werden bei der Abheberichtung bezogen auf die Tangentenrichtung, rechts
und links vertauscht. Die Richtungsanteile in Werkzeugrichtung werden nicht gespiegelt.
Aktiviert wird dieses Verhalten durch das MD $MC_LIFTFAST_WITH_MIRROR=TRUE
Arbeitsvorbereitung
1-56 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
* $/)
7DQJHQWH
7DQJHQWH
(LQJULIIV
SXQNW
7DQJHQWH
7DQJHQWH
(LQJULIIV
SXQNW
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-57
Flexible NC-Programmierung
1.14 Interruptroutine (SETINT, DISABLE, ENABLE, CLRINT)
$QVLFKWLQ
=XVWHOODFKVH
9HUIDKUULFKWXQJ
r
r
'UDXIVLFKW
*
*
9HUIDKUULFKWXQJ
Vorsicht
Bei eingeschalteter Werkzeugradiuskorrektur sollten
bei G41 die Codierungen 2, 3, 4 und
bei G42 die Codierungen 6, 7, 8
nicht verwendet werden.
In diesen Fällen würde das Werkzeug zur Kontur hinfahren und mit dem Werkstück
kollidieren.
Arbeitsvorbereitung
1-58 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
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. Die Achse wird zwischen den Kanälen getauscht.
Achstauscherweiterungen
Eine Achse/Spindel kann mit Vorlaufstopp und Synchronisation zwischen Vorlauf und
Hauptlauf oder alternativ auch ohne Vorlaufstopp getauscht werden. Außerdem ist ein
Achstausch auch möglich über
● Achscontainer-Drehung AXCTSWE bzw. AXCTWED mittels impliziten GET/GETD.
● Frame mit Rotation, wenn diese Achse hierüber mit anderen Achsen verknüpft ist.
● Synchronaktionen, siehe Bewegungssynchronaktionen, "Achstausch RELEASE, GET".
Maschinenhersteller
Bitte beachten Sie die Angaben des Maschinenherstellers. Über projektierbare
Maschinendaten muss eine Achse für den Achstausch in allen Kanälen eindeutig definiert
sein und das Achstauschverhalten ist auch über Maschinedaten veränderbar einstellbar.
Programmierung
RELEASE(Achsname, Achsname, ...) oder RELEASE(S1)
GET(Achsname, Achsname, ...) oder GET(S2)
oder
GETD(Achsname, Achsname, ...) oder GETD (S3)
Mit GETD (GET Directly) wird eine Achse direkt aus einem anderen Kanal geholt. Das
bedeutet, dass zu diesem GETD kein passendes RELEASE in einem anderen Kanal
programmiert sein muss. Es bedeutet aber auch, dass jetzt eine andere
Kanalkommunikation aufgebaut werden muss (z. B. Waitmarken).
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-59
Flexible NC-Programmierung
1.15 Achstausch , Spindeltausch (RELEASE, GET, GETD)
Vorsicht
Eine mit GET übernommene Achse bzw. Spindel bleibt auch nach einem Tasten- oder
Programm-RESET diesem Kanal zugeordnet.
Bei neuem Programmstart muss die Zuordnung der getauschten Achsen bzw. Spindeln
programmtechnisch erfolgen, falls die Achse in ihrem Grundkanal benötigt wird.
Bei POWER ON wird sie dem im Maschinendatum hinterlegten Kanal zugeordnet.
%_N_MAIN_MPF
INIT (2,"TAUSCH2") ;Programm TAUSCH2 im Kanal 2 anwählen
N… START (2) ;Programm in Kanal 2 starten
N… GET (AX2) ;Achse AX2 übernehmen
…
…
N… RELEASE (AX2) ;Achse AX2 freigeben
N… WAITM (1,1,2) ;Warten auf WAIT-Marke in Kanal 1 und 2
;zur Synchronisation in den beiden Kanälen
N… ;Weiterer Ablauf nach Achstausch
N… M30
%_N_TAUSCH2_MPF
N… RELEASE (AX2)
N160 WAITM (1,1,2) ;Warten auf WAIT-Marke in Kanal 1 und 2
;zur Synchronisation in den beiden Kanälen
N150 GET (AX2) ;Achse AX2 übernehmen
N… ;Weiterer Ablauf nach Achstausch
N…M30
Arbeitsvorbereitung
1-60 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.15 Achstausch , Spindeltausch (RELEASE, GET, GETD)
N01 G0 X0
N02 RELEASE(AX5)
N03 G64 X10
N04 X20
N05 GET(AX5) ;Wenn keine Synchronisation nötig, wird
;dies kein ausführbarer Satz.
N06 G01 F5000 ;Kein ausführbarer Satz.
N07 X20 ;Kein ausführbarer Satz, da X-Position wie
;in N04.
N08 X30 ;Erster ausführbarer Satz nach N05.
N09 …
N010 M4 S100
N011 G4 F2
N020 M5
N021 SPOS=0
N022 POS[B]=1
N023 WAITP(B) ;Achse B wird zur neutralen Achse
N030 X1 F10
N031 X100 F500
N032 X200
N040 M3 S500 ;Achse löst kein Vorlaufstopp/REORG aus
N041 G4 F2
N050 M5
N099 M30
Wird die Spindel bzw. Achse B unmittelbar nach dem Satz N023 als PLC-Achse z. B. auf
180 Grad und zurück auf 1 Grad verfahren, dann wird diese Achse wieder zur neutralen
Achse und löst im Satz N40 keinen Vorlaufstopp auf.
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-61
Flexible NC-Programmierung
1.15 Achstausch , Spindeltausch (RELEASE, GET, GETD)
Beschreibung
Achse freigeben: RELEASE
Bei der Achsfreigabe ist zu beachten:
1. Die Achse darf an keiner Transformation beteiligt sein.
2. Bei Achskopplungen (Tangentialsteuerung), müssen alle Achsen des Verbands
freigegeben werden.
3. Eine konkurrierende Positionierachse kann in diesem Zustand nicht getauscht werden.
4. Bei einer Gantry-Masterachse werden auch alle Folgeachsen getauscht.
5. Bei Achskopplungen (Mitschleppen, Leitwertkopplung, Elektronisches Getriebe) kann nur
die Leitachse des Verbandes freigegeben werden.
Achse übernehmen: GET
Mit diesem Befehl wird der eigentliche Achstausch durchgeführt. Die Verantwortung für die
Achse liegt vollständig bei dem Kanal, in dem der Befehl programmiert wurde.
Auswirkungen von GET:
Achstausch mit Synchronisierung:
Eine Achse muss immer dann synchronisiert werden, wenn sie zwischenzeitlich in einem
anderen Kanal oder der PLC zugeordnet war, und vor dem GET keine Synchronisierung
durch "WAITP", G74 oder Restweglöschen stattgefunden hat.
● Ein Vorlaufstopp erfolgt (wie bei STOPRE).
● Die Bearbeitung wird so lange unterbrochen, bis der Tausch vollständig ausgeführt ist.
Automatisches "GET"
Wenn eine Achse prinzipiell im Kanal verfügbar, jedoch derzeitig nicht als "Kanal-Achse"
vorhanden ist, wird automatisch ein GET ausgeführt. Falls die Achse(n) schon synchronisiert
ist (sind), wird kein Vorlaufstopp erzeugt.
Arbeitsvorbereitung
1-62 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.16 Achse einem anderen Kanal übergeben (AXTOCHAN)
Funktion
Mit dem Sprachbefehl AXTOCHAN kann eine Achse angefordert werden, um diese Achse
einem anderen Kanal zu übergeben. Die Achse kann sowohl vom NC-Teileprogramm als
auch aus einer Synchronaktion heraus in den entsprechenden Kanal gebracht werden.
Programmierung
AXTOCHAN(Achsname,Kanalnummer[,Achsname,Kanalnummer[,...]])
Parameter
Hinweis
Konkurrierende Positionierachse und ausschließlich PLC kontrollierte Achse
Eine PLC-Achse kann als konkurrierende Positionierachse den Kanal nicht wechseln. Eine
ausschließlich von der PLC kontrollierte Achse kann nicht dem NC-Programm zugeordnet
werden.
Literatur
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Positionierachsen (P2)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-63
Flexible NC-Programmierung
1.17 NEWCONF: Maschinendaten wirksam setzen
Beschreibung
AXTOCHAN im NC-Programm
Dabei wird nur bei einer Anforderung der Achse für das NC-Programm im eigenen Kanal ein
GET durchgeführt und damit auch auf die tatsächliche Zustandsänderung gewartet. Wird die
Achse für einen anderen Kanal angefordert oder soll sie zur neutralen Achse im eigenen
Kanal werden, dann nur wird die Anforderung entsprechend abgesetzt.
AXTOCHAN aus einer Synchronaktion
Wird eine Achse für den eigenen Kanal angefordert so wird AXTOCHAN aus einer
Synchronaktion auf ein GET aus einer Synchronaktion abgebildet. In diesem Fall wird die
Achse bei der ersten Anforderung für den eigenen Kanal zur neutralen Achse. Bei der
zweiten Anforderung wird die Achse dem NC-Programm analog zur GET-Anforderung im
NC-Programm zugeordnet. Zur GET-Anforderung aus einer Synchronaktion siehe Kapitel
"Bewegungssynchronaktionen".
Funktion
Mit dem Sprachbefehl NEWCONF werden alle Maschinendaten der Wirksamkeitsstufe
"NEW_CONFIG" wirksam gesetzt. Die Funktion kann auch in der Bedienoberfläche HMI
durch Betätigen des Softkeys "MD wirksam setzen" aktiviert werden.
Bei der Ausführung der Funktion NEWCONF erfolgt ein impliziter Vorlaufstopp, d.h. die
Bahnbewegung wird unterbrochen.
Programmierung
NEWCONF
Arbeitsvorbereitung
1-64 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.18 WRITE: Datei schreiben
Parameter
Hinweis
Um alle Änderungen sicher wirksam werden zu lassen, muss die Anweisung NEWCONF in
jedem Kanal ausgeführt werden, in dem auch die von den Maschinendaten veränderten
betroffenen Achsen oder Funktionen aktuell gerechnet werden.
Bei NEWCONF werden keine axialen Maschinendaten wirksam gesetzt.
Für von der PLC kontrollierte Achsen muss ein axialer RESET ausgeführt werden.
Beispiel
Fräsbearbeitung: Bohrposition mit verschiedenen Technologien bearbeiten
Funktion
Mit dem WRITE-Befehl können Daten (z. B. Messergebnisse bei den Messzyklen) an das
Ende der angegebenen Datei angefügt werden.
Die angelegten Dateien können
● von allen Benutzern gelesen, geändert und gelöscht werden,
● in das gerade in Abarbeitung befindliche Teileprogramm geschrieben werden.
Die Sätze werden am Dateiende eingefügt, also nach M30.
Die aktuell eingestellte Schutzstufe muss gleich oder größer dem WRITE-Recht der Datei
sein. Ist dies nicht der Fall, wird der Zugriff mit Fehlermeldung (error=13) abgelehnt
Programmierung
WRITE(VAR INT error, CHAR[160] filename, CHAR[200] STRING)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-65
Flexible NC-Programmierung
1.18 WRITE: Datei schreiben
Parameter
Maschinenhersteller
Mit dem Befehl WRITE können aus dem Teileprogramm Sätze in einer Datei abgelegt
werden. Die Dateigröße für Protokolldateien (kByte) wird im MD festgelegt.
Über das MD 11420: LEN_PROTOCOL_FILE wird die maximale Länge der Protokolldateien
in KByte eingestellt. Diese Länge gilt für alle Dateien, die mit dem WRITE-Befehl angelegt
werden.
Erreicht die Datei die angegebene Länge, wird eine Fehlermeldung ausgegeben, der
STRING wird nicht abgespeichert. Sofern der Speicher ausreicht, kann eine neue Datei
angelegt werden.
Arbeitsvorbereitung
1-66 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.19 DELETE: Datei löschen
Hinweis
Eine per WRITE-Befehl zu beschreibende Datei wird neu angelegt, wenn sie nicht in der NC
existiert.
Existiert eine Datei gleichen Namens auf der Festplatte, wird diese nach dem Schließen der
Datei (in der NC) überschrieben.
Abhilfe: Unter Bedienbereich Dienste über den Softkey "Eigenschaften" Namen in der NC
ändern.
Beispiel
Funktion
Mit dem DELETE-Befehl können alle Dateien gelöscht werden, egal, ob diese per WRITE-
Befehl entstanden sind oder nicht. Auch Dateien, die unter höherer Zugriffsstufe erstellt
wurden, können mit DELETE gelöscht werden.
Programmierung
DELETE(VAR INT error, CHAR[160] filename)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-67
Flexible NC-Programmierung
1.19 DELETE: Datei löschen
Parameter
Beispiel
Arbeitsvorbereitung
1-68 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.20 READ: Zeilen in Datei lesen
Funktion
Der READ-Befehl liest in der angegebenen Datei eine oder mehrere Zeilen und legt die
gelesenen Informationen in einem Feld vom Typ STRING ab. Jede gelesene Zeile belegt in
diesem Feld ein Feldelement.
Die aktuell eingestellte Schutzstufe muss gleich oder größer dem READ-Recht der Datei
sein. Ist dies nicht der Fall, wird der Zugriff mit Fehlermeldung (error=13) abgelehnt.
Programmierung
READ(VAR INT error, STRING[160] file, INT line, INT number,
VAR STRING[255] result[])
Parameter
READ In der angegebenen Datei eine oder mehrere Zeilen lesen und in
einem Feldelement eines Feldes ablegen.
Die Information liegt als STRING vor.
error Fehlervariable für Rückgabe (Call-By-Reference-Parameter, Typ INT)
0: kein Fehler
1: Pfad nicht erlaubt
2: Pfad nicht gefunden
3: Datei nicht gefunden
4: falscher Dateityp
13: Zugriffsrechte nicht ausreichend
21: Zeile nicht vorhanden (Parameter "line" oder "number"
größer als Anzahl Zeilen der Datei)
22: Feldlänge der Ergebnis-Variable "result" ist zu klein
23: Zeilenbereich zu groß (Parameter "number"
so groß gewählt, dass über das Dateiende hinausgelesen wird)
file Name/Pfad der zu lesenden Datei (Call-By-Value-Parameter vom Typ
STRING mit einer max. Länge von 160 Byte). Die Datei muss sich im
Anwenderspeicher des NCK's (Passives Filesystem) befinden. Dem
Dateinamen kann die Domainkennung _N_ vorangestellt werden. Fehlt
die Domainkennung wird sie entsprechend ergänzt.
Die Dateikennung ("_" plus drei Zeichen, z. B. _SPF) ist optional
Ist keine Kennung vorhanden, wird der Dateiname automatisch mit
_MPF versehen
Ist in "file" keine Pfadangabe vorhanden, wird die Datei im
aktuellen Verzeichnis (=Verzeichnis des angewählten Programms)
gesucht. Vorhandene Pfadangaben in "file", müssen mit einem "/"
beginnen (absolute Pfadangabe).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-69
Flexible NC-Programmierung
1.20 READ: Zeilen in Datei lesen
Sind im Parameter "number" weniger Zeilen angegeben als die Feldlänge von "result"
beträgt, so werden die restlichen Feldelemente nicht verändert.
Der Abschluss einer Zeile durch die Steuerzeichen "LF" (Line Feed) oder "CR LF" (Carrige
Return Line Feed) wird nicht in der Zielvariablen "result" abgelegt. Gelesene Zeilen werden
abgeschnitten, wenn die Zeile länger als die Stringlänge der Zielvariable "result" ist. Es
erfolgt keine Fehlermeldung.
Hinweis
Binäre Files können nicht eingelesen werden.
Es wird der Fehler error=4:falscher Dateityp ausgegeben. Folgenden Dateitypen sind nicht
lesbar: _BIN, _EXE, _OBJ, _LIB, _BOT, _TRC, _ACC, _CYC, _NCK.
Beispiele
Arbeitsvorbereitung
1-70 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.21 ISFILE: Datei im Anwendunsspeicher NCK vorhanden
Funktion
Mit dem ISFILE-Befehl wird geprüft, ob eine Datei im Anwenderspeicher des NCK's
(passives Filesystem) existiert. Als Ergebnis wird TRUE (Datei vorhanden) oder FALSE
(Datei nicht vorhanden) geliefert.
Programmierung
result=ISFILE(STRING[160]file)
Parameter
Beispiel
N10 DEF BOOL RESULT
N20 RESULT=ISFILE("TESTFILE")
N30 IF(RESULT==FALSE)
N40 MSG("DATEI NICHT VORHANDEN")
N50 M0
N60 ENDIF
...
oder:
N30 IF(NOT ISFILE("TESTFILE"))
N40 MSG("DATEI NICHT VORHANDEN")
N50 M0
N60 ENDIF
...
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-71
Flexible NC-Programmierung
1.22 FILEDATE/TIME/SIZE/STAT/INFO: File Informationen
Funktion
Über die Sprachbefehle FILEDATE, FILETIME, FILESIZE, FILESTAT und FILEINFO können
bestimmte File Informationen wie Datum, Urzeit, aktuelle Dateigröße, File Status oder die
Summe dieser Informationen vom Anwenderspeicher des NCK`s (passives Filesystem)
ausgelesen werden.
Die aktuell eingestellte Schutzstufe muss gleich oder größer dem Show-Recht des
übergeordneten Verzeichnisses sein. Ist dies nicht der Fall, wird der Zugriff mit
Fehlermeldung (error=13) abgelehnt.
Anwendung:
Bereitstellung neuer File Informationen, wenn sich eine Datei für den Anwender geändert hat
und diese z. B. neu berechnet werden soll.
Programmierung
FILExxxx(VAR INT error, STRING[160] file, VAR {STRING[yy]INT}result)
Parameter
FILEDATE liefert das Datum des letzten schreibenden Zugriffs auf die
Datei
FILETIME liefert die Uhrzeit des letzten schreibenden Zugriffs auf die
Datei
FILESIZE liefert die aktuelle Größe der Datei
FILESTAT liefert den Filestatus wie Lese-, Schreib- und Ausführrechte
FILEINFO liefert die Summe der Informationen aus einem Directory-
Eintrag
error Fehlervariable für Rückgabe Darstellung
0: kein Fehler
1: Pfad nicht erlaubt
2: Pfad nicht gefunden
3: Datei nicht gefunden
13: Zugriffsrechte nicht ausreichend
22: Feldlänge der Ergebnis-Variable "result" ist zu klein
Arbeitsvorbereitung
1-72 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.22 FILEDATE/TIME/SIZE/STAT/INFO: File Informationen
Beispiele
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-73
Flexible NC-Programmierung
1.23 CHECKSUM: Checksummenbildung über ein Feld
Funktion
Mit CHECKSUM bilden Sie die Checksumme über ein Feld.
Anwendung:
Prüfung, ob sich beim Abspanen die Eingangskontur geändert hat.
Programmierung
error=CHECKSUM(VAR STRING[16] chksum, STRING[32]array, INT first,
INT last)
Parameter
Hinweis
Die Parameter first und last sind optional. Werden keine Spaltenindizes angegeben, so wird
die Checksumme über das komplette Feld gebildet.
Das Ergebnis der Checksumme ist immer eindeutig. Bei Änderungen eines Feldelements
ergibt sich auch ein anderer Ergebnisstring.
Arbeitsvorbereitung
1-74 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Flexible NC-Programmierung
1.24 ROUNDUP: Aufrunden
Beispiel
Funktion
Die Funktion ROUNDUP liefert bei
● positiven Eingabewerten
die nächste größere ganze Zahl
● negativen Eingabewerten
die nächste kleinere ganze Zahl
Ist der Eingabewert vom Typ Integer (eine ganze Zahl), so wird der Wert unverändert
zurückgeliefert.
Programmierung
ROUNDUP(Variable Real)
Parameter
ROUNDUP im NC-Teileprogramm
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 1-75
Flexible NC-Programmierung
1.24 ROUNDUP: Aufrunden
Beispiele
ROUNDUP(3.1) ergibt 4.0
ROUNDUP(3.6) ergibt 4.0
ROUNDUP(-3.1) ergibt -3.0
ROUNDUP(-3.6) ergibt -3.0
ROUNDUP(3.0) ergibt 3.0
ROUNDUP(3) ergibt 3.0
Arbeitsvorbereitung
1-76 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik 2
2.1 2.1 Unterprogramme einsetzen
Funktion
Im Prinzip ist ein Unterprogramm aufgebaut wie ein Teileprogramm. Es setzt sich aus NC-
Sätzen mit Fahr- und Schaltbefehlen zusammen.
Prinzipiell besteht zwischen Haupt- und Unterprogramm kein Unterschied. Das
Unterprogramm enthält entweder Arbeitsabläufe oder Arbeitsabschnitte, die mehrfach
durchlaufen werden sollen.
+DXSWSURJUDPP
8QWHUSURJUDPP
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-1
Unterprogrammtechnik, Makrotechnik
2.1 Unterprogramme einsetzen
Anwendung
Bearbeitungsfolgen, die sich wiederholen, programmiert man nur einmal in einem
Unterprogramm. Beispielsweise bestimmte Konturformen, die immer wieder vorkommen
oder auch Bearbeitungszyklen.
Dieses Unterprogramm kann dann in jedem beliebigen Hauptprogramm aufgerufen und
abgearbeitet werden.
8QWHUSURJUDPP
Arbeitsvorbereitung
2-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.1 Unterprogramme einsetzen
Unterprogrammname
Um ein bestimmtes Unterprogramm aus mehreren auswählen zu können, bekommt das
Programm einen Namen. Der Name kann beim Erstellen des Programms unter Einhaltung
folgender Festlegungen frei gewählt werden:
● die ersten beiden Zeichen müssen Buchstaben sein
● sonst Buchstaben, Ziffern oder Unterstriche
● maximal 31 Zeichen verwenden
● keine Trennzeichen verwenden (siehe Kapitel "Sprachelemente der
Programmiersprache")
Es gelten die gleichen Regeln wie für Hauptprogrammnamen.
3URJUDPPHEHQHQPD[
+DXSW
SURJU 8QWHU
SURJU 8QWHU
SURJU
... 8QWHU
... SURJU
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-3
Unterprogrammtechnik, Makrotechnik
2.2 Unterprogramme mit SAVE-Mechanismus
Funktion
Hierfür geben Sie bei der Definitionsanweisung mit PROC zusätzlich den Befehl SAVE an.
Programmierung
Im Unterprogramm
PROC Unterprogrammname SAVE
Durch das SAVE-Attribut werden die modalen G-Funktionen nach dem Ende der
Unterprogramme auf den Wert, den sie beim Start der Unterprogramme hatten, eingestellt.
Ergibt sich dadurch eine Änderung der
G-Funktionsgruppe 8 (einstellbare Nullpunktverschiebung)
oder
G-Funktionsgruppe 52 (Framedrehung eines drehbaren Werkstücks)
oder
G–Funktionsgruppe 53 (Framedrehung in Werkzeugrichtung),
so werden die jeweiligen Frames wiederhergestellt.
● Der aktive Basisframe wird beim Unterprogrammrücksprung nicht verändert
● Die programmierbare Nullpunktverschiebung wird wiederhergestellt
Parameter
Das Verhalten von einstellbarer Nullpunktverschiebung und Basisframe kann über das
Maschinendatum MD 10617: FRAME_SAVE_MASK verändert werden. Siehe Literatur,
/FB1/ Funktionshandbuch Grundfunktionen; Achsen, Koordinatensysteme, Frames (K2),
Kapitel "Unterprogrammrücksprung mit SAVE".
Beispiel
Unterprogrammdefinition
PROC KONTUR (REAL WERT1) SAVE
N10 G91 …
N100 M17
Hauptprogramm
%123
N10 G0 X… Y… G90
N20…
N50 KONTUR (12.4)
N60 X… Y…
Im Unterprogramm KONTUR wirkt G91 Kettenmaß. Nach Rücksprung ins Hauptprogramm
wirkt wieder Absolutmaß, da die modalen Funktionen des Hauptprogramms mit SAVE
gespeichert wurden.
Arbeitsvorbereitung
2-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.3 Unterprogramme mit Parameterübergabe (PROC, VAR)
Funktion
Programmanfang, PROC
Ein Unterprogramm, das beim Programmablauf vom aufrufenden Programm Parameter
übernehmen soll, wird mit dem Schlüsselwort PROC gekennzeichnet.
Unterprogrammende M17, RET
Mit dem Befehl M17 kennzeichnet man das Unterprogrammende mit gleichzeitiger
Anweisung zum Rücksprung in das aufrufende Hauptprogramm. Alternativ zu M17: Das
Schlüsselwort RET steht für Unterprogrammende ohne Unterbrechung des
Bahnsteuerbetriebs und ohne Funktionsausgabe an die PLC.
Programmierung
Die für die Parameterübergabe relevanten Parameter müssen im Programmanfang des
Unterprogramms mit Typ und Name aufgeführt werden.
Parameterübergabe Call-by-value
PROC PROGRAMMNAME(VARIABLENTYP1 VARIABLE1,VARIABLENTYP2 VARIABLE2,…)
Beispiel:
PROC KONTUR(REAL LAENGE, REAL BREITE)
Parameterübergabe Call-by-reference, Kennzeichnung mit Schlüsselwort VAR
PROC PROGRAMMNAME(VAR VARIABLENTYP1 VARIABLE1,VAR VARIABLENTYP2 …,)
Beispiel:
PROC KONTUR(VAR REAL LAENGE, VAR REAL BREITE)
Übergabe von Feldern Call-by-reference, Kennzeichnung mit Schlüsselwort VAR
PROC PROGRAMMNAME(VAR VARIABLENTYP1 FELDNAME1[Feldgröße],
VAR VARIABLENTYP2 FELDNAME2[Feldgröße],
VAR VARIABLENTYP3 FELDNAME3[Feldgröße1, Feldgröße2],
VAR VARIABLENTYP4 FELDNAME4[ ],
VAR VARIABLENTYP5 FELDNAME5 [,Feldgröße])
Beispiel:
PROC PALETTE(VAR INT FELD[,10])
Parameter
PROC Erste Anweisung eines Programms
PROGRAMMNAHME Unterprogrammname, das die relevanten Werte der Parameter
übernehmen soll
VARIABLENTYP Variablentypen mit Angabe der Variablenwerte.
VARIABLE Es sind jeweils mehrere Angaben sind möglich.
VAR Schlüsselwort für die Art der Parameterübergabe
FELDNAME Elemente eines Feldes mit aufgelisteten Werten bei der
Felddefinition
Feldgröße1 für eindimensionales Feld
Feldgröße2 für zweidimensionals Feld
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-5
Unterprogrammtechnik, Makrotechnik
2.3 Unterprogramme mit Parameterübergabe (PROC, VAR)
Hinweis
Die Definitionsanweisung mit PROC muss in einem eigenen NC-Satz programmiert werden.
Für die Parameterübergabe können maximal 127 Parameter vereinbart werden.
+DXSWSURJUDPP
:HUW]XZHLVXQJ
/$(1*(
%5(,7( 8QWHUSURJUDPP
/$(1*(%5(,7(
QHXH
:HUW]XZHLVXQJ
/$(1*(
%5(,7(
QHXH:HUWH
J¾OWLJ
DOWH:HUWH
J¾OWLJ
Arbeitsvorbereitung
2-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.3 Unterprogramme mit Parameterübergabe (PROC, VAR)
+DXSWSURJUDPP
:HUW]XZHLVXQJ
/$(1*(
%5(,7(
8QWHUSURJUDPP
/$(1*(%5(,7(
QHXH
:HUW]XZHLVXQJ
/$(1*(
%5(,7(
QHXH:HUWH
J¾OWLJ
/$(1*(%5(,7(
QHXH:HUWH
J¾OWLJ
%_N_BOHRPLATTE_MPF Hauptprogramm
DEF REAL TABELLE[100,2] ;Positionstabelle definieren
EXTERN BOHRBILD (VAR REAL[,2],INT)
TABELLE[0,0]=-17.5 ;Positionen festlegen
…
TABELLE[99,1]=45
BOHRBILD(TABELLE,100) ;Unterprogrammaufruf
M30
Beispiel Herstellung eines Bohrbilds anhand einer übergebenen Positionstabelle variabler Länge
%_N_BOHRBILD_SPF Unterprogramm
PROC BOHRBILD(VAR REAL FELD[,2],-> ;Parameterübergabe
-> INT ANZAHL)
DEF INT ZAEHLER
STEP: G1 X=FELD[ZAEHLER,0]-> ;Bearbeitungsfolge
-> Y=FELD[ZAEHLER,1] F100
Z=IC(-5)
Z=IC(5)
ZAEHLER=ZAEHLER+1
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-7
Unterprogrammtechnik, Makrotechnik
2.3 Unterprogramme mit Parameterübergabe (PROC, VAR)
Unterbrechungsfreier Bahnsteuerbetrieb
Voraussetzung dafür, dass der Bahnsteuerbetrieb nicht unterbrochen wird ist:
Das Unterprogramm darf kein SAVE-Attribut besitzen. Weitere Hinweise zum SAVE-
Mechanismus siehe Kapitel Unterprogramm mit SAVE-Mechanismus.
RET muss im eigenen NC-Satz programmiert werden.
PROC KONTUR
N10…
…
N100 M17
Felddefinition
Für die Definition der formalen Parameter gilt: Bei zweidimensionalen Feldern muss die
Feldanzahl der 1. Dimension nicht angegeben werden, das Komma aber geschrieben
werden.
Beispiel:
VAR REAL FELD[,5]
Mit unbestimmten Feldlängen können Unterprogramme Felder variabler Länge bearbeiten.
Bei der Definition der Variablen muss jedoch festgelegt werden, wie viele Elemente
aufgenommen werden sollen. Die Erklärungen zur Felddefinition finden Sie unter "Flexible
NC-Programmierung" im gleichnamigen Kapitel Felddefinition.
Arbeitsvorbereitung
2-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.4 Unterprogramme aufrufen (L bzw. EXTERN)
Funktion
Unterprogrammaufrufe ohne Parameterübergabe
Im Hauptprogramm rufen Sie das Unterprogramm entweder
● mit Adresse L und Unterprogrammnummer oder
● durch Angabe des Programmnamens auf.
Beispiel:
N10 L47 oder
N10 ZAPFEN_2
+DXSWSURJUDPP
1/
RGHU 8QWHUSURJUDPP
1 =DSIHQB
Programmierung
Unterprogramm mit Parameterübergabe, Erklärung mit EXTERN
EXTERN
Unterprogramme mit Parameterübergabe müssen vor dem Aufruf im Hauptprogramm mit
EXTERN aufgeführt werden, z. B. am Programmanfang.
Angegeben werden der Name des Unterprogramms und die Variablentypen in der
Reihenfolge der Übergabe, siehe Beispiel.
Unterprogramme mit Parameterübergabe
Im Hauptprogramm rufen Sie das Unterprogramm durch Angabe des Programmnamens und
der Parameterübergabe auf. Bei der Parameterübergabe können Sie Variablen oder Werte
direkt (nicht bei VAR-Parametern) übergeben, siehe Beispiel.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-9
Unterprogrammtechnik, Makrotechnik
2.4 Unterprogramme aufrufen (L bzw. EXTERN)
Parameter
Adresse L Unterprogramm-Nummer.
Für den Wert sind 7 Dezimalstellen (nur ganzzahlig) möglich.
Achtung: Führende Nullen sind bei der Namensgebung von
Bedeutung (z. B. sind L123, L0123 und L00123 drei verschiedene
Unterprogramme).
EXTERN Bekanntmachung eines Unterprogramms mit Parameterangabe.
EXTERN muss nur dann angegeben werden, wenn das Unterprogramm
im Werkstück oder im globalen Unterprogrammdirectory steht.
Zyklen müssen nicht als EXTERN erklärt werden.
Unvollständige Parameterübergabe
Beim Unterprogrammaufruf können eigentlich vorgeschriebene Werte oder Parameter
weggelassen werden. In diesem Fall wird der entsprechende Parameter im Unterprogramm
mit Null belegt.
Für die Angabe der Reihenfolge muss das Komma geschrieben werden. Stehen die
Parameter am Ende der Reihenfolge, kann das Komma ebenfalls entfallen.
Vorsicht
Aktuelle Parameter vom Typ AXIS dürfen nicht weggelassen werden. VAR-Parameter
müssen vollständig übertragen werden
+DXSWSURJUDPP
1(;7(51
5$+0(15($/5($/5($/
15$+0(1
Arbeitsvorbereitung
2-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.4 Unterprogramme aufrufen (L bzw. EXTERN)
+DXSWSURJUDPP
Beispiel Unterprogramm
PROC SUB1 (INT VAR1, DOUBLE VAR2)
IF $P_SUBPAR[1]==TRUE
;Parameter VAR1 wurde im Unterprogrammaufruf programmiert
ELSE
;Parameter VAR1 wurde im Unterprogrammaufruf nicht programmiert
;und vom System mit dem Defaultwert 0 vorbesetzt
ENDIF
IF $P_SUBPAR[2]==TRUE
;Parameter VAR2 wurde im Unterprogrammaufruf programmiert
ELSE
;Parameter VAR2 wurde im Unterprogrammaufruf nicht
;programmiert und vom System mit dem Defaultwert 0.0 vorbesetzt
ENDIF
;Parameter 3 ist nicht definiert
IF $P_SUBPAR[3]==TRUE -> Alarm 17020
M17
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-11
Unterprogrammtechnik, Makrotechnik
2.4 Unterprogramme aufrufen (L bzw. EXTERN)
Beschreibung
Vorsicht
Unterprogrammdefinition entspricht Unterprogrammaufruf
Sowohl die Variablentypen als auch die Reihenfolge der Übergabe muss mit den
Definitionen, die im Unterprogrammnamen unter PROC vereinbart wurden, übereinstimmen.
Die Parameternamen können in Haupt- und Unterprogramm unterschiedlich sein.
Definition im Unterprogramm:
PROC RAHMEN(REAL LAENGE, REAL BREITE, REAL TIEFE)
Aufruf im Hauptprogramm:
N30 RAHMEN(LAENGE, BREITE, TIEFE)
Unvollständige Parameterübergabe
Zurück zum letzten Beispiel:
N40 RAHMEN(15.3, ,5)
Der mittlere Wert 20.2 wurde hier weggelassen.
+DXSWSURJUDPP
Arbeitsvorbereitung
2-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.4 Unterprogramme aufrufen (L bzw. EXTERN)
+DXSWSURJUDPP
103) ZHLWHUHV
RGHU +DXSWSURJUDPP
1:(//(
1
10
Hinweis
Suchstrategie der Steuerung:
Gibt es *_MPF?
Gibt es *_SPF?
Daraus folgt: Falls der Name des aufzurufenden Unterprogramms mit dem Namen des
Hauptprogramms identisch ist, dann wird das aufrufende Hauptprogramm wieder
aufgerufen. Dieser in der Regel nicht gewünschte Effekt muss durch eindeutige
Namenswahl über Unterprogramme und Hauptprogramme vermieden werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-13
Unterprogrammtechnik, Makrotechnik
2.5 Parametrierbarer Unterprogrammrücksprung (RET)
Funktion
Im allgemeinen wird aus einem Unterprogramm mit einem Unterprogrammende RET oder
M17 in das aufgerufene Programm zurückgesprungen und die Bearbeitung des
Teileprogramms mit der auf den Unterprogrammaufruf folgenden Programmzeile fortgesetzt.
Es gibt jedoch auch Anwendungsfälle, wo es gewünscht ist, die Programmbearbeitung an
einer anderen Stelle fortzusetzen:
● Fortsetzung der Programmbearbeitung nach Aufruf der Abspanzyklen im ISO-Dialekt-
Mode, nach der Konturbeschreibung.
● Rücksprung ins Hauptprogramm aus einer beliebigen Unterprogrammebene (auch nach
ASUP) beim Fehlerhandling.
● Rücksprung über mehrere Programmebenen für spezielle Anwendungen in
Compilezyklen und im ISO-Dialekt-Mode.
Programmierung
RET (<Satznummer/Label>, <Satz nach Satz mit Satznummer/Label>,
<Anzahl der Rücksprungebenen>), <Rücksprung auf Programmanfang>)
oder
RET (<Satznummer/Label>, < >, < >)
oder Unterprogrammrücksprung über mehrere Ebenen
(springe um die angegebene Anzahl der Unterprogrammebenen zurück).
RET (, , <Anzahl_Rücksprungebenen>, <Rücksprung auf Programmanfang>)
Parameter
Mit dem parametrierbaren Befehl RET können die Anforderungen der Fortsetzung bzw. des
Rücksprungs mit 4 Parametern erfüllt werden:
1. <Satznummer/Label>
2. <Satz nach Satz mit Satznummer/Label>
3. <Anzahl der Rücksprungebenen>
4. <Rücksprung auf Programmanfang>
RET Unterprogrammende
(Verwendung statt M17)
<Satznummer/Label> Parameter: Satznummer oder Label als
STRING (Konstante oder Variable) des
Satzes an dem die
Programmbearbeitung fortgesetzt
werden soll.
Die Programmbearbeitung im
aufrufenden Programm wird mit dem
Satz mit "Satznummer/Label"
fortgesetzt.
Arbeitsvorbereitung
2-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.5 Parametrierbarer Unterprogrammrücksprung (RET)
Beschreibung
1. <Satznummer/Label>
Im aufrufenden Programm (Hauptprogramm) wird mit dem Satz mit <Satznummer/Label>
fortgesetzt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-15
Unterprogrammtechnik, Makrotechnik
2.5 Parametrierbarer Unterprogrammrücksprung (RET)
+DXSWSURJUDPP
8QWHUSURJUDPP
168%
1*
352&68%
1
15(71ರ
1
+DXSWSURJUDPP
8QWHUSURJUDPP
168%
1*
352&68%
1
15(71ರ
1
1
1
Arbeitsvorbereitung
2-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.5 Parametrierbarer Unterprogrammrücksprung (RET)
+DXSW
SURJU
8QWHU
SURJU
3URJUDPPHEHQHQ
8QWHU PD[
SURJU
8QWHU
SURJU
5(71
1
5¾FNVSUXQJ
5¾FNVSUXQJ
Vorsicht
Der Anwender muss immer selbst sicherstellen, dass beim Rücksprung über mehrere
Programmebenen mit den richtigen modalen Einstellungen fortgesetzt wird. Dies wird z. B.
durch Programmierungen eines entsprechenden Hauptsatzes erreicht.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-17
Unterprogrammtechnik, Makrotechnik
2.6 Unterprogramm mit Programmwiederholung (P)
Funktion
Soll ein Unterprogramm mehrfach hintereinander abgearbeitet werden, kann im Satz mit
dem Unterprogrammaufruf unter der Adresse P die gewünschte Anzahl der
Programmwiederholungen programmiert werden.
Parameter
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.
Falls Sie bei Programmwiederholungen die Parameter verändern wollen, müssen Sie im
Unterprogramm entsprechende Vereinbarungen festlegen.
Vorsicht
Für jeden Unterprogrammaufruf gilt:
Der Unterprogrammaufruf muss immer im eigenen NC-Satz programmiert werden.
Beispiel
N40 RAHMEN P3
Arbeitsvorbereitung
2-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.6 Unterprogramm mit Programmwiederholung (P)
+DXSWSURJUDPP
8QWHUSURJUDPP
15$+0(13
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-19
Unterprogrammtechnik, Makrotechnik
2.7 Modales Unterprogramm (MCALL)
Funktion
Mit dieser Funktion wird das Unterprogramm nach jedem Satz mit Bahnbewegung
automatisch aufgerufen und abgearbeitet. Hierdurch lässt sich der Aufruf von
Unterprogrammen, die an unterschiedlichen Werkstückpositionen abgearbeitet werden
sollen, automatisieren; zum Beispiel für die Herstellung von Bohrbildern.
Modalen Unterprogrammaufruf ausschalten
Mit MCALL ohne Unterprogrammaufruf oder durch Programmierung eines neuen modalen
Unterprogrammaufrufs für ein neues Unterprogramm.
Parameter
Vorsicht
In einem Programmablauf kann gleichzeitig nur ein MCALL-Aufruf wirken. Parameter werden
nur einmal beim MCALL-Aufruf übergeben. Das modale Unterprogramm wird in folgenden
Situationen auch ohne Programmierung einer Bewegung aufgerufen: Bei Programmierung
der Adressen S und F wenn G0 oder G1 aktiv ist. G0/G1 allein im Satz oder mit weiteren G-
Codes programmiert wurde.
Beispiel
N10 G0 X0 Y0
N20 MCALL L70
N30 X10 Y10
N40 X50 Y50
In den Sätzen N30 und N40 wird die programmierte Position angefahren und anschließend
das Unterprogramm L70 abgearbeitet.
N10 G0 X0 Y0
N20 MCALL L70
N30 L80
Arbeitsvorbereitung
2-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.7 Modales Unterprogramm (MCALL)
+DXSWSURJUDPP
1*;<
10&$/// 8QWHUSURJUDPP /
1;<
1;<
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-21
Unterprogrammtechnik, Makrotechnik
2.8 Unterprogramm indirekt aufrufen (CALL)
Funktion
In Abhängigkeit von den gegebenen Bedingungen können an einer Stelle unterschiedliche
Unterprogramme aufgerufen werden. Hierzu wird der Name des Unterprogramms in einer
Variablen vom Typ STRING hinterlegt. Der Unterprogrammaufruf erfolgt mit CALL und dem
Variablennamen.
Programmierung
CALL <Programmname>
Parameter
Vorsicht
Der indirekte Unterprogrammaufruf ist nur für Unterprogramme ohne Parameterübergabe
möglich. Für den direkten Aufruf eines Unterprogramms hinterlegen Sie den Namen in einer
String-Konstanten
Beispiel
Direkter Aufruf mit String-Konstante
CALL "/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF"
Indirekter Aufruf über Variable
DEF STRING[100] PROGNAME
PROGNAME="/_N_WKS_DIR/_N_SUBPROG_WPD/_N_TEIL1_SPF"
CALL PROGNAME
Das Unterprogramm Teil1 wird der Variablen PROGNAME zugeordnet. Mit CALL und
Pfadangabe wird das Unterprogramm indirekt aufgerufen.
Funktion
Mit CALL können Unterprogramme indirekt aufgerufen werden, bei denen die mit BLOCK
definierten Programmteilwiederholungen gemäß Startlabel und Endelabel durchgeführt
werden.
Arbeitsvorbereitung
2-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.9 Programmteilwiederholung mit indirekter Programmierung (CALL)
Programmierung
CALL <Programmname> BLOCK <Startlabel> TO <Endelabel>
CALL BLOCK <Startlabel> TO <Endelabel>
Parameter
Beispiel
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-23
Unterprogrammtechnik, Makrotechnik
2.10 Indirekter Aufruf eines in ISO-Sprache programmierten Programms (ISOCALL)
Funktion
Mit dem indirekten Programmaufruf ISOCALL kann ein in einer ISO-Sprache
programmiertes Programm aufgerufen werden. Dabei wird der in den Maschinendaten
eingestellte ISO-Mode aktiviert. Am Programmende wird wieder der ursprüngliche
Bearbeitungsmode wirksam. Ist in den Maschinendaten kein ISO-Mode eingestellt, erfolgt
der Aufruf des Unterprogramms im Siemens-Mode.
Weitere Informationen zum ISO-Mode siehe
/FBFA/ Funktionsbeschreibung ISO-Dialekte.
Programmierung
ISOCALL <Programmname>
Parameter
N2400 M30
Arbeitsvorbereitung
2-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.11 Unterprogramm mit Pfadangabe und Parametern aufrufen (PCALL)
Funktion
Mit PCALL können Unterprogramme mit absoluter Pfadangabe und Parameterübergabe
aufgerufen werden.
Programmierung
PCALL <Pfad/Programmname>(Parameter 1, …, Parameter n)
Parameter
Beispiel
PCALL/_N_WKS_DIR/_N_WELLE_WPD/WELLE(parameter1, parameter2, …)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-25
Unterprogrammtechnik, Makrotechnik
2.12 Suchpfad bei Unterprogrammaufrufen mit CALLPATH erweitern
Funktion
Mit dem Befehl CALLPATH kann der Suchpfad für Unterprogrammaufrufe erweitert werden.
Damit können auch Unterprogramme aus einem nicht ausgewählten Werkstückdirectory
aufgerufen werden, ohne den vollständigen, absoluten Pfadnamen des Unterprogramms
anzugeben.
Die Suchpfaderweiterung erfolgt vor dem Eintrag für Anwenderzyklen (_N_CUS-DIR).
Abwahl der Suchpfaderweiterung
Die Suchpfaderweiterung wird durch folgende Ereignisse abgewählt:
● CALLPATH mit Leerstring
● CALLPATH ohne Parameter
● Teileprogrammende
● Reset
Programmierung
Außerhalb des existierenden Filesystems des NCK abgelegte Unterprogramme zum bereits
bestehenden NCK-Filesystem ergänzen.
CALLPATH <Pfadname>
Parameter
Hinweis
CALLPATH prüft, ob der programmierte Pfadname tatsächlich vorhanden ist. Im Fehlerfall
wird die Teileprogrammbearbeitung mit Korrektursatz-Alarm 14009 abgebrochen.
Arbeitsvorbereitung
2-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.12 Suchpfad bei Unterprogrammaufrufen mit CALLPATH erweitern
Beispiel
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
Hinweis
CALLPATH kann auch in INI-Dateien programmiert werden. Er wirkt dann für die
Bearbeitungsdauer der INI-Datei (WPD-INI-Datei oder Initialisierungsprogramm für NC-
aktive Daten, z. B. Frames im 1. Kanal _N_CH1_UFR_INI). Danach wird das
Initialisierungsprogramm wieder zurückgesetzt
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-27
Unterprogrammtechnik, Makrotechnik
2.13 Externes Unterprogramm abarbeiten (EXTCALL)
Funktion
Mit EXTCALL können Sie ein Programm vom HMI im Modus "Abarbeiten von Extern"
nachladen. Dabei können alle Programme, die über die Verzeichnis-Struktur des HMI
erreichbar sind, nachgeladen und abgearbeitet werden.
Programmierung
EXTCALL ("<Pfad/Programmname>")
Parameter
Hinweis
Externe Unterprogramme dürfen keine Sprunganweisungen wie GOTOF, GOTOB, CASE, FOR,
LOOP, WHILE oder REPEAT enthalten.
IF-ELSE-ENDIF-Konstrukte sind möglich.
Unterprogrammaufrufe und geschachtelte EXTCALL-Aufrufe sind möglich.
RESET, POWER ON
Durch RESET und POWER ON werden externe Unterprogrammaufrufe abgebrochen und
die jeweiligen Nachladespeicher gelöscht.
Ein für "Abarbeiten von Extern" selektiertes Unterprogramm bleibt über RESET /
Teileprogrammende weiterhin für "Abarbeiten von Extern" angewählt. Durch POWER ON
geht die Anwahl verloren.
Arbeitsvorbereitung
2-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.13 Externes Unterprogramm abarbeiten (EXTCALL)
Beispiele
1. Abarbeiten von der lokalen Festplatte
Systeme: SINUMERIK solution line / powerline mit HMI Advanced
Das Hauptprogramm "_N_MAIN_MPF" befindet sich im NC-Speicher und ist zur Abarbeitung
angewählt:
...
N... EXTCALL("\\R4711\Werkstücke\[Link]")
...
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-29
Unterprogrammtechnik, Makrotechnik
2.13 Externes Unterprogramm abarbeiten (EXTCALL)
Auswirkungen
EXTCALL-Aufruf mit absoluter Pfadangabe
Wenn das Unterprogramm unter dem angegebenen Pfad existiert, dann wird es nach dem
EXTCALL-Aufruf ausgeführt. Wenn es nicht existiert, dann wird die Programmausführung
abgebrochen.
EXTCALL-Aufruf mit relativer Pfadangabe / ohne Pfadangabe
Bei einem EXTCALL-Aufruf mit relativer Pfadangabe bzw. ohne Pfadangabe werden die
vorhandenen Programmspeicher nach folgendem Muster durchsucht:
● Wenn in SD42700 eine Pfadangabe voreingestellt ist, dann wird zuerst ausgehend von
diesem Pfad nach der Angabe im EXTCALL-Aufruf (Programmname ggf. mit relativer
Pfadangabe) gesucht. Der absolute Pfad ergibt sich dann durch Zeichenverkettung aus:
– der in SD42700 voreingestellten Pfadangabe
– dem Zeichen "/" als Trennzeichen
– dem bei EXTCALL angegebenen Unterprogrammpfad bzw. -bezeichner
● Wurde das aufgerufene Unterprogramm unter dem voreingestellten Pfad nicht gefunden,
werden als nächstes die Verzeichnisse des Anwenderspeichers nach der Angabe im
EXTCALL-Aufruf durchsucht.
● Wurde das aufgerufene Unterprogramm auf dem aktuell durchsuchten
Programmspeicher (z. B. CompactFlash Card) nicht gefunden, wird der nächste
Programmspeicher (z. B. Netzlaufwerk) gemäß Punkt 1 und 2 durchsucht.
● Die Suche endet, wenn das Unterprogramm erstmalig gefunden wurde. Sollte die Suche
keinen Treffer ergeben, kommt es zum Programmabbruch.
Hinweis
SINUMERIK powerline mit HMI Embedded
Bei SINUMERIK powerline mit HMI Embedded muss immer ein absoluter Pfad
angegeben werden.
Externe Programmspeicher
Abhängig vom System (SINUMERIK solution line / powerline), der vorhandenen
Bedienoberfläche (HMI sl / HMI Advanced / HMI Embedded) und den erworbenen Optionen
können sich externe Programmspeicher auf folgenden Datenträgern befinden:
● CompactFlash Card
● Netzlaufwerk
● USB-Laufwerk
● Lokale Festplatte
Arbeitsvorbereitung
2-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.13 Externes Unterprogramm abarbeiten (EXTCALL)
Hinweis
Abarbeiten von Extern über USB-Schnittstelle bei SINUMERIK solution line
Sollen externe Programme von einem externen USB-Laufwerk über USB-Schnittstelle
übertragen werden, so darf hierfür nur die Schnittstelle über X203 mit den Namen
"TCU_1" verwendet werden.
Ein USB-FlashDrive kann als persistentes Speichermedium nicht empfohlen werden.
Hinweis
Abarbeiten von Extern über V24-Schnittstelle bei SINUMERIK powerline
Mit HMI Embedded können mit dem Softkey "Abarbeiten von Extern" externe Programme
über die V24-Schnittstelle in die NC übertragen werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-31
Unterprogrammtechnik, Makrotechnik
2.14 Einzelsatzunterdrückung (SBLOF, SBLON)
Funktion
Einzelsatzunterdrückung programmspezifisch
Mit SBLOF gekennzeichnete Programme werden bei jedem Einzelsatztyp wie ein Satz
komplett abgearbeitet. SBLOF steht in der PROC-Zeile und gilt bis zum Ende oder Abbruch
des Unterprogramms. Mit dem Rücksprung-Befehl wird entschieden, ob am Ende des
Unterprogramms angehalten wird oder nicht.
Rücksprung mit M17: Stopp am Ende des Unterprogramms
Rücksprung mit RET: Kein Stopp am Ende des Unterprogramms
SBLOF gilt auch in den aufgerufenen Unterprogrammen.
Beispiel für Unterprogramm ohne Stopp im Einzelsatz:
PROC BEISPIEL SBLOF
G1 X10
RET
Programmierung
PROC ... SBLOF ;der Befehl kann in einem PROC-Satz oder allein im Satz stehen
SBLON ;der Befehl muss in einem eigenen Satz stehen
Einzelsatzunterdrückung im Programm
SBLOF muss allein im Satz stehen. Ab diesem Satz wird Einzelsatz ausgeschaltet bis
● zum nächsten SBLON oder
● zum Ende der aktiven Unterprogrammebene.
Parameter
Arbeitsvorbereitung
2-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.14 Einzelsatzunterdrückung (SBLOF, SBLON)
Der Bereich zwischen N20 und N60 wird im Einzelsatzbetrieb als ein Schritt bearbeitet.
Beispiel Zyklus soll für den Anwender wie ein Befehl wirken
Hauptprogramm
Der Zyklus CYCLE1 wird bei aktivem Einzelsatz abgearbeitet, d.h. es muss für die
Bearbeitung von CYCLE1 einmal die Start-Taste gedrückt werden.
Beispiel Ein vom PLC gestartetes ASUP zum Aktivieren von geänderten Nullpunktverschiebung und
Werkzeugkorrekturen soll nicht sichtbar sein
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-33
Unterprogrammtechnik, Makrotechnik
2.14 Einzelsatzunterdrückung (SBLOF, SBLON)
Arbeitsvorbereitung
2-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.14 Einzelsatzunterdrückung (SBLOF, SBLON)
Randbedingungen
● Die aktuelle Satzanzeige kann in Zyklen mit DISPLOF unterdrückt werden.
● Wird DISPLOF zusammen mit SBLOF programmiert, so wird bei Einzelsatz-Stopps
innerhalb des Zyklus nach wie vor der Zyklen-Aufruf angezeigt.
● Wurde der Einzelsatz-Stopp im System-ASUP oder Anwender-ASUP mit Bit0 = 1 bzw.
Bit1 = 1 von MD 10702: IGNORE_SINGLEBLOCK_MASK unterdrückt, so kann durch
Programmierung von SBLON im ASUP der Einzelsatz-Stopp wieder aktiviert werden.
● Der Einzelsatz-Stopp im Anwender-ASUP wird mit
MD 20117: IGNORE_SINGLEBLOCK_ASUP unterdrückt und kann durch
Programmierung von SBLON nicht mehr aktiviert werden.
● Durch die Anwahl von SBL3 wird der Befehl SBLOF unterdrückt.
● Einzelsatz-Stopp im Einzelsatztyp 2 ignorieren. Im Einzelsatztyp 2 (SBL2) wird im
SBLON-Satz nicht angehalten, wenn das Bit12 = 1 von MD
10702: IGNORE_SINGLEBLOCK_MASK gesetzt wird.
Hinweis
Weitere Informationen zur Satzanzeige mit/ohne Einzelsatzunterdrückung siehe unter
/FB1/ Funktionshandbuch Grundfunktionen; BAG, Kanal, Programmbetrieb (K1),
Kapitel "Einzelsatz".
Programmbeeinflussungen im Einzelsatz
In der Funktion Einzelsatz kann der Anwender das Teileprogramm satzweise abarbeiten. Es
existieren folgende Einstellungsarten der Funktion Einzelsatz:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-35
Unterprogrammtechnik, Makrotechnik
2.15 Aktuelle Satzanzeige unterdrücken (DISPLOF)
Funktion
Mit DISPLOF wird die aktuelle Satzanzeige für ein Unterprogramm unterdrückt. DISPLOF
steht am Ende der PROC-Anweisung. Anstelle des aktuellen Satzes wird der Aufruf des
Zyklus bzw. des Unterprogramms angezeigt werden.
Standardmäßig ist die Satzanzeige eingeschaltet. Das Ausschalten der Satzanzeige mit
DISPLOF gilt bis zum Rücksprung aus dem Unterprogramm oder Programm-Ende.
Programmierung
In der PROC-Anweisungszeile
PROC … DISPLOF
Werden aus dem Unterprogramm mit DISPLOF-Attribut weitere Unterprogramme
aufgerufen, so wird auch in diesen die aktuelle Satzanzeige unterdrückt. Wird ein
Unterprogramm mit unterdrückter Satzanzeige durch ein asynchrones Unterprogramm
unterbrochen, so werden die Sätze des aktuellen Unterprogramms angezeigt.
Arbeitsvorbereitung
2-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.15 Aktuelle Satzanzeige unterdrücken (DISPLOF)
Parameter
%_N_CYCLE_SPF ;$PATH=/_N_CUS_DIR
PROC CYCLE (AXIS TOMOV, REAL POSITION) SAVE DISPLOF
;aktuelle Satzanzeige unterdrücken
;jetzt wird als aktueller Satz der
;Aufruf des Zyklus angezeigt
;z. B.: CYCLE(X, 100.0)
DEF REAL DIFF ;Zyklen-Inhalt
G01 …
…
RET ;Unterprogramm-Rücksprung, der
;nachfolgende Satz des aufrufenden
;Programms wird wieder angezeigt
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-37
Unterprogrammtechnik, Makrotechnik
2.16 Unterprogramme mit Vorbereitung kennzeichnen (PREPRO)
Funktion
Mit dem Schlüsselwort PREPRO können im Hochlauf am Ende der PROC-Anweisungszeile
alle Dateien gekennzeichnet werden.
Maschinenhersteller
Diese Art der Programmvorbereitung ist vom entsprechend eingestellten Maschinendatum
abhängig. Bitte beachten Sie hierfür die Angaben des Maschinenherstellers.
/FB3/ Funktionshandbuch Sonderfunktionen; Vorverarbeitung (V2)
Programmierung
In der PROC-Anweisungszeile
PROC … PREPERO
Parameter
Arbeitsvorbereitung
2-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.17 Zyklen : Anwenderzyklen parametrieren
Funktion
Mit den Dateien [Link] und [Link] können eigene Zyklen parametriert werden.
Die Datei [Link] wird mit den Standardzyklen geliefert und ist entsprechend zu erweitern.
Die Datei [Link] ist vom Anwender selbst zu erstellen.
Beide Dateien sind im passiven Filesystem in das Verzeichnis "Anwenderzyklen" zu laden
(bzw. mit entsprechender Pfadangabe):
;$PATH=/_N_CUS_DIR
im Programm zu versehen.
%_N_COV_COM Dateiname
;$PATH=/_N_CST_DIR Pfadangabe
;Vxxx 11.12.95 Sca Zyklenuebersicht Kommentarzeile
C1(CYCLE81) Bohren, Zentrieren Aufruf für 1. Zyklus
C2(CYCLE82) Bohren, Plansenken Aufruf für 2. Zyklus
...
C24(CYCLE98) Ketten von Gewinden Aufruf für letzten Zyklus
M17 Dateiende
Programmierung
Für jeden neu hinzukommenden Zyklus ist eine Zeile in folgender Syntax einzufügen:
C<Nummer> (<Zyklusname>) Kommentartext
Nummer: eine beliebige ganze Zahl, sie darf bisher in der Datei noch nicht verwendet
worden sein;
Zyklusname: der Programmname des einzubindenden Zyklus
Kommentartext: wahlweise ein Kommentartext zum Zyklus
Beispiel:
C25 (MEIN_ZYKLUS_1) Anwenderzyklus_1
C26 (SPEZIALZYKLUS)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-39
Unterprogrammtechnik, Makrotechnik
2.17 Zyklen : Anwenderzyklen parametrieren
PROC MEIN_ZYKLUS_1 (REAL PAR1, INT PAR2, CHAR PAR3, STRING[10] PAR4)
;Der Zyklus hat folgende Übergabeparameter:
;PAR1: Real-Wert im Bereich von -1000.001 <= PAR2 <= 123.456, Vorbelegung
mit 100
;PAR2: positiver ganzzahliger Wert zwischen 0 <= PAR3 <= 999999, Vorbelegung
mit 0
;PAR3: 1 ASCII-Zeichen
;PAR4: String der Länge 10 für einen Unterprogrammnamen
...
M17
%_N_UC_COM
;$PATH=/_N_CUS_DIR
//C25(MEIN_ZYKLUS_1) Anwenderzyklus_1
(R/-1000.001 123.456 / 100 /Parameter_2 des Zyklus)
(I/0 999999 / 1 / ganzzahliger Wert)
(C//"A" / Zeichenparameter)
(S///Unterprogrammname)
//C26(SPEZIALZYKLUS)
(R///Gesamtlänge)
(I/*123456/3/Bearbeitungsart)
M17
Arbeitsvorbereitung
2-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.17 Zyklen : Anwenderzyklen parametrieren
3DUDPHWHUGHV=\NOXV
JDQ]]DKOLJHU:HUW
=HLFKHQSDUDPHWHU
8QWHUSURJUDPPH
*HVDPWO¦QJH
%HDUEHLWXQJVDUW
R für Real
I für Integer
C für Charakter (1 Zeichen)
S für String
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-41
Unterprogrammtechnik, Makrotechnik
2.18 Makrotechnik (DEFINE...AS)
Funktion
Als Makro bezeichnet man die Zusammenfassung von einzelnen Anweisungen zu einer
neuen Gesamtanweisung mit eigenem Namen. Auch G-, M- und H-Funktionen oder L-
Unterprogrammnamen können als Makros angelegt werden. Bei Aufruf des Makros im
Programmablauf werden die unter dem Makronamen programmierten Anweisungen
nacheinander abgearbeitet.
Einsatz von Makros
Anweisungsfolgen, die sich wiederholen, programmiert man nur einmal als Makro in einem
eigenen Makrobaustein oder einmal am Programmanfang. Das Makro kann dann in jedem
beliebigen Haupt- oder Unterprogramm aufgerufen und abgearbeitet werden.
Programmierung
Makros werden mit dem Schlüsselwort DEFINE…AS gekennzeichnet.
Die Makrodefinition lautet:
DEFINE NAME AS <Anweisung>
Beispiel:
Makrodefinition:
DEFINE LINIE AS G1 G94 F300
Aufruf im NC-Programm:
N20 LINIE X10 Y20
Makro aktivieren
Wenn das Makro in die NC geladen wird (Softkey "Laden"), ist dieses aktiv.
Arbeitsvorbereitung
2-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Unterprogrammtechnik, Makrotechnik
2.18 Makrotechnik (DEFINE...AS)
Parameter
Vorsicht
Schlüsselworte und reservierte Namen dürfen nicht mit Makros überdefiniert werden
Mit Makrotechnik kann die Programmiersprache der Steuerung stark verändert werden!
Setzen Sie deshalb die Makrotechnik mit großer Sorgfalt ein!
Hinweis
Makros können auch im NC-Programm vereinbart werden. Als Makronamen sind nur
Bezeichner zulässig. G-Funktions-Makros können nur steuerungsglobal im Makrobaustein
vereinbart werden.
Eine Schachtelung von Makros ist nicht möglich.
Beispiel Makrodefinitionen
Beispiel Makrodatei
Nach dem Einlesen der Makrodatei in die Steuerung aktivieren Sie die Makros (siehe oben).
Die Makros können nun im Teileprogramm verwendet werden.
%_N_UMAC_DEF
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 2-43
Unterprogrammtechnik, Makrotechnik
2.18 Makrotechnik (DEFINE...AS)
Arbeitsvorbereitung
2-44 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung 3
3.1 3.1 Programmspeicher
Funktion
Im Programmspeicher werden Dateien und Programme (z. B. Haupt- und Unterprogramme,
Makro-Definitionen) persistent gespeichert (→ Passives Filesystem).
Literatur:
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Speicherkonfiguration (S7)
Daneben gibt es eine Anzahl von Dateitypen, die hier zwischengespeichert werden können
und bei Bedarf (z. B. bei Bearbeitung eines bestimmten Werkstückes) in den Arbeitsspeicher
zu übertragen sind (z. B. für Initialisierungszwecke).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-1
Datei- und Programmverwaltung
3.1 Programmspeicher
3URJUDPPVSHLFKHU
B1B:(//(B03) B1B03)B03)
B1B3$57B03) B1B/B63)
B1B3$57B63) B1BB
B1B3$57B63)
B1B:(//(B,1,
B1B:(//(B6($
B1B3$57B,1,
6FKZDU]H1DPHQIHVWYRUKDQGHQ B1B3$57B8)5
2UDQJH1DPHQYRP$QZHQGHUYHUJHEHQ B1B3$57B&20
B1B:(//(
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
Arbeitsvorbereitung
3-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.1 Programmspeicher
Dateitypen
Im Programmspeicher können folgende Dateitypen eingebracht werden:
Dateityp Beschreibung
name_MPF Hauptprogramm
name_SPF Unterprogramm
name_TEA Maschinendaten
name_SEA Settingdaten
name_TOA Werkzeugkorrekturen
name_UFR Nullpunktverschiebungen/Frame
name_INI Initialisierungsdatei
name_GUD Globale Anwenderdaten
name_RPA R-Parameter
name_COM Kommentar
name_DEF Definitionen für globale Anwenderdaten und Makros
Werkstück-Hauptverzeichnis (_N_WKS_DIR)
Das Werkstück-Hauptverzeichnis ist standardmäßig unter der Bezeichnung _N_WKS_DIR im
Programmspeicher eingerichtet. Das Werkstück-Hauptverzeichnis enthält für alle
Werkstücke, die Sie programmiert haben, die entsprechenden Werkstückverzeichnisse.
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.
Initialisierungsprogramme werden nach der Programmanwahl mit dem ersten
Teileprogrammstart einmalig ausgeführt (entsprechend Maschinendatum MD11280
$MN_WPD_INI_MODE).
Beispiel:
Das Werkstückverzeichnis _N_WELLE_WPD, das für das Werkstück WELLE angelegt wurde,
enthält folgende Dateien:
_N_WELLE_MPF Hauptprogramm
_N_PART2_MPF Hauptprogramm
_N_PART1_SPF Unterprogramm
_N_PART2_SPF Unterprogramm
_N_WELLE_INI Allgemeines Initialisierungsprogramm der Daten für das
Werkstück
_N_WELLE_SEA Initialisierungsprogramm Settingdaten
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-3
Datei- und Programmverwaltung
3.1 Programmspeicher
%_N_WELLE_MPF
;$PATH=/_N_WKS_DIR/_N_WELLE_WPD
N10 G0 X… Z…
...
M2
%_N_WELLE_SPF
...
M17
Arbeitsvorbereitung
3-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.1 Programmspeicher
...
CALL"/_N_CST_DIR/_N_CYCLE1_SPF"
...
...
CYCLE1
...
Die Verzeichnisse werden nach dem aufgerufenen Programm in der folgenden Reihenfolge
durchsucht:
...
CALLPATH ("/_N_WKS_DIR/_N_MYWPD_WPD")
...
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-5
Datei- und Programmverwaltung
3.2 Arbeitsspeicher
Funktion
Der Arbeitsspeicher enthält die aktuellen System- und Anwenderdaten, mit denen die
Steuerung betrieben wird (aktives Filesystem).
Beispiel: Aktive Maschinendaten, Werkzeugkorrekturdaten, Nullpunktverschiebungen.
Parameter
Initialisierungsprogramme
Hierbei handelt es sich um Programme, mit denen die Daten des Arbeitsspeichers
vorbesetzt (initialisiert) werden. Hierfür können folgende Dateitypen verwendet werden:
name_TEA Maschinendaten
name_SEA Settingdaten
name_TOA Werkzeugkorrekturen
name_UFR Nullpunktverschiebungen/Frame
name_INI Initialisierungsdatei
name_GUD Globale Anwenderdaten
name_RPA R-Parameter
Datenbereiche
Die Daten können in unterschiedliche Bereiche eingegliedert werden, in denen sie gelten
sollen. Beispielsweise kann eine Steuerung über mehrere Kanäle verfügen
(nicht bei 810D CCU1, 840D NCU 571) oder gewöhnlich auch über mehrere Achsen. Es
gibt:
Kennung Datenbereiche
NCK NCK-spezifische Daten
CHn Kanalspezifische Daten (n gibt die
Kanalnummer an)
AXn Achsspezifische Daten (n gibt die Nummer
der Maschinenachse an)
TO Werkzeugdaten
COMPLETE Alle Daten
Arbeitsvorbereitung
3-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.2 Arbeitsspeicher
Nach Inbetriebnahme der Steuerung ist ein Datensatz im Arbeitsspeicher vorhanden, der
den ordnungsgemäßen Betrieb der Steuerung gewährleistet.
Vorsicht
CHANDATA-Anweisung
Im Teileprogramm darf die CHANDATA-Anweisung nur für den Kanal gesetzt werden, auf
dem das NC-Programm abgearbeitet wird, d. h. die Anweisung kann dazu benutzt werden,
NC-Programme davor zu schützen, dass sie auf einem nicht vorgesehenen Kanal
abgearbeitet werden.
Im Fehlerfall wird die Programmabarbeitung abgebrochen.
Hinweis
INI-Dateien in Joblisten enthalten keine CHANDATA-Anweisungen.
Initialisierungsprogramme sichern
Die Dateien des Arbeitsspeichers können auf einem externen PC gesichert und von dort
wieder eingelesen werden.
● Die Dateien werden mit COMPLETE gesichert.
● Mit INITIAL wird über alle Bereiche eine INI-Datei: _N_INITIAL_INI erzeugt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-7
Datei- und Programmverwaltung
3.3 Anwenderdaten definieren
Initialisierungsprogramme laden
Die INI-Programme können auch als Teileprogramme angewählt und aufgerufen werden,
wenn sie nur Daten eines Kanals verwenden. So ist es auch möglich, programmgesteuerte
Daten zu initialisieren.
Informationen zu allen Dateitypen finden Sie in der Bedienungsanleitung.
Funktion
Achtung
Die Definition von Anwenderdaten (GUD) erfolgt zum Zeitpunkt der Inbetriebnahme. Die
notwendigen Maschinendaten müssen entsprechend gesetzt sein. Der Anwenderspeicher
muss konfiguriert sein. Alle relevanten Maschinendaten haben den Namensbestandteil
GUD.
Die Definition von Anwenderdaten(GUD) kann in der HMI Bedienoberfläche im
Bedienbereich Dienste erstellt werden. Damit entfällt ein zeitaufwendiges Wiedereinspielen
der Datensicherung (%_N_INITIAL_INI).
Es gilt dabei:
● Definitions-Dateien, die auf der Festplatte liegen, sind nicht aktiv.
● Definitions-Dateien, die auf der NC liegen, sind immer aktiv.
Programmierung
Die Programmierung der einzelnen GUD-Variablen erfolgt mit dem DEF-Befehl:
DEF Bereich VL-Stop Typ Name[.., ...]=Wert
Arbeitsvorbereitung
3-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.3 Anwenderdaten definieren
Parameter
%_N_SGUD_DEF
;$PATH=/_N_DEF_DIR
DEF NCK REAL RTP ;Rückzugsebene
DEF CHAN INT SDIS ;Sicherheitsabstand
M30
%_N_MGUD_DEF
;$PATH=/_N_DEF_DIR
;globale Datendefinitionen des Maschinenherstellers
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-9
Datei- und Programmverwaltung
3.3 Anwenderdaten definieren
Reservierte Bausteinnamen
Im Verzeichnis /_N_DEF_DIR können folgende Bausteine hinterlegt werden:
Hinweis
Wenn keine Messzyklen/Standardzyklen vorhanden sind, so sind auch die hierfür
reservierten Bausteine frei definierbar
1. Anwenderdaten (GUD) definieren
1.1 Baustein _N_INITIAL_INI sichern
1.2 Definitionsdatei für Anwenderdaten im HMI Bedienbereich Dienste erstellen
1.3 Definitionsdatei in den Programmspeicher der Steuerung laden
1.4 Definitionsdateien aktivieren
1.5 Datensicherung
2. Definitionsdatei für Anwenderdaten erstellen
Definitionsdateien können auf dem externen PC oder im Bedienbereich Dienste erstellt
werden. Es existieren auch vordefinierte Dateinamen (siehe dazu "Reservierte
Bausteinnamen"):
_N_SGUD_DEF
_N_MGUD_DEF
_N_UGUD_DEF
Arbeitsvorbereitung
3-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.4 Schutzstufen für Anwenderdaten, MD, SD und NC-Sprachbefehle
_N_GUD4_DEF … _N_GUD9_DEF
Dateien mit diesen Namen können Definitionen für GUD-Variable enthalten.
3. Definitionsdatei in den Programmspeicher der Steuerung laden
Die Steuerung legt defaultmäßig immer ein Verzeichnis _N_DEF_DIR an. Dieser Name
wird als Pfad in den Kopf der GUD-Definitionsdatei eingetragen und beim Einlesen über
die entsprechende Schnittstelle ausgewertet.
4. Definitionsdateien aktivieren und dessen Inhalt neu aktivieren
Wenn die GUD-Definitions-Datei in die NC geladen wird (Softkey "Laden"), wird diese
aktiv. Siehe "Automatische Aktivierung ...". Wird der Inhalt einer bestimmten GUD-
Definitions-Datei neu aktiviert, so wird der alte GUD Datenbaustein im aktiven Filesystem
gelöscht und die neuen Parameter werden dabei zurückgesetzt. Erfolgt dieser Vorgang
über den Dialog HMI Dienste => Daten verwalten => Anwenderdaten (GUD) definieren
und aktivieren, dann werden die Variableninhalte per INI File gesichert und am Ende
dieses Vorgangs wieder hergestellt.
5. Datensicherung
Bei Archivierung der Datei _N_COMPLETE_GUD aus dem Arbeitsspeicher werden nur die
Dateninhalte gesichert. Die erstellten Definitionsdateien für die globalen
Anwendervariablen müssen getrennt archiviert werden.
Die Variablenzuweisungen an globale Anwenderdaten werden auch in
_N_INITIAL_INI gespeichert, die Namen müssen mit den Namen in den
Definitionsdateien identisch sein.
Funktion
Durch Definition von Zugriffskriterien lassen sich GUD-Bausteine vor Manipulationen
schützen. In Zyklen können GUD-Variablen abgefragt werden, die so vor Änderung über die
HMI-Bedienoberfläche oder aus dem Programm heraus geschützt sind. Der Zugriffsschutz
bezieht sich auf alle Variablen, die in diesem Baustein definiert sind. Bei nicht erlaubtem
Zugriff meldet die Steuerung einen entsprechenden Alarm.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-11
Datei- und Programmverwaltung
3.4 Schutzstufen für Anwenderdaten, MD, SD und NC-Sprachbefehle
Programmierung
Schutzstufen für den ganzen Baustein werden nach den Kopfzeilen angegeben.
%_N_MGUD_DEF ;Bausteinart
;$PATH=/_N_DEF_DIR ;Pfad
APR Wert APW n ;Schutzstufen in eigener Zeile
Der Zugriffsschutz wird im GUD-Baustein selbst vor der ersten Definition einer Variablen mit
der gewünschten Schutzstufe programmiert. Schlüsselwörter müssen in einem eigenen Satz
stehen.
Parameter
Hinweis
Wird eine komplette Datei geschützt, dann müssen die Befehle vor den ersten Definitionen
der Datei stehen, sonst in der REDEF - Anweisung des betreffenden Datums, siehe Kapitel
"Schutzstufen für NC-Sprachbefehle".
%_N_GUD6_DEF
Arbeitsvorbereitung
3-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.4 Schutzstufen für Anwenderdaten, MD, SD und NC-Sprachbefehle
;$PATH=/_N_DEF_DIR
APR 15 APW 12 ;Schutzstufen für alle folgenden Variablen
DEF CHAN REAL_CORRVAL
DEF NCK INT MYCOUNT
…
M30
Hinweis
Zugriffsrecht-Einträge in der GUD-Definitionsdatei können nötige Zugriffsberechtigung auf
die GUD-Definitionsdatei selbst beschränken, aber nicht erweitern.
Beispiel:
In der Definitionsdatei _N_GUD7_DEF steht: APW2
1. Die Datei _N_GUD7_DEF hat als write-Schutz den Wert 3. Der Wert 3 wird dann mit Wert
2 überschrieben.
2. Die Datei _N_GUD7_DEF hat als write-Schutz den Wert 0. Es erfolgt keine Änderung.
Mit der Anweisung APW wird rückwirkend das write-Recht der Datei selbst beeinflusst.
Mit der Anweisung APR wird rückwirkend das read-Recht der Datei selbst beeinflusst.
Hinweis
Trägt man versehentlich ein höheres Recht in der GUD-Definitionsdatei ein als einem selbst
zugänglich ist, muss die Archivdatei neu eingespielt werden.
Funktion
Definitions-Dateien für GUD- und Makro-Definitionen werden für HMI Advanced im
Bedienbereich Dienste editiert.
Wird eine Definitions-Datei in der NC editiert, erscheint beim Verlassen des Editors eine
Abfrage, ob die Definitionen wirksam gesetzt werden sollen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-13
Datei- und Programmverwaltung
3.4 Schutzstufen für Anwenderdaten, MD, SD und NC-Sprachbefehle
Hinweis
HMI Advanced
Falls nicht genügend Speicher für die Aktivierung der Definitions-Datei zur Verfügung steht,
muss nach der Änderung der Speichergröße die Datei von der NC in die PCU und wieder
zurück in die NC geladen und damit aktiviert werden.
"OK": Es erscheint eine Abfrage, ob die momentan aktiven Daten gerettet werden sollen.
"Sollen die bisherigen Daten der Definitionen erhalten bleiben?"
OK": Die GUD-Bausteine der zu bearbeitenden Definitions-Datei werden
gesichert, die neuen" Definitionen werden aktiviert und die geretteten
Daten werden wieder eingespielt.
"Abbruch": Die neuen Definitionen werden aktiviert, die alten Daten sind verloren.
"Abbruch": Die Änderungen in der Definitions-Datei werden verworfen, der
zugehörige Datenbaustein wird nicht verändert.
3.4.3 Schutzstufen für Maschinen- und Settingdaten ändern (REDEF MD, SD)
Funktion
Der Anwender hat die Möglichkeit, die Schutzstufen zu verändern. Bei den Maschinendaten
können nur Schutzstufen niedrigerer Priorität vergeben werden, bei den Settingdaten auch
höhere.
Programmierung
REDEF Maschinendatum/Settingdatum Schutzstufe
Parameter
Arbeitsvorbereitung
3-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.4 Schutzstufen für Anwenderdaten, MD, SD und NC-Sprachbefehle
%_N_SGUD_DEF
;$PATH=/_N_DEF_DIR
REDEF $MA_CTRLOUT_SEGMENT_NR APR 2 APW 2
REDEF $MA_ENC_SEGMENT_NR APR 2 APW 2
REDEF $SN_JOG_CONT_MODE_LEVELTRIGGRD APR 2 APW 2
M30
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-15
Datei- und Programmverwaltung
3.4 Schutzstufen für Anwenderdaten, MD, SD und NC-Sprachbefehle
%_N_SGUD_DEF
;$PATH=/_N_DEF_DIR
REDEF $MA_CTRLOUT_SEGMENT_NR APR 7 APW 2
REDEF $MA_ENC_SEGMENT_NR APR 0 APW 0
REDEF $SN_JOG_CONT_MODE_LEVELTRIGGRD APR 7 APW 7
M30
Funktion
Das bestehende Schutzstufenkonzept für den Zugriff auf Maschinen-/Settingdaten und
GUDs wird auf die oben aufgeführten Teileprogrammbefehle erweitert. Dazu wird mit dem
REDEF-Befehl einem Teileprogrammbefehl eine Schutzstufe 0 bis 7 zugeordnet.
Hinweis
Dieser Befehl wird jetzt in der Teileprogrammbearbeitung nur noch ausgeführt, wenn das
entsprechende Ausführungsrecht vorhanden ist.
Programmierung
G-Codes laut "Liste der G-Funktionen/Wegbedingungen"
REDEF (NC-Sprachelement) APX Wert
oder einen Schreibzugriff vom Teileprogramm oder Synchronaktionen auf Systemvariable
REDEF (Systemvariable) APW Wert
oder ändern des Schreib- oder Lesezugriff auf Maschinen- und Settingdaten wie bisher
REDEF (Maschinendatum/Settingdatum) APW Wert
REDEF (Maschinendatum/Settingdatum) APR Wert
Arbeitsvorbereitung
3-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.4 Schutzstufen für Anwenderdaten, MD, SD und NC-Sprachbefehle
Parameter
Der REDEF Befehl wirkt global für alle Kanäle und BAGs
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-17
Datei- und Programmverwaltung
3.5 REDEF: Attribute von NC-Sprachelementen ändern
Beschreibung
Analog zu den GUD-Definitionen stehen eigene Definitionsdateien zur Verfügung, die im
Steuerungshochlauf ausgewertet werden:
Endanwender: /_N_DEF_DIR/_N_UACCESS_DEF
Hersteller: /_N_DEF_DIR/_N_MACCESS_DEF
Siemens: /_N_DEF_DIR/_N_SACCESS_DEF
Unterprogrammaufruf in Definitionsdateien
In den oben genannten Definitionsdateien können auch Unterprogramme aufgerufen
werden, die REDEF Anweisungen enthalten. Die REDEF Anweisungen müssen grundsätzlich
wie die DEF-Anweisungen am Anfang im Datenteil stehen. Die Unterprogramme müssen die
Extension SPF oder MPF haben und erben den mit den $MN_ACCESS_WRITE_xACCESS
eingestellten Schreibschutz der Definitionsdateien.
Hinweis
Erweiterung des REDEF-Befehls
Sobald die Funktion "Schutzstufen für NC-Sprachbefehle" aktiv ist, müssen die bisher in
GUD-Definitionsdateien angelegten Redefinitionen von Maschinendaten/Settingdaten in die
neuen Definitionsdateien für Schutzstufenzuweisungen verlagert werden, d. h. das Setzen
von Schutzstufen für Maschinen- und Settingdaten ist nur noch in den oben genannten
Schutzstufen-Definitionsdateien erlaubt und in den GUD-Definitionsdateien mit dem Alarm
15420 abgelehnt.
Hinweis
Das Setzen der Initialisierungsattribute und Synchronisationsattribute ist weiterhin nur in den
GUD-Definitionsdateien möglich.
Schutzstufen für Systemvariable
Schutzstufen auf Systemvariable gelten nur für die Wertzuweisungen über
Teileprogrammbefehl. In der Bedienoberfläche wirkt das Schutzstufenkonzept der jeweiligen
HMI-Advanced/Embedded.
Weitere Informationen zum "Schutzstufenkonzept" entnehmen Sie bitte:
/BAD/, Bedienungsanleitung HMI, im Kapitel "Schlüsselschalter" und "Maschinendaten"
/IAD/, Inbetriebnahmeanleitung, "Parametrierung der Steuerung"
Funktion
Die in dem vorangehenden Unterkapitel beschriebenen Funktionen zum Definieren von
Datenobjekten und Festlegen von Schutzstufen wird mit der verfügbaren Erweiterung der
REDEF-Anweisung zu einer allgemeinen Schnittstelle zur Einstellung von Attributen und
Werten verallgemeinert.
Arbeitsvorbereitung
3-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.5 REDEF: Attribute von NC-Sprachelementen ändern
Programmierung
REDEF NC-Sprachelement Attribut Wert
oder
REDEF name (ohne weitere Parameterangabe)
Parameter
Optionale Parameter
Wert (optional) Optionaler Parameter bei den Attributen INIPO, INIRE, INICF,
PRLOC: Nachträgliche(r ) Startwert(e)
Formen:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-19
Datei- und Programmverwaltung
3.5 REDEF: Attribute von NC-Sprachelementen ändern
Einzelwert z. B. 5
Werteliste z. B. (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) für Variable mit 10
Elementen mit
REP (w1) w1: zu wiederholende Werteliste
für Variable mit mehreren Elementen, z. B. REP(12)
SET(w1, w2, w3, ...) oder
(w1, w2, w3, ...) Werteliste
n: erforderlicher Parameter Schutzstufe bei Attributen bei APR
oder APW
Für GUD kann bei der Definition ein Startwert angegeben werden
(DEF NCK INT _MYGUD=5). Wird dieser Startwert (z. B. bei DEF
NCK INT _MYINT) nicht angegeben, so kann bei der REDEF-
Anweisung dieser Startwert nachträglich festgelegt werden.
Der Initialisierungswert für ein Feld gilt für alle
Feldelemente. Einzelne Elemente können mit einer
Initialisierungsliste oder REP( ) gesetzt werden. Beispiele:
REDEF_MYGUD INIRE 5
REDEF_MYGUD INIRE 0,1,2,3,4,5,6,7,8,9
REDEF_MYGUD INIRE REP(12,14,16,18,20)
Nicht anwendbar für R-Parameter und Systemvariablen.
Es können nur Konstanten zugewiesen werden.
Ausdrücke sind als Wert nicht erlaubt.
Die Synchronisation der die Initialisierung auslösenden Ereignisse muss der Anwender
realisieren, d. h. wird z. B. ein Teileprogrammende in zwei verschiedenen Kanälen
ausgeführt, so werden bei jedem dieser Vorgänge die Variablen initialisiert. Das hat
Auswirkung auf globale oder axiale Daten!
Programmierbare Settingdaten und aus dem Teileprogramm schreibbare Systemvariablen
Die folgenden SD sind in Verbindung mit der REDEF Anweisung initialisierbar:
Arbeitsvorbereitung
3-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.5 REDEF: Attribute von NC-Sprachelementen ändern
In der PGA1 "Liste der Systemvariablen" finden Sie die Auflistung der Systemvariablen. Alle
Systemvariablen, die in der Spalte Teileprogramm mit W (write) oder WS (write mit
Vorlaufstopp) gekennzeichnet sind, können mit RESET-Anweisung initialisiert werden.
Beispiel
Resetverhalten bei GUD:
/_N_DEF_DIR/_N_SGUD_DEF
DEF NCK INT _MYGUD1 ;Definitionen
DEF NCK INT _MYGUD2 = 2
DEF NCK INT _MYGUD3 = 3
Initialisieren bei Bedientafelfrontreset/Teileprogrammende:
DEF _MYGUD2 INIRE ;Initialisierung
M17
Damit wird dann bei Bedientafelfrontreset / Teileprogrammende "_MYGUD2" wieder auf den
Wert "2" gesetzt, während "_MYGUD1" und "_MYGUD3" ihren Wert beibehalten.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-21
Datei- und Programmverwaltung
3.5 REDEF: Attribute von NC-Sprachelementen ändern
/_N_DEF_DIR/_N_SGUD_DEF
REDEF $SA_SPIND_MAX_VELO_LIMS PRLOC ;Settingdatum für Grenzdrehzahl
M17
/_N_MPF_DIR/_N_MY_MPF
N10 SETMS (3)
N20 G96 S100 LIMS=2500
...
M30
Einstellungen wieder auf Default Werte setzen und Initialisierungen wieder löschen
Randbedingungen
● Die Änderung der Attribute von NC-Objekten kann erst nach der Definition des Objektes
erfolgen. Insbesondere bei GUD ist damit auf die Reihenfolge DEF.../ REDEF zu achten.
(Settingdaten/Systemvariablen werden implizit und bereits vor der Bearbeitung der
Definitionsdateien angelegt). Es muss immer zuerst das Symbol definiert werden (implizit
von System oder durch die DEF Anweisung) und es kann erst im Anschluss daran mit
REDEF geändert werden.
● Werden mehrere konkurrierende Attributänderungen programmiert, so wird immer die
letzte Änderung aktiv.
● Attribute von Feldern können nicht für einzelne Elemente, sondern immer nur für das
gesamte Feld gesetzt werden:
Arbeitsvorbereitung
3-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Datei- und Programmverwaltung
3.5 REDEF: Attribute von NC-Sprachelementen ändern
REDEF R[ ]INIRE
● INI-Attribute
Es ist jedoch dabei zu beachten, dass beim Setzen der INI-Attribute für diese Variablen
ein entsprechend großer Speicher für INIT-Werte, einstellbar über MD 18150:
MM_GUD_VAL_MEM, zur Verfügung stehen muss. Im MD 11270:
DEFAULT_VALUES_MEM_MASK muss Bit1 = 1 gesetzt sein (Speicher für
Initialisierungswerte aktiv). Ein zu kleiner Speicher hat den Alarm 12261 "Initialisierung
nicht erlaubt" zur Folge
● R-Parameter und Systemvariablen
Für R- und Systemvariablen besteht nicht die Möglichkeit einen vom einkompilierten Wert
abweichenden Defaultwert anzugeben. Das Rücksetzen auf den einkompilierten Wert mit
INIPO, INIRE oder INICF ist aber möglich.
● Für den Datentyp FRAME von GUD kann ebenfalls (wie bereits bei der Definition des
Datums) kein vom einkompilierten Wert abweichender Defaultwert angegeben werden.
● GUD (DEF NCK INT_MYGUD)
Für globale GUD (DEF NCK INT_MYGUD) ist nur das Attribut INIPO zulässig.
Für kanalspezifische GUD (DEF CHAN INT_MYGUD) werden beim entsprechenden
Ergebnis (RESET, BAG-RESET oder NewConfig) nur die Daten im jeweiligen Kanal
initialisiert.
Beispiel: Es sind 2 Kanäle mit dem kanalspezifischen definiert, das bei RESET initialisiert
werden soll:
DEF CHAN INT _MYGUD
REDEF _MYGUD INIRE
Bei einem RESET im ersten Kanal wird das GUD für diesen Kanal zurückgesetzt, der
Wert im zweiten Kanal bleibt unbeeinflusst.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 3-23
Datei- und Programmverwaltung
3.6 Strukturierungsanweisung SEFORM im Stepeditor
Funktion
Die Anweisung SEFORM wird im Stepeditor ausgewertet, um daraus die Schrittansicht für
HMI-Advanced zu generieren. Die Schrittansicht ist im HMI-Advanced verfügbar und dient
zur besseren Lesbarkeit des NC-Unterprogramms. Mit der Strukturierungsanweisung
SEFORM wird der Stepeditor (editorbasierte Programmunterstützung) über die drei
angegebenen Parameter unterstützt.
Programmierung
SEFORM(STRING[128] abschnittsname, INT ebene, STRING[128] icon)
Parameter
SEFORM Funktionsaufruf der Strukturierungsanweisung mit
den Parametern: abschnittsname, ebene und icon
abschnittname Bezeichner des Arbeitsschrittes
ebene Index für die Haupt- oder Unterebene.
=0 entspricht Hauptebene
=1, ... entspricht Unterebene 1 bis n
icon Name des Icons, welches für diesen Abschnitt
angezeigt werden soll.
Hinweis
Die SEFORM-Anweisungen werden im Stepeditor erzeugt.
Der mit dem Parameter <abschnittsname> übergebene String wird analog zur MSG-
Anweisung hauptlaufsynchron in der BTSS-Variable abgelegt. Die Information bleibt bis zum
Überschreiben der nächsten SEFROM-Anweisung bestehen. Mit Reset und
Teileprogrammende wird der Inhalt gelöscht.
Der Parameter ebene und icon werden bei der Teileprogrammbearbeitung vom NCK geprüft,
aber nicht weiterverarbeitet.
Weitere Informationen zur editorbasierten Programmierunterstützung entnehmen Sie bitte:
/BAD/ Bedienungsanleitung HMI Advanced.
Arbeitsvorbereitung
3-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Schutzbereiche 4
4.1 4.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF)
Funktion
Mit Hilfe von Schutzbereichen lassen sich verschiedene Elemente an der Maschine, die
Ausrüstung sowie das Werkstück vor falschen Bewegungen schützen.
Werkzeugbezogene Schutzbereiche:
Für Teile, die zum Werkzeug gehören (z. B. Werkzeug, Werkzeugträger).
Werkstückbezogene Schutzbereiche:
Für Teile, die zum Werkstück gehören (z. B. Teile des Werkstücks, Aufspanntisch,
Spannpratzen, Spindelfutter, Reitstock).
%
=
;
:HUNVW¾FNEH]RJHQHU
6FKXW]EHUHLFK
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 4-1
Schutzbereiche
4.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF)
Programmierung
DEF INT NOT_USED
CPROTDEF(n,t,applim,applus,appminus)
NPROTDEF(n,t,applim,applus,appminus)
EXECUTE (NOT_USED)
Parameter
DEF INT NOT_USED Lokale Variable, Datentyp Integer definieren (vgl. Kap.
Bewegungssynchronaktion)
CPROTDEF Kanalspezifische Schutzbereiche (nur für NCU 572/573)
definieren
NPROTDEF Maschinenspezifische Schutzbereiche definieren
EXECUTE Definition beenden
n Nummer des definierten Schutzbereichs
t TRUE = Werkzeugbezogener Schutzbereich
FALSE = Werkstückbezogener Schutzbereich
applim Art der Begrenzung in der 3. Dimension
0 = keine Begrenzung
1 = Begrenzung in Plus-Richtung
2 = Begrenzung in Minus-Richtung
3 = Begrenzung in Plus- und Minus-Richtung
applus Wert der Begrenzung in Plus-Richtung der 3. Dimension
appminus Wert der Begrenzung in Minus-Richtung der 3. Dimension
NOT_USED Die Fehlervariable ist bei Schutzbereichen mit EXECUTE
wirkungslos
Beschreibung
Zur Definition von Schutzbereichen gehören:
● CPROTDEF für kanalspezifische Schutzbereiche
● NPROTDEF für maschinenspezifische Schutzbereiche
● Konturbeschreibung des Schutzbereichs
● Abschluss der Definition mit EXECUTE
Bei Aktivierung des Schutzbereichs im NC-Teileprogramm können Sie den Bezugspunkt des
Schutzbereichs relativ verschieben.
Arbeitsvorbereitung
4-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Schutzbereiche
4.1 Festlegung der Schutzbereiche (CPROTDEF, NPROTDEF)
Arbeitsebene
Die gewünschte Ebene wird vor CPROTDEF bzw. NPROTDEF mit G17, G18, G19
angewählt und darf vor EXECUTE nicht geändert werden. Eine Programmierung der
Applikate zwischen CPROTDEF bzw. NPROTDEF und EXECUTE ist nicht zulässig.
Konturelemente
Zulässig sind:
● G0, G1 für gerade Konturelemente
● G2 für Kreisabschnitte im Uhrzeigersinn (nur für werkstückbezogene Schutzbereiche)
● G3 für Kreisabschnitte gegen den Uhrzeigersinn
Hinweis
Bei 810D stehen max. 4 Konturelemente zur Definition von jeweils einem Schutzbereich
(max. 4 kanalspezifische und 4 NCK-spezifische Schutzbereiche) zur Verfügung.
Soll ein Vollkreis den Schutzbereich beschreiben, so ist er in zwei Teilkreise aufzuteilen.
Die Folge G2, G3 bzw. G3, G2 ist nicht zulässig. Hier ist ggf. ein kurzer G1-Satz
einzuschieben.
Der letzte Punkt der Konturbeschreibung muss mit dem ersten Punkt zusammenfallen.
Außenschutzbereiche (nur bei werkstückbezogenen Schutzbereichen möglich) sind im
Uhrzeigersinn zu definieren.
Bei rotationssymmetrischen Schutzbereichen (z. B. Spindelfutter) müssen Sie die
Gesamtkontur beschreiben (nicht nur bis zur Drehmitte!).
Werkzeugbezogene Schutzbereiche müssen immer konvex sein. Falls ein konkaver
Schutzbereich gewünscht ist, ist dieser in mehrere konvexe Schutzbereiche zu zerlegen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 4-3
Schutzbereiche
4.2 Schutzbereiche aktivieren, deaktivieren (CPROT, NPROT)
.RQYH[H6FKXW]EHUHLFKH
.RQNDYH6FKXW]EHUHLFKHQLFKW]XO¦VVLJ
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.
Hinweis
Ist kein werkstückbezogener Schutzbereich aktiv, so findet keine
Schutzbereichsüberwachung statt.
Programmierung
CPROT (n,state,xMov,yMov,zMov)
NPROT (n,state,xMov,yMov,zMov)
Parameter
Arbeitsvorbereitung
4-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Schutzbereiche
4.2 Schutzbereiche aktivieren, deaktivieren (CPROT, NPROT)
Beispiel Fräsen
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:
● Jeweils ein maschinenspezifischer und werkstückbezogener Schutzbereich für den
Messtasterhalter (n-SB1) und für den Messtaster selbst (n-SB2).
● Jeweils ein kanalspezifischer und werkzeugbezogener Schutzbereich für den
Fräserhalter (c-SB1), den Fräserschaft (c-SB2) und für den Fräser selbst (c-SB3).
Die Orientierung aller Schutzbereiche liegt in Z-Richtung.
Die Lage des Bezugspunktes des Messtasters bei der Aktivierung soll bei X = –120, Y = 60
und Z = 80 liegen.
%H]XJVSXQNWI¾U
GHQ6FKXW]EHUHLFK
GHV0H¡WDVWHUV
Q6%
Q6% &6%
&6%
=
&6%
<
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 4-5
Schutzbereiche
4.2 Schutzbereiche aktivieren, deaktivieren (CPROT, NPROT)
Aktivierungsstatus
Ein Schutzbereich wird im allgemeinen im Teileprogramm mit Status = 2 aktiviert.
Arbeitsvorbereitung
4-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Schutzbereiche
4.2 Schutzbereiche aktivieren, deaktivieren (CPROT, NPROT)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 4-7
Schutzbereiche
4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits
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.
Die Funktion CALCPOSI ist ein vordefiniertes Unterprogramm. Sie muss alleine in einem
Satz stehen.
Programmierung
Status=CALCPOSI(_STARTPOS, _MOVDIST, _DLIMIT, _MAXDIST, _BASE_SYS,
_TESTLIM)
Parameter
Arbeitsvorbereitung
4-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Schutzbereiche
4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits
Hunderterstelle
100:
Der positive Grenzwert ist verletzt (nur, wenn die Einerstelle 1
oder 2 ist, d. h. bei Softwarelimits und Arbeitsfeldbegrenzung)
100:
Es ist ein NCKSchutzbereich verletzt (nur, wenn die Einerstelle 3
ist).
200:
Der negative Grenzwert ist verletzt (nur, wenn die Einerstelle 1
oder 2 ist, d. h. bei Softwarelimits und Arbeitsfeldbegrenzung)
200:
Es ist ein kanalspezifischer Schutzbereich verletzt (nur, wenn die
Einerstelle 3 ist).
Tausenderstelle
1000:
Faktor, mit dem die Nummer der Achse multipliziert wird, die die
Grenze verletzt (nur, wenn die Einerstelle 1 oder 2 ist, d. h. bei
Softwarelimits und Arbeitsfeldbegrenzung).
Die Zählung der Achsen beginnt bei 1 und bezieht sich bei
verletzten Softwarelimits (Einerstelle = 1) auf die
Maschinenachsen und bei verletzter Arbeitsfeldbegrenzung
(Einerstelle =2) auf die Geometrieachsen.
1000:
Faktor, mit dem die Nummer des verletzten Schutzbereiches
multipliziert wird (nur, wenn die Einerstelle 3 ist).
Sind mehrere Schutzbereiche verletzt, wird in den Hunderter–und
Tausenderstellen der Schutzbereich gemeldet, der zur stärksten
Einschränkung des vorgegebenen Verfahrweges führt.
_STARTPOS Anfangswert für Abszisse [0], Ordinate [1] und Applikate [2] im
(WKS)
_MOVEDIST Wegvorgabe inkrementell für Abszisse [0], Ordinate [1] und
Applikate [2]
_DLIMIT [0] - [2]: Mindestabstände die den Geometrieachsen zugeordnet
sind.
[3]: Mindestabstand, der einer linearen Maschinenachse zugeordnet
wird bei einer nicht linearen Transformation, wenn keine
Geometrieachse eindeutig zugeordnet werden kann.
[4]: Mindestabstand, der einer rotatorischen Maschinenachse
zugeordnet wird bei einer nicht linearen Transformation, wenn
keine Geometrieachse eindeutig zugeordnet werden kann. Nur bei
speziellen Transformationen, wenn SW-Limits überwacht werden
sollen.
_MAXDIST Feld [0] - [2] für Rückgabewert. Inkrementeller Weg in allen drei
Geometrieachsen, ohne dass der vorgegebene Mindestabstand von
einer Achsgrenze in den beteiligten Maschinenachsen unterschritten
wird.
Ist der Verfahrweg nicht eingeschränkt, ist der Inhalt dieses
Rückgabeparameters gleich dem Inhalt von _MOVDIST.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 4-9
Schutzbereiche
4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits
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. C4 ist ein quadratischer, voraktivierter
und werkstückbezogener Schutzbereich mit 10 mm Seitenlänge und N3 ist ein rechteckiger
aktiver Schutzbereich mit 10 mm bzw. 15 mm Seitenlänge. Im folgenden NCwerden
zunächst die Schutzbereiche und Arbeitsfeldbegrenzungen wie skizziert definiert, und
anschließend wird die Funktion CALCPOSI mit verschiedenen Parametrierungen
aufgerufen. Die Ergebnisse der einzelnen Aufrufe von CALCPOSI sind in der Tabelle am
Beispielende zusammengefasst.
Arbeitsvorbereitung
4-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Schutzbereiche
4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits
<
6RIWZDUHOLPLWV
& YRUDNWLY
11
1
1
1
&
$UEHLWVIHOGEHJUHQ]XQJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 4-11
Schutzbereiche
4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits
N280 nprot(3,2,0, 0, 0)
N290 g25 XX=–YY=– ;Arbeitsfeldbegrenzungen definieren
N300 g26 xx= 20 yy= 21
N310 _STARTPOS[0] = 0.
N320 _STARTPOS[1] = 0.
N330 _STARTPOS[2] = 0.
N340 _MOVDIST[0] = 35.
N350 _MOVDIST[1] = 20.
N360 _MOVDIST[2] = 0.
N370 _DLIMIT[0] = 0.
N380 _DLIMIT[1] = 0.
N390 _DLIMIT[2] = 0.
N400 _DLIMIT[3] = 0.
N410 _DLIMIT[4] = 0.
;Verschiede Funktionsaufrufe
N420 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST)
N430 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,3)
N440 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,1)
N450 _STARTPOS[0] = 5. ;Anderer Startpunkt
N460 _STARTPOS[1] = 17.
N470 _STARTPOS[2] = 0.
N480 _MOVDIST[0] = 0. ;Anderes Ziel
N490 _MOVDIST[1] =–.
N500 _MOVDIST[2] = 0.
;Verschiede Funktionsaufrufe
N510 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,,14)
N520 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 6)
N530 _DLIMIT[1] = 2.
N540 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 6)
N550 _STARTPOS[0] = 27.
N560 _STARTPOS[1] = 17.1
N570 _STARTPOS[2] = 0.
N580 _MOVDIST[0] =–.
N590 _MOVDIST[1] = 0.
N600 _MOVDIST[2] = 0.
Arbeitsvorbereitung
4-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Schutzbereiche
4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits
N610 _DLIMIT[3] = 2.
N620 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST,, 12)
N630 _STARTPOS[0] = 0.
N640 _STARTPOS[1] = 0.
N650 _STARTPOS[2] = 0.
N660 _MOVDIST[0] = 0.
N670 _MOVDIST[1] = 30.
N680 _MOVDIST[2] = 0.
N690 trans x10
N700 arot z45
N710 _STATUS = calcposi(_STARTPOS,_MOVDIST, _DLIMIT, _MAXDIST)
N720 M30
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 4-13
Schutzbereiche
4.3 Überprüfung auf Schutzbereichsverletzung, Arbeitsfeldbegrenzung und Softwarelimits
Die Überwachung der Softwarelimits und der Arbeitsfeldbegrenzungen ist wie im normalen
Verfahrbetrieb abhängig von aktiven Einstellungen (Interfacesignale zur Auswahl der
Softwarelimits 1 bzw. Softwarelimits 2, GWALIMON/WALIMOF, Settingdaten zur
individuellen Aktivierung der Arbeitsfeldgrenzen und zur Festlegung, ob bei der
Überwachung der Arbeitsfeldbegrenzungen der Radius des aktiven Werkzeuges
berücksichtigt werden soll oder nicht).
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. Bei der Überwachung der Softwarelimits mit Hilfe der Funktion
CALCPOSI wird deshalb in derartigen Fällen die gegenwärtige Maschinenposition zur
Auflösung der Mehrdeutigkeit herangezogen. Gegebenenfalls muss deshalb vor CALCPOSI
ein STOPRE programmiert werden, um die Funktion mit gültigen Maschinenachspositionen
versorgen zu können.
Es ist nicht sichergestellt, dass zu den Schutzbereichen bei einer Bewegung auf dem
vorgegebenen Verfahrweg der in _DLIMIT[3] spezifizierte Abstand überall eingehalten wird.
Dafür kann bei Verlängerung des in _MOVDIST zurückgelieferten Endpunktes um diese
Distanz kein Schutzbereich verletzt werden. Die Gerade kann in ihrem Verlauf aber beliebig
dicht an einem Schutzbereich vorbei führen.
Hinweis
Details zu Arbeitsfeldbegrenzungen finden Sie im
/PG/ Programmierhandbuch Grundlagen,
zu den Softwarelimits in
/FB1/ Funktionshandbuch Grundfunktionen; Achsüberwachungen, Schutzbereiche (A3).
Arbeitsvorbereitung
4-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle 5
5.1 5.1 Codierte Positionen anfahren (CAC, CIC, CDC, CACP, CACN)
Funktion
Über Maschinendaten können Sie für 2 Achsen jeweils maximal 60 (0 bis 59) Positionen in
Positionstabellen eingeben.
Programmierung
CAC (n)
oder
CIC (n)
oder
CACP (n)
oder
CACN (n)
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-1
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
7DEHOOH/LQLHQDFKVH
3RVLWLRQVQXPPHU
3RVLWLRQVZHUW PP
7HLOXQJVDFKVH
7DEHOOH5XQGDFKVH
3RVLWLRQVQXPPHU
3RVLWLRQVZHUW *UDG
Hinweis
Falls eine Achse zwischen zwei Positionen steht, wird bei inkrementeller Angabe mit CIC(…)
nicht verfahren. Es empfiehlt sich, den ersten Fahrbefehl immer mit absoluter
Positionsangabe zu programmieren.
Beispiel 2
Funktion
Mit der Spline-Interpolation können Punktefolgen durch glatte Kurven verbunden werden.
Splines können z. B. verwendet werden, um digitalisierte Punkte zu Kurven zu verbinden.
Es gibt verschiedene Spline-Typen mit unterschiedlichen Eigenschaften, die auch zu
unterschiedlichen Ergebnissen führen. Neben der Auswahl der Spline-Typen hat der
Arbeitsvorbereitung
5-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
Benutzer auch noch Einfluss auf eine Reihe von Parametern. Oftmals bedarf es einiger
Versuche, um das gewünschte Bild zu erzeugen.
3
3
3 3
3
3
3ELV3YRUJHJHEHQH.RRUGLQDWHQ
Einen Spline programmieren Sie, wenn eine Punktfolge durch eine Kurve verbunden werden
soll. Drei Spline-Arten sind möglich:
● A-Spline (Akima-Spline)
● B-Spline (Nicht uniformer, rationaler Basis-Spline, NURBS)
● C-Spline (Kubischer Spline)
Programmierung
ASPLINE X Y Z A B C
oder
BSPLINE X Y Z A B C
oder
CSPLINE X Y Z A B C
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-3
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
A-, B- und C-Spline sind modal wirksam und gehören zur Gruppe der Wegbefehle.
Die Werkzeugradiuskorrektur ist einsetzbar.
Kollisionsüberwachung erfolgt in der Projektion auf die Ebene.
Hinweis
Parameter für A-SPLINE und C-SPLINE
Für den Akima-Spline (A-Spline) und den Kubischen Spline (C-Spline) können
Randbedingungen für das Übergangsverhalten am Beginn und am Ende der Spline Kurve
programmiert werden.
Diese Randbedingungen für das Übergangsverhalten sind in zwei Gruppen mit
Anweisungen zu je drei Befehlen wie folgt aufgeteilt:
%$872
($872
NHLQH9RUJDEH
%1$7
(1$7
.U¾PPXQJ1XOO
EHUJDQJ
WDQJHQWLDO
%7$1 (7$1
Arbeitsvorbereitung
5-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
Hinweis
Parameter für B-SPLINE
Die programmierbaren Randbedingungen (siehe A- bzw. C-Spline) haben keinen Einfluss
auf den B-Spline. Der B-Spline ist in Start- und Endpunkt immer tangential zum
Kontrollpolygon.
Punktgewicht::
PW = n Für jeden Stützpunkt ist die Programmierung der Gewichtsangabe
als sogenanntes Punkt-Gewicht PW möglich.
Wertebereich:
<= n <= 3 in Schritten von 0.0001
Wirkung:
n > 1 Die Kurve wird vom Kontrollpunkt stärker angezogen
n < 1 Die Kurve wird vom Kontrollpunkt weniger stark angezogen
Spline-Grad:
SD = 2 Standardmäßig wird ein Polygon 3. Grades verwendet. Sie können
auch ein Polygon 2. Grades verwenden.
Knotenabstand:
PL = Wert Die Knotenabstände werden intern geeignet berechnet. Die
Steuerung kann aber auch vorgegebene Knotenabstände
verarbeiten, die in der sogenannten Parameter-Intervall-Länge
PL angegeben werden.
Wert Wertebereich wie Wegmaß
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-5
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
Beispiel B-Spline
<
.RQWUROOSRO\JRQ
DOOH*HZLFKWH
XQWHUVFKLHGOLFKH*HZLFKWH
;
Arbeitsvorbereitung
5-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
<
;
N10 G1 X0 Y0 F300
N15 X10
N20 BNAT ENAT ;C-Spline, am Anfang und am Ende Krümmung Null
N30 CSPLINE X20 Y10
N40 X30
N50 X40 Y5
N60 X50 Y15
N70 X55 Y7
N80 X60 Y20
N90 X65 Y20
N100 X70 Y0
N110 X80 Y10
N120 X90 Y0
N130 M30
A-Spline
Der A-Spline (Akima-Spline verläuft exakt durch die Stützpunkte. Er erzeugt kaum
ungewollte Schwingungen, ist aber dafür in den Stützpunkten nicht krümmungsstetig. Der
Akima-Spline ist lokal, d. h die Veränderung eines Stützpunktes wirkt sich nur auf bis zu 6
benachbarte Stützpunkte aus. Er eignet sich so vor allem für die Interpolation von
digitalisierten Punkten. Zur Interpolation wird ein Polynom 3. Grades verwendet.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-7
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
$6SOLQH$NLPD6SOLQH
3 3
3
3
3
3
3
3ELV3YRUJHJHEHQH.RRUGLQDWHQ
B-Spline
Beim B-Spline sind die programmierten Positionen keine Stützpunkte, sondern lediglich
Kontrollpunkte des Splines, d. h. die Kurve verläuft nicht direkt durch diese Punkte, sondern
wird durch sie "angezogen". Die Verbindung der Punkte durch Geraden bildet das
Kontrollpolygon des Splines. Der B-Spline ist optimal zur Beschreibung von Werkzeugwegen
auf Freiformflächen. Er ist primär als Schnittstelle zu CAD-Systemen gedacht. Ein B-Spline
3. Grades erzeugt keine Schwingungen trotz krümmungsstetiger Übergänge.
%6SOLQH
.RQWUROOSRO\JRQ 3 3
3
3
3
3
3
3ELV3YRUJHJHEHQH.RRUGLQDWHQ
Arbeitsvorbereitung
5-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
C-Spline
Im Unterschied zum Akima-Spline ist der kubische Spline (C-Spline) in den Stützpunkten
krümmungsstetig. Er neigt jedoch zu unerwarteten Schwingungen. Er kann dann eingesetzt
werden, wenn die Punkte auf einer analytisch bekannten Kurve liegen. Der C-Spline benutzt
Polynome 3. Grades.
Der Spline ist nicht lokal, d. h. die Veränderung eines Stützpunktes kann sich in vielen
Sätzen auswirken (mit abnehmender Stärke).
&6SOLQHNXELVFKHU6SOLQH
3
3 3
3
3
3
3
3ELV3YRUJHJHEHQH.RRUGLQDWHQ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-9
Spezielle Wegbefehle
5.2 Spline-Interpolation (ASPLINE, BSPLINE, CSPLINE, BAUTO, BNAT, BTAN)
3
3
3
3
3
3
3
$6SOLQH
%6SOLQH
&6SOLQH
Mindestanzahl an Spline-Sätzen
Die G-Codes ASPLINE, BSPLINE und CSPLINE verbinden Satzendpunkte mit Splines.
Dazu müssen im Vorlauf eine Reihe von Sätzen (Endpunkte) gleichzeitig berechnet werden.
Die Größe des Puffers für die Berechnung beträgt standardmäßig 10 Sätze. Nicht jede
Satzinformation ist ein Spline-Endpunkt. Die Steuerung benötigt jedoch von 10 Sätzen eine
bestimmte Anzahl an Spline-Endpunkt-Sätzen:
Hinweis
Bei Unterschreitung des tolerierbaren Werts wird ein Alarm ausgegeben, ebenso, wenn eine
am Spline beteiligte Achse als Positionierachse programmiert wird.
Arbeitsvorbereitung
5-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.3 Spline-Verbund (SPLINEPATH)
Satzlänge ausreichend groß ist und nicht zu einer Verringerung der Bahngeschwindigkeit
führt.
Die Funktion wird aktiviert über das kanalspezifische Maschinendatum:
MD20488 $MC_SPLINE_MODE (Einstellung für Spline-Interpolation)
Literatur:
/FB1/ Funktionshandbuch Grundfunktionen; Bahnsteuerbetrieb, Genauhalt, LookAhead (B1),
Kapitel: Zusammenfassung kurzer Spline-Sätze
Funktion
Die im Splineverbund zu interpolierenden Achsen werden mit dem Befehl SPLINEPATH
ausgewählt. Bis zu acht Bahnachsen sind bei der Spline-Interpolation möglich. Mit der
SPLINEPATH-Anweisung werden die am Spline teilnehmenden Achsen festgelegt.
Programmierung
SPLINEPATH(n,X,Y,Z,…)
Die Festlegung erfolgt in einem gesonderten Satz. Wird SPLINEPATH nicht explizit
programmiert, so werden die ersten drei Achsen des Kanals als Splineverbund verfahren.
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-11
Spezielle Wegbefehle
5.3 Spline-Verbund (SPLINEPATH)
=
63/,1(3$7+;<=
<
Arbeitsvorbereitung
5-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.4 Kompressor (COMPOF/ON, COMPCURV, COMPCAD)
Funktion
Mit dem G-Code COMPON sind die Satzübergänge nur stetig in der Geschwindigkeit,
während die Beschleunigung der beteiligten Achsen an den Satzübergängen Sprünge
machen kann. Dies kann zur Anregung von Schwingungen der Maschine führen.
Mit dem G-Code COMPCURV werden die Satzübergänge beschleunigungsstetig gestaltet.
Damit ist sowohl ein glatter Verlauf der Geschwindigkeit als auch der Beschleunigung aller
Achsen an den Satzübergängen gewährleistet. Mit dem G-Code COMPCAD kann eine
weitere Kompression gewählt werden, die bezüglich Oberflächengüte und Geschwindigkeit
optimiert werden kann.
Maschinenhersteller
Die Kompressorfunktionen sind projektierbar und damit von Maschinendateneinstellungen
abhängig.
Programmierung
COMPON
oder
COMPOF
oder
COMPCURV
oder
COMPCAD
Einsatzbedingungen für programmierte NC-Sätze
Dieser Kompressionsvorgang wird nur für Linearsätze (G1) durchgeführt. Er wird
unterbrochen durch jede andere NC-Anweisung, z.B. eine Hilfsfunktionsausgabe, nicht
jedoch durch Parameterrechnungen. Es werden nur Sätze komprimiert, die nicht mehr
enthalten als Satznummer, G1, Achsadressen, Vorschub und Kommentar. Alle anderen
Sätze werden unverändert abgearbeitet (ohne Kompression). Variablen dürfen nicht
verwendet werden.
Parameter
COMPON/ / Kompressor ein, stetig in der
COMPOF Geschwindigkeit
Kompressor aus
COMPCURV Kompressor ein, krümmungsstetige Polynome
(beschleunigungsstetig)
COMPCAD Kompressor ein, optimierte Oberflächengüte
(geschwindigkeitsoptimiert)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-13
Spezielle Wegbefehle
5.4 Kompressor (COMPOF/ON, COMPCURV, COMPCAD)
Hinweis
Die G-Codes COMPOF/COMPON, COMPCURV und COMPCAD sind modal wirksam.
Beispiel COMPON
Hinweis
Komprimiert werden alle Sätze, die einer einfachen Syntax genügen, z.B.
N19 X0.103 Y0. Z0.
N20 X0.102 Y-0.018
N21 X0.097 Y-0.036
N22 X0.089 Y-0.052
N23 X0.078 Y-0.067
Bewegungssätze mit erweiterten Adressen wie C=100 oder A=AC(100) werden auch
komprimiert.
Beispiel COMPCAD
Arbeitsvorbereitung
5-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.4 Kompressor (COMPOF/ON, COMPCURV, COMPCAD)
Voraussetzung
Maschinenhersteller
Für die Kompressorfunktion gibt es drei Maschinendaten:
● $MC_COMPRESS_BLOCK_PATH_LIMIT
Eine maximale Weglänge wird eingestellt, bis zu der Sätze als komprimierbar gelten.
Längere Sätze werden nicht komprimiert.
● $MA_COMPRESS_POS_TOL
Für jede Achse kann eine Toleranz eingestellt werden. Die erzeugte Spline-Kurve weicht
maximal um diesen Wert von den programmierten Endpunkten ab. Je größer diese Werte
sind, umso mehr Sätze können komprimiert werden.
● $MC_COMPRESS_VELO_TOL
Die maximal zulässige Abweichung des Bahnvorschubes bei aktivem Kompressor in
Verbindung mit FLIN und FCUB kann vorgegeben werden.
COMPCAD
● $MN_MM_EXT_PROG_BUFFER_SIZE soll groß z.B. 100 (kB) gewählt werden.
● $MC_COMPRESS_BLOCK_PATH_LIMIT muss deutlich größer z.B. 50 (mm) angegeben
werden.
● $MC_MM_NUM_BLOCKS_IN_PREP muss >= 60 gesetzt werden, um deutlich mehr als
10 Punkte bearbeiten zu können.
● FLIN und FCUB können nicht benutzt werden.
Empfohlen für große Satzlänge und optimale Geschwindigkeit:
● $MC_MM_MAX_AXISPOLY_PER_BLOCK = 5
$MC_MM_PATH_VELO_SEGMENTS = 5
$MC_MM_ARCLENGTH_SEGMENTS = 10
Beschreibung
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.
Der Kompressor hat die Möglichkeit, eine bestimmte Anzahl (max. 10) dieser kurzen
Bahnabschnitte zu einem Bahnabschnitt zusammenzufassen.
Mit dem modalen G-Code COMPON bzw. COMPCURV kann ein "NC-Satz-Kompressor"
eingeschaltet werden. Diese Funktion sammelt bei Linearinterpolation eine Reihe von
Geraden-Sätzen (Anzahl ist auf 10 beschränkt) und nähert sie im Rahmen einer über
Maschinendatum angebbaren Fehlertoleranz durch Polynome 3. Grades (COMPON) bzw. 5.
Grades (COMPCURV) an. Statt vieler kleiner wird ein größerer Bewegungssatz durch die NC
verarbeitet. Weitere Informationen zur Kompression kurzer Spline-Sätze siehe Kapitel
"Spline-Interpolation".
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-15
Spezielle Wegbefehle
5.4 Kompressor (COMPOF/ON, COMPCURV, COMPCAD)
COMPCAD
COMPCAD ist rechenzeit- und speicherplatzintensiv. Es sollte nur eingesetzt werden, wenn
Maßnahmen zur Oberflächenverbesserung vom CAD/CAM-Programm nicht vorab geleistet
werden können. Merkmale:
● COMPCAD erzeugt beschleunigungsstetig ineinander übergehende Polynomsätze.
● Bei benachbarten Bahnen führen die Abweichungen jeweils in die gleiche Richtung.
● Mit dem Settingdatum $SC_CRIT_SPLINE_ANGLE kann ein Grenzwinkel festgelegt
werden, ab dem COMPCAD Ecken stehen lässt.
● Die Anzahl der zu komprimierenden Sätze ist nicht auf 10 begrenzt.
● COMPCAD eliminiert mangelhafte Flächenübergänge. Dabei werden die Toleranzen
weitgehend eingehalten, der Eckengrenzwinkel jedoch nicht berücksichtigt.
● Die Überschleiffunktion G642 ist zusätzlich nutzbar.
Erweiterungen COMPON, COMPCURV und COMPCAD
Die Kompressoren COMPON, COMPCURV und COMPCAD sind so erweitert, dass auch NC-Pro-
gramme, in denen die Orientierung mittels Richtungsvektoren programmiert ist, unter
Einhaltung einer vorgebbaren Toleranz komprimiert werden können.
Orientierungstransformation TRAORI
Für die Funktion "Kompressor für Orientierungen" muss die Option
Orientierungstransformation verfügbar sein. Die oben unter "Einsatzbedingungen"
genannten Einschränkungen sind dahingehend gelockert, das jetzt auch Positionswerte über
Parameterzuweisungen erfolgen können.
Allgemeine Form des NC-Satzes:
Arbeitsvorbereitung
5-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.5 Polynom-Interpolation (POLY, POLYPATH)
Funktion
Im eigentlichen Sinn handelt es sich bei der Polynom-Interpolation (POLY) nicht um eine
Spline-Interpolationsart. Sie ist in erster Linie als Schnittstelle für die Programmierung extern
erzeugter Spline-Kurven gedacht. Hierbei können die Spline-Abschnitte direkt programmiert
werden.
Diese Interpolationsart entlastet die NC von der Berechnung der Polynomkoeffizienten. Sie
ist dann optimal einsetzbar, wenn die Koeffizienten direkt von einem CAD-System oder
Postprozessor kommen.
Programmierung
POLY PO[X]=(xe,a2,a3) PO[Y]=(ye,b2,b3) PO[Z]=(ze,c2,c3) PL=n Polynom 3.
Grades
oder Erweiterung auf Polynome [Link] und neuer Polynomsyntax
POLY X=PO(xe,a2,a3,a4,a5) Y=PO(ye,b2,b3,b4,b5) Z=PO(ze,c2,c3,c4,c5) PL=n
POLYPATH ("AXES", VECT")
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-17
Spezielle Wegbefehle
5.5 Polynom-Interpolation (POLY, POLYPATH)
POLY einschalten/ausschalten
Die Polynominterpolation ist zusammen mit G0, G1, G2, G3, A-Spline, B-Spline und C-
Spline in der ersten G-Gruppe. Wenn sie aktiv ist, ist es nicht erforderlich, die
Polynomsyntax zu programmieren: Achsen, die nur mit ihrem Namen und Endpunkt
programmiert sind, werden linear auf ihren Endpunkt verfahren. Wenn alle Achsen so
programmiert sind, verhält sich die Steuerung wie bei G1.
Die Polynominterpolation wird durch einen anderen Befehl der G-Gruppe (z. B. G0, G1)
ausgeschaltet.
Polynomkoeffizient
Der PO-Wert (PO[]=) bzw. ...=PO(...) gibt alle Polynomkoeffizienten für eine Achse
an. Entsprechend dem Polynomgrad werden mehrere Werte durch Kommata getrennt
angegeben. Innerhalb eines Satzes sind unterschiedliche Polynomgrade für verschiedene
Achsen möglich.
Neue Polynomsyntax mit PO: Die bisherige Syntax bleibt weiterhin gültig.
Unterprogrammaufruf POLYPATH
Mit POLYPATH kann die Polynominterpolation selektiv für folgende Achsgruppen
angegeben werden:
● POLYPATH ("AXES")
Alle Bahnachsen und Zusatzachsen.
● POLYPATH ("VECT") Orientierungsachsen
(bei Orientierungstransformation).
Standardmäßig werden für beide Achsgruppen die programmierten Polynome auch als
Polynom interpoliert.
Beispiele:
POLYPATH ("VECT")
Für die Polynominterpolation werden nur die Orientierungsachsen ausgewählt, alle anderen
Achsen verfahren linear.
POLYPATH ( )
Deaktiviert die Polynominterpolation für alle Achsen
Beispiel
N10 G1 X… Y… Z… F600
N11 POLY PO[X]=(1,2.5,0.7) -> ;Polynom-Interpolation ein
-> PO[Y]=(0.3,1,3.2) PL=1.5
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) ;kein PL programmiert; es wirkt PL=1
N30 G1 X… Y… Z. ;Polynom-Interpolation aus
…
Arbeitsvorbereitung
5-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.5 Polynom-Interpolation (POLY, POLYPATH)
<
(QGSXQNW
S
;
(QGSXQNW
%HLVSLHO
1;<*
132/<32><@
32>;@
3/
3/ S
N9 X0 Y0 G90 F100
N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-19
Spezielle Wegbefehle
5.5 Polynom-Interpolation (POLY, POLYPATH)
<
(UJHEQLVLQ;<(EHQH
3/
;
Beschreibung
Die Steuerung ist in der Lage, Kurven (Bahnen) zu verfahren, bei denen jede ausgewählte
Bahnachse einer Polynom-Funktion max. 5. Grades folgt.
Die allgemeine Form der Polynom-Funktion lautet:
f(p)= a0 + a1p + a2p2 + a3p3
oder
f(p)= a0 + a1p + a2p2 + a3p3 + a4p4 + a5p5
Dabei bedeuten:
an: konstante Koeffizienten
p: Parameter
Arbeitsvorbereitung
5-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.5 Polynom-Interpolation (POLY, POLYPATH)
<
(UJHEQLVLQ;<(EHQH
3/
;
Durch Belegen der Koeffizienten mit konkreten Werten sind die unterschiedlichsten
Kurvenverläufe, wie Geraden-, Parabel-, Potenzfunktion, erzeugbar.
Beim Setzen der Koeffizienten a2 = a3 = 0 oder a2 = a3 = a4 = a5 = 0 ergibt sich z. B. eine
Gerade mit:
f(p) = a0 + a1p
Es gilt:
a0 = Achsposition am Ende des vorangehenden Satzes
p = PL
a1 = (xE - a0 - a2*p2 - a3*p3) / p
Es ist möglich Polynome zu programmieren, ohne dass der G-Code POLY aktiv ist. In
diesem Fall werden jedoch nicht die programmierten Polynome interpoliert, sondern es wird
der jeweils programmierte Endpunkt jeder Achse linear angefahren (G1). Durch
Programmierung von POLY wird dann die Polynominterpolation aktiviert.
Weiterhin kann bei aktiven G-Code POLY mit dem vordefinierten Unterprogramm
POLYPATH (...) ausgewählt werden, welche Achsen mit Polynom interpoliert werden sollen.
Besonderheit Nennerpolynom
Für die Geometrieachsen kann mit PO[]=(…) ohne Angabe eines Achsnamens auch ein
gemeinsames Nennerpolynom programmiert werden, d. h. die Bewegung der
Geometrieachsen wird als Quotient zweier Polynome interpoliert.
Damit lassen sich z. B. Kegelschnitte (Kreis, Ellipse, Parabel, Hyperbel) exakt darstellen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-21
Spezielle Wegbefehle
5.5 Polynom-Interpolation (POLY, POLYPATH)
Beispiel:
Der konstante Koeffizient (a0) des Nennerpolynoms wird stets mit 1 angenommen, der
angegebene Endpunkt ist unabhängig von G90/G91.
Aus obigem Beispiel entsteht folgendes Ergebnis:
X(p)=10(1)/(1+p2) und Y(p)=20p/(1+p2) mit 0<=p<=1
Aufgrund der programmierten Anfangspunkte, Endpunkte, Koeffizient a2 und PL=1 ergeben
sich folgende Zwischenwerte:
Zähler (X)=10+0*p–p2
Zähler (Y)=0+20*p+0*p2
Nenner = 1+2*p+1*p2
<
Hinweis
Eine Werkzeugradiuskorrektur ist bei der Polynom-Interpolation mit G41, G42 einschaltbar
und wie für Geraden- oder Kreisinterpolation verwendbar.
Arbeitsvorbereitung
5-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.6 Einstellbarer Bahnbezug (SPATH, UPATH)
Funktion
Während Polynominterpolation können vom Anwender zwei unterschiedliche Beziehungen
zwischen den geschwindigkeitsbestimmenden FGROUP-Achsen und den übrigen
Bahnachsen gewünscht sein: Letztere sollen
● entweder synchron zum Bahnweg der FGROUP-Achsen
● oder synchron zum Kurvenparameter geführt werden.
Für die nicht in FGROUP enthaltenen Achsen gibt es daher zwei Möglichkeiten, der Bahn zu
folgen:
1. Entweder sind sie synchron zum Weg S (SPATH)
2. oder synchron zum Kurvenparameter U der FGROUP-Achsen (UPATH).
Beide Arten der Bahninterpolation werden in unterschiedlichen Applikationen gebraucht und
können durch die G-Codes SPATH und UPATH umgeschaltet werden.
Programmierung
SPATH
oder
UPATH
Parameter
SPATH, UPATH
Über einen der beiden G-Code (SPATH, UPATH) kann das gewünschte Verhalten
ausgewählt und programmiert werden.
Die Befehle sind modal wirksam. Bei aktivem SPATH werden die Achsen synchron zum
Weg geführt, bei aktivem UPATH synchron zum Kurvenparameter.
UPATH und SPATH bestimmen auch den Zusammenhang des F-Wort-Polynoms
(FPOLY, FCUB, FLIN) mit der Bahnbewegung.
Aktivierung FGROUP
Der Bahnbezug für die nicht in FGROUP enthaltenen Achsen wird durch die beiden in der
45. G-Code-Gruppe enthaltenen Sprachbefehle SPATH und UPATH eingestellt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-23
Spezielle Wegbefehle
5.6 Einstellbarer Bahnbezug (SPATH, UPATH)
Beispiel 1
Im nachfolgenden Beispiel wird ein Quadrat mit 20 mm Kantenlänge mit G643 überschliffen.
Die maximalen Abweichungen von der exakten Kontur werden dabei durch die
Maschinendaten MD 33100: COMPRESS_POS_TOL[...] für jede Achse festgelegt.
N10 G1 X… Y… Z… F500
N20 G643 ;Satzinternes Überschleifen mit G643
N30 XO Y0
N40 X20 Y0 ;mm Kantenlänge für die Achsen
N50 X20 Y20
N60 X0 Y20
N70 X0 Y0
N100 M30
Beispiel 2
Das folgende Beispiel illustriert den Unterschied zwischen den beiden Arten der
Bewegungsführung. Beide Male sei die Voreinstellung FGROUP(X,Y,Z) aktiv.
$ 63$7+ $ 863$7+
$; ; $; 6457;
; ;
8QWHUVFKLHGOLFKHJHRPHWULVFKH%H]LHKXQJHQ
]ZLVFKHQ$FKVHQEHL63$7+XQG83$7+
Im Satz N20 hängt der Weg S der FGROUP-Achsen vom Quadrat des Kurvenparameters U
ab. Daher ergeben sich entlang des Weges von X unterschiedliche Positionen der
Synchronachse A, je nachdem, ob SPATH oder UPATH aktiv ist.
Arbeitsvorbereitung
5-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.7 Messen mit schaltendem Taster (MEAS, MEAW)
Randbedingungen
Der eingestellte Bahnbezug hat keine Bedeutung bei
● Linear- und Kreisinterpolation,
● in Gewindesätzen und
● dann nicht, wenn alle Bahnachsen in FGROUP enthalten sind.
Beschreibung
Während Polynominterpolation - und damit seien immer die Polynominterpolation
● im engeren Sinne (POLY),
● alle Splineinterpolationsarten (ASPLINE, BSPLINE, CSPLINE) und
● Linearinterpolation mit Kompressor (COMPON, COMPCURV)
verstanden, - sind die Positionen aller Bahnachsen i durch Polynome pi(U) vorgegeben. Der
Kurvenparameter U bewegt sich dabei innerhalb eines NC-Satzes von 0 bis 1, ist also
normiert.
Durch den Sprachbefehl FGROUP können innerhalb der Bahnachsen diejenigen Achsen
ausgewählt werden, auf die sich der programmierte Bahnvorschub beziehen soll. Eine
Interpolation mit konstanter Geschwindigkeit auf dem Weg S dieser Achsen bedeutet
während Polynominterpolation jedoch in der Regel eine nicht konstante Änderung des
Kurvenparameters U.
Funktion
Für alle im NC-Satz programmierten Achsen werden die Positionen bei der Schaltflanke des
Messtasters erfasst und für jede Achse in die entsprechende Speicherzelle geschrieben. Es
existieren maximal zwei Messtaster.
Messergebnis lesen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-25
Spezielle Wegbefehle
5.7 Messen mit schaltendem Taster (MEAS, MEAW)
Das Messergebnis steht für die mit Messtaster erfassten Achsen unter folgenden Variablen
zur Verfügung:
● Im Maschinenkoordinatensystem unter $AA_MM[Achse]
● Im Werkstückkoordinatensystem unter $AA_MW[Achse]
Beim Lesen dieser Variablen wird intern kein Vorlaufstopp erzeugt.
Mit STOPRE muss im NC-Programm an geeigneter Stelle ein Vorlaufstopp programmiert
werden. Ansonsten werden falsche Werte gelesen.
Programmierung
Messsätze programmieren, MEAS, MEAW
Mit dem Befehl MEAS und einer Interpolationsart werden Istpositionen am Werkstück
angefahren und dabei Messwerte übernommen. Der Restweg zwischen Ist- und Sollposition
wird gelöscht.
Für spezielle Messaufgaben, bei denen in jedem Fall die programmierte Position angefahren
werden soll, wird MEAW eingesetzt. MEAS und MEAW sind satzweise wirksam.
Arbeitsvorbereitung
5-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.7 Messen mit schaltendem Taster (MEAS, MEAW)
Parameter
Beschreibung
Messauftragsstatus
Ist im Programm eine Auswertung erforderlich, ob der Messtaster geschaltet hat oder nicht,
kann die Zustandsvariable $AC_MEA[n] (n= Nummer des Messtasters) abgefragt werden:
0 Messauftrag nicht erfüllt
1 Messauftrag erfolgreich beendet (Messtaster hat geschaltet)
Hinweis
Wird der Messtaster im Programm ausgelenkt, wird die Variable auf 1 gesetzt. Beim Start
eines Messsatzes wird die Variable automatisch auf Anfangszustand des Tasters gesetzt.
Messwerteaufnahme
Es werden die Positionen aller verfahrenen Bahn- und Positionierachsen des Satzes
(maximale Anzahl an Achsen je nach Steuerungskonfiguration) erfasst. Bei MEAS wird die
Bewegung nach dem Schalten des Messtasters definiert abgebremst.
Hinweis
Ist in einem Messsatz eine GEO-Achse programmiert, werden die Messwerte für alle
aktuellen GEO-Achsen abgelegt.
Ist in einem Messsatz eine an einer Transformation beteiligten Achse programmiert, werden
die Messwerte aller an dieser Transformation beteiligten Achsen abgelegt
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-27
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
Funktion
Beim axialen Messen können mehrere Messtaster und mehrere Messsysteme benutzt
werden.
Bei MEASA, MEAWA werden für die jeweils programmierte Achse bis zu vier Messwerte pro
Messung erfasst und passend zum Trigger-Ereignis in Systemvariablen abgelegt.
Kontinuierliche Messaufträge können mit MEAC durchgeführt werden. In diesem Fall werden
die Messergebnisse in FIFO-Variablen abgelegt. Auch für MEAC sind pro Messung maximal
vier Messwerte möglich:
● Im Maschinenkoordinatensystem unter $AA_MM1 bis 4[Achse]
● Im Werkstückkoordinatensystem unter $AA_WM1 bis 4[Achse]
Programmierung
MEASA und MEAWA sind satzweise wirksam und können in einem Satz programmiert
werden. Wird MEASA/MEAWA mit MEAS/MEAW in einem Satz programmiert, so erfolgt eine
Fehlermeldung.
MEASA[Achse]=(Modus, TE1,..., TE4)
oder
MEAWA[Achse]=(Modus, TE1,..., TE4)
oder
MEAC[Achse]=(Modus, Messspeicher, TE1,..., TE4)
Arbeitsvorbereitung
5-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
Parameter
MEASA Messen mit Restweglöschen
MEAWA Messen ohne Restweglöschen
MEAC Kontinuierliches Messen ohne Restweglöschen
Achse Name der zur Messung verwendeten Kanalachse
Modus Zweistellige Angabe zum Betriebsmodus; bestehend aus
Messmodus (Einerdekade) und
0: Modus 0: Messauftrag abbrechen
1: Modus 1: bis zu 4 verschiedene gleichzeitig aktivierb.
Triggerereignisse
2: Modus 2: bis zu 4 nacheinander aktivierbare Triggerereignisse
3: Modus 3: bis zu 4 nacheinander aktivierbare Triggerereignisse,
jedoch keine Überwachung von Triggerereignis 1
beim START (Alarme 21700/21703 werden unterdrückt)
Hinweis: Modus 3 bei MEAC nicht möglich
Messsystem (Zehnerdekade)
0 oder keine Angabe: aktives Messsystem
1: Messsystem 1
2: Messsystem 2
3: beide Messsysteme
TE 1…4 Trigger-Ereignis
1: steigende Flanke, Messtaster 1
-1: fallende Flanke, Messtaster 1
2: steigende Flanke, Messtaster 2
-2: fallende Flanke, Messtaster 2
Messspeicher Nummer des FIFO (Umlaufspeichers)
...
N100 MEASA[X] = (1,1,-1) G01 X100 F100 ;Messen im Modus 1 mit aktivem
;Messsystem. Warten auf Messsignal
;mit steigender/fallender Flanke von
;Messtaster 1 auf dem Verfahrweg nach
;X = 100.
N110 STOPRE ;Vorlaufstopp
N120 IF $AC_MEA[1] == FALSE gotof ENDE ;Erfolg der Messung kontrollieren.
N130 R10 = $AA_MM1[X] ;Zum ersten programmierten
;Triggerereignis (steigende Flanke)
;gehörigen Messwert speichern.
N140 R11 = $AA_MM2[X] ;Zum zweiten programmierten
;Triggerereignis (fallende Flanke)
;gehörigen Messwert speichern.
N150 ENDE:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-29
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
...
N200 MEASA[X] = (31,1-1) G01 X100 F100 ;Messen im Modus 1 mit beiden
;Messsystemen. Warten auf Messsignal
;mit steigender/fallender Flanke von
;Messtaster 1 auf dem Verfahrweg nach
;X = 100.
N210 STOPRE ;Vorlaufstopp
N220 IF $AC_MEA[1] == FALSE gotof ENDE ;Erfolg der Messung kontrollieren.
N230 R10 = $AA_MM1[X] ;Messwert des Messsystems 1 bei
;steigender Flanke speichern.
N240 R11 = $AA_MM2[X] ;Messwert des Messsystems 2 bei
;steigender Flanke speichern.
N250 R12 = $AA_MM3[X] ;Messwert des Messsystems 1 bei
;fallender Flanke speichern.
N260 R13 = $AA_MM4[X] ;Messwert des Messsystems 2 bei
;fallender Flanke speichern.
N270 ENDE:
...
N100 MEASA[X] = (2,1,-1,2,-2) G01 X100 F100 ;Messen im Modus 2 mit aktivem
;Messsystem. Warten auf Messsignal in
;der Reihenfolge steigende Flanke von
;Messtaster 1, fallende Flanke
;Messtaster 1, steigende Flanke von
;Messtaster 2, fallende Flanke
;Messtaster 2 auf dem Verfahrweg nach
;X = 100.
N110 STOPRE ;Vorlaufstopp
N120 IF $AC_MEA[1] == FALSE gotof ;Erfolg der Messung mit
;Messtaster 1 kontrollieren.
MESSTASTER2
N130 R10 = $AA_MM1[X] ;Zum ersten programmierten
;Triggerereignis
;(steigende Flanke Messtaster 1)
;gehörigen Messwert speichern.
N140 R11 = $AA_MM2[X] ;Zum zweiten programmierten
;Triggerereignis
;(steigende Flanke Messtaster 1)
;gehörigen Messwert speichern.
N150 MESSTASTER2:
N160 IF $AC_MEA[2] == FALSE gotof ENDE ;Erfolg der Messung mit Messtaster 2
;kontrollieren.
Arbeitsvorbereitung
5-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
...
N110 DEF REAL MESSWERT[100]
N120 DEF INT Schleife = 0
N130 MEAC [X] = (1,1,-1) G01 X1000 F100 ;Messen im Modus 1 mit aktivem
;Messsystem, Speichern der Messwerte
;unter $AC_FIFO1, Warten auf
;Messsignal mit fallender Flanke von
;Messtaster 1 auf dem Verfahrweg nach
;X = 1000.
N135 STOPRE
N140 MEAC[X] = (0) ;Messung nach Erreichen der
;Achsposition abbrechen.
N150 R1 = $AC_FIFO1[4] ;Anzahl aufgelaufener Messwerte in
;Parameter R1 speichern.
N160 FOR Schleife = 0 TO R1-1
N170 MESSWERT[Schleife] = $AC_FIFO1[0] ;Messwerte aus dem $AC_FIFO1
;auslesen und abspeichern.
N180 ENDFOR
...
N10 WHEN $AC_FIFO1[4]>=10 DO ;Restweg löschen
MEAC[x]=(0) DELDTG (x)
N20 MEAC[x]=(1,1,1,-1) G01 X100 F500
N30 MEAC [X]=(0)
N40 R1=$AC_FIFO1[4] ;Anzahl Messwerte
...
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-31
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
Beschreibung
Die Programmierung kann im Teileprogramm oder aus einer Synchronaktion (siehe Kapitel
"Bewegungssynchronaktion") heraus erfolgen. Pro Achse kann dabei zu ein- und demselben
Zeitpunkt nur ein Messauftrag aktiv sein.
Hinweis
Der Vorschub ist dem jeweiligen Messproblem anzupassen.
Bei MEASA und MEAWA können korrekte Ergebnisse nur bei Vorschüben gewährleistet
werden, bei denen nicht mehr als ein gleiches und nicht mehr als 4 verschiedene Trigger-
Ereignisse pro Lagereglertakt eintreffen.
Beim kontinuierlichen Messen mit MEAC darf das Verhältnis zwischen Interpolationstakt und
Lagereglertakt nicht größer als 8 : 1 werden.
Triggerereignisse
Ein Triggerereignis setzt sich zusammen aus der Nummer des Messtasters und dem
Auslösekriterium (steigende oder fallende Flanke) des Messsignals.
Für jede Messung können jeweils bis zu 4 Triggerereignisse der angesprochenen
Messtaster verarbeitet werden, also bis zu zwei Messtaster mit je zwei Messflanken. Die
Reihenfolge der Verarbeitung sowie die maximale Anzahl der Trigger-Ereignisse sind dabei
abhängig vom gewählten Modus.
Hinweis
Ein gleiches Triggerereignis darf nur einmal in einem Messauftrag programmiert werden (gilt
nur für Modus 1)!
Betriebsmodus
Mit der ersten Ziffer des Modus wird das gewünschte Messsystem angewählt. Ist nur ein
Messsystem vorhanden, jedoch das zweite programmiert, wird automatisch das vorhandene
eingesetzt.
Mit der zweiten Ziffer, dem Messmodus, 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. In diesem Modus ist bei Einsatz von Sechsachsbaugruppen nur ein
Trigger-Ereignis programmierbar bzw. wird bei Angabe mehrerer Trigger-Ereignisse
automatisch in Modus 2 umgesetzt (ohne Meldung).
● Modus 2: Die Auswertung der Trigger-Ereignisse erfolgt in der programmierten
Reihenfolge.
● Modus 3: Die Auswertung der Triggerereignisse erfolgt in der programmierten
Reihenfolge, jedoch keine Überwachung von Triggerereignis 1 beim START.
Hinweis
Bei Einsatz von 2 Messsystemen sind nur zwei Trigger-Ereignisse programmierbar.
Arbeitsvorbereitung
5-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
9
5HVWZHJ
SURJUDPPLHUWHU:HJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-33
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
Hinweis
Beim Lesen dieser Variablen wird intern kein Vorlaufstopp erzeugt. Mit STOPRE (Kapitel
"Liste der Anweisungen") muss an geeigneter Stelle ein Vorlaufstopp programmiert werden.
Ansonsten werden falsche Werte eingelesen.
Soll das axiale Messen für eine Geometrieachse gestartet werden, muss der gleiche
Messauftrag explizit für alle restlichen Geometrieachsen programmiert werden. Das gleiche
gilt für Achsen, die an einer Transformation beteiligt sind.
Beispiel:
N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1) MEASA[X]=(1,1) G0 Z100;
oder
N10 MEASA[Z]=(1,1) POS[Z]=100
Arbeitsvorbereitung
5-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
Hinweis
Wird Messen aus Synchronaktionen gestartet, wird $AC_MEA nicht mehr aktualisiert. In
diesem Fall sind neue PLC-Statussignale DB(31-48) DBB62 Bit 3 bzw. die gleichwertige
Variable $AA_MEAACT["Achse"] abzufragen.
Bedeutung:
$AA_MEAACT==1: Messen aktiv
$AA_MEAACT==0: Messen nicht aktiv
Literatur:
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Messen (M5).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-35
Spezielle Wegbefehle
5.8 Erweiterte Messfunktion (MEASA, MEAWA, MEAC) (Option)
Hinweis
Der FIFO-Inhalt kann nur einmal aus dem Umlaufspeicher ausgelesen werden. Zur
Mehrfachverwendung der Messdaten müssen diese in den Anwenderdaten
zwischengespeichert werden.
Überschreitet die Anzahl der Messwerte für den FIFO-Speicher die im Maschinendatum
festgelegte Höchstzahl, so wird die Messung automatisch beendet.
Endloses Messen lässt sich durch zyklisches Auslesen von Messwerten realisieren. Das
Auslesen muss dabei mindestens in der gleichen Häufigkeit wie der Eingang von neuen
Messwerten erfolgen.
Erkannte Fehlerprogrammierungen
Folgende Fehlprogrammierungen werden erkannt und mit einem Fehler angezeigt:
● MEASA/MEAWA zusammen mit MEAS/MEAW in einem Satz programmiert
Beispiel:
N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100
● MEASA/MEAWA mit Parameteranzahl <2 oder >5
Beispiel:
N01 MEAWA[X]=(1) G01 F100 POS[X]=100
● MEASA/MEAWA mit Triggerereignis ungleich 1/ -1/ 2/ -2
Beispiel:
N01 MEASA[B]=(1,1,3) B100
● MEASA/MEAWA mit falschem Modus
Beispiel:
N01 MEAWA[B]=(4,1) B100
● MEASA/MEAWA mit doppelt programmierten Triggerereignis
Beispiel:
N01 MEASA[B]=(1,1,-1,2,-1) B100
● MEASA/MEAWA und fehlende GEO-Achse
Beispiel:
N01 MEASA[X]=(1,1) MESA[Y]=(1,1) G01 X50 Y50 Z50 F100 ;GEO-Achse
X/Y/Z
● Uneinheitlicher Messauftrag bei GEO-Achsen
Beispiel:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) MEASA[Z]=(1,1,2)
G01 X50 Y50 Z50 F100
Arbeitsvorbereitung
5-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.9 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. OEM-Adressen sind in jedem Satz zulässig.
Parameter
Reservierte G-Gruppen
Gruppe 1 mit OEMIPO1, OEMIPO2
Der OEM-Anwender kann zwei zusätzliche Namen der G-Funktionen OEMIPO1, OEMIPO2
definieren. Diese Funktionalität wird über Compile-Zyklen eingebracht und ist für den OEM-
Anwender reserviert.
● Gruppe 31 mit G810 bis G819
● Gruppe 32 mit G820 bis G829
Für den OEM-Anwender sind zwei G-Gruppen mit jeweils 10 OEM-G-Funktionen reserviert.
Damit lassen sich die vom OEM-Anwender eingebrachten Funktionen zur Nutzung nach
außen bringen.
Funktionen und Unterprogramme
Zusätzlich können OEM-Anwender auch vordefinierte Funktionen und Unterprogramme mit
Parameterübergabe anlegen.
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:
● Beginn und Ende der Vorschubreduzierung
● Override, mit dem der Vorschub reduziert wird
● Erkennung der relevanten Ecke
Als relevante Ecken werden diejenigen Ecken berücksichtigt, deren Innenwinkel kleiner als
die über Settingdatum parametrierte Ecke ist.
Mit dem Defaultwert FENDNORM wird die Funktion des automatischen Eckenoverride
ausgeschaltet.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-37
Spezielle Wegbefehle
5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
Hinweis
Diese Funktion gehört nicht zum Standardumfang von SINUMERK und muss für die
relevanten Softwarestände freigeschaltet werden.
Literatur:
/FBA/ Funktionsbeschreibung ISO-Dialekte.
Programmierung
FENDNORM
G62 G41
oder
G621
Parameter
Funktion
Ähnlich dem Satzwechselkriterium bei Bahninterpolation (G601, G602 und G603) kann das
Bewegungsendekriterium bei Einzelachsinterpolation in einem Teileprogramm bzw. in
Synchronaktionen für Kommando–/PLCprogrammiert werden.
Arbeitsvorbereitung
5-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
Programmierung
FINEA[Achse]
oder
COARSEA[Achse]
oder
IPOENDA[Achse]
oder
IPOBRKA(Achse,[, [Wert in Prozent]]) Mehrfachangaben sind möglich
oder
ADISPOSA(Achse, [Int][, [Real]]) Mehrfachangaben sind möglich
Parameter
FINEA Bewegungsende bei Erreichen von "Genauhalt Fein"
COARSEA Bewegungsende bei Erreichen von "Genauhalt GROB"
IPOENDA Bewegungsende bei Erreichen von "Interpolator"
IPOBRKA Satzwechsel in der Bremsrampe möglich (ab SW 6.2)
ADISPOSA Größe des Toleranzfensters zum Bewegungsendekriterium (ab SW
6.4)
Achse Kanalachsname (X, Y, ....)
Wert in Prozent Wann bezogen auf die Bremsrampe der Satzwechsel erfolgen soll
in %
Int Mode 0: Toleranzfenster nicht aktiv
Mode 1: Toleranzfenster bezüglich Sollposition
Mode 2: Toleranzfenster bezüglich Istposition
Real Größe des Toleranzfensters. Dieser Wert wird hauptlaufsynchron
in das Settingdatum 43610: ADISPOSA_VALUE eingetragen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-39
Spezielle Wegbefehle
5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
...
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
...
N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=2000 ACC[X]=140 IPOENDA[X]
Fahren auf Position X50, wenn der Eingang 1 aktiv ist, mit einer
Bahngeschwindigkeit von 2000 U/min und einem Beschleunigungswert von 140%
und dem Bewegungsende bei Erreichen von Interpolator Stopp
...
;Defaulteinstellung wirksam
N40 POS[X]=100
;Satzwechsel erfolgt, wenn X-Achse die Position 100 und Genauhalt fein
;erreicht hat
N20 IPOBRKA(X,100) ;Satzwechselkriterium Bremsrampe aktivieren
N30 POS[X]=200 ;Satzwechsel erfolgt, sobald die X-Achse zu bremsen beginnt
N40 POS[X]=250
;die X-Achse bremst nicht auf Position 200, sondern fährt weiter auf
;Position 250, sobald die X-Achse zu bremsen beginnt erfolgt
;der Satzwechsel
N50 POS[X]=0 ;die X-Achse bremst und fährt auf Position 0 zurück
;der Satzwechsel erfolgt bei Position 0und Genauhalt fein
N60 X10 F100
N70 M30
...
Arbeitsvorbereitung
5-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.11 Programmierbares Bewegungsendekriterium (FINEA, COARSEA, IPOENDA, IPOBRKA, ADISPOSA)
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) ;Satzwechselkriterium Bremsrampe aktivieren
POS[X]=100 ;POS[X]=100; Technologie-Zyklus-Satzwechsel erfolgt,
;sobald die X-Achse zu bremsen beginnt
POS[X]=250 ;die X-Achse bremst nicht auf Position 200 sondern fährt
;weiter auf Position 250, sobald die X-Achse zu bremsen
;beginnt, erfolgt der Satzwechsel im Technologie-Zyklus
POS[X]=250 ;die X-Achse bremst und fährt auf Position 0 zurück
;der Satzwechsel erfolgt bei Position 0und Genauhalt fein
M17
Beschreibung
Systemvariable $AA_MOTEND
Das eingestellte Bewegungsendekriterium kann mit der Systemvariablen
$AA_MOTEND[Achse] abgefragt werden.
Hinweis
Nach RESET bleibt der letzte programmierte Wert bestehen.
Literatur:
/FB1/ Funktionshandbuch Grundfunktionen; Vorschübe (V1).
Satzwechselkriterium in der Bremsrampe
Der prozentuelle Wert wird hauptlaufsynchron in das
SD 43600: IPOBRAKE_BLOCK_EXCHANGE eingetragen. Wird kein Wert angegeben, so
wird der aktuelle Wert dieses Settingdatums wirksam. Es ist ein Bereich von 0% bis 100%
einstellbar.
Zusätzliches Toleranzfenster für IPOBRKA
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-41
Spezielle Wegbefehle
5.12 Programmierbarer Servo-Parametersatz (SCPARA)
Funktion
Mit SCPARA kann der Parametersatz (bestehend aus MDs) im Teileprogramm und in
Synchronaktionen programmiert werden (bisher nur über PLC).
DB3n DBB9 Bit3
Damit es zu keinen Konflikten zwischen PLCund NCkommt, wird ein weiteres Bit auf der
PLC–>NCK-Nahtstelle definiert:
DB3n DBB9 Bit3 "Parametersatzvorgabe durch SCPARA gesperrt".
Bei einer gesperrten Parametersatzvorgabe für SCPARA kommt es zu keiner
Fehlermeldung, falls diese doch programmiert wird.
Programmierung
SCPARA[Achse]=Wert
Parameter
Hinweis
Der aktuelle Parametersatz kann mit der Systemvariablen $AA_SCPAR[Achse] abgefragt
werden.
Bei G33, G331 bzw. G332 wird der geeignetste Parametersatz von der Steuerung
ausgewählt.
Falls der Servo-Parametersatz sowohl in einem Teileprogramm bzw. in einer Synchronaktion
und der PLC gewechselt werden soll, muss das PLC-Anwenderprogramm erweitert werden.
Arbeitsvorbereitung
5-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Spezielle Wegbefehle
5.12 Programmierbarer Servo-Parametersatz (SCPARA)
Literatur:
/FB1/ Funktionshandbuch Grundfunktionen; Vorschübe (V1),
Kapitel "Vorschubbeeinflussung".
Beispiel
...
N110 SCPARA[X]= 3 ;Der 3. Parametersatz wird für die Achse X angewählt
...
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 5-43
Spezielle Wegbefehle
5.12 Programmierbarer Servo-Parametersatz (SCPARA)
Arbeitsvorbereitung
5-44 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames 6
6.1 6.1 Koordinatentransformation über Framevariable
Funktion
Neben den im Programmierhandbuch "Grundlagen" bereits beschriebenen
Programmiermöglichkeiten können Sie Koordinatensysteme auch mit vordefinierten
Framevariablen festlegen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-1
Frames
6.1 Koordinatentransformation über Framevariable
Mögliche Framevariable:
● Basisframe (Basisverschiebung)
● einstellbare Frames
● programmierbarer Frame
; :.6
3B3)5$0(
; (16
3B,)5$0(3B8,)5>@
; %16
3B%)5$0(3B8%)5
; %.6
Istwerte auslesen
Über vordefinierte Variable im Teileprogramm können die aktuellen Istwerte der
Koordinatensysteme ausgelesen werden:
$AA_IM[Achse]: Lesen Istwert im MKS
$AA_IB[Achse]: Lesen Istwert im BKS
$AA_IBN[Achse:] Lesen Istwert im BNS
$AA_IEN[Achse]: Lesen Istwert im ENS
$AA_IW[Achse]: Lesen Istwert im WKS
Arbeitsvorbereitung
6-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.1 Koordinatentransformation über Framevariable
$P_BFRAME
Aktuelle Basisframevariable, die den Bezug zwischen Basiskoordinatensystem (BKS) und
Basis-Nullpunktsystem (BNS) herstellt.
Soll der durch $P_UBFR beschriebene Basisframe sofort im Programm wirksam werden,
muss entweder
● ein G500, G54...G599 programmiert werden oder
● $P_BFRAME mit $ $P_UBFR beschrieben werden.
=%.6 =%16
; %16
3B%)5$0(3B8%)5
; %.6
$P_IFRAME
Aktuelle, einstellbare Framevariable, die den Bezug zwischen Basis-Nullpunktsystem (BNS)
und Einstellbarem Nullpunktsystem (ENS) herstellt.
● $P_IFRAME entspricht $P_UIFR[$P_IFRNUM]
● $P_IFRAME enthält nach Programmierung von z. B. G54 die durch G54 definierte
Translation, Rotation, Skalierung und Spiegelung.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-3
Frames
6.1 Koordinatentransformation über Framevariable
= (16
= %16
<
(16
<%16
;
(16
; %16
$P_PFRAME
Aktuelle, programmierbare Framevariable, die den Bezug zwischen dem Einstellbaren
Nullpunktsystem (ENS) und dem Werkstückkoordinatensystem (WKS) herstellt.
$P_PFRAME enthält den resultierenden Frame, der sich
● aus der Programmierung von TRANS/ATRANS, ROT/AROT, SCALE/ASCALE,
MIRROR/AMIRROR bzw.
● aus der Zuweisung von CTRANS, CROT, CMIRROR, CSCALE an den programmierbaren
FRAME ergibt
Arbeitsvorbereitung
6-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.1 Koordinatentransformation über Framevariable
= :.6
= (16
= %16
<
(16
< %16
<
:.6
; :.6
; (16
; %16
$P_ACTFRAME
Aktueller, resultierender Gesamtframe, der sich durch Verkettung aus
● der aktuellen Basisframevariablen $P_BFRAME,
● der aktuellen einstellbaren Framevariablen $P_IFRAME mit Systemframes und
● der aktuellen programmierbaren Framevariablen $P_PFRAME mit Systemframes
ergibt. Systemframes, siehe Kapitel "Im Kanal wirksame Frames"
$P_ACTFRAME beschreibt den aktuell gültigen Werkstücknullpunkt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-5
Frames
6.1 Koordinatentransformation über Framevariable
= :.6
=
= %.6 (16
= %16
<(16
< %16
<:.6
; :.6
; (16
; %16
; %.6
(LQJDEH¾EHU3URJUDPP]% (LQJDEH¾EHU3URJUDPP]%
3B8%)5 &75$16; 3B8,)5>Q@ &75$16;
(LQJDEH (LQJDEH
¾EHU+0,00& ¾EHU+0,00&
3B8%)5 3B8,)5>Q@
DNWLYLHUW¾EHU
***
(LQJDEH¾EHU3URJUDPP]% (LQJDEH¾EHU3URJUDPP]%
3B%)5$0( &75$16; 3B3)5$0( &75$16;
E]Z75$16;
(LQJDEH¾EHU3URJUDPP]%
3B,)5$0( &75$16;
Arbeitsvorbereitung
6-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.1 Koordinatentransformation über Framevariable
Basisframe und einstellbarer Frame wirken nach Reset, wenn das MD 20110
RESET_MODE_MASK folgendermaßen eingestellt ist:
Bit0=1, Bit14=1 --> $P_UBFR (Basisframe) wirkt
Bit0=1, Bit5=1 --> $P_UIFR[$P_UIFRNUM] (einst. Frame) wirkt
Hinweis
Hierdurch lassen sich insgesamt 100 Koordinatensysteme erzeugen, die z. B. als Nullpunkt
für verschiedene Vorrichtungen programmübergreifend aufgerufen werden können.
Vorsicht
Die Programmierung von Framevariablen und Frames erfordert im NC-Programm einen
eigenen NC-Satz. Ausnahme: Programmierung eines einstellbaren Frames mit G54, G55,
...
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-7
Frames
6.2 Framevariablen/Frames Werte zuweisen
Funktion
Im NC-Programm können Sie direkt Frames oder Framevariablen mit Werten belegen.
Programmierung
$P_PFRAME=CTRANS (X, Achswert, Y, Achswert, Z, Achswert, …)
oder
$P_PFRAME=CROT (X, Winkel, Y, Winkel, Z, Winkel, …)
oder
$P_UIFR[..]=CROT (X, Winkel, Y, Winkel, Z, Winkel, …)
oder
$P_PFRAME=CSCALE (X, Maßstab, Y, Maßstab, Z, Maßstab, …)
oder
$P_PFRAME=CMIRROR (X, Y, Z)
Die Programmierung von $P_BFRAME erfolgt analog wie $P_PFRAME.
Parameter
Beispiel
Durch Wertzuweisung an dem aktuellen programmierbaren Frame werden Translation,
Drehung und Spiegelung aktiviert.
Arbeitsvorbereitung
6-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.2 Framevariablen/Frames Werte zuweisen
=
<
<
<
;
= ;
<
&75$16
&527
&0,5525
;
N10 $P_PFRAME=CTRANS(X,10,Y,20,Z,5):CROT(Z,45):CMIRROR(Y)
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-9
Frames
6.2 Framevariablen/Frames Werte zuweisen
/(
&$
&6
&527
$16
&75
Hinweis
Die mit den genannten Befehlen programmierten Werte werden den Frames zugewiesen
und abgespeichert.
Aktiv werden die Werte erst, wenn sie dem Frame einer aktiven Framevariablen
$P_BFRAME bzw. $P_PFRAME zugewiesen werden.
6.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.
Programmierung
Arbeitsvorbereitung
6-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.2 Framevariablen/Frames Werte zuweisen
Parameter
FI TR Translation
RT FI Translation Fine
SC RT Rotation
MI SC Scale Maßstabsveränderung
X Y Z MI Spiegelung
Zusätzlich (siehe Beispiele) wird die entsprechende Achse
X, Y, Z angegeben.
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-11
Frames
6.2 Framevariablen/Frames Werte zuweisen
Für vordefinierte Framevariable und eigendefinierte Frames geben Sie den Namen an, z. B.
$P_IFRAME.
Daten aufrufen
In den eckigen Klammern stehen Achsname und Framekomponente des Wertes, auf den
Sie zugreifen oder den Sie verändern wollen, z. B. [X, RT] oder [Z, MI].
Funktion
Im NC-Programm kann ein kompletter Frame einem anderen Frame zugewiesen oder
Frames miteinander verkettet werden.
Framekettungen eignen sich z. B. für die Beschreibung mehrerer Werkstücke, die auf einer
Palette angeordnet sind und in einem Fertigungsablauf bearbeitet werden sollen.
=
<
*
Arbeitsvorbereitung
6-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.2 Framevariablen/Frames Werte zuweisen
Programmierung
Frames zuweisen
Frameketten
Die Frames werden in der programmierten Reihenfolge miteinander verkettet, die
Framekomponenten wie z. B. Verschiebungen, Drehungen usw. werden nacheinander
additiv ausgeführt.
Hinweis
Beachten Sie, dass die Frames durch den Kettungsoperator Doppelpunkt : miteinander
verbunden werden müssen.
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-13
Frames
6.3 Grob- und Feinverschiebung (CFINE; CTRANS)
Programmierung
DEF FRAME PALETTE1
oder
PALETTE1=CTRANS(…):CROT(…)…
Parameter
Funktion
Feinverschiebung
Mit dem Befehl CFINE(X, ...,Y ...) kann eine Feinverschiebung des Basisframes
und aller einstellbaren Frames programmiert werden.
Eine Feinverschiebung kann nur erfolgen, wenn das MD18600:
MM_FRAME_FINE_TRANS=1 ist.
Grobverschiebung
Mit CTRANS(...) wird die Grobverschiebung festgelegt.
6NDOLHUXQJ
6SLHJHOXQJ
5RWDWLRQ
)HLQYHUVFKLHEXQJ
*UREYHUVFKLHEXQJ
)UDPHVWUXNWXUPLW)HLQYHUVFKLHEXQJ
Arbeitsvorbereitung
6-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.3 Grob- und Feinverschiebung (CFINE; CTRANS)
Programmierung
Parameter
Maschinenhersteller
Mit dem MD18600: MM_FRAME_FINE_TRANS kann die Feinverschiebung in folgenden
Varianten projektiert werden:
0:
Feinverschiebung kann nicht eingegeben, bzw. nicht programmiert werden. G58 und G59
sind nicht möglich.
1:
Feinverschiebung für einstellbare Frames, Basisframes, programmierbare Frames, G58 und
G59 kann eingegeben bzw. programmiert werden.
Beschreibung
Eine über die HMI-Bedienung geänderte Feinverschiebung wird erst nach Aktivierung des
entsprechenden Frames aktiv, d. h. die Aktivierung erfolgt über G500, G54...G599. Eine
aktivierte Feinverschiebung eines Frames ist solange aktiv, solange der Frame aktiv ist.
Keinen Feinverschiebungsanteil besitzt der programmierbare Frame. Wird dem
programmierbaren Frame ein Frame mit Feinverschiebung zugewiesen, so wird seine
Gesamtverschiebung aus der Summe der Grob- und Feinverschiebung gebildet. Beim Lesen
des programmierbaren Frames ist die Feinverschiebung immer Null.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-15
Frames
6.4 DRF-Verschiebung
= %16
=%.6
< %.6
<%16
%DVLVIUDPH
; %16
'5)H[WHUQH139
; %.6
Die Handradzuordnung muss aber für die Maschinenachse erfolgen (z.B. über NC/PLC-
Nahtstellensignale "Handrad aktivieren"), auf die die Geometrie- und Zusatzachse
abgebildet wird. Mehr Informationen hierzu siehe entsprechende Bedienungsanleitung.
Arbeitsvorbereitung
6-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.5 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.
; (16
**
; %16
%DVLVIUDPH
([WHUQH1XOOSXQNWYHUVFKLHEXQJ
'5)9HUVFKLHEXQJ
; %.6
.LQHPDWLVFKH7UDQVIRUPDWLRQ
; 0.6
3UHVHW9HUVFKLHEXQJ
Programmierung
Die Programmierung der Verschiebewerte, $AA_ETRANS erfolgt über die Belegung der
achsspezifischen Systemvariablen.
Verschiebewert zuweisen
$AA_ETRANS[Achse]=RI
RI ist die Rechenvariable vom Typ REAL, die den neuen Wert enthält.
Die externe Verschiebung wird in der Regel nicht im Teileprogramm angegeben, sondern
von der PLC gesetzt.
Hinweis
Der im Teileprogramm geschriebene Wert wird erst wirksam, wenn an der VDI-Schnittstelle
(NCU-PLC-Schnittstelle) das entsprechende Signal gesetzt ist.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-17
Frames
6.6 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. Soll das ursprüngliche System
wiederhergestellt werden, müssen mit G74 die Referenzpunkte angefahren werden –siehe
Kapitel "Datei- und Programmverwaltung".
<0.6 <0.6
.LQHPDWLVFKH7UDQVIRUPDWLRQ
; 0.6
3UHVHW9HUVFKLHEXQJ
Programmierung
PRESETON(Achse, Wert, ...)
Parameter
PRESETON Istwertsetzen
Achse Angabe der Maschinenachse
Wert Neuer Istwert, der für die angegebene Achse gelten soll
Hinweis
Das Istwertsetzen mit Synchronaktionen sollte nur mit dem Schlüsselwort "WHEN" oder
"EVERY" erfolgen.
Beispiel
Die Zuweisung der Istwerte erfolgt im Maschinenkoordinatensystem –die Werte beziehen
sich auf die Maschinenachsen.
N10 G0 A760
N20 PRESETON(A1,60)
Arbeitsvorbereitung
6-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.7 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME)
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.
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.
Wird ein Werkstück für die Bearbeitung positioniert, ist seine Position relativ zum
kartesischen Maschinenkoordinatensystem bezüglich seiner Idealposition i.a. sowohl
verschoben als auch gedreht. Für exakte Bearbeitung oder Messung ist entweder eine
kostspielige physikalische Justierung oder Änderung der Bewegungen im Teileprogramm
nötig.
Ein Frame kann durch Abtasten dreier Punkte im Raum festgelegt werden, deren
Idealpositionen bekannt sind. Abgetastet wird mit einem Berührungs- oder optischen Sensor,
der spezielle, auf der Trägerplatte präzise fixierte Löcher oder Messkugeln berührt.
Programmierung
MEAFRAME IDEAL_POINT,MEAS_POINT,FIT_QUALITY)
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-19
Frames
6.7 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.
Die effektiv benötigte Verzerrung der Messpunkte kann als Indikator für die Qualität der
Messung dienen und wird deshalb als zusätzliche Variable von MEAFRAME ausgegeben.
Hinweis
Das von MEAFRAME erzeugte Frame kann durch die Funktion ADDFRAME in ein anderes
Frame in der Framekette transformiert werden.
Siehe Beispiel: Verkettung von Frames "Verkettung mit ADDFRAME".
Weitere Informationen zu den Parametern von ADDFRAME(FRAME, STRING) siehe
/FB1/ Funktionshandbuch Grundfunktionen; Achsen, Koordinatensysteme, Frames (K2),
Kapitel "FRAME-Kettung".
Beispiel
;Teileprogramm 1
;
DEF FRAME CORR_FRAME
;
;Setzen von Messpunkten
DEF REAL IDEAL_POINT[3,3] = SET(10.0,0.0,0.0, 0.0,10.0,0.0,
0.0,0.0,10.0)
DEF REAL MEAS_POINT[3,3] = SET
(10.1,0.2,-0.2, -0.2,10.2,0.1, -0.2,0.2,9.8) ;für Test
DEF REAL FIT_QUALITY = 0
;
DEF REAL ROT_FRAME_LIMIT = 5 ;erlaubt max. 5 Grad Verdrehung
;der Teileposition
DEF REAL FIT_QUALITY_LIMIT = 3 ;erlaubt max. 3 mm Verschiebung zwischen
;dem idealen und dem gemessenen Dreieck
DEF REAL SHOW_MCS_POS1[3]
DEF REAL SHOW_MCS_POS2[3]
DEF REAL SHOW_MCS_POS3[3]
;=======================================================
;
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
Arbeitsvorbereitung
6-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.7 Frame-Berechnung aus 3 Messpunkten im Raum (MEAFRAME)
ENDIF
,
N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT
SETAL(65010)
GOTOF NO_FRAME
ENDIF
;
N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT ;Begrenzung des 1. RPY-
;Winkels
SETAL(65020)
GOTOF NO_FRAME
ENDIF
;
N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT ;Begrenzung des 2. RPY-
;Winkels
SETAL(65021)
GOTOF NO_FRAME
ENDIF
;
N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT ;Begrenzung des 3. RPY-
;Winkels
SETAL(65022)
GOTOF NO_FRAME
ENDIF
;
N300 $P_IFRAME=CORR_FRAME ;Abtast-Frame mit einem setzbaren Frame aktivieren
;
;Frame prüfen durch Positionieren der Geometrieachsen auf die idealen Punkte
;
N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1] Z=IDEAL_POINT[0,2]
N410 SHOW_MCS_POS1[0]=$AA_IM[X]
N420 SHOW_MCS_POS1[1]=$AA_IM[Y]
N430 SHOW_MCS_POS1[2]=$AA_IM[Z]
;
N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1] Z=IDEAL_POINT[1,2]
N510 SHOW_MCS_POS2[0]=$AA_IM[X]
N520 SHOW_MCS_POS2[1]=$AA_IM[Y]
N530 SHOW_MCS_POS2[2]=$AA_IM[Z]
;
N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1] Z=IDEAL_POINT[2,2]
N610 SHOW_MCS_POS3[0]=$AA_IM[X]
N620 SHOW_MCS_POS3[1]=$AA_IM[Y]
N630 SHOW_MCS_POS3[2]=$AA_IM[Z]
;
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-21
Frames
6.8 NCU-globale Frames
N700 G500 ;Setzbaren Frame deaktivieren, da mit Nullframe (kein Wert eingetragen)
;vorbesetzt
;
NO_FRAME:
M0
M30
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.
Geometrische Zusammenhänge und Frameketten
Bei globalen Frames existiert kein geometrischer Zusammenhang zwischen den Achsen.
Deshalb können keine Drehungen und keine Programmierung von Geometrie-
Achsbezeichnern ausgeführt werden.
● Auf globale Frames lassen sich keine Rotationen anwenden. Die Programmierung einer
Rotation wird mit dem Alarm: "18310 Kanal %1 Satz %2 Frame: Rotation unzulässig",
abgelehnt.
Arbeitsvorbereitung
6-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.8 NCU-globale Frames
● Die Verkettung von globalen Frames und kanalspezifischen Frames ist möglich. Der
resultierende Frame enthält alle Frameanteile inklusive der Rotationen für alle Achsen.
Die Zuweisung eines Frames mit Rotationsanteilen an einen globalen Frame wird mit
dem Alarm "Frame: Rotation unzulässig" abgelehnt.
NCU-globale Frames
NCU-globale Basisframes $P_NCBFR[n]
Es können bis zu 8 NCU-globale Basisframes projektiert werden:
Gleichzeitig können kanalspezifische Basisframes vorhanden sein.
Globale Frames können von allen Kanälen einer NCU geschrieben und gelesen werden.
Beim Schreiben von globalen Frames ist vom Anwender für eine Kanalkoordinierung Sorge
zu tragen. Dies kann z.B. durch Wait-Marken (WAITMC) realisiert werden.
Maschinenhersteller
Die Anzahl von globalen Basisframes wird über Maschinendaten projektiert siehe
/FB1/ Funktionshandbuch Grundfunktionen; Achsen, Koordinatensysteme, Frames (K2).
NCU-globale Einstellbare Frames $P_UIFR[n]
Alle einstellbaren Frames G500, G54...G599 können entweder NCU-global oder
kanalspezifisch projektiert werden.
Maschinenhersteller
Alle einstellbaren Frames können mit Hilfe eines Maschinendatums
$MN_MM_NUM_GLOBAL_USER_FRAMES zu globalen Frames umprojektiert werden.
Als Achsbezeichner bei den Frame-Programmbefehlen können Kanalachsbezeichner und
Maschinenachsbezeichner verwendet werden. Die Programmierung von
Geometrieachsbezeichnern wird mit einem Alarm abgelehnt.
Funktion
Einstellbare Frames oder Basisframes können
● über das Teileprogramm und
● über BTSS
von der Bedienung z. B. HMI Advanced und von der PLC geschrieben und gelesen werden.
Die Feinverschiebung ist auch für die globalen Frames möglich. Die Unterdrückung von
globalen Frames erfolgt ebenso, wie bei kanalspezifischen Frames über G53, G153, SUPA
und G500.
Maschinenhersteller
Über das MD28081 MM_NUM_BASE_FRAMES kann die Anzahl der Basisframes im Kanal
projektiert werden. Die Standardkonfiguration ist so ausgelegt, dass es mindestens ein
Basisframe pro Kanal gibt. Maximal sind 8 Basisframes pro Kanal möglich. Zusätzlich zu den
8 Basisframes im Kanal kann es noch 8 NCU-globale Basisframes geben.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-23
Frames
6.8 NCU-globale Frames
Kanalspezifische Frames
$P_CHBFR[n]
Über die Systemvariable $P_CHBFR[n] können die Basisframes gelesen und geschrieben
werden. Beim Schreiben eines Basisframes wird der verkettete Gesamt-Basisframe nicht
aktiviert, sondern die Aktivierung erfolgt erst mit der Ausführung einer G500, G54...G599-
Anweisung. Die Variable dient vorwiegend als Speicher für Schreibvorgänge auf das
Basisframe von HMI oder PLC. Diese Frame-Variablen werden über die Datensicherung
gesichert.
Erster Basisframe im Kanal
Ein Schreiben auf die vordefinierte Variable $P_UBFR aktiviert den Basisframe mit dem
Feldindex 0 nicht gleichzeitig, sondern die Aktivierung erfolgt erst mit der Ausführung einer
G500, G54...G599-Anweisung. Die Variable kann auch im Programm geschrieben und
gelesen werden.
$P_UBFR
$P_UBFR ist identisch mit $P_CHBFR[0]. Standardmäßig gibt es immer einen Basisframe
im Kanal, so dass die Systemvariable kompatibel zu älteren Ständen ist. Gibt es kein
kanalspezifisches Basisframe, wird beim Schreiben oder Lesen der Alarm "Frame:
Anweisung unzulässig" ausgegeben.
Arbeitsvorbereitung
6-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.8 NCU-globale 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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-25
Frames
6.8 NCU-globale Frames
3B$&7%)5$0(
%16
; %16
SURMHNWLHUEDU¾EHU
3B&+%)5$0(>Q@Q0&B00B180B%$6(B)5$0(6
3B&+%)5$0(>@ 3B%)5$0(
SURMHNWLHUEDU¾EHU
3B1&%)5$0(>Q@Q01B00B180B*/2%$/B%$6(B)5$0(6
;
3B1&%)5$0(>@
; %.6
%.6 %16 %DVLVQXOOSXQNWV\VWHP
%.6 %DVLVNRRUGLQDWHQV\VWHP
3$&7%)5$0( 3B1&%)5$0(>@3B1&%)5$0(>Q@3B&+%)5$0(>@3B&+%)5$0(>Q@
Arbeitsvorbereitung
6-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.8 NCU-globale Frames
Mit der Programmierung der Variablen wird der Gesamt-Basisframe und der Gesamt-Frame
neu berechnet. Nach Reset und in der Grundeinstellung ist der Wert von
$P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK und
$P_NCBFRMASK = $MC_CHBFRAME_RESET_MASK.
z. B.
$P_NCBFRMASK = 'H81' ;$P_NCBFRAME[0] : $P_NCBFRAME[7]
$P_CHBFRMASK = 'H11' ;$P_CHBFRAME[0] : $P_CHBFRAME[4]
$P_IFRAME Aktueller einstellbarer Frame
Über die vordefinierte Framevariable $P_IFRAME kann der aktuelle einstellbare Frame,
welcher im Kanal gültig ist, im Teileprogramm gelesen und geschrieben werden. Der
geschriebene einstellbare Frame wird sofort eingerechnet.
Bei NCU-globalen einstellbaren Frames wirkt der geänderte Frame nur in dem Kanal, in dem
der Frame programmiert wurde. Soll der Frame für alle Kanäle einer NCU geändert werden,
muss gleichzeitig $P_UIFR[n] und $P_IFRAME beschrieben werden. Die anderen
Kanäle müssen dann noch den entsprechenden Frame mit z. B. G54 aktivieren.
$P_PFRAME Aktueller programmierbarer Frame
$P_PFRAME ist der programmierbare Frame, der sich aus der Programmierung von
TRANS/ATRANS, G58/G59, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR bzw. aus
der Zuweisung von CTRANS, CROT, CMIRROR, CSCALE an den programmierbaren
FRAME ergibt.
Aktuelle, programmierbare Framevariable, die den Bezug zwischen dem Einstellbaren
● Nullpunktsystem (ENS) und dem
● Werkstückkoordinatensystem (WKS)
herstellt.
P_ACTFRAME Aktueller Gesamtframe
Der aktuelle resultierende Gesamtframe $P_ACTFRAME ergibt sich nun als Verkettung aller
Basisframes, dem aktuellen einstellbaren Frame und dem programmierbaren Frame. Der
aktuelle Frame wird immer dann aktualisiert, wenn sich ein Frameanteil ändert.
$P_ACTFRAME entspricht
$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME : $P_IFRAME :
$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_CYCFRAME
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-27
Frames
6.8 NCU-globale Frames
DNWLYLHUW¾EHU DNWLYLHUW¾EHU
*** ***
*HVDPWIUDPH
(LQJDEH¾EHU3URJUDPP]%
$NWLYHU*HVDPWIUDPH 3B1&%)5$0(>@ &75$16;
3B722/)5$0( 3B:3)5$0(
3B75$)5$0( 3B3)5$0( 3B&<&)5$0(
(LQJDEH¾EHU3URJUDPP]% (LQJDEH¾EHU3URJUDPP]%
3B3)5$0( &75$16; 3B,)5$0( &75$16;
75$16;
E]Z
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
6-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Frames
6.8 NCU-globale Frames
)UDPHNHWWH
:.6
)UDPHI¾U=\NOHQSURJUDPPLHU
EDUHV)UDPH7UDQVIRUPDWLRQHQ
(16
6\VWHPIUDPHI¾U72527
72)5$0(:HUNVW¾FNH
**HLQVWHOOEDUHV)UDPH
NDQDVSH]RGHU1&8JREDO
%16
9HUNHWWHWHV)HOGYRQ%DVLVIUDPHV
NDQDOVSH]XQGRGHU1&8JOREDO
9HUNHWWHWH6\VWHPIUDPHVI¾U3$527,VWZHUWVHW]HQ
$QNUDW]HQH[W1XOOSXQNWYHUVFKLHEXQJ
NLQHPDWLVFKH7UDQVIRUPDWLRQ
0.6
5HIHUHQ]SXQNWYHUVFKLHEXQJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 6-29
Frames
6.8 NCU-globale Frames
Arbeitsvorbereitung
6-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen 7
7.1 7.1 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. Die kartesischen Koordinaten werden
vom Basiskoordinatensystem ins Maschinenkoordinatensystem umgerechnet und beziehen
sich auf die Geometrieachsen. Diese beschreiben den Arbeitspunkt. Virtuelle Rundachsen
beschreiben die Orientierungen des Werkzeugs im Raum und werden mit TRAORI
programmiert.
Bei der kinematischen Transformation können Positionen im kartesischen
Koordinatensystem programmiert werden. Die Steuerung transformiert die mit TRANSMIT,
TRACYL und TRAANG programmierten Verfahrbewegungen des kartesischen
Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen.
Programmierung
Drei-, Vier- und Fünf-Achs-Transformationen TRAORI
Die vereinbarte Orientierungstransformation wird mit dem Befehl TRAORI und den drei
möglichen Parametern für Trafonummer, Orientierungsvektor und Rundachsoffsets aktiviert.
TRAORI(Trafonummer, Orientierungsvektor, Rundachsoffsets)
Kinematische Transformationen
Zu den Kinematischen Transformationengehören die vereinbarten Transformationen
TRANSMIT(Trafonummer)
TRACYL(Arbeitsdurchmesser, Trafonummer)
TRAANG(Winkel der schräg stehenden Achse, Trafonummer)
Aktive Transformation ausschalten
Mit TRAFOOF kann die gerade aktive Transformation ausgeschaltet werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-1
Transformationen
7.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. Sie stehen als Drehachsen bei vier
Maschinentypen mit verschiedener Kinematik zur Verfügung.
1. Zweiachsen-Schwenkkopf, z. B. Kardanischer Werkzeugkopf mit einer Rundachse
parallel zu einer Linearachse bei festem Werkzeugtisch.
2. Zweiachsen-Drehtisch, z. B. fester Schwenkkopf mit drehbarem Werkzeugtisch um zwei
Achsen.
3. Einachs-Schwenkkopf und Einachs-Drehtisch, z. B. ein drehbarer Schwenkkopf mit
gedrehtem Werkzeug bei drehbarem Werkzeugtisch um eine Achse.
4. Zweiachsen-Schwenkkopf und Einachs-Drehtisch, z. B. bei drehbarem Werkzeugtisch
um eine Achse und ein drehbarer Schwenkkopf mit drehbarem Werkzeug um sich selbst.
Die 3- und 4-Achs-Transformationen sind Sonderformen der 5-Achs-Transformation und
werden analog zu den 5-Achs-Transformationen programmiert.
Die "Generische 3-/4-/5-/6-Achs-Transformation" deckt mit ihrem Funktionsumfang für
rechtwinklig angeordnete Rundachsen sowie die Transformationen für den Kardanischen
Fräskopf ab und kann wie jede andere Orientierungstransformation auch für diese vier
Maschinentypen mit TRAORI aktiviert werden. Bei der generischen 5/6-Achs-
Transformationhat die Werkzeugorientierung einen weiteren dritten Freiheitsgrad, bei dem
zur Werkzeugrichtung beliebig im Raum, das Werkzeug um die eigene Achse gedreht
werden kann.
Literatur: /FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achstransformation (F2)
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.
Arbeitsvorbereitung
7-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.1 Allgemeine Programmierung der Transformationsarten
TRAANG
Soll die Zustellachse z. B. für die Technologie Schleifen auch schräg zustellbar sein, so kann
mit TRAANG für die vereinbarte Transformation ein parametrierbarer Winkel programmiert
werden.
Kartesisches PTP-Fahren
Zur kinematischen Transformation gehört auch das "Kartesisches PTP-Fahren" bei dem bis
zu 8 unterschiedliche Gelenkstellungen STAT= programmiert werden können. Die
Positionen werden im kartesischen Koordinatensystem programmiert, wobei die Bewegung
der Maschine in Maschinenkoordinaten erfolgt.
Literatur:
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformation (M1)
Verkettete Transformationen
Es können jeweils zwei Transformationen hintereinander geschaltet werden. Bei der
hierdurch verketteten zweiten Transformation werden die Bewegungsanteile der Achsen aus
der ersten Transformation übernommen.
Als erste Transformation sind möglich:
● Orientierungstransformation TRAORI
● Polartransformation TRANSMIT
● Zylindertransformation TRACYL
● Transformation Schräge Achse TRAANG
Die zweite Transformation muss Schräge Achse TRAANG sein
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-3
Transformationen
7.1 Allgemeine Programmierung der Transformationsarten
:HUN]HXJWLVFKIHVW
$
;
JHGUHKWHV:HUN]HXJ JHGUHKWHV:HUN]HXJ JHGUHKWHV:HUNVW¾FN
JHGUHKWHV:HUNVW¾FN
Arbeitsvorbereitung
7-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.1 Allgemeine Programmierung der Transformationsarten
Generische 5/6-AchsTransformationen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-5
Transformationen
7.1 Allgemeine Programmierung der Transformationsarten
Kartesisches PTP-Fahren
Die Bewegung der Maschine erfolgt in Maschinenkoordinaten und wird programmiert mit:
Arbeitsvorbereitung
7-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.1 Allgemeine Programmierung der Transformationsarten
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-7
Transformationen
7.1 Allgemeine Programmierung der Transformationsarten
Arbeitsvorbereitung
7-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Funktion
Um optimale Schnittbedingungen beim Bearbeiten räumlich gekrümmter Flächen zu
erzielen, muss der Anstellwinkel des Werkzeugs veränderbar sein.
:HUN]HXJDFKVH
Mit welcher Maschinenkonstruktion dies erreicht wird, ist in den Achsdaten hinterlegt.
5-Achs-Transformation
Kardanischer Werkzeugkopf
Hier legen drei Linearachsen (X, Y, Z) und zwei Orientierungsachsen (C, A) den
Anstellwinkel und Arbeitspunkt des Werkzeugs fest. Eine der beiden Orientierungsachsen ist
als Schrägachse angelegt, hier im Beispiel A' - in vielen Fällen als 45°-Anordnung.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-9
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
$
= <
&
;
NDUGDQLVFKHU:HUN]HXJNRSI9DULDQWH
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.
$
&
NDUGDQLVFKHU:HUN]HXJNRSI9DULDQWH
Arbeitsvorbereitung
7-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
% <
Die Achsfolge der rotatorischen Achsen und die Orientierungsrichtung des Werkzeugs kann
abhängig von der Maschinenkinematik über Maschinendaten eingestellt werden.
Es gelten folgende mögliche Zusammenhänge:
Achsen: Achsfolgen:
1. Rundachse AABBCC
2. Rundachse BCACAB
Geschwenkte Linearachse ZYZXYX
Weitere Erläuterungen zu konfigurierbaren Achsfolgen für die Orientierungsrichtung des
Werkzeugs siehe
Literatur: /FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achs-Transformationen (F2),
Kapitel Kardanischer Fräskopf, "Parametrierung".
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-11
Transformationen
7.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, die senkrecht zu der rotatorischen
Achse ist, möglich. Die Transformation unterstützt die Maschinentypen mit beweglichem
Werkzeug und beweglichem Werkstück.
Die Projektierung und Programmierung der Drei- und Vier-Achs-Transformationen sind
analog zu den Fünf-Achs-Transformationen.
Literatur:
/FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achs-Transformationen (F2)
Programmierung
TRAORI(n)
oder
TRAORI(n,X,Y,Z,A,B)
oder
TRAFOOF
Parameter
Werkzeugorientierung
Abhängig von der gewählten Orientierungsrichtung des Werkzeugs muss im NC-Programm
die aktive Arbeitsebene (G17, G18, G19) so eingestellt werden, dass die
Werkzeuglängenkorrektur in Richtung der Werkzeugorientierung wirkt.
Hinweis
Nach dem Einschalten der Transformation beziehen sich Positionsangaben (X, Y, Z) immer
auf die Spitze des Werkzeugs. Änderung der Positionen der an der Transformation
beteiligten Rundachsen führen zu solchen Ausgleichsbewegungen der übrigen
Maschinenachsen, dass die Position der Werkzeugspitze unverändert bleibt.
Die Orientierungstransformation ist immer von der Werkzeugspitze zur Werkzeugaufnahme
gerichtet.
Arbeitsvorbereitung
7-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-13
Transformationen
7.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. A3 ,B3, C3 Angabe der Vektorkomponenten
4. LEAD, TILT Angabe der Voreil- und Seitwärtswinkel bezogen auf die Bahn und
Oberfläche
5. A4, B4, C4 und A5, B5, C5 Flächennormalenvektor am Satzanfang und am Satzende
6. A6, B6, C6 und A7, B7, C7 Interpolation des Orientierungsvektors auf einer
Kegelmantelfläche
7. A8, B8, C8 Umorientierung des Werkzeugs, Richtung und Weglänge der
Abhebebewegung
gegenseitig aus.
Gemischt programmierte Werte werden durch Alarmmeldungen verhindert.
Hinweis
Nur wenn eine Orientierungstransformation mit TRAORI(...) aktiv ist, kann eine
Grundstellung der Werkzeugorientierung kinematikunabhäng mit ORIRESET(...) ohne Alarm
14101 programmiert werden.
Beispiele
Arbeitsvorbereitung
7-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Funktion
Für die Programmierung der Orientierung des Werkzeugs gibt es folgende Möglichkeiten:
1. Direkte Programmierung der Bewegung der Rundachsen. Die Orientierungsänderung
erfolgt immer im Basis- bzw. Maschinen-Koordinatensystem. Die Orientierungsachsen
werden als Synchronachsen verfahren.
2. Programmierung in Euler- oder RPY-Winkeln gemäß Winkeldefinition über A2, B2,
C2.
3. Programmierung des Richtungsvektors über A3, B3, C3. Der Richtungsvektor zeigt
von der Werkzeugspitze in Richtung Werkzeugaufnahme.
4. Programmierung des Flächennormalenvektors am Satzanfang mit A4, B4, C4 und am
Statzende mit A5, B5, C5 (Stirnfräsen).
5. Programmierung über Voreilwinkel LEAD und Seitwärtswinkel TILT
6. Programmierung der Drehachse des Kegels als normierter Vektor über A6, B6, C6
oder der Zwischenorientierung auf der Kegelmantelfläche über A7, B7, C7,
siehe Kapitel "Orientierungsprogrammierung entlang einer Kegelmantelfläche
(ORIPLANE, ORICONxx)".
7. Programmierung der Umorientierung, Richtung und Weglänge des Werkzeugs während
der Abhebebewegung über A8, B8, C8,
siehe Kapitel "Glättung des Orientierungsverlaufs (ORIPATHS A8=, B8=, C8=)"
Hinweis
In allen Fällen ist die Orientierungsprogrammierung nur zulässig, wenn eine
Orientierungstransformation eingeschaltet ist.
Vorteil: Diese Programme sind auf jede Maschinenkinematik portierbar.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-15
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
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. Wenn beide Maschinendaten für die Definition der Orientierungsachsen und Definition
der Orientierungswinkel über G-Code auf Null gesetzt sind:
Die mit A2, B2, C2 programmierten Winkel werden abhängig vom Maschinendatum
Winkeldefinition der Orientierungsprogrammierung entweder als Euler- oder RPY-
Winkeln interpretiert.
2. Wenn das Maschinendatum für die Definition der Orientierungsachsen über G-Code auf
Eins gesetzt ist, erfolgt Umschaltung
abhängig vom aktiven G-Code der Gruppe 50:
Die mit A2, B2, C2 programmierten Winkel werden gemäß eines der aktiven G-Codes
ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2, ORIAXPOS und ORIPY2
interpretiert. Die mit den Orientierungsachsen programmierten Werte werden
entsprechend dem aktiven G-Code der Gruppe 50 auch als Orientierungswinkel
interpretiert.
3. Wenn das Maschinendatum für die Definition der Orientierungswinkel über G-Code auf
Eins und das Maschinendatum für die Definition der Orientierungsachsen über G-Code
auf Null gesetzt ist erfolgt Umschaltung
unabhängig vom aktiven G-Code der Gruppe 50:
Die mit A2, B2, C2 programmierten Winkel werden gemäß eines der aktiven G-Codes
ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2 ORIAXPOS und ORIPY2 interpretiert.
Die mit den Orientierungsachsen programmierten Werte werden unabhängig vom aktiven
G-Code der Gruppe 50 immer als Rundachspositionen interpretiert.
Programmierung
Arbeitsvorbereitung
7-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Parameter
RKQH$FKV7UDQVIRUPDWLRQ
PLW$FKV7UDQVIRUPDWLRQ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-17
Transformationen
7.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:
ORIEULER über Euler-Winkel
ORIRPY über RPY-Winkel (Drehreihenfolge ZYX)
ORIVIRT1 über virtuelle Orientierungsachsen (Definition 1)
ORIVIRT2 über virtuelle Orientierungsachsen (Definition 2)
ORIAXPOS über virtuelle Orientierungsachsen mit Rundachspositionen
ORIPY2 über RPY-Winkel (Drehreihenfolge XYZ)
Maschinenhersteller
Über Maschinendaten können vom Maschinenhersteller verschiedene Varianten definiert
werden. Bitte beachten Sie die Angaben des Maschinenherstellers.
= =
= < = ;
<
; < <
PLW$ r
XP=$FKVH
JHGUHKW
; ;
*UXQGVWHOOXQJ
=
=
< ;
%
< PLW% r
XPPLWJHGUHKWH
;$FKVH
JHGUHKW
; <
In diesem Fall ist der Wert von C2 (Drehung um neue Z-Achse) bedeutungslos und muss
nicht programmiert werden.
Arbeitsvorbereitung
7-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Hinweis
Im Gegensatz zur Eulerwinkel-Programmierung haben hier alle drei Werte Einfluss auf den
Orientierungsvektor.
Maschinenhersteller
Bei Winkeldefinition mit Orientierungswinkel über RPY-Winkel gilt für die
Orientierungsachsen mit $MC_ORI_DEF_WITH_G_CODE = 0
Der Orientierungsvektor ergibt sich, indem ein Vektor in Z-Richtung zunächst mit C2 um die
Z-Achse, dann mit B2 um die neue Y-Achse und zuletzt mit A2 um die neue X-Achse
gedreht wird.
= =
= = <
; < %
&
<
; *UXQGVWHOOXQJ
; <
= = <
PLW& r
XP=$FKVH
; JHGUHKW
$ PLW% r
PLW$ r XPPLWJHGUHKWH
XPPLWJHGUHKWH <$FKVHJHGUHKW
;$FKVH
JHGUHKW ; <
Ist das Maschinendatum zur über Definition der Orientierungsachsen über G-Code
$MC_ORI_DEF_WITH_G_CODE = 1 dann gilt:
Der Orientierungsvektor ergibt sich, indem ein Vektor in Z-Richtung zunächst mit A2 um die
Z-Achse, dann mit B2 um die neue Y-Achse und zuletzt mit C2 um die neue X-Achse
gedreht wird.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-19
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
5LFKWXQJVYHNWRU
&
<
%
$
Arbeitsvorbereitung
7-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
/($'
<
7,/7 ;
Funktion
Stirnfräsen dient zur Bearbeitung beliebig gekrümmter Oberflächen.
$
%
& $
%
&
Für diese Art des 3D-Fräsens benötigen Sie die zeilenweise Beschreibung der 3D-Bahnen
auf der Werkstückoberfläche.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-21
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Funktion
Bei Orientierungsprogrammierung im Werkstückkoordinatensystem über
● Euler- bzw. RPY-Winkel oder
● Orientierungsvektor
kann der Verlauf der Drehbewegung über ORIMKS/ORIWKS eingestellt werden.
Arbeitsvorbereitung
7-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Maschinenhersteller
Mit dem Maschinendatum $MC_ORI_IPO_WITH_G_CODE wird festgelegt welche
Interpolationsart wirksam ist:
ORIMKS/ORIWKS
oder
ORIMACHAX/ORIVIRTAX.
Programmierung
N.. ORIMKS=
oder
N.. ORIWKS=
Parameter
Hinweis
ORIWKS ist Grundeinstellung. Ist bei einem Fünf-Achs-Programm nicht von vornherein klar,
auf welcher Maschine es ablaufen soll, so ist grundsätzlich ORIWKS zu wählen. Welche
Bewegungen die Maschine tatsächlich ausführt, hängt von der Maschinenkinematik ab.
Mit ORIMKS können Sie tatsächliche Maschinenbewegungen programmieren, um z. B.
Kollisionen mit Vorrichtungen o.ä. zu vermeiden.
Beschreibung
Bei ORIMKS ist die ausgeführte Werkzeugbewegung von der Maschinenkinematik abhängig.
Bei Orientierungsänderung mit raumfester Werkzeugspitze wird zwischen den
Rundachspositionen linear interpoliert.
Bei ORIWKS ist die Werkzeugbewegung von der Maschinenkinematik unabhängig. Bei
Orientierungsänderung mit raumfester Werkzeugspitze bewegt sich das Werkzeug in der
vom Anfangs- und Endvektor aufgespannten Ebene.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-23
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
(EHQHGLHEHLGH
9HNWRUHQDXIVSDQQW
9HNWRUDP
6DW]DQIDQJ
9HNWRUDP
6DW]HQGH
Singuläre Stellungen
Hinweis
ORIWKS
Orientierungsbewegungen im Bereich der singulären Stellung der Fünf-Achs-Maschine
erfordern große Bewegungen der Maschinenachsen. (Beispielsweise sind bei einem
Drehschwenkkopf mit C als Drehachse und A als Schwenkachse alle Stellungen mit A=0
singulär.)
Maschinenhersteller
Um die Maschinenachsen nicht zu überlasten, senkt die Geschwindigkeitsführung die
Bahngeschwindigkeit in der Nähe der singulären Stellen stark ab.
Mit den Maschinendaten
$MC_TRAFO5_NON_POLE_LIMIT
$MC_TRAFO5_POLE_LIMIT
kann die Transformation so parametriert werden, dass Orientierungsbewegungen in der
Nähe des Pols durch den Pol gelegt werden und eine zügige Bearbeitung möglich ist.
Singuläre Stellen werden nur mit dem MD $MC_TRAFO5_POLE_LIMIT behandelt.
Literatur:
/FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achs-Transformation (F2),
Kapitel "Singuläre Stellen und ihre Behandlung".
Arbeitsvorbereitung
7-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
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. Diese Werkzeugorientierung erfolgt beliebig im Raum über eine dritte Rundachse
und erfordert die Sechs-Achs-Transformation. Die Eigendrehung des Werkzeugs um sich
selbst wird abhängig von der Interpolationsart der Drehvektoren mit dem Drehwinkel THETA
festgelegt, siehe Kapitel "Drehungen der Werkzeugorientierung (ORIROTA/TR/TT,
ORIROTC, THETA)".
Programmierung
Orientierungsachsen werden über die Achsbezeichner A2, B2, C2 programmiert.
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-25
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Beschreibung
Maschinenhersteller
Mit MD $MC_ORI_DEF_WITH_G_CODE wird festgelegt, wie die programmierten Winkel
A2, B2, C2 definiert werden:
Definition erfolgt nach MD $MC_ORIENTATION_IS_EULER (Standard) oder Definition
erfolgt nach G-Gruppe 50 (ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2).
Mit MD $MC_ORI_IPO_WITH_G_CODE wird festgelegt, welche Interpolationsart wirksam
ist: ORIWKS/ORIMKS oder ORIAXES/ORIVECT.
Betriebsart JOG
Die Orientierungswinkel werden in dieser Betriebsart immer linear interpoliert. Beim
kontinuierlichen und inkrementellen Verfahren über Verfahrtasten kann nur eine
Orientierungsachse verfahren werden. Über die Handräder können die Orientierungsachsen
gleichzeitig verfahren werden.
Für das Handverfahren von Orientierungsachsen wirkt der kanalspezifische Vorschub-
Korrekturschalter bzw. der Eilgang-Korrekturschalter bei Eilgangüberlagerung.
Mit folgenden Maschinendaten ist eine separate Geschwindigkeitsvorgabe möglich:
$MC_JOG_VELO_RAPID_GEO
$MC_JOG_VELO_GEO
$MC_JOG_VELO_RAPID_ORI
$MC_JOG_VELO_ORI
Die Funktion Kartesisches Handverfahren kann im JOG-Betrieb bei
SINUMERIK 840D power line und 840D solution line mit "Transformationspaket Handling"
und
SINUMERIK 810D power line die Translation von Geometrieachsen in den Bezugssystemen
MKS, WKS und TKS getrennt voneinander eingestellt werden.
Arbeitsvorbereitung
7-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Literaturhinweis
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformation (M1)
Funktion
Mit der erweiterten Orientierung ist es möglich, Orientierungsänderungen entlang sich einer
im Raum befindlichen Kegelmantelfläche auszuführen. Die Interpolation des
Orientierungsvektors auf einer Kegelmantelfläche erfolgt mit den modalen Befehlen
ORICONxx. Für die Interpolation in einer Ebene kann die Endorientierung mit ORIPLANE
programmiert werden. Generell wird die Startorientierung durch die vorhergehenden Sätze
festgelegt.
5LFKWXQJVDFKVH
'UHKZLQNHO
3+,
25,&21&::
JHJHQ8U]HLJHUVLQQ
25,&21&: (QGRULHQWLHUXQJ
LP8KU]HLJHUVLQQ
=ZLVFKHQRULHQWLHUXQJ
6WDUWRULHQWLHUXQJ
GXUFKYRUKHUJHKHQGHQ IIQXQJVZLQNHO36,
6DW] GHV.HJHOV
:HUNVW¾FN
REHUIO¦FKH
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:
● Drehachse des Kegels als Vektor mit A6, B6, C6
● Öffnungswinkel PSI mit den Bezeichner NUT
● Zwischenorientierung im Kegelmantel mit A7, B7, C7
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-27
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Hinweis
Programmierung des Richtungsvektor A6, B6, C6 für die Drehachse des Kegels
Die Programmierung einer Endorientierung ist nicht unbedingt erforderlich. Ist keine
Endorientierung angegeben, dann wird ein voller Kegelmantel mit 360 Grad interpoliert.
Programmierung des Öffnungswinkel des Kegels mit NUT=winkel
Die Angabe einer Endorientierung ist zwingend erforderlich.
Ein vollständiger Kegelmantel mit 360 Grad kann auf diese Weise nicht interpoliert
werden.
Programmierung der Zwischenorientierung A7, B7, C7 im Kegelmantel
Die Angabe einer Endorientierung ist zwingend erforderlich. Die Orientierungsänderung
und Drehrichtung wird eindeutig durch die drei Vektoren Start-, End- und
Zwischenorientierung festgelegt. Alle drei Vektoren müssen hierbei voneinander
unterschiedlich sein. Ist die programmierte Zwischenorientierung parallel zur Start- oder
Endorientierung, dann wird eine lineare Großkreisinterpolation der Orientierung in der
Ebene, die von Start- und Endvektor aufgespannt wird, durchgeführt.
Parameter
Arbeitsvorbereitung
7-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
…
N10 G1 X0 Y0 F5000
N20 TRAORI(1) ;Orientierungstransformation ein
N30 ORIVECT ;Werkzeug-Orientierung als Vektor interpolieren
… ;Werkzeugorientierung in der Ebene
N40 ORIPLANE ;Großkreisinterpolation auswählen
N50 A3=0 B3=0 C3=1
N60 A3=0 B3=1 C3=1 ;Orientierung in der Y/Z-Ebene um 45 Grad
;Grad gedreht, am Satzende wird die
;Orientierung (0, 1/ √2, 1/ √2)erreicht
… ;Orientierungsprogrammierung auf Kegelmantel
N70 ORICONCW ;der Orientierungsvektor wird auf einem
;Kegelmantel mit der
N80 A6=0 B6=0 C6=1 A3=0 B3=0 C3=1 ;Richtung (0,0,1) bis zur Orientierung
;(1/ √2, 0, 1/ √2) im Uhrzeigersinn
interpoliert
;der Drehwinkel beträgt hierbei 270 Grad
N90 A6=0 B6=0 C6=1 ;die Werkzeugorientierung durchläuft eine volle
;Umdrehung auf dem selben Kegelmantel
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.
Programmierung in der Ebene ORIPLANE entspricht ORIVECT
Die Programmierung der Großkreisinterpolation zusammen mit Winkelpolynomen entspricht
der Linear- und Polynominterpolation von Konturen. Die Werkzeugorientierung wird in einer
Ebene interpoliert, die von der Start- und Endorientierung aufgespannt wird. Werden
zusätzlich Polynome programmiert, dann kann der Orientierungsvektor auch aus der Ebene
gekippt werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-29
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Orientierungsprogrammierung
Interpolation des Orientierungsvektors auf einer Kegelmantelfläche ORICONxx
Für die Interpolation von Orientierungen auf einer Kegelmantelfläche können vier
verschiedene Interpolationsarten aus der G-Code Gruppe 51 ausgewählt werden:
1. Interpolation auf einen Kegelmantel im Uhrzeigersinn ORICONCW mit Angabe der
Endorientierung und der Kegelrichtung oder des Öffnungswinkels. Der Richtungsvektor
wird mit den Bezeichnern A6, B6, C6 und der Öffnungswinkel des Kegels wird mit dem
Bezeichner NUT= Wertebereich im Intervall 0 bis 180 Grad programmiert.
2. Interpolation auf einen Kegelmantel gegen Uhrzeigersinn ORICONCWW mit Angabe der
Endorientierung und der Kegelrichtung oder des Öffnungswinkels. Der Richtungsvektor
wird mit den Bezeichnern A6, B6, C6 und der Öffnungswinkel des Kegels wird mit dem
Bezeichner NUT= Wertebereich im Intervall 0 bis 180 Grad programmiert.
3. Interpolation auf einen Kegelmantel ORICONIO mit Angabe der Endorientierung und einer
Zwischenorientierung, die mit den Bezeichnern A7, B7, C7 programmiert wird.
4. Interpolation auf einen Kegelmantel ORICONTO mit tangentialem Übergang und Angabe
der Endorientierung. Der Richtungsvektor wird mit den Bezeichnern A6, B6, C6
programmiert.
Funktion
Programmierung der Orientierungsänderung durch die zweite Raumkurve ORICURVE
Eine weitere Möglichkeit der Programmierung von Orientierungsänderungen besteht darin,
außer der Werkzeugspitze entlang einer Raumkurve auch die Bewegung eines zweiten
Kontaktpunktes des Werkzeugs mit ORICURVE zu programmieren. Damit können
Orientierungsänderungen des Werkzeugs, wie bei der Programmierung des
Werkzeugvektors selber, eindeutig festgelegt werden.
Maschinenhersteller
Beachten Sie bitte die Hinweise des Maschinenherstellers zu über Maschinendatum
einstellbare Achsbezeichner für die Programmierung der 2. Orientierungsbahn des
Werkzeugs.
Arbeitsvorbereitung
7-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Programmierung
Bei dieser Interpolationsart können für die beiden Raumkurven Punkte mit G1 bzw.
Polynome mit POLY programmiert werden. Kreise und Evolventen sind nicht zulässig.
Zusätzlich kann eine Spline-Interpolation mit BSPLINE und die Funktion "Zusammenfassung
kurzer Spline-Sätze" aktiviert werden.
Literatur:
/FB1/ Funktionshandbuch Grundfunktionen; Bahnsteuerbetrieb, Genauhalt, Look Ahead
(B1), Kapitel: Zusammenfassung kurzer Spline-Sätze
Die anderen Splinearten ASPLINE und CSPLINE sowie die Aktivierung eines Kompressors
mit COMPON, COMPCURV oder COMPCAD sind nicht zulässig.
Die Bewegung der zwei Kontaktpunkte des Werkzeugs kann bei der Programmierung der
Orientierungspolynome für Koordinaten bis maximal [Link] vorgegeben werden.
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-31
Transformationen
7.2 Drei-, Vier- und Fünf-Achs-Transformation (TRAORI)
Hinweis
Bezeichner XH YH ZH für die Programmierung einer 2. Orientierungsbahn
Die Bezeichner müssen so gewählt werden, dass kein Konflikt mit anderen Bezeichnern der
Linearachsen
X Y Z Achsen
und Rundachsen wie
A2 B2 C2 Eulerwinkel bzw. RPY-Winkel
A3 B3 C3 Richtungsvektoren
A4 B4 C4 bzw. A5 B5 C5 Flächennormalenvektoren
A6 B6 C6 Drehvektoren bzw. A7 B7 C7 Zwischenpunktkoordinaten
oder anderen Interpolationsparameter entsteht.
Arbeitsvorbereitung
7-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.3 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.
2. Polynome für Koordinaten: XH, YH, ZH der zweiten Raumkurve für die
Werkzeugorientierung eines Bezugspunktes auf dem Werkzeug.
Bei einer Sechs-Achs-Transformation kann zur Werkzeugorientierung zusätzlich die
Drehung des Drehvektors THT mit Polynomen bis maximal 5. Grades für Drehungen des
Werkzeugs selbst programmiert werden.
Programmierung
Orientierungspolynome vom Typ 1 für Winkel
N… PO[XH]=(xe, x2, x3, x4, x5) Bezeichner für die Koordinaten der zweiten
N… PO[YH]=(ye, y2, y3, y4, y5) Orientierungsbahn für die
N… PO[ZH]=(ze, z2, z3, z4, z5)
Werkzeugorientierung
Zusätzlich kann in beiden Fällen ein Polynom für die Drehung bei Sechs-Achs-
Transformationen mit
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-33
Transformationen
7.3 Orientierungspolynome (PO[Winkel], PO[Koordinate])
Parameter
Beschreibung
Orientierungspolynomen können nicht programmiert werden
● wenn die Splineinterpolationen ASPLINE, BSPLINE, CSPLINE aktiv sind.
Polynome vom Typ1 für Orientierungswinkel sind für jede Interpolationsart außer Spline
d.h. bei Linearinterpolation mit Eilgang G00 bzw. mit Vorschub G01
bei Polynominterpolation mit POLY und
bei Kreis- bzw. Evolventeninterpolation mit G02, G03, CIP, CT, INVCW und INCCCW
möglich.
Polynome vom Typ2 für Orientierungskoordinaten sind dagegen nur möglich, wenn
Linearinterpolation mit Eilgang G00 bzw. mit Vorschub G01 oder
Polynominterpolation mit POLY aktiv ist.
● wenn die Orientierung mittels Achsinterpolation ORIAXES interpoliert wird. In diesem Fall
können direkt Polynome mit PO[A] und PO[B] für die Orientierungsachsen A und B
programmiert werden.
Orientierungspolynome vom Typ 1 mit ORIVECT, ORIPLANE und ORICONxx
Bei Großkreisinterpolation und Kegelmantelinterpolation mit ORIVECT, ORIPLANE und
ORICONxx sind nur Orientierungspolynome vom Typ 1 möglich.
Orientierungspolynome vom Typ 2 mit ORICURVE
Ist die Interpolation mit zusätzlicher Raumkurve ORICURVE aktiv, werden die kartesischen
Komponenten des Orientierungsvektors interpoliert und es sind nur Orientierungspolynome
vom Typ 2 möglich.
Arbeitsvorbereitung
7-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR/TT, 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. Für diese Drehvektoren sind verschiedene Interpolationsarten programmierbar:
● ORIROTA: Drehwinkel zu einer absolut vorgegebenen Drehrichtung.
● ORIROTR: Drehwinkel relativ zur Ebene zwischen Start- und Endorientierung.
● ORIROTT: Drehwinkel relativ zur Änderung des Orientierungsvektors.
● ORIROTC: Tangentialer Drehwinkel zur Bahntangente.
Programmierung
Nur wenn die Interpolationsart ORIROTA aktiv ist, kann der Drehwinkel oder der Drehvektor
auf die vier möglichen Arten wie folgt programmiert werden:
1. Direkt die Rundachspositionen A, B, C
2. Eulerwinkel (in Grad) über A2, B2, C2
3. RPY-Winkel (in Grad) über A2, B2, C2
4. Richtungsvektor über A3, B3, C3 (Drehwinkel mittels THETA=Wert)
Falls ORIOTR oder ORIOTT aktiv sind, kann der Drehwinkel nur noch direkt mit THETA
programmiert werden.
Eine Drehung kann auch allein in einem Satz programmiert werden, ohne dass eine
Orientierungsänderung stattfindet. Dabei haben ORIROTR und ORIROTT keine Bedeutung.
In diesem Fall wird der Drehwinkel immer in Bezug zur absoluten Richtung interpretiert
(ORIROTA).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-35
Transformationen
7.4 Drehungen der Werkzeugorientierung (ORIROTA, ORIROTR/TT, ORIROTC, THETA)
Parameter
Beschreibung
ORIROTA
Der Drehwinkel THETA wird bezüglich einer absolut festgelegten Richtung im Raum
interpoliert. Die Grunddrehrichtung erfolgt über Maschinendaten
Arbeitsvorbereitung
7-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.5 Bahnrelative Orientierungen
ORIROTR
Der Drehwinkel THETA wird relativ zur Ebene, die von der Start- und Endorientierung
aufgespannt wird, interpretiert.
ORIROTT
Der Drehwinkel THETA wird relativ zur Orientierungsänderung interpretiert. Für THETA=0
wird der Drehvektor tangential zur Orientierungsänderung interpoliert und unterscheidet sich
nur dann zu ORIROTR, wenn für die Orientierung mindestens ein Polynom für den
"Kippwinkel PSI" programmiert wurde. Damit ergibt sich eine Orientierungsänderung, die
nicht in der Ebene abläuft. Durch einen zusätzlich programmierten Drehwinkel THETA kann
dann z. B. der Drehvektor so interpoliert werden, dass er immer einen bestimmten Wert zur
Orientierungsänderung bildet.
ORIROTC
Der Drehvektor wird relativ zur Bahntangente mit einem durch den Winkel THETA
programmierbaren Offset interpoliert. Für den Offsetwinkel kann dabei auch ein Polynom
PO[THT]=(c2, c3, c4, c5) maximal 5. Grades programmiert werden.
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. Die Werkzeugorientierung als auch die Drehung des Werkzeugs wird mit ORIPATH,
ORPATHTS relativ zur Bahn interpoliert.
2. Der Orientierungsvektor wird wie bisher üblich programmiert und interpoliert. Mit
ORIROTC wird die Drehung des Orientierungsvektors relativ zur Bahntangente
angestellt.
Programmierung
Die Interpolationsart der Orientierung und der Drehung des Werkzeugs wird programmiert
mit:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-37
Transformationen
7.5 Bahnrelative Orientierungen
Ein durch eine Ecke im Bahnverlauf hervorgerufener Knick der Orientierung kann mit
ORIPATHS geglättet werden. Die Richtung und Weglänge der Abhebebewegung wird durch
den Vektor mit den Komponenten A8=X, B8=Y C8=Z programmiert.
Mit ORIPATH/ORIPATHS können verschiedene Bezüge zur Bahntangente über die drei
Winkel
● LEAD= Angabe Vorwärtswinkel bezogen auf die Bahn und Oberfläche
● TILT= Angabe von Seitwärtswinkel bezogen auf die Bahn und Oberfläche
● THETA= Drehwinkel
für den gesamten Bahnverlauf programmiert werden. Zum Drehwinkel THETA können mit
PO[THT]=(...) zusätzlich Polynome maximal 5. Grades programmiert werden.
Hinweis
Maschinenhersteller
Bitte beachten Sie die Angaben des Maschinenherstellers. Über projektierbare Maschinen-
und Settingdaten können zur Bahnrelativen Orientierungsart weitere Einstellungen
vorgenommen werden. Weitere Erläuterungen siehe
Literatur:
/FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achs-Transformation (F2),
Kapitel "Orientierung"
Parameter
Die Interpolation der Winkel LEAD und TILT ist über Maschinedatum unterschiedlich
einstellbar:
● Der mit LEAD und TILT programmierte Bezug der Werkzeugorientierung wird über den
ganzen Satz hinweg eingehalten.
● Vorwärtswinkel LEAD: Drehung um die Richtung senkrecht zur Tangente und
Normalenvektor TILT: Drehung der Orientierung um den Normalenvektor.
● Vorwärtswinkel LEAD: Drehung um die Richtung senkrecht zur Tangente und
Normalenvektor Seitwärtswinkel TILT: Drehung der Orientierung um die Richtung der
Bahntangente.
● Drehwinkel THETA: Drehung des Werkzeugs um sich selbst mit einer zusätzlichen dritten
Rundachse als Orientierungsachse bei Sechs-Achs-Transformation.
Hinweis
Bahnrelative Orientierung zusammen mit OSC, OSS, OSSE, OSD, OST unzulässig
Die bahnrelative Orientierungsinterpolation ORIPATH bzw. ORIPATHS und ORIOTC kann
nicht zusammen mit der Glättung des Orientierungsverlaufs mit einen der G-Codes aus
der Gruppe 34 programmiert werden. Hierfür muss OSOF aktiv sein.
Arbeitsvorbereitung
7-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.5 Bahnrelative Orientierungen
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. Alternativ hierzu
können die Winkel LEAD und TILT durch einen Vektor, der in der Ebene senkrecht zur
Werkzeugrichtung liegt, programmiert werden.
Maschinenhersteller
Bitte beachten Sie die Angaben des Maschinenherstellers. Über Maschinendatum kann die
Interpolation der Winkel LEAD und TILT unterschiedlich eingestellt werden.
Programmierung
Drehung der Werkzeugorientierung und des Werkzeugs
Die Werkzeugorientierungsart relativ zur Bahn wird mit ORIPATH oder ORIPATHS aktiviert.
Die Werte der Winkel am Satzende werden mit LEAD=Wert, TILT=Wert bzw. THETA=Wert
programmiert. Zusätzlich zu den konstanten Winkeln können für alle drei Winkel Polynome
maximal 5. Grades programmiert werden.
N... PO[PHI]=(a2, a3, a4, a5) Polynom für den Voreilwinkel LEAD
oder
N... PO[PSI]=(b2, b3, b4, b5) Polynom für den Seitwärtswinkel TILT
oder
N... PO[THT]=(d2, d3, d4, d5)
Polynom für den Drehwinkel THETA
Bei der Programmierung können die höheren Polynomkoeffizienten, die Null sind,
weggelassen werden. Beispiel PO[PHI]=a2 ergibt für den Voreilwinkel LEAD eine Parabel.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-39
Transformationen
7.5 Bahnrelative Orientierungen
Parameter
Bahnrelative Werkzeugorientierung
Hinweis
Drehwinkel THETA
Für die Drehung des Werkzeugs mit dritter Rundachse als Orientierungsachse um sich
selbst, ist eine Sechs-Achs-Transformation erforderlich.
Funktion
Interpolation mit Drehvektoren
Zur mit ORIROTC programmierten Drehung des Werkzeugs relativ zur Bahntangenten kann
der Drehvektor auch mit einem durch den Drehwinkel THETA programmierbaren Offset
interpoliert werden. Dabei kann für den Offsetwinkel mit PO[THT] ein Polynom bis maximal
5. Grades programmiert werden.
Programmierung
Arbeitsvorbereitung
7-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.5 Bahnrelative Orientierungen
Parameter
Bahnrelative Interpolation der Drehung des Werkzeugs bei Sechs-Achs-Transformation
Hinweis
Interpolation des Drehvektors ORIROTC
Soll gegen die Orientierungsrichtung des Werkzeugs auch die Drehung des Werkzeugs
relativ zur Bahntangente angestellt werden, dann ist dies nur bei einer Sechs-Achs-
Transformation möglich.
Bei aktiven ORIROTC
Der Drehvektor ORIROTA kann nicht programmiert werden. Im Falle einer Programmierung
wird der ALARM 14128 "Absolutprogrammierung der Werkzeugdrehung bei aktivem
ORIROTC" ausgegeben.
Orientierungsrichtung des Werkzeugs bei Drei- bis Fünf-Achs-Transformation
Die Orientierungsrichtung des Werkzeugs kann wie bei der Drei- bis Fünf-Achs-
Transformation gewohnt über Eulerwinkel bzw. RPY-Winkel oder des Richtungsvektoren
programmiert werden. Auch sind Orientierungsänderungen des Werkzeugs im Raum durch
Programmierung der Großkreisinterpolation ORIVECT, der linearen Interpolation der
Orientierungsachsen ORIAXES, alle Interpolationen auf einer Kegelmantelfläche ORICONxx
sowie der Interpolation zusätzlich zur Raumkurve mit zwei Kontaktpunkten des Werkzeugs
ORICURVE möglich.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-41
Transformationen
7.5 Bahnrelative Orientierungen
Hinweis
Wird die Werkzeugorientierung mit aktiven ORIAXES über die Orientierungsachsen
Interpoliert, dann wird die bahnrelative Anstellung des Drehwinkels nur am Satzende erfüllt.
Funktion
Bei beschleunigungsstetigen Orientierungsänderungen an der Kontur sind Unterbrechungen
der Bahnbewegungen, die besonders an einer Ecke der Kontur auftreten können
unerwünscht. Der sich hieraus ergebene Knick im Orientierungsverlauf kann durch Einfügen
eines eigenen Zwischensatzes geglättet werden. Die Orientierungsänderung erfolgt dann
beschleunigungsstetig, wenn während der Umorientierung auch ORIPATHS aktiv ist. In
dieser Phase kann eine Abhebebewegung des Werkzeugs durchgeführt werden.
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.
2. Im Werkstückkoordinatensystem wird die Z-Koordinate durch die aktive Ebene definiert.
Weitere Erläuterungen zur Funktion "Bahnrelative Orientierung" siehe
Literatur: /FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achstransformation (F2)
Arbeitsvorbereitung
7-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.6 Komprimierung der Orientierung COMPON (A..., B..., C..., THETA)
Programmierung
Für stetige Werkzeugorientierungen bezogen auf die gesamte Bahn sind an einer Ecke der
Kontur weitere Programmierangaben erforderlich. Die Richtung und die Weglänge dieser
Bewegung wird durch den Vektor mit den Komponenten A8=X, B8=Y, C8=Z programmiert:
Parameter
Hinweis
Programmierung des Richtungsvektors A8, B8, C8
Ist die Länge dieses Vektors gleich Null erfolgt keine Abhebebewegung.
ORIPATHS
Die bahnbezogene Werkzeugorientierung wird mit ORIPATHS aktiv. Anderenfalls wird die
Orientierung mittels linearer Großkreisinterpolation von der Start- zur Endorientierung
überführt.
7.6 7.6 Komprimierung der Orientierung COMPON (A..., B..., C..., THETA)
Funktion
NC-Programme, in denen die Orientierung mittels Richtungsvektoren programmiert sind,
können unter Einhaltung von vorgegeben Toleranzen komprimiert werden. Der Kompressor
ist für Orientierungen nur in Verbindung mit einer Orientierungstransformation möglich.
Maschinenhersteller
Die Orientierungsbewegung wird nur bei aktiver Großkreisinterpolation komprimiert und ist
so vom G-Code für die Orientierungsinterpolation abhängig. Dieser ist ebenso wie die
maximale Weglänge und eine zulässige Toleranz für jede Achse bzw. für den Bahnvorschub
für die Kompressorfunktion über Maschinendaten einstellbar. Bitte beachten Sie die
Angaben des Maschinenherstellers.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-43
Transformationen
7.6 Komprimierung der Orientierung COMPON (A..., B..., C..., THETA)
Programmierung
Allgemeine Form des NC-Satzes
Die zu komprimierenden Sätze dürfen nur Satznummer, Linearinterpolation G1,
Achsadressen, Vorschub und einen Kommentar enthalten und haben damit folgende
Programmsyntax:
N... TRAORI
A3=... B3=... C3=... ;Richtungsvektor
A2=... B2=... C2=...
;Euler- Winkel oder RPY-Winkel
N... X... Y... Z... A3=... B3=... C3=... THETA=... F=... bzw.
N... X... Y... Z... A2=... B2=... C2=... THETA=... F=...
Wird die Werkzeugorientierung durch Rundachspositionen angegeben, z. B. in der Form
Parameter
Die bisher für den Kompressor gültigen Parameterzuweisungen sind auch für
Rundachspositionen anwendbar.
Arbeitsvorbereitung
7-44 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.6 Komprimierung der Orientierung COMPON (A..., B..., C..., THETA)
Hinweis
Komprimierung nur bei aktiver Großkreisinterpolation
Dies ist der Fall, wenn sich die Werkzeugorientierung in der Ebene ändert, die von Start–
und Endorientierung aufgespannt wird. Die für eine Großkreisinterpolation geltenden
Bedingungen müssen über Maschinedaten eingestellt sein.
1. Maschinendatum: G-Code für Orientierungsinterpolation = FALSE
ORIWKS aktiv und die Orientierung als Vektor programmiert mit A3, B3, C3 bzw. A2, B2, C2
ist.
2. Maschinendatum: G-Code für Orientierungsinterpolation = TRUE
ORIVECT bzw. ORIPLANE aktiv ist. Die Werkzeugorientierung kann entweder als
Richtungsvektor oder mit Rundachspositionen programmiert sein. Ist einer der G-Codes
ORICONxx oder ORICURVE aktiv oder sind Polynome für die Orientierungswinkel (PO[PHI]
und PO[PSI]) programmiert, wird keine Großkreisinterpolation durchgeführt, d. h. solche
Sätze werden nicht komprimiert.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-45
Transformationen
7.6 Komprimierung der Orientierung COMPON (A..., B..., C..., THETA)
Beschreibung
Genauigkeit
NC-Sätze sind nur dann komprimierbar, falls man Abweichungen der Kontur von der
programmierten Kontur zulässt. Die maximale Abweichung ist als Kompressor-Toleranz in
Settingdaten einstellbar. Je größer die erlaubten Toleranzen sind, umso mehr Sätze können
komprimiert werden.
Achsgenauigkeit
Der Kompressor erzeugt für jede Achse eine Spline, die maximal um den mit dem axialen
Maschinendatum eingestellten Toleranzwert von den programmierten Endpunkten jeder
Achse abweicht.
Konturgenauigkeit
Es werden die maximalen geometrischen Abweichungen der Kontur (Geo) und der
Werkzeugorientierung kontrolliert. Dies erfolgt mit den Settingdaten für:
1. Maximale Toleranz für die Kontur
2. Maximale Winkelabweichung für die Werkzeugorientierung
3. Maximale Winkelabweichung für den Drehwinkel THEATA des Werkzeugs
(nur bei 6-Achs-Maschinen verfügbar)
Mit dem kanalspezifischen MD 20482 COMPRESSOR_MODE können die
Toleranzvorgaben eingestellt werden:
0: Achsgenauigkeit: axiale Toleranzen für alle Achsen (Geo- und Orientierungsachsen).
1: Konturgenauigkeit: Vorgabe der Konturtoleranz (1.), Toleranz für die Orientierung über
axiale Toleranzen (a.).
2: Vorgabe der maximalen Winkelabweichung für die Werkzeugorientierung (2.), Toleranz
für die Kontur über axiale Toleranzen (a.).
3: Vorgabe der Konturtoleranz mit (1.) und Vorgabe der maximalen Winkelabweichung für
die Werkzeugorientierung mit (2.).
Die Vorgabe einer maximalen Winkelabweichung der Werkzeugorientierung ist nur dann
möglich, wenn eine Orientierungstransformation (TRAORI) aktiv ist.
Arbeitsvorbereitung
7-46 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.7 Online -Werkzeuglängenkorrektur (TOFFON, TOFFOF)
Funktion
Über die Systemvariable $AA_TOFF[ ] können die effektiven Werkzeuglängen entsprechend
der drei Werkzeugrichtungen dreidimensional in Echtzeit überlagert werden.
Als Index werden die drei Geometrieachsbezeichner verwendet. Damit ist die Anzahl der
aktiven Korrekturrichtungen durch die zur selben Zeit aktiven Geometrieachsen festgelegt.
Alle Korrekturen können gleichzeitig aktiv sein.
Die Funktion Online-Werkzeuglängenkorrektur ist anwendbar bei:
● Orientierungstransformation TRAORI
● Orientierbare Werkzeugträger TCARR
Maschinenhersteller
Die Online-Werkzeuglängenkorrektur ist eine Option, die vorher frei geschaltet werden
muss. Nur in Verbindung mit einer aktiven Orientierungstransformation oder einem aktiven
orientierbaren Werkzeugträger ist diese Funktion sinnvoll.
Programmierung
N.. TRAORI
N.. TOFFON(X,25)
N.. WHEN TRUE DO $AA_TOFF[Werkzeugrichtung] in Synchronaktionen
Weitere Erläuterungen zur Programmierung der Online-Werkzeuglängenkorrektur in
Bewegungssynchronaktionen siehe Kapitel "Aktionen in Synchronaktionen".
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-47
Transformationen
7.7 Online -Werkzeuglängenkorrektur (TOFFON, TOFFOF)
Beschreibung
Satzaufbereitung
Bei der Satzaufbereitung im Vorlauf wird der im Hauptlauf wirksame aktuelle
Werkzeuglängenoffset mit berücksichtigt. Um die maximal zulässigen
Achsgeschwindigkeiten weitgehend ausnutzen zu können, ist es erforderlich, die
Satzaufbereitung mit einem Vorlaufstopp STOPRE anzuhalten, während ein Werkzeugoffset
aufgebaut wird.
Der Werkzeugoffset ist zum Vorlaufzeitpunkt auch immer dann bekannt, wenn die
Werkzeuglängenkorrekturen nach Programmstart nicht mehr verändert werden, oder wenn
nach einer Veränderung der Werkzeuglängenkorrekturen mehr Sätze abgearbeitet wurden
als der IPO-Buffer zwischen Vorlauf und Hauptlauf aufnehmen kann.
Arbeitsvorbereitung
7-48 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
Variable $AA_TOFF_PREP_DIFF
Das Maß für die Differenz zwischen der aktuellen im Interpolator wirksamen Korrektur und
der Korrektur, die zum Zeitpunkt der Satzaufbereitung wirksam war, kann in der Variablen
$AA_TOFF_PREP_DIFF[ ] abgefragt werden.
Maschinendaten und Settingdaten einstellen
Für die Online-Werkzeuglängenkorrektur stehen folgende Maschinendaten zur Verfügung:
● MD 20610: ADD_MOVE_ACCEL_RESERVE Beschleunigungsreserve für überlagerte
Bewegung.
● MD 21190: TOFF_MODE Inhalt der Systemvariable $AA_TOFF[ ] wird als absoluter
Wert herausgefahren oder aufintegriert.
● MD 21194: TOFF_VELO Geschwindigkeit der Online-Werkzeuglängenkorrektur.
● MD 21196: TOFF_ACCEL Beschleunigung der Online-Werkzeuglängenkorrektur.
● Settingdatum zur Vorgabe von Grenzwerten
SD 42970: TOFF_LIMIT Obergrenze des Werkzeuglängenkorrekturwertes.
Literatur: /FB3/ Funktionshandbuch Sonderfunktionen; 3- bis 5-Achs-Transformationen (F2).
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.
● Die Steuerung transformiert die programmierten Verfahrbewegungen des kartesischen
Koordinatensystems auf die Verfahrbewegungen der realen Maschinenachsen
(Standardfall):
– Rundachse
– Zustellachse senkrecht zur Drehachse
– Längsachse parallel zur Drehachse
– Die Linearachsen stehen senkrecht aufeinander.
● Werkzeugmittenversatz relativ zur Drehmitte ist zulässig.
● Die Geschwindigkeitsführung berücksichtigt die für die Drehbewegungen definierten
Begrenzungen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-49
Transformationen
7.8 Kinematische Transformation
TRANSMIT Transformationstypen
Für TRANSMIT-Bearbeitungen gibt es zwei einstellbare Ausprägungen:
● TRANSMIT im Standardfall mit (TRAFO_TYPE_n = 256)
● TRANSMIT mit zusätzlicher Y-Linearachse (TRAFO_TYPE_n = 257)
Der erweiterte Transformationstyp 257 kann dazu verwendet werden, um z. B.
Aufspannkorrekturen eines Werkzeugs mit realer Y-Achse zu kompensieren.
Programmierung
TRANSMIT oder TRANSMIT(n)
oder
TRAFOOF
Rundachse
Die Rundachse kann nicht programmiert werden, da sie von einer Geometrie-Achse belegt
wird und somit als Kanalachse nicht direkt programmierbar ist.
Arbeitsvorbereitung
7-50 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
Parameter
Hinweis
Eine aktive Transformation TRANSMIT wird ebenfalls ausgeschaltet, wenn im jeweiligen
Kanal eine der übrigen Transformationen aktiviert wird (z. B. TRACYL, TRAANG, TRAORI).
Beispiel
<
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-51
Transformationen
7.8 Kinematische Transformation
Beschreibung
Pol
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
durchzuführen. Für die zweite Linearachse gilt dann:
● ein kleinerer Arbeitsbereich und
● dass die zweite Linearachse für das Abfahren des Teileprogramms nicht genutzt werden
soll.
Für das Teileprogramm und die Zuordnung der entsprechenden Achsen im BKS oder MKS
werden bestimmte Maschinendateneinstellungen vorausgesetzt, siehe
Literatur
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformationen (M1)
Arbeitsvorbereitung
7-52 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
Funktion
Die Zylindermantelkurventransformation TRACYL ermöglicht folgende Leistungen:
Bearbeitung von
● Längsnuten an zylindrischen Körpern,
● Quernuten an zylindrischen Körpern,
● beliebig verlaufende Nuten an zylindrischen Körpern.
Der Verlauf der Nuten wird bezogen auf die abgewickelte, ebene Zylindermantelfläche
programmiert.
<
TRACYL Transformationstypen
Die Zylindermantelkoordinatentransformation gibt es in drei Ausprägungen:
● TRACYL ohne Nutwandkorrektur: (TRAFO_TYPE_n=512)
● TRACYL mit Nutwandkorrektur: (TRAFO_TYPE_n=513)
● TRACYL mit zusätzlicher Linearachse und mit Nutwandkorrektur: (TRAFO_TYPE_n=514)
Die Nutwandkorrektur wird mit TRACYL über den dritten Parameter parametriert.
Bei Zylindermantelkurventransformation mit Nutwandkorrektur sollte die für die Korrektur
verwendete Achse auf Null (y=0) stehen, damit die Nut mittig zur programmierten
Nutmittellinie gefertigt wird.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-53
Transformationen
7.8 Kinematische Transformation
Achsnutzung
Folgende Achsen können nicht als Positionierachse bzw. Pendelachse verwendet werden:
● die Geometrieachse in Umfangsrichtung der Zylindermantelfläche (Y-Achse)
● die zusätzliche Linearachse bei Nutwandkorrektur (Z-Achse)
Programmierung
TRACYL(d) oder TRACYL(d, n) oder
für Transformationstyp 514
TRACYL(d, n, Nutwandkorrektur)
oder
TRAFOOF
Rundachse
Die Rundachse kann nicht programmiert werden, da sie von einer Geometrie-Achse belegt
wird und somit als Kanalachse nicht direkt programmierbar ist.
Parameter
Hinweis
Eine aktive Transformation TRACYL wird ebenfalls ausgeschaltet, wenn im jeweiligen Kanal
eine der übrigen Transformationen aktiviert wird (z. B. TRANSMIT, TRAANG, TRAORI).
Arbeitsvorbereitung
7-54 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
Geometrie Längenkorrektur
$TC_DP3[1,1]=8. Längenkorrekturvektor Verrechnung nach Typ
$TC_DP4[1,1]=9. und Ebene
$TC_DP5[1,1]=7.
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
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-55
Transformationen
7.8 Kinematische Transformation
<
Zylindermanteltransformation einschalten
Arbeitsvorbereitung
7-56 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.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.
$60
= E]Z =0
;0
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-57
Transformationen
7.8 Kinematische Transformation
= E]Z=0
<0
$60
;0
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.
/¦QJVQXW 4XHUQXW
SDUDOOHOEHJUHQ]WH
/¦QJVQXW
RKQH1XWZDQGNRUUHNWXU PLW1XWZDQGNRUUHNWXU
75$)2B7<3(BQ 75$)2B7<3(BQ
Arbeitsvorbereitung
7-58 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
SURJUDPPLHUWH
2))1 .RQWXU
Ein Teileprogramm zum Fräsen einer Nut besteht in der Regel aus folgenden Schritten:
1. Werkzeug anwählen
2. TRACYL anwählen
3. Passende Koordinatenverschiebung (FRAME) anwählen
4. Positionieren
5. OFFN programmieren
6. WRK anwählen
7. Anfahrsatz (Einfahren der WRK und Anfahren der Nutwand)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-59
Transformationen
7.8 Kinematische Transformation
Hinweis
OFFN und WRK
Bei TRAFO_TYPE_n = 512 wirkt der Wert unter OFFN als Aufmass zur WRK.
Bei TRAFO_TYPE_n = 513 wird im OFFN die halbe Nutbreite programmiert. Die Kontur
wird mit OFFN-WRK abgefahren.
Arbeitsvorbereitung
7-60 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
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.
08
༾
;
6FKOHLIVFKHLEH
& = $6 0=
:HUNVW¾FN
Programmierung
TRAANG(α) oder TRAANG(α, n)
oder
TRAFOOF
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-61
Transformationen
7.8 Kinematische Transformation
Beispiel
08
༾
;
6FKOHLIVFKHLEH
& = $6 0=
:HUNVW¾FN
Arbeitsvorbereitung
7-62 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
Beschreibung
Folgende Bearbeitungen sind möglich:
1. Längsschleifen
2. Planschleifen
3. Schleifen einer bestimmten Kontur
4. Schrägeinstechschleifen
Maschinenhersteller
Folgende Einstellungen werden über Maschinendatum festgelegt:
● der Winkel zwischen einer Maschinenachse und der schrägen Achse,
● die Lage des Werkzeugnullpunktes bezogen auf den Ursprung des bei der Funktion
"Schräge Achse" vereinbarten Koordinatensystems,
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-63
Transformationen
7.8 Kinematische Transformation
● die Geschwindigkeitsreserve, die auf der parallelen Achse für die Ausgleichsbewegung
bereitgehalten wird,
● die Achsbeschleunigungsreserve, die auf der parallelen Achse für die
Ausgleichsbewegung bereitgehalten wird.
Achskonfiguration
Um im kartesischen Koordinatensystem programmieren zu können, muss der Steuerung der
Zusammenhang zwischen diesem Koordinatensystem und den tatsächlich existierenden
Maschinenachsen (MU, MZ) mitgeteilt werden:
● Benennung der Geometrieachsen
● Zuordnung der Geometrieachsen zu Kanalachsen
– allgemeiner Fall (Schräge Achse nicht aktiv)
– Schräge Achse aktiv
● Zuordnung der Kanalachsen zu den Maschinenachsnummern
● Kennzeichnung der Spindeln
● Zuweisung von Maschinenachsnamen
Das Vorgehen entspricht mit Ausnahme von "Schräge Achse aktiv" dem Vorgehen bei der
normalen Achskonfiguration.
Funktion
Im JOG–Betrieb kann die Schleifscheibe wahlweise kartesisch oder in Richtung der
Schrägen Achse bewegt (Anzeige bleibt kartesisch) werden. Es bewegt sich nur die reale U–
Achse, die Anzeige der Z–Achse wird aktualisiert.
REPOS–Verschiebungen müssen im Jog–Betrieb kartesisch zurückgefahren werden.
Das Überfahren der kartesischen Arbeitsfeldbegrenzung wird im JOG–Betrieb bei aktivem
"PTP–Fahren" überwacht, die entsprechende Achse wird vorher gebremst. Ist "PTP–Fahren"
nicht aktiv, kann die Achse exakt bis zur Arbeitsfeldbegrenzung gefahren werden.
Literatur
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformation (M1)
Programmierung
G07
G05
Die Befehle G07/G05 dienen der Erleichterung der Programmierung der Schrägen Achse.
Dabei können Positionen im kartesischen Koordinatensystem programmiert und angezeigt
werden. Die Werkzeugkorrektur und Nullpunktverschiebung werden kartesisch eingerechnet.
Nach der Programmierung des Winkels für die Schräge Achse im NC–Programm kann die
Startposition angefahren werden (G07) und danach das Schrägeinstechen (G05) vollzogen
werden.
Arbeitsvorbereitung
7-64 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.8 Kinematische Transformation
Parameter
Beispiel
8
˞
;
1
1
6FKOHLIVFKHLEH
& = $6
:HUNVW¾FN
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-65
Transformationen
7.9 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. Weiterhin ist
das "PTP-Fahren" nur in Verbindung mit G0 und G1 zulässig.
Programmierung
N... TRAORI
N... STAT='B10' TU='B100' PTP
N... CP
PTP-Fahren bei generischer 5/6-Achs Transformation
Wird bei aktiver generischer 5/6-Achs-Transformation mit PTP ein Punkt-zu-Punkt Fahren im
Maschinenkoordinatensystem (ORIMKS) aktiviert, dann kann die Werkzeugorientierung
sowohl mit Rundachspositionen
N... G1 X Y Z A B C
als auch mit von der Kinematik unabhängigen Vektoren Euler- bzw. RPY-Winkel
N... ORIEULER oder ORIRPY
N... G1 X Y Z A2 B2 C2
oder den Richtungsvektoren
N... G1 X Y Z A3 B3 C3
programmiert werden. Dabei kann sowohl Rundachsinterpolation als auch
Vektorinterpolation mit Großkreisinterpolation ORIVECT oder Interpolation des
Orientierungsvektors auf einer Kegelmantelfläche ORICONxx aktiv sein.
Mehrdeutigkeiten der Orientierung mit Vektoren
Bei der Programmierung der Orientierung mit Vektoren gibt es eine Mehrdeutigkeit in den
möglichen Rundachspositionen. Die anzufahrenden Rundachspositionen können dabei
durch die Programmierung von STAT = <...> ausgewählt werden. Wird
STAT = 0 programmiert wird (dies entspricht der Standardeinstellung),
werden die Positionen, die den kürzesten Abstand zu den Startpositionen haben
angefahren. Wenn
STAT = 1 programmiert wird,
werden die Positionen, die den längeren Abstand zu den Startpositionen haben angefahren.
Arbeitsvorbereitung
7-66 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.9 Kartesisches PTP-Fahren
Parameter
Die Befehle PTP und CP sind modal wirksam. CP ist die Standardeinstellung.
Während die Programmierung des STAT–Wertes modal gültig ist, wirkt die Programmierung
von TU = <...> satzweise.
Ein weiterer Unterschied ist auch, dass die Programmierung eines STAT–Wertes sich nur
bei Vektorinterpolation auswirkt, während die Programmierung von TU auch bei aktiver
Rundachsinterpolation ausgewertet wird.
Beispiel
(OOERJHQREHQ
$
=
<
(OOERJHQXQWHQ
;
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-67
Transformationen
7.9 Kartesisches PTP-Fahren
Beschreibung
Die Umschaltung zwischen dem kartesischen Verfahren und dem Verfahren der
Maschinenachsen erfolgt durch die Befehle PTP und CP.
PTP-Fahren bei generischer 5/6-Achs Transformation
Beim PTP–Fahren bleibt im Gegensatz zur 5/6–Achs Transformation die TCP allgemein
nicht ortsfest, falls sich nur die Orientierung ändert. Es werden die transformierten
Endpositionen aller Transformationsachsen (3 Linearachsen und bis zu 3 Rundachsen)
linear angefahren, ohne dass dabei die Transformation im eigentlichen Sinn noch aktiv ist.
Das PTP–Fahren wird durch Programmierung des modalen G–Codes CP ausgeschaltet.
Die unterschiedlichen Transformationen sind enthalten in der Druckschrift:
/FB3/ Funktionshandbuch Sonderfunktionen; Transformationspaket Handling (TE4).
Programmierung der Stellung (STAT=)
Eine Maschinenstellung ist allein durch die Positionsangabe mit kartesischen Koordinaten
und der Orientierung des Werkzeugs nicht eindeutig bestimmt. Je nachdem, um welche
Kinematik es sich handelt, existieren bis zu 8 unterschiedliche bzw. unterscheidende
Gelenkstellungen. Diese sind damit transformationsspezifisch. Um eine kartesische Position
eindeutig in die Achswinkel umrechnen zu können, muss die Stellung der Gelenke mit dem
Befehl STAT= angegeben werden. Der Befehl "STAT" enthält als Binärwert für jede der
möglichen Stellungen ein Bit.
Die Stellungsbits, welche bei "STAT" zu programmieren sind, siehe:
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformation (M1),
Kapitel "Kartesisches PTP-Fahren".
Programmierung der Achswinkel (TU=)
Um Achswinkel < ±360 Grad eindeutig anfahren zu können, muss diese Information mit dem
Befehl "TU= " programmiert werden.
Arbeitsvorbereitung
7-68 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.9 Kartesisches PTP-Fahren
$QIDQJVSRVLWLRQ
QHJDWLYH
SRVLWLYH 5LFKWXQJ
5LFKWXQJ
=LHOSRVLWLRQ
Weiteres Verhalten
Betriebsartenwechsel
Die Funktion "Kartesisches PTP-Fahren" ist nur in den Betriebsarten AUTO und MDA
sinnvoll. Beim Wechsel der Betriebsart nach JOG bleibt die aktuelle Einstellung erhalten.
Wenn der G-Code PTP eingestellt ist, werden die Achsen im MKS verfahren. Wenn der G-
Code CP eingestellt ist, werden die Achsen im WKS verfahren.
Power On/RESET
Nach Power On oder nach RESET ist die Einstellung abhängig vom Maschinendatum
$MC_GCODE_REST_VALUES[48]. Standardmäßig ist die Verfahrart "CP" eingestellt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-69
Transformationen
7.9 Kartesisches PTP-Fahren
REPOS
War während des Unterbrechungssatzes die Funktion "Kartesisches PTP-Fahren"
eingestellt, wird auch mit PTP rückpositioniert.
Überlagerte Bewegungen
DRF-Verschiebung oder externe Nullpunktverschiebung sind beim kartesischen PTP-Fahren
nur eingeschränkt möglich. Beim Wechsel von einer PTP- nach einer CP-Bewegung dürfen
keine Überlagerungen im BKS vorhanden sind.
Überschleifen zwischen CP- und PTP-Bewegungen
Zwischen den Sätzen ist mit G641 ein programmierbares Übergangsverschleifen möglich.
Die Größe des Verschleifbereiches ist der Bahnweg in mm oder Inch, ab dem bzw. zu dem
der Satzübergang verschliffen wird. Die Größe ist wie folgt anzugeben:
● für G0-Sätze mit ADISPOS
● für alle anderen Wegbefehle mit ADIS
Die Bahnwegberechnung entspricht der Berücksichtigung der F-Adressen bei Nicht-G0-
Sätzen. Der Vorschub wird auf die in FGROUP(...) angegebenen Achsen eingehalten.
Vorschubberechnung
Für CP-Sätze werden die kartesischen Achsen des Basiskoordinatensystems zur
Berechnung verwendet.
Für PTP-Sätze werden die entsprechenden Achsen des Maschinenkoordinatensystems zur
Berechnung verwendet.
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.
Das Teileprogramm wird weiterhin im kartesischen Werkstückkoordinatensystem
geschrieben und alle Koordinatenverschiebungen, Drehungen und Frameprogrammierungen
bleiben gültig. Die Simulation auf HMI, wird ebenfalls im kartesischen
Werkstückkoordinatensystem angezeigt.
Programmierung
N... TRANSMIT
N... PTPG0
N... G0 ...
...
N... G1 ...
Arbeitsvorbereitung
7-70 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.9 Kartesisches PTP-Fahren
Parameter
\
373
&3 1*;<
1;<
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-71
Transformationen
7.9 Kartesisches PTP-Fahren
PTP
30
CP
N070 X20 Y2 20
10 N060 X0 Y0
-10
-20
Beschreibung
PTP und PTPG0
PTPG0 wird bei allen Transformationen berücksichtigt, die PTP abarbeiten können. In allen
anderen Fällen ist PTPG0 nicht relevant.
G0-Sätze werden im CP-Mode abgefahren.
Die Anwahl von PTP bzw. PTPG0 erfolgt im Teileprogramm oder durch die Abwahl von
CP im Maschinendatum $MC_GCODE_RESET_VALUES[48].
Arbeitsvorbereitung
7-72 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.9 Kartesisches PTP-Fahren
Vorsicht
Randbedingungen
Hinsichtlich der Werkzeugbewegungen und Kollision gelten mehrere Randbedingungen und
bestimmte Funktionsausschlüsse wie:
Mit PTP darf keine Werkzeugradiuskorrektur (WRK) aktiv sein.
Mit PTPG0 wird bei aktiver Werkzeugradiuskorrektur (WRK) per CP gefahren.
Mit PTP ist Weiches An- und Abfahren (WAB) nicht möglich.
Mit PTPG0 wird bei Weichem An- und Abfahren (WAB) per CP gefahren.
Mit PTP sind Abspanzyklen (CONTPRON, CONTDCON) nicht möglich.
Mit PTPG0 wird in Abspanzyklen (CONTPRON, CONTDCON) per CP gefahren.
Fase (CHF, CHR) und Rundung (RND, RNDM) werden ignoriert.
Kompressor ist nicht verträglich mit PTP und wird automatisch in PTP-Sätzen abgewählt.
Eine Achsüberlagerung in der Interpolation darf sich während des PTP-Abschnittes nicht
ändern.
Bei G643 wird automatisch nach Überschleifen mit axialer Genauigkeit G642
umgeschaltet.
Bei aktivem PTP können Achsen der Transformation nicht gleichzeitig Positionierachsen
sein.
Literatur:
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Kinematische Transformation (M1),
Kapitel "Kartesisches PTP-Fahren"
PTP bei TRACON:
PTP kann auch mit TRACON genutzt werden, wenn die erste verkettete Transformation
PTP unterstützt.
Bedeutung von STAT= und TU= bei TRANSMIT
Soll die Rundachse um 180 Grad drehen, bzw. die Kontur bei CP durch den Pol führen,
können Rundachsen abhängig vom Maschinendatum
$MC_TRANSMIT_POLE_SIDE_FIX_1/2 [48] um -/+ 180 Grad gedreht und im oder
gegen den Uhrzeigersinn verfahren werden. Ebenso kann eingestellt werden, ob durch den
Pol gefahren wird, oder um den Pol gedreht wird.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-73
Transformationen
7.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.
● Werkzeugfeinkorrektur muss abgewählt sein (FTOCOF); wenn nicht, erscheint eine
Meldung.
● Werkzeugradiuskorrektur muss abgewählt sein (G40); wenn nicht, erscheint eine
Meldung.
● Eine aktivierte Werkzeuglängenkorrektur wird von der Steuerung in die Transformation
übernommen.
● Der vor der Transformation wirksame aktuelle Frame wird von der Steuerung abgewählt.
● Eine aktive Arbeitsfeldbegrenzung wird für die von der Transformation betroffenen
Achsen von der Steuerung abgewählt (entspricht WALIMOF).
● Schutzbereichsüberwachung wird abgewählt.
● Bahnsteuerbetrieb und Überschleifen werden unterbrochen.
● Alle in dem Maschinendatum angegebenen Achsen müssen satzbezogen synchronisiert
sein.
● Getauschte Achsen werden zurückgetauscht; wenn nicht, erscheint eine Meldung.
● Bei abhängigen Achsen wird eine Meldung ausgegeben.
Werkzeugwechsel
Ein Werkzeugwechsel ist nur bei abgewählter Werkzeugradiuskorrektur zulässig.
Ein Wechsel der Werkzeuglängenkorrektur und eine An-/Abwahl der
Werkzeugradiuskorrektur darf nicht im selben Satz programmiert sein.
Framewechsel
Alle Anweisungen, die sich nur auf das Basis-Koordinatensystem beziehen, sind erlaubt
(FRAME, Werkzeugradiuskorrektur). Ein Framewechsel bei G91 (Kettenmaß) wird aber –
anders als bei inaktiver Transformation – nicht gesondert behandelt. Das zu fahrende
Inkrement wird im Werkstück-Koordinatensystem des neuen Frames ausgewertet –
unabhängig davon, welches Frame im Vorgängersatz wirkte.
Ausschlüsse
Von der Transformation betroffene Achsen können nicht verwendet werden:
● als Preset-Achse (Alarm),
● für das Fixpunktanfahren (Alarm),
● zum Referieren (Alarm).
Arbeitsvorbereitung
7-74 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.11 Transformation abwählen (TRAFOOF)
Funktion
Mit dem Befehl TRAFOOF werden alle aktiven Transformationen und Frames ausgeschaltet.
Hinweis
Danach benötigte Frames müssen durch erneute Programmierung aktiv geschaltet werden.
Dabei ist zu beachten:
Für die Abwahl der Transformation gelten dieselben Randbedingungen wie für die Anwahl
(siehe Kapitel "Randbedingungen bei der Anwahl einer Transformation").
Programmierung
TRAFOOF
Parameter
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.
Die Kette darf zwei Transformationen umfassen.
Hinweis
Ein Werkzeug wird immer der ersten Transformation einer Kette zugeordnet. Die
nachfolgende Transformation verhält sich dann so, als ob die aktive Werkzeuglänge Null
wäre. Es sind nur die über Maschinendaten eingestellten Basislängen eines Werkzeuges
(_BASE_TOOL_) für die erste Transformation der Kette wirksam.
Maschinenhersteller
Beachten Sie die Hinweise des Maschinenherstellers zu ggf. durch Maschinendaten
vordefinierten Transformationen.
Transformationen und verkettete Transformationen sind Optionen. Über die Verfügbarkeit
bestimmter Transformationen in der Kette in bestimmten Steuerungen gibt jeweils der
aktuelle Katalog Auskunft.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-75
Transformationen
7.12 Verkettete Transformationen (TRACON, TRAFOOF)
Anwendungen
● Schleifen von Konturen, die als Mantellinie einer Zylinderabwicklung programmiert
wurden (TRACYL) mit einer schräg stehenden Schleifscheibe z. B. Werkzeugschleifen.
● Feinbearbeitung einer mit TRANSMIT erzeugten nicht runden Kontur mit schräg
stehender Schleifscheibe.
Programmierung
Parameter
Voraussetzung
Die zweite Transformation muss "Schräge Achse" (TRAANG) sein. Als erste Transformation
sind möglich:
● Orientierungstransformationen (TRAORI), einschließlich Kardanischer Fräskopf
● TRANSMIT
● TRACYL
● TRAANG
Für die Benutzung des Einschaltbefehles für eine verkettete Transformation ist
Voraussetzung, dass die einzelnen zu verkettenden Transformationen und die zu
aktivierende verkettete Transformation durch Maschinendaten definiert sind.
Arbeitsvorbereitung
7-76 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.13 Umschaltbare Geometrieachsen (GEOAX)
Funktion
Mit der Funktion "Umschaltbare Geometrieachsen" lässt sich der über Maschinendatum
konfigurierte Geometrieachsverbund vom Teileprogramm aus verändern. Dabei kann eine
als synchrone Zusatzachse definierte Kanalachse eine beliebige Geometrieachse ersetzen.
Programmierung
GEOAX(n,Kanalachse,n,Kanalachse,…)
oder
GEOAX()
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-77
Transformationen
7.13 Umschaltbare Geometrieachsen (GEOAX)
=
=
<
;
<
=
;
Nach dem Einschalten ist die Verbindung X1, Y1, Z1 wirksam (einstellbar über MD).
Arbeitsvorbereitung
7-78 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Transformationen
7.13 Umschaltbare Geometrieachsen (GEOAX)
N110 G1 X10 Y10 Z10 XX=25 ;Kanalachsen U, V, W fahren jeweils auf die Position 10, XX als
;Zusatzachse fährt auf Position 25.
N120 GEOAX(0,V) ;V wird aus Geometrieachsverband herausgenommen. U und W sind
;weiterhin erste (X) und dritte Geometrieachse (Z). Die zweite
;Geometrieachse (Y) bleibt unbelegt.
N130 GEOAX(1,U,2,V,3,W) ;Kanalachse U bleibt erste (X), V wird zur zweiten (Y), W bleibt dritte
;Geometrieachse (Z).
N140 GEOAX(3,V) ;V wird zur dritten Geometrieachse (Z), wobei W überschrieben und
;damit aus dem Geometrieachsverbund herausgenommen wird. Die
;zweite Geometrieachse (Y) ist nach wie vor unbelegt.
Beschreibung
Die Geometrieachsnummer
Im Befehl GEOAX(n,Kanalachse...) bezeichnet die Nummer n die Geometrieachse,
der die nachfolgend angegebene Kanalachse zugeordnet werden soll.
Zum Einwechseln einer Kanalachse sind die Geometrieachsnummern 1 bis 3 (X-, Y-, Z-
Achse) zulässig.
Mit n = 0 wird eine zugewiesene Kanalachse ohne Neubelegung der Geometrieachse aus
dem Geometrieachsverbund entfernt.
Eine durch die Umschaltung im Geometrieachsverbund ersetzte Achse ist nach dem
Umschaltvorgang über ihren Kanalachsnamen als Zusatzachse programmierbar.
Mit dem Umschalten der Geometrieachsen werden alle Frames, Schutzbereiche und
Arbeitsfeldbegrenzungen gelöscht.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 7-79
Transformationen
7.13 Umschaltbare Geometrieachsen (GEOAX)
Polarkoordinaten
Ein Tausch der Geometrieachsen mit GEOAX setzt analog einem Ebenenwechsel (G17-
G19) die modalen Polarkoordinaten auf den Wert 0.
DRF, NPV
Eine eventuelle Handrad-Verschiebung (DRF) oder eine externe Nullpunktverschiebung
bleibt nach der Umschaltung wirksam.
Achspositionen tauschen
Durch Neuzuweisung der Achsnummern zu den bereits zugeordneten Kanalachsen ist auch
ein Positionswechsel innerhalb des Geometrieachsverbunds möglich.
N... GEOAX (1, XX, 2, YY, 3, ZZ) ;Kanalachse XX ist erste, YY zweite
N... GEOAX (1, U, 2, V, 3, W) ;und ZZ dritte Geometrieachse,
;Kanalachse U ist erste, V zweite
;und W dritte Geometrieachse.
Umschaltung deaktivieren
Der Befehl GEOAX() ruft die Grundkonfiguration des Geometrieachsverbunds auf.
Nach POWER ON und bei Umschalten in die Betriebsart Referenzpunktfahrt wird
automatisch auf die Grundkonfiguration zurückgeschaltet.
Umschaltvorgang und Werkzeuglängenkorrektur
Eine aktive Werkzeuglängenkorrektur ist auch nach dem Umschaltvorgang wirksam. Sie gilt
jedoch für die neu aufgenommenen bzw. positionsgetauschten Geometrieachsen als noch
nicht herausgefahren. Beim ersten Bewegungsbefehl für diese Geometrieachsen besteht der
resultierende Verfahrweg dementsprechend aus der Summe von Werkzeuglängenkorrektur
und programmiertem Verfahrweg.
Geometrieachsen, die bei einer Umschaltung ihre Position im Achsverband beibehalten,
behalten auch ihren Status bezüglich der Werkzeuglängenkorrektur.
Geometrieachskonfiguration und Transformationswechsel
Die in einer aktiven Transformation geltende Geometrieachskonfiguration (festgelegt über
Maschinendatum) ist über die Funktion "Umschaltbare Geometrieachsen" nicht veränderbar.
Besteht die Notwendigkeit, im Zusammenhang mit Transformationen die
Geometrieachskonfiguration zu ändern, so ist dies nur über eine weitere Transformation
möglich.
Eine über GEOAX veränderte Geometrieachskonfiguration wird durch Aktivierung einer
Transformation gelöscht.
Widersprechen sich Einstellungen der Maschinendaten für die Transformation und für die
Umschaltung von Geometrieachsen, so haben die Einstellungen in der Transformation
Vorrang.
Beispiel:
Eine Transformation sei aktiv. Laut Maschinendaten soll die Transformation bei einem
RESET erhalten bleiben, gleichzeitig soll bei einem RESET jedoch die Grundkonfiguration
der Geometrieachsen hergestellt werden. In diesem Fall bleibt die
Geometrieachskonfiguration, wie sie mit der Transformation festgelegt wurde, erhalten.
Arbeitsvorbereitung
7-80 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen 8
8.1 8.1 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. In diesem Fall werden die D-Nummern mit den zugehörigen
Werkzeugkorrektursätzen ohne Zuordnung zu Werkzeugen angelegt.
Im Teileprogramm kann weiterhin T programmiert werden. Dieses T hat aber keinen Bezug
zur programmierten D-Nummer.
Maschinenhersteller
Über Maschinendatum können Anwender-Schneidendaten konfiguriert werden. Bitte
beachten Sie die Angaben des Maschinenherstellers.
Parameter
Hinweis
Einzelne Werte im Korrekturspeicher
Die einzelnen Werte des Korrekturspeichers P1 bis P25 sind über Systemvariable
vom Programm les- und schreibbar. Alle übrigen Parameter sind reserviert.
Die Werkzeugparameter
$TC_DP6 bis $TC_DP8, $TC_DP10 und $TC_DP11 sowie $TC_DP15 bis $TC_DP17,
$TC_DP19 und $TC_DP20 haben abhängig vom Werkzeugtyp eine andere Bedeutung.
1Giltauch bei Fräswerkzeugen für das 3D-Stirnfräsen
2Bei Nutsäge Werkzeugtyp
3reserviert: Wird von SINUMERIK 840/810D nicht benutzt
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-1
Werkzeugkorrekturen
8.1 Korrekturspeicher
Anmerkungen
Für die geometrischen Größen (z. B. Länge 1 oder Radius) bestehen mehrere
Eintragskomponenten. Diese werden zu einer resultierenden Größe additiv verrechnet
(z. B. Gesamtlänge 1, Gesamtradius), die dann zur Wirkung kommt.
Nicht benötigte Korrekturen sind mit dem Wert Null zu belegen.
Arbeitsvorbereitung
8-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.1 Korrekturspeicher
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-3
Werkzeugkorrekturen
8.2 Sprachbefehle zur Werkzeugverwaltung
Funktion
Bei Verwendung der Werkzeugverwaltung können Werkzeugdaten verändert und aktualisiert
werden.
Über vordefinierte Funktionen können Sie im NC-Programm:
● Werkzeuge mit Namen anlegen und aufrufen.
● ein neues Werkzeug anlegen oder ein vorhandenes Werkzeug löschen.
● einem Werkzeug mit bekanntem Namen eine notwendige T-Nummer zuordnen.
● Stückzahlüberwachungsdaten aktualisieren.
● die T-Nummer des für die Spindel vorgewählten Werkzeugs lesen.
Programmierung
T="BOHRER" oder T="123" Werkzeuge mit Namen
oder
Rückgabeparameter=NEWT("WZ", DUPLO_NR)
oder
DELT("WZ", DUPLO_NR)
oder
Rückgabeparameter=GETT("WZ", DUPLO_NR)
oder
SETPIECE(x,y)
oder
GETSELT (x)
Parameter
Arbeitsvorbereitung
8-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.2 Sprachbefehle zur Werkzeugverwaltung
Beispiel NEWT-Funktion
Mit der NEWT-Funktion kann im NC-Programm ein neues Werkzeug mit Namen angelegt
werden. Die Funktion liefert als Rückgabeparameter die automatisch erzeugte T-Nummer,
mit der das Werkzeug anschließend adressiert werden kann.
Erfolgt keine Angabe der Duplonummer, wird diese in der Werkzeugverwaltung erzeugt.
Beispiel DELT-Funktion
Mit der DELT-Funktion kann ohne Bezugnahme auf eine T-Nummer ein Werkzeug gelöscht
werden.
Beispiel GETT-Funktion
Die GETT-Funktion liefert zu einem Werkzeug, das nur über den Namen bekannt ist, die zum
Setzen der Werkzeugdaten notwendige T-Nummer.
Gibt es mehrere Werkzeuge mit dem angegebenen Bezeichner, so wird die T-Nummer des
erstmöglichen dieser Werkzeuge zurückgegeben.
Rückgabe = –1: Der Werkzeug-Bezeichnung bzw. der Duplonummer kann kein Werkzeug
zugeordnet werden.
T="BOHRER"
R10=GETT("BOHRER", DUPLO_NR) ;Ermittle T-Nummer für BOHRER mit
;Duplonummer = DUPLO_NR
Der "BOHRER" muss vorher mit NEWT oder $TC_TP1[ ] bekannt gemacht werden.
Beispiel SETPIECE-Funktion
Diese Funktion dient der Aktualisierung der Stückzahlüberwachungsdaten. Die Funktion
erfasst alle Werkzeugschneiden, die seit der letzten Aktivierung von SETPIECE auf der
genannten Spindelnummer eingewechselt wurden.
SETPIECE(x,y)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-5
Werkzeugkorrekturen
8.2 Sprachbefehle zur Werkzeugverwaltung
Beispiel GETSELT-Funktion
Die Funktion liefert die T-Nummer des für die Spindel vorgewählten Werkzeugs. Damit kann
schon vor M6 auf die Korrekturdaten des Werkzeugs zugegriffen und die Synchronisation mit
dem Hauptlauf schon etwas früher hergestellt werden.
T1 M6 ;Werkzeug 1 einwechseln
D1 ;Anwahl Werkzeuglängenkorrektur
G1 X10 … ;Arbeiten mit T1
T="BOHRER" ;Werkzeugvorwahl Bohrer
D2 Y20 … ;Schneidenwechsel T1
X10 … ;Arbeiten mit T1
M6 ;Werkzeug Bohrer einwechseln
SETPIECE(4) ;Anzahl der gefertigten Werkstücke
D1 G1 X10 … ;Arbeiten mit Bohrer
Hinweis
Die vollständige Liste aller Variablen zur Werkzeugverwaltung finden Sie in:
Literatur:
/PGA1/ Listenhandbuch Systemvariablen
Arbeitsvorbereitung
8-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.3 Online -Werkzeugkorrektur (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF)
Funktion
Mit der Funktion werden Werkzeugkorrekturen, die sich aus der Bearbeitung ergeben, über
eine online wirksame Werkzeuglängenkorrektur sofort eingerechnet (z. B. CD-Abrichten: die
Schleifscheibe wird parallel zur Bearbeitung abgerichtet). Die Werkzeuglängenkorrektur
kann aus dem Bearbeitungskanal oder einem parallelen Kanal (Abrichterkanal) verändert
werden.
$EULFKWUROOH
$EULFKWEHWUDJ 6FKOHLIVFKHLEH
/¦QJH
:HUNVW¾FN
Hinweis
Die Online-WZK kann nur bei Schleifwerkzeugen angewendet werden.
Programmierung
FCTDEF(Polynom-Nr., LLimit, ULimit,a0,a1,a2,a3)
oder
PUTFTOCF (Polynom-Nr., Bezugswert, Länge1_2_3, Kanal, Spindel)
oder
PUTFTOC (Wert, Länge1_2_3, Kanal, Spindel)
oder
FTOCON
oder
FTOCOF
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-7
Werkzeugkorrekturen
8.3 Online -Werkzeugkorrektur (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF)
Parameter
Beispiel
Bei einer Flachschleifmaschine mit nachfolgenden Festlegungen soll nach Beginn der
Schleifbewegung bei X100 die Schleifscheibe um den Betrag 0.05 abgerichtet werden. Der
Abrichtbetrag soll mit Online-WZK schreiben kontinuierlich beim Schleifwerkzeug wirksam
werden.
Y: Zustellachse für die Schleifscheibe
V: Zustellachse für die Abrichtrolle
Bearbeiten: Kanal 1 mit den Achsen X, Z, Y
Abrichten: Kanal 2 mit Achse V
Arbeitsvorbereitung
8-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.3 Online -Werkzeugkorrektur (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF)
<
$EULFKWUROOH
6FKOHLIVFKHLEH
:HUNVW¾FN
;
Bearbeitungsprogramm in Kanal 1:
%_N_BEARB_MPF
…
N110 G1 G18 F10 G90 ;Grundstellung
N120 T1 D1 ;Aktuelles Werkzeug anwählen
N130 S100 M3 X100 ;Spindel ein, Fahren auf Ausgangsposition
N140 INIT (2, "ABRICHT", "S") ;Anwahl des Abrichtprogramms in Kanal 2
N150 START (2) ;Starten des Abrichtprogramms in Kanal 2
N160 X200 ;Fahren auf Zielposition
N170 FTOCON ;Online-Korrektur einschalten
N… G1 X100 ;Weitere Bearbeitung
N…M30
Abrichtprogramm in Kanal 2:
%_N_ABRICHT_MPF
…
N40 FCTDEF (1, –1000, 1000, –$AA_IW[V], ;Funktion definieren: Gerade
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.
N60 V–0.05 G1 F0.01 G91 ;Zustellbewegung zum Abrichten, nur in
;diesem Satz ist PUTFTOCF wirksam
…
N… M30
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-9
Werkzeugkorrekturen
8.3 Online -Werkzeugkorrektur (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF)
Abrichtprogramm modal:
%_N_ABRICHT_MPF
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.
WAITM(1,1,2) ;Synchronisation mit Bearbeitungskanal
G1 V-0.05 F0.01, G91 ;Zustellbewegung zum Abrichten
G1 V-0.05 F0.02
...
CANCEL(1) ;Online-Korrektur abwählen
...
Beschreibung
Allgemeines zur Online-WZK
Je nach Zeitpunkt des Abrichtvorgangs werden zum Schreiben der Online-WZK
unterschiedliche Funktionen verwendet:
● Schreiben kontinuierlich satzweise: PUTFTOCF
● Schreiben kontinuierlich modal: ID=1 DO FTOC (siehe Kapitel Synchronaktionen)
● Schreiben diskret: PUTFTOC
Beim kontinuierlichen Schreiben (je IPO-Takt) wird nach dem Einschalten der
Auswertefunktion jede Änderung additiv im Verschleißspeicher, um Sollwertsprünge zu
vermeiden, verrechnet. In jedem Fall gilt: Die Online-WZK kann in jedem Kanal für jede
Spindel und die Länge 1, 2 oder 3 der Verschleißparameter wirken.
Die Zuordnung der Längen zu den Geometrieachsen erfolgt anhand der aktuellen Ebene.
Die Zuordnung der Spindel zum Werkzeug erfolgt durch die Werkzeugdaten bei GWPSON
bzw. TMON, sofern es sich nicht um die aktive Schleifscheibe handelt (siehe
Programmierhandbuch "Grundlagen"). Korrigiert wird immer der Verschleißparameter für die
aktuelle Scheibenseite bzw. die linke Scheibenseite bei nicht aktiven Werkzeugen.
Hinweis
Bei identischer Korrektur für mehrere Scheibenseiten ist über Verkettungsvorschrift
(Beschreibung siehe Bedienung) dafür zu sorgen, dass die Werte automatisch für die zweite
Scheibenseite übernommen werden.
Werden für einen Bearbeitungskanal Online-Korrekturen vorgegeben, so dürfen Sie die
Verschleißwerte für das aktuelle Werkzeug in diesem Kanal nicht aus dem
Bearbeitungsprogramm oder über Bedienung ändern.
Die Online-WZK wird auch für die konstante Scheibenumfangsgeschwindigkeit (SUG) sowie
Werkzeugüberwachung TMON berücksichtigt.
Arbeitsvorbereitung
8-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.3 Online -Werkzeugkorrektur (PUTFTOCF, PUTFTOC, FTOCON, FTOCOF)
<
D
D
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-11
Werkzeugkorrekturen
8.4 Werkzeugradiuskorrektur konstant halten (CUTCONON)
Funktion
Die Funktion "Werkzeugradiuskorrektur konstant halten" dient dazu, die
Werkzeugradiuskorrektur für eine Anzahl von Sätzen zu unterdrücken, wobei jedoch eine
durch die Werkzeugradiuskorrektur in vorher-gehenden Sätzen aufgebaute Differenz
zwischen der programmierten und der tatsächlich abgefahrenen Bahn des
Werkzeugmittelpunktes als Verschiebung beibehalten wird. Sie kann z. B. dann vorteilhaft
eingesetzt werden, wenn beim Zeilenfräsen in den Umkehrpunkten mehrere Verfahrsätze
notwendig sind, die von der Werkzeugradiuskorrektur erzeugten Konturen
(Umfahrungsstrategien) jedoch nicht erwünscht sind. Sie ist unabhängig von der Art der
Werkzeugradiuskorrektur (21/2D, 3D-Stirnfräsen, 3D-Umfangsfäsen) einsetzbar.
Programmierung
CUTCONON
CUTCONOF
Parameter
Beispiel
Arbeitsvorbereitung
8-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.4 Werkzeugradiuskorrektur konstant halten (CUTCONON)
<
.RQWXURKQH:5.
1
1
1
.RQWXUPLW:5. 1
1
1
1 1 ;
Beschreibung
Im Normalfall ist vor der Aktivierung der Korrekturunterdrückung die
Werkzeugradiuskorrektur bereits aktiv, und sie ist noch aktiv, wenn die
Korrekturunterdrückung wieder deaktiviert wird. Im letzen Verfahrsatz vor CUTCONON wird
auf den Offsetpunkt im Satzendpunkt gefahren. Alle folgenden Sätze, in denen die
Korrekturunterdrückung aktiv ist, werden ohne Korrektur verfahren. Sie werden dabei jedoch
um den Vektor vom Endpunkt des letzten Korrektursatzes zu dessen Offsetpunkt
verschoben. Der Interpolationstyp dieser Sätze (linear, zirkular, polynomisch) ist beliebig.
Der Deaktivierungssatz der Korrekturunterdrückung, d. h. der Satz, der CUTCONOF enthält,
wird normal korrigiert; er beginnt im Offsetpunkt des Startpunktes. Zwischen dem Endpunkt
des Vorgängersatzes, d. h. des letzten programmierten Verfahrsatzes mit aktivem
CUTCONON, und diesem Punkt wird ein linearer Satz eingefügt.
Kreissätze, bei denen die Kreisebene senkrecht auf der Korrekturebene steht (vertikale
Kreise), werden so behandelt, als ob in ihnen CUTCONON programmiert wäre. Diese
implizite Aktivierung der Korrekturunterdrückung wird im ersten Verfahrsatz, der eine
Verfahrbewegung in der Korrekturebene enthält und der kein derartiger Kreis ist,
automatisch rückgängig gemacht. Vertikale Kreise in diesem Sinne können nur beim
Umfangsfräsen auftreten.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-13
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
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. Mit G41/G42 wird die Korrektur links/rechts in
Bewegungsrichtung angegeben. Das Anfahrverhalten ist immer NORM. Die 3D-
Werkzeugradiuskorrektur wirkt nur bei angewählter 5-Achs-Transformation.
Die 3D-Werkzeugradiuskorrektur wird auch als 5D-Korrektur bezeichnet, da in diesem Fall 5
Freiheitsgrade für die Lage des Werkzeugs im Raum zur Verfügung stehen.
:HUNVW¾FN
NRQWXU
%DKQGHV
:HUN]HXJPLWWHOSXQNWHVLP
JOHLFKHQ$EVWDQG
]XU.RQWXUTXLVWDQWHQ
,6' / 5
Programmierung
CUT3DC
oder
CUT3DFS
oder
Arbeitsvorbereitung
8-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
CUT3DFF
oder
CUT3DF
Die Befehle sind modal wirksam und stehen in der gleichen Gruppe wie CUT2D und
CUT2DF. Die Abwahl findet erst mit der nächsten Bewegung in der aktuellen Ebene statt.
Dies gilt immer für G40 und ist unabhängig vom CUT-Befehl.
Zwischensätze bei aktiver 3D-Werkzeugradiuskorrektur sind erlaubt. Es gelten die
Festlegungen der 2 1/2D-Werkzeugradiuskorrektur.
Parameter
Beispiel
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 …
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-15
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Umfangsfräsen
Die hier benutzte Variante des Umfangsfräsens ist durch die Vorgabe einer Bahn (Leitlinie)
und der zugehörigen Orientierung realisiert. Bei dieser Art der Bearbeitung ist auf der Bahn
die Werkzeugform ohne Bedeutung. Entscheidend ist allein der Radius am
Werkzeugeingriffspunkt.
8PIDQJVIU¦VHQ
$
;
<
Hinweis
Die Funktion 3D-WRK beschränkt sich auf zylindrische Werkzeuge.
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. Hierdurch hat der Maschinenbediener die Möglichkeit –
abweichend von dem für die Berechnung der NC-Bahnen verwendeten Werkzeug -,
geringfügig kleinere Werkzeuge einzusetzen.
Arbeitsvorbereitung
8-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Beispiel:
NC-Sätze wurden mit Fräser 10 mm berechnet. Hier könnte auch mit Fräserdurchmesser 9,9
mm gefertigt werden, wobei dann mit verändertem Rauheitsprofil zu rechnen ist.
Funktion
Fräserformen, Werkzeugdaten
In dieser Tabelle sind die für Stirnfräsen möglichen Werkzeugformen und Grenzwerte der
Werkzeugdaten zusammengestellt. Die Form des Werkzeugschaftes wird nicht
berücksichtigt - die Werkzeugtypen 120 und 156 sind in ihrer Wirkung identisch.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-17
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
5 5 5 5
U U
D D D
U
5
5 5
Wird im NC-Programm eine andere Typ-Nummer angegeben, als in der Tabelle aufgelistet,
verwendet das System automatisch den Werkzeugtyp 110 Zylindrischer Gesenkfräser. Bei
Verletzung der Grenzwerte für die Werkzeugdaten wird ein Alarm ausgegeben.
Parameter
Fräsertyp Typ-Nr. R r a
Zylindrische Gesenkfräser 110 >0 X X
Kugelkopffräser 111 >0 >R X
Schaftfräser, Winkelkopffräser 120, 130 >0 X X
Schaftfräser, Winkelkopffräser mit 121, 131 >r >0 X
Eckenverrundung
Kugelstumpffräser 155 >0 X >0
Kugelstumpffräser mit 156 >0 >0 >0
Eckenverrundung
Kegeliger Gesenkfräser 157 >0 X >0
Arbeitsvorbereitung
8-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Werkzeuglängenkorrektur
Als Bezugspunkt für die Längenkorrektur gilt die Werkzeugspitze
(Schnittpunkt Längsachse/Oberfläche).
3D-Werkzeugkorrektur, Werkzeugwechsel
Ein neues Werkzeug mit veränderten Abmessungen (R, r, a) oder anderer Form darf nur mit
Programmierung von G41 bzw. G42 angegeben werden (Übergang G40 nach G41 bzw.
G42, erneute Programmierung von G41 bzw. G42). Alle anderen Werkzeugdaten, z. B.
Werkzeuglängen, bleiben von dieser Regel unberücksichtigt, so dass solche Werkzeuge
auch ohne erneutes G41 bzw. G42 eingewechselt werden können.
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. Die im Bild gezeigte Anwendung kann als
Grenzfall betrachtet werden.
VLQJXO¦UHU3XQNW
Dieser Grenzfall wird von der Steuerung überwacht, indem auf Basis der Winkelanstellungen
zwischen Werkzeug und Flächennormalenvektoren sprunghafte Änderungen des
Bearbeitungspunktes erkannt werden. An diesen Stellen fügt die Steuerung Linearsätze ein,
so dass die Bewegung ausgeführt werden kann.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-19
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Für die Berechnung der Linearsätze sind in Maschinendaten für den Seitwärtswinkel
zulässige Winkelbereiche hinterlegt. Falls die in Maschinendaten festgelegten Grenzwerte
für zugelassene Winkelbereiche überschritten werden, meldet das System Alarm.
Bahnkrümmung
Die Bahnkrümmung wird nicht überwacht. Auch hier empfiehlt es sich, nur solche
Werkzeuge zu verwenden, mit denen ohne Konturverletzung gearbeitet werden kann.
Programmierung
Eintauchtiefe ISD
ISD wird nur bei aktiver 3D-Werkzeugradiuskorrektur ausgewertet.
Mit dem Programmbefehl ISD (Insertion Depth) wird die Eintauchtiefe des Werkzeugs beim
Umfangsfräsen programmiert. Damit ist es möglich, die Lage des Bearbeitungspunktes auf
der Mantelfläche des Werkzeugs zu verändern.
3D-Werkzeugkorrektur Umfangsfräsen
CUT3DC
Parameter
Der Punkt FH entsteht durch Projektion des programmierten Bearbeitungspunktes auf die
Werkzeugachse.
)+
)6
,6'
Arbeitsvorbereitung
8-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Beschreibung
Taschenfräsen mit schrägen Seitenwänden für Umfangsfräsen mit CUT3DC
Bei dieser 3D-Werkzeugradiuskorrektur wird eine Abweichung des Fräserradius
kompensiert, indem in Richtung der Flächennormalen der zu bearbeitenden Fläche
zugestellt wird. Dabei bleibt die Ebene, in der die Stirnseite des Fräsers liegt unverändert,
wenn die Eintauchtiefe ISD gleich geblieben ist. Ein Fräser mit z.B. kleinerem Radius
gegenüber einem Normwerkzeug würde dann den Taschenboden, der auch die
Begrenzungsfläche darstellt, nicht erreicht werden. Für eine automatische Zustellung des
Werkzeugs muss der Steuerung diese Begrenzungsfläche bekannt sein, siehe Kapitel "3D-
Umfangsfräsen mit Begrenzungsflächen".
Weitere Informationen zur Kollisionsüberwachung siehe
Literatur: /PG/ Programmierhandbuch Grundlagen, Kapitel "Werkzeugkorrekturen".
Funktion
Innenecken/Außenecken
Außen- und Innenecken werden getrennt behandelt. Die Bezeichnung Innen- oder
Außenecke ist abhängig von der Werkzeugorientierung.
Bei Orientierungsänderungen an einer Ecke kann der Fall auftreten, dass sich der Eckentyp
während der Bearbeitung ändert. Tritt dieser Fall auf, wird die Bearbeitung mit einer
Fehlermeldung abgebrochen.
%HDUEHLWXQJVULFKWXQJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-21
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Programmierung
G450
oder
G451
Parameter
Beschreibung
Schnittpunktverfahren für 3D-Korrektur
Bei 3D-Umfangsfräsen wird jetzt an Außenecken der G-Code G450/G451 ausgewertet, d.
h. es kann der Schnittpunkt der Offset-Kurven angefahren werden. Bis SW 4 wurde an
Außenecken immer ein Kreis eingefügt. Das verfügbare Schnittpunktverfahren ist bei
typischen CAD-erzeugten 3D-Programmen besonders vorteilhaft. Diese bestehen häufig aus
kurzen Geradensätzen (zur Approximation glatter Kurven), bei denen die Übergänge
zwischen benachbarten Sätzen nahezu tangential sind.
Bei Werkzeugradiuskorrektur an der Außenseite der Kontur wurden bislang grundsätzlich
Kreise zum Umfahren der Außenecken eingefügt. Da diese Sätze bei nahezu tangentialen
Übergängen sehr kurz werden, ergeben sich unerwünschte Geschwindigkeitseinbrüche.
In diesen Fällen werden analog zur 2 ½ D-Radiuskorrektur die beiden beteiligen Kurven
verlängert, der Schnittpunkt der beiden verlängerten Kurven wird angefahren.
Der Schnittpunkt wird bestimmt, indem die Offsetkurven der beiden beteiligten Sätze
verlängert werden und deren Schnittpunkt in der Ebene senkrecht zur Werkzeugorientierung
an der Ecke bestimmt wird. Existiert kein derartiger Schnittpunkt, wird die Ecke wie bisher
behandelt, d. h. es wird ein Kreis eingefügt.
Literatur:
Weitere Informationen zum Schnittpunktverfahren /FB/ W5, 3D-Werkzeugradiuskorrektur.
Arbeitsvorbereitung
8-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Funktion
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.
Wichtige Informationen, die für eine optimale Korrektur erforderlich wären, aber im
Teilprogramm nicht mehr zur Verfügung stehen, müssen durch geeignete Maßnahmen
ersetzt werden. Nachfolgend werden typische Methoden dargestellt, um kritische Übergänge
entweder
● direkt im Teileprogramm oder
● bei Ermittlung der realen Kontur z. B. durch Zustellung des Werkzeugs
auszugleichen.
Anwendungen
Zusätzlich zu den typischen Anwendungsfall, bei denen anstelle des Normwerkzeugs ein
reales Werkzeug die Mittelpunktsbahn beschreibt, werden auch zylindrische Werkzeuge mit
3D-Werkzeugkorrektur behandelt. Hierbei bezieht sich die programmierte Bahn auf die
Kontur an der Bearbeitungsfläche. Die hierfür zutreffende Begrenzungsfläche ist
werkzeugunbhängig. Es wird wie bei der herkömmlichen Werkzeugradiuskorrektur der
Gesamtradius zur Berechnung des senkrechen Offsets zur Begrenzungsfläche
herangezogen.
Funktion
3D-Umfangsfräsen mit realen Werkzeugen
Beim 3D-Umfangsfräsen mit kontinuierlicher oder konstanter Veränderung der
Werkzeugorientierung wird häufig die Werkzeugmittelpunktsbahn für ein definiertes
Normwerkzeug programmiert. Da in der Praxis oft nicht die passenden Normwerkzeuge zur
Verfügung stehen, kann ein von einem Normwerkzeug nicht allzu stark abweichendes
Werkzeug eingesetzt werden.
Mit CUT3DCCD wird für ein reales Differenzwerkzeug eine Begrenzungsfläche berücksichtigt,
die das programmierte Normwerkzeug beschreiben würde. Das NC-Programm beschreibt
die Mittelpunksbahn des Normwerkzeuges.
Mit CUT3DCC wird bei Verwendung von zylindrischen Werkzeugen eine Begrenzungsfläche
berücksichtigt, die das programmierte Normwerkzeug erreicht hätte. Das NC-Programm
beschreibt die Kontur auf der Bearbeitungsfläche.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-23
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Programmierung
CUT3DCCD
oder
CUT3DCC
Parameter
Hinweis
Werkzugradiuskorrektur mit G41, G42
Für die Werkzeugradiuskorrektur mit G41, G42 bei aktivem CUT3DCCD oder CUT3DCC muss
die Option "Orientierungstransformation" vorhanden sein.
Normwerkzeuge mit Eckenverrundung
Die Eckenverrundung des Normwerkzeuges wird durch den Werkzeugparameter $TC_DP7
beschrieben. Aus den Werkzeugparameter $TC_DP16 ergibt sich die Abweichung der
Eckenverrundung des realen Werkzeuges gegenüber dem Normwerkzeug.
Beispiel
Werkzeugabmessungen für einen Torusfräser mit verringertem Radius gegenüber dem
Normwerkzeug.
Arbeitsvorbereitung
8-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
Beschreibung
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. Es handelt sich dabei um eine gemischte Bearbeitungsweise aus
Umfangs- und Stirnfräsen. Analog zu einem Werkzeug mit verringertem Radius, wird beim
Werkzeug mit vergrößerten Radius, in die gegengesetzte Richtung entsprechend zugestellt.
KH
1RUPZHUN]HXJ
IO ¦ F
WXQJV
EHL
:HUN]HXJPLWNOHLQHUHP
DU
5DGLXV]XJHVWHOOWELV]XU
%H
%HJUHQ]XQJVIO¦FKH
%HJUHQ]XQJVIO¦FKH
Gegenüber allen anderen Werkzeugkorrekturen der G-Code Gruppe 22 hat ein für
CUT3DCCD angegebener Werkzeugparameter $TC_DP6 keine Bedeutung für den
Werkzeugradius und beeinflusst die resultierende Korrektur nicht.
Der Korrekturoffset ergibt sich aus der Summe von
● Verschleißwert des Werkzeugradius (Werkzeugparameter $TC_DP15)
und einem zur Berechnung des senkrechten Offsets zur Begrenzungsfläche
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-25
Werkzeugkorrekturen
8.5 Aktivierung 3D-Werkzeugkorrekturen (CUT3DC..., CUT3DF...)
%DKQEH]XJVSXQNW
KH
5
IO¦F
QJV
HLWX
DUE
%H
%HJUHQ]XQJVIO¦FKH
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.
Gegenüber dem Normwerkzeug darf das verwendete reale Werkzeug sowohl größer als
auch kleiner sein. Dabei darf der resultierende Eckenradius nicht negativ werden und das
Vorzeichen des resultieren-den Werkzeugradius muss erhalten bleiben.
Bei CUT3DCC bezieht sich das NC-Teileprogramm auf die Kontur an der
Bearbeitungsfläche. Es wird hierbei wie bei der herkömmlichen Werkzeugradienkorrektur der
Gesamtradius, der sich zusammensetzt aus der Summe von
● Werkzeugradius (Werkzeugparameter $TC_DP6)
● Verschleißwert (Werkzeugparameter $TC_DP15)
und einem zur Berechnung des senkrechten Offsets zur Begrenzungsfläche
Arbeitsvorbereitung
8-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
8.6 8.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, 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.
5LFKWXQJV
YHNWRU
<
Mit OSD und OST aktivierte Überschleifbewegungen der Orientierung werden je nach
Interpolationsart für die Werkzeugorientierung unterschiedlich gebildet.
Bei aktiver Vektorinterpolation wird der geglättete Orientierungsverlauf auch mittels
Vektorinterpolation interpoliert. Dagegen wird bei aktiver Rundachsinterpolation die
Orientierung direkt mittels Rundachsbewegungen geglättet.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-27
Werkzeugkorrekturen
8.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Programmierung
Eine Orientierungsänderung des Werkzeugs kann programmiert werden durch:
● direkte Programmierung der Rundachsen A, B, C (Rundachsinterpolation)
● Euler- oder RPY-Winkel
● Richtungsvektor (Vektorinterpolation durch Angabe von A3 oder B3 oder C3)
● LEAD/TILT (Stirnfräsen)
Das Bezugskoordinatensystem ist entweder das Maschinenkoordinatensystem (ORIMKS)
oder das aktuelle Werkstückkoordinatensystem (ORIWKS).
2ULHQWLHUXQJV
¦QGHUXQJ
Parameter
Arbeitsvorbereitung
8-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
Beispiel ORIC
Sind zwischen den Verfahrsätzen N10 und N20 zwei oder mehrere Sätze mit
Orientierungsänderungen (z. B. A2= B2= C2=) programmiert und ORIC ist aktiv, so wird
der eingefügte Kreissatz entsprechend dem Betrag der Winkeländerungen auf diese
Zwischensätze aufgeteilt.
1
1 1
1
ORIC
N8 A2=… B2=… C2=…
N10 X… Y… Z…
N12 C2=… B2=… ;Der Kreissatz, der an der Außenecke eingefügt
N14 C2=… B2=… ;wird, verteilt sich auf N12 und N14,
entsprechend ;der Orientierungsänderung.
Kreisbewegung und ;Orientierungsänderung werden
hierbei parallel ;ausgeführt.
N20 X =…Y=… Z=… G1 F200
Beispiel ORID
Ist ORID aktiv, so werden alle Sätze zwischen den beiden Verfahrsätzen am Ende des
ersten Verfahr-satzes ausgeführt. Der Kreissatz mit konstanter Orientierung wird unmittelbar
vor dem zweiten Verfahr-satz ausgeführt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-29
Werkzeugkorrekturen
8.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
1XQG1DXVI¾KUHQ
1
1
ORID
N8 A2=… B2=… C2=…
N10 X… Y… Z…
N12 A2=… B2=… C2=… ; Der Satz N12 und N14 wird am Ende von N10
;ausgeführt. Danach wird der Kreissatz mit der
;aktuellen Orientierung ausgefahren.
N14 M20 ;Hilfsfunktionen etc.
N20 X… Y… Z…
Hinweis
Für die Art der Orientierungsänderung an einer Außenecke ist der Programmbefehl
maßgebend, welcher im ersten Verfahrsatz einer Außenecke aktiv ist
Ohne Orientierungsänderung: Wird die Orientierung an der Satzgrenze nicht verändert, so
ist der Werkzeugquerschnitt ein Kreis, der die beiden Konturen berührt
Arbeitsvorbereitung
8-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
1
1
1
:5.
ORIC
N10 X …Y… Z… G1 F500
N12 X …Y… Z… A2=… B2=…, C2=…
N15 X Y Z A2 B2 C2
Verhalten an Außenecken
An einer Außenecke wird immer ein Kreissatz mit dem Radius des Fräsers eingefügt.
Mit den Programmbefehlen ORIC bzw. ORID kann festgelegt werden, ob
Orientierungsänderungen, die zwischen Satz N1 und N2 programmiert wurden, vor
Beginn des eingefügten Kreissatzes oder gleichzeitig mit diesem ausgeführt werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-31
Werkzeugkorrekturen
8.6 Werkzeugorientierung (ORIC, ORID, OSOF, OSC, OSS, OSSE, OSD, OST)
=ZLVFKHQGHP6DW]1XQG1
ZLUGHLQ.UHLVVDW]HLQJHI¾JW
1
1
Arbeitsvorbereitung
8-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.7 Freie D-Nummernvergabe, Schneidennummer
Hinweis
Im Unterschied zum Überschleifen der Kontur (und dem Orientierungsverlauf) mit G642 wird
beim Überschleifen der Orientierung mit OSD bzw. OST kein eigener Satz gebildet, sondern
die Überschleifbewegung wird direkt in die programmierten Originalsätze eingefügt.
Mit OSD bzw. OST können keine Satzübergänge überschliffen werden bei denen ein
Wechsel der Interpolationsart für die Werkzeugorientierung (Vektor –> Rundachse,
Rundachse –> Vektor) stattfindet. Diese Satzübergänge können gegebenenfalls mit den
herkömmlichen Überschleiffunktionen G641, G642 bzw. G643 überschliffen werden.
Funktion
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. == Schneidennr.
Literatur:
/FB1/ Funktionshandbuch Grundfunktionen; Werkzeugkorrektur (W1).
Maschinenhersteller
Über Maschinendaten werden die maximale Anzahl der D-Nummern (Schneidennummern)
und die maximale Schneidenanzahl pro Werkzeug festgelegt. Die folgenden Befehle sind
nur sinnvoll, wenn die maximale Schneidennummer (MD 18105) größer als die Anzahl der
Schneiden pro Werkzeug (MD 18106) festgelegt wurde. Beachten Sie die Angaben des
Maschinenherstellers.
Hinweis
Neben der relativen D-Nummernvergabe können die D-Nummern auch als 'flache' bzw.
'absolute' D-Nummern (1-32000) ohne Bezug zu einer T-Nummer vergeben werden
(innerhalb der Funktion 'flache D-Nummernstruktur').
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-33
Werkzeugkorrekturen
8.7 Freie D-Nummernvergabe, Schneidennummer
Funktion
Mit CKKDNO prüfen Sie, ob die vorhandenen D-Nummern eindeutig vergeben worden sind.
Die D-Nummern aller innerhalb einer TO-Einheit definierten Werkzeuge dürfen nur einmal
auftreten. Ersatzwerkzeuge werden dabei nicht berücksichtigt.
Programmierung
state=CHKDNO(Tno1,Tno2,Dno)
Parameter
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. Existiert keine D-Nummer zu den eingegebenen Parametern, wird d=0
gesetzt. Ist die D-Nummer ungültig wird ein Wert größer 32000 zurückgegeben.
SETDNO
Mit diesem Befehl weisen Sie den Wert d der D-Nummer einer Schneide ce des
Werkzeuges t zu. ワber state wird das Ergebnis dieser Anweisung zurückgegeben (TRUE
oder FALSE). Existiert kein Datensatz zu den eingegebenen Parametern wird FALSE
zurückgegeben. Syntaxfehler erzeugen einen Alarm. Die D-Nummer kann nicht explizit auf 0
gesetzt werden.
Arbeitsvorbereitung
8-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.7 Freie D-Nummernvergabe, Schneidennummer
Programmierung
d = GETDNO (t,ce)
state = SETDNO (t,ce,d)
Parameter
Funktion
Mit GETACTTD ermitteln Sie zu einer absoluten D-Nummer die dazugehörige T-Nummer.
Es erfolgt keine Prüfung auf Eindeutigkeit. Gibt es mehrere gleiche D-Num-mern innerhalb
einer TO-Einheit, wird die T-Nummer des ersten gefundenen Werkzeuges zurück-gegeben.
Bei Verwendung 'flacher' D-Nummern ist die Verwendung des Befehls nicht sinnvoll, da hier
immer der Wert 1 zurückgegeben wird (keine T-Nummer in der Datenhaltung).
Programmierung
status = GETACTTD (Tnr, Dnr)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-35
Werkzeugkorrekturen
8.7 Freie D-Nummernvergabe, Schneidennummer
Parameter
Funktion
Der Befehl dient zur Unterstützung während dem Umrüsten. So gekennzeichnete
Korrekturdatensätze werden nicht mehr vom Sprachbefehl CHKDNO geprüft. Um sie wieder
zugänglich zu machen, muss die D-Nummer wieder mit SETDNO gesetzt werden.
Programmierung
DZERO
Parameter
Arbeitsvorbereitung
8-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.8 Werkzeugträgerkinematik
Funktion
Die Werkzeugträgerkinematik mit maximal zwei Drehachsen v1 oder v2 wird über die 17
Systemvariablen $TC_CARR1[m] bis $TC_CARR17[m] beschrieben. Die Beschreibung
des Werkzeugträgers besteht aus:
● dem vektoriellen Abstand von der ersten Drehachse zum Bezugspunkt des
Werkzeugträgers I1, dem vektoriellen Abstand von erster zu zweiter Drehachse I2, dem
vektoriellen Abstand von zweiter Drehachse zum Bezugspunkt des Werkzeugs I3.
● den Richtungsvektoren beider Drehachsen V1, V2.
● den Drehwinkeln α1, α2um die beiden Achsen. Die Drehwinkel werden mit Blickrichtung
in Richtung der Drehachsvektoren im Uhrzeigersinn positiv gezählt.
O
9
˞
O
O
˞
9
Für Maschinen mit aufgelöster Kinematik (sowohl Werkzeug als auch Werkstück sind
drehbar) wurden die Systemvariablen um die Einträge
● $TC_CARR18[m] bis $TC_CARR23[m] erweitert.
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-37
Werkzeugkorrekturen
8.8 Werkzeugträgerkinematik
Arbeitsvorbereitung
8-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.8 Werkzeugträgerkinematik
Hinweis
Erklärungen zu den Parametern
Mit "m" wird jeweils die Nummer des zu beschreibenden Werkzeugträgers angegeben.
$TC_CARR47 bis $TC_CARR54 sowie $TC_CARR61 bis $TC_CARR63 sind nicht
definiert und führen beim Versuch hierauf lesend oder schreiben zuzugreifen, zu einem
Alarm.
Die Anfangs- bzw. Endpunkte der Abstandsvektoren auf den Achsen können frei gewählt
werden. Die Drehwinke α1, α2um die beiden Achsen werden im Grundzustand des
Werkzeugträgers mit 0° definiert. Die Kinematik eines Werkzeugträgers kann so auf beliebig
viele Möglichkeiten beschrieben werden.
Werkzeugträger mit nur einer oder keiner Drehachse können durch Nullsetzen der
Richtungsvektoren einer oder beider Drehachsen beschrieben werden.
Bei einem Werkzeugträger ohne Drehachse wirken die Abstandsvektoren wie zusätzliche
Werkzeugkorrekturen, deren Komponenten beim Umschalten der Bearbeitungsebenen (G17
bis G19)° nicht beeinflusst werden.
Den Offset der Veränderung der Position der Drehachse v1 oder v2 bei Grundstellung des
Drehachsen v1, v2 orientierbaren Werkzeugträgers.
Den Winkeloffset/ Offset oder Winkelinkrement der Hirth-Verzahnung der Drehachsen v1 und v2.
Winkelinkrement Programmierter oder berechneter Winkel wird auf den nächstliegenden Wert
Drehachsen v1, v2 gerundet, der sich bei ganzzahligem n aus phi = s + n * d ergibt.
Minimal- und Der Minimalposition/Maximalposition der Drehachse Grenzwinkel (Software-
Maximalposition Limit) der Drehachse v1 und v2.
Drehachsen v1, v2
Parameter für den Anwender $TC_CARR34 bis $TC_CARR40 enthalten Parameter,
Anwender die den Anwender zur freien Verfügung stehen und bis zum SW 6.4
standardmäßig innerhalb der NCK nicht weiter ausgewertet werden oder keine
Bedeutung haben.
Parmeter der Feinverschiebung $TC_CARR41 bis $TC_CARR65 enthalten
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-39
Werkzeugkorrekturen
8.8 Werkzeugträgerkinematik
Beispiel
Der im folgenden Beispiel verwendete Werkzeugträger lässt sich durch eine Drehung um die
Y-Achse vollständig beschreiben.
]
]
= <
<
;
<
;
;
;
Arbeitsvorbereitung
8-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Werkzeugkorrekturen
8.8 Werkzeugträgerkinematik
Voraussetzung
Ein Werkzeugträger kann ein Werkzeug nur dann in alle möglichen Raumrichtungen
orientieren, wenn
● zwei Drehachsen V1 und V2 vorhanden sind.
● die Drehachsen aufeinander senkrecht stehen.
● die Werkzeuglängsachse senkrecht auf der zweiten Drehachse V2 steht.
Zusätzlich gilt bei Maschinen, bei denen alle möglichen Orientierungen einstellbar sein
müssen, folgende Forderung:
● die Werkzeugorientierung muss senkrecht auf der ersten Drehachse V1 stehen.
Beschreibung
Aufgelöste Kinematik
Für Maschinen mit aufgelöster Kinematik (sowohl Werkzeug als auch Werkstück sind
drehbar) wurden die Systemvariablen um die Einträge $TC_CARR18[m] bis
$TC_CARR23[m] erweitert und wie folgt beschrieben:
Der drehbare Werkzeugtisch bestehend aus:
● dem vektoriellen Abstand der zweiten Drehachse V2 zum Bezugspunkt eines drehbaren
Werkzeugtisches I4 der dritten Drehachse.
Die Rundachsen bestehend aus:
● den beiden Kanalbezeichnern für den Bezug der Drehachsen V1und V2, auf deren
Position gegebe-nenfalls bei der Bestimmung der Orientierung des orientierbaren
Werkzeugträgers zugegriffen wird.
Der Kinematiktyp mit einem der Werte T, P oder M:
● Kinematiktyp T: Nur das Werkzeug ist drehbar.
● Kinematiktyp P: Nur das Werkstück ist drehbar.
● Kinematiktyp M: Werkzeug und Werkstück sind drehbar.
Löschen der Werkzeugträgerdaten
Mit $TC_CARR1[0] = 0 können die Daten aller Werkzeugträgerdatensätze gelöscht
werden.
Der Kinematiktyp $TC_CARR23[T] = T muss mit einen der drei zulässigen Groß- oder
Kleinbuchstaben (T,P,M) belegt werden und sollte aus diesen Grund nicht gelöscht werden.
Ändern der Werkzeugträgerdaten
Jeder der beschriebenen Werte kann durch Zuweisung eines neuen Wertes im
Teileprogramm verändert werden. Jedes andere Zeichen als T, P oder M führt bei den
Versuch, den orientierbaren Werkzeugträger zu aktivieren, zu einen Alarm.
Lesen der Werkzeugträgerdaten
Jeder der beschriebenen Werte kann durch Zuweisung an eine Variable im Teileprogramm
gelesen werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 8-41
Werkzeugkorrekturen
8.8 Werkzeugträgerkinematik
Feinverschiebungen
Ein unzulässiger Feinverschiebungswert wird erst erkannt, wenn ein orientierbarer
Werkzeugträger aktiviert wird, der solch einen Wert enthält und gleichzeitig das
Settingdatum SD 42974: TOCARR_FINE_CORRECTION = TRUE ist.
Der Betrag der zulässigen Feinverschiebung wird über Maschinendaten auf einen maximal
zulässigen Wert begrenzt.
Arbeitsvorbereitung
8-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten 9
9.1 9.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TANGDEL)
Funktion
Die Folgeachse wird gemäß der Tangente an der durch die Leitachsen festgelegten Bahn
nachgeführt. Dadurch kann ein Werkzeug parallel zur Kontur ausgerichtet werden. Durch
den in der TANGON-Anweisung programmierten Winkel kann das Werkzeug relativ zur
Tangente angestellt werden.
<
Anwendungsbereiche
Die Tangentialsteuerung kann unter anderem eingesetzt werden bei:
● Tangentiellem Anstellen eines drehbaren Werkzeugs beim Nibbeln
● Nachführen der Werkstückausrichtung bei einer Bandsäge (s. Zeichnung)
● Anstellen eines Abrichtwerkzeugs an eine Schleifscheibe
● Anstellen eines Schneidrädchens zur Glas- oder Papierverarbeitung
● Tangentialer Zuführung eines Drahtes beim 5-achsigen Schweißen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-1
Bahnverhalten
9.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TANGDEL)
<
:HUNVW¾FN
6¦JHEDQG
;
Programmierung
TANG (FAchse,LAchse1,LAchse2,Koppel,KS,Opt)
oder
TANGON (FAchse,Winkel, Dist, Winkeltol)
oder
TANGOF (FAchse)
oder
TLIFT (FAchse)
oder
TANGDEL (FAchse)
Vereinfachte Programmierungen:
Ein Koppelfaktor von 1 muss nicht explizit programmiert werden.
TANG(C, X, Y, 1, "B", "P") kann abgekürzt notiert werden als TANG(C, X, Y, ,
, , "P"). Wie bisher kann statt TANG(C, X, Y, 1, "B", "S") geschrieben werden
als TANG(C, X, Y).
Die TLIFT(…)-Anweisung geben Sie im Anschluss an die Achsenzuordnung mit TANG(…)
an. Beispiel:
TANG(C, X, Y...)
TLIFT(C)
TLIFT ausschalten
Hierfür wiederholen Sie die Achsenzuordnung TANG(...) ohne folgendes TLIFT(...).
TANGDEL Definition einer Tangentialen Nachführung löschen
Eine bestehende anwenderdefinierte Tangentiale Nachführung muss gelöscht werden, wenn
eine neue Tangentiale Nachführung mit der gleichen Folgeachse im Vorbereitungsaufruf
Arbeitsvorbereitung
9-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TANGDEL)
TANG definiert werden soll. Ein Löschen ist nur möglich, wenn die Kopplung mit
TANGOF(FAchse) ausgeschaltet ist.
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-3
Bahnverhalten
9.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TANGDEL)
Beispiel Ebenenwechsel
Arbeitsvorbereitung
9-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TANGDEL)
<
˞
˞
˞ XQHUZ¾QVFKWH
5¾FNEHZHJXQJ
;
<
˞
HUZ¾QVFKWH
5¾FNEHZHJXQJ
;
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-5
Bahnverhalten
9.1 Tangentialsteuerung (TANG, TANGON, TANGOF, TANGDEL)
Optimierungsmöglichkeit
Geschwindigkeitssprünge der Folgeachse infolge von Sprüngen in der Leitachskontur
werden mit (Dist und Winkeltol) überschliffen bzw. geglättet.
Dabei wird die Folgeachse vorausschauend geführt (siehe Diagramm), um die Abweichung
möglichst klein zu halten.
Winkeländerung definieren
Die Winkeländerung, ab der ein automatischer Zwischensatz eingeführt wird, wird über das
Maschinendatum $MA_EPS_TLIFT_TANG_STEP definiert.
Arbeitsvorbereitung
9-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.2 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. Damit kann die reale Achse mit
Berücksichtigung des Koppelfaktors verfahren werden.
● Zweiseitenbearbeitung mit 2 Mitschleppverbänden:
1. Leitachse Y, Mitschleppachse V
2. Leitachse Z, Mitschleppachse W
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-7
Bahnverhalten
9.2 Mitschleppen (TRAILON, TRAILOF)
$FKVH
< $FKVH
$FKVH 9
=
$FKVH
:
$FKVH
;
Programmierung
TRAILON(FAchse,LAchse,Koppel)
oder
TRAILOF(FAchse,LAchse, LAchse2)
oder Ausschalten ohne Angabe der Leitachse
TRAILOF(FAchse)
TRAILON und TRAILOF sind modal wirksam.
Parameter
Arbeitsvorbereitung
9-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.2 Mitschleppen (TRAILON, TRAILOF)
Hinweis
Das Mitschleppen erfolgt immer im Basiskoordinatensystem (BKS).
Die Anzahl der gleichzeitig aktivierbaren Mitschleppverbände wird nur begrenzt durch die
Kombinationsmöglichkeiten der an der Maschine vorhandenen Achsen.
Beispiel
Das Werkstück soll zweiseitig mit der dargestellten Achskonstellation bearbeitet werden.
Dazu bilden Sie 2 Mitschleppverbände.
$FKVH
< $FKVH
$FKVH 9
=
$FKVH
:
$FKVH
;
…
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
N120 G0 Z10 ;Zustellung der Z- und W-Achse in entgegengesetzter
;Achsrichtung
N130 G0 Y20 ;Zustellung der Y- und V-Achse in gleicher Achsrichtung
…
N200 G1 Y22 V25 F200 ;Überlagerung einer abhängigen und unabhängigen Bewegung der
;Mitschleppachse ;"V"
…
TRAILOF(V,Y) ;Ausschalten des 1. Mitschleppverbandes
TRAILOF(W,Z) ;Ausschalten des 2. Mitschleppverbandes
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-9
Bahnverhalten
9.2 Mitschleppen (TRAILON, TRAILOF)
Achstypen im Verband
Ein Mitschleppverband kann aus beliebigen Kombinationen von Linear- und Rundachsen
bestehen. Als Leitachse kann dabei auch eine simulierte Achse definiert werden.
Mitschleppachsen
Einer Mitschleppachse können gleichzeitig maximal 2 Leitachsen zugeordnet werden. Die
Zuordnung erfolgt in unterschiedlichen Mitschleppverbänden.
Eine Mitschleppachse kann mit allen zur Verfügung stehenden Bewegungsbefehlen
programmiert werden (G0, G1, G2, G3, …). Zusätzlich zu den unabhängig definierten
Wegen fährt die Mitschleppachse die mit den Koppelfaktoren aus ihren Leitachsen
abgeleiteten Wege.
Koppelfaktor
Der Koppelfaktor gibt das gewünschte Verhältnis der Wege von Mitschleppachse und
Leitachse an.
Formel: Koppelfaktor = Weg der Mitschleppachse / Weg der Leitachse
Wird der Koppelfaktor bei der Programmierung nicht angegeben, so gilt automatisch der
Koppelfaktor 1.
Der Faktor wird als gebrochene Zahl mit Dezimalpunkt (Typ REAL) eingegeben. Die
Eingabe eines negativen Wertes bewirkt eine entgegengesetzte Verfahrbewegung der Leit-
und Mitschleppachse.
Arbeitsvorbereitung
9-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
Funktion
Im Kapitel Kurventabellen finden Sie die Programmierbefehle, mit denen Zusammenhänge
zwischen zwei Achsen (Leit- und Folgeachse) programmiert werden.
In einem definierten Wertebereich des Leitwerts kann eindeutig zu jedem Leitwert die
Folgegröße zugeordnet werden. Liegt der Leitwert außerhalb des Definitionsbereichs, dann
kann das Verhalten an den Rändern der Kurventabelle für periodische und für nicht
periodische Kurventabellen programmiert werden.
Beschreibung
Die mechanischen Kurvenscheiben werden durch Kurventabellen ersetzt, mit denen sich
● bestimmte Kurvenzüge in einem Definitionsbereich
● einzelne Abschnitte, so genannte Kurvensegmente
● die Ränder der Kurve für periodische und nicht periodische Kurventabellen
● die betreffenden Kurvensegmentpositionen
definieren lassen.
In einem definierten Wertebereich können von
● den betreffenden Tabellenpositionen sowie
● den Start- und Endwert eines Tabellensegments
der entsprechende Folgewert zu einem Leitwert und ebenso der Leitwert zu einem
Folgewert gelesen werden.
Dargestellt werden alle weiteren Formen, optionale Parameter den jeweiligen
Programmierbefehlen zuzuordnen. Die sich daraus ergebenden Möglichkeiten, einzelne
oder mehrere Kurventabellen gezielt im entsprechenden Speichertyp zu beeinflussen,
schaffen eine flexible Programmierung für weitere Anwendungen. So werden auch zur
Diagnose von Achskopplungen umfangreiche Möglichkeiten der Programmierung
angegeben.
Zur Definition von Kurventabellen und den Zugriff auf Kurventabellenpositionen werden
jeweils typische Programmierbeispiele angegeben.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-11
Bahnverhalten
9.3 Kurventabellen (CTAB)
Funktion
Mit Kurventabellen können Sie Positions- und Geschwindigkeitsbeziehungen zwischen 2
Achsen programmieren. Die Definition der Kurventabellen erfolgt in einem Teileprogramm.
Beispiel für mechanische Kurvenscheiben ersetzen:
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.
<
[\
DDD[
DD[
Programmierung
Modal wirksame Sprachbefehle mit Kurventabellen
CTABDEF(FAchse, LAchse, n, applim, memType)
oder
CTABEND()
oder
CTABDEL(), CTABDEL(, ,memType)
Arbeitsvorbereitung
9-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
Parameter
Schwerpunktfunktionen
Maschinenhersteller
Zur Erstellung von Kurventabellen muss über entsprechendes Setzen der Maschinendaten
Speicherplatz reserviert werden.
…
CTABDEF(Y,X,1,1) ;Definition einer Kurventabelle
…
…
IF NOT ($P_CTABDEF)
STOPRE
ENDIF
…
…
CTABEND
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-13
Bahnverhalten
9.3 Kurventabellen (CTAB)
<
;
Arbeitsvorbereitung
9-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
;Nach Einschalten der Kopplung ist kein Synchronisieren der Folgeachse nötig
N190 LEADON(Y,X,2)
N200 G1 X110 F1000
N210 LEADOF(Y,X)
N220 M30
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-15
Bahnverhalten
9.3 Kurventabellen (CTAB)
)ROJHZHUW
6W¾W]VWHOOHQ
.XUYHQ]XJ
/HLWZHUW
'HILQLWLRQVEHUHLFK
6WDUWZHUW (QGZHUW
Hinweis
Nicht zulässig sind:
Vorlaufstopp
Sprünge in der Leitachsenbewegung (z. B. beim Wechsel von Transformationen)
Bewegungsanweisung allein für die Folgeachse
Bewegungsumkehr der Leitachse, d. h. Position der Leitachse muss immer eindeutig sein
CTABDEF- und CTABEND-Anweisung in unterschiedlichen Programmebenen.
Arbeitsvorbereitung
9-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
Beispiel:
...
CATBDEF(Y, X, 1, 0)
X0 Y0
ASPLINE
X=5 Y=10
X10 Y40
...
CTABEND
Abhängig vom Maschinendatum MD 20900: CATB_ENABLE_NO_LEADMOTION können
Sprünge der Folgeachse bei fehlender Bewegung der Leitachse toleriert werden. Die
übrigen im Hinweis genannten Einschränkungen gelten weiterhin.
Beim Anlegen und Löschen von Tabellen können die Angaben des Speichertyps der NC
benutzt werden.
Funktion
Weitere Anwendungen von Kurventabellen sind:
● In einem bestimmten Speichertyp SRAM oder DRAM löschen.
● Anzahl der definierten und noch möglichen Kurventabellen im Speichertyp festlegen.
● Kurventabellen gegen Löschen und Überschreiben sperren oder die Sperre wieder
aufheben.
● Optionale Angaben für Selektionen wie Löschen
einer Kurventabelle, Löschen eines Kurventabellenbereiches,
aller Kurventabellen im angegebenen Speicher,
und Überschreiben sperren sowie Sperren wieder aufheben.
● Angaben zur Diagnose von Achskopplungen wie bestimmte
Kurventabelleneigenschaften liefern, zurückgeben und prüfen
Anzahl von Kurventabellen, Kurvensegmenten und Kurvenpolynomen bestimmen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-17
Bahnverhalten
9.3 Kurventabellen (CTAB)
Programmierung
Modal wirksame Sprachbefehle mit Kurventabellen
CTABDEL(n, m, memType)
oder
CTABNOMEM (memType)
oder
CTABFNO(memType)
oder
CTABID(n, memType)
oder
CTABLOCK(n, m, memType) oder CTABUNLOCK(n, m, memType)
oder
CTABDEL(n) oder CTABDEL(n, m)
oder
CTABLOCK(n) oder CTABLOCK(n, m) oder CTABLOCK() oder
CTABLOCK(, , memType)
oder
CTABUNLOCK(n) oder CTABUNLOCK(n, m) oder CTABUNLOCK() oder
CTABUNLOCK(, , memType)
oder
CTABID(n) oder CTABID(n, memType) oder CTABID(p, memType)
oder
CTABISLOCK(n)
oder
CTABEXISTS(n)
oder
CTABMEMTYP(n)
oder
CTABPERIOD(n)
oder
CTABSEGID(n, segType)
oder
CTABSEG(memType, segType) oder CTABFSEG(memType, segType) oder
CTABMSEG(memType, segType)
oder
CTABPOLID(n) oder CTABMPOL(memType)
Arbeitsvorbereitung
9-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
Parameter
Allgemeine Form im statischen oder dynamischen NC-Speicher:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-19
Bahnverhalten
9.3 Kurventabellen (CTAB)
Beschreibung
Laden von Kurventabellen über "Abarbeiten von Extern"
Beim externen Abarbeiten von Kurventabellen muss die Größe des Nachladebuffers
(DRAM) über das 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 dem Alarm 15150 abgebrochen.
Wiederholte Verwendung von Kurventabellen
Der über die Kurventabelle berechnete funktionelle Zusammenhang von Leit- und
Folgeachse bleibt unter der gewählten Tabellennummer über das Teileprogrammende und
über Power-Off hinaus erhalten, falls die Tabelle im statischen NC-Speicher (SRAM)
abgelegt ist.
Arbeitsvorbereitung
9-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
Eine Tabelle, die im dynamischen Speicher (DRAM) angelegt wurde, wird bei Power-On
gelöscht und muss eventuell noch einmal erzeugt werden.
Die einmal erstellte Kurventabelle lässt sich auf beliebige Achskombinationen von Leit- und
Folgeachse anwenden und ist unabhängig davon, welche Achsen zur Erstellung der
Kurventabelle benutzt wurden.
Überschreiben von Kurventabellen
Eine Kurventabelle wird überschrieben, sobald bei einer erneuten Tabellendefinition deren
Nummer benutzt wird.
Ausnahme: Eine Kurventabelle ist in einer Achskopplung aktiv oder mit CTABLOCK( )
gesperrt.
Hinweis
Beim Überschreiben von Kurventabellen wird keine entsprechende Warnung ausgegeben!
Mit der Systemvariable $P_CTABDEF ist jederzeit eine Abfrage aus einem Teileprogramm
heraus möglich, ob eine Kurventabellendefinition aktiv ist.
Der Teileprogrammabschnitt ist nach Ausklammern der Anweisungen zur
Kurventabellendefinition wieder als reales Teileprogramm verwendbar.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-21
Bahnverhalten
9.3 Kurventabellen (CTAB)
Funktion
Liegt der Leitwert außerhalb des Definitionsbereichs, so kann von einer Folgeachse der Wert
am Anfang und am Ende der Kurventabelle gelesen werden.
Mit CTABTSV wird von einer Folgeachse der Wert am Anfang der Kurventabelle gelesen.
Mit CTABTEV wird von einer Folgeachse der Wert am Ende der Kurventabelle gelesen.
Die Startwerte und Endwerte einer Kurventabelle sind unabhängig davon, ob die Tabelle mit
steigenden oder mit fallenden Leitwerten definiert wird. Es wird immer der Startwert durch
die untere Intervallgrenze und der Endwert durch die obere Intervallgrenze festgelegt.
Mit CTABTMIN und CTABTMAX können die Minimal oder Maximalwerte einer Kurventabelle
im gesamten Bereich oder in einem definierten Intervall bestimmt werden. Für das
entsprechende Intervall des Leitwerts werden zwei Grenzen angegeben.
Programmierung
Folgewert Start- und Endwert Folgeachse:
CTABTSV(n, grad, FAchse), CTABTEV(n, grad, FAchse)
Leitwert Start- und Endwert Leitachse:
CTABTSP(n, grad, FAchse), CTABTEP(n, grad, FAchse)
Wertebereiche Min und Max:
CTABTMIN(n, FAchse)
oder
CTABTMAX(n, FAchse)
Parameter
CTABTSV Von einer Folgeachse Anfangswert der Kurventabelle
lesen.
CTABTEV () Von einer Folgeachse Endwert der Kurventabelle lesen.
CTABTSP () Von einer Leitachse Anfangswert der Kurventabelle
lesen.
CTABTEP () Von einer Leitachse Endwert der Kurventabelle lesen.
CTABMIN () Minimalwert einer Kurventabelle im gesamten Bereich
oder in einem definierten Intervall bestimmen.
CTABMAX () Maximalwert einer Kurventabelle im gesamten Bereich
oder in einem definierten Intervall bestimmen.
FAchse Folgeachse
Achse, die über die Kurventabelle programmiert wird.
LAchse Leitachse
Achse, durch die der Leitwert programmiert wird.
Arbeitsvorbereitung
9-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
Hinweis
Zuweisungen an R-Parameter innerhalb der Tabellendefinition werden rückgängig gemacht.
...
R10=5 R11=20
...
CTABDEF
G1 X=10 Y=20 F1000
R10=R11+5 ;R10=25
X=R10
CTABEND
... ;R10=5
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-23
Bahnverhalten
9.3 Kurventabellen (CTAB)
Arbeitsvorbereitung
9-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
)ROJHZHUW
/HLWZHUW
/ 'HILQLWLRQVEHUHLFK /
Periodische Kurventabelle
Liegt der Leitwert außerhalb des Definitionsbereichs, wird der Leitwert Modulo des
Definitionsbereichs bewertet und der entsprechende Folgewert ausgegeben.
)ROJHZHUW
/HLWZHUW
/
'HILQLWLRQVEHUHLFK
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-25
Bahnverhalten
9.3 Kurventabellen (CTAB)
Hinweis
CTABTSV, CTABTEV, CTABTSP, CTABTEP, CTABTMIN, CTABTMAX
Diese Sprachbefehle können vom Teileprogramm oder von Synchronaktionen aus direkt
verwendet werden.
Abhängigkeit der internen Ausführungszeit der Funktion von der Anzahl der Tabellensegmente:
CTABINV() abhängig
CTABTSV, CTABTEV, CTABTSP, CTABTEP unabhängig
(CTABTMIN, CTABTMAX nur, falls kein Intervall
des Leitwertes vorgegeben wird)
Lesen in Synchronaktionen
Vom Anwender ist bei Verwendung der Befehle CTABINV() oder CTABTMIN() und
CTABTMAX() in Synchronaktionen zu beachten, dass zum Ausführungszeitpunkt entweder
● ausreichend NC-Leistung verfügbar ist, oder
● die Anzahl der Segmente der Kurventabelle ist vor dem Aufruf abzufragen, um
gegebenenfalls die betreffende Tabelle unterteilen zu können.
Weitere Zusammenhänge zur Programmierung von Synchronaktionen sind im Kapitel
"Bewegungssynchronaktionen" beschrieben.
Funktion
Lesen von Tabellenpositionen, CTAB, CTABINV
Mit CTAB kann vom Teileprogramm oder von Synchronaktionen aus direkt der Folgewert zu
einem Leitwert gelesen werden.
Mit CTABINV kann zu einem Folgewert der Leitwert gelesen werden. Diese Zuordnung
muss nicht immer eindeutig sein. CTABINV benötigt daher einen Näherungswert für den
erwarteten Leitwert.
Programmierung
Lesen des Folgewerts zu einem Leitwert
CTAB(Leitwert, n, grad, [Folgeachse, Leitachse])
Lesen des Leitwerts zu einem Folgewert
CTABINV(Folgewert, aproxLeitwert, n, grad, [Folgeachse, Leitachse])
Lesen des Start- und Endwert eines Tabellensegments
CTABSSV(Leitwert, n, grad, [FAchse]),
CTABSEV(Leitwert, n, grad,[ FAchse])
Arbeitsvorbereitung
9-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.3 Kurventabellen (CTAB)
Parameter
● CTABSSV, CTABSEV
Mit CTABSSV kann der Startwert des Kurvensegmentes gelesen werden, das zum
angegebenen Leitwert gehört. Der Endwert des Kurvensegmentes, das zum angegebenen
Leitwert gehört, kann mit CTABSEV gelesen werden.
● Ermittelte Folge- oder Leitposition aus Kurventabelle mit CTAB, CTABINV
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-27
Bahnverhalten
9.3 Kurventabellen (CTAB)
)ROJHZHUW )ROJHZHUW
JUDG JUDG
): ):
/: /HLWZHUW /: /HLWZHUW
DSUR[
Arbeitsvorbereitung
9-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.4 Axiale Leitwertkopplung (LEADON, LEADOF)
Hinweis
CTAB, CTABINV, CTABSSV und CTABSEV
Die Sprachbefehle CTAB, CTABINV und CTABSSV, CTABSEV können vom Teileprogramm
oder von Synchronaktionen aus direkt verwendet werden. Alle Zusammenhänge zur
Programmierung von Synchronaktionen sind im Kapitel "Bewegungssynchronaktionen"
beschrieben.
Die optionale Angabe der Leit- oder Folgeachse bei CTAB/CTABINV/CTABSSV/CTABSEV
ist wichtig, falls Leit- und Folgeachse in verschiedenen Längeneinheiten projektiert sind.
Die Sprachbefehle CTABSSV und CTABSEV sind in folgenden Fällen nicht dazu geeignet,
programmierte Segmente abzufragen:
● Kreise oder Evolventen sind programmiert.
● Fasen bzw. Runden ist mit CHF, RND aktiv.
● Überschleifen mit G643 ist aktiv.
● Kompressor ist z. B. mit COMPON, COMPCURV, COMPCAD aktiv.
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. simulierten - Position der Leitachse zugeordnet.
<
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-29
Bahnverhalten
9.4 Axiale Leitwertkopplung (LEADON, LEADOF)
Leitachse heißt diejenige Achse, die die Eingangswerte für die Kurventabelle liefert.
Folgeachse heißt die Achse, die die über die Kurventabelle errechneten Positionen
einnimmt.
Ist- und Sollwertkopplung
Als Leitwerte, also Ausgangswerte zur Positionsermittlung der Folgeachse können
verwendet werden:
● Istwerte der Leitachsposition: Istwertkopplung
● Sollwerte der Leitachsposition: Sollwertkopplung
Die Leitwertkopplung gilt immer im Basiskoordinatensystem.
Zur Erstellung von Kurventabellen siehe Kapitel "Kurventabellen".
Zur Leitwertkopplung siehe /FB/, M3, Mitschleppen und Leitwertkopplung.
Programmierung
LEADON(FAchse,LAchse,n)
oder
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.
Parameter
Arbeitsvorbereitung
9-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.4 Axiale Leitwertkopplung (LEADON, LEADOF)
Hinweis
Im folgenden Beispiel wurden Zeilenwechsel, Einrückungen und Fettsatz ausschließlich
dafür verwendet, die Lesbarkeit der Programmierung zu erhöhen. Für die Steuerung ist alles
unter einer Zeilennummer stehende einzeilig.
Kommentar
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-31
Bahnverhalten
9.4 Axiale Leitwertkopplung (LEADON, LEADOF)
Beschreibung
Die Leitwertkopplung erfordert die Synchronisation von Leit- und Folgeachse. Diese
Synchronisation kann nur erreicht werden, wenn die Folgeachse bei Einschalten der
Leitwertkopplung innerhalb des Toleranzbereiches des aus der Kurventabelle berechneten
Kurvenzugs steht.
Der Toleranzbereich für die Stellung der Folgeachse ist über Maschinendatum MD 37200:
COUPLE_POS_POL_COARSE A_LEAD_TYPE definiert.
Befindet sich die Folgeachse mit dem Einschalten der Leitwertkopplung noch nicht an der
entsprechenden Position, wird der Synchronlauf automatisch hergestellt, sobald sich der
berechnete Positionssollwert für die Folgeachse der tatsächlichen Folgeachsposition nähert.
Die Folgeachse wird dabei während des Synchronisationsvorganges in die Richtung
verfahren, die durch die Sollgeschwindigkeit der Folgeachse (berechnet aus
Leitachsgeschwindigkeit und nach Kurventabelle CTAB) definiert ist.
Arbeitsvorbereitung
9-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.4 Axiale Leitwertkopplung (LEADON, LEADOF)
<
LRQ
R VLW HOOH
S WDE
KV
H DF UYHQ
OJ X
)ROJHDFKVSRVLWLRQ )R FK.
QD
<
Kein Synchronlauf
Entfernt sich die berechnete Folgeachssollposition mit Einschalten der Leitwertkopplung von
der aktuellen Folgeachsposition, wird kein Synchronlauf hergestellt.
Ist- und Sollwertkupplung
Die Sollwertkopplung liefert im Vergleich zur Istwertkopplung einen besseren Synchronlauf
zwischen Leit- und Folgeachse und ist deshalb standardmäßig voreingestellt.
1&8
6ROOZHUWNRSSOXQJ
$[ $[
,VWZHUWNRSSOXQJ
Sollwertkopplung ist nur möglich, wenn Leit- und Folgeachse von derselben NCU interpoliert
werden. Bei einer externen Leitachse kann die Folgeachse nur über Istwerte an die
Leitachse gekoppelt werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-33
Bahnverhalten
9.4 Axiale Leitwertkopplung (LEADON, LEADOF)
1&8 1&8
$[ $[
,VWZHUWNRSSOXQJ
Leitwerte erzeugen
Leitwerte können wahlweise mit anderen selbst programmierten Verfahren erzeugt werden.
Die so erzeugten Leitwerte werden in die Variable
geschrieben und aus ihnen gelesen. Zur Benutzung dieser Variablen muss das
Settingdatum $SA_LEAD_TYPE = 2 gesetzt werden.
Arbeitsvorbereitung
9-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.5 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.
Diese Geschwindigkeitsverläufe ermöglichen ruckfreie Beschleunigungsänderungen und
hierdurch Fertigung gleichmäßiger Werkstückoberflächen.
Programmierung
F… FNORM
oder
F… FLIN
oder
F… FCUB
oder
F=FPO(…,…,…)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-35
Bahnverhalten
9.5 Vorschubverlauf (FNORM, FLIN, FCUB, FPO)
Parameter
9RU
VFKXE
%DKQ
ZHJ
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Arbeitsvorbereitung
9-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.5 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".
9RU
VFKXE
%DKQ
ZHJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-37
Bahnverhalten
9.5 Vorschubverlauf (FNORM, FLIN, FCUB, FPO)
FLIN
Der Vorschubverlauf wird vom aktuellen Vorschubwert zum programmierten F-Wert linear
bis Satzende eingefahren.
Beispiel:
N30 F1400 FLIN X50
9RU
VFKXE
%DKQ
ZHJ
Arbeitsvorbereitung
9-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.5 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.
Beispiel:
N50 F1400 FCUB X50
N60 F2000 X47
N70 F3800 X52
9RU
VFKXE
%DKQ
ZHJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-39
Bahnverhalten
9.5 Vorschubverlauf (FNORM, FLIN, FCUB, FPO)
F=FPO(…,…,…)
Der Vorschubverlauf wird über ein Polynom direkt programmiert. Die Angabe der
Polynomkoeffizienten erfolgt analog zur Polynominterpolation.
Beispiel:
F=FPO(endfeed, quadf, cubf)
endfeed, quadf und cubf sind vorher definierte Variable.
Bei aktivem FCUB schließt der Spline am Satzanfang und Satzende tangential an den über
FPO festgelegten Verlauf an.
9RU
VFKXE
%DKQ
ZHJ
Randbedingungen
Unabhängig vom programmierten Vorschubverlauf gelten die Funktionen zur
Programmierung des Bahnfahrverhaltens.
Der programmierbare Vorschubverlauf gilt grundsätzlich absolut - unabhängig von G90
oder G91.
Der Vorschubverlauf FLIN und FCUB wirkt mit
G93 und G94.
FLIN und FCUB wirkt nicht bei
G95, G96/G961 und G97/G971.
Arbeitsvorbereitung
9-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.5 Vorschubverlauf (FNORM, FLIN, FCUB, FPO)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-41
Bahnverhalten
9.6 Programmablauf mit Vorlaufspeicher (STARTFIFO, STOPFIFO, 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.
Soweit die Restzeit der Steuerung es zulässt, wird der Vorlaufspeicher grundsätzlich gefüllt.
1& 9RUODXI
3URJUDPP VSHLFKHU
)HUWLJXQJVDEODXI
VFKQHOOH6DW]IROJHQ
Programmierung
STARTFIFO
oder
STOPFIFO
oder
STOPRE
Parameter
Arbeitsvorbereitung
9-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.6 Programmablauf mit Vorlaufspeicher (STARTFIFO, STOPFIFO, STOPRE)
Hinweis
STOPFIFO hält die Bearbeitung an, bis der Vorlaufspeicher gefüllt ist bzw. STARTFIFO
oder STOPRE erkannt wird.
Vorsicht
Bei eingeschalteter Werkzeugkorrektur und bei Spline-Interpolationen sollten Sie kein
STOPRE programmieren, da sonst zusammengehörige Satzfolgen unterbrochen werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-43
Bahnverhalten
9.7 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF)
Funktion
Bedingt unterbrechbare Teileprogrammabschnitte werden Stopp-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. Ein etwaiger Stopp wirkt erst, nachdem der Programmabschnitt zu Ende bearbeitet
worden ist.
Programmierung
Parameter
Hinweis
Bei Maschinendatum MD 11550: STOP_MODE_MASK Bit 0 = 0 (Default) wird ein Stopp-
Delay-Bereich implizit definiert, wenn G331/G332 aktiv ist und eine Bahnbewegung bzw.
G4 programmiert ist. Siehe Hinweis unten.
Beispiel Stopp-Ereignisse
Im Stopp-Delay-Bereich wird eine Veränderung des Vorschubs und Vorschubsperre
ignoriert. Sie wirken erst nach dem Stopp-Delay-Bereich.
Die Stopp-Ereignisse werden unterschieden in:
Arbeitsvorbereitung
9-44 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.7 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-45
Bahnverhalten
9.7 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF)
Beipiel Programmauszug
In einer Schleife wird folgender Programmblock wiederholt:
Im Bild ist erkennbar, dass der Anwender im Stopp-Delay-Bereich "Stopp" drückt, und die
NC beginnt den Bremsvorgang außerhalb des Stopp-Delay-Bereichs, d.h. im Satz N100.
Damit kommt die NC im vorderen Bereich von N100 zum Halten.
...
N99 MY_LOOP:
N100 G0 Z200
N200 G0 X0 Z200
N300 DELAYFSTON()
Arbeitsvorbereitung
9-46 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.7 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF)
Details über Satzsuchlauf vom Typ SERUPRO und Vorschübe in Verbindung mit
G331/G332 Vorschub bei Gewindebohren ohne Ausgleichsfutter siehe
/FB1/ Funktionshandbuch Grundfunktionen; BAG, Kanal, Programmbetrieb (K1).
/FB1/ Funktionshandbuch Grundfunktionen; Vorschübe (V1).
Überlappung/Schachtelung:
Überschneiden sich zwei Stopp-Delay-Bereiche, einer aus den Sprachbefehlen und der
andere aus dem Maschinendatum MD 11550: STOP_MODE_MASK, so wird der
größtmögliche Stopp-Delay-Bereich gebildet.
Folgende Punkte regeln das Zusammenspiel der Sprachbefehle DELAYFSTON und
DELAYFSTOF mit Verschachtelungen und dem Unterprogrammende:
1. Mit dem Ende des Unterprogramms, in dem DELAYFSTON gerufen wurde, wird implizit
DELAYFSTOF aktiviert.
2. DELAYFSTON Stopp-Delay-Bereich bleibt ohne Wirkung.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-47
Bahnverhalten
9.7 Bedingt unterbrechbare Programmabschnitte (DELAYFSTON, DELAYFSTOF)
Hinweis
REPOSA ist ein Unterprogrammende und DELAYFSTON wird in jedem Fall abgewählt.
Trifft ein "hartes" Stopp-Ereignis auf den "Stopp-Delay-Bereich", so wird der "Stopp-
Delay-Bereich" komplett abgewählt! Das heißt, tritt in diesem Programmabschnitt ein
weiterer beliebiger Stopp auf, so wird sofort angehalten. Erst eine Neuprogrammierung
(erneutes DELAYFSTON) lässt einen neuen Stopp-Delay-Bereich beginnen.
Wird die Stopp-Taste vor dem Stopp-Delay-Bereich gedrückt und der NCK muss zum
Bremsen in den Stopp-Delay-Bereich einfahren, so stoppt der NCK im Stopp-Delay-
Bereich und der Stopp-Delay-Bereich bleibt abgewählt!
Wird ein Stopp-Delay-Bereich mit Override 0% betreten, so wird der Stopp-Delay-Bereich
nicht akzeptiert!
Dies gilt für alle "sanften" Stopp-Ereignisse.
Mit STOPALL kann im Stopp-Delay-Bereich gebremst werden. Mit einem STOPALL
werden aber alle anderen Stopp-Ereignisse sofort aktiv, die bislang verzögert worden
sind.
Systemvariablen
Ein Stopp-Delay-Bereich kann mit $P_DELAYFST im Teileprogramm erkannt werden. Ist Bit
0 der Systemvariablen auf 1 gesetzt, so befindet sich die Teileprogrammbearbeitung zu
diesem Zeitpunkt in einem Stopp-Delay-Bereich.
Ein Stopp-Delay-Bereich kann mit $AC_DELAYFST in Synchronaktionen erkannt werden.
Ist Bit 0 der Systemvariablen auf 1 gesetzt, so befindet sich die Teileprogrammbearbeitung
zu diesem Zeitpunkt in einem Stopp-Delay-Bereich.
Kompatibilität
Die Vorbesetzung des Maschinendatums MD 11550: STOP_MODE_MASK Bit 0 = 0 bewirkt
impliziten Stopp-Delay-Bereich während der G-Code-Gruppe G331/G332 und wenn eine
Bahnbewegung bzw. G4 programmiert ist.
Bit 0 = 1 ermöglicht Stopp während der G-Code-Gruppe G331/G332 und wenn eine
Bahnbewegung bzw. G4 programmiert ist (Verhalten bis SW 6). Zur Definition eines Stopp-
Delay-Bereiches müssen die Befehle DELAYFSTON/DELAYFSTOF benutzt werden.
Arbeitsvorbereitung
9-48 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.8 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. Mit den Programmabbruch vermerkt der
NCK den zuletzt verarbeiteten Satz, auf den über die Bedienoberfläche HMI gesucht werden
kann.
Programmierung
Parameter
Beispiel
Verschachtelung suchunfähiger Programmabschnitte in zwei Programmebenen mit
impliziten IPTRUNLOCK. Das implizite IPTRUNLOCK in Unterprogramm 1 beendet den
suchunfähigen Bereich.
N10010 IPTRLOCK()
N10020 R1 = R1 + 1
N10030 G4 F1 ;Haltesatz, der suchunfähige
... ;Programmabschnitt beginnt
N10040 Unterprogramm2
... ;Interpretation des Unterprogramms 2
N20010 IPTRLOCK () ;Unwirksam, wiederholter Beginn
...
N20020 IPTRUNLOCK () ;Unwirksam, Ende in anderer Ebene
N20030 RET
...
N10060 R2 = R2 + 2
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-49
Bahnverhalten
9.8 Programmstelle für SERUPRO verhindern (IPTRLOCK, IPTRUNLOCK)
Systemvariable
Ein suchunfähiger Bereich kann mit $P_IPTRLOCK im Teileprogramm erkannt werden.
Arbeitsvorbereitung
9-50 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
Automatischer Unterbrechungszeiger
Die Funktion automatischer Unterbrechungszeiger legt automatisch eine vorher festgelegte
Kopplungsart als suchunfähig fest. Mittels Maschinendatum wird für
● Elektronisches Getriebe bei EGON
● Axiale Leitwertkopplung bei LEADON
der automatische Unterbrechungszeiger aktiviert. Überschneiden sich der programmierte
und der über Maschinendatum aktivierbare automatische Unterbrechungszeiger, so wird der
größtmögliche suchunfähige Bereich gebildet.
Funktion
Wenn Sie während der Bearbeitung das laufende Programm unterbrechen und das
Werkzeug freifahren – zum Beispiel wegen Werkzeugbruch oder weil Sie etwas nachmessen
wollen – können Sie die Kontur an einem wählbaren Punkt programmgesteuert
wiederanfahren.
Der REPOS-Befehl wirkt wie ein Unterprogramm-Rücksprung (z. B. über M17).
Nachfolgende Sätze in der Interruptroutine werden nicht mehr ausgeführt.
5(326
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-51
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
Programmierung
REPOSA RMI DISPR=… oder REPOSA RMB oder REPOSA RME oder REPOSA RMN
oder
REPOSL RMI DISPR=… oder REPOSL RMB oder REPOSL RME oder REPOSL RMN
oder
REPOSQ RMI DISPR=…DISR=… oder REPOSQ RMBDISR=… oder REPOSQ RME
DISR=… oder REPOSQA DISR=…
oder
REPOSH RMI DISPR=… DISR=…oder REPOSH RMB DISR=… oder REPOSH RME
DISR=… oder
REPOSHA DISR=…
Parameter
Anfahrweg
Wiederanfahrpunkt
Arbeitsvorbereitung
9-52 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
< 8QWHUEUHFKXQJVSXQNW
'
,6
35
5(326/
:LHGHUDQIDKU
SXQNW
< =ZLVFKHQ
SXQNW
'
,6
5
5(3264
:LHGHUDQIDKU
SXQNW
6WDUWSXQNW
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-53
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
=ZLVFKHQ
< SXQNW
5
,6
'
6WDUWSXQNW
:LHGHUDQIDKU
SXQNW
Arbeitsvorbereitung
9-54 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
<
6DW]HQGSXQNW
50( 8QWHUEUHFKXQJVSXQNW
6DW]DQIDQJV
50, SXQNW
50%
Mit RMI DISPR=... bzw. mit RME DISPR=... können Sie einen Wiederanfahrpunkt
festlegen, der vor dem Unterbrechungspunkt bzw. vor dem Satzendpunkt liegt.
Mit DISPR=... beschreiben Sie den Konturweg in mm/inch, um den der
Wiederanfahrpunkt vor dem Unterbrechungs- bzw. Endpunkt liegt. Dieser Punkt kann - auch
für größere Werte - maximal im Satzanfangspunkt liegen.
Wird kein DISPR=... programmiert, gilt DISPR=0 und damit der Unterbrechungspunkt (bei
RMI) bzw. der Satzendpunkt (bei RME).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-55
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
< 6DW]HQGSXQNW
,VWSRVLWLRQEHL6DW]VXFKODXI
'XUFK-2*7DVWHQ
HUUHLFKWH3RVLWLRQ
50(
6(58352$QIDKUHQ
501 6DW]DQIDQJV
SXQNW
50, 50%
Hinweis
SERUPRO
Für SERUPRO ist RMI und RMB identisch. RMN ist nicht nur auf SERUPRO beschränkt,
sondern allgemein gültig.
Arbeitsvorbereitung
9-56 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
< 6DW]HQGSXQNW
50(
:LHGHUDQIDKUHQ
$VXS
501 6DW]DQIDQJV
50, SXQNW
50%
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-57
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
<
Kontur anfahren
Die Bewegung, mit der das Werkzeug wieder an die Kontur heranfährt, ist programmierbar.
Die Adressen der zu verfahrenden Achsen geben Sie mit Wert Null an.
Mit den Befehlen REPOSA, REPOSQA und REPOSHA werden automatisch alle Achsen
repositioniert. Es ist keine Achsangabe notwendig.
Bei Programmierung von REPOSL, REPOSQ und REPOSH fahren alle Geometrieachsen
automatisch, also auch ohne Angabe im Befehl, an. Alle anderen Achsen müssen im Befehl
angegeben werden.
Für die Kreisbewegungen REPOSH und REPOSQ gilt:
Der Kreis wird in der angegebenen Arbeitsebene G17 bis G19 gefahren.
Falls Sie im Anfahrsatz die dritte Geometrieachse (Zustellrichtung) angeben, wird der
Wiederanfahrpunkt für den Fall, dass Werkzeugposition und programmierte Position in
Zustellrichtung nicht übereinstimmen, auf einer Schraubenlinie angefahren.
In folgenden Fällen wird automatisch auf
lineares Anfahren REPOSL umgeschaltet:
● Sie haben keinen Wert für DISR angegeben.
● Es gibt keine definierte Anfahrrichtung (Programmunterbrechung in einem Satz ohne
Verfahrinformation).
● Bei Anfahrrichtung senkrecht zur aktuellen Arbeitsebene.
Arbeitsvorbereitung
9-58 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 9-59
Bahnverhalten
9.9 Wiederanfahren an Kontur (REPOSA/L, REPOSQ/H, RMI, RMN, RMB, RME)
Arbeitsvorbereitung
9-60 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen 10
10.1 10.1 Struktur, allgemeine 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. Dadurch kann eine Aktion nur einmal
oder aber zyklisch (jeweils im Interpolationstakt) angestoßen werden.
Mögliche Anwendungen:
7HLOHSURJUDPP
6DW]DXIEHUHLWXQJ
DXIEHUHLWHWH6¦W]H
%HGLQJXQJHQ $NWLRQHQ
1&.(LQJ¦QJH 1&.$XVJ¦QJH
6ROOZHUWH 3RVLWLRQHQ
,VWZHUWH *HVFKZLQGLJ
(FKW]HLWYHUDUEHLWXQJ
3RO\QRP NHLWHQ
6\QFKURQDNWLRQHQ
.RHIIL]LHQWHQ 9HUNQ¾SIXQJVORJLN 1&)XQNWLRQHQ
3DUDPHWHU 0HVVHQ
0HUNHU .RSSOXQJHLQVFK
6HUYR:HUWH 0+)NWDXVJHE
3RO\QRP.¦QG
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-1
Bewegungssynchronaktionen
10.1 Struktur, allgemeine Grundlagen
Programmierung
DO Aktion1 Aktion2 …
SCHLÜSSELWORT Bedingung DO Aktion1 Aktion2 …
ID=n SCHLÜSSELWORT Bedingung DO Aktion1 Aktion2 …
IDS=n SCHLÜSSELWORT Bedingung DO Aktion1 Aktion2 …
Befehlselemente
Identifikationsnummer ID/IDS:
Schlüsselwort:
Bedingung:
Hauptlaufvariable.
Die verwendeten Variablen werden im Interpolationstakt ausgewertet. Hauptlaufvariable in
Synchronaktionen lösen keinen Vorlaufstopp aus.
Auswertung:
Treten in einem Teileprogramm Hauptlaufvariablen auf (z.B. Istwert, Stellung eines digitalen
Ein- oder Ausgangs usw.), wird der Vorlauf angehalten, bis der vorhergehende Satz
abgearbeitet ist und die Werte der Hauptlaufvariablen vorliegen.
DO:
Auslösung der Aktion
Koordinierung von Synchronaktionen/Technologiezyklen:
Arbeitsvorbereitung
10-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.1 Struktur, allgemeine Grundlagen
Beispiel
WHEN $AA_IW[Q1]>5 DO M172 H510 ;Wenn der Istwert der Achse Q1 5 mm übersteigt,
;werden die Hilfsfunktionen M172 und H510 an die
;PLC-Nahtstelle ausgegeben.
Funktion
Eine Synchronaktion steht allein im Satz und wirkt ab den nächsten ausführbaren Satz einer
Maschinenfunktion (z. B. Verfahrbewegung mit G0, G1, G2, G3).
Synchronaktionen bestehen aus bis zu 5 Befehlselementen mit unterschiedlichen Aufgaben:
$NWLRQ7HFKQR=
$NWLRQ
RSW*&RGHI¾U
RSW*&RGHI¾U
,'1XPPHU 6FKO¾VVHOZRUW
%HGLQJXQJ
%HGLQJXQJ '2
*¾OWLJNHLWVEHUHLFK $EIUDJHK¦XILJNHLW
7HFKQRORJLH
]\NOXV
Programmierung
ID=n Schlüsselwort Bedingung DO Aktion 1 Aktion 2 ...
Befehlselemente
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-3
Bewegungssynchronaktionen
10.1 Struktur, allgemeine Grundlagen
Beispiel
Funktion
Der Gültigkeitsbereich einer Synchronaktion ist festgelegt durch die Identifikationsnummer:
● keine Modal-ID: satzweise wirksame Synchronaktion im Automatik-Betrieb
● ID=n modal wirksame Synchronaktion im Automatik-Betrieb bei Programmende
● IDS=n modal wirksame Synchronaktion in jeder Betriebsart statisch, auch über
Programmende
Anwendung
● 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 ID(S)-
Nummer (im Interpolationstakt) bearbeitet.
Satzweise wirksame Synchronaktionen (ohne ID-Nummer) werden nach der Abarbeitung der
modal wirksamen Synchronaktionen in der programmierten Reihenfolge bearbeitet.
Maschinenhersteller
Über Maschinendateneinstellungen können modal wirksame Synchronaktionen gegenüber
Änderungen oder Löschungen geschützt werden.
Identifikationsnummer ID
● keine Modal-ID
Die Synchronaktion ist nur im Automatik-Betrieb wirksam. Sie gilt nur für den folgenden
ausführbaren Satz (Satz mit Bewegungsanweisung oder sonstiger Maschinenaktion), ist
also satzweise wirksam.
Beispiel:
Arbeitsvorbereitung
10-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.1 Struktur, allgemeine Grundlagen
● ID=n; n=1..255
Die Synchronaktion wirkt in den folgenden Sätzen modal und kann durch CANCEL(n)
ausgeschaltet oder durch Programmierung einer neuen Synchronaktion mit gleicher ID
überschrieben werden. Die im M30-Satz aktiven Synchronaktionen verzögern das
Programmende. ID-Synchronaktionen wirken nur im Automatik-Betrieb.
Beispiel:
● IDS=n; n=1..255
Die statischen Synchronaktionen wirken modal in allen Betriebsarten. Sie bleiben auch
über das Programmende aktiv und können direkt nach Power On mit einem ASUP
aktiviert werden.
So können Aktionen aktiviert werden, die unabhängig von der gewählten Betriebsart in
der NC ablaufen sollen.
Beispiel:
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
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-5
Bewegungssynchronaktionen
10.1 Struktur, allgemeine Grundlagen
Beispiel
Kein Schlüsselwort
DO $A_OUTA[1]=$AA_IN[X] ;Istwertausgabe auf Analogausgang
EVERY
ID=1 EVERY $AA_IM[B]>75 DO POS[U]=IC(10) FA[U]=900
; immer wenn der Istwert der Achse B im MKS den Wert 75 überschreitet, soll die U-Achse
mit axialem Vorschub um 10 weiterpositionieren.
WHENEVER
Bedingung
Die Bedingung stellt einen logischen Ausdruck dar, der über Boole'sche Operatoren beliebig
aufgebaut sein kann. Boole'sche Ausdrücke sollen immer in Klammern angegeben werden.
Die Bedingung wird im Interpolationstakt überprüft.
Vor der Bedingung kann ein G-Code angegeben werden. Damit kann erreicht werden, dass
unabhängig vom gerade aktiven Teileprogrammzustand für die Auswertung der Bedingung
und die auszuführende Aktion/Technologiezyklus definierte Einstellungen bestehen. Die
Abkopplung der Synchronaktionen vom Programmumfeld ist erforderlich, weil
Synchronaktionen zu beliebigen Zeitpunkten aufgrund erfüllter Auslösebedingungen ihre
Aktionen in definiertem Ausgangszustand ausführen sollen.
Anwendungsfälle
Festlegung der Maßsysteme für Bedingungsauswertung und Aktion durch G-Codes G70,
G71, G700, G710.
Ein angegebener G-Code bei der Bedingung gilt für die Auswertung der Bedingung und für
die Aktion, wenn bei der Aktion kein eigener G-Code angegeben ist.
Pro Bedingungssteil darf nur ein G-Code der G-Code-Gruppe programmiert werden.
Arbeitsvorbereitung
10-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.1 Struktur, allgemeine 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.4 Aktionen
Funktion
In Synchronaktionen können eine oder mehrere Aktionen programmiert werden. Sämtliche in
einem Satz programmierte Aktionen werden im gleichen Interpolationstakt aktiv.
Befehlselemente
WHEN $AA_IM[Y] >= 35.7 DO M135 ;Falls die Bedingung erfüllt ist, wird
$AC_PARAM=50 ;M135 an PLC ausgegeben und der Overrite
;auf 50% gesetzt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-7
Bewegungssynchronaktionen
10.2 Operatoren für Bedingungen und Aktionen
Beispiel
● Grundrechenarten verknüpft
Es gilt Punkt-vor-Strich Rechnung, die Klammerung von Ausdrücken ist zulässig. Die
Operatoren DIV und MOD sind auch für den Datentyp REAL zulässig
● Mathematische Funktionen
DO $AC_PARAM[3] = COS($AC_PARAM[1])
● Echtzeitausdrücke
Arbeitsvorbereitung
10-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
● Hauptlaufvariable indiziert
WHEN…DO $AC_PARAM[$AC_MARKER[1]] = 3
Unzulässig ist
$AC_PARAM[1] = $P_EP[$AC_MARKER]
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-9
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Der 2. Buchstabe wird meistens nur für Hauptlaufvariablen verwendet. Vorlaufvariablen, wie
$P_ werden meist ohne 2. Buchstaben ausgeführt.
Dem Prefix ($ gefolgt von einem oder zwei Buchstaben) folgt immer ein Unterstrich und der
nachfolgende Variablenname meistens als englische Bezeichnung oder Abkürzung.
Datentypen
Hauptlaufvariablen können folgende Datentypen haben:
FRAME Koordinatentransformationen
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
* Bei Typumwandlung von REAL nach INT wird bei gebrochenem Wert >= 0.5
aufgerundet, ansonsten wird abgerundet (vgl. Funktion ROUND).
Bei Werteüberschreitungen wird ein Alarm ausgelöst.
1) Wert <> 0 entspricht TRUE, Wert == 0 entspricht FALSE
Arbeitsvorbereitung
10-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Ergebnisse
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-11
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Funktion
Neben den vordefinierten Variablen kann der Programmierer in Synchronaktionen spezielle
GUD-Variable nutzen. Die Variablen werden auf HMI im Bedienbereich Parameter angezeigt
und können im Wizard sowie in der Variablenansicht und Variablenprotokoll verwendet
werden.
Projektierbare Parameterbereiche
Maschinenhersteller
Über Maschinendaten können die einzelnen GUD-Bausteine für die Datentypen REAL, INT
und BOOL um zusätzliche kanalspezifische Parameterbereiche vom Datentyp AXIS, CHAR
und STRING erweitert werden, die vom Teileprogramm und auch über Synchronaktionen
gelesen und geschrieben werden können.
Die Parameter sind nach Setzen der entsprechenden Maschinendaten mit dem nächsten
Steuerungshochlauf verfügbar.
Zur Projektierung der betreffenden Maschinendaten, siehe Angaben des
Maschinenherstellers.
Vordefinierte Variable
Hinweis
Selbst wenn keine GUD-Definitionsdateien wirksam sind, können über Maschinendaten
definierte neue Parameter im jeweiligen GUD-Baustein von HMI aus gelesen werden.
Arbeitsvorbereitung
10-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Hinweis
Variable vom Typ STRING in Synchronaktionen haben eine feste Länge von 32 Zeichen.
● Feldgröße entsprechend dem <Wert> des Maschinendatums
● Vordefinierte Namen gemäß vorhergehender Liste der vordefinierten Variablennamen.
● Zugriff über HMI erfolgt wie auf die per Definitionsdatei angelegten GUD`s.
● Die Schutzstufenzuweisungen, die bereits in einer GUD Definitionsdatei über
Schlüsselworte APR und APW möglich sind, bleiben weiterhin gültig und beziehen sich
nur auf die in dieser GUD Definitionsdateien definierten GUD`s.
● Löschverhalten: Wird der Inhalt einer bestimmten GUD Definitionsdatei neu aktiviert, so
wird zunächst der alte GUD Datenbaustein im Speicher des aktiven Filesystems gelöscht.
Die neuen Parameter werden dabei gleichfalls zurückgesetzt. Dieser Vorgang ist auch
über HMI im Bedienbereich Dienste in der Bedienoberfläche "Anwenderdaten (GUD)
definieren und aktivieren" möglich.
Funktion
Variablen oder Parameter vom Typ AXIS, die nicht mit einem Wert initialisiert wurden,
können mit definierten Default-Achsbezeichnern versehen werden. Undefinierte
Achsvariablen werden mit diesem Default-Wert mitinitialisiert.
Nicht initialisierte gültige Achsnamen werden über eine Abfrage der Variable "NO_AXIS" in
Synchronaktionen erkannt. Diesen nicht initialisierten Achsbezeichner wird der über ein
Maschinendatum projektierte Default-Achsbezeichner zugewiesen.
Maschinenhersteller
Über Maschinendaten muss mindestens ein gültiger vorhandener Achsbezeichner definiert
und vorbelegt sein. Es können aber auch alle vorhandenen gültigen Achsbezeichner
vorbelegt werden. Bitte beachten Sie die Angaben des Maschinenherstellers.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-13
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Hinweis
Neu angelegte Variable bekommen nun automatisch bei der Definition dem im
Maschinendatum hinterlegten Wert für Default-Achsnamen zugewiesen. Weitere
Informationen zu einer über Maschinendatum gültigen Definition siehe
Literatur
/FBSY/ Funktionsbeschreibung Synchronaktionen
Programmierung
Unterprogrammdefinition
PROC Unterprogrammdefinition
UP Unterprogrammname zur Erkennung
PARn Parameter n
NO_AXIS Initialisierung des Formalparameters mit Default-
Achsbezeichner
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.
Arbeitsvorbereitung
10-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Funktion
Synchronaktions-Parameter $AC_PARAM[n] dienen für Berechnungen und als
Zwischenspeicher in Synchronaktionen. Diese Variablen können entweder im Speicher vom
aktiven oder passiven Filesystem liegen.
$AC_PARAM[0]=1.5
$AC_MARKER[0]=1
ID=1 WHEN $AA_IW[X]>100 DO $AC_PARAM[1]=$AA_IW[X]
ID=2 WHEN $AA_IW[X]>100 DO $AC_MARKER[1]=$AC_MARKER[2]
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-15
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Funktion
Diese statische Feld-Variable dient zu Berechnungen im Teileprogramm und
Synchronaktionen.
Programmierung
Programmierung im Teileprogramm:
REAL R[n]
oder
REAL Rn
Programmierung in Synchronaktionen:
REAL $R[n]
oder
REAL $Rn
Rechenparameter
Die Verwendung von Rechenparametern ermöglicht:
● Abspeicherung von Werten, die über Programmende, NC-Reset und Power On hinweg
erhalten werden sollen.
● Anzeige abgespeicherter Werte im R-Parameter-Bild.
Beispiele
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
Arbeitsvorbereitung
10-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
SYG_IS[0]=1
WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[SYG_IS[0]],SYG_AS[1]]
WHEN $AA_IM[SGY_AS[1]]>10 DO $R3=$$MA_POSCTRL_GAIN[SYG_AS[1]]
WHEN $AA_IM[SGY_AS[1]]>15 DO $$MA_POSCTRL_GAIN[SYG_AS[0]], SYG_AS[1]]=$R3
Funktion
Das Lesen und Schreiben von NC-Maschinen-/Settingdaten ist auch aus Synchronaktionen
möglich. Beim Lesen und Schreiben von Maschinendaten-Feldelementen kann bei der
Programmierung ein Index weggelassen werden. Geschieht dies im Teileprogramm, so wird
beim Lesen das erste Feldelement gelesen und beim Schreiben werden alle Elemente des
Feldes mit dem Wert beschrieben.
In Synchronaktionen wird in diesem Fall nur das erste Element gelesen oder geschrieben.
Festlegung
MD, SD mit
$: Lesen des Wertes zum Interpretationszeitpunkt der Synchronaktionen
$$: Lesen des Wertes im Hauptlauf
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-17
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
Beispiel
Funktion
Die Systemvariable $AC_TIMER[n] ermöglicht das Starten von Aktionen nach definierten
Wartezeiten.
Timer setzen
Das Hochzählen einer Timer-Variable wird gestartet durch Wertzuweisung
$AC_TIMER[n] = value
n: Nummer der Zeitvariable
value: Startwert (i.d.R 0)
Timer anhalten
Das Hochzählen einer Timer-Variable wird gestoppt durch Zuweisung eines negativen
Wertes $AC_TIMER[n]= -1
Timer lesen
Der aktuelle Zeitwert kann bei laufender oder gestoppter Timer-Variablen gelesen werden.
Nach dem Stoppen der Timer-Variablen durch Zuweisung von -1 bleibt der zuletzt aktuelle
Zeitwert stehen und kann weiterhin gelesen werden.
Beispiel
Ausgabe eines Ist-Wertes über Analogausgang
500 ms nach Erkennen eines digitalen Eingangs
Arbeitsvorbereitung
10-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
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
MD 28260: NUM_AC_FIFO festgelegt.
Die Anzahl der in eine FIFO-Variable einschreibbaren Werte wird durch das
Maschinendatum
MD 28264: LEN_AC_FIFO definiert. Alle FIFO-Variablen haben gleiche Länge.
Die Summe aller FIFO-Elemente wird nur gebildet, wenn in MD 28266: MODE_AC_FIFO
Bit0 gesetzt ist.
Die Indizes 0 bis 5 haben Sonderbedeutung:
n=0: Beim Schreiben: neuer Wert wird in den FIFO abgelegt
Beim Lesen: ältestes Element wird gelesen und aus FIFO entfernt
n=1: Zugriff auf das älteste gespeicherte Element
n=2: Zugriff auf das jüngste gespeicherte Element
n=3: Summe aller FIFO-Elemente
n=4: Anzahl der im FIFO verfügbaren Elemente.
Auf jedes Element des FIFO kann lesend und schreibend zugegriffen werden. Das
Rücksetzen der FIFO-Variablen erfolgt durch Rücksetzen der Element-Anzahl, z. B. für die
erste FIFO-Variable: $AC_FIFO1[4] = 0
n=5: aktueller Schreibindex relativ zum FIFO-Anfang
n=6 bis 6+nmax: Zugriff auf n-tes FIFO-Element
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. Bei gleich bleibender Fördergeschwindigkeit muss damit
eine Anpassung der Produktentnahme vom Band an die variablen Ankunftszeiten der
Produkte erfolgen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-19
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
D
E
F
O G
Arbeitsvorbereitung
10-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
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
$AC_BLOCKTYPE $AC_BLOCKTYPEINFO
Wert: Wert:
0 ungleich 0 T H Z E Bedeutung:
Origi- Zwischensatz Auslöser für Zwischensatz:
nalsatz
1 1 0 0 0 Intern generierter Satz, keine weitere Auskunft
2 2 0 0 1 Fasen/Runden: Gerade
2 2 0 0 2 Fasen/Runden: Kreis
Werkzeugkorrektur:
4 4 0 0 1 Anfahrsatz nach STOPRE
4 4 0 0 2 Verbindungssätze bei nicht gefundenem
Schnittpunkt
4 4 0 0 3 Punktförmiger Kreis an Innenecken
(nur bei TRACYL)
4 4 0 0 4 Umfahrungskreis (bzw. Kegelschnitt) an
Außenecken
4 4 0 0 5 Anfahrsätze bei Korrekturunterdrückung
4 4 0 0 6 Anfahrsätze bei erneuter WRK-Aktivierung
4 4 0 0 7 Satzaufspaltung wegen zu hoher Krümmung
4 4 0 0 8 Ausgleichssätze beim 3D-Stirnfräsen
(WerkzeugVektor || Flächenvektor)
Überschleifen durch:
5 5 0 0 1 G641
5 5 0 0 2 G642
5 5 0 0 3 G643
5 5 0 0 4 G644
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-21
Bewegungssynchronaktionen
10.3 Hauptlaufvariablen für Synchronaktionen
$AC_BLOCKTYPE $AC_BLOCKTYPEINFO
Wert: Wert:
0 ungleich 0 T H Z E Bedeutung:
Origi- Zwischensatz Auslöser für Zwischensatz:
nalsatz
TLIFT-Satz mit:
6 6 0 0 1 linearer Bewegung der Tangentialachse und
ohne Abhebebewegung
6 6 0 0 2 nichtlinearer Bewegung der Tangentialachse
(Polynom) und ohne Abhebebewegung
6 6 0 0 3 Abhebebwegung, Tangentialachsbewegung und
Abhebebeweung starten gleichzeitig
6 6 0 0 4 Abhebebwegung, Tangentialachse startet erst,
wenn bestimmte Abhebeposition erreicht wird.
Wegaufteilung:
7 7 0 0 1 programmierte Wegaufteilung ohne das Stanzen
oder Nibbeln aktiv ist
7 7 0 0 2 programmierte Wegaufteilung mit aktivem
Stanzen oder Nibbeln
7 7 0 0 3 automatisch intern generierte Wegaufteilung
Compile Zyklen:
8 ID-Applikation ID der Compile-Zyklen-Applikation, die den Satz
erzeugt hat
Hinweis
$AC_BLOCKTYPEINFO enthält in der Tausenderstelle (T) immer auch den Wert für
Blocktype für den Fall, dass ein Zwischensatz vorliegt. In $AC_BLOCKTYPE ungleich 0 wird
die Tausenderstelle nicht übernommen.
T: Tausenderstelle
H: Hunderterstelle
Z: Zehnerstelle
E: Einerstelle
$AC_SPLITBLOCK
Wert: Bedeutung:
0 Unveränderter programmierter Satz, (ein durch den Kompressor generierter Satz
wird auch als programmierter Satz behandelt)
1 Es liegt ein intern generierter Satz oder ein verkürzter Originalsatz vor
3 Es liegt der letzte Satz in einer Kette von intern generierten Sätzen oder
verkürzten Originalsätzen vor
Arbeitsvorbereitung
10-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
$AC_MARKER[0]=0
$AC_MARKER[1]=0
$AC_MARKER[2]=0
...
;Definition von Synchronaktionen, mit denen
;Überschleifsätze gezählt werden
;alle Überschleifsätze zählen in $AC_MARKER[0]
ID = 1 WHENEVER ($AC_TIMEC ==0) AND ($AC_BLOCKTYPE==5) DO _
$AC_MARKER[0]= $AC_MARKER[0] + 1
...
;Mit G641 erzeugte Überschleifsätze zählen in $AC_MARKER[1]
ID = 2 WHENEVER ($AC_TIMEC ==0) AND ($AC_BLOCKTYPEINFO==5001) DO _
$AC_MARKER[1]= $AC_MARKER[1] + 1
...
;Mit G642 erzeugte Überschleifsätze zählen in $AC_MARKER[2]
ID = 3 WHENEVER ($AC_TIMEC ==0) AND ($AC_BLOCKTYPEINFO==5002) DO _
$AC_MARKER[2]= $AC_MARKER[2] + 1
...
10.4.1 Übersicht
Allgemeines
Aktionen in Synchronaktionen bestehen aus Wertzuweisungen, Funktions- oder
Parameteraufrufen, Schlüsselwörter oder Technologiezyklen.
Über Operatoren sind komplexe Ausführungen möglich.
Synchronaktionen wurden fortlaufend für Ausdrücke, verwendbare Hauptlaufvariable und
komplexe Bedingungen in Synchronaktionen über mehrere Softwarestände aktualisiert.
Möglich sind folgende Anwendungen:
● Berechnungen komplexer Ausdrücke im IPO-Takt
● Achsbewegungen und Spindelsteuerungen
● Settingdaten aus Synchronaktionen online zu verändern und auszuwerten wie z. B.
Positionen und Zeiten von Softwarenocken an PLC oder NC-Peripherie ausgeben
● Hilfsfunktionsausgabe an PLC
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-23
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Arbeitsvorbereitung
10-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-25
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
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
Hinweis
Folgende Hilfsfunktionen sind in Synchronaktion heraus nicht erlaubt:
• M0, M1, M2, M17, M30: Programm-Halt/-Ende (M2, M17, M30 möglich bei
Technologiezyklus)
• M70: Spindelfunktion
• M6 bzw. über Maschinendatum eingestellte M-Funktionen für den Werkzeugwechsel
• M40, M41, M42, M43, M44, M45: Getriebeschaltung
Beispiel
Arbeitsvorbereitung
10-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
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.
Beispiel
Abhängig von externen Eingängen Programm im Interpolationstakt starten.
...
WHENEVER $A_INA[2]<7000 DO RDISABLE ;Falls am Eingang 2 die Spannung von 7V
;unterschritten wird, Programmfortsetzung
;anhalten (1000= 1V).
N10 G1 X10 ;wenn Bedingung erfüllt ist, wirkt
;Einlesesperre am Ende von N10
N20 G1 X10 Y20
...
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-27
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
Bei explizit programmiertem Vorlaufstopp STOPRE oder durch eine aktive Synchronaktion
implizit aktiviertem Vorlaufstopp hebt STOPREOF, sobald die Bedingung erfüllt ist, den
Vorlaufstopp nach dem nächsten Bearbeitungssatz auf.
Hinweis
STOPREOF muss mit dem Schlüsselwort WHEN und satzweise (ohne ID-Nummer)
programmiert werden.
Beispiel
Schnelle Programmverzweigung am Satzende.
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. B. wenn
● die Zeit zwischen Restweglöschen und Start des Folgesatzes sehr kurz sein soll.
● die Bedingung für das Restweglöschen mit sehr hoher Wahrscheinlichkeit erfüllt wird.
Hinweis
Die dem DELDTG in Klammer nachgestellte Achsbezeichnung ist nur für eine
Positionierachse gültig.
Arbeitsvorbereitung
10-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Programmierung
Restweglöschen für die Bahn
DO DELDTG
oder
axiales Restweglöschen
DO DELDTG(Achse1) DELDTG(Achse2) ...
Beschreibung
Am Ende des Bewegungssatzes, in dem vorbereitetes Restweglöschen ausgelöst wurde,
wird implizit Vorlaufstopp aktiviert.
Bahnsteuerbetrieb bzw. Positionierachsbewegungen werden damit am Ende des Satzes mit
schnellem Restweglöschen unterbrochen bzw. gestoppt.
Hinweis
Vorbereitetes Restweglöschen
• kann bei aktiver Werkzeugradiuskorrektur nicht eingesetzt werden.
• darf nur in satzweise wirksamen Synchronaktionen (ohne ID-Nummer) Aktion
programmiert werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-29
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
Mit FCTDEF können Polynome 3. Grades in der Form y=a0+a1x+a2x2+a3x3 definiert werden.
Diese Polynome werden von der Online-Werkzeugkorrektur FTOC und der Auswertefunktion
SYNFCT benutzt.
Programmierung
FCTDEF(Polynom-Nr.,LLIMIT,ULIMIT,a0,a1,a2,a3)
Parameter
Hinweis
Systemvariablen schreiben
• Die Systemvariablen können vom Teileprogramm oder aus einer Synchronaktion heraus
geschrieben werden. Beim Schreiben vom Teileprogramm aus muss durch
Programmierung von STOPRE für satzsynchrones Schreiben gesorgt werden.
• Die Systemvariablen $AC_FCTLL[n], $AC_FCTUL[n], $AC_FCT0[n] bis
$AC_FCTn[n] sind aus Synchronaktionen änderbar
Beim Schreiben aus Synchronaktionen sind die Polynomkoeffizienten und
Funktionswertgrenzen sofort wirksam.
Arbeitsvorbereitung
10-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
I;
2EHUJUHQ]H
D ;
8QWHUJUHQ]H
D
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.
6DW]HQGH
$&B)&782 >@
(; $&B)&7>@
6DW]DQIDQJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-31
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
$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.
Funktion
SYNFCT berechnet den Ausgangswert eines Polynoms 3. Grades gewichtet mit der
Eingangs-Variablen. Das Ergebnis steht in der Ausgangs-Variablen und wird nach oben und
unten begrenzt.
Die Auswertefunktion findet Anwendung
● bei AC-Regelung (Adaptive Control),
● bei Laserleistungssteuerung,
● bei Positionsaufschaltung.
Programmierung
SYNFCT(Polynom-Nr., Hauptlaufvariable-Ausgang, Hauptlaufvariable-
Eingang)
Parameter
Als Ausgangs-Variable können Variable gewählt werden, die
● mit additiver Beeinflussung
● mit multiplikativer Beeinflussung
● als Positionsoffset
● direkt
in den Bearbeitungsvorgang eingehen.
Arbeitsvorbereitung
10-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
)
PPPLQ
>@
2EHUJUHQ]H
,
>@
$
8QWHUJUHQ]H
1. Polynomdefinition
Bestimmung der Koeffizienten
y = f(x) = a0 + a1x + a2x2 + a3x3
a1 = -100mm/1 min A
a0 = -(-100)*5 =500
a2 = a3 = 0 (kein quadratisches und kubisches Glied)
Obergrenze = 100
Untergrenze = -100
Daraus folgt:
FCTDEF(1,-100,100,500,-100,0,0)
2. AC-Regelung einschalten
ID=1 DO SYNFCT(1,$AC_VC,$AA_LOAD[x])
;Über $AA_LOAD[x] aktuelle Achslast (% max. Antriebsstrom) lesen,
;mit oben definiertem Polynom Bahnvorschubkorrektur berechnen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-33
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
295
>@
2EHUJUHQ]H
8QWHUJUHQ]H
/RDG
>@
1. Polynomdefinition
Bestimmung der Koeffizienten
y = f(x) = a0 + a1x + a2x2 + a3x3
a1 = -100%/(80-30)% = -2
a0 = 100 + (2*30) = 160
a2 = a3 = 0 (kein quadratisches und kubisches Glied)
Obergrenze = 120
Untergrenze = 0
Daraus folgt:
FCTDEF(2,0,120,160,-2,0,0)
2. AC-Regelung einschalten
ID=1 DO SYNFCT(2,$AC_OVR,$AA_LOAD[x])
;Über $AA_LOAD[x] aktuelle Achslast (% max. Antriebsstrom) lesen,
;mit oben definiertem Polynom Vorschuboverride berechnen
Arbeitsvorbereitung
10-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
Die integrierende Berechnung der Abstandswerte erfolgt mit Grenzbereichsprüfung
$AA_OFF_MODE = 1
= HLQGLPHQVLRQDOH$EVWDQGVUHJHOXQJ
$EVWDQG
6HQVRU
]%%OHFK
PP
;
¾EHUODJHUWH*HVFKZLQGLJNHLW
2EHUJUHQ]H
PPLQ
9 9
9
8QWHUJUHQ]H
Achtung
Die Kreisverstärkung des überlagerten Regelkreises ist abhängig von der Einstellung des
Ipo-Taktes.
Abhilfe: MD für Ipo-Takt lesen und einrechnen.
Hinweis
Begrenzung der Geschwindigkeit des überlagerten Interpolators durch MD 32020:
JOG_VELO bei Ipo-Takt 12 ms. Formel für Geschwindigkeit:
0.120mm m
/ mV = 0.6 /V
0.6ms min
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-35
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Beispiel
Unterprogramm:Abstandsregelung Ein
Unterprogramm:Abstandsregelung Aus
%_N_AOFF_SPF
PROC AOFF ;Unterprogramm für Abstandsregel. Aus
CANCEL(1) ;Synchronaktion Abstandsregel. löschen
CANCEL(2) ;Grenzbereichsprüfung löschen
RET
ENDPROC
Hauptprogramm
%_N_MAIN_MPF
AON ;Abstandsregelung Ein
...
G1 X100 F1000
AOFF ;Abstandsregelung Aus
M30
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
SD 43350: AA_OFF_LIMIT hinterlegten Wert zu begrenzen.
Arbeitsvorbereitung
10-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Über das Maschinendatum MD 36750: AA_OFF_MODE wird die Art der Überlagerung des
Abstandes festgelegt:
0: proportionale Bewertung
1: integrierende Bewertung
Mit der Systemvariable $AA_OFF_LIMIT[Achse] kann richtungsabhängig abgefragt
werden, ob sich der Korrekturwert im Grenzbereich befindet. Diese Systemvariable kann aus
Synchronaktionen abgefragt werden und beim Erreichen eines Grenzwertes, z. B. die Achse
stoppen oder Alarm setzen.
0: Korrekturwert nicht im Grenzbereich
1: Limit des Korrekturwertes in positiver Richtung erreicht
-1: Limit des Korrekturwertes in negativer Richtung erreicht
Funktion
FTOC ermöglicht eine überlagerte Bewegung für eine Geometrieachse nach einem mit
FCTDEF programmierten Polynom in Abhängigkeit von einem Bezugswert, der z. B. der
Istwert einer Achse sein kann.
Der Koeffizient a0 der Funktionsdefinition FCTDEF( ) wird bei FTOC ausgewertet.
Ober- und Untergrenze sind abhängig von a0.
Damit können Sie auch modale Online-Werkzeugkorrekturen oder Abstandsregelungen als
Synchronaktionen programmieren.
Diese Funktion findet Anwendung bei der Bearbeitung des Werkstücks und Abrichten der
Schleifscheibe im gleichen Kanal oder in unterschiedlichen Kanälen (Bearbeitungs- und
Abrichtkanal).
Die Randbedingungen und Festlegungen zum Abrichten von Schleifscheiben gelten für
FTOC analog zur Online-Werkzeugkorrektur mit PUTFTOCF. Informationen hierzu finden
Sie in Kapitel "Werkzeugkorrekturen".
Programmierung
FTOC(Polynom-Nr., EV, Länge1_2_3 oder Radius4, Kanal, Spindel)
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-37
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Kanal Nummer des Kanals, in dem die Korrektur wirksam wird. Für
eine Korrektur im aktiven Kanal erfolgt hier keine Angabe.
Im Zielkanal muss FTOCON eingeschaltet sein.
Spindel Nur anzugeben, falls nicht die aktive Spindel korrigiert
werden soll.
Beispiel
Im Beispiel soll die Länge der aktiven, im Eingriff befindlichen Schleifscheibe korrigiert
werden.
$EULFKWUROOH
$EULFKWEHWUDJ
6FKOHLIVFKHLEH
]XNRUULJLHUHQGH
/¦QJH
:HUNVW¾FN
%_N_ABRICHT_MPF
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.
WAITM(1,1,2) ;Synchronisation mit Bearbeitungskanal
G1 V-0.05 F0.01 G91 ;Zustellbewegung zum Abrichten
G1 V-0.05 F0.02
...
CANCEL(1) ;Online-Korrektur abwählen
...
Arbeitsvorbereitung
10-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
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.
Programmierung
N.. TRAORI
N.. TOFFON(X, 25)
N.. WHEN TRUE DO $AA_TOFF[X]
N.. TOFFON(Y, 25)
N.. WHEN TRUE DO $AA_TOFF[Y]
N.. TOFFON(Z, 25)
N.. WHEN TRUE DO $AA_TOFF[Z]
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-39
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
...
N100 XOFFSET = $AA_TOFF_VAL[X] ;aktuelle Korrektur in X-Richtung zuweisen
N120 TOFFON(X, -XOFFSET) ;für die X-Werkzeugrichtung wird die
G4 F5 ;WZL-Korrektur wieder zu 0 zurückgefahren
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; Kapitel "Wegangaben"
/FBSY/ Funktionsbeschreibung Synchronaktionen; "Starten von Kommandoachsen"
Parameter
Das Maßsystem für Positionieraufgaben in Synchronaktionen wird mit den G-Codes
G70/G71/G700/G710 festgelegt.
Durch Programmieren von G-Funktionen in der Synchronaktion kann die INCH/METRIC-
Bewertung für die Synchronaktion unabhängig vom Teileprogrammkontext festgelegt
werden.
Arbeitsvorbereitung
10-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
Die Positionierachsbewegung hat im Gegensatz zur Programmierung aus dem
Teileprogramm keinen Einfluss auf die Abarbeitung des Teileprogramms.
Programmierung
POS[Achse] = Wert
Parameter
Beispiel
Beispiel
Programmumgebung beeinflusst Positionierweg der Positionierachse
(keine G-Funktion im Aktionsteil der Synchronaktion
N100 R1=0
N110 G0 X0 Z0
N120 WAITP(X)
N130 ID=1 WHENEVER $R==1 DO POS[X]=10
N140 R1=1
N150 G71 Z10 F10 ;Z=10 mm X=10 mm
N160 G70 Z10 F10 ;Z=254 mm X=254 mm
N170 G71 Z10 F10 ;Z=10 mm X=10 mm
N180 M30
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-41
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
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 ;Z=10 mm X=10 mm
N160 G70 Z10 F10 ;Z=254 mm X=10 mm (X positioniert
;immer auf 10 mm)
N170 G71 Z10 F10 ;Z=10 mm X=10 mm
N180 M30
Soll die Achsbewegung nicht mit Satzanfang gestartet werden, kann der Override für die
Achse aus einer Synchronaktion bis zum gewünschten Startzeitpunkt auf 0 gehalten werden.
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.
Hinweis
Die Funktion kann nur aus der Synchronaktion aufgerufen werden. Beim Aufruf aus dem
Teileprogramm erfolgt der Alarm 14091 %1 Satz %2 Funktion nicht zulässig, Index: %3 mit
dem Index 5 aufgerufen.
Programmierung
BOOL POSRANGE(Achse, Refpos, Winlimit,[Coord])
Arbeitsvorbereitung
10-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Parameter:
Funktionswert
Aktuelle Sollposition je nach Positionsangabe im vorgegebenen Koordinatensystem
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.
Programmierung
MOV[Achse] = Wert
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-43
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Hinweis
Wird eine Teilungsachse mit MOV[Achse] = 0 gestoppt, wird die Achse an nächster
Teilungsposition angehalten.
Beispiel
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. Abhängig vom eigentlichen
Zustand und vom Kanal der das aktuelle Interpolationsrecht dieser Achse besitzt, sind
unterschiedliche Abläufe möglich.
Ist der Werkzeugwechsel vollzogen, dann kann diese Kommandoachse als Aktion einer
Synchronaktion mit RELEASE(Achse) für den Kanal freigegeben werden.
Maschinenhersteller
Die betreffende Achse muss dem Kanal über Maschinendaten zugeordnet sein. Bitte
beachten Sie die Angaben des Maschinenherstellers
Programmierung
GET(Achse[,Achse{,...}]) Achse anfordern
RELAESE(Achse[,Achse{,...}]) Achse freigeben
Parameter
Arbeitsvorbereitung
10-44 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Programmablauf im 2. Kanal:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-45
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Die Zeile der Kommandoachsbewegung POS[U] wird erst ausgeführt, wenn die U-Achse in
den Kanal 2 geholt wurde.
Ablauf
Die zum Aktivierungszeitpunkt der Aktion GET(Achse) angeforderte Achse kann bezüglich
des 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
● 2: ein anderer Kanal hat Interpolationsrecht
● 3: Achse ist neutrale Achse
● 4: neutrale Achse ist vom PLC kontrolliert
● 5: ein anderer Kanal hat Interpolationsrecht, Achse ist angefordert für das NC-Programm
● 6: ein anderer Kanal hat Interpolationsrecht, Achse ist angefordert als neutrale Achse
● 7: Achse der PLC oder als Kommandoachse oder Pendelachse aktiv, Achse ist
angefordert für das NC-Programm
● 8: Achse der PLC oder als Kommandoachse oder Pendelachse aktiv, Achse ist
angefordert als neutrale Achse
Randbedingungen
Die betreffende Achse muss dem Kanal über Maschinendaten zugeordnet sein.
Eine ausschließlich von der PLC kontrollierte Achse kann nicht dem NC–Programm
zugeordnet werden.
Literatur:
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Positionierachsen (P2)
Achse aus einem anderen Kanal mit der Aktion GET anfordern
Hat zum Aktivierungszeitpunkt der Aktion GET ein anderer Kanal das Schreibrecht
(Interpolationsrecht) für die Achse ($AA_AXCHANGE_TYP[<Achse>] == 2), so wird die
Achse mittels Achstausch von diesem Kanal angefordert
($AA_AXCHANGE_TYP[<Achse>]==6) und sobald als möglich dem anfordernden Kanal
zugeordnet.
Sie nimmt dann den Zustand neutrale Achse an ($AA_AXCHANGE_TYP[<Achse>]==3).
Ein Reorganisieren im anfordernden Kanal findet nicht statt.
Arbeitsvorbereitung
10-46 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Achse ist als neutrale Kommandoachse bzw. Pendelachse aktiv oder der PLC zugeordnet
Ist die Achse als Kommandoachse bzw. Pendelachse aktiv oder der PLC zum Verfahren
zugeordnet, PLC–Achse == konkurrierende Positionierachse,
($AA_AXCHANGE_TYP[<Achse>]==1),so wird die Achse als neutrale Achse angefordert
($AA_AXCHANGE_TYP[<Achse>] == 8), dabei wird die Achse abhängig vom Bit 0 im
Maschinendatum MD 10722: AXCHANGE_MASK für einen automatischen Achstausch
zwischen Kanälen gesperrt (Bit 0 == 0). Dies entspricht ($AA_AXCHANGE_STAT[<Achse>]
==1).
Eine erneute GET–Aktion fordert die Achse dann für das NC–Programm an
($AA_AXCHANGE_TYP[<Achse>] wird == 7).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-47
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
Der axiale Vorschub für Kommandoachsen ist modal wirksam.
Programmierung
FA[Achse]=Vorschub
Beispiel
10.4.17 SW-Endschalter
Funktion
Die mit G25/G26 programmierte Arbeitsfeldbegrenzung wird in Abhängigkeit vom
Settingdatum $SA_WORKAREA_PLUS_ENABLE für die Kommandoachsen berücksichtigt.
Ein- und Ausschalten der Arbeitsfeldbegrenzung über die G-Funktionen
WALIMON/WALIMOF im Teileprogramm wirkt nicht auf Kommandoachsen.
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.
Wird eine Kommandoachse anschließend aus dem Teileprogramm verfahren, so erfordert
dies eine Reorganisation der Vorverarbeitung. Dies wiederum bedingt eine Unterbrechung
der Teileprogrammbearbeitung, vergleichbar einem Vorlaufstopp.
Arbeitsvorbereitung
10-48 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
…
CANCEL(1) ;Synchronaktion abwählen
…
N100 G01 X240 Y200 F1000
;X wird Bahnachse; vor Bewegung tritt Wartezeit aufgrund von Achsübergabe auf,
;falls digitaler Eingang 1 war und X aus Synchronaktion positioniert wurde.
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
● alle Kommandoachsen, die aus der Synchronaktion gestartet wurden
Programmierung
DO PRESETON(Achse, Wert)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-49
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Parameter
Beispiel
Steuerungsnullpunkt einer Achse verschieben
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.
Arbeitsvorbereitung
10-50 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
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. Die Funktionalität des Mitschleppens wird im Kapitel
"Bahnfahrverhalten" beschrieben.
Programmierung
Mitschleppen einschalten
DO TRAILON(Folgeachse, Leitachse, Koppelfaktor)
Mitschleppen ausschalten
DO TRAILOF(Folgeachse, Leitachse, Leitachse 2)
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-51
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Beispiel
Arbeitsvorbereitung
10-52 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
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.
Programmierung
Leitwertkopplung einschalten
DO LEADON(Folgeachse, Leitachse, Kurvtab. Nr., OVW)
Leitwertkopplung ausschalten
DO LEADOF(Folgeachse, Leitachse, Leitachse 2)
Parameter
... DO LEADOF(FA)
verkürzte Form ohne Angabe der Leitachse
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-53
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
%_N_SCHERE1_MPF
;$PATH=/_N_WKS_DIR/_N_DEMOFBE_WPD
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) ;Tabellendefinition
N800 X=30 Y=30 ;Wertepaare
N900 X=R13 Y=R13
N1000 X=2*R13 Y=30
N1100 CTABEND ;Ende der Tabelledefinition
N1200 PRESETON(X1,0) ;PRESET zu Beginn
N1300 Y=R6 G0 ;Startposition Y Achse, Achse ist linear
N1400 ID=1 WHENEVER $AA_IW[X]>$R3 DO PESETON(X1,0)
;PRESET nach Länge R3, neuer Beginn nach Abtrennen
N1500 RELEASE(Y)
N1800 ID=6 EVERY $AA_IM[X]<10 DO LEADON(Y,X,1)
;Y über Tabelle 1 an X ankoppeln bei X
<10
N1900 ID=10 EVERY $AA_IM[X]>$R3-30 DO EADOF(Y,X)
;> 30 vor gefahrener Trennlänge abkoppeln
N2000 WAITP(X)
N2100 ID=7 WHEN $R1==1 DO MOV[X]=1 ;Strangachse stetig in Bewegung setzen
FA[X]=$R4
N2200 M30
Arbeitsvorbereitung
10-54 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
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
Programmierung
Axiales Messen ohne Restweglöschen
MEAWA[Achse] = (Modus, Triggerereignis_1, ..._4)
oder
Kontinuierliches Messen ohne Restweglöschen
MEAC[Achse] = (Modus, Messpeicher, Triggerereignis_1, ..._4))
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-55
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
In Synchronaktionen können Feld-Variablen initialisiert oder mit bestimmten Werten
beschrieben werden.
Programmierung
DO FELD[n,m]=SET(Wert1, Wert2, ...)
oder
DO FELD[n,m]=REP(Wert)
Die Initialisierung beginnt bei den programmierten Feldindizes. Bei 2-dimensionalen Feldern
wird zuerst der 2. Index inkrementiert. Bei Achsindizes wird dieser nicht durchlaufen.
SET(Werteliste)
Das Feld wird von den programmierten Feldindizes an mit den Parametern von SET
beschrieben. Es werden so viele Feldelemente zugewiesen, wie Werte programmiert sind.
Werden mehr Werte programmiert als restliche Feldelemente vorhanden sind, so wird
dadurch System Alarm ausgelöst.
REP(Wert)
Das Feld wird von den programmierten Feldindizes an bis zum Feldende wiederholt mit dem
Parameter von REP beschrieben.
Beispiel
Arbeitsvorbereitung
10-56 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Funktion
In Synchronaktionen können Wartemarken gesetzt bzw. gelöscht werden, um z. B. Kanäle
untereinander zu koordinieren.
Programmierung
DO SETM(MarkerNummer)
oder
DO CLEARM(MarkerNummer)
SETM
Der Befehl SETM kann im Teileprogramm und im Aktionsteil einer Synchronaktion
geschrieben werden. Er setzt die Marke MarkerNummer für den Kanal, in dem der Befehl
läuft.
CLEARM
Der Befehl CLEARM kann im Teileprogramm und im Aktionsteil einer Synchronaktion
geschrieben werden. Er löscht die Marke (MarkerNummer) für den Kanal, in dem der Befehl
läuft.
Funktion
Fehlerreaktionen können mit Synchronaktionen programmiert werden, indem
Zustandsvariable abgefragt werden und entsprechende Aktionen ausgelöst werden.
Mögliche Reaktionen auf Fehlerzustände sind:
● Achse stoppen: Override=0
● Alarm setzen: Mit SETAL können Zyklen-Alarme aus Synchronaktionen gesetzt werden.
● Ausgang setzen
● sämtliche in Synchronaktionen mögliche Aktionen
Zyklenalarm setzen
DO SETAL(AlarmNummer)
Zyklenalarmbereich für den Anwender: 65000 bis 69999
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-57
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Beispiel
Funktion
Die Befehle für Fahren auf Festanschlag werden mit den Teileprogrammbefehlen FXS,
FXST und FXSW in Synchronaktionen/Technologiezyklen programmiert.
Die Aktivierung kann ohne Bewegung erfolgen, das Moment wird sofort begrenzt. Sobald die
Achse sollwertseitig bewegt wird, wird auf Anschlag überwacht.
Fahren mit begrenztem Moment/Kraft (FOC):
Die Funktion gestattet es über Synchronaktionen zu jeder Zeit Moment/Kraft zu ändern und
kann modal oder satzbezogen aktiviert werden.
Parameter
Hinweis
Eine Anwahl darf nur einmal erfolgen.
Arbeitsvorbereitung
10-58 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Mehrfache Anwahl
Wird durch eine fehlerhafte Programmierung die Funktion nach der Aktivierung
FXS[Achse]=1) nochmals aufgerufen, wird der Alarm 20092 "Fahren auf Festanschlag
noch aktiv" ausgelöst.
Eine Programmierung, die in der Bedingung entweder $AA_FXS[] oder einen eigenen
Merker (hier R1) abfragt, vermeidet eine mehrfache Aktivierung der Funktion
Teilprogrammfragment.
N10 R1=0
N20 IDS=1 WHENEVER ($R1==0 AND
$AA_IW[AX3] > 7) DO R1=1 FXST[AX1]=12
Satzbezogene Synchronaktionen
Durch die Programmierung einer satzbezogenen Synchronaktion kann Fahren auf
Festanschlag während einer Anfahrbewegung zugeschaltet werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-59
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Beispiel:
N10 G0 G90 X0 Y0
N20 WHEN $AA_IW[X] > 17 DO FXS[X]=1 ;Erreicht X eine Position größer 17mm
;wird
N30 G1 F200 X100 Y110 ;FXS aktiviert
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. Existiert
kein Nachfolgesatz im Hauptlauf, so wird der Winkel -180.0 Grad ausgegeben.
Die Systemvariable $AC_TANEB sollte nicht für Sätze, die vom System erzeugt werden
(Zwischensätze) gelesen werden. Zur Unterscheidung, ob es sich um einen programmierten
Satz (Hauptsatz) handelt, dient die Systemvariable $AC_BLOCKTYPE.
Beispiel
ID=2 EVERY $AC_BLOCKTYPE==0 DO $SR1 = $AC_TANEB
Funktion
Der aktuelle Override
(NC-Anteil) kann mit den Systemvariablen:
$AA_OVR Axial Override
$AC_OVR Bahnoverride
in Synchronaktionen gelesen und geschrieben werden.
Der von der PLC vorgegebene Override wird für Synchronaktionen in den Systemvariablen:
Arbeitsvorbereitung
10-60 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.4 Aktionen in 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.
,327DNW
01B,32B0$;B/2$'
*UHQ]ZHUWI¾U$XVQXW]XQJGHV,327DNWHV
$1B,32B$&7B/2$'
DNW,325HFKHQ]HLWLQNO.DQDOV\QFKU
$1B6<1&B$&7B/2$'
DNW5HFKHQ]I6$
¾EHUDOOH.DQ¦OH
$&B6<1&B$&7B/2$' .DQDO
5HFKHQ]HLWI6\QFKURQDNWLRQHQYRQ.DQDO
$&B6<1&B$&7B/2$' .DQDO
5HFKHQ]HLWI6\QFKURQDNWLRQHQYRQ.DQDO
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-61
Bewegungssynchronaktionen
10.4 Aktionen in Synchronaktionen
Parameter
Die Variablen haben nur gültige Werte, wenn das Maschinendatum $MN_IPO_MAX_LOAD
größer als 0 ist. Andernfalls geben die Variablen sowohl für SINUMERIK powerline als auch
für solution line Systeme immer die Nettorechenzeit an, bei der die durch HMI erzeugten
Unterbrechungen nicht mehr berücksichtigt werden. Die Nettorechenzeit ergibt sich aus:
● Synchronaktionszeit,
● Lageregelungszeit und der
● restlichen IPO-Rechenzeit ohne HMI bedingte Unterbrechungen
Arbeitsvorbereitung
10-62 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
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.
Programmierung
● Das Programmende wird mit M02/M17/M30/RET programmiert.
● Innerhalb einer Programmebene können alle in ICYCOF angegebenen Aktionen ohne
Wartezyklen in einem Takt abgearbeitet werden.
● Es können bis zu 8 Technologiezyklen pro Synchronaktion hintereinander abgefragt
werden.
● Technologiezyklen sind auch in satzweisen Synchronaktionen möglich.
● Es können sowohl IF-Kontrollstrukturen als auch Sprunganweisungen GOTO, GOTOF
und GOTOB programmiert werden.
Sätze mit DEF und DEFINE Anweisungen in Technologiezyklen
● DEF und DEFINE Anweisungen werde in Technologiezyklen überlesen
● sie führen weiterhin bei nicht korrekter oder unvollständiger Syntax zur Alarmmeldung
● können ohne selbst angelegt zu werden, ohne Alarmmeldung überlesen werden
● werden mit Wertzuweisungen als Teileprogrammzyklus vollständig berücksichtigt
Parameterübergabe
Eine Parameterübergabe an Technologiezyklen ist möglich. Berücksichtigt werden sowohl
einfache Datentypen, die als Formal-Parameter "Call by Value" übergeben werden, als auch
Defaulteinstellungen, die beim Aufruf von Technologiezyklen wirksam werden. Dies sind:
● Programmierte Defaultwerte, wenn kein Übergabeparameter programmiert ist.
● Default-Parameter mit Initialwerte zu versehen.
● Nicht initialisierte Aktualparameter mit einem Defaultwert übergeben.
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 sequentiell.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-63
Bewegungssynchronaktionen
10.5 Technologiezyklen
Beispiel
Durch Setzen digitaler Eingänge werden Achs-Programme gestartet.
0
Technologiezyklus ACHSE_X:
$AA_OVR[Y]=0
M100
POS[X]=100 FA[X]=300
M17
Technologiezyklus ACHSE_Y:
POS[Y]=10 FA[Y]=200
POS[Y]=-10
M17
Technologiezyklus ACHSE_Z:
$AA_OVR[X]=0
POS[Z]=90 FA[Z]=250
POS[Z]=-90
M17
Arbeitsvorbereitung
10-64 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.5 Technologiezyklen
PROC CYCLE
N10 DEF REAL "wert"=12.3
N15 DEFINE ABC AS G01
Beide Sätze werden ohne Alarm und ohne Anlegen der Variable bzw. des Makros überlesen
PROC CYCLE
N10 DEF REAL
N15 DEFINE ABC G01
Beide Sätze führen weiterhin zum NC Alarm, weil die Syntax nicht korrekt geschrieben ist.
PROC CYCLE
N10 DEF AXIS "achse1"=XX2
Ist die Achse XX2 nicht bekannt, wird Alarm 12080 ausgegeben. Anderenfalls wird der Satz
ohne Alarm und ohne Anlegen der Variable überlesen.
PROC CYCLE
N10 DEF AXIS "achse1"
N15 G01 X100 F1000
N20 DEF REAL"wert1"
Der Satz N20 führt immer zum Alarm 14500, weil die DEF - Anweisung nach der ersten
Programmzeile nicht erlaubt ist.
Funktion
Mit Hilfe der Variable $P_TECCYCLE können Programme in Synchronaktionsprogramme
und Vorlaufprogramme unterteilt werden. Dadurch ist es möglich, von der Syntax korrekt
geschriebene Sätze oder Programmsequenzen, alternativ auch als Teileprogrammzyklus
abzuarbeiten.
Kontext-Variable interpretieren
Die Systemvariable $P_TECCYCLE ermöglicht kontext-spezifische Interpretationen von
Programmteilen in Technologiezyklen zu steuern falls
sonst
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-65
Bewegungssynchronaktionen
10.5 Technologiezyklen
Hinweis
Ein Satz mit fehlerhafter oder unerlaubter Programmsyntax sowie nicht bekannte
Wertzuweisungen führen auch im Teileprogrammzyklus zu einer Alarmmeldung.
PROC CYCLE
N10 DEF REAL "wert1" ;wird im Technologiezyklus überlesen
N15 G01 X100 F1000
N20 IF $P_TECCYCLE==TRUE
N25 "Programmsequenz für Technologiezyklus (ohne Variable wert1)"
N30 ELSE
N35 "Programmsequenz für Teileprogrammzyklus (Variable wert1ist vorhanden)"
ENDIF
Funktion
Technologiezyklen können mit Call by Value-Parameter 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 Kapitel "Default-Parameter initialisieren".
Programmierung
Arbeitsvorbereitung
10-66 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.5 Technologiezyklen
10.5.3 Default-Parameter-Initialisierung
Funktion
Default-Parameter können in der PROC-Anweisung auch mit einem Initialwert versehen
werden.
Programmierung
Im Technologiezyklus Default-Parameter zuweisen:
PROC TEC (INT IVAL=1, REAL RVAL=1.0, CHAR CVAL='A', STRING[10] SVAL="ABC", AXIS
AVAL=X, BOOL BVAL=TRUE)
Wenn ein Aktualparameter aus einem Defaultparameter besteht, wird der Initialwert aus der
PROC-Anweisung übergeben. Dies gilt sowohl im Teileprogramm, als auch in
Synchronaktionen.
Beispiel
TEC (IVAL, RVAL, , SVAL, AVAL) ;bei CVAL und BVAL gilt der Initialwert
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.
Anwendung
Bei ICYCON können Kommandoachs-Bewegungen dazu führen, dass sich die Abarbeitung
von einem Technologiezyklus verzögert. Ist dies unerwünscht dann können mit ICYCOF alle
Aktionen ohne Wartezeiten in einem Interpolationstakt abgearbeitet werden.
Programmierung
Für die zyklische Abarbeitung von Technologiezyklen gilt:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-67
Bewegungssynchronaktionen
10.5 Technologiezyklen
Hinweis
Die beiden Sprachbefehle ICYCON und ICYCOF wirken nur innerhalb der Programmebene.
Im Teileprogramm werden beide Befehle ohne Reaktion einfach überlesen.
Funktion
Es können bis zu 8 Technologiezyklen in Reihe geschaltet abgearbeitet werden. Damit sind
in einer Synchronaktion mehrere Technologiezyklen programmierbar.
Programmierung
Bearbeitungsreihenfolge
Die Technologiezyklen werden der Reihe nach (in Kaskade) von links nach rechts gemäß
der oben angegebenen Programmierung abgearbeitet. Sollte ein Zyklus im Mode ICYCON
abgearbeitet werden, so verzögert dieser alle nachfolgenden Bearbeitungen. Ein
auftretender Alarm bricht alle nachfolgenden Aktionen ab.
Arbeitsvorbereitung
10-68 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.5 Technologiezyklen
Funktion
Technologiezyklen sind auch in satzweisen Synchronaktion möglich.
Ist die Abarbeitungszeit eines Technologiezyklus länger als die Bearbeitungszeit des
zugehörigen Satzes, so wird der Technologiezyklus beim Satzwechsel abgebrochen.
Hinweis
Ein Technologiezyklus verhindert nicht den Satzwechsel.
10.5.7 IF-Kontrollstrukturen
Funktion
Für Verzweigungen in der Ablaufreihenfolge von Technologiezyklen können IF-
Kontrollstrukturen in Synchronaktionen verwendet werden.
Programmierung
IF <Bedingung>
$R1=1
[ELSE] ;optional
$R1=0
ENDIF
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-69
Bewegungssynchronaktionen
10.5 Technologiezyklen
Programmierung
Unbedingte Sprünge
GOTO Label, Satznummer
oder
GOTOF Label, Satznummer
oder
GOTOB Label, Satznummer
Funktion
Der Ablauf eines Technologiezyklus kann aus Modale Synchronaktionen können durch
andere modale Synchronaktionen, gesperrt, wieder freigegeben oder ein Technologiezyklus
zurückgesetzt werden.
Programmierung
Arbeitsvorbereitung
10-70 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.6 Synchronaktion löschen (CANCEL)
Hinweis
Eine programmierte Synchronaktion ist standardmäßig aktiv und kann gegen
Überschreiben/Sperren über Maschinendatum gesichert werden.
Vom Maschinenhersteller festgelegte Synchronaktionen sollen vom Endkunden nicht
beeinflusst werden können.
Beispiel
Synchronaktionen sperren, LOCK
Funktion
Modale Synchronaktionen mit der Bezeichnung ID(S)=n lassen sich mit CANCEL nur direkt
vom Teileprogramm aus löschen.
Hinweis
Die von einer gelöschten Synchronaktion aus gestarteten, noch laufenden Bewegungen
werden entsprechend der Programmierung abgeschlossen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-71
Bewegungssynchronaktionen
10.7 Randbedingungen
Programmierung
Beispiel
Funktion
Es gibt Randbedingungen beim Eintreten folgender Ereignisse:
● Power On
● Betriebsartenwechsel
● Reset
● NC-Stopp
● Programmende
● Satzsuchlauf
● Programmunterbrechung durch asynchrones Unterprogramm ASUP
● Repositionierung REPOS
● Abwahl mit CANCEL
Ereignisse
● Power On
Mit Power On sind grundsätzlich keine Synchronaktionen aktiv. Statische
Synchronaktionen können mit einem von PLC gestarteten asynchronen Unterprogramm
(ASUP) aktiviert werden.
● Betriebsartenwechsel
Mit dem Schlüsselwort IDS aktivierte Synchronaktionen bleiben über
Betriebsartenwechsel hinaus aktiv. Alle übrigen Synchronaktionen werden bei
Betriebsartenwechsel inaktiv (z. B. Achse positionieren) und mit dem Repositionieren und
Zurückschalten in den Automatik-Betrieb wieder aktiv.
Arbeitsvorbereitung
10-72 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.7 Randbedingungen
● Reset
Mit NC-Reset werden alle durch satzweise und modale Synchronaktionen beendet.
Statische Synchronaktionen bleiben aktiv. Aus ihnen können neue Aktionen gestartet
werden. Ist bei RESET eine Kommandoachsbewegung aktiv, so wird diese abgebrochen.
Bereits ausgeführte Synchronaktionen vom WHEN-Typ werden nach RESET nicht mehr
bearbeitet.
$MA_SPIND_ACTIVE_AFTER_RESET==0:
Spindel stoppt.
Leitwertkopplung $MC_RESET_MODE_MASK, Bit13 == 1:
Leitwertkopplung bleibt aktiv
$MC_RESET_MODE_MASK, Bit13 == 0:
Leitwertkopplung wird aufgelöst
Messvorgänge aus Synchronaktionen gestartete aus statischen Synchronaktionen
Messvorgänge werden abgebrochen gestartete Messvorgänge werden
abgebrochen
● 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. Im M30-Satz
aktive Synchronaktionen bleiben im M30-Satz aktiv. Ist dies unerwünscht, müssen Sie
die Synchronaktion vor Programmende mit CANCEL (s. vorhergehendes Unterkapitel)
abbrechen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-73
Bewegungssynchronaktionen
10.7 Randbedingungen
Arbeitsvorbereitung
10-74 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Bewegungssynchronaktionen
10.7 Randbedingungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 10-75
Bewegungssynchronaktionen
10.7 Randbedingungen
Arbeitsvorbereitung
10-76 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Pendeln 11
11.1 11.1 Asynchrones Pendeln
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. Dabei besteht jedoch kein Zusammenhang zwischen der Pendel- und der
Zustellbewegung.
Eigenschaften des asynchronen Pendelns
● Das asynchrone Pendeln ist achsspezifisch über Satzgrenzen hinweg wirksam.
● Über das Teileprogramm ist ein satzsynchrones Einschalten der Pendelbewegung
gewährleistet.
● Eine gemeinsame Interpolation von mehreren Achsen und eine Überlagerung von
Pendelstrecken sind nicht möglich.
Programmierung
Über die folgenden Adressen ist ein der Abarbeitung des NC-Programms entsprechendes
Einschalten und Beeinflussen des asynchronen Pendelns vom Teileprogramm her möglich.
Die programmierten Werte werden satzsynchron im Hauptlauf in die entsprechenden
Settingdaten eingetragen und bleiben bis zur nächsten Änderung wirksam.
Pendeln ein-, ausschalten: OS
OS[Achse] = 1: einschalten
OS[Achse] = 0: ausschalten
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 11-1
Pendeln
11.1 Asynchrones Pendeln
Die Einheit für die Haltezeit ist identisch mit der über G4 programmierten Haltezeit.
WAITP(X,Y,Z) ;Ausgangsstellung
G0 X100 Y100 Z100 ;Umschalten in Positionierachsbetrieb
N40 WAITP(X,Z)
N50 OSP1[Z]=10 OSP2[Z]=100 -> ;Umkehrpunkt 1, Umkehrpunkt 2
-> OSE[Z]=200 -> ;Endposition
-> OST1[Z]=0 OST2[Z]=–1 -> ;Haltezeit an U1: Genauhalt fein;
;Haltezeit an U2: Genauhalt grob
-> FA[Z]=250 FA[X]=1 -> ;Vorschub Pendelachse, Zustellachse
-> OSCTRL[Z]=(4,0) -> ;Setzoptionen
-> OSNSC[Z]=3 -> ;drei Ausfeuerhübe
N60 OS[Z]=1 ;Pendeln starten
N70 WHEN $A_IN[3]==TRUE -> ;Restweglöschen
-> DO DELDTG(X)
N80 POS[X]=15 ;Ausgangsstellungen X-Achse
N90 POS[X]=50
N100 OS[Z]=0 ;Pendeln stoppen
M30
Arbeitsvorbereitung
11-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Pendeln
11.1 Asynchrones Pendeln
Werden im Teileprogramm die Settingdaten direkt beschrieben, so wird die Änderung schon
zum Vorlaufzeitpunkt wirksam. Synchrones Verhalten kann über einen Vorlaufstopp STOPRE
erreicht werden.
$SA_OSCILL_REVERSE_POS1[Z]=-10
$SA_OSCILL_REVERSE_POS2[Z]=10
G0 X0 Z0
WAITP(Z)
Beschreibung
Für die Pendelachse gilt:
● Jede Achse kann als Pendelachse benutzt werden.
● Gleichzeitig können mehrere Pendelachsen aktiv sein (maximal: Anzahl der
Positionierachsen).
● Für die Pendelachse ist immer - unabhängig vom im Programm aktuell gültigen G-Befehl
- Linearinterpolation G1 aktiv.
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
– mit geknickter Beschleunigungskennlinie (wie Positionierachsen).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 11-3
Pendeln
11.1 Asynchrones Pendeln
Pendelumkehrpunkte
Bei der Festlegung der Pendelpositionen sind die aktuellen Verschiebungen zu beachten:
● Absolute Angabe
OSP1[Z] = Wert 1
Position Umkehrpunkt = Summe der Verschiebungen + programmierter Wert
● Relative Angabe
OSP1[Z] = IC(Wert)
Position Umkehrpunkt = Umkehrpunkt 1 + programmierter Wert
Beispiel:
N10 OSP1[Z] = 100 OSP2[Z] = 110
.
.
N40 OSP1[Z] = IC(3)
Hinweis
WAITP(Achse):
• Soll mit einer Geometrieachse gependelt werden, so muss diese mit WAITP zum
Pendeln freigegeben werden.
• Nach beendetem Pendeln wird mit diesem Befehl die Pendelachse wieder als
Positionierachse eingetragen und kann wieder normal verwendet werden.
Vorschub einstellen, FA
Als Vorschubgeschwindigkeit gilt die definierte Vorschubgeschwindigkeit der
Positionierachse. Ist keine Vorschubgeschwindigkeit definiert, gilt der im Maschinendatum
hinterlegte Wert.
Arbeitsvorbereitung
11-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Pendeln
11.1 Asynchrones Pendeln
Rücksetzoptionen
Diese Optionen werden ausgeschaltet (nur, wenn sie vorher als Setzoptionen eingeschaltet
waren).
Setzoptionen
Diese Optionen werden umgeschaltet. Bei Programmierung von OSE (Endposition) wird
implizit Option 4 wirksam.
Optionswert Bedeutung
0 Beim Abschalten der Pendelbewegung im nächsten Umkehrpunkt stoppen
(Voreinstellung); nur durch Rücksetzen der Werte 1 und 2 möglich
1 Beim Abschalten der Pendelbewegung in Umkehrpunkt 1 stoppen
2 Beim Abschalten der Pendelbewegung in Umkehrpunkt 2 stoppen
3 Beim Abschalten der Pendelbewegung keinen Umkehrpunkt anfahren, falls
keine Ausfeuerungshübe programmiert sind
4 Nach dem Ausfeuern eine Endposition anfahren
8 Wird die Pendelbewegung durch Restweglöschen abgebrochen:
anschließend Ausfeuerungshübe abarbeiten und ggf. Endposition anfahren
16 Wird die Pendelbewegung durch Restweglöschen abgebrochen: wie beim
Abschalten entsprechende Umkehrposition anfahren
32 Geänderter Vorschub ist erst ab dem nächsten Umkehrpunkt aktiv
64 FA gleich 0, FA = 0: Wegüberlagerung ist aktiv
FA ungleich 0, FA <> 0: Geschwindigkeitsüberlagerung ist aktiv
128 Bei Rundachse DC (kürzester Weg)
256 =Ausfeuerhub wird als Doppelhub ausgeführt.(Standard) 1=Ausfeuerhub
wird als Einzelhub ausgeführt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 11-5
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
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
● fortgeführt oder
● angehalten werden, bis die Zustellung vollständig ausgeführt ist.
Programmierung
1. Parameter für das Pendeln festlegen
2. Bewegungssynchronaktionen definieren
3. Achsen zuordnen, Zustellung festlegen
Parameter
Achszuordnung, Zustellung
OSCILL[Pendelachse] = (Zustellachse1, Zustellachse2, Zustellachse3)
POSP[Zustellachse] = (Endpos, Teillänge, Modus)
Arbeitsvorbereitung
11-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
Bewegungssynchronaktionen
Beispiel
Im Umkehrpunkt 1 soll keine Zustellung erfolgen. Beim Umkehrpunkt 2 soll die Zustellung
bereits im Abstand ii2 vor dem Umkehrpunkt 2 erfolgen und die Pendelachse im
Umkehrpunkt nicht auf das Beenden der Teilzustellung warten. Die Achse Z ist Pendelachse
und die Achse X Zustellachse.
=
8PNHKUSRVLWLRQDQIDKUHQ (QGSRVLWLRQ
XQG$XVIHXHUXQJVK¾EH DQIDKUHQ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 11-7
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
2. Bewegungssynchronaktion
Arbeitsvorbereitung
11-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
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.
Pendelbewegung während der Zustellung im Umkehrpunkt anhalten.
Pendelbewegung nach beendeter Teilzustellung wieder starten.
Start der nächsten Teilzustellung festlegen.
3. Pendeln- und Zustellachse zuordnen sowie Gesamt- und Teilzustellung festlegen.
Pendelparameter festlegen
Zuordnung von Pendel- und Zustellachse: OSCILL
OSCILL[Pendelachse] = (Zustellachse1, Zustellachse2, Zustellachse3)
Mit dem Befehl OSCILL erfolgen die Achszuordnungen und der Start der Pendelbewegung.
Maximal können einer Pendelachse 3 Zustellachsen zugewiesen werden.
Hinweis
Vor dem Start des Pendelns müssen die Synchronbedingungen für das Verhalten der
Achsen festgelegt sein.
Zustellungen festlegen: POSP
POSP[Zustellachse] = (Endpos, Teillänge, Modus)
Mit dem Befehl POSP werden der Steuerung mitgeteilt:
● Gesamtzustellung (über die Endposition)
● Die Größe der jeweiligen Teilzustellung am Umkehrpunkt bzw. im Umkehrbereich
● Das Teilzustellverhalten bei Erreichen der Endposition (über den Modus)
Modus = 0 Für die beiden letzten Teilzustellungen erfolgt eine Aufteilung des
verbleibenden Weges bis zum Zielpunkt auf 2 gleich große
Restschritte (Voreinstellung).
Modus = 1 Alle Teilzustellungen sind gleich groß. Sie werden aus der
Gesamtzustellung berechnet.
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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 11-9
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
Hinweis
Im Einzelfall können die Synchronbedingungen auch anders programmiert werden.
Schlüsselwörter
Funktionen
Mit den im folgenden detailliert beschriebenen Sprachmitteln können Sie folgende
Funktionen
realisieren:
1. Zustellung im Umkehrpunkt.
2. Zustellung im Umkehrbereich.
3. Zustellung in beiden Umkehrpunkten.
4. Anhalten der Pendelbewegung im Umkehrpunkt.
5. Pendelbewegung wieder starten.
6. Teilzustellung nicht zu früh starten.
Für alle hier beispielhaft dargestellten Synchronaktionen gelten die Annahmen:
● Umkehrpunkt 1 < Umkehrpunkt 2
● Z = Pendelachse
● X = Zustellachse
Hinweis
Für nähere Erläuterungen, siehe Kapitel Bewegungssynchronaktionen.
Arbeitsvorbereitung
11-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
Unter den gegebenen Annahmen (siehe oben) ergeben sich folgende Anweisungen:
Umkehrbereich 1:
WHENEVER $AA_IM[Z]>$SA_OSCILL_RESERVE_POS1[Z]+ii1 DO $AA_OVR[X] = 0
Immer wenn die aktuelle Position der Pendelachse im MKS
größer als der Beginn des Umkehrbereichs 1 ist,
dann setze den axialen Override der Zustellachse auf 0%.
Umkehrbereich 2:
WHENEVER $AA_IM[Z]<$SA_OSCILL_RESERVE_POS2[Z]+ii2 DO $AA_OVR[X] = 0
Immer wenn die aktuelle Position der Pendelachse im MKS
kleiner als der Beginn des Umkehrbereichs 2 ist,
dann setze den axialen Override der Zustellachse auf 0%.
Zustellung im Umkehrpunkt
Solange die Pendelachse den Umkehrpunkt nicht erreicht hat, findet keine Bewegung der
Zustellachse statt.
Unter den gegebenen Annahmen (siehe oben) ergeben sich folgende Anweisungen:
Umkehrbereich 1:
WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS1[Z] DO $AA_OVR[X] = 0 →
→ $AA_OVR[Z] = 100
Immer wenn die aktuelle Position der Pendelachse Z im MKS
größer oder kleiner als die Position des Umkehrpunkts 1 ist,
dann setze den axialen Override der Zustellachse X auf 0%
und den axialen Override der Pendelachse Z auf 100% .
Umkehrbereich 2:
Für Umkehrpunkt 2:
WHENEVER $AA_IM[Z]<>$SA_OSCILL_RESERVE_POS2[Z] DO $AA_OVR[X] = 0 →
→ $AA_OVR[Z] = 100
Immer wenn die aktuelle Position der Pendelachse Z im MKS
größer oder kleiner als die Position des Umkehrpunkts 2 ist,
dann setze den axialen Override der Zustellachse X auf 0%
und den axialen Override der Pendelachse Z auf 100%.
Anhalten der Pendelbewegung im Umkehrpunkt
Die Pendelachse wird am Umkehrpunkt angehalten, gleichzeitig beginnt die
Zustellbewegung. Die Pendelbewegung wird fortgesetzt, wenn die Zustellbewegung
vollständig ausgeführt ist.
Gleichzeitig kann diese Synchronaktion dazu benutzt werden, die Zustellbewegung zu
starten, falls diese durch eine vorhergehende Synchronaktion, die noch wirksam ist,
gestoppt wurde.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 11-11
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
Unter den gegebenen Annahmen (siehe oben) ergeben sich folgende Anweisungen:
Umkehrbereich 1:
WHENEVER $SA_IM[Z]==$SA_OSCILL_RESERVE_POS1[Z] DO $AA_OVR[X] = 0 →
→ $AA_OVR[Z] = 100
Immer wenn die aktuelle Position der Pendelachse im MKS
gleich der Umkehrposition 1 ist,
dann setze den axialen Override der Pendelachse auf 0%
und den axialen Override der Zustellachse auf 100%.
Umkehrbereich 2:
WHENEVER $SA_IM[Z]==$SA_OSCILL_RESERVE_POS2[Z] DO $AA_OVR[X] = 0 →
→ $AA_OVR[Z] = 100
Immer wenn die aktuelle Position der Pendelachse im MKS
gleich der Umkehrposition 2 ist,
dann setze den axialen Override der Pendelachse auf 0%
und den axialen Override der Zustellachse auf 100%.
Online-Auswertung des Umkehrpunktes
Steht auf der rechten Seite des Vergleichs eine mit $$ gekennzeichnete Hauptlaufvariable,
so werden die beiden Variablen im IPO-Takt laufend ausgewertet und miteinander
verglichen.
Hinweis
Mehr Informationen hierzu siehe Kapitel "Bewegungssynchronaktionen".
Pendelbewegung wieder starten
Diese Synchronaktion wird dazu benutzt, die Bewegung der Pendelachse fortzusetzen,
wenn die Teilzustellbewegung abgeschlossen ist.
Unter den gegebenen Annahmen (siehe oben) ergeben sich folgende Anweisungen:
Arbeitsvorbereitung
11-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
Unter den gegebenen Annahmen (siehe oben) ergeben sich z. B. für Umkehrpunkt 1
folgende Anweisungen:
1. Marker setzen:
WHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[1] = 1
Immer wenn der Restweg für die Teilzustellung der Zustellachse X im WKS
gleich Null ist,
dann setze den Merker mit Index 1 auf 1.
2. Marker löschen
WHENEVER $AA_IM[Z]<> $SA_OSCILL_RESERVE_POS1[Z] DO $AC_MARKER[1] =
0
Immer wenn die aktuelle Position der Pendelachse Z im MKS
größer oder kleiner als die Position des Umkehrpunkts 1 ist,
dann setze den Merker 1 auf 0.
3. Zustellung verhindern
WHENEVER $AC_MARKER[1]==1 DO $AA_OVR[X] = 0
Immer wenn der Merker 1
gleich ist,
dann setze den axialen Override der Zustellachse X auf 0%.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 11-13
Pendeln
11.2 Über Synchronaktionen gesteuertes Pendeln
Arbeitsvorbereitung
11-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Stanzen und Nibbeln 12
12.1 12.1 Aktivierung, Deaktivierung
12.1.1 Stanzen und Nibbeln ein oder aus (SPOF, SON, PON, SONS, PONS,
PDELAYON/OF)
Funktion
Stanzen und Nibbeln aktivieren/deaktivieren, PON/SON
Mit PON und SON aktivieren Sie die Stanz- bzw. Nibbelfunktion. SPOF beendet alle stanz-
und nibbelspezifischen Funktionen. Die modal wirksamen Befehle PON und SON schließen
sich gegenseitig aus, d. h. PON deaktiviert SON und umgekehrt.
Stanzen und Nibbeln mit Vorspann, PONS/SONS
Die Funktionen SONS und PONS schalten ebenfalls die Stanz- bzw. Nibbelfunktionen ein.
Im Gegensatz zu SON/PON - Hubsteuerung auf Interpolationsebene - erfolgt bei diesen
Funktionen die signaltechnische Steuerung der Hubauslösung auf Servoebene. Hierdurch
können Sie mit höheren Hubfrequenzen und damit höherer Stanzleistung arbeiten.
Während der Signalauswertung im Vorspann sind alle Funktionen verriegelt, die zur
Positionsänderung der Nibbel- oder Stanzachsen führen.
Beispiel: Handradfahren, Änderungen von Frames über PLC, Messfunktionen.
Stanzen mit Verzögerung, PDELAYON/PDELAYOF
PDELAYON bewirkt eine verzögerte Ausgabe des Stanzhubs. Der modal wirksame Befehl
hat vorbereitende Funktion und steht damit in der Regel vor PON. Nach PDELAYOF wird
normal weitergestanzt.
Programmierung
PONS G... X... Y... Z...
oder
SON G... X... Y... Z...
oder
SONS G... X... Y... Z...
oder
SPOF
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 12-1
Stanzen und Nibbeln
12.1 Aktivierung, Deaktivierung
oder
PDELAYON
oder
PDELAYOF
oder
PUNCHACC(Smin,Amin, Smax, Amax)
Parameter
Arbeitsvorbereitung
12-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Stanzen und Nibbeln
12.1 Aktivierung, Deaktivierung
<
321
621
;
3RVLWLRQLHUHQ
3RVLWLRQLHUHQXQG+XEDXVO¸VXQJ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 12-3
Stanzen und Nibbeln
12.2 Automatische Wegaufbereitung
Um dennoch einen Hub an gleicher Stelle auszulösen, programmieren Sie eine der Stanz-
/Nibbelachsen mit Verfahrweg 0.
Hinweis
Arbeiten mit drehbaren Werkzeugen
Um drehbare Werkzeuge tangential an die programmierte Bahn anzustellen, verwenden Sie
die Tangentialsteuerung.
Funktion
Unterteilung in Teilstrecken
Bei aktiviertem Stanzen bzw. Nibbeln bewirken sowohl SPP als auch SPN eine Aufteilung
der für die Bahnachsen programmierten Gesamtverfahrstrecke in eine Anzahl von
gleichlangen Teilstrecken (äquidistante Wegaufteilung). Intern entspricht jede Teilstrecke
einem Satz.
Anzahl der Hübe
Beim Stanzen erfolgt der erste Hub am Endpunkt der ersten Teilstrecke, beim Nibbeln
dagegen am Startpunkt der ersten Teilstrecke. Über die Gesamtfahrstrecke ergeben sich
damit folgende Zahlen:
Stanzen: Anzahl der Hübe = Anzahl der Teilstrecken
Nibbeln: Anzahl der Hübe = Anzahl der Teilstrecken + 1
Hilfsfunktionen
Hilfsfunktionen werden im ersten der erzeugten Sätze ausgeführt.
Programmierung
SPP=
oder
SPN=
Parameter
Arbeitsvorbereitung
12-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Stanzen und Nibbeln
12.2 Automatische Wegaufbereitung
Beispiel 1
Die programmierten Nibbelstrecken sollen automatisch in gleichgroße Teilstrecken aufgeteilt
werden.
;
<
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 12-5
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.
;
<
Arbeitsvorbereitung
12-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Stanzen und Nibbeln
12.2 Automatische Wegaufbereitung
Hinweis
Die Wegaufteilung mit SPP erfolgt immer äquidistant: alle Teilstrecken sind gleich lang. Das
heißt, die programmierte Teilstreckengröße (Wert von SPP) ist nur dann gültig, wenn der
Quotient aus Gesamtverfahrstrecke und SPP-Wert ganzzahlig ist. Ist das nicht der Fall, so
wird die Größe der Teilstrecke intern so reduziert, dass sich ein ganzzahliger Quotient ergibt.
<
<
(
(
; ;
Beispiel:
N10 G1 G91 SON X10 Y10
N20 SPP=3.5 X15 Y15
Bei der Gesamtverfahrstrecke von 15 mm und einer Teilstreckenlänge von 3,5 mm ergibt
sich ein nicht ganzzahliger Quotient (4.28). Somit erfolgt eine Reduktion des SPP-Werts bis
zum nächstmöglichen ganzzahligen Quotienten. In diesem Fall ergibt sich eine
Teilstreckenlänge von 3 mm.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 12-7
Stanzen und Nibbeln
12.2 Automatische Wegaufbereitung
<
<
<
; ;
;
;<3URJUDPPLHUWH9HUIDKUVWUHFNH
;$XWRPDWLVFKHUUHFKQHWH7HLOVWUHFNHLQ ;
<$XWRPDWLVFKHUUHFKQHWH7HLOVWUHFNHLQ <
Hinweis
Sofern Stanzen/Nibbeln grundsätzlich in der Steuerung verfügbar ist, ist die Programmierung
der automatischen Wegaufteilung mit SPN bzw. SPP auch unabhängig von dieser
Technologie aktivierbar.
Arbeitsvorbereitung
12-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Stanzen und Nibbeln
12.2 Automatische Wegaufbereitung
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 12-9
Stanzen und Nibbeln
12.2 Automatische Wegaufbereitung
Arbeitsvorbereitung
12-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen 13
13.1 13.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING)
Funktion
AXNAME wird z. B. bei der Erstellung allgemeingültiger Zyklen verwendet, wenn die Namen
der Achsen nicht bekannt sind (siehe hierzu auch Kapitel "Stringfunktionen").
SPI wird verwendet, wenn Achsfunktionen für eine Spindel, z. B. Synchronspindel,
verwendet werden.
ISAXIS wird in allgemeingültigen Zyklen verwendet, um sicherzustellen, dass eine
bestimmte Geometrieachse vorhanden ist und damit ein nachfolgender Aufruf von $P_AXNX
nicht mit Fehler abgebrochen wird.
Programmierung
AXNAME(Planachse)
oder
AX[AXNAME(String)]
oder
SPI(n)
oder
AXTOSPI(X) oder AXTOSPI(Y) oder AXTOSPI(Z)
oder
AXSTRING(SPI(n))
oder
ISAXIS(Geometrieachsnummer)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-1
Weitere Funktionen
13.1 Achsfunktionen (AXNAME, AX, SPI, AXTOSPI, ISAXIS, AXSTRING)
Parameter
SPI Erweiterungen
Die Achsfunktion SPI(n) ist auch für das Lesen und Schreiben von Framekomponenten
einsetzbar. Damit können Frames z. B. mit der Syntax $P_PFRAME[SPI(1),TR]=2.22
geschrieben werden. Durch die zusätzliche Programmierung von Achs-Position über die
Adresse AX[SPI(1)] = <Achsposition> kann eine Achse kann verfahren werden.
AXTOSPI Erweiterung
Mit AXTOSPI kann ein Achsbezeichner in eine Spindelnummer konvertiert werden. Kann der
Achsbezeichner nicht in eine Spindelnummer gewandelt werden, so erfolgt eine
Alarmmeldung.
Fehlerbehebung bei AXSTRING[ SPI(n) ]
Bei der Programmierung mit AXSTRING[ SPI(n) ] wird nicht mehr der Achsindex der
Achse, der die Spindel zugeordnet ist als Spindelnummer ausgegeben, sondern es wird der
String "Sn" ausgegeben.
Beispiel:
AXSTRING[ SPI(2) ] liefert den String "S2"
Beispiel
Die als Planachse definierte Achse soll bewegt werden.
OVRA[AXNAME("Planachse")]=10 ;Planachse
AX[AXNAME("Planachse")]=50.2 ;Endposition für Planachse
OVRA[SPI(1)]=70 ;Override für Spindel 1
IF ISAXIS(1)==FALSE GOTOF WEITER ;Abszisse vorhanden?
AX[$P_AXN1]=100 ;Abszisse verfahren
WEITER:
Arbeitsvorbereitung
13-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.2 Vorhandenen NC-Sprachumfang prüfen (STRINGIS)
Funktion
Der bei einer SINUMERIK 840D sl generierte NC-Sprachumfang einschließlich der aktiven
GUD-/Makro-Definitionen sowie die installierten und aktiven Zyklenprogramme können mit
dem Befehl STRINGIS auf ihre tatsächliche Verfügbarkeit und ihre programmierspezifischen
Eigenschaften überprüft werden. So ist es z.B. möglich, bereits zu Beginn einer
Programminterpretation nicht aktivierte Funktionen auf ihre Wirksamkeit festzustellen.
Die Rückgabewerte werden über die HMI Bedienoberfläche stellencodiert ausgegeben und
beinhalten Basisinformationen und zusätzlich stellenkodierte Detailinformationen.
Programmierung
STRGINGIS(STRING name) = stellenkodierter Rückgabewert
In der aktuellen Ausbaustufe wird der zu prüfende (STRING name) grundsätzlich mit
000 als nicht bekannt identifiziert.
100 als NC-Sprachbefehl erkannt, der aber nicht programmierbar ist.
Alle programmierbaren NC-Sprachbefehl die als Option oder Funktion aktiv sind, werden mit
2xx erkannt. Dazugehörige Detailinformationen werden unter Wertebereiche näher erklärt.
Parameter
Maschinenhersteller
Die Art und Weise wie und mit welchen NC-Sprachbefehlen verfahren werden soll, wird vom
Maschinenhersteller über ein Maschinendatum festgelegt.
Werden Sprachbefehle programmiert, deren Funktion nicht aktiv ist oder die im nicht
aktuellen Umfang bekannt sind, so führt dies zu einer Alarmmeldung. Bitte beachten Sie in
diesem Fall die Angaben des Maschinenherstellers
Der Sprachbefehl ISVAR stellt eine Untermenge des Befehls STRINGIS dar und kann
weiterhin für bestimmte Prüfungen eingesetzt werden.
Zum Verhalten eines STING selbst, siehe Kapitel "Stringfunktionen".
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-3
Weitere Funktionen
13.2 Vorhandenen NC-Sprachumfang prüfen (STRINGIS)
NC-Sprachumfang
Für SINUMERIK powerline sind weiterhin alle verfügbaren und auch speziell die nicht
benötigten und aktiven Sprachbefehle bekannt. Der bei SINUMERIK solution line zu
prüfende Sprachumfang ist abhängig vom vorkonfigurierten Maschinendatum und umfasst
entweder alle bekannten oder speziell nur die freigegebenen Optionen oder aktiven
Funktionen im aktuellen NC-Sprachumfang.
Rückgabewerte
Hinweis
Wenn sich bei einer Prüfung mit STRINGIS keine andere Stellenkodierung ergeben sollte,
dann gilt der entsprechende NC-Sprachbefehl als programmierbar und es gilt die
Stellenkodierung 2xx.
Arbeitsvorbereitung
13-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.2 Vorhandenen NC-Sprachumfang prüfen (STRINGIS)
Hinweis
Anmerkungen zu einzelnen Rückgabewerten
(1) Als DIN-Adressen werden fest genormte Adressen erkannt. Für die NC-Adressen mit
einstellbaren Bezeichnern gelten folgende Festlegungen für Geometrieachsen:
A, B, C für angegebene Rundachsen, E ist reserviert für Erweiterungen und
I, J, K, Q, U, V, W, X, Y, Z für angegebene Linearachsen.
Die Achsbezeichner können mit Adresserweiterung programmiert werden und für die
Prüfung z.B. 201 = STRINGIS("A1") geschrieben werden.
Die folgenden Adressen können nicht mit Adresserweiterung für die Prüfung geschrieben
werden und liefernden immer den fixen Wert 400.
Beispiel 400 = STRINGIS("D") oder die Angabe einer Adresserweiterung mit
0 = STRINGIS("M02") führt zu 400 = STRINGIS("M").
(2) Zyklenparameternamen können mit STRINGIS nicht geprüft werden.
(3) als Makro definierte NC-Adressbuchstaben G, H, L, M werden als Makro identifiziert.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-5
Weitere Funktionen
13.2 Vorhandenen NC-Sprachumfang prüfen (STRINGIS)
Arbeitsvorbereitung
13-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.3 Funktionsaufruf ISVAR ( ) und Maschinendaten Array-Index lesen
(4) Für die Systemparameter der Magazinverwaltung gilt speziell die Eigenschaft falls die
Funktion nicht aktiv ist, dann liefert STRINGIS unabhängig vom eingestellten Wert des
Maschinendatums zur Konfiguration des NC-Sprachumfangs stets den Ergebniswert = 0.
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).
Programmierung
ISVAR(Variablenbezeichner)
oder
ISVAR(Bezeichner, [Wert, Wert])
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-7
Weitere Funktionen
13.3 Funktionsaufruf ISVAR ( ) und Maschinendaten Array-Index lesen
Parameter
Prüfungen
Entsprechend dem Übergabeparameter werden folgende Prüfungen durchgeführt:
● Ist der Bezeichner vorhanden
● Handelt es sich um ein- oder zweidimensionales Feld
● Ist ein Array-Index erlaubt
Nur wenn alle diese Prüfungen positiv sind, wird TRUE zurückgeliefert. Wird nur eine
Prüfung nicht erfüllt oder ist ein Syntaxfehler aufgetreten, dann wird dies mit FALSE quittiert.
Axialen Variablen werden als Index für die Achsnamen akzeptiert, jedoch nicht näher
geprüft.
Erweiterung: Maschinendaten und Settingdaten Array ohne Index lesen.
Bei fehlenden Index von allgemeinen und kanalspezifischen Maschinendaten wird der Alarm
12400 "Kanal % 1 Satz % 2 Feld % 3 Element nicht vorhanden" nicht mehr ausgegeben.
Weiterhin muss mindestens der Achsindex bei achsspezifischen Maschinendaten
programmiert werden. Anderenfalls wird der Alarm 12400 abgesetzt.
Arbeitsvorbereitung
13-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.3 Funktionsaufruf ISVAR ( ) und Maschinendaten Array-Index lesen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-9
Weitere Funktionen
13.4 Kompensationskennlinien einlernen (QECLRNON, QECLRNOF)
Funktion
Die Quadrantenfehlerkompensation (QFK) reduziert die Konturfehler, die bei Umkehr der
Fahrtrichtung durch mechanische Nichtlinearitäten (z. B. Reibung, Lose) oder Torsion
entstehen. Die optimalen Kompensationsdaten können aufgrund eines neuronalen Netzes
von der Steuerung während einer Lernphase adaptiert und so die Kompensationskennlinien
automatisch ermittelt werden. Das Lernen kann für bis zu 4 Achsen gleichzeitig erfolgen.
[ P
,, ,
[ P
,,, ,9
Programmierung
QECLRNON
oder
QECLRNOF
Lernvorgang aktivieren: QECLRNON
Der eigentliche Lernvorgang wird im NC-Programm mit dem Befehl QECLRNON unter Angabe
der Achsen aktiviert:
QECLRNON (X1, Y1, Z1, Q)
Nur wenn dieser Befehl aktiv ist, werden die Kennlinien verändert.
Lernen ausschalten: QECLRNOF
Nachdem die Lernbewegungen der gewünschten Achsen abgeschlossen sind, wird der
Lernvorgang mit QECLRNOF für alle Achsen gleichzeitig ausgeschaltet.
Arbeitsvorbereitung
13-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.4 Kompensationskennlinien einlernen (QECLRNON, QECLRNOF)
Parameter
Beschreibung
Die zum Lernen erforderlichen Verfahrbewegungen der Achsen werden mit Hilfe eines NC-
Programms generiert. In diesem liegen die Lernbewegungen in Form eines Lernzyklus vor.
Erstmaliges Einlernen
Zum erstmaligen Einlernen bei der Inbetriebnahme sind auf der Diskette des PLC-
Grundprogramms Muster-NC-Programme zum Einlernen für die Lernbewegungen sowie für
die Belegung der QFK-Systemvariablen enthalten:
Nachlernen
Eine Nachoptimierung der bereits gelernten Kennlinien ist mit "Nachlernen" möglich. Dabei
wird auf den bisherigen im Anwenderspeicher befindlichen Daten aufgesetzt. Zum
Nachlernen passen Sie die Muster-NC-Programme an Ihre Anforderungen an.
Die Parameter des Lernzyklus (z. B. [Link]) sind gegebenenfalls für das
"Nachlernen" abzuändern:
● "Lernmodus" = 1 setzen
● "Anzahl der Lerndurchläufe" ggf. reduzieren
● "Abschnittsweises Lernen" ggf. aktivieren und zugehörige Bereichsgrenzen festlegen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-11
Weitere Funktionen
13.5 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. Je NC-Kanal sind bis zu 2 Synchronspindelpaare
gleichzeitig betreibbar.
Die Kopplung kann aus dem Teileprogramm
● definiert bzw. geändert
● eingeschaltet
● ausgeschaltet
● gelöscht
werden.
Darüber hinaus kann abhängig vom Softwarestand
● auf die Synchronlaufbedingung gewartet
● das Satzwechselverhalten verändert
● die Kopplungsart entweder Sollwertkopplung oder Istwertkopplung ausgewählt oder der
Winkelversatz zwischen Leit- und Folgespindel vorgegeben
● beim Einschalten der Kopplung eine vorhergehende Programmierung der Folgespindel
übernommen
● entweder eine gemessene oder eine bereits bekannte Synchronlaufabweichung korrigiert
werden.
Funktion
Die Funktion Synchronspindel bietet für Drehmaschinen die Möglichkeit der fliegenden
Werkstückübergabe während des Laufs von Spindel 1 auf Spindel 2, z. B. zur
Endbearbeitung, unter Vermeidung von Nebenzeiten durch Umspannen.
Die Werkstückübergabe kann erfolgen mit:
● Drehzahl-Synchronität (nFS = n LS)
● Lagesynchronität (ϕFS = ϕLS)
● Lagesynchronität mit Winkelversatz (ϕFS = ϕLS+ ∆ϕ)
Arbeitsvorbereitung
13-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.5 Synchronspindel
6SDQQPLWWHO
Q Q
6SLQGHO 6SLQGHO
Q Q
6SLQGHO 6SLQGHO
Q Q
6SLQGHO 6SLQGHO
Q Q
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-13
Weitere Funktionen
13.5 Synchronspindel
Programmierung
COUPDEF(FS, LS, ÜFS, ÜLS, Satzverh, 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, Satzverh., LS, Satzverh)
Es ist auch die verkürzte Angabe ohne Leitspindel möglich für:
COUPOF(FS), COUPOFS(FS), COUPRES(FS), COUPDEL(FS)
Hinweis
Bei jeder Anweisung COUPDEF, COUPON und COUPONC müssen Folgespindel und
Leitspindel programmiert werden, damit keine Alarmmeldungen abgesetzt werden.
Die anderen Kopplungsparameter müssen nur dann programmiert werden, wenn sie
geändert werden sollen. Für nicht angegebene Parameter bleibt der letzte Zustand erhalten.
Parameter
Arbeitsvorbereitung
13-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.5 Synchronspindel
Optionale Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-15
Weitere Funktionen
13.5 Synchronspindel
Arbeitsvorbereitung
13-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.5 Synchronspindel
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-17
Weitere Funktionen
13.5 Synchronspindel
Synchronspindelpaar festlegen
Festprojektierte Kopplung:
Leit- und Folgespindel werden über Maschinendatum festgelegt. Bei dieser Kopplung
können die festgelegten Maschinenachsen für LS und FS vom NC-Teileprogramm nicht
verändert werden. Die Parametrierung der Kopplung kann dennoch im NC-Teileprogramm
mit COUPDEF erfolgen (Voraussetzung: kein Schreibschutz festgelegt).
Anwenderdefinierte Kopplung:
Mit der Sprachanweisung COUPDEF können Kopplungen im NC-Teileprogramm neu
angelegt und verändert werden. Wenn eine neue Kopplungsbeziehung definiert werden soll,
muss ggf. zuvor eine bestehende anwenderdefinierte Kopplung mit COUPDEL gelöscht
werden.
Übersetzungsverhältnis kÜ
Das Übersetzungsverhältnis wird mit Wertangaben für FS (Zähler) und LS (Nenner)
vorgegeben.
Möglichkeiten:
● Folge- und Leitspindel drehen mit gleicher Drehzahl (nFS = nLS ; kÜ positiv)
● Gleichsinniger bzw. gegensinniger (kÜ negativ) Lauf zwischen LS und FS
● Folge- und Leitspindel drehen mit unterschiedlichen Drehzahlen
(nFS = kÜ • nLS ;kÜ ≠ 1)
Anwendung: Mehrkantdrehen
Beispiel:
N ... COUPDEF (S2, S1, 1.0, 4.0)
Bedeutet: Folgespindel S2 und Leitspindel S1 drehen mit Übersetzungsverhältnis 0.25.
Arbeitsvorbereitung
13-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.5 Synchronspindel
Q Q
6SLQGHO 6SLQGHO
/HLWVSLQGHO )ROJHVSLQGHO
Hinweis
Der Zähler muss mindestens programmiert werden. Falls kein Nenner angegeben ist, wird
dieser immer mit "1" angenommen.
Das Übersetzungsverhältnis kann auch während eingeschalteter Kopplung in der Bewegung
verändert werden.
Kopplungsart DV, AV
Möglichkeiten:
"DV" Sollwertkopplung zwischen FS und LS (Voreinstellung)
"AV" Istwertkopplung zwischen FS und LS
Vorsicht
Die Kopplungsart darf nur bei ausgeschalteter Kopplung verändert werden!
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-19
Weitere Funktionen
13.5 Synchronspindel
Positionierung SPOS
Die Folgespindel kann mit SPOS = ... interpoliert werden. Für mehr Informationen zu
SPOS siehe Programmierhandbuch Grundlagen.
Beispiel:
N30 SPOS[2] = IC(-90)
Hinweis
Mit der Drehrichtung M3 oder M4 muss auch die Drehzahl S... neu programmiert werden,
weil sonst die fehlende Programmierung durch einen Alarm gemeldet wird.
Weitere Informationen zur Differenzdrehzahl siehe
Literatur: /FB2/ Funktionshandbuch Erweiterungsfunktionen; Synchronspindel (S3).
Arbeitsvorbereitung
13-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.5 Synchronspindel
Hinweis
Freigabe der Differenzdrehzahl
Die sich einstellende Differenzdrehzahl wird nur dann übernommen, wenn eine
Überlagerung der Bewegung auch freigegeben ist. Anderenfalls signalisiert ein selbst
löschender Alarm diese unzulässige Überlagerung.
Dynamikverteilung auf die verfügbare Dynamik des Motors
Die zu limitierende Dynamik bei der Leitspindel muss durch Programmierung so weit
eingeschränkt werden, dass eine andere Bewegungskomponente z.B. aufgrund einer
Differenzdrehzahl, die Dynamik der Folgespindel nicht unzulässig stark beeinträchtigt.
Hinweis
Beschleunigungsanteil JERKLIMA[Sn]
Die Ruckkorrektur kann zwar angegeben werden, hat aber noch keine Auswirkung auf
Spindeln.
Weitere Hinweise zur Projektierung der Dynamikprogrammierung über Maschinendaten
siehe Literatur: /FB2/ Funktionshandbuch Erweiterungsfunktionen; Rundachsen (R2).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-21
Weitere Funktionen
13.5 Synchronspindel
Warten auf Synchronlaufbedingungen für alle aktiven Folgespindeln ohne Angabe von
Synchronlaufbedingungen.
N300 WAITC(S2, "FINE", S4, "COARSE")
Warten auf die angegebenen Synchronlaufbedingungen "Grob" für die Folgespindeln S2
und S4.
Arbeitsvorbereitung
13-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.5 Synchronspindel
Systemvariablen
Aktueller Kopplungszustand Folgespindel
Für die Folgespindel kann der aktuelle Kopplungszustand im NC-Teileprogramm mit
folgender axialen Systemvariablen gelesen werden:
$AA_COUP_ACT[FS]
FS = Achsbezeichner für Folgespindel mit Spindelnummer, z. B. S2.
Der gelesene Wert hat für die Folgespindel folgende Bedeutung:
0: keine Kopplung aktiv
4: Synchronspindelkopplung aktiv
Aktueller Winkelversatz
Der aktuelle sollwertseitige Positionsoffset der FS zur LS kann im NC-Teileprogramm mit
folgender axialen Systemvariablen gelesen werden:
$AA_COUP_OFFS[S2]
Der istwertseitige Positionsoffset kann gelesen werden mit:
$VA_COUP_OFFS[S2]
FS = Achsbezeichner für Folgespindel mit Spindelnummer, z. B. S2.
Hinweis
Nach Wegnahme der Reglerfreigabe bei eingeschalteter Kopplung und Nachführbetrieb
stellt sich nach erneuter Erteilung der Reglerfreigabe ein anderer Positionsoffset ein als der
ursprünglich programmierte Wert. In diesem Fall kann der veränderte Positionsoffset
gelesen werden und ggf. im NC-Teileprogramm korrigiert werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-23
Weitere Funktionen
13.6 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.
Der berechnete Folgeachs-Bewegungsanteil wird aus den einzelnen Leitachsen-
Bewegungsanteilen multipliziert mit den jeweiligen Koppelfaktoren durch Addition gebildet.
Bei der Aktivierung eines EG-Achsverbundes kann die Synchronisation der Folgeachse auf
eine definierte Position veranlasst werden. Ein Getriebeverband kann aus dem
Teileprogramm:
● definiert,
● eingeschaltet,
● ausgeschaltet,
● gelöscht
werden.
Die Folgeachsbewegung kann wahlweise abgeleitet werden aus den
● Sollwerten der Leitachsen sowie den
● Istwerten der Leitachsen.
Als Erweiterung können auch nichtlineare Zusammenhänge zwischen den Leitachsen und
der Folgeachse über Kurventabellen (siehe Kapitel Bahnverhalten) realisiert werden.
Elektronische Getriebe können kaskadiert werden, d. h. die Folgeachse eines
Elektronischen Getriebes kann Leitachse für ein weiteres Elektronisches Getriebe sein.
Funktion
Ein EG-Achsverband wird durch die Angabe der Folgeachse und mindestens einer, jedoch
höchstens fünf Leitachsen mit dem jeweiligen Kopplungstyp festgelegt:
EGDEF(Folgeachse, Leitachse1, Kopplungstyp1, Leitachse2, Kopplungstyp2,..).
Voraussetzung
Voraussetzung für eine EG-Achsverbands-Definition: Für die Folgeachse darf noch keine
Achskopplung definiert sein (ggf. muss eine bestehende vorher mit EGDEL gelöscht
werden).
Arbeitsvorbereitung
13-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.6 Elektronisches Getriebe (EG)
Programmierung
Hinweis
EGDEF löst Vorlaufstopp aus. Die Getriebedefinition mit EGDEF ist auch dann unverändert
zu verwenden, wenn bei Systemen eine oder mehrere Leitachsen über Kurventabelle auf die
Folgeachse einwirken.
Parameter
Funktion
Für den Einschaltbefehl existieren 3 Varianten.
Programmierung
Variante 1:
Der EG-Achsverband wird ohne Synchronisationselektiv eingeschaltet mit:
EGON(FA, "Satzwechselmodus", LA1, Z1 ,N1, LA2, Z2, N2, ..LA5, Z5,N5)
Variante 2:
Der EG-Achsverband wird mit Synchronisationselektiv eingeschaltet mit:
EGONSYN(FA, "Satzwechselmodus", SynPosFA,[, LAi, SynPosLAi, Zi, Ni])
Variante 3:
Der EG-Achsverband wird mit Synchronisationselektiv eingeschaltet. Der Anfahrmodus wird
vorgegeben mit:
EGONSYNE(FA, "Satzwechselmodus", SynPosFA, Anfahrmodus [, LAi,
SynPosLAi, Zi, Ni])
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-25
Weitere Funktionen
13.6 Elektronisches Getriebe (EG)
Parameter
Variante 1:
FA 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
LA1, ... LA5 Leitachsen
Z1, ... Z5 Zähler für den Koppelfaktor i
N1, ... N5 Nenner für den Koppelfaktor i
Koppelfaktor i = Zähler i/Nenner i
Es dürfen nur die Leitachsen programmiert werden, die zuvor mit EGDEF spezifiziert
worden sind. Es muss mindestens eine Leitachse programmiert werden.
Variante 2:
FA 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
[, LAi, SynPosLAi, Zi, Ni] (Eckige Klammern nicht schreiben)
mind. 1, max. 5 Folgen von:
LA1, ... LA5 Leitachsen
SynPosLAi Synchronposition für die i. Leitachse
Z1, ... Z5 Zähler für den Koppelfaktor i
N1, ... N5 Nenner für den Koppelfaktor i
Koppelfaktor i = Zähler i/Nenner i
Es dürfen nur Leitachsen programmiert werden, die zuvor mit EGDEF spezifiziert worden
sind. Durch die programmierten "Synchronpositionen" für die Folgeachse (SynPosFA) und
für die Leitachsen (SynPosLA) werden Positionen definiert, in denen der Koppelverband als
synchron gilt. Sofern sich das elektronische Getriebe beim Einschalten nicht in synchronem
Zustand befindet, fährt die Folgeachse auf ihre definierte Synchronposition.
Variante 3:
Die Parameter entsprechen denen der Variante 2 zuzüglich:
Arbeitsvorbereitung
13-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.6 Elektronisches Getriebe (EG)
Beschreibung
Variante 1:
Die Positionen der Leitachsen sowie der Folgeachse zum Zeitpunkt des Einschaltens
werden gespeichert als "Synchronpositionen". Die "Synchronpositionen" können mit den
Systemvariablen $AA_EG_SYN gelesen werden.
Variante 2:
Wenn Moduloachsen im Koppelverband sind, werden ihre Positionswerte modulo reduziert.
Damit ist gewährleistet, dass die nächstmögliche Synchronposition angefahren wird (sog.
relative Synchronisation: z. B. die nächste Zahnlücke). Wenn für die Folgeachse nicht
"Freigabe Folgeachsüberlagerung" Nahtstellensignal DB(30 +Achsnummer), DBX 26 Bit 4
gegeben ist, wird nicht auf die Synchronposition gefahren. Stattdessen wird das Programm
beim EGONSYN-Satz angehalten und es wird der selbstlöschende Alarm 16771 gemeldet,
solange bis das o.g. Signal gesetzt wird.
Variante 3:
Der Zahnabstand (Grad) ergibt sich aus: 360 * Zi/Ni. Für den Fall, dass die Folgeachse zum
Aufrufzeitpunkt steht, liefert wegoptimiert das gleiche Verhalten wie zeitoptimiert.
Bei bereits fahrender Folgeachse wird mit NTGP unabhängig von der aktuellen
Geschwindigkeit der Folgeachse auf die nächste Zahnlücke synchronisiert. Bei bereits
fahrender Folgeachse wird mit NTGT abhängig von der aktuellen Geschwindigkeit der
Folgeachse auf die nächste Zahnlücke synchronisiert. Die Achse wird dazu ggf. auch
abgebremst.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-27
Weitere Funktionen
13.6 Elektronisches Getriebe (EG)
Kurventabellen
Wird für eine der Leitachsen eine Kurventabelle verwendet, so muss:
Weitere Hinweise über die Nutzung von Kurventabellen und das Kaskadieren von
Elektronischen Getrieben und deren Synchronisierung finden Sie
/FB3/ Funktionshandbuch Sonderfunktionen; Achskopplungen und ESR (M3), Kapitel
"Mitschleppen und Leitwertkopplung".
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.
Arbeitsvorbereitung
13-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.6 Elektronisches Getriebe (EG)
Funktion
Für das Ausschalten eines aktiven EG-Achsverbandes gibt es drei verschiedene
Möglichkeiten.
Programmierung
Variante 1:
Hinweis
Diese Funktion ist nur für Spindeln erlaubt.
Definition eines Elektronischen Getriebes löschen
Ein EG-Achsverband muss ausgeschaltet sein, bevor seine Definition gelöscht werden kann.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-29
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Funktion
Mit dem FPR( ) Befehl kann auch die Folgeachse eines Elektronischen Getriebes als
vorschubbestimmende Achse des Umdrehungsvorschubes angegeben werden. Für diesen
Fall gilt folgendes Verhalten:
● Der Vorschub ist abhängig von der Sollgeschwindigkeit der Folgeachse des
Elektronischen Getriebes.
● Die Sollgeschwindigkeit wird berechnet aus den Geschwindigkeiten der Leitspindeln und
Modulo-Leitachsen (die nicht Bahnachsen sind) und deren zugeordneten Koppelfaktoren.
● Geschwindigkeitsanteile von linearen bzw. nicht Modulo-Leitachsen und überlagerte
Bewegungen der Folgeachse werden nicht berücksichtigt.
Funktion
Die Funktion "Erweitertes Stillsetzen und Rückziehen" ESR (Extended Stopping and Retract)
bietet die Möglichkeit, auf wählbare Fehlerquellen flexibel und werkstückschonend zu
reagieren.
Verfügbare Teil-Reaktionen
Das "Erweiterte Stillsetzen und Rückziehen" stellt folgende Teil-Reaktionen zur Verfügung:
● "Erweitertes Stillsetzen" (antriebsautark) ist ein definiertes, zeitlich verzögertes
Stillsetzen.
● "Rückziehen" (antriebsautark)
bedeutet eine "Flucht" aus der Bearbeitungsebene in eine sichere Rückzugsposition.
Hiermit soll eine vorhandene Kollisions-Gefahr zwischen Werkzeug und Werkstück
vermieden werden.
● "Generatorbetrieb" (antriebsautark)
Für die Fälle, in denen die Energie des Zwischenkreises nicht für einen sicheren Rückzug
ausreicht, ist ein Generatorbetrieb möglich. Er stellt als eigenständige Antriebs-
Betriebsart bei Netzstörungen o.ä. die notwendige Energie für den Antriebs-
Zwischenkreis zur Verfügung, die für ein geordnetes "Stillsetzen" und "Rückziehen"
benötigt wird.
Arbeitsvorbereitung
13-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Zusätzliche Erweiterungen
● Erweitertes Stillsetzen (NC-geführt)
ist ein definiertes, zeitlich verzögertes und konturschonendes Stillsetzen unter Kontrolle
der NC.
● Rückziehen (NC-geführt)
bedeutet eine "Flucht" aus der Bearbeitungsebene in eine sichere Rückzugsposition
unter Kontrolle der NC. Hiermit wird eine vorhandene Kollisionsgefahr zwischen
Werkzeug und Werkstück umgangen. Bei Zahnradbearbeitung z. B. ist darunter ein
Herausziehen aus gerade bearbeiteten Zahnlücken zu verstehen.
Alle Reaktionen sind unabhängig voneinander nutzbar. Weitere Informationen siehe
/FB3/ Funktionshandbuch Sonderfunktionen; Achskopplung und ESR (M3).
Mögliche Auslösquellen
Nachfolgende Fehlerquellen für einen Start von "Erweitertes Stillsetzen und Rückziehen"
sind: Allgemeine Quellen (NC-extern/global oder BAG-/kanalspezifisch):
● Digitale Eingänge (z. B. auf NCU-Baugruppe bzw. Terminalblock) bzw. das
steuerungsinterne, rücklesbare Abbild digitaler Ausgänge $A_IN, $A_OUT
● Kanalzustand $AC_STAT
● VDI-Signale ($A_DBB)
● Sammelmeldungen einer Anzahl von Alarmen ($AC_ALARM_STAT)
Axiale Quellen
● Notrückzugsschwelle der Folgeachse (Synchronlauf der elektronischen Kopplung,
$VC_EG_SYNCDIFF[Folgeachse])
● Antrieb: Zwischenkreis-Warnschwelle (drohende Unterspannung),
$AA_ESR_STAT[Achse]
● Antrieb: Generator-Minimaldrehzahl-Schwelle (keine rückspeisbare Rotationsenergie
mehr vorhanden), $AA_ESR_STAT[Achse].
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-31
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Aktivierung
Funktionsfreigabe:
$AA_ESR_ENABLE
Die Funktionen Generatorbetrieb, Stillsetzen, Rückziehen werden durch Setzen des
zugehörigen Steuersignals ($AA_ESR_ENABLE) freigegeben. Dieses Steuersignal kann von
Synchronaktionen verändert werden.
Funktionsauslösung (gemeinsames Auslösen aller freigegebenen Achsen)
$AN_ESR_TRIGGER
Der Generatorbetrieb wird "automatisch" im Antrieb bei Erkennung drohender
Zwischenkreis-Unterspannung aktiv.
Antriebsautarkes Stillsetzen und/oder Rückziehen werden aktiv bei Erkennung eines
Kommunikationsausfalls (zwischen NC und Antrieb) sowie bei Erkennung einer
Zwischenkreis-Unterspannung im Antrieb (Konfiguration und Freigabe vorausgesetzt).
Antriebsautarkes Stillsetzen und/oder Rückziehen können zusätzlich auch von der NC-Seite
her ausgelöst werden durch das Setzen des entsprechenden Steuersignals
$AN_ESR_TRIGGER (Broadcast-Kommando an alle Antriebe).
Funktion
Antriebsautarke Reaktionen werden axial definiert, d. h. jeder Antrieb bearbeitet im
Aktivierungsfall seine Stillsetzen-/Rückziehen-Anforderung autark. Eine interpolatorische
bzw. bahntreue Verkopplung der Achsen beim Stillsetzen oder Rückziehen ist nicht
gegeben, ein Bezug zu den Achsen läuft zeitgesteuert ab.
Während und nach Durchführung antriebsautarker Reaktionen gehorcht der jeweilige Antrieb
nicht mehr den NC-Freigaben bzw. NC-Fahrbefehlen. Es ist ein Power-Off/Power-On
erforderlich. Der Alarm "26110: Antriebsautarkes Stillsetzen/Rückziehen ausgelöst" weist
darauf hin.
Parameter
Generatorbetrieb
Der Generatorbetrieb wird
● konfiguriert: über MD 37500: 10
● freigegeben: Systemvariable $AA_ESR_ENABLE
● aktiviert: abhängig von der Einstellung der Antriebs-Maschinendaten bei Unterschreiten
der Spannung im Zwischenkreis.
Rückziehen (antriebsautark)
Das antriebsautarke Rückziehen wird
● konfiguriert: über MD 37500: 11; Zeitangabe und Rückzugsgeschwindigkeit erfolgt über
MD, siehe "Beispiel: Verwendung der antriebsautarken Reaktion" am Ende dieses
Kapitels,
● freigegeben: Systemvariable $AA_ESR_ENABLE
Arbeitsvorbereitung
13-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-33
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Funktion
Für NC-geführtes Rückziehen sind bestimmte Ausgangsbedingungen erforderlich, die
nachfolgend unter Vorraussetzungen beschrieben sind. Sind diese Voraussetzungen für
Rückziehen erfüllt, dann wird Schnellabheben aktiviert.
Im Teileprogramm muss die Rückzugsposition POLF programmiert worden sein. Für die
Rückzugbewegung müssen die Freigabesignale gesetzt sein und gesetzt bleiben.
Programmierung
Achtung
Wird bei Verwendung der Kurzformen POLFA nur der Typ geändert, dann muss der
Anwender sicherstellen, dass entweder die Rückzugsposition oder der Rückzugsweg einen
sinnvollen Wert enthält. Insbesondere sind die Rückzugsposition und der Rückzugsweg
nach Power On neu zu setzen.
Parameter
Arbeitsvorbereitung
13-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Hinweis
Werden Achsen nacheinander mit POLFMASK, POLFMLIN oder POLFMLIN, POLFMASK
freigegeben, gilt für die jeweilige Achse immer die letzte Festlegung.
Vorsicht
Die mit POLF programmierten Positionen und die Aktivierung durch POLFMASK oder
POLFMLIN werden bei Teileprogrammstart gelöscht. Das heißt, der Anwender muss in
jedem Teileprogramm die Werte für POLF und die selektierten Achsen in POLFMASK bzw.
POLFMLIN neu programmieren.
Weitere Hinweise bezüglich Änderung des Koordinatensystems, der Wirkung bei
Modulorundachsen usw. finden Sie im
/FB3/ Funktionshandbuch Sonderfunktionen; Achskopplung und ESR (M3).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-35
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Voraussetzung
Rückziehen
● die mit POLFMASK oder POLFMLIN ausgewählten Achsen,
● die mit POLF definierten achsspezifischen Positionen,
● die mit POLFA definierten Rückzugspositionen einer Einzelachse,
● die Zeitfenster in
MD 21380: ESR_DELAY_TIME1 und
MD 21381: ESR_DELAY_TIME2,
● der Anstoß durch Systemvariable $AC_ESR_TRIGGER
$AA_ESR_TRIGGER für Einzelachsen,
● die vereinbarte ESR
MD 37500: ESR_REACTION = 21,
● LFPOS aus der modalen 46. G-Code-Gruppe.
Arbeitsvorbereitung
13-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Für den Rückzug steht maximal die Summe der Zeiten MD 21380: ESR_DELAY_TIME1 und
MD 21381: ESR_DELAY_TIME2 zur Verfügung. Nach Ablauf dieser Zeitspanne wird auch
für die Rückzugachse Schnellbremsen eingeleitet mit anschließendem Nachführen.
Hinweis
Frames mit Drehung beeinflussen über POLF auch die Richtung, in welche abgehoben
wird. Das NC-geführte Rückziehen wird
• konfiguriert: über MD 37500: 21 sowie 2 Zeitangabe über MD s.o.,
• freigegeben ($AA_ESR_ENABLE) und
• gestartet: Systemvariable $AC_ESR_TRIGGER für Einzelachsen mit
$AA_ESR_TRIGGER.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-37
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Funktion
Stillsetzen
Der Ablauf für erweitertes Stillsetzen (NC-geführt) ist durch die beiden Maschinendaten
MD 21380: ESR_DELAY_TIME1 und
MD 21381: ESR_DELAY_TIME2 gegeben.
Für die Dauer der Zeitspanne in MD 21380 interpoliert die Achse ungestört weiter wie
programmiert. Nach Ablauf der Zeitspanne in MD 21380 wird interpolatorisch geführtes
Bremsen (Rampenstopp) eingeleitet. Für das interpolatorisch geführte Bremsen steht dann
maximal die Zeitspanne in MD 21381 zur Verfügung, nach Ablauf dieser Zeitspanne wird
Schnellbremsen mit anschließendem Nachführen eingeleitet.
NC-geführtes Stillsetzen freigeben und starten
Das NC-geführte Stillsetzen wird
konfiguriert: über MD 37500: 22 sowie 2 Zeitangabe über die zwei MD siehe oben;
freigegeben ($AA_ESR_ENABLE) und
gestartet: Systemvariable $AC_ESR_TRIGGER für Einzelachsen mit $AA_ESR_TRIGGER.
13.7.4 Generatorbetrieb/Zwischenkreisstützung
Funktion
Durch Projektierung von Antriebs-MD und entsprechender Programmierung über statische
Synchronaktionen ($AA_ESR_ENABLE) können kurzzeitige
Zwischenkreisspannungseinbrüche kompensiert werden. Die überbrückbare Zeit hängt ab
von der gespeicherten Energie des Generators, der zur Zwischenkreisstützung
herangezogen wird, und der benötigten Energie zur Aufrechterhaltung der momentanen
Bewegungen (Zwischenkreisstützung und Überwachung auf Generatordrehzahlgrenze).
Bei Unterschreitung der Zwischenkreisspannungs-Unterschwelle geht die betroffene
Achse/Spindel vom lage- oder drehzahlgeregelten Betrieb in den Generatorbetrieb über.
Durch Abbremsen des Antriebs (Vorgabe Drehzahlsollwert = 0) wird Energie in den
Zwischenkreis zurückgespeist.
Arbeitsvorbereitung
13-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.7 Erweitertes Stillsetzen und Rückziehen
Funktion
Die Antriebe eines zuvor gekoppelten Verbundes können durch zeitgesteuerte
Abschaltverzögerung mit möglichst geringen Abweichungen zueinander stillgesetzt werden,
wenn dies steuerungsseitig nicht möglich ist.
Das antriebsautarke Stillsetzen wird über MD konfiguriert und freigegeben
(Verzögerungsdauer T1 im MD) und wird mittels der Systemvariable $AA_ESR_ENABLE
freigegeben und mit $AN_ESR_TRIGGER gestartet.
Reaktionen
Für die Zeit T1 wird der im Fehlerfall gerade aktive Drehzahlsollwert weiter ausgegeben.
Hierdurch wird versucht, die vor dem Ausfall wirkende Bewegung aufrechtzuerhalten,
solange bis der Formschluss aufgehoben bzw. die parallel in anderen Antrieben initiierte
Rückzugsbewegung abgeschlossen ist. Dies kann für alle Leit-/Folgeantriebe oder für in
Kopplung oder im Verbund befindliche Antriebe sinnvoll sein.
7 W
Nach dieser Zeit T1 werden alle Achsen mit Drehzahlsollwert Null-Aufschaltung an der
Stromgrenze stillgesetzt und bei Erreichen des Stillstands bzw. nach Ablauf der Zeit (+
Antriebs-MD) die Impulse gelöscht.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-39
Weitere Funktionen
13.8 Link-Kommunikation
Funktion
Achsen mit digitalen Antrieben SIMODRIVE 611Digital können (wenn projektiert und
freigegeben)
● auch bei Ausfall der Steuerung (Lebenszeichenausfall-Erkennung),
● bei Abfall der Zwischenkreisspannung unter eine Warnschwelle,
● bei Auslösung durch die Systemvariable $AN_ESR_TRIGGER
selbsttätig eine Rückzugsbewegung ausführen. Die Rückzugsbewegung erfolgt autark durch
den Antrieb SIMODRIVE 611Digital. Ab dem Beginn der Rückzugsphase hält der Antrieb
seine Freigaben selbständig auf den zuvor gültigen Werten.
Weitere Informationen siehe
/FB3/ Funktionshandbuch Sonderfunktionen; Achsfunktionen und ESR (M3).
Funktion
NCU-Link, die Verbindung zwischen mehreren NCU-Einheiten einer Anlage, findet ihren
Einsatz in Anlagen mit dezentralem Systemaufbau. Bei großem Bedarf an Achsen und
Kanälen, z. B. bei Rundtaktmaschinen und Mehrspindelmaschinen, können die
Rechenleistung, die Konfigurationsmöglichkeiten und Speicherbereiche mit einer einzigen
NCU an praktische Grenzen stoßen.
Mehrere, mit einem NCU-Link-Modul vernetzte, NCUs bieten eine nach oben offene Lösung,
die insgesamt die Aufgaben solcher Werkzeugmaschinen erfüllt. Das NCU-Link-Modul (HW)
realisiert eine schnelle NCU-NCU-Kommunikation durch schreibenden und lesenden Zugriff
auf Systemvarable.
Voraussetzung
Diese Funktionalität ist an die zu bestellende Option geknüpft.
Linkvariable
Link-Variablen sind systemglobale Daten, die von den verbundenen NCUs als
Systemvariablen angesprochen werden können.
Durch den Anwender (das ist in diesem Falle in der Regel der Maschinenhersteller) wird
festgelegt:
● Inhalte dieser Variablen,
● ihr Datentyp,
● ihre Verwendung,
● ihre Position (Zugriffsindex) im Link-Speicher.
Arbeitsvorbereitung
13-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.8 Link-Kommunikation
Warnung
Ein Schreibvorgang einer Linkvariablen ist erst dann beendet, wenn auch die anderen NCUs
die geschriebene Information vorfinden. Dafür wird die Zeit von ca. zwei Interpolationstakten
benötigt. Das lokale Schreiben in den Link-Speicher wird um die gleiche Zeit verzögert,
damit Konsistenz herrscht.
Weitere Hinweise finden Sie im
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Mehrere Bedientafeln und NCUs (B3).
Funktion
Mehrere über Link-Module verbundene NCUs können mit Hilfe der im Folgenden
beschriebenen Systemvariablen-Zugriffe auf einen NCU-globalen Speicherbereich
schreibend und lesend zugreifen.
● Jede über Link-Modul verbunden NCU kann für alle verbundenen NCUs einheitlich
ansprechbare globaleLink-Variablen nutzen.
● Link-Variablen sind als Systemvariablen programmierbar. Die Bedeutung dieser
Variablen wird in der Regel durch den Maschinenhersteller festgelegt und dokumentiert.
● Anwendungen für Link-Variablen
● Datenvolumen vergleichsweise klein
● Übertragungsgeschwindigkeit sehr schnell, daraus folgt: Die Nutzung ist für zeitkritische
Informationen vorgesehen.
● Der Zugriff auf diese Systemvariablen ist aus dem Teileprogramm und aus
Synchronaktionen heraus möglich. Die Größe des Speicherbereiches für NCU-globale
Systemvariablen ist projektierbar.
Nach einem Interpolationstakt können alle beteiligten NCUs einen neu geschrieben Wert in
einer globalen Systemvariablen konsistent lesen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-41
Weitere Funktionen
13.9 Achscontainer (AXCTWE, AXCTWED)
Parameter
Link-Variablen sind im Link-Speicher abgelegt. Nach dem Hochlauf ist der Link-Speicher mit
0 initialisiert.
Innerhalb des Link-Speichers können die folgenden Link-Variablen angesprochen werden:
● INT $A_DLB[i] ;Datenbyte (8 Bit)
● INT $A_DLW[i] ;Datenwort (16 BIT)
● INT $A_DLD[i] ;Datendoppelwort (32 Bit)
● REAL $A_DLR[i] ;Realdatum (64 Bit)
Entsprechend des Typs werden beim Schreiben/Lesen der Linkvariablen 1, 2, 4, 8 Byte
angesprochen.
Der Index i bezeichnet den Anfang der entsprechenden Variablen bezogen auf den Anfang
des projektierten Link-Speichers. Der Index wird ab 0 gezählt.
Wertebereiche
Mit den Datentypen sind die folgenden Wertebereiche verbunden:
BYTE: 0 bis 255
WORD: -32768 bis 32767
DWORD: -2147483646 bis +2147483647
REAL: ±(2,2*10-308 … 1,8*10+308)
Beispiel
Funktion
Bei Rundtaktmaschinen/Mehrspindelmaschinen bewegen sich die werkstücktragenden
Achsen von einer Bearbeitungseinheit zur nächsten.
Weil die Bearbeitungseinheiten verschiedenen NCU-Kanälen unterstehen, müssen bei
einem Stations-/Lagewechsel die werkstücktragenden Achsen dem entsprechenden NCU-
Kanal dynamisch neu zugeordnet werden. Diesem Zweck dienen Achscontainer.
Zu einem Zeitpunkt ist immer nur eine Werkstück-Aufspannachse/Spindel an der lokalen
Bearbeitungseinheit aktiv. Der Achscontainer stellt die Verbindungsmöglichkeiten zu allen
Aufspannachsen/Spindeln zusammen, von denen immer nur genau eine für die
Bearbeitungseinheit aktiviert ist.
Arbeitsvorbereitung
13-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.9 Achscontainer (AXCTWE, AXCTWED)
Programmierung
Die Verschiebung der Einträge im Achscontainer um die Schrittweite n erfolgt mit den
Befehlen:
Parameter
Achscontainer
Über Achscontainer können zugeordnet werden:
● lokale Achsen und/oder
● Link-Achsen (s. Grundlagen)
Der Wechsel der über einen Achscontainer definiert benutzbaren Achsen erfolgt durch
Verschiebung der Einträge im Achscontainer.
Die Verschiebung kann durch das Teileprogramm ausgelöst werden.
Achscontainer mit Link-Achsen sind ein NCU-übergreifendes Betriebsmittel (NCU global),
das durch die Steuerung koordiniert wird. Achscontainer, in denen ausschließlich lokale
Achsen verwaltet werden, sind möglich.
Detaillierte Hinweise zur Projektierung von Achscontainern finden Sie im
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Mehrere Bedientafeln und NCUs (B3).
Freigabekriterien
AXCTSWE ()
Jeder Kanal, dessen Achsen im angegebenen Container eingetragen sind, gibt die Freigabe
für eine Containerdrehung (enable), wenn er mit der Bearbeitung der Lage/Station fertig ist.
Wenn in der Steuerung die Freigaben aller Kanäle für die Achsen des Containers
eingetroffen sind, erfolgt die Containerdrehung mit der im SD hinterlegten Schrittweite.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-43
Weitere Funktionen
13.9 Achscontainer (AXCTWE, AXCTWED)
.DQDODFKV /RJLVFKHV0DVFKLQHQDFKVDEELOG
QDPH
; $; /RNDOH0DVFKLQHQDFKVH
< $; /RNDOH0DVFKLQHQDFKVH
=
6
&7B6/ $FKVFRQWDLQHU(LQWUDJ6ORW
1ULPORJLVFKHQ
0DVFKLQHQDFKVDEELOG
$FKVFRQWDLQHU $FKVFRQWDLQHU
1&B$; 1&B$;
1&B$;
1&B$;
1&B$; $;&76:(&7 1&B$;
1&B$;
1&B$;
$FKVFRQWDLQHUHLQWU¦JHPLW6FKULWWZHLWHYHUVFKREHQ
Arbeitsvorbereitung
13-44 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.10 Programmlaufzeit/Werkstückzähler
Hinweis
Die Achscontainer-Drehung mit impliziten GET/GETD kann für eine Achse die im Zustand
Hauptlauf-Achse, z.B. für eine PLC-Achse nicht angewendet werden, da diese Achse dann
diesen Zustand zur Achscontainer-Drehung verlassen müsste.
13.10.1 Allgemeines
Zur Unterstützung des Bearbeiters an der Werkzeugmaschine werden Informationen zur
Programmlaufzeit bereitgestellt.
Diese Informationen sind in den entsprechenden Maschinendaten spezifiziert und können
als Systemvariable im NC- und/oder PLC-Programm bearbeitet werden. Gleichzeitig stehen
diese Informationen dem HMI in der Bedientafelfront-Schnittstelle zur Verfügung.
13.10.2 Programmlaufzeit
Funktion
Unter der Funktion Programmlaufzeit werden Timer als Systemvariable bereitgestellt, die zur
Überwachung technologischer Prozesse genutzt werden können.
Für diese Timer existieren nur Lese-Zugriffe. Auf sie kann HMI jederzeit lesend zugreifen.
Parameter
Die beiden folgenden Timer sind als NCK-spezifische Systemvariable definiert und immer
aktiv.
Sytemvariable
Die drei folgenden Timer sind als kanalspezifische Systemvariable definiert und können über
Maschinendatum aktiviert werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-45
Weitere Funktionen
13.10 Programmlaufzeit/Werkstückzähler
Hinweis
Alle Timer werden bei einem Steuerungshochlauf mit Default-Werten genullt und können
unabhängig von ihrer Aktivierung gelesen werden.
Beispiel
1. Aktivierung der Laufzeit-Messung für das aktive NC-Programm, dabei kein Messen
bei aktivem Probelauf-Vorschub und Programm-Test:
$MC_PROCESSTIMER_MODE = 'H2'
2. Aktivierung der Messung für die Werkzeug-Eingriffs-Zeit, dabei auch Messen bei
aktivem Probelauf-Vorschub und Programm-Test:
$MC_PROCESSTIMER_MODE = 'H34'
3. Aktivierung der Messung für die Gesamt-Laufzeit und die Werkzeug-Eingriffszeit,
dabei auch Messen bei Programm-Test:
$MC_PROCESSTIMER_MODE = 'H25'
13.10.3 Werkstückzähler
Funktion
Mit der Funktion "Werkstückzähler" werden Zähler bereitgestellt, die z. B. für die
steuerungsinterne Zählung von Werkstücken verwendet werden können. Diese Zähler
existieren als kanalspezifische Systemvariablen mit Schreib- und Lese-Zugriff im
Wertebereich von 0 bis 999 999 999.
Über Maschinendaten kann auf die Zähler-Aktivierung, den Zeitpunkt der Nullung und den
Zählalgorithmus Einfluss genommen werden.
Parameter
Folgende Zähler werden bereitgestellt:
Systemvariable
Arbeitsvorbereitung
13-46 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.10 Programmlaufzeit/Werkstückzähler
Hinweis
Die Funktion "Werkstückzähler" ist unabhängig von den Funktionen der
Werkzeugverwaltung. Alle Zähler können vom HMI gelesen und beschrieben werden.
Alle Zähler werden bei einem Steuerungshochlauf mit Default-Werten genullt und können
unabhängig von ihrer Aktivierung gelesen/geschrieben werden.
Beispiel
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-47
Weitere Funktionen
13.11 Fenster aus dem Teileprogramm interaktiv aufrufen Befehl (MMC)
13.11 13.11 Fenster aus dem Teileprogramm interaktiv aufrufen Befehl (MMC)
Funktion
Über den Befehl MMC können aus dem Teileprogramm auf dem HMI anwenderdefinierte
Dialogfenster (Dialogbilder) angezeigt werden.
Das Aussehen der Dialogfenster wird durch rein textuelle Projektierung festgelegt (COM-
Datei im Zyklenverzeichnis), die HMI -System-Software bleibt dabei unverändert.
Anwenderdefinierte Dialogfenster können nicht zeitgleich in verschiedenen Kanälen
aufgerufen werden.
Programmierung
MMC(CYCLES, PICTURE_ON, T_SK.COM, BILD, [Link], BILD_3.AWB,
TEST_1, A1", "S")
Detaillierte Hinweise zur Programmierung des MMC-Befehls (inkl. Programmierbeispiele)
finden Sie in /IAM/ in den Büchern AE1, BE1, HE1, IM2, IM4 und IM5 je nach der
verwendeten HMI-Software.
Parameter
Arbeitsvorbereitung
13-48 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.12 Beeinflussung der Bewegungsführung
Funktion
In kritischen Programmabschnitten kann es notwendig sein, den Ruck unter den maximal
möglichen Wert zu beschränken, um z. B. die Maschinenbeanspruchung zu verringern. Der
Beschleunigungsmodus SOFT muss aktiv sein. Die Funktion wirkt nur auf Bahnachsen.
Programmierung
JERKLIM[Achse] =...
Parameter
Beispiel
In den AUTOMATIK-Betriebsarten wird für die programmierte Achse der Ruckgrenzwert auf
den angegebenen Prozentsatz des im Maschinendatum hinterlegten Ruckgrenzwertes
beschränkt.
N60 JERKLIM[X] = 75
Bedeutet: Der Achsschlitten in X-Richtung soll nur mit 75% des für die Achse zulässigen
Rucks beschleunigt/verzögert werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-49
Weitere Funktionen
13.12 Beeinflussung der Bewegungsführung
Hinweis
Ein weiteres Beispiel folgt im Kapitel "Prozentuale Geschwindigkeitskorrektur (VELOLIM)".
Funktion
In kritischen Programmabschnitten kann es notwendig sein, die Geschwindigkeit unter den
maximal möglichen Werte zu beschränken, um z. B. die Maschinenbeanspruchung zu
verringern oder die Bearbeitungsgüte zu verbessern. Die Funktion wirkt nur auf Bahn- und
Positionierachsen.
Programmierung
VELOLIM[Achse] = ...
Parameter
Beispiel VELOLIM
In den AUTOMATIK-Betriebsarten wird für die programmierte Achse der
Geschwindigkeitsgrenzwert auf den angegebenen Prozentsatz des im Maschinendatum
hinterlegten Geschwindigkeitsgrenzwertes beschränkt.
N70 VELOLIM[X] = 80
Bedeutet: Der Achsschlitten in X-Richtung soll nur mit 80 % der für die Achse zulässigen
Geschwindigkeit verfahren werden.
Arbeitsvorbereitung
13-50 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.13 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS)
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.
Programmierung
Hinweis
Bei MASLOF/MASLOFS entfällt der implizite Vorlaufstopp. Bedingt durch den fehlenden
Vorlaufstopp liefern die $P-Systemvariablen für die Slaveachsen bis zum Zeitpunkt erneuter
Programmierung keine aktualisierten Werte.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-51
Weitere Funktionen
13.13 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS)
Parameter
Allgemein
Arbeitsvorbereitung
13-52 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Weitere Funktionen
13.13 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS)
Literatur:
/FB2/ Funktionshandbuch Erweiterungsfunktionen; Mehrere Bedientafelfronten und NCUs
(B3), Kapitel "Achscontainer".
Beschreibung
Allgemein
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 13-53
Weitere Funktionen
13.13 Master-/Slave-Verband (MASLDEF, MASLDEL, MASLOF, MASLOF, MASLOFS)
Hinweis
Für die Slave-Achse kann der Istwert durch PRESETON auf den gleichen Wert der Master
Achse synchronisiert werden. Dazu muss die dauerhafte Master-/Slave-Kopplung kurzfristig
ausgeschaltet werden um den Istwert der nicht referierten Slave-Achse mit Power On auf
den Wert der Master-Achse zu setzen. Danach wird die dauerhafte Kopplung wieder
hergestellt.
Die dauerhafte Master-/Slave-Kopplung wird mit MD 37262:
MS_COUPLING_ALWAYS_ACTIVE = 1 aktiviert und hat keine Auswirkung auf die
Sprachbefehle der temporären Kopplung.
Arbeitsvorbereitung
13-54 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme 14
14.1 14.1 Unterstützende Funktion für das Abspanen
Funktion
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.
Hinweis
Sie können diese Funktionen nicht nur zum Abspanen, sondern universell einsetzen.
Voraussetzung
Vor dem Aufruf von CONTPRON oder CONTDCON muss
● ein Startpunkt angefahren werden, der eine kollisionsfreie Bearbeitung erlaubt,
● die Schneidenradiuskorrektur mit G40 ausgeschaltet sein.
Programmierung
CONTPRON
oder
CONTDCON
mit
INTERSEC
oder
ISPOINTS
oder
EXECTAB
oder
CALCDAT
Konturaufbereitung beenden
EXECUTE (FEHLER)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-1
Eigene Abspanprogramme
14.2 Konturaufbereitung (CONTPRON)
Parameter
Mit EXECUTE wird die Konturaufbereitung abgeschaltet und gleichzeitig in den normalen
Abarbeitungsmodus zurückgeschaltet.
Beispiel:
N30 CONTPRON(...)
N40 G1 X... Z...
N50 ...
N100 EXECUTE(...)
Funktion
Die nach CONTPRON durchlaufenen Sätze beschreiben die Kontur, die aufbereitet wird. Die
Sätze werden nicht bearbeitet, sondern in der Konturtabelle abgelegt. Jedem Konturelement
entspricht eine Tabellenzeile im zweidimensionalen Feld der Konturtabelle. Die Anzahl der
ermittelten Hinterschnitte wird zurückgeliefert.
Programmierung
CONTPRON (TABNAME, BEARBART, NN, MODE)
Konturaufbereitung beenden und gleichzeitig in den normalen Abarbeitungsmodus zurück:
EXECUTE (FEHLER)
Arbeitsvorbereitung
14-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme
14.2 Konturaufbereitung (CONTPRON)
Parameter
=
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-3
Eigene Abspanprogramme
14.2 Konturaufbereitung (CONTPRON)
NC-Teileprogramm
Index Spalte
Zeile
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
7 7 11 0 0 20 150 0 82.40535663 0 0
0 2 11 20 150 30 110 -1111 104.0362435 0 0
1 3 11 30 110 30 65 0 90 0 0
2 4 13 30 65 45 50 0 180 45 65
3 5 11 45 50 70 50 0 0 0 0
4 6 11 70 50 85 40 0 146.3099325 0 0
5 7 11 85 40 90 30 0 116.5650512 0 0
6 0 11 90 30 90 0 0 90 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
Arbeitsvorbereitung
14-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme
14.2 Konturaufbereitung (CONTPRON)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-5
Eigene Abspanprogramme
14.2 Konturaufbereitung (CONTPRON)
=
NC-Teileprogramm
Arbeitsvorbereitung
14-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme
14.2 Konturaufbereitung (CONTPRON)
Index Spalte
Zeile (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
0 61) 72) 11 100 100 20 20 0 45 0 0
1 03) 2 11 20 20 20 45 -3 90 0 0
2 1 3 11 20 45 0 45 0 0 0 0
3 2 4 12 0 45 -15 30 5 90 -15 45
4 3 5 11 -15 30 -30 30 0 0 0 0
5 4 7 11 -30 30 -30 45 -1111 90 0 0
6 7 04) 11 -30 80 -40 80 0 0 0 0
7 5 6 11 -30 45 -30 80 0 90 0 0
8 15) 26) 0 0 0 0 0 0 0 0 0
...
83 84 07) 11 20 45 20 80 0 90 0 0
84 90 83 11 20 20 20 45 -1111 90 0 0
85 08) 86 11 -40 80 -30 80 0 0 0 0
86 85 87 11 -30 80 -30 30 88 90 0 0
87 86 88 11 -30 30 -15 30 0 0 0 0
88 87 89 13 -15 30 0 45 -90 90 -15 45
89 88 90 11 0 45 20 45 0 0 0 0
90 89 84 11 20 45 20 20 84 90 0 0
91 839) 8510) 11 20 20 100 100 0 45 0 0
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)
4) Nachfolger: Konturende (vorwärts)
Immer auf Zeile Konturtabellenende (vorwärts) +1:
5) Vorgänger: Anzahl der Hinterschnitte vorwärts
6) Nachfolger: Anzahl der Hinterschnitte rückwärts
Je einmal innerhalb der Konturelemente rückwärts:
7) Nachfolger: Konturende (rückwärts)
8) Vorgänger: Konturbeginn (rückwärts)
Immer in letzter Tabellen-Zeile:
9) Vorgänger: Zeile n ist der Konturtabellenanfang (rückwärts)
10) Nachfolger: Zeile n enthält den Konturanfang (rückwärts)
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-7
Eigene Abspanprogramme
14.2 Konturaufbereitung (CONTPRON)
Aufbereitung beenden
Mit dem Aufruf von EXECUTE (variable) schalten Sie nach dem Schreiben der Kontur in den
normalen Programmablauf zurück und die Konturaufbereitung wird beendet. Die Variable
zeigt danach an:
1 = Fehler
0 = kein Fehler (die Kontur konnte fehlerfrei aufbereitet werden).
Hinterschnittelemente
Die Konturbeschreibung der einzelnen Hinterschnittelemente kann wahlweise in einem
Unterprogramm oder in einzelnen Sätzen erfolgen.
Arbeitsvorbereitung
14-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme
14.3 Konturdecodierung (CONTDCON)
Funktion
Die nach CONTDCON durchlaufenen Sätze beschreiben die Kontur, die decodiert wird. Die
Sätze werden nicht bearbeitet, sondern 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 Anwendungen wie z. B.
Zyklen aus den Tabellenzeilen DIN-Code-Programme zusammenstellen. In der
Tabellenzeile mit der Nummer 0 werden die Daten des Ausgangspunktes gespeichert.
Programmierung
CONTDCON (TABNAME, MODE)
Konturaufbereitung abschalten und gleichzeitig in den normalen Abarbeitungsmodus zurück:
EXECUTE (FEHLER)
Parameter
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-9
Eigene Abspanprogramme
14.3 Konturdecodierung (CONTDCON)
=
NC-Teileprogramm
Arbeitsvorbereitung
14-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme
14.3 Konturdecodierung (CONTDCON)
Spalten- 0 1 2 3 4 5
index
Zeilenindex Konturmode Endpunkt Endpunkt Mittelpunkt Mittelpunkt Vorschub
Abszisse Ordinate Abszisse Ordinate
0 30 100 100 0 0 7
1 11031 20 20 0 0 200
2 111031 20 45 0 0 300
3 11031 0 45 0 0 400
4 11032 -15 30 -15 45 100
5 11031 -30 30 0 0 600
6 11031 -30 80 0 0 700
7 11031 -40 80 0 0 800
8 0 0 0 0 0 0
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-11
Eigene Abspanprogramme
14.3 Konturdecodierung (CONTDCON)
Aufbereitung beenden
Mit dem Aufruf von EXECUTE (FEHLER) schalten Sie nach dem Schreiben der
Konturtabelle in den normalen Programmablauf zurück und die Konturaufbereitung wird
beendet. Eine Rückmeldung erfolgt in der zugehörigen Variablen FEHLER:
0 = kein Fehler(die Kontur konnte fehlerfrei aufbereitet werden)
1 = Fehler
Unzulässige Befehle, falsche Ausgangsbedingungen, wiederholter CONTDCON-Aufruf ohne
EXECUTE( ), zu wenige Kontursätze oder zu klein definierte Tabellen führen zusätzlich zu
Alarmen.
Arbeitsvorbereitung
14-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme
14.4 Schnittpunkt zweier Konturelemente (INTERSEC)
Funktion
INTERSEC ermittelt den Schnittpunkt von zwei normierten Konturelementen aus der mit
CONTPRON erzeugten Konturtabelle.
Programmierung
ISPOINT = INTERSEC (TABNAME1[n1], TABNAME2[n2], ISCOORD, MODE)
Der zurückgegebene Status von ISPOINT weist darauf hin, ob ein Schnittpunkt vorliegt
(ISPOINT = TRUE) oder kein Schnittpunkt gefunden wurde (ISPOINT = FALSE).
Parameter
Hinweis
Beachten Sie, dass Variable vor ihrer Verwendung definiert sein müssen.
Die Übergabe der Konturen erfordert die Einhaltung der mit CONTPRON definierten Werte:
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-13
Eigene Abspanprogramme
14.4 Schnittpunkt zweier Konturelemente (INTERSEC)
Beispiel
Schnittpunkt von Konturelement 3 der Tabelle TABNAME1 und Konturelement 7 der Tabelle
TABNAME2 ermitteln. Die Schnittpunkt-Koordinaten in der aktiven Ebene werden in
SCHNITT (1. Element = Abszisse, 2. Element = Ordinate) abgelegt. Existiert kein
Schnittpunkt, erfolgt ein Sprung zu KEINSCH (kein Schnittpunkt gefunden).
Arbeitsvorbereitung
14-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Eigene Abspanprogramme
14.5 Verfahren eines Konturelementes aus der Tabelle (EXECTAB)
Funktion
Mit dem Befehl EXECTAB können Sie die Konturelemente einer Tabelle, die z. B. mit dem
Befehl CONTPRON erzeugt wurde, satzweise verfahren.
Programmierung
EXECTAB (TABNAME[n])
Parameter
Beispiel
Mit dem Unterprogramm EXECTAB werden die Konturelemente der Tabelle KTAB
satzweise abgefahren. Beim Aufruf werden nacheinander die Elemente 0 bis 2 übergeben.
Funktion
Berechnung von Radius und Kreismittelpunkt-Koordinaten aus drei oder vier bekannten
Kreispunkten. 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.
Programmierung
VARIB = CALCDAT (PKT[n,2], ANZ, ERG)
Hinweis
Beachten Sie, dass Variable vor ihrer Verwendung definiert sein müssen.
Der angegebene Status weist darauf hin, ob die drei oder vier bekannten Punkte exakt auf
einen Kreis (VARIB = TRUE) oder keinen Kreis liegen (VARIB = FALSE).
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 14-15
Eigene Abspanprogramme
14.6 Kreisdaten berechnen (CALCDAT)
Parameter
Beispiel
Von den drei Punkten soll ermittelt werden, ob sie auf einem Kreisabschnitt liegen.
<
>@
(5*
(5*>@
;
(5*>@
Arbeitsvorbereitung
14-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen 15
15.1 15.1 Liste der Anweisungen
Legende:
1 Standardeinstellung bei Programmanfang (im Auslieferungsstand der Steuerung, wenn nichts anderes programmiert
ist).
2 Die Gruppen-Numerierung entspricht der Tabelle im Abschnitt "Liste der G-Funktionen/Wegbedingungen".
3 Absolute Endpunkte: modal (m)
Inkrementale Endpunkte: satzweise (s)
Ansonsten: m/s in Abhängigkeit von der Syntaxbestimmung G-Funktion
4 Als Kreismittelpunkte wirken IPO-Paramter inkrementell. Mit AC können sie absolut programmiert werden. Bei anderen
Bedeutungen (z. B. Gewindesteigung) wird die Adressmodifikation ignoriert.
5 Schlüsselwort gilt nicht für SINUMERIK 810D.
5 Schlüsselwort gilt nicht für SINUMERIK 810D/NCU571.
7 Schlüsselwort gilt nur für SINUMERIK FM-NC.
8 Der OEM-Anwender kann zwei zusätzliche Interpolationsarten einbringen. Die Namen kann der OEM-Anwender
verändern.
9 Für diese Funktionen ist die erweiterte Adressschreibweise nicht zulässig.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-1
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-3
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-5
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-7
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-9
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-11
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-13
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-15
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-17
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-19
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-21
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-23
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-25
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-26 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-27
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-28 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-29
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-30 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-31
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-32 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-33
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-34 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-35
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-36 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-37
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-38 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-39
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
15-40 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Tabellen
15.1 Liste der Anweisungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 15-41
Tabellen
15.1 Liste der Anweisungen
Legende:
1 Standardeinstellung bei Programmanfang (im Auslieferungsstand der Steuerung, wenn nichts anderes programmiert
ist).
2 Die Gruppen-Numerierung entspricht der Tabelle im Abschnitt "Liste der G-Funktionen/Wegbedingungen".
3 Absolute Endpunkte: modal (m)
Inkrementale Endpunkte: satzweise (s)
Ansonsten: m/s in Abhängigkeit von der Syntaxbestimmung G-Funktion
4 Als Kreismittelpunkte wirken IPO-Paramter inkrementell. Mit AC können sie absolut programmiert werden. Bei anderen
Bedeutungen (z. B. Gewindesteigung) wird die Adressmodifikation ignoriert.
5 Schlüsselwort gilt nicht für SINUMERIK 810D.
5 Schlüsselwort gilt nicht für SINUMERIK 810D/NCU571.
7 Schlüsselwort gilt nur für SINUMERIK FM-NC.
8 Der OEM-Anwender kann zwei zusätzliche Interpolationsarten einbringen. Die Namen kann der OEM-Anwender
verändern.
9 Für diese Funktionen ist die erweiterte Adressschreibweise nicht zulässig.
Arbeitsvorbereitung
15-42 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
A Anhang A
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 A-1
Anhang
A.1 Liste der Abkürzungen
A Ausgang
AS 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
AV Arbeitsvorbereitung
AWL Anweisungsliste
BA Betriebsart
BAG Betriebsartengruppe
BB Betriebsbereit
BuB, B&B Bedienen und Beobachten
BCD Binary Coded Decimals: Im Binärcode verschlüsselte Dezimalzahlen
BHG Bedienhandgerät
BIN Binärdateien (Binary Files)
BIOS Basic Input Output System
BKS Basiskoordinatensystem
BOF Bedienoberfläche
BOT Boot Files: Bootdateien für SIMODRIVE 611 digital
BT Bedientafel
BTSS Bedientafelschnittstelle
CAD Computer-Aided Design
CAM Computer-Aided Manufacturing
CNC Computerized Numerical Control: Computerunterstützte numerische Steuerung
COM Communication
CP Communication Processor
CPU Central Processing Unit: Zentrale Rechnereinheit
CR Carriage Return
CRT Cathode Ray Tube: Bildröhre
CSB Central Service Board: PLC-Baugruppe
CTS Clear To Send: Meldung der Sendebereitschaft bei seriellen Daten-Schnittstellen
CUTOM Cutter radius compensation: Werkzeugradiuskorrektur
DAU Digital-Analog-Umwandler
DB Datenbaustein in der PLC
DBB Datenbausteinbyte in der PLC
DBW Datenbausteinwort in der PLC
DBX Datenbausteinbit in der PLC
DC Direct Control: Bewegung der Rundachse auf kürzestem Weg auf die absolute
Position innerhalb einer Umdrehung
DCD Carrier Detect
DDE Dynamic Data Exchange
Arbeitsvorbereitung
A-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Anhang
A.1 Liste der Abkürzungen
DEE Datenendeinrichtung
DIN Deutsche Industrie Norm
DIO Data Input/Output: Datenübertragungs-Anzeige
DIR Directory: Verzeichnis
DLL Dynamic Link Library
DOE Datenübertragungseinrichtung
DOS Disk Operating System
DPM Dual Port Memory
DPR Dual-Port-RAM
DRAM Dynamic Random Access Memory
DRF Differential Resolver Function: Differential-Drehmelder-Funktion (Handrad)
DRY Dry Run: Probelaufvorschub
DSB Decoding Single Block: Dekodierungseinzelsatz
DW Datenwort
E Eingang
E/A Ein-/Ausgabe
E/R Einspeise-/Rückspeiseeinheit (Stromversorgung) des
SIMODRIVE 611 digital
EIA-Code Spezieller Lochstreifencode, Lochanzahl pro Zeichen stets ungerade
ENC Encoder: Istwertgeber
EPROM Erasable Programmable Read Only Memory (Löschbarer, elektrisch
programmierbarer Lesespeicher)
ERROR Error from printer
FB Funktionsbaustein
FBS Flachbildschirm
FC Function Call: Funktionsbaustein in der PLC
FDB Fabrikate-Datenbank
FDD Floppy Disk Drive
FEPROM Flash-EPROM: Les- und schreibbarer Speicher
FIFO First In First Out: Speicher, der ohne Adressangabe arbeitet und dessen Daten in
derselben Reihenfolge gelesen werden, in der sie gespeichert wurden.
FIPO Feininterpolator
FM Funktionsmodul
FM-NC Funktionsmodul-Numerische Steuerung
FPU Floating Point Unit: Gleitpunkteinheit
FRA Frame-Baustein
FRAME Datensatz (Rahmen)
FRK Fräsradiuskorrektur
FST Feed Stop: Vorschub Halt
FUP Funktionsplan (Programmiermethode für PLC)
GP Grundprogramm
GUD Global User Data: Globale Anwenderdaten
HD Hard Disk: Festplatte
HEX Kurzbezeichnung für hexadezimale Zahl
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 A-3
Anhang
A.1 Liste der Abkürzungen
HiFu Hilfsfunktion
HMI Human Machine Interface: Bedienfunktionalität der SINUMERIK für Bedienen,
Programmieren und Simulieren.
HMS Hochauflösendes Messsystem
HSA Hauptspindelantrieb
HW Hardware
IBN Inbetriebnahme
IF Impulsfreigabe des Antriebsmoduls
IK (GD) Implizite Kommunikation (Globale Daten)
IKA Interpolative Compensation: Interpolatorische Kompensation
IM Interface-Modul: Anschaltungsbaugruppe
IMR Interface-Modul Receive: Anschaltungsbaugruppe für Empfangsbetrieb
IMS Interface-Modul Send: Anschaltungsbaugruppe für Sendebetrieb
INC Increment: Schrittmaß
INI Initializing Data: Initialisierungsdaten
IPO Interpolator
ISA International Standard Architecture
ISO International Standard Organization
ISO-Code Spezieller Lochstreifencode, Lochanzahl pro Zeichen stets gerade
JOG Jogging: Einrichtbetrieb
K1 .. K4 Kanal 1 bis Kanal 4
K-Bus Kommunikationsbus
KD Koordinatendrehung
KOP Kontaktplan (Programmiermethode für PLC)
Kv Kreisverstärkungsfaktor
KÜ Übersetzungsverhältnis
LCD Liquid-Crystal Display: Flüssigkristallanzeige
LED Light-Emitting Diode: Leuchtdiodenanzeige
LF Line Feed
LMS Lagemesssystem
LR Lageregler
LUD Local User Data
MB Megabyte
MD Maschinendaten
MDA Manual Data Automatic: Handeingabe
MK Messkreis
MKS Maschinenkoordinatensystem
MLFB Maschinenlesbare Fabrikatbezeichnung
MPF Main Program File: NC-Teileprogramm (Hauptprogramm)
MPI Multi Port Interface: Mehrpunktfähige Schnittstelle
MS- Microsoft (Software-Hersteller)
MSTT Maschinensteuertafel
NC Numerical Control: Numerische Steuerung
Arbeitsvorbereitung
A-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Anhang
A.1 Liste der Abkürzungen
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 A-5
Anhang
A.1 Liste der Abkürzungen
Arbeitsvorbereitung
A-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Anhang
A.2 Publikationsspezifische Information
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 A-7
Anhang
A.2 Publikationsspezifische Information
$EVHQGHU
$Q
6,(0(16$* 1DPH
$ '0&06 $QVFKULIW,KUHU)LUPD'LHQVWVWHOOH
3RVWIDFK
6WUD¡H
'(UODQJHQ
3/= 2UW
9RUVFKO¦JHXQGRGHU.RUUHNWXUHQ
Arbeitsvorbereitung
A-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Anhang
A.2 Publikationsspezifische Information
A.2.2 Dokumentationsübersicht
'RNXPHQWDWLRQV¾EHUVLFKW6,180(5,.'VO'LVO
$OOJHPHLQH'RNXPHQWDWLRQ
$QZHQGHU'RNXPHQWDWLRQ
+HUVWHOOHU6HUYLFH'RNXPHQWDWLRQ
+HUVWHOOHU6HUYLFH'RNXPHQWDWLRQ
(OHNWURQLVFKH'RNXPHQWDWLRQ
6,180(5,.
6,1$0,&6
0RWRUHQ
'2&21&'
'2&21:(%
(PSIRKOHQHU0LQLPDOXPIDQJGHU'RNXPHQWDWLRQ
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 A-9
Anhang
A.2 Publikationsspezifische Information
'RNXPHQWDWLRQV¾EHUVLFKW6,180(5,.''L'
$OOJHPHLQH'RNXPHQWDWLRQ
$QZHQGHU'RNXPHQWDWLRQ
+HUVWHOOHU6HUYLFH'RNXPHQWDWLRQ
+HUVWHOOHU6HUYLFH'RNXPHQWDWLRQ
(OHNWURQLVFKH'RNXPHQWDWLRQ
6,180(5,.
6,02'5,9(
0RWRUHQ
'2&21&'
'2&21:(%
(PSIRKOHQHU0LQLPDOXPIDQJGHU'RNXPHQWDWLRQ
Arbeitsvorbereitung
A-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
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 -> Rundachsen erhalten die Bezeichner A, B, C. Zusätzliche Achsen,
parallel zu den angegebenen, können mit weiteren Adressbuchstaben gekennzeichnet
werden.
Achsen
Die CNC-Achsen werden entsprechend ihres Funktionsumfangs abgestuft in:
● Achsen: interpolierende Bahnachsen
● Hilfsachsen: nicht interpolierende Zustell- und Positionierachsen mit achsspezifischem
Vorschub. Hilfsachsen sind an der eigentlichen Bearbeitung nicht beteiligt, z. B.
Werkzeugzubringer, Werkzeugmagazin.
Achsname
Siehe -> Achsbezeichner
Adresse
Eine Adresse ist die Kennzeichnung für einen bestimmten Operanden oder
Operandenbereich, z. B. Eingang, Ausgang usw.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-1
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.
2. Alarme und Meldungen von PLC
Alarme- und Meldungen der Maschine können aus dem PLC-Programm im Klartext zur
Anzeige gebracht werden. Dazu sind keine zusätzlichen Funktionsbaustein-Pakete
notwendig.
Analog-Ein-/Ausgabebaugruppe
Analog-Ein-/Ausgabebaugruppen sind Signalformer für analoge Prozesssignale.
Analog-Eingabebaugruppen wandeln analoge Messgrößen in digitale Werte um, die in der
CPU verarbeitet werden können.
Analog-Ausgabebaugruppen wandeln digitale Werte in analoge Stellgrößen um.
Antrieb
Das Steuerungssystem SINUMERIK 840D ist über einen schnellen digitalen Parallelbus mit
dem Umrichtersystem SIMODRIVE 611 digital verbunden.
Anwenderdefinierte Variable
Anwender können für beliebige Nutzung im -> Teileprogramm oder Datenbaustein (globale
Anwenderdaten) anwenderdefinierte Variable vereinbaren. Eine Definition enthält eine
Datentypangabe und den Variablennamen. Siehe -> Systemvariable.
Anwenderprogramm
Anwenderprogramme für Automatisierungssysteme S7-300 werden mit der
Programmiersprache STEP 7 erstellt. Das Anwenderprogramm ist modular aufgebaut und
besteht aus einzelnen Bausteinen.
Die grundlegenden Bausteintypen sind:
Code-Bausteine: diese Bausteine enthalten die STEP 7-Befehle.
Datenbausteine: diese Bausteine enthalten Konstanten und Variablen für das STEP 7-
Programm.
Anwenderspeicher
Alle Programme und Daten wie Teileprogramme, Unterprogramme, Kommentare,
Werkzeugkorrekturen, Nullpunktverschiebungen/Frames sowie Kanal- und
Programmanwenderdaten können in den gemeinsamen CNC- Anwenderspeicher abgelegt
werden.
Arbeitsvorbereitung
Glossar-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Glossar
Arbeitsfeldbegrenzung
Mit der Arbeitsfeldbegrenzung kann der Verfahrbereich der Achsen zusätzlich zu den
Endschaltern eingeschränkt werden. Je Achse ist ein Wertepaar zur Beschreibung des
geschützten Arbeitsraumes möglich.
Arbeitsraum
Dreidimensionaler Raum, in den die Werkzeugspitze aufgrund der Konstruktion der
Werkzeugmaschine hineinfahren kann. Siehe -> Schutzraum.
Arbeitsspeicher
Der Arbeitsspeicher ist ein RAM-Speicher in der -> 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.
A-Spline
Der Akima-Spline verläuft tangentenstetig durch die programmierten Stützpunkte (Polynom
3. Grades).
Asynchrones Unterprogramm
Teileprogramm, das asynchron (unabhängig) zum aktuellen Programmzustand durch ein
Interruptsignal (z. B. Signal "schneller NC-Eingang") gestartet werden kann.
Automatik
Betriebsart der Steuerung (Satzfolgebetrieb nach DIN): Betriebsart bei NC-Systemen, in der
ein -> Teileprogramm angewählt und kontinuierlich abgearbeitet wird.
Back up
Abzug des Speicherinhaltes auf ein externes Speichergerät.
Backup-Speicher
Der Backup-Speicher gewährleistet eine Pufferung von Speicherbereichen der -> CPU ohne
Pufferbatterie. Gepuffert wird eine parametrierbare Anzahl von Zeiten, Zählern, Merkern und
Datenbytes.
Bahnachse
Bahnachsen sind alle Bearbeitungsachsen des -> Kanals, die vom -> Interpolator so geführt
werden, dass sie gleichzeitig starten, beschleunigen, stoppen und den Endpunkt erreichen.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-3
Glossar
Bahngeschwindigkeit
Die maximal programmierbare Bahngeschwindigkeit ist abhängig von der Eingabefeinheit.
Bei einer Auflösung von beispielsweise 0,1 mm beträgt die maximal programmierbare
Bahngeschwindigkeit 1000 m/min.
Bahnsteuerbetrieb
Ziel des Bahnsteuerbetriebes ist es, ein größeres Abbremsen der die Steuerung, Maschine
und weitere Vermögenswerte des Betriebes und Anwenders -> Bahnachsen an den
Teileprogramm-Satzgrenzen zu vermeiden und mit möglichst gleicher Bahngeschwindigkeit
in den nächsten Satz zu wechseln.
Bahnvorschub
Bahnvorschub wirkt auf -> Bahnachsen. Er stellt die geometrische Summe der Vorschübe
der beteiligten -> Geometrieachsen dar.
Basisachse
Achse, deren Soll- oder Istwert für die Berechnung eines Kompensationswertes
herangezogen wird.
Basiskoordinatensystem
Kartesisches Koordinatensystem, wird durch Transformation auf das
Maschinenkoordinatensystem abgebildet.
Im -> Teileprogramm verwendet der Programmierer Achsnamen des
Basiskoordinatensystems. Es besteht, wenn keine -> Transformation aktiv ist, parallel zum -
> Maschinenkoordinatensystem. Der Unterschied zu diesem liegt in den Achsbezeichnern.
Baudrate
Geschwindigkeit bei der Datenübertragung (Bit/s).
Baustein
Als Bausteine werden alle Dateien bezeichnet, die für die Programmerstellung und
Programmverarbeitung benötigt werden.
Bearbeitungskanal
Über eine Kanalstruktur können durch parallele Bewegungsabläufe Nebenzeiten verkürzt
werden, z. B. Verfahren eines Ladeportals simultan zur Bearbeitung. Ein CNC-Kanal ist
dabei als eigene CNC-Steuerung mit Dekodierung, Satzaufbereitung und Interpolation
anzusehen.
Arbeitsvorbereitung
Glossar-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Glossar
Bedienoberfläche
Die Bedienoberfläche (BOF) ist das Anzeigemedium einer CNC-Steuerung in Gestalt eines
Bildschirms. Sie ist mit horizontalen und vertikalen Softkeys gestaltet.
Betriebsart
Ablaufkonzept für den Betrieb einer SINUMERIK-Steuerung. Es sind die Betriebsarten ->
Jog, -> MDA, -> Automatik definiert.
Betriebsartengruppe
Zu einem Zeitpunkt sind alle Achsen/Spindeln genau einem Kanal zugeordnet. Jeder Kanal
ist einer Betriebsartengruppe zugeordnet. 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. Diese Ergänzungen
kommen in der Bedeutung den Wörtern beim Satzaufbau gleich. Bezeichner müssen
eindeutig sein. Derselbe Bezeichner darf nicht für verschiedene Objekte verwendet werden.
Booten
Laden des Systemprogramms nach Power On.
B-Spline
Beim B-Spline sind die programmierten Positionen keine Stützpunkte, sondern lediglich
"Kontrollpunkte". Die erzeugte Kurve verläuft nicht direkt durch die Kontrollpunkte, sondern
lediglich in deren Nähe (wahlweise Polynome 1., 2. oder 3. Grades).
Busverbinder
Ein Busverbinder ist ein S7-300-Zubehörteil, das zusammen mit den ->
Peripheriebaugruppen ausgeliefert wird. Der Busverbinder erweitert den -> S7-300-Bus von
der -> CPU bzw. einer Peripheriebaugruppe zur jeweils benachbarten Peripheriebaugruppe.
C-Achse
Achse, um die eine gesteuerte Drehbewegung und Positionierung mit der Werkstückspindel
erfolgt.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-5
Glossar
CNC
Siehe -> NC
COM
Komponente der NC-Steuerung zur Durchführung und Koordination von Kommunikation.
CPU
Central Processor Unit, siehe -> Speicherprogrammierbare Steuerung
C-Spline
Der C-Spline ist der bekannteste und am meisten verwendete Spline. Die Übergänge an den
Stützpunkten sind tangenten- und krümmungsstetig. Es werden Polynome 3. Grades
verwendet.
Datenbaustein
1. Dateneinheit der -> PLC, auf die -> HIGHSTEP Programme zugreifen können.
2. Dateneinheit der -> NC: Datenbausteine enthalten Datendefinitionen für globale
Anwenderdaten. Die Daten können bei der Definition direkt initialisiert werden.
Datenübertragungsprogramm PCIN
PCIN ist ein Hilfsprogramm zum Senden und Empfangen von CNC-Anwenderdaten über die
serielle Schnittstelle, wie z. B. 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. Bedienbereich der Steuerung
2. Die Steuerung besitzt sowohl ein Selbstdiagnose-Programm als auch Testhilfen für den
Service: Status-, Alarm- und Serviceanzeigen.
Dienste
Bedienbereich der Steuerung
Digital-Ein-/Ausgabebaugruppe
Digitalbaugruppen sind Signalformer für binäre Prozesssignale.
Arbeitsvorbereitung
Glossar-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Glossar
DRF
Differential Resolver Function: NC-Funktion, die in Verbindung mit einem elektronischen
Handrad eine inkrementale Nullpunktverschiebung im Automatik-Betrieb erzeugt.
Editor
Der Editor ermöglicht das Erstellen, Ändern, Ergänzen, Zusammenschieben und Einfügen
von Programmen/Texten/Programmsätzen.
Eilgang
Schnellste Verfahrgeschwindigkeit einer Achse. Sie wird z. B. verwendet, wenn das
Werkzeug aus einer Ruhestellung an die -> Werkstückkontur herangefahren oder von der
Werkstückkontur zurückgezogen wird.
Elektronisches Handrad
Mit Hilfe von elektronischen Handrädern können die angewählten Achsen im Handbetrieb
simultan verfahren werden. Die Bewertung der Teilstriche der Handräder wird über die
Externe Nullpunktverschiebung Schrittmaßbewertung festgelegt.
Externe Nullpunktverschiebung
Von der -> PLC vorgegebene Nullpunktverschiebung.
Fertigteilkontur
Kontur des fertig bearbeiteten Werkstücks. Siehe -> Rohteil.
Festpunkt-Anfahren
Werkzeugmaschinen können feste Punkte wie Werkzeugwechselpunkt, Beladepunkt,
Palettenwechselpunkt etc. definiert anfahren. Die Koordinaten dieser Punkte sind in der
Steuerung hinterlegt. Die Steuerung verfährt die betroffenen Achsen, wenn möglich, im ->
Eilgang.
Frame
Ein Frame stellt eine Rechenvorschrift dar, die ein kartesisches Koordinatensystem in ein
anderes kartesisches Koordinatensystem überführt. Ein Frame enthält die Komponenten ->
Nullpunktverschiebung, -> Rotation, -> Skalierung, -> Spiegelung.
Genauhalt
Bei programmierter Genauhaltanweisung wird die in einem Satz angegebene Position genau
und ggf. sehr langsam angefahren. Zur Reduktion der Annäherungszeit werden für Eilgang
und Vorschub -> Genauhaltsgrenzen definiert.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-7
Glossar
Genauhaltgrenze
Erreichen alle Bahnachsen ihre Genauhaltgrenze, so verhält sich die Steuerung als habe sie
einen Zielpunkt exakt erreicht. Es erfolgt Satzweiterschaltung des -> Teileprogramms.
Geometrie
Beschreibung eines -> Werkstücks im -> Werkstückkoordinatensystem.
Geometrieachse
Geometrieachsen dienen der Beschreibung eines 2- oder 3-dimensionalen Bereichs im
Werkstückkoordinatensystem.
Geradeninterpolation
Das Werkzeug wird auf einer Geraden zum Zielpunkt verfahren und dabei das Werkstück
bearbeitet.
Geschwindigkeitsführung
Um bei Verfahrbewegungen um sehr kleine Beträge je Satz eine akzeptable
Verfahrgeschwindigkeit erreichen zu können, kann vorausschauende Auswertung über
mehrere Sätze (-> Look Ahead) eingestellt werden.
Globales Haupt-/Unterprogramm
Jedes globale Haupt-/Unterprogramm kann nur einmal unter seinem Namen im Verzeichnis
erscheinen, ein gleicher Programmname in verschiedenen Verzeichnissen mit
verschiedenen Inhalten ist als globales Programm nicht möglich.
Grenzdrehzahl
Maximale/minimale (Spindel-)Drehzahl: Durch Vorgaben von Maschinendaten, der -> PLC
oder -> Settingdaten kann die maximale Drehzahl einer Spindel begrenzt sein.
Hauptprogramm
Mit Nummer oder Bezeichner gekennzeichnetes -> Teileprogramm, in dem weitere
Hauptprogramme, Unterprogramme oder -> Zyklen en aufgerufen werden können.
Arbeitsvorbereitung
Glossar-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Glossar
Hauptsatz
Durch ":" eingeleiteter Satz, der alle Angaben enthält, um den Arbeitsablauf in einem ->
Teileprogramm starten zu können.
HIGHSTEP
Zusammenfassung der Programmiermöglichkeiten für die -> PLC des System
AS300/AS400.
Hilfsfunktionen
Mit Hilfsfunktionen können in -> Teileprogrammen -> Parameter an die -> PLC übergeben
werden, die dort vom Maschinenhersteller definierte Reaktionen auslösen.
Hochsprache CNC
Die Hochsprache bietet: -> Anwenderdefinierte Variable, -> Systemvariable, ->
Makrotechnik.
Initialisierungsbaustein
Initialisierungsbausteine sind spezielle -> Programmbausteine. Sie enthalten
Wertzuweisungen, die vor der Programmabarbeitung ausgeführt werden.
Initialisierungsbausteine dienen vor allem der Initialisierung vordefinierter Daten oder
globaler Anwenderdaten.
Initialisierungsdatei
Zu jedem -> Werkstück ist es möglich eine Initialisierungsdatei anzulegen. In ihr können
verschiedene Variablenwertanweisungen abgelegt werden, die speziell für ein Werkstück
gelten sollen.
Interpolator
Logische Einheit des -> NCK, die nach Angaben von Zielpositionen im Teileprogramm
Zwischenwerte für die in den einzelnen Achsen zu fahrenden Bewegungen bestimmt.
Interpolatorische Kompensation
Mit Hilfe der interpolatorischen Kompensation können fertigungsbedingte
Spindelsteigungsfehler und Messsystemfehler kompensiert werden (SSFK, MSFK).
Interruptroutine
Interruptroutinen sind spezielle -> 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.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-9
Glossar
Jog
Betriebsart der Steuerung (Einrichtebetrieb): In der Betriebsart Jog kann die Maschine
eingerichtet werden. Einzelne Achsen und Spindeln können über die Richtungstasten im
Tippbetrieb verfahren werden. Weitere Funktionen in der Betriebsart Jog sind das ->
Referenzpunktfahren, -> Repos sowie -> Preset (Istwert setzen).
Kanal
Ein Kanal ist dadurch gekennzeichnet, dass er unabhängig von anderen Kanälen ein ->
Teileprogramm abarbeiten kann. Ein Kanal steuert exklusiv die ihm zugeordneten Achsen
und Spindeln. Teileprogrammabläufe verschiedener Kanäle können durch ->
Synchronisation koordiniert werden.
Kanalstruktur
Die Kanalstruktur erlaubt es, die -> Programme der einzelnen Kanäle simultan und
asynchron abzuarbeiten.
Kettenmaß
Auch Inkrementmaß: Angabe eines Bewegungsziels einer Achse durch eine zu verfahrende
Wegstrecke und Richtung bezogen auf einen bereits erreichten Punkt. Siehe -> Absolutmaß.
Kompensationsachse
Achse, deren Soll- oder Istwert durch den Kompensationswert modifiziert wird.
Kompensationstabelle
Tabelle von Stützpunkten. Sie liefert für ausgewählte Positionen der Basisachse die
Kompensationswerte der Kompensationsachse.
Kompensationswert
Differenz zwischen der durch den Messgeber gemessenen Achsposition und der
gewünschten, programmierten Achsposition.
Kontur
Umriss des -> Werkstücks
Konturüberwachung
Als Maß für die Konturtreue wird der Schleppfehler innerhalb eines definierbaren
Toleranzbandes überwacht. Ein unzulässig hoher Schleppfehler kann sich z. B. durch
Überlastung des Antriebes ergeben. In diesem Fall kommt es zu einem Alarm und die
Achsen werden stillgesetzt.
Arbeitsvorbereitung
Glossar-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
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.
KÜ
Übersetzungsverhältnis
Kv
Kreisverstärkungsfaktor, regelungstechnische Größe eines Regelkreises
Ladespeicher
Der Ladespeicher ist bei der CPU 314 der -> SPS gleich dem -> Arbeitsspeicher.
Linearachse
Die Linearachse ist eine Achse, welche im Gegensatz zur Rundachse, eine Gerade
beschreibt.
Look Ahead
Mit der Funktion Look Ahead wird durch das "Vorausschauen" über eine parametrierbare
Anzahl von Verfahrsätzen ein Optimum an Bearbeitungsgeschwindigkeit erzielt.
Losekompensation
Ausgleich einer mechanischen Maschinenlose, z. B. Umkehrlose bei Kugelrollspindeln. Für
jede Achse kann die Losekompensation getrennt eingegeben werden.
Makrotechnik
Zusammenfassung einer Menge von Anweisungen unter einem Bezeichner. Der Bezeichner
repräsentiert im Programm die Menge der zusammengefassten Anweisungen.
Maschine
Bedienbereich der Steuerung
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-11
Glossar
Maschinenachsen
In der Werkzeugmaschine physikalisch existierende Achsen.
Maschinenfestpunkt
Durch die Werkzeugmaschine eindeutig definierter Punkt, z. B. Referenzpunkt.
Maschinenfestpunkt anfahren
Fahrbewegung zu einem der vordefinierten -> Maschinenfestpunkte.
Maschinenkoordinatensystem
Koordinatensystem, das auf die Achsen der Werkzeugmaschine bezogen ist.
Maschinennullpunkt
Fester Punkt der Werkzeugmaschine, auf den sich alle (abgeleiteten) Messsysteme
zurückführen lassen.
Maschinensteuertafel
Bedientafel der Werkzeugmaschine mit den Bedienelementen Tasten, Drehschalter usw.
und einfachen Anzeigeelementen wie LEDs. Sie dient der unmittelbaren Beeinflussung der
Werkzeugmaschine über die PLC.
Masse
Als Masse gilt die Gesamtheit aller untereinander verbundenen inaktiven Teile eines
Betriebsmittels, die auch im Fehlerfall keine gefährliche Berührungsspannung annehmen
können.
MDA
Betriebsart der Steuerung: Manual Data Automatic. In der Betriebsart MDA können einzelne
Programmsätze oder Satzfolgen ohne Bezug auf ein Haupt- oder Unterprogramm
eingegeben und anschließend über die Taste NC-Start sofort ausgeführt werden.
Arbeitsvorbereitung
Glossar-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Glossar
Mehrpunkt-Schnittstelle
Die Mehrpunkt-Schnittstelle (MPI) ist eine 9-polige D-Sub-Schnittstelle. An eine Mehrpunkt-
Schnittstelle kann eine parametrierbare Anzahl von Geräten angeschlossen werden und
miteinander kommunizieren:
● PGs
● Bedien- und Beobachtungssysteme
● weitere Automatisierungssysteme
Der Parameterblock "Multipoint Interface MPI" der CPU enthält die -> Parameter, die die
Eigenschaften der Mehrpunkt-Schnittstelle festlegen.
Meldungen
Alle im Teileprogramm programmierten Meldungen und vom System erkannte -> Alarme
werden auf der Bedientafel im Klartext mit Datum und Uhrzeit und dem entsprechenden
Symbol für das Löschkriterium angezeigt. Die Anzeige erfolgt getrennt nach Alarmen und
Meldungen.
Metrisches Messsystem
Genormtes System von Einheiten: für Längen z. B. mm (Millimeter), m (Meter).
NC
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.
NCK
Numeric Control Kernel: Komponente der NC-Steuerung, die -> Teileprogramme abarbeitet
und im Wesentlichen die Bewegungsvorgänge für die Werkzeugmaschine koordiniert.
Nebensatz
Durch "N" eingeleiteter Satz mit Informationen für einen Arbeitsschritt, z. B. eine
Positionsangabe.
Netz
Ein Netz ist die Verbindung von mehreren S7-300 und weiteren Endgeräten, z. B. einem PG,
über -> Verbindungskabel. Über das Netz erfolgt ein Datenaustausch zwischen den
angeschlossenen Geräten.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-13
Glossar
NRK
Numeric Robotic Kernel (Betriebssystem des -> NCK)
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. Extern
Zusätzlich zu allen Verschiebungen, die die Lage des Werkstücknullpunktes festlegen,
kann eine externe Nullpunktverschiebung durch Handrad (DRF-Verschiebung) oder von
der PLC überlagert werden.
3. Programmierbar
Mit der Anweisung TRANS sind für alle Bahn- und Positionierachsen
Nullpunktverschiebungen programmierbar.
NURBS
Die steuerungsinterne Bewegungsführung und Bahninterpolation wird auf Basis von NURBS
(Non Uniform Rational B-Splines) durchgeführt. Damit steht bei SINUMERIK 840D
steuerungsintern für alle Interpolationen ein einheitliches Verfahren zur Verfügung.
OEM
Für Maschinenhersteller, die ihre eigene Bedienoberfläche erstellen oder
technologiespezifische Funktionen in die Steuerung einbringen wollen, sind Freiräume für
individuelle Lösungen (OEM-Applikationen) für SINUMERIK 840D vorgesehen.
Orientierter Spindelhalt
Halt der Werkstückspindel in vorgegebener Winkellage, z. B. um an bestimmter Stelle eine
Zusatzbearbeitung vorzunehmen.
Orientierter Werkzeugrückzug
RETTOOL: Bei Bearbeitungsunterbrechungen (z. B. bei Werkzeugbruch) kann das
Werkzeug per Programmbefehl mit vorgebbarer Orientierung um einen definierten Weg
zurückgezogen werden.
Override
Manuelle bzw. programmierbare Eingriffsmöglichkeit, die es dem Bediener gestattet,
programmierte Vorschübe oder Drehzahlen zu überlagern, um sie einem bestimmten
Werkstück oder Werkstoff anzupassen.
Arbeitsvorbereitung
Glossar-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Glossar
Peripheriebaugruppe
Peripheriebaugruppen stellen die Verbindung zwischen CPU und Prozess her.
Peripheriebaugruppen sind:
● → Digital-Ein-/Ausgabebaugruppen
● → Analog-Ein-/Ausgabebaugruppen
● → Simulatorbaugruppen
PLC
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. Die Programmiersoftware STEP 7
basiert auf dem Standardbetriebssystem WINDOWS und enthält die Funktionen der
STEP 5 -Programmierung mit innovativen Weiterentwicklungen.
PLC-Programmspeicher
SINUMERIK 840D: Im PLC-Anwenderspeicher werden das PLC-Anwenderprogramm und
die Anwenderdaten gemeinsam mit dem PLC-Grundprogramm abgelegt.
Polarkoordinaten
Koordinatensystem, das die Lage eines Punktes in einer Ebene durch seinen Abstand vom
Nullpunkt und den Winkel festlegt, den der Radiusvektor mit einer festgelegten Achse bildet.
Polynom-Interpolation
Mit der Polynom-Interpolation können die unterschiedlichsten Kurvenverläufe erzeugt
werden, wie Gerade-, Parabel-, Potenzfunktionen (SINUMERIK 840D).
Positionierachse
Achse, die eine Hilfsbewegung an einer Werkzeugmaschine ausführt. (z. B.
Werkzeugmagazin, Palettentransport). Positionierachsen sind Achsen, die nicht mit den
→ Bahnachsen interpolieren.
Programmbaustein
Programmbausteine enthalten die Haupt- und Unterprogramme der → Teileprogramme.
Programmierbare Arbeitsfeldbegrenzung
Begrenzung des Bewegungsraumes des Werkzeugs auf einen durch programmierte
Begrenzungen definierten Raum.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-15
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.
Pufferbatterie
Die Pufferbatterie gewährleistet, dass das → Anwenderprogramm in der → CPU
netzausfallsicher hinterlegt ist und festgelegte Datenbereiche und Merker, Zeiten und Zähler
remanent gehalten werden.
Quadrantenfehlerkompensation
Konturfehler an Quadrantenübergängen, die durch wechselnde Reibverhältnisse an
Führungsbahnen entstehen, sind mit der Quadrantenfehlerkompensation weitgehend
eliminierbar. Die Parametrierung der Quadrantenfehlerkompensation erfolgt durch einen
Kreisformtest.
Referenzpunkt
Punkt der Werkzeugmaschine, auf den sich das Messsystem der → Maschinenachsen
bezieht.
Rohteil
Teil, mit dem die Bearbeitung eines Werkstücks begonnen wird.
Rotation
Komponente eines → Frames, die eine Drehung des Koordinatensystems um einen
bestimmten Winkel definiert.
R-Parameter
Rechenparameter, kann vom Programmierer des → Teileprogramms für beliebige Zwecke im
Programm gesetzt oder abgefragt werden.
Rundachse
Rundachsen bewirken eine Werkstück- oder Werkzeugdrehung in eine vorgegebene
Winkellage.
Arbeitsvorbereitung
Glossar-16 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
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.
Schlüsselschalter
Der Schlüsselschalter auf der → Maschinensteuertafel besitzt 4 Stellungen, die vom
Betriebssystem der Steuerung mit Funktionen belegt sind. Zum Schlüsselschalter gehören
drei verschiedenfarbige Schlüssel, die in den angegebenen Stellungen abgezogen werden
können.
Schlüsselwörter
Wörter mit festgelegter Schreibweise, die in der Programmiersprache für → Teileprogramme
eine definierte Bedeutung haben.
Schneidenradiuskorrektur
Bei der Programmierung einer Kontur wird von einem spitzen Werkzeug ausgegangen. Da
dies in der Praxis nicht realisierbar ist, wird der Krümmungsradius des eingesetzten
Werkzeugs der Steuerung angegeben und von dieser berücksichtigt. Dabei wird der
Krümmungsmittelpunkt um den Krümmungsradius verschoben äquidistant um die Kontur
geführt.
Schrägenbearbeitung
Bohr- und Fräsbearbeitungen an Werkstückflächen, die nicht in den Koordinatenebenen der
Maschine liegen, können mit Unterstützung der Funktion "Schrägenbearbeitung" komfortabel
ausgeführt werden.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-17
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ß
Verfahrweglängenangabe über Inkrementanzahl (Schrittmaß). Inkrementanzahl kann als
→ Settingdatum hinterlegt sein bzw. durch entsprechend beschriftete Tasten 10, 100, 1000,
10000 gewählt werden.
Schutzraum
Dreidimensionaler Raum innerhalb des → Arbeitsraumes, in den die Werkzeugspitze nicht
hineinreichen darf.
Settingdaten
Daten, die Eigenschaften der Werkzeugmaschine auf durch die Systemsoftware definierte
Weise der NC-Steuerung mitteilen.
Sicherheitsfunktionen
Die Steuerung enthält ständig aktive Überwachungen, die Störungen in der → CNC, der
Anpass-Steuerung (→ PLC) und der Maschine so frühzeitig erkennen, dass Schäden an
Werkstück, Werkzeug oder Maschine weitgehend ausgeschlossen werden. Im Störungsfall
wird der Bearbeitungsablauf unterbrochen und die Antriebe werden stillgesetzt, die
Störungsursache gespeichert und als Alarm angezeigt. Gleichzeitig wird der PLC mitgeteilt,
dass ein CNC-Alarm ansteht.
Skalierung
Komponente eines → Frames, die achsspezifische Maßstabsveränderungen bewirkt.
Softkey
Taste, deren Beschriftung durch ein Feld im Bildschirm repräsentiert wird, das sich
dynamisch der aktuellen Bediensituation anpasst. Die frei belegbaren Funktionstasten
(Softkeys) werden softwaremäßig definierten Funktionen zugeordnet.
Arbeitsvorbereitung
Glossar-18 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
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. Aufbau und Verdrahtung des
Gerätes hängen also nicht von der Funktion der Steuerung ab. Die
speicherprogrammierbare Steuerung hat die Struktur eines Rechners; sie besteht aus CPU
(Zentralbaugruppe) mit Speicher, Ein-/Ausgabebaugruppen und internem Bus-System. Die
Peripherie und die Programmiersprache sind auf die Belange der Steuerungstechnik
ausgerichtet.
Spiegelung
Bei Spiegelung werden die Vorzeichen der Koordinatenwerte einer Kontur bezüglich einer
Achse vertauscht. Es kann bezüglich mehrerer Achsen zugleich gespiegelt werden.
Spindelsteigungsfehler-Kompensation
Ausgleich mechanischer Ungenauigkeiten einer am Vorschub beteiligten Kugelrollspindel
durch die Steuerung anhand von hinterlegten Messwerten der Abweichungen.
Spline-Interpolation
Mit der Spline-Interpolation kann die Steuerung aus nur wenigen vorgegebenen
Stützpunkten einer Sollkontur einen glatten Kurvenverlauf erzeugen.
Standardzyklen
Für häufig wiederkehrende Bearbeitungsaufgaben stehen Standardzyklen zur Verfügung:
● für die Technologie Bohren/Fräsen
● für die Technologie Drehen
Im Bedienbereich "Programm" werden unter dem Menü "Zyklenunterstützung" die zur
Verfügung stehenden Zyklen aufgelistet. Nach Anwahl des gewünschten Bearbeitungszyklus
werden die notwendigen Parameter für die Wertzuweisung im Klartext angezeigt.
Synchronachsen
Synchronachsen benötigen für ihren Weg die gleiche Zeit wie die Geometrieachsen für ihren
Bahnweg.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-19
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.
Synchronisation
Anweisungen in → Teileprogrammen zur Koordination der Abläufe in verschiedenen
→ Kanälen an bestimmten Bearbeitungsstellen.
Systemspeicher
Der Systemspeicher ist ein Speicher in der CPU, in der folgende Daten abgelegt werden:
● Daten, die das Betriebssystem benötigt
● die Operanden Zeiten, Zähler, Merker
Systemvariable
Ohne Zutun des Programmierers eines → Teileprogramms existierende Variable. Sie ist
definiert durch einen Datentyp und dem Variablennamen, der durch das Zeichen $
eingeleitet wird. Siehe → Anwenderdefinierte Variable.
Teileprogramm
Folge von Anweisungen an die NC-Steuerung, die insgesamt die Erzeugung eines
bestimmten → Werkstücks bewirken. Ebenso Vornahme einer bestimmten Bearbeitung an
einem gegebenen → Rohteil.
Teileprogrammsatz
Teil eines → Teileprogramms, durch Line Feed abgegrenzt. Es werden → Hauptsätze und
→ Nebensätze unterschieden.
Teileprogrammverwaltung
Die Teileprogrammverwaltung kann nach → Werkstücken organisiert werden. Die Größe des
Anwenderspeichers bestimmt die Anzahl der zu verwaltenden Programme und Daten. Jede
Datei (Programme und Daten) kann mit einem Namen von maximal 24 alphanumerischen
Zeichen versehen werden.
Arbeitsvorbereitung
Glossar-20 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
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.
TOA–Einheit
Jeder → TOA-Bereich kann mehrere TOA-Einheiten enthalten. Die Anzahl der möglichen
TOA-Einheiten wird über die maximale Anzahl aktiver → Kanäle begrenzt. Eine TOA-Einheit
umfasst genau einen WZ-Daten-Baustein und einen Magazindaten-Baustein. Zusätzlich
kann noch ein WZ-Trägerdaten-Baustein enthalten sein (optional).
Transformation
Additive oder absolute Nullpunktsverschiebung einer Achse.
Unterprogramm
Folge von Anweisungen eines → Teileprogramms, die mit unterschiedlichen
Versorgungsparametern wiederholt aufgerufen werden kann. Der Aufruf des
Unterprogramms erfolgt aus einem Hauptprogramm. Jedes Unterprogramm kann gegen
nicht autorisiertes Auslesen und Anzeigen gesperrt werden. → Zyklen sind eine Form von
Unterprogrammen.
Urlöschen
Beim Urlöschen werden folgende Speicher der → CPU gelöscht:
● -→ Arbeitsspeicher
● Schreib-/Lesebereich des → Ladespeichers
● → Systemspeicher
● → Backup-Speicher
Variablendefinition
Eine Variablendefinition umfasst die Festlegung eines Datentyps und eines
Variablennamens. Mit dem Variablennamen kann der Wert der Variablen angesprochen
werden.
Verbindungskabel
Verbindungskabel sind vorgefertigte bzw. vom Anwender selbst anzufertigende 2-Draht-
Leitungen mit 2 Anschlusssteckern. Diese Verbindungskabel verbinden die → CPU über die
→ Mehrpunkt-Schnittstelle (MPI) mit einem → PG bzw. mit anderen CPUs.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-21
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.
Vorschub-Override
Der programmierten Geschwindigkeit wird die aktuelle Geschwindigkeitseinstellung über
→ Maschinensteuertafel oder von der → PLC überlagert (0-200%). Die
Vorschubgeschwindigkeit kann zusätzlich im Bearbeitungsprogramm durch einen
programmierbaren Prozentfaktor (1-200%) korrigiert werden.
Vorsteuerung, dynamisch
Ungenauigkeiten der → Kontur, bedingt durch Schleppfehler, lassen sich durch die
dynamische, beschleunigungsabhängige Vorsteuerung nahezu eliminieren. Dadurch ergibt
sich auch bei hohen → Bahngeschwindigkeiten eine hervorragende
Bearbeitungsgenauigkeit. Die Vorsteuerung kann achsspezifisch über das → Teileprogramm
an- und abgewählt werden.
Werkstück
Von der Werkzeugmaschine zu erstellendes/zu bearbeitendes Teil.
Werkstückkontur
Sollkontur des zu erstellenden/bearbeitenden → Werkstücks.
Werkstückkoordinatensystem
Das Werkstückkoordinatensystem hat seinen Ausgangspunkt im → Werkstücknullpunkt. Bei
Programmierung im Werkstückkoordinatensystem beziehen sich Maße und Richtungen auf
dieses System.
Werkstücknullpunkt
Der Werkstücknullpunkt bildet den Ausgangspunkt für das → Werkstückkoordinatensystem.
Er ist durch Abstände zum → Maschinennullpunkt definiert.
Werkzeug
An der Werkzeugmaschine wirksames Teil, das die Bearbeitung bewirkt (z. B. Drehmeißel,
Fräser, Bohrer, LASER-Strahl ...).
Arbeitsvorbereitung
Glossar-22 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
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 (G41/G42).
Zeitreziproker Vorschub
Bei SINUMERIK 840D kann anstelle der Vorschubgeschwindigkeit für die Achsbewegung
die Zeit programmiert werden, die der Bahnweg eines Satzes benötigen soll (G93).
Zoll-Maßsystem
Maßsystem, das Entfernungen in "inch" und Bruchteilen davon definiert.
Zwischensätze
Verfahrbewegungen mit angewählter → Werkzeugkorrektur (G41/G42) dürfen durch eine
begrenzte Anzahl Zwischensätze (Sätze ohne Achsbewegungen in der Korrekturebene)
unterbrochen werden, wobei die Werkzeugkorrektur noch korrekt verrechnet werden kann.
Die zulässige Anzahl Zwischensätze, die die Steuerung vorausliest, ist über
Systemparameter einstellbar.
Zyklus
Geschütztes Unterprogramm zur Ausführung eines wiederholt auftretenden
Bearbeitungsvorganges am → Werkstück.
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Glossar-23
Glossar
Arbeitsvorbereitung
Glossar-24 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Index
AXTOCHAN, 1-63
GET, 1-59
$ ohne Synchronisierung, 1-61
ohne Vorlaufstopp, 1-62
$AA_COUP_ACT, 9-10, 9-35, 13-23
RELEASE, 1-59
$AA_COUP_OFFS, 13-23
über Synchronaktionen anfordern und
$AA_LEAD_SP, 9-34
freigeben, 10-44
$AA_LEAD_SV, 9-34
Verhalten veränderbar einstellen, 1-62
$AA_MOTEND, 5-41
Voraussetzungen, 1-61
$AC_MARKER[n], 10-14
ACOS, 1-20
$AC_PARAM, 10-15
AC-Regelung, additiv, 10-33
$AC_TIMER[n], 10-18
AC-Regelung, multiplikativ, 10-34
$MC_COMPESS_VELO_TOL, 9-41
ACTFRAME, 6-5
$P_TECCYCLE, 10-65
ADISPOSA, 5-39
$SA_LEAD_TYPE, 9-34
Aktuelle Kanal Basisframes, 6-26
$TC_CARR1...14, 8-37
Aktuelle NCU-globale Basisframes, 6-25
$TC_CARR18[m], 8-37, 8-41
Aktuelle Satzanzeige, 2-36
$TC_CARR24[m], 8-39
Aktuelle Systemframes, 6-25
Aktueller
Kopplungszustand Folgespindel, 13-23
A Winkelversatz, 13-23
A, 7-62 Aktueller 1. Basisframe im Kanal, 6-26
A1, A2, 8-37, 8-39 Aktueller einstellbarer Frame, 6-27
A2, 7-16 Aktueller Gesamtframe, 6-27
A3, 7-16 Aktueller programmierbarer Frame, 6-27
A4, 7-16, 7-22 ALF, 1-51
A5, 7-16, 7-22 Amax, 12-2
ABS, 1-20 Amin, 12-2
Abspanen, 14-1 AND, 1-23
Abstandsregelung, 10-35 Anfahren vom nächstliegenden Bahnpunkt, 9-56
ACC, 13-21 ANG, 15-2
Achs- Antriebsautarke Reaktionen, 13-32
Container, 13-42 Antriebsautarkes Rückziehen, 13-40
Achscontainer, 13-42, 13-45 Antriebsautarkes Stillsetzen, 13-39
Achse Anweisungen
lokale, 13-43 Liste, 15-1, 15-42
Achse direkt übernehmen Anwenderdaten definieren, 3-8
GETD, 1-59 ANZ, 14-16
Achse positionieren, 10-41 ANZHINT, 14-4, 14-6
Vorgegebene Referenzposition, 10-42 applim, 9-13
Achse starten/stoppen, 10-43 APR, 3-12, 3-15, 3-17
Achskoordinierung, 10-48 APW, 3-12, 3-15, 3-17
Achstausch APX, 3-17
Achse freigeben, 1-62
Achse übernehmen, 1-62
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Index-1
Index
Arbeitsvorbereitung
Index-2 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Index
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Index-3
Index
DRF-Verschiebung, 6-16 F
DUPLO_NR, 8-4
FA, 11-4, 13-21
DV, 13-19
Fachse, 9-30
DZERO, 8-36
FAchse, 9-3, 9-8, 9-13, 9-22, 9-27
Fahren auf Festanschlag FXS und
FOCON/FOCOF, 10-58
E FALSE, 1-2
EAUTO, 5-4 FCTDEF, 8-8, 10-30
Eckenverzögerung an allen Ecken, 5-38 FCUB, 9-36
Eckenverzögerung an Innenecken, 5-38 FEHLER, 14-2
EG Fehlerrückmeldung, 14-2
Elektronisches Getriebe, 13-24 Feinverschiebung, 6-14
EGDEF, 13-25 Feldindex, 1-10
EGDEL, 13-29 FENDNORM, 5-38
EGOFC, 13-29 FGROUP, 5-23
EGOFS, 13-29 FIFO-Variable, 10-19
EGON, 13-25 FILEDATE, 1-72
EGONSYN, 13-25 FILEINFO, 1-72
EGONSYNE, 13-25 Fileinformationen FILExxxx
Ein in ISO-Sprache programmiertes Programm mit vom NCK-Anwenderspeicher lesen, 1-72
ISOCALL indirekt aufrufen, 2-24 FILESIZE, 1-72
Einlesesperre, 10-27 FILESTAT, 1-72
Einzelachsbewegung, 12-9 FILETIME, 1-72
Einzelsatzunterdrückung, 2-32 FINE, 13-15, 13-19
Einzelzeichen selektieren, 1-37 FINEA, 5-39
Elektronisches Getriebe, 13-24 FLIN, 9-36
ELSE, 1-42 FMA, 15-16
ENABLE, 1-51 FNORM, 9-36
ENAT, 5-4 Folgeachse, 9-30
ENDFOR, 1-42 FOR, 1-42, 1-44
ENDIF, 1-42 FPO, 9-36
ENDLOOP, 1-42 FPR, 13-30
Endpos, 11-6 Frame
ENDPROC, 10-36 aufrufen, 6-11
ENDWHILE, 1-42 Frame-Kettung, 6-28
Endwinkel, 7-36 FRAME, 1-4
ERG, 14-16 Frame-Berechnung
Erster Basisframe im Kanal, 6-24 MEAFRAME, 6-19
Erweiterte Messfunktion, 5-28, 7-66 Framekompnente
Erweitertes Stillsetzen und Rückziehen, 13-30 MI, 6-11
ETAN, 5-4 Framekomponente
Euler-Winkel, 8-28 FI, 6-11
EVERY, 10-6 SC, 6-11
EXECSTRING, 1-17 TR, 6-11
EXECTAB, 14-2, 14-15 Framekomponenten, 6-10
EXECUTE, 4-2, 4-3, 14-2 FramekomponenteRT, 6-11
EXP, 1-20 Frames
EXTCALL, 2-28 Frameketten, 6-13
EXTERN, 2-10 zuweisen, 6-13
Externe Nullpunktverschiebung, 6-17
Arbeitsvorbereitung
Index-4 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Index
G I
I1,I2, 8-37
G[<Gruppen-Index>], 1-14
ICYCOF, 10-67
G05, 7-65
ICYCON, 10-67
G07, 7-65
ID, 10-2
G1, 11-3
Identifikationsnummer, 10-4
G25,G26, 9-5
IDS, 10-2
G4, 11-2
IF, 1-42
G450, 8-22
IF-ELSE-ENDIF, 1-43
G451, 8-22
IFRAME, 6-3
G62, 5-38
II1,II2, 11-9
G621, 5-38
INDEX, 1-35
G64, 2-2
Indirekte G-Code-Programmierung, 1-14
G643, 5-24
Indirekte Pogrammierung, 1-14
G-Code, 5-23
Indirekter Unterprogrammaufruf, 1-16
Generatorbetrieb, 13-38
INIT, 1-46
GEOAX, 7-77
Initialisierung von Feld-Variablen, 10-56
Gesamt-Basisframe, 6-26
Initialisierungsprogramm, 3-6
Geschwindigkeitskopplung, 13-15
AnwenderdatenGUDdefinieren, 3-8
GET, 1-59
Initialisierungsprogramm erzeugen, 3-6
GETACTTD, 8-35
Initialisierungsprogramm laden, 3-8
GETD, 1-59
Initialisierungsprogramm sichern, 3-7
GETDNO, 8-34
INT, 1-4
GETSELT, 8-4
Integer/Real-Variable, 1-14
GETT, 8-4
Interpolation des Drehvektors, 7-35, 7-41
GEWINDE, 14-8, 14-12
Interpolationstakt, 13-41
Glättung des Orientierungsverlaufs, 7-40, 7-43
Interruptroutine, 1-50
GOTO, 1-39
Programmierbare Verfahrrichtung, 1-51
GOTOB, 1-39
Rangfolge festlegen, 1-54
GOTOC, 1-39
Schnellabheben von der Kontur, 1-55
GOTOF, 1-39
Unterbrechungsposition speichern, 1-53
grad, 9-23, 9-27
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Index-5
Index
Arbeitsvorbereitung
Index-6 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Index
M MMC, 13-48
MOD, 1-20
M, 8-39
MODE
M17, 2-5
Bearbeitungsart, 14-13
MAC
Bearbeitungsrichtung, 14-3
automatische Aktivierung, 3-13
Modus, 11-6
Makrotechnik, 2-42, 12-2
Modus, 11-6
Maschinen-
MOV, 10-43
Zustand, globalerWerkstückaufspannung, 13-41
MPF, 3-3
MASLDEF, 13-52
MU, 7-64
MASLDEL, 13-52
MZ, 7-64
MASLOF, 13-52
MASLOFS, 13-52
MASLON, 13-52
MATCH, 1-35
N
Max-/min-Anzeiger, 14-5 n, 9-27
MAXVAL, 1-20, 1-27 Framenummer, 6-11
M-Befehle, 12-2 Nummer der Kurventabelle, 9-13, 9-20
MCALL, 2-20 Nummer der Kurventabellen, 9-23
MEAC, 5-29, 5-31 NC-geführte Reaktionen, 13-36
MEAFRAME, 6-19 NCU-
MEAFRAME, 6-19 Link, 13-40
MEAFRAME, 6-22 NCU-globale Basisframes, 6-23
MEAS, 5-26 NCU-globale Einstellbare Frames, 6-23
MEASA, 5-29 NCU-NCU-Kommunikation, 13-40
MEAW, 5-26 Nennerpolynom, 5-21
MEAWA, 5-29, 10-55 NEWCONF, 1-64
Merkervariable, 10-14 NEWT, 8-4
Messauftrag Nibbeln, 12-1, 12-4
mit 2 Messsystemen, 5-35 Nibbeln ein, 12-2
Status bei MEASA, MEAWA, 5-35 NN, 14-3
Messen, 10-55 NOC, 13-15, 13-19
Betriebsmodus, 5-32 NOT, 1-23
Erkannte Fehlerprogrammierungen, 5-36 NPROT, 4-5
Kontinuierliches Messen MEAC, 5-36 NPROTDEF, 4-2, 4-3
Restweglöschen MEASA, MEAWA, 5-33 Nullpunktverschiebung
Trigger-Ereignisse, 5-32 Externe Nullpunktverschiebung, 6-17
Messen mit schaltendem Taster PRESETON, 6-18
Messsätze programmieren, 5-26 Verschiebung mit dem Handrad, 6-16
Zustandsvariable, 5-27 NUMBER, 1-32
Messergebnisse für MEASA, MEAWA, 5-34
Messtasterstatus, 5-35
Messwerteaufnahme, 5-27 O
M-Funktion
OEM-Adressen, 5-37
dreistellig, 2-43
OEM-Funktionen, 5-37
MINDEX, 1-35
OEMIPO1/2, 5-37
Minimalposition/Maximalposition der Drehachse, 8-39
OF, 1-40
MINVAL, 1-20, 1-27
OFFN, 7-51, 7-54
MIRROR, 6-4
Offset der Drehachsen, 8-39
Mitschleppen, 9-7, 10-51
Offset Kontur-normal OFFN, 7-59
Koppelfaktor, 9-10
Online-Werkzeugkorrektur, 10-37
Mittschleppachsen, 9-10
Online-Werkzeuglängenkorrektur, 7-47, 10-39
Mitschleppverband, 9-8
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Index-7
Index
Arbeitsvorbereitung
Index-8 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Index
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Index-9
Index
Arbeitsvorbereitung
Index-10 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Index
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Index-11
Index
Arbeitsvorbereitung
Index-12 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Index
Arbeitsvorbereitung
Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0 Index-13
Index
Arbeitsvorbereitung
Index-14 Programmierhandbuch, 11/2006, 6FC5398-2BP10-2AA0
Die SEFORM-Anweisung wird im Stepeditor zur Strukturierung des NC-Unterprogramms genutzt. Sie ermöglicht die Generierung einer übersichtlichen Schrittansicht durch die Definition von Abschnittsnamen, Ebenen und Icons, was die Lesbarkeit und Wartbarkeit des Programms verbessert .
Synchronaktionen können die Programmlogik erheblich beeinflussen, indem sie asynchrone Operationen ermöglichen, wie z. B. das Positionieren von Achsen oder die Ausgabe von Hilfsfunktionen nur bei erfüllten Bedingungen. Diese Aktionen werden fortlaufend geprüft und bei Aktivierung sofort umgesetzt, was eine flexiblere Reaktion auf Zustandsänderungen erlaubt .
Es ist wichtig, die DEF.../REDEF-Reihenfolge einzuhalten, da die Definition der GUD-Variablen vor der Attributänderung (REDEF) erfolgen muss. Attributänderungen setzen nämlich eine bereits bestehende Definition voraus .
GUD-Variablen können durch die REDEF-Anweisung nach der ursprünglichen DEF-Zuweisung geändert werden. Es ist darauf zu achten, dass ein ausreichend großer Speicher für Initialisierungswerte zur Verfügung steht und das Maschinendatum korrekt gesetzt ist, um Alarme wie 'Initialisierung nicht erlaubt' zu vermeiden .
Nach der Aktivierung einer Orientierungstransformation beziehen sich die Positionsangaben immer auf die Spitze des Werkzeugs. Änderungen der Positionen der an der Transformation beteiligten Achsen führen zu entsprechenden Ausgleichsbewegungen anderer Maschinenachsen, um die Werkzeugspitzenposition unverändert zu halten .
Mit DEF CHAR kann eine Variable vom Typ Char erstellt werden, der ein einzelnes ASCII-Zeichen oder dessen Codewert zugeordnet werden kann. Der Codewert 65 entspricht zum Beispiel dem Buchstaben 'A' .
Für den Datentyp FRAME sind keine Initialisierungswerte möglich. FRAME-Variablen können folglich keine vordefinierten Werte bei der Erstellung zugewiesen bekommen .
Nicht korrekt initialisierte GUD-Variablen können zu unerwartetem Verhalten des NC-Programms führen, da sie mit Standardwerten belegt sind, die für spezifische Berechnungen unzulänglich sein können. Dies könnte zu Programmlogikfehlern und Maschinenstopps führen .
Synchronaktionen können genutzt werden, um Spindeln asynchron zum Teileprogramm zu positionieren. Hierfür werden Aktionen definiert, die auf externe Signale reagieren. Beispielsweise kann mit der Aktion 'DO SPOS=270' eine Spindel positioniert werden, sobald ein bestimmtes Eingangssignal erfüllt ist .
Bewegungssynchronaktionen erlauben die Durchführung von Aktionen parallel zur regulären Programmausführung, was die Effizienz erhöht. Sie erlauben asynchrone Anpassungen, wie z. B. Werkzeugkorrekturen, ohne das Hauptprogramm anzuhalten, und erhöhen somit die Flexibilität und Reaktionsfähigkeit des Systems .