Allgemeine Befehlsübersicht

Präprozessor

Befehl

Beschreibung

#include

Die #include-Direktive fügt den Inhalt einer anderen Datei ein. Die inkludierte Datei wird durch ihren Pfad referenziert. In der Regel wird er verwendet, um häufig verwendeten Code wie z. B. Bibliotheken zu "importieren". Das Verhalten ist dem des C-Präprozessors ähnlich.

Interpolationen

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G00

Interpolationsmodus: Linear.
Anwenden der Maximalgeschwindigkeit ohne Berücksichtigung der programmierten Geschwindigkeit.
Zurücksetzen durch G01, G02, G03.

Modal.

Default.

G01

Interpolationsmodus: Linear.
Anwenden der programmierten Geschwindigkeit.
Zurücksetzen durch G00, G02, G03.

Modal.

Nein.

G02

Interpolationsmodus im Uhrzeigersinn: Kreisförmig oder spiralförmig.
Anwendung der aktuellen Geschwindigkeit.
Zurückgesetzt durch G00, G01, G03.

Modal.

Nein.

G03

Interpolationsmodus gegen den Uhrzeigersinn: Kreisförmig oder spiralförmig.
Anwendung der aktuellen Geschwindigkeit.
Zurückgesetzt durch G00, G01, G02.

Modal.

Nein.

G303

Mit G303 kann ein Kreisbogen (CIP-Kreis) programmiert werden, der frei im Raum platziert werden kann.

 

Nein

G04

Definiert eine Verweilzeit, d.h. unterbricht die Bearbeitung für eine bestimmte Dauer.

Nichtmodal.

Nein.

Auswahl der Arbeitsebene

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G17

Wählt XY-Ebene als Arbeitsebene.

Modal.

Default.

G18

Wählt ZX-Ebene als Arbeitsebene.

Modal.

Nein.

G19

Wählt YZ-Ebene als Arbeitsebene.

Modal.

Nein.

Restweglöschen

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G31

Restweglöschen.

Nichtmodal.

Nein.

Deaktivieren und Aktivieren der Werkzeugradiuskorrektur

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G40

Deaktiviert die Werkzeugradiuskorrektur (TRC). Bei/nach einem G40-Befehl ist es zwingend erforderlich, mindestens ein Geometrieelement zu programmieren.

Modal.

Default.

G41

Aktiviert die Werkzeugradiuskorrektur (TRC).
Links.

Modal.

Nein.

G42

Aktiviert die Werkzeugradiuskorrektur (TRC).
Rechts.

Modal.

Nein.

Nullpunktverschiebungen einstellen, deaktivieren und aktivieren

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G53

Deaktiviert jede Nullpunktverschiebung.

Modal.

Default.

G54..G57

Aktiviert die Nullpunktverschiebung, die mit dem angegebenen G-Code verbunden ist.
Aktiviert die Translation G58 und G59.

Modal.

Nein.

G58, G59

Setzt die Translation, die mit dem angegebenen G-Code verbunden ist.

Modal.

Nein.

Befehl

Beschreibung

zeroOffsetShiftSet(g:= USInt,
 x:= LReal,
y:= LReal,
z:= LReal)

Setzt die Translation für G-Code g, wobei g eine der Zahlen 54, 55, 56 oder 57 sein muss.

Genauhalt

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G09

Genauhalt.

Nichtmodal.

Nein.

G60

Genauhalt.

Modal.

Nein.

Einheit für Länge und Geschwindigkeit einstellen

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G70

Setzt die Einheit für Längen auf Inch.
Beeinflusst nicht die Einheit für Geschwindigkeit.

Modal.

Nein.

G71

Setzt die Einheit für Längen auf Millimeter.
Beeinflusst nicht die Einheit für Geschwindigkeit.

Modal.

Default.

G700

Setzt die Einheit für Längen auf Inch.
Gilt auch für die Interpretation von Geschwindigkeiten.

Modal.

Nein.

G710

Setzt die Einheit für Längen auf Millimeter.
Gilt auch für die Interpretation von Geschwindigkeiten.

Modal.

Default.

Umschaltung zu absoluten oder relativen Koordinaten

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G90

Schaltet auf absolute Programmierung um.

Modal.

Default.

G91

Schaltet auf inkrementelle Programmierung um.

Modal.

Nein.

IJK

Befehl

Beschreibung

Modal oder Nichtmodal

Default

I<vx> J<vy> K<vz>

Der Mittelpunkt ist currentPoint + [vx,vy,vz].
Die aktuelle Längeneinheit wird für vx,vy,vz verwendet.
I wird von G4 verwendet und definiert eine Dauer.

Modal.

Default: Der Mittelpunkt ist currentPoint + [0,0,0].
Die IJK-Parameter sind optional.

M-Funktionen

Befehl

Beschreibung

M<v>

Triggert die M-Funktion v.
Das Zeitverhalten hängt von der Definition von v in der Entwicklungsumgebung von TwinCAT ab.
Es darf nicht mehr als eine M-Funktion vom Typ Handshake in einem Satz geben.

M2

Vordefinierte M-Funktion.
Signalisiert das Programmende.

M30

Vordefinierte M-Funktion.
Signalisiert das Programmende.

Werkzeugausrichtung

Befehl

Beschreibung

Modal oder Nichtmodal

Default

P<v>

Schaltet die Werkzeugausrichtung um.

Modal.

Nein.

Satznummer einstellen

Befehl

Beschreibung

N<v>

Satznummer.

Radius einstellen

Befehl

Beschreibung

Modal oder Nichtmodal

Default

U<v>

Setzt den Radius im Kontext von G02 oder G03 auf |v|.

Modal.

Nein.

Kartesische Koordinate einstellen

Befehl

Beschreibung

X<v>

Setzt die X-Koordinate des nächsten Punktes auf v.
Verwendet die aktuelle Längeneinheit für v.

Y<v>

Setzt die Y-Koordinate des nächsten Punktes auf v.
Verwendet die aktuelle Längeneinheit für v.

Z<v>

Setzt die Z-Koordinate des nächsten Punktes auf v.
Verwendet die aktuelle Längeneinheit für v.

Hilfsachsen

Befehl

Beschreibung

Modal oder Nichtmodal

Default

Q<i>=<v>

Legt Bezeichner der Hilfsachse fest.

Modal.

Nein.

Ausrichtungswinkel einstellen

Befehl

Beschreibung

Modal oder Nichtmodal

Default

A<v>

Setzt den A-Winkel der nächsten Ausrichtung auf v.
Verwendet die aktuelle Längeneinheit für v.

Nichtmodal, kann aber nachfolgende Sätze beeinflussen.

Nein.

B<v>

Setzt den B-Winkel der nächsten Ausrichtung auf v.
Verwendet die aktuelle Längeneinheit für v.

Nichtmodal, kann aber nachfolgende Sätze beeinflussen.

Nein.

C<v>

Setzt den C-Winkel der nächsten Ausrichtung auf v.
Verwendet die aktuelle Längeneinheit für v.

Nichtmodal, kann aber nachfolgende Sätze beeinflussen.

Nein.

Kontrollstrukturen

Befehl

Beschreibung

IF-THEN-ELSIF-ELSE

Bedingte Anweisung.

CASE OF

Bedingte Anweisung.

FOR

Zähler-gesteuerte Schleife.

WHILE

Kopf-gesteuerte Schleife.

REPEAT

Fuß-gesteuerte Schleife.

EXIT

Verlassen einer Schleife.

Sprunganweisung

Befehl

Beschreibung

LABEL-GOTO

Sprunganweisung.

Trigonometrisch

Befehl

Beschreibung

SIN(x)

Liefert den Sinus von x; x in Radiant.

COS(x)

Liefert den Cosinus von x; x in Radiant.

TAN(x)

Liefert den Tangens von x; x in Radiant.

ASIN(x)

Liefert den Arkussinus von x; x in Radiant.

ACOS(x)

Liefert den Arkuscosinus von x; x in Radiant.

ATAN(x)

Liefert den Arkustangens von x; x in Radiant.

ATAN2(y, x)

Liefert den Arkustangens von y/x; y/x in Radiant.

Arithmetik

Befehl

Beschreibung

ABS(x)

Liefert den Absolutwert von x.

SQRT(x)

Liefert die Quadratwurzel von x.

LN(x)

Liefert den natürlichen Logarithmus von x.

LOG(x)

Liefert den dezimalen Logarithmus von x.

EXP(x)

Liefert e hoch x.

ADD(x1, x2, …)

Liefert die Summe aller Parameter.

MUL(x1, x2, …)

Liefert das Produkt aller Parameter.

SUB(x, y)

Liefert die Differenz x-y.

DIV(x, y)

Liefert den Quotienten x/y.

MOD(x, y)

Liefert den Rest der ganzzahligen Division x/y.

EXPT(x, y)

Liefert x hoch y.

Rechenparameter

Befehl

Beschreibung

rSet(index := LINT, value := LREAL)

Weist einen R-Parameterwert zu.

rGet(index := LINT)

Extrahiert einen R-Parameterwert.

Bitverschiebung und Bitdrehung

Befehl

Beschreibung

SHL(x, y)

Liefert den um y Bit nach links verschobenen Bitstring x.

SHR(x, y)

Liefert den um y Bit nach rechts verschobenen Bitstring x.

ROL(x, y)

Liefert den um y Bit nach links gedrehten Bitstring x.

ROR(x, y)

Liefert den um y Bit nach rechts gedrehten Bitstring x.

Logische Operationen

Befehl

Beschreibung

AND(x1, x2, …)

Liefert das bitweise logische Und aller Parameter.

OR(x1, y2, …)

Liefert das bitweise logische Oder aller Parameter.

XOR(x1, x2, …)

Liefert das bitweise logische Exklusiv-Oder aller Parameter.

NOT(x)

Liefert das bitweise Komplement von x.

Auswahl (Bedingte Ausdrücke)

Befehl

Beschreibung

SEL(cond, x1, x2)

Liefert x1 wenn cond = FALSE, ansonsten x2.

MUX(select, x0, x1, …, xN)

Liefert x<select>.

Min, Max und Grenzwert

Befehl

Beschreibung

MAX(x1, x2, …)

Liefert das Maximum aller Parameter.

MIN(x1, x2, …)

Liefert das Minimum aller Parameter.

LIMIT(min, in, max)

Liefert in, wenn es in dem Intervall [min,max] liegt. Andernfalls wird die verletzte Grenze (min oder max) zurückgegeben.

Vergleich

Befehl

Beschreibung

GT(x, y)

Liefert TRUE, wenn x größer ist als y.

GE(x, y)

Liefert TRUE, wenn x nicht kleiner als y ist.

EQ(x, y)

Liefert TRUE, wenn x und y gleich sind.

LE(x, y)

Liefert TRUE, wenn x nicht größer ist als y.

LT(x, y)

Liefert TRUE, wenn x kleiner als y ist.

NE(x, y)

Liefert TRUE, wenn x und y nicht gleich sind.

Strings und Nachrichten

Befehl

Beschreibung

toString(<arg0>, …, <argN>): STRING

Konvertiert und verkettet die angegebenen Argumente zu einem String.

msg(str:= String[81])

Sendet die angegebene Nachricht an die Nachrichtenliste von TwinCAT.

Transformationen

Befehl

Beschreibung

transRotX(angle:= LReal)
transRotY(angle:= LReal)
transRotZ(angle:= LReal)

Drehung um die jeweilige Achse um den angegebenen Winkel in der benutzerdefinierten Winkeleinheit.

transRotA(x:= LReal,
y:= LReal,
 z:= LReal,
angle:= LReal)

Drehen um den Vektor [x,y,z] mit dem angegebenen angle.

transMirrorX()
transMirrorY()
transMirrorZ()

Spiegeln in Bezug auf die X-Richtung, Y-Richtung oder Z-Richtung relativ zum Ursprung des aktuellen PCS.

transScale(factor:= LReal)

Skaliert das Koordinatensystem um den factor in der X-, Y- und Z-Dimension.

transScaleAxis(axisNo := axisIndex, factor := value)

Skaliert die ausgewählte Bahnachse (axisNo) mit dem Faktor.

transTranslate(x:= LReal,
 y:= LReal,
z:= LReal)

Verschieben um Vektor [x,y,z].

transPop()

Entnimmt eine Transformation aus dem Stapel der Transformationen.

transDepth(): UInt

Ergibt die Tiefe des Transformationsstapels, d. h. die Anzahl der aktiven Transformationen.

transRestore(depth:= UInt)

Reduziert den Stapel der Transformationen auf die angegebene Tiefe.

Bewegung

Befehl

Beschreibung

moveCircle3d(cx:= LReal,
cy:= LReal,
 cz:= LReal,
 nx:= LReal,
 ny:= LReal,
 nz:= LReal,
 angle:= LReal,
 height:= LReal)

Kreisbewegung durch Rotation um den Mittelpunkt cx,cy,cz und den Normalenvektor nx,ny,nz um den angegebenen angle. Wenn height ungleich Null ist, wird eine Helix beschrieben. Die Drehung wird gemäß der Rechte-Hand-Regel durchgeführt.

Mittelpunktskorrektur

Befehl

Beschreibung

centerpointCorrectionSet(on:= bool)

Aktiviert die Mittelpunktskorrektur für Kreise. Wird für Kreise verwendet, die durch Mittelpunktprogrammierung definiert sind.

centerpointCorrectionLimitSet(limit:= LReal)

Legt die Genauigkeitsgrenze für den Mittelpunkt von Kreisen fest.

Werkzeuge

Befehl

Beschreibung

toolParamSet(tidx:= USInt,
col:= USInt,
 val:= LReal)

Parameter des Werkzeugs tidx (1..255) auf val einstellen. Der Parameter ist durch col (0..15) gekennzeichnet.

toolParam(tidx:= USInt,
 col:= USInt): LReal

Liefert den angegebenen Werkzeugparameter.

toolSet(index:= USInt,
 nr:= Int,
 tooltype:= ToolType,
 length:= LReal,
 radius:= LReal,
 lengthAdd:= LReal,
 radiusAdd:= LReal,
 offsetX:= LReal,
 offsetY:= LReal,
 offsetZ:= LReal)

Setzt alle Werkzeugparameter.

ToolType

Aufzählung der Werkzeugtypen.

Werkzeugradiuskorrektur

Befehl

Beschreibung

trcApproachDepartSet(approachRadius:= LReal,
 approachAngle:= LReal,
 departRadius:= LReal,
 departAngle:= LReal)

Konfiguriert das An- und Abfahrverhalten so, dass ein Kreisbogen mit einem bestimmten Radius und Winkel verwendet wird.

trcOffsetSet(offset:= LReal)

Konfiguriert den Umfang der Segmenterweiterung, die zum Schließen von Lücken verwendet wird.

trcLimitSet(offset:= LReal)

Konfiguriert den Lookahead, der für die Kollisionsbeseitigung verwendet wird.

trcParam(): TrcParamType

Liefert die aktuelle Konfiguration als Strukturwert.

trcParamSet(param:= TrcParamType)

Konfiguriert die Werkzeugradiuskorrektur. Fasst trcApproachDepartSet, trcOffsetSet und trcLimitSet zusammen.

TrcParamType

Struktur, die alle Konfigurationsparameter der Werkzeugradiuskorrektur enthält.

collisionElimination(nx:= LReal,
ny:= LReal,
 nz:= LReal,
 limit:= ULInt)

Aktiviert die Kollisionsbeseitigung in Bezug auf die Ebene des Normalenvektors nx, ny, nz.

collisionEliminationFlush()

Um Konflikte zwischen der Bahn, die dem Aufruf vorausgeht, und der Bahn, die dem Aufruf folgt, zu ignorieren.

Befehl

Beschreibung

Modal oder Nichtmodal

Default

G40

Deaktiviert die Werkzeugradiuskorrektur (TRC).

Modal.

Default.

G41

Aktiviert die Werkzeugradiuskorrektur (TRC). Links.

Modal.

Nein.

G42

Aktiviert die Werkzeugradiuskorrektur (TRC). Rechts.

Modal.

Nein.

Synchronisation

Befehl

Beschreibung

sync()

Synchronisiert den Interpreter mit dem zugehörigen NC-Kanal.

wait()

Wartet auf ein GoAhead-Signal von der SPS.

Abfrage der Achsen

Befehl

Beschreibung

queryAxes()

Setzen Sie die MCS-Koordinaten des Interpreters auf die Ist-Koordinaten der physischen Achsen.

Aktueller Punkt

Befehl

Beschreibung

frameGet(x:= LReal,
 y:= LReal,
z:= LReal,
a:= LReal,
 b:= LReal,
 c:= LReal)

Speichert den aktuellen Rahmen des PCS in x, y, z und a, b, c.

qAxisGet(q1:= LReal,
 q2:= LReal,
 q3:= LReal,
q4:= LReal,
 q5:= LReal)

Speichert die aktuellen Werte der Q-Achsen q1 bis q5.

Unterdrückung von G-Code-Sätzen

Befehl

Beschreibung

disableMask():= LWord

Liefert den aktuellen Wert der Disable-Maske.

disableMaskSet(mask:= LWord)

Setzt die interne Disable-Maske auf den angegebenen Wert.

Einheiten

Befehl

Beschreibung

unitAngleSet(unitAngle:= UnitAngle)

Setzt die Einheit für Winkel auf unitAngle.

UnitAngle

Aufzählung der Winkeleinheiten.

unitLengthSet(unitLength:= UnitLength)

Setzt die Einheit für Längen auf unitLength.

UnitLength

Aufzählung der Längeneinheiten.

unitTimeSet(unitTime:= UnitTime)

Setzt die Einheit für die Zeit auf unitTime.

UnitTime

Aufzählung der Zeiteinheiten.

unitVelocitySet(unitLength:= UnitLength,
 unitTime:= UnitTime)

Setzt die Einheit für die Geschwindigkeit auf unitLength/unitTime.

Trigonometrie (Unit Aware)

Befehl

Beschreibung

gSin(angle:= LReal)

Liefert den Sinus des angegebenen angle, wobei die aktuelle Winkeleinheit zur Interpretation des Winkels verwendet wird.

gCos(angle:= LReal)

Liefert den Cosinus des angegebenen angle, wobei die aktuelle Winkeleinheit zur Interpretation des Winkels verwendet wird.

gTan(angle:= LReal)

Liefert den Tangens des angegebenen angle, wobei die aktuelle Winkeleinheit zur Interpretation des Winkels verwendet wird.

gASin(val:= LReal)

Liefert den Arkussinus von val in der aktuellen Winkeleinheit.

gACos(val:= LReal)

Liefert den Arkuscosinus von val in der aktuellen Winkeleinheit.

gATan(val:= LReal)

Liefert den Arkustangens von val in der aktuellen Winkeleinheit.

gATan2(y:= LReal, x:= LReal)

Liefert den Arkustangens von y/x in der aktuellen Winkeleinheit.

Vorschubmodus

Befehl

Beschreibung

feedModeSet(feedMode:= FeedModeType)

Setzt den Vorschubmodus.

FeedModeType

Aufzählung der Vorschubmodustypen.

Vorschubinterpolation

Befehl

Beschreibung

feedInterpolationSet(feedInterpolation:= FeedInterpolationType)

Setzt die Vorschubinterpolation.

FeedInterpolationType

Aufzählung der Vorschubinterpolationtypen.

Streaming von großen G-Code-Dateien

Befehl

Beschreibung

runFile(path:= string)

Führt den G-Code aus, der in der G-Code-Datei enthalten ist, die durch path angegeben wird.

Vertex-Verschleifung

Befehl

Beschreibung

smoothingSet
(mainType:= SmoothingMainType,
 subType:= SmoothingSubType,
 value:= LReal)

Legt das Verhalten der Vertex-Verschleifung fest.

SmoothingMainType

Aufzählung der Haupttypen der Verschleifung.

SmoothingSubType

Aufzählung der Untertypen der Verschleifung.

autoAccurateStopSet

Automatischer Genauhalt.

Dynamischer Override

Befehl

Beschreibung

dynOverrideSet(value:= LReal)

Setzt den dynamischen Override der Achsen auf die angegebene value.

Programmierreferenz

Befehl

Beschreibung

programmingReferenceSet

Alternativ zu G90/G91 kann mit programmingReferenceSet die Maßangabe der nachfolgenden Bewegungsbefehle auf absolute oder relative gesetzt werden.

programmingReferenceGet

Mit programmingReferenceGet kann die aktuell aktive Maßangabe für die Bewegungsbefehle ausgelesen werden.

ReferenceType

Aufzählung der Referenztypen.

Mittelpunkt-Referenz von Kreisen

Befehl

Beschreibung

circleCenterReferenceSet(value:= ReferenceType)

Legt die Art der Mittelpunkt-Referenz für Kreise fest, die über G02/G03 programmiert werden.

ReferenceType

Aufzählung der Referenztypen.

Einstellung Dynamik

Befehl

Beschreibung

axisDynamicsSet

Änderung der Achsdynamik.

pathDynamicsSet

Änderung der Bahndynamik.

Spline-Interpolation

Befehl

Beschreibung

transBSpline

Spline-Interpolation.