Programmierbeispiel
Programmierbeispiel
Winkelmessung zwischen 2 Bohrungen (C-Achse)
;touchprobe activtion
T1 D1
;deactivation of the zero offset
G53
;positioning to the starting point
G0 X0 Y0 Z5
#VAR
;input parameters
V.L.HoleDiameter = 20
V.L.ZeroOffsetNumber = 54
V.L.TargetAngle = 45
V.L.PositioningX = 50
V.L.PositioningY = 20
V.L.PositioningZ = 10
V.L.MeasDepth = -15
V.L.HoleDiameter2 = 30
V.L.CrossOver = 10
;output variables
V.CYC.SysRetC
#ENDVAR
;Using zero offset
;cycle call
L CYCLE [NAME="SysMeasWcs21.ecy" \
@P2 = V.L.HoleDiameter \
@P7 = V.L.ZeroOffsetNumber\
@P12 = V.L.TargetAngle \
@P17 = V.L.PositioningX \
@P18 = V.L.PositioningY \
@P19 = V.L.PositioningZ \
@P22 = V.L.MeasDepth \
@P29 = V.L.HoleDiameter2 \
@P33 = V.L.CrossOver ]
;print result
#FILE NAME [MSG="SysMeasWcsResult.txt"]
#MSG SAVE ["V.CYC.SysRetC =%f", V.CYC.SysRetC]
;GV.L.ZeroOffsetNumber
;G00 C0
M30
;set #CS rotation around the Z-axis
;cycle call
L CYCLE [NAME="SysMeasWcs21.ecy"\
@P2 = V.L.HoleDiameter \
@P17 = V.L.PositioningX \
@P18 = V.L.PositioningY \
@P19 = V.L.PositioningZ \
@P22 = V.L.MeasDepth \
@P29 = V.L.HoleDiameter2\
@P33 = V.L.CrossOver ]
;print result
#FILE NAME [MSG="SysMeasWcsResult.txt"]
#MSG SAVE ["V.CYC.SysRetC =%f", V.CYC.SysRetC]
#CS ON [0,0,0,0,0,V.CYC.SysRetC]
;:
#CS Off
M30
Ein weiteres Beispiel zur Handhabung der SysMeasWcs-Zyklen ist im Übersichtskapitel im Unterpunkt Programmierung zu finden.