
PROGRAMMING
B–63124EN/01
16. CUSTOM MACRO
267
Example:
Creation of a drilling program that cuts according to the values of
variables #1 and #2, then returns to the original position
Suppose that the increment system is 1/1000 mm, variable #1 holds
1.2345, and variable #2 holds 2.3456. Then,
G00 G91 X–#1; Moves 1.235 mm.
G01 X–#2 F300; Moves 2.346 mm.
G00 X[#1+#2];
Since 1.2345 + 2.3456 = 3.5801, the travel distance is 3.580, which
does not return the tool to the original position.
This difference comes from whether addition is performed before or
after rounding off. G00X–[ROUND[#1]+ROUND[#2]] must be
specified to return the tool to the original position.
With NC, when the absolute value of the integer produced by an operation
on a number is greater than the absolute value of the original number, such
an operation is referred to as rounding up to an integer. Conversely, when
the absolute value of the integer produced by an operation on a number
is less than the absolute value of the original number, such an operation
is referred to as rounding down to an integer. Be particularly careful when
handling negative numbers.
Example:
Suppose that #1=1.2 and #2=–1.2.
When #3=FUP[#1] is executed, 2.0 is assigned to #3.
When #3=FIX[#1] is executed, 1.0 is assigned to #3.
When #3=FUP[#2] is executed, –2.0 is assigned to #3.
When #3=FIX[#2] is executed, –1.0 is assigned to #3.
When a function is specified in a program, the first two characters of the
function name can be used to specify the function.
Example:
ROUND → RO
FIX → FI
Functions
Operations such as multiplication and division (*, /, AND, MOD)
Operations such as addition and subtraction (+, –, OR, XOR)
Example) #1=#2+#3*SIN[#4];
, and indicate the order of operations.
D Rounding up and down
to an integer
D Abbreviations of
arithmetic and logic
operation commands
D Priority of operations