Handhabung von Ausgabevariablen
Die Mess- und Kalibrierzyklen enthalten Ausgabevariablen, über welche das Ergebnis abgefragt werden kann. Für das Auslesen der Ausgabevariablen bestehen zwei Möglichkeiten, welche im Folgenden näher beschrieben werden.
Möglichkeit 1: Auslesen der Ausgabevariablen per Zyklenvariablen
Die erste Möglichkeit besteht im Anlegen der V.CYC.-Ausgabevariable im zyklusaufrufenden Programm. Im Zyklus wird geprüft, ob diese Variable bereits besteht. Ist dies der Fall, wird der entsprechende Ergebniswert in die vorhandene V.CYC.-Variable geschrieben.
Programmierbeispiel
Auslesen der Ausgabevariablen per Zyklenvariablen
Das Beispiel behandelt das Auslesen der Ausgabevariablen für den Zyklus "SysCalibTouchprobe1.ecy". Das Vorgehen kann analog auf alle Mess- und Kalibrierzyklen übertragen werden. Im zyklusaufrufenden Programm sollen die Ergebniswerte in die Datei "result.txt" geschrieben werden. Dazu werden lokal die Ausgabevariablen erstellt, in welche durch die Zyklusausführung der Ergebniswert geschrieben wird.
%main.nc
#VAR
V.CYC.SysRetOffsetX
V.CYC.SysRetOffsetY
V.CYC.SysRetToolRadius
#ENDVAR
T1 D1
G00 G90 Z0
L CYCLE [NAME=SysCalibTouchprobe1.ecy @P2 = 100]
G00 G90 Z50
#FILENAME[MSG="result.txt"]
#MSG SAVE["Tool Radius = %f", V.CYC.SysRetOffsetX]
#MSG SAVE["Offset in X = %f", V.CYC.SysRetOffsetY]
#MSG SAVE["Offset in Y = %f", V.CYC.SysRetToolRadius]
M30
Möglichkeit 2: Auslesen der Ausgabevariablen per Unterprogramm
Zum Auslesen der Ergebniswerte können auch die Post-Dateien der Zyklen genutzt werden, welche durch den Anwender angelegt werden. Diese Post-Dateien werden am Ende des Zyklus automatische aufgerufen. In ihnen sind die Ausgabevariablen sichtbar.
Programmierbeispiel
Auslesen der Ausgabevariablen per Unterprogramm
Das Beispiel behandelt das Auslesen der Ausgabevariablen für den Zyklus SysCalibTouchprobe1.ecy
. Das Vorgehen kann analog auf alle Mess- und Kalibrierzyklen übertragen werden. Im zyklusaufrufenden Programm sollen die Ergebniswerte in die Datei result.txt
geschrieben werden. Dazu müssen lokal Ergebnisvariablen erstellt werden, in welche die Werte der Ausgabevariablen übertragen werden.
%main.nc
#VAR
V.L.ResOffX
V.L.ResOffY
V.L.ResRadius
#ENDVAR
T1 D1
G00 G90 Z0
L CYCLE [NAME=SysCalibTouchprobe1.ecy @P2 = 100]
G00 G90 Z50
#FILENAME[MSG="result.txt"]
#MSG SAVE["Tool Radius = %f", V.L.ResRadius]
#MSG SAVE["Offset in X = %f", V.L.ResOffX]
#MSG SAVE["Offset in Y = %f", V.L.ResOffY]
M30
Damit die Ergebniswerte innerhalb des Zyklus in die vom Anwender angelegten Variablen übertragen werden, muss das Post-Unterprogramm "SysCalibTouchprobe1Post.nc" vom Anwender erstellt werden. Dieses wird innerhalb des Zyklus automatisch aufgerufen.
%SysCalibTouchprobe1Post.nc
V.L.ResOffX = V.CYC.SysRetOffsetX
V.L.ResOffY = V.CYC.SysRetOffsetY
V.L.ResRadius = V.CYC.SysRetToolRadius
M17