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.