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

prg_example

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.

SysCalibMeasOutput
Abb.: SysCalibMeasOutput

Programmierbeispiel

prg_example

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