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 |
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 )#
Wenn eine Bahnachse nicht zugewiesen ist (z. B. Z hat keine zugewiesene Achse), wird dem dazugehörigen R-Parameter der Wert 0 übergeben. |