15 v a riable pr ogr amming – HEIDENHAIN CNC Pilot 4290 User Manual
Page 191

HEIDENHAIN CNC PILOT 4290
179
4.15
V
a
riable Pr
ogr
amming
4.15.3 Program Branches, Program Repeats,
Conditional Block Execution
V variables are included during simulation. The V variables can be
assigned values. Thus all branches of your NC program can be
tested.
You can combine up to two conditions.
Logical operators for IF... and WHILE..
<
Less than
<=
Less than or equal
<>
Not equal
>
Greater than
>=
Greater than or equal
==
Equal
Combining conditions:
AND
Logical AND operation
OR
Logical OR operation
■
The unit counter in V660 is different
from the unit counter in the machine
display.
■
X values are saved as radius values.
■
Note: Functions G901, G902, G903,
G912 and G916 overwrite the variable!
This also applies to variables that have
not yet been evaluated.
Note on interpreter stop (G909)
The CNC PILOT pre-interprets approx. 15 to 20 NC blocks. If
variables are assigned shortly before the evaluation, “old values“
would be processed. An interpreter stop ensures that the
variables contain the new value.
G909 stops the pre-interpretation. The NC blocks are processed up
to G909—after G909 the subsequent NC blocks are processed.
■
Program an interpreter stop if
variables or external events are modified
shortly before the block is run.
■
Each interpreter stop lengthens the run
time of the NC program.
■
Several G functions include the
interpreter stop.
Variable assignment V901 to V920
X
Z
Y
Slide 1
V901
V902
V903
Slide 2
V904
V905
V906
Slide 3
V907
V908
V909
Slide 4
V910
V911
V912
Slide 5
V913
V914
V915
Slide 6
V916
V917
V918
C axis 1:
V919
C axis 2:
V920
■
V921: Angular offset of “G906 spindle synchronization“
■
V922/V923: Result of “G905 offset C-angle“
■
V982: Error number of “G912 actual value determination for in-
process measurement“
■
V300: Result of “G991 controlled parting“
Examples for “V variables”
. . .
N.. V{M1[Z]=300}
[ Sets “machine dimension 1 Z“ to “300“ ]
. . .
N.. G0 Z{M1[Z]}
[Moves to “machine dimension 1 Z” ]
. . .
N.. IF{E1[1]==0}
[Interrogates “external event 1 – bit 1“]
. . .
N.. V{D5[X]=1.3}
[Sets “compensation X for tool 5” ]
. . .
N..V{V12=17.4}
N..V{V12=V12+1}
N.. G1 X{V12}
. . .
IF you program branches on the basis of V variables,
there must not be any # variables in the program
branches.