Lese Achsen-Istwert

Befehl

@361

 

Parameter 1

R<n>

R Parameter, dem der Achsen-Istwert zugewiesen wird

Parameter 2

K<m>

Konstante für die zu lesende Achskoordinate
0: X-Achse
1: Y-Achse
2: Z-Achse
3: Q1-Achse
4: Q2-Achse
. . .
7: Q5-Achse

Beispiel 1:

N10 G0 X0 Y0 Z0 F24000
N30 G01 X1000
N40 @361 R1 K0 (read position of x axis)
N50 R0=X
N60 G01 X=R0+R1
N70 M30

Mit dem Befehl @361 wird implizit ein Dekodierstopp ausgeführt. Damit wird sichergestellt, dass in diesem Beispiel die Position gelesen wird, wenn Satz N30 abgearbeitet ist.

Eine mögliche Anwendung ist z. B. die Kombination mit dem Restweglöschen.

Lese Achsen-Istwert ohne Dekodierstopp

ab TwinCAT V2.9 Build 947

Befehl

#get PathAxesPos( R<a>; R<b>; R<c> )#

 

Parameter 1

R<a>

R Parameter, dem der Achsen-Istwert der X-Achse zugewiesen wird

Parameter 2

R<b>

R Parameter, dem der Achsen-Istwert der Y-Achse zugewiesen wird

Parameter 3

R<c>

R Parameter, dem der Achsen-Istwert der Z-Achse zugewiesen wird

Der Befehl #get PathAxesPos( )# liest die aktuellen Ist-Positionen der Bahnachsen (X, Y &Z) aus. Er verhält sich ähnlich wie @361 mit dem Unterschied, dass mit diesem Kommando kein impliziter Dekodierstopp ausgelöst wird. D.h. der Programmierer muss selber sicherstellen, dass sich beim Abarbeiten des Kommandos im Interpreter die Achsen noch nicht bewegt haben oder im Satz vor dem Befehl muss ein Dekodierstopp (@714) programmiert werden.

#get PathAxesPos( )# ist eine Alternative zu @361, die aber an bestimmte Bedingungen geknüpft ist.

Beispiel 2:

@714(optional)
N27 #get PathAxesPos( R0; R1; R20 )#
Lese Achsen-Istwert 1:

Wenn eine Bahnachse nicht zugewiesen ist (z. B. Z hat keine zugewiesene Achse), wird dem dazugehörigen R-Parameter der Wert 0 übergeben.