Table 16.2 (h) System variables for the number of parts required and the number of machined parts
Variable number Function
#3901 Number of machined parts (completion number)
#3902 Number of required parts (target number)
NOTE Do not substitute a negative value.
� ��������
� Number of machined parts
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
305
Modal information specified in blocks up to the immediately preceding block can be read.
Table 16.2(i) System variables for modal information
Variable number Function
#4001 #4002 #4003 #4004 #4005 #4006 #4007 #4008 #4009 #4010 #4011 #4012 #4014 #4015 #4016
: #4022 #4102 #4107 #4109 #4111 #4113 #4114 #4115 #4119 #4120
G00, G01, G02, G03, G33 (Group 01) G17, G18, G19 (Group 02) G90, G91 (Group 03)
(Group 04) G94, G95 (Group 05) G20, G21 (Group 06) G40, G41, G42 (Group 07) G43, G44, G49 (Group 08) G73, G74, G76, G80–G89 (Group 09) G98, G99 (Group 10) G50, G51 (Group 11) G65, G66, G67 (Group 12) G54–G59 (Group 14) G61–G64 (Group 15) G68, G69 (Group 16) : :
(Group 22) B code D code F code H code M code Sequence number Program number S code T code
Example: When #1=#4001; is executed, the resulting value in #1 is 0, 1, 2, 3, or 33.
Position information cannot be written but can be read.
Table 16.2(j) System variables for position information
Variable number
Position information
Coordinate system
Tool com- pensation
value
Read operation
during movement
#5001–#5004 Block end point Workpiece coordinate system
Not included
Enabled
#5021–#5024 Current position Machine coordinate system
Included Disabled
#5041–#5044 Current position Workpiece coordinate
#5061–#5064 Skip signal position coordinate system Enabled
#5081–#5084 Tool offset value Disabled
#5101–#5104 Deviated servo position
� Modal information
� Current position
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
306
� The first digit (from 1 to 4) represents an axis number. Digit 1 corresponds to the X–axis, digit 2 to the Y–axis, digit 3 to the Z–axis, and digit 4 to the fourth axis.
� The tool offset value currently used for execution rather than the immediately preceding tool offset value is held in variables #5081 to 5088.
� The tool position where the skip signal is turned on in a G31 (skip function) block is held in variables #5061 to #5068. When the skip signal is not turned on in a G31 block, the end point of the specified block is held in these variables.
� When read during movement is “disabled,” this means that expected values cannot be read due to the buffering (preread) function.
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
307
Workpiece zero point offset values can be read and written.
Table 16.2 (k) System variables for workpiece zero point offset values
Variable number Function
#2500 #2501
: #2506
First axis external workpiece zero point offset value First axis G54 workpiece zero point offset value
: First axis G59 workpiece zero point offset value
#2600 #2601
: #2606
Second axis external workpiece zero point offset value Second axis G54 workpiece zero point offset value
: Second axis G59 workpiece zero point offset value
#2700 #2701
: #2706
Third axis external workpiece zero point offset value Third axis G54 workpiece zero point offset value
: Third axis G59 workpiece zero point offset value
#2800 #2801
: #2806
Fourth axis external workpiece zero point offset value Fourth axis G54 workpiece zero point offset value
: Fourth axis G59 workpiece zero point offset value
#7001 :
#7004
First–axis workpiece zero point offset value (G54 P1) :
Fourth–axis workpiece zero point offset value
#7021 :
#7024
First–axis workpiece zero point offset value (G54 P2) :
Fourth–axis workpiece zero point offset value
: :
#7941 :
#7944
First–axis workpiece zero point offset value (G54 P48) :
Fourth–axis workpiece zero point offset value
NOTE Variables #2500 to #2806 are optional variables for the workpiece coordinate systems. Variables #7001 to #7948 (G54 P1 to G54 P48) are optional variables for additional 48 workpiece coordinate systems. The variable number for the workpiece origin offset (G54Pp) for the Nth axis is obtained by: #(7000 + (P – 1) � 20 + N)
� Workpiece coordinate system compensation values (workpiece zero point offset values)
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
308
The operations listed in Table 16.3(a) can be performed on variables. The expression to the right of the operator can contain constants and/or variables combined by a function or operator. Variables #j and #K in an expression can be replaced with a constant. Variables on the left can also be replaced with an expression.
Table 16.3 (a) Arithmetic and logic operation
Function Format Remarks
Definition #i=#j
Sum Difference Product Quotient
#i=#j+#k; #i=#j–#k; #i=#j*#k; #i=#j/#k;
Sine Cosine Tangent Arctangent
#i=SIN[#j]; #i=COS[#j]; #i=TAN[#j]; #i=ATAN[#j]/[#k];
An angle is specified in de- grees. 90 degrees and 30 minutes is represented as 90.5 degrees.
Square root Absolute value Rounding off Rounding down Rounding up
#i=SQRT[#j]; #i=ABS[#j]; #i=ROUND[#j]; #i=FIX[#j]; #i=FUP[#j];
OR XOR AND
#i=#j OR #k; #i=#j XOR #k; #i=#j AND #k;
A logical operation is per- formed on binary numbers bit by bit.
Conversion from BCD to BIN Conversion from BIN to BCD
#i=BIN[#j]; #i=BCD[#j];
Used for signal exchange to and from the PMC
The units of angles used with the SIN, COS, TAN, and ATAN functions are degrees. For example, 90 degrees and 30 minutes is represented as 90.5 degrees.
After the ATAN function, specify the lengths of two sides separated by a slash. A result is found where 0 �result�360.
Example: When #1=ATAN[1]/[–1], the value of #1 is 135.0
� When the ROUND function is included in an arithmetic or logic operation command, IF statement, or WHILE statement, the ROUND function rounds off at the first decimal place.
Example: When #1=ROUND[#2]; is executed where #2 holds 1.2345, the value of variable #1 is 1.0.
16.3 ARITHMETIC AND LOGIC OPERATION
Explanations
� Angle units
� ATAN function
� ROUND functionww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
309
� When the ROUND function is used in NC statement addresses, the ROUND function rounds off the specified value according to the least input increment of the address.
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.
� Rounding up and down to an integer
� Abbreviations of arithmetic and logic operation commands
� Priority of operations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
310
Brackets are used to change the order of operations. Brackets can be used to a depth of five levels including the brackets used to enclose a function. When a depth of five levels is exceeded, alarm No. 118 occurs.
Example) #1=SIN [ [ [#2+#3] *#4 +#5] *#6] ;
�
�
�
�
� � to � indicate the order of operations.
Brackets ([, ]) are used to enclose an expression. Note that parentheses are used for comments.
Errors may occur when operations are performed.
Table 16.3(b) Errors involved in operations
Operation Averageerror Maximum
error Type of error
a = b*c 1.55�10–10 4.66×10–10 Relative error (*1)
a = b / c 4.66�10–10 1.88×10–9 Relative error ( 1)
�
a � b� 1.24�10 –9 3.73×10–9
� a
a = b + c a = b – c
2.33�10–10 5.32×10–10 (*2) � bMin
� c,
a = SIN [ b ] a = COS [ b ]
5.0�10–9 1.0×10–8 Absolute error (*3)
ε degrees a = ATAN [ b ] / [ c ] (*4) 1.8�10–6 3.6×10–6
degrees
NOTE 1 The relative error depends on the result of the operation. 2 Smaller of the two types of errors is used. 3 The absolute error is constant, regardless of the result of the
operation. 4 Function TAN performs SIN/COS.
� Bracket nesting
�����������
� Brackets
� Operation error
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
311
� The precision of variable values is about 8 decimal digits. When very large numbers are handled in an addition or subtraction, the expected results may not be obtained.
Example: When an attempt is made to assign the following values to variables #1 and #2: #1=9876543210123.456 #2=9876543277777.777 the values of the variables become: #1=9876543200000.000 #2=9876543300000.000 In this case, when #3=#2–#1; is calculated, #3=100000.000 results. (The actual result of this calculation is slightly different because it is performed in binary.)
� Also be aware of errors that can result from conditional expressions using EQ, NE, GE, GT, LE, and LT.
�,�!$ ��
���� �� � � �' �����(�� �- �&&#&' �" �#(� � �"� � �
$#''�� - &�') (�"� �" �" �"�#&&��( ����'�#"�
���&��#&�� �"'(��� ��"� (�� �����&�"�� ��(+��" (�� (+#
*�&��� �' +�(� ���� ��� �� ������� ��
���"� �'')!� (��( (�� *� )�' #� (�� (+# *�&��� �' �&� �%)�
+��" (�� �����&�"�� �#�' "#( �,���� �" � #+�� � �!�( �����
�" (��' ��'���
� Also, be careful when rounding down a value.
Example: When #2=#1*1000; is calculated where #1=0.002;, the resulting value of variable #2 is not exactly 2 but 1.99999997. Here, when #3=FIX[#2]; is specified, the resulting value of variable #1 is not 2.0 but 1.0. In this case, round down the value after correcting the error so that the result is greater than the expected number, or round it off as follows: #3=FIX[#2+0.001] #3=ROUND[#2]
When a divisor of zero is specified in a division or TAN[90], alarm No. 112 occurs.
� Divisorww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
312
The following blocks are referred to as macro statements:
� Blocks containing an arithmetic or logic operation (=)
� Blocks containing a control statement (such as GOTO, DO, END)
� Blocks containing a macro call command (such as macro calls by G65, G66, G67, or other G codes, or by M codes)
Any block other than a macro statement is referred to as an NC statement.
� Even when single block mode is on, the machine does not stop. Note, however, that the machine stops in the single block mode when bit 5 of parameter 011 is 1.
� Macro blocks are not regarded as blocks that involve no movement in the cutter compensation mode (see Section 16.7).
� Subprogram call blocks (blocks in which subprogram calls using M98, M codes, or T codes are specified) which only contain addresses O, N, P, and L have the same features as a macro statement.
� Blocks containing M99 and addresses O, N, P, and L have the same features as a macro statement.
16.4 MACRO STATEMENTS AND NC STATEMENTS
� ����� ����
� Differences from NC statements
� NC statements that have the same property as macro statements
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
313
In a program, the flow of control can be changed using the GOTO statement and IF statement. Three types of branch and repetition operations are used:
Branch and repetition GOTO statement (unconditional branch)
IF statement (conditional branch: if ..., then...)
WHILE statement (repetition while ...)
A branch to sequence number n occurs. When a sequence number outside of the range 1 to 9999 is specified, alarm No. 128 occurs. A sequence number can also be specified using an expression.
GOTO n ; n: Sequence number (1 to 9999)
Example: GOTO1; GOTO#10;
Specify a conditional expression after IF. If the specified conditional expression is satisfied, a branch to sequence number n occurs. If the specified condition is not satisfied, the next block is executed.
IF [#1 GT 10] GOTO 2 ;
N2 G00 G91 X10.0 ; :
If the value of variable #1 is greater than 10, a branch to sequence number N2 occurs.
If the condition is not satisfied
Processing If the condition is satisfied
A conditional expression must include an operator inserted between two variables or between a variable and constant, and must be enclosed in brackets ([, ]). An expression can be used instead of a variable.
16.5 BRANCH AND REPETITION
16.5.1 Unconditional Branch (GOTO Statement)
16.5.2 Conditional Branch (IF Statement)
� ����� ����
� Conditional expression
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
314
Operators each consist of two letters and are used to compare two values to determine whether they are equal or one value is smaller or greater than the other value. Note that the inequality sign cannot be used.
Table 16.5.2 Operators
Operator Meaning
EQ Equal to (=)
NE Not equal to (�)
GT Greater than (�)
GE Greater than or equal to (�)
LT Less than (�)
LE Less than or equal to (�)
The sample program below finds the total of numbers 1 to 10.

Specify a conditional expression after WHILE. While the specified condition is satisfied, the program from DO to END is executed. If the specified condition is not satisfied, program execution proceeds to the block after END.
WHILE [conditional expression] DO m ; (m=1,2,3)
END m ; :
ProcessingIf the condition is not satisfied
If the condition is satisfied
While the specified condition is satisfied, the program from DO to END after WHILE is executed. If the specified condition is not satisfied, program execution proceeds to the block after END. The same format as for the IF statement applies. A number after DO and a number after END are identification numbers for specifying the range of execution. The numbers 1, 2, and 3 can be used. When a number other than 1, 2, and 3 is used, alarm No. 126 occurs.
� Operators
Sample program
16.5.3 Repetition (WHILE Statement)
� ����� ����
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
315
The identification numbers (1 to 3) in a DO–END loop can be used as many times as desired. Note, however, when a program includes crossing repetition loops (overlapped DO ranges), alarm No. 124 occurs.
1. The identification numbers (1 to 3) can be used as many times as required.
WHILE [ … ] DO 1 ;
END 1 ; :
WHILE [ … ] DO 1 ;
END 1 ;
WHILE [ … ] DO 1 ;
END 1 ; :
WHILE [ … ] DO 2 ;
END 2 ;
WHILE [ … ] DO 1 ;
WHILE [ … ] DO 2 ; :
WHILE [ … ] DO 3 ; :
END 3 ; :
END 2 ; :
END 1 ;
WHILE [ … ] DO 1 ;
END 1 ;
IF [ … ] GOTO n ;
Nn
WHILE [ … ] DO 1 ;
END 1 ;
IF [ … ] GOTO n ;
Nn … ;
:
2. DO ranges cannot overlap.
Processing
Processing
Processing
Processing
Processing
3. DO loops can be nested to a maximum depth of three levels.
4. Control can be transferred to the outside of a loop.
5. Branches cannot be made to a location within a loop.
When DO m is specified without specifying the WHILE statement, an infinite loop ranging from DO to END is produced.
When a branch to the sequence number specified in a GOTO statement occurs, the sequence number is searched for. For this reason, processing in the reverse direction takes a longer time than processing in the forward direction. Using the WHILE statement for repetition reduces processing time.
In a conditional expression that uses EQ or NE, a null value and zero have different effects. In other types of conditional expressions, a null value is regarded as zero.
� Nesting
�����������
� Infinite loops
� Processing time
� Undefined variable
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
316
The sample program below finds the total of numbers 1 to 10.
O0001; #1=0; #2=1; WHILE[#2 LE 10]DO 1; #1=#1+#2; #2=#2+1; END 1; M30;
Sample program
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
317
A macro program can be called using the following methods:
Macro call Simple call ((G65) modal call (G66, G67) Macro call with G code Macro call with M code Subprogram call with M code Subprogram call with T code
Macro call (G65) differs from subprogram call (M98) as described below.
� With G65, an argument (data passed to a macro) can be specified. M98 does not have this capability.
� When an M98 block contains another NC command (for example, G01 X100.0 M98Pp), the subprogram is called after the command is executed. On the other hand, G65 unconditionally calls a macro.
� When an M98 block contains another NC command (for example, G01 X100.0 M98Pp), the machine stops in the single block mode. On the other hand, G65 does not stops the machine.
� With G65, the level of local variables changes. With M98, the level of local variables does not change.
When G65 is specified, the custom macro specified at address P is called. Data (argument) can be passed to the custom macro program.
G65 P p L � <argument–specification> ;
P : Number of the program to call � : Repetition count (1 by default) Argument : Data passed to the macro
O0001 ; : G65 P9010 L2 A1.0 B2.0 ; : M30 ;
O9100 ; #3=#1+#2 ; IF [#3 GT 360] GOTO 9 ; G00 G91 X#3 ; N9 M99 ;
� After G65, specify at address P the program number of the custom macro to call.
� When a number of repetitions is required, specify a number from 1 to 9999 after address L. When L is omitted, 1 is assumed.
� By using argument specification, values are assigned to corresponding local variables.
16.6 MACRO CALL
����������
� Differences between macro calls and subprogram calls
16.6.1 Simple Call (G65)
�� ��������
� Call
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
318
Two types of argument specification are available. Argument specification I uses letters other than G, L, O, N, and P once each. Argument specification II uses A, B, and C once each and also uses I, J, and K up to ten times. The type of argument specification is determined automatically according to the letters used.
Argument specification I Variable number
Variable number
A B C D E F H
#1 #2 #3 #7 #8 #9 #11
I J K M Q R S
#4 #5 #6 #13 #17 #18 #19
T U V W X Y Z
#20 #21 #22 #23 #24 #25 #26
Address Address Address Variable number
� Addresses G, L, N, O, and P cannot be used in arguments.
� Addresses that need not be specified can be omitted. Local variables corresponding to an omitted address are set to null.
Argument specification II Argument specification II uses A, B, and C once each and uses I, J, and K up to ten times. Argument specification II is used to pass values such as three–dimensional coordinates as arguments.
A B C I1 J1 K1 I2 J2 K2 I3 J3
#1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11
K3 I4 J4 K4 I5 J5 K5 I6 J6 K6 I7
#12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22
J7 K7 I8 J8 K8 I9 J9 K9 I10 J10 K10
#23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33
Address Variable number
Address Variable number
Address Variable number
� Subscripts of I, J, and K for indicating the order of argument specification are not written in the actual program.
G65 must be specified before any argument.
The NC internally identifies argument specification I and argument specification II. If a mixture of argument specification I and argument specification II is specified, the type of argument specification specified later takes precedence.
The units used for argument data passed without a decimal point correspond to the least input increment of each address. The value of an argument passed without a decimal point may vary according to the system configuration of the machine. It is good practice to use decimal points in macro call arguments to maintain program compatibility.
� Argument specification
�����������
� Format
� Mixture of argument specifications I and II
� Position of the decimal point
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
319
Calls can be nested to a depth of four levels including simple calls (G65) and modal calls (G66). This does not include subprogram calls (M98).
� Local variables from level 0 to 4 are provided for nesting.
� The level of the main program is 0.
� Each time a macro is called (with G65 or G66), the local variable level is incremented by one. The values of the local variables at the previous level are saved in the NC.
� When M99 is executed in a macro program, control returns to the calling program. At that time, the local variable level is decremented by one; the values of the local variables saved when the macro was called are restored.
O0001 ; : #1=1 ; G65 P2 A2 ; : : M30 ;
O0002 ; : : G65 P3 A3 ; : : M99 ;
O0003 ; : : G65 P4 A4 ; : : M99 ;
O0004 ; : : G65 P5 A5 ; : : M99 ;
O0005 ; : : : : : M99 ;
#1 1
::
#33
2 3
:
4
:
5
:
#33
#100–, #500–
Main program (level 0) Macro (level 1) Macro (level 2) Macro (level 3)
Macro (level 4)
Local variables (level 0) (Level 1) (Level 2) (Level 3) (Level 4)
Common variables
Variables that can be read from and written to by macros at different levels
#1
:
#33
#1
:
#33
#1
:
#33
� Call nesting
� Local variable levels
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
320
A macro is created which drills H holes at intervals of B degrees after a start angle of A degrees along the periphery of a circle with radius I. The center of the circle is (X,Y). Commands can be specified in either the absolute or incremental mode.

Sample program (bolt hole circle)
� Calling format
ww w.
cn cc
en ter
.co m
B–61404E/08 16.
Note: L0 can also be used.
   M99;
Meaning of variables:
#3: Stores the G code of group 3. #5: X coordinate of the next hole to drill #6: Y coordinate of the next hole to drill
� Program calling a macro program
� Macro program (called program)
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
322
Once G66 is issued to specify a modal call a macro is called after a block specifying movement along axes is executed. This continues until G67 is issued to cancel a modal call.
O0001 ; : G66 P9100 L2 A1.0 B2.0 ; G00 G90 X100.0 ; Y200.0 ; X150.0 Y300.0 ; G67 ; : M30 ;
O9100 ; : G00 Z–#1 ; G01 Z–#2 F300 ; : : : : M99 ;
G66 P p L � <argument–specification> ;
P : Number of the program to call � : Repetition count (1 by default) Argument : Data passed to the macro
� After G66, specify at address P a program number subject to a modal call.
� When a number of repetitions is required, a number from 1 to 9999 can be specified at address L.
� As with a simple call (G65), data passed to a macro program is specified in arguments.
When a G67 code is specified, modal macro calls are no longer performed in subsequent blocks.
Calls can be nested to a depth of four levels including simple calls (G65) and modal calls (G66). This does not include subprogram calls (M98).
Modal calls can be nested by specifying another G66 code during a modal call.
� In a G66 block, no macros can be called.
� G66 needs to be specified before any arguments.
� No macros can be called in a block which contains a code such as a miscellaneous function that does not involve movement along an axis.
� Local variables (arguments) can only be set in G66 blocks. Note that local variables are not set each time a modal call is performed.
16.6.2 Modal Call (G66)
�� ��������
� Call
� Cancellation
� Call nesting
� Modal call nesting
����������
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
323
The same operation as the drilling canned cycle G81 is created using a custom macro and the machining program makes a modal macro call. For program simplicity, all drilling data is specified using absolute values.
  Z : Coordinates of position Z (absolute specification only) (#26). . . . . R: Coordinates of position R (absolute specification only) (#18). . . . .
M99;
Sample program
� Calling format
� Program that calls a macro program
� Macro program (program called)ww
w. cn
cc en
ter .co
m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
324
By setting a G code number used to call a macro program in a parameter, the macro program can be called in the same way as for a simple call (G65).
O0001 ; : G81 X10.0 Y20.0 Z–10.0 ; : M30 ;
O9010 ; : : : N9 M99 ;
Parameter 220 = 81
By setting a G code number from 1 to 255 used to call a custom macro program (9010 to 9019) in the corresponding parameter (220 to 229), the macro program can be called in the same way as with G65. For example, when a parameter is set so that macro program O9010 can be called with G81, a user–specific cycle created using a custom macro can be called without modifying the machining program.
O9010 O9011 O9012 O9013 O9014 O9015 O9016 O9017 O9018 O9019
220 221 222 223 224 225 226 227 228 229
Program number Parameter number
As with a simple call, a number of repetitions from 1 to 9999 can be specified at address L.
As with a simple call, two types of argument specification are available: Argument specification I and argument specification II. The type of argument specification is determined automatically according to the addresses used.
In a program called with a G code, no macros can be called using a G code. A G code in such a program is treated as an ordinary G code. In a program called as a subprogram with an M or T code, no macros can be called using a G code. A G code in such a program is also treated as an ordinary G code.
16.6.3 Macro Call Using G Code
�� ��������
� Correspondence between parameter numbers and program numbers
� Repetition
� Argument specification
����������
� Nesting of calls using G codesww
w. cn
cc en
ter .co
m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
325
By setting an M code number used to call a macro program in a parameter, the macro program can be called in the same way as with a simple call (G65).
O0001 ; : M50 A1.0 B2.0 ; : M30 ;
O9020 ; : : : M99 ;
Parameter 230 = 50
By setting an M code number from 1 to 255 used to call a custom macro program (9020 to 9029) in the corresponding parameter (230 to 239), the macro program can be called in the same way as with G65.
O9020 O9021 O9022 O9023 O9024 O9025 O9026 O9027 O9028 O9029
230 231 232 233 234 235 236 237 238 239
Program number Parameter number
As with a simple call, a number of repetitions from 1 to 9999 can be specified at address L.
As with a simple call, two types of argument specification are available: Argument specification I and argument specification II. The type of argument specification is determined automatically according to the addresses used.
– An M code used to call a macro program must be specified at the start of a block.
– In a macro called with a G code or in a program called as a subprogram with an M or T code, no macros can be called using an M code. An M code in such a macro or program is treated as an ordinary M code.
16.6.4 Macro Call Using an M Code
�� ��������
� Correspondence between parameter numbers and program numbers
� Repetition
� Argument specification
����������
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
326
By setting an M code number used to call a subprogram (macro program) in a parameter, the macro program can be called in the same way as with a subprogram call (M98).
O0001 ; : M03 ; : M30 ;
O9001 ; : : : M99 ;
Parameter 240 = 03
By setting an M code number from 1 to 255 used to call a subprogram in a parameter (240 to 242), the corresponding macro program (9001 to 9009) can be called in the same way as with M98.
O9001 O9002 O9003
240 241 242
Program number Parameter number
As with a simple call, a number of repetitions from 1 to 9999 can be specified at address L.
Argument specification is not allowed.
An M code in a macro program that has been called is treated as an ordinary M code.
In a macro called with a G code or in a program called with an M or T code, no subprograms can be called using an M code. An M code in such a macro or program is treated as an ordinary M code.
16.6.5 Subprogram Call Using an M Code
�� ��������
� Correspondence between parameter numbers and program numbers
� Repetition
� Argument specification
� M code
����������
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
327
By enabling subprograms (macro program) to be called with a T code in a parameter, a macro program can be called each time the T code is specified in the machining program.
O0001 ; : T23 ; : M30 ;
O9000 ; : : : M99 ;
Bit 5 of parameter 040 = 1
By setting bit 5 of parameter 040 to 1, the macro program O9000 can be called when a T code is specified in the machining program. A T code specified in a machining program is assigned to common variable #149.
In a macro called with a G code or in a program called with an M or T code, no subprograms can be called using a T code. A T code in such a macro or program is treated as an ordinary T code.
16.6.6 Subprogram Calls Using a T Code
�� ��������
� Call
����������
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
328
By using the subprogram call function that uses M codes, the cumulative usage time of each tool is measured.
� The cumulative usage time of each of tools T01 to T05 is measured. No measurement is made for tools with numbers greater than T05.
� The following variables are used to store the tool numbers and measured times:
#501
#502
#503
#504
#505
Cumulative usage time of tool number 1
Cumulative usage time of tool number 2
Cumulative usage time of tool number 3
Cumulative usage time of tool number 4
Cumulative usage time of tool number 5
� Usage time starts being counted when the M03 command is specified and stops when M05 is specified. System variable #3002 is used to measure the time during which the cycle start lamp is on. The time during which the machine is stopped by feed hold and single block stop operation is not counted, but the time used to change tools and pallets is included.
Set 3 in parameter 240, and set 05 in parameter 241.
Set 0 in variables #501 to #505.
     M30;
16.6.7 Sample Program
Conditions
Operation check
� Parameter setting
� Variable value setting
� Program that calls a macro program
ww w.
cn cc
en ter
.co m
B–61404E/08 16.
N9 M03; Rotates the spindle in the forward direction.
 M99;
Macro program (program called)
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
330
For smooth machining, the NC statement is preread to be performed next. This operation is referred to as buffering. In cutter compensation mode (G41, G42), the NC prereads NC statements two or three blocks ahead to find intersections. Macro statements for arithmetic expressions and conditional branches are processed as soon as they are read into the buffer. Blocks containing M00, M01, M02, or M30, blocks containing M codes for which buffering is suppressed by setting parameters 111 to 112, and blocks containing G31 are not preread.
N1 G31 X100.0 ; N2 #100=1 :
>
> :Block being executed
NC statement execution
Macro statement execution
Buffer
N1
N2
N1 X100.0 ;>
> : Block being executed � : Block read into the buffer
NC statement execution
Macro statement execution
Buffer
N1
N2 N3
N4
N2 #1=100 ; N3 #2=200 ; N4 Y200.0 ; :
N4
When N1 is being executed, the next NC statement (N4) is read into the buffer. The macro statements (N2, N3) between N1 and N4 are processed during execution of N1.
16.7 PROCESSING MACRO STATEMENTS
Explanations
� When the next block is not buffered (M codes that are not buffered, G31, etc.)
� Buffering the next block in other than cutter compensation mode (G41, G42) (normally prereading one block)
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
331
N1 G01 G41 G91 X50.0 Y30.0 F100 Dd ;>
> : Block being executed � : Blocks read into the buffer
NC statement execution
Macro statement execution
Buffer
N1
N2
N3
N2 #1=100 ; N3 X100.0 ; N4 #2=200 ; N5 Y50.0 ; :
N4
N5
N3
When N1 is being executed, the NC statements in the next two blocks (up to N5) are read into the buffer. The macro statements (N2, N4) between N1 and N5 are processed during execution of N1.
N1 G01 G41 X100.0 G100 Dd ;>
> : Block being executed � : Blocks read into the buffer
N1
N2
N3
N2 #1=100 ; N3 Y100.0 ; N4 #2=200 ; N5 M08 ; N6 #3=300 ; N7 X200.0 ; :
N4
N3
N5
N6
N7
NC statement execution
Macro statement execution
Buffer
When the NC1 block is being executed, the NC statements in the next two blocks (up to N5) are read into the buffer. Since N5 is a block that involves no movement, an intersection cannot be calculated. In this case, the NC statements in the next three blocks (up to N7) are read. The macro statements (N2, N4, and N6) between N1 and N7 are processed during execution of N1.
Custom macro programs are similar to subprograms. They can be registered and edited in the same way as subprograms. The storage capacity is determined by the total length of tape used to store both custom macros and subprograms.
� Buffering the next block in cutter compensation mode (G41, G42)
� When the next block involves no movement in cutter compensation C (G41, G42) mode
16.8 REGISTERING CUSTOM MACRO PROGRAMS
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
332
Macro call can be specified in automatic operation. During automatic operation, however, it is impossible to switch to the MDI mode for a macro program call. Macro call can also be specified in MDI operation B.
A custom macro program cannot be searched for a sequence number.
 A block containing a macro call command (G65, G66, or G67) does not stop even when the single block mode is on. Blocks containing arithmetic operation commands and control commands can be stopped in single block mode by setting (bit 5 of parameter 011) to 1. Single block stop operation is used for testing custom macro programs. Note that when a single block stop occurs at a macro statement in cutter compensation C mode, the statement is assumed to be a block that does not involve movement, and proper compensation cannot be performed in some cases. (Strictly speaking, the block is regarded as specifying a movement with a travel distance 0.)
A / appearing in the middle of an <expression> (enclosed in brackets [ ] on the right–hand side of an arithmetic expression) is regarded as a division operator; it is not regarded as the specifier for an optional block skip code.
Registered custom macro programs and subprograms should be protected from being destroyed by accident. By setting (bit 0 of parameter 389 #2) and (bit 4 of parameter 010) to 1, deletion and editing are disabled for custom macro programs and subprograms with program numbers 8000 to 8999 and 9000 to 9999. When the entire memory is cleared (by
pressing the RESET and DELET keys at the same time to turn on the power),
the contents of memory such as custom macro programs are deleted.
Local variables and common variables #100 to #199 are cleared to null values by a reset operation. They can be prevented from being cleared by setting, (bits 6 and 7 of parameter 040). System variables #1000 to #1133 are not cleared. A reset operation clears any called states of custom macro programs and subprograms, and any DO states, and returns control to the main program.
As with M98, the M and T codes used for subprogram calls are not displayed.
When a feed hold is enabled during execution of a macro statement, the machine stops after execution of the macro statement. The machine also stops when a reset or alarm occurs.
+0.0000001 to +99999999 –99999999 to –0.0000001 The number of significant digits is 8 (decimal). If this range is exceeded, alarm No. 003 occurs.
16.9 LIMITATIONS
� MDI operation
� Sequence number search
� Single block
� Optional block skip
� Operation in EDIT mode
� Reset
� Display of the PROGRAM RESTART page
� Feed hold
� Constant values that can be used in <expression>
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
333
In addition to the custom macro commands, the following macro commands are available. They are referred to as external output commands. – BPRNT – DPRNT – POPEN – PCLOS These commands are provided to output variable values and characters through the reader/punch interface.
Specify these commands in the following order:
Open command: POPEN Before specifying a sequence of data output commands, specify this command to establish a connection to an external input/output device.
Data output command: BPRNT or DPRNT Specify necessary data output.
Close command: PCLOS When all data output commands have completed, specify PCLOS to release a connection to an external input/output device.
POPEN POPEN establishes a connection to an external input/output device. It must be specified before a sequence of data output commands. The NC outputs a DC2 control code.
BPRNT [ a #b [ c ] … ]
Number of significant decimal places Variable
Character
The BPRNT command outputs characters and variable values in binary.
(i) Specified characters are converted to corresponding codes according to the setting (ISO) that is output at that time. Specifiable characters are as follows: – Letters (A to Z) – Numbers – Special characters ( * , /, +, –, etc.) An asterisk (*) is output by a space code.
(ii) All variables are stored with a decimal point. Specify a variable followed by the number of significant decimal places enclosed in brackets. A variable value is treated as 2–word (32–bit) data, including the decimal digits. It is output as binary data starting from the highest byte.
(iii) When specified data has been output, an EOB code is output according to the ISO code settings on the parameter screen.
(iv) Null variables are regarded as 0.
16.10 EXTERNAL OUTPUT COMMANDS
� ����� ����
� Open command POPEN
� Data output command BPRNT
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
334
LF 12 (0000000C) M –1638400(FFE70000)
Y
410 (0000019A) X Space C
BPRINT [ C** X#100 [3] Y#101 [3] M#10 [0] ] Variable value
#100=0.40596 #101=–1638.4 #10=12.34
DPRNT [ a #b [ c d ] … ]
Number of significant decimal places
Number of significant digits in the integer part
Variable
Character
The DPRNT command outputs characters and each digit in the value of a variable according to the code set in the settings (ISO).
(i) For an explanation of the DPRNT command, see Items (i), (iii), and (iv) for the BPRNT command.
(ii) When outputting a variable, specify # followed by the variable number, then specify the number of digits in the integer part and the number of decimal places enclosed in brackets. One code is output for each of the specified number of digits, starting with the highest digit. For each digit, a code is output according to the settings (ISO). The decimal point is also output using a code set in the settings (ISO). Each variable must be a numeric value consisting of up to eight digits. When high–order digits are zeros, these zeros are not output if (bit1 of parameter 040) is 1. If it is 0, a space code is output each time a zero is encountered. When the number of decimal places is not zero, digits in the decimal part are always output. If the number of decimal places is zero, no decimal point is output. When (bit 1 of parameter 040) is 0, a space code is output to indicate a positive number instead of +; if it is 1, no code is output.
Examples
� Data output command DPRNT
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
335
sp
DPRINT [ X#2 [53] Y#5 [53] T#30 [20] ] Variable value
#2=128.47398 #5=–91.2 #30=123.456
� Parameter (No.040#1)=0
L F
T
Y –
X
91.200
128.474
23
LF
T23
Y–91.200
X128.474
� Parameter (No.040#1)=1
sp sp sp
sp sp sp
PCLOS ; The PCLOS command releases a connection to an external input/output device. Specify this command when all data output commands have terminated. DC4 control code is output from the CNC.
Specify the channel use for parameter. According to the specification of this parameter, set data items (such as the baud rate) for the reader/punch interface. The remote buffer cannot be specified. Specify that the reader/punch interface is used as the output device for punching. (Never specify output to the FANUC CASSETTE or floppy disks.) To indicate the end of a line of data in ISO code, specify whether to use only an LF (bit 4 of parameter 057 is 0) or an LF and CR (bit 4 of parameter 057 is 1).
Examples
� Close command PCLOS
� Required settingww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
336
NOTE 1 It is not necessary to always specify the open command
(POPEN), data output command (BPRNT, DPRNT), and close command (PCLOS) together. Once an open command is specified at the beginning of a program, it does not need to be specified again except after a close command was specified.
2 Be sure to specify open commands and close commands in pairs. Specify the close command at the end of the program. However, do not specify a close command if no open command has been specified.
3 When a reset operation is performed while commands are being output by a data output command, output is stopped and subsequent data is erased. Therefore, when a reset operation is performed by a code such as M30 at the end of a program that performs data output, specify a close command at the end of the program so that processing such as M30 is not performed until all data is output.
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
337
When a program is being executed, another program can be called by inputting an interrupt signal (UINT) from the machine. This function is referred to as an interruption type custom macro function. Program an interrupt command in the following format:
M96 P���� ;
M97 ;
Enables custom macro interrupt
Disables custom macro interrupt
Use of the interruption type custom macro function allows the user to call a program during execution of an arbitrary block of another program. This allows programs to be operated to match situations which vary from time to time.
(1)When a tool abnormality is detected, processing to handle the abnormality is started by an external signal.
(2)A sequence of machining operations is interrupted by another machining operation without the cancellation of the current operation.
(3)At regular intervals, information on current machining is read. Listed above are examples like adaptive control applications of the interruption type custom macro function.
Interrupt signal (UINT)*
Interrupt signal (UINT)
Interrupt signal (UINT)*
M96 Pxxxx;
N����;
M97 ;
M99 (P����);
O xxxx;
Fig.16.11 Interruption type sustom macro function
When M96Pxxxx is specified in a program, subsequent program operation can be interrupted by an interrupt signal (UINT) input to execute the program specified by Pxxxx. When the interrupt signal (UINT, marked by * in Fig. 16.11 is input during execution of the interrupt program or after M97 is specified, it is ignored.
16.11 INTERRUPTION TYPE CUSTOM MACRO
�� ���
� ���������
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
338
A custom macro interrupt is available only during program execution. It is enabled under the following conditions – When memory operation or MDI operation B is selected – When STL (start lamp) is on – When a custom macro interrupt is not currently being processed
Generally, the custom macro interrupt function is used by specifying M96 to enable the interrupt signal (UINT) and M97 to disable the signal. Once M96 is specified, a custom macro interrupt can be initiated by the input of the interrupt signal (UINT) until M97 is specified or the NC is reset. After M97 is specified or the NC is reset, no custom macro interrupts are initiated even when the interrupt signal (UINT) is input. The interrupt signal (UINT) is ignored until another M96 command is specified.
1 0
M96 M97 M96
Interrupt signal (UINT)
Effective interrupt input signal
When UINT is kept on
The interrupt signal (UINT) becomes valid after M96 is specified. Even when the signal is input in M97 mode, it is ignored. When the signal input in M97 mode is kept on until M96 is specified, a custom macro interrupt is initiated as soon as M96 is specified (only when the status–triggered scheme is employed); when the edge–triggered scheme is employed, the custom macro interrupt is not initiated even when M96 is specified.
NOTE For the status–triggered and edge–triggered schemes, see Item “Custom macro interrupt signal (UINT)” of Subsec. 16.11.2.
16.11.1 Specification Method
� ����� ����
� Interrupt conditions
� Specification
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
339
There are two types of custom macro interrupts: Subprogram–type interrupts and macro–type interrupts. The interrupt type used is selected by (bit 5 of parameter 056).
(a)Subprogram–type interrupt An interrupt program is called as a subprogram. This means that the levels of local variables remain unchanged before and after the interrupt. This interrupt is not included in the nesting level of subprogram calls.
(b)Macro–type interrupt An interrupt program is called as a custom macro. This means that the levels of local variables change before and after the interrupt. The interrupt is not included in the nesting level of custom macro calls. When a subprogram call or a custom macro call is performed within the interrupt program, this call is included in the nesting level of subprogram calls or custom macro calls. Arguments cannot be passed from the current program even when the custom macro interrupt is a macro–type interrupt.
In general, custom macro interrupts are controlled by M96 and M97. However, these M codes, may already being used for other purposes (such as an M function or macro M code call) by some machine tool builders. For this reason, (bit 4 of parameter 056) is provided to set M codes for custom macro interrupt control. When specifying this parameter to use the custom macro interrupt control M codes set by parameters, set parameters 246 and 247 as follows: Set the M code to enable custom macro interrupts in parameter 246, and set the M code to disable custom macro interrupts in parameter 247. When specifying that parameter–set M codes are not used, M96 and M97 are used as the custom macro control M codes regardless of the settings of parameters 246 and 247. The M codes used for custom macro interrupt control are processed internally (they are not output to external units). However, in terms of program compatibility, it is undesirable to use M codes other than M96 and M97 to control custom macro interrupts.
When performing a custom macro interrupt, the user may want to interrupt the NC statement being executed, or the user may not want to perform the interrupt until the execution of the current block is completed. (bit 2 of parameter 056)is used to select whether to perform interrupts even in the middle of a block or to wait until the end of the block.
16.11.2 Details of Functions
� ����� ����
� Subprogram–type interrupt and macro–type interrupt
� M codes for custom macro interrupt control
� Custom macro interrupts and NC statementsww
w. cn
cc en
ter .co
m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
340
(i) When the interrupt signal (UINT) is input, any movement or dwell being performed is stopped immediately and the interrupt program is executed.
(ii) If there are NC statements in the interrupt program, the command in the interrupted block is lost and the NC statement in the interrupt program is executed. When control is returned to the interrupted program, the program is restarted from the next block after the interrupted block.
(iii) If there are no NC statements in the interrupt program, control is returned to the interrupted program by M99, then the program is restarted from the command in the interrupted block.
ÇÇÇÇ ÇÇÇÇ ÇÇÇÇ
Execution in progress
Normal program
Interrupted by macro interrupt
Execution in progress
Interrupt signal (UINT) input
CNC command restart; when there are no NC statements in the interrupt program
Custom macro interrupt
(i) If the block being executed is not a block that consists of several cycle operations such as a drilling canned cycle and automatic reference position return (G28), an interrupt is performed as follows: When an interrupt signal (UINT) is input, macro statements in the interrupt program are executed immediately unless an NC statement is encountered in the interrupt program. NC statements are not executed until the current block is completed.
(ii) If the block being executed consists of several cycle operations, an interrupt is performed as follows: When the last movement in the cycle operations is started, macro statements in the interrupt program are executed unless an NC statement is encountered. NC statements are executed after all cycle operations are completed.
ÇÇÇ ÇÇÇ
Execution in progress
Normal program
Execution in progress
Interrupt signal (UINT) input
Custom macro interrupt
NC statement in the interrupt program
Type I (when an interrupt is performed even in the middle of a block)
Type II (when an interrupt is performed at the end of the block)
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
341
The interrupt signal becomes valid after execution starts of a block that contains M96 for enabling custom macro interrupts. The signal becomes invalid when execution starts of a block that contains M97. While an interrupt program is being executed, the interrupt signal becomes invalid. The signal become valid when the execution of the block that immediately follows the interrupted block in the main program is started after control returns from the interrupt program. In type I, if the interrupt program consists of only macro statements, the interrupt signal becomes valid when execution of the interrupted block is started after control returns from the interrupt program.
Even when cycle operation is in progress, movement is interrupted, and the interrupt program is executed. If the interrupt program contains no NC statements, the cycle operation is restarted after control is returned to the interrupted program. If there are NC statements, the remaining operations in the interrupted cycle are discarded, and the next block is executed.
When the last movement of the cycle operation is started, macro statements in the interrupt program are executed unless an NC statement is encountered. NC statements are executed after cycle operation is completed.
� Conditions for enabling and disabling the custom macro interrupt signal
� Custom macro interrupt during execution of a block that involves cycle operation
For type I
For type II
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
342
There are two schemes for custom macro interrupt signal (UINT) input: The status–triggered scheme and edge– triggered scheme. When the status–triggered scheme is used, the signal is valid when it is on. When the edge triggered scheme is used, the signal becomes valid on the rising edge when it switches from off to on status. One of the two schemes is selected with (bit 3 of parameter 056). When the status–triggered scheme is selected by this parameter, a custom macro interrupt is generated if the interrupt signal (UINT) is on at the time the signal becomes valid. By keeping the interrupt signal (UINT) on, the interrupt program can be executed repeatedly. When the edge–triggered scheme is selected, the interrupt signal (UINT) becomes valid only on its rising edge. Therefore, the interrupt program is executed only momentarily (in cases when the program consists of only macro statements). When the status–triggered scheme is inappropriate, or when a custom macro interrupt is to be performed just once for the entire program (in this case, the interrupt signal may be kept on), the edge–triggered scheme is useful. Except for the specific applications mentioned above, use of either scheme results in the same effects. The time from signal input until a custom macro interrupt is executed does not vary between the two schemes.
1
0
Interrupt signal (UINT)
Interrupt execution
Interrupt execution
Interrupt execution
Interrupt execution
Interrupt execution
Status–triggered scheme
Edge–triggered scheme
In the above example, an interrupt is executed four times when the status triggered scheme is used; when the edge– triggered scheme is used, the interrupt is executed just once.
� Custom macro interrupt signal (UINT)
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
343
To return control from a custom macro interrupt to the interrupted program, specify M99. A sequence number in the interrupted program can also be specified using address P. If this is specified, the program is searched from the beginning for the specified sequence number. Control is returned to the first sequence number found. When a custom macro interrupt program is being executed, no interrupts are generated. To enable another interrupt, execute M99. When M99 is specified alone, it is executed before the preceding commands terminate. Therefore, a custom macro interrupt is enabled for the last command of the interrupt program. If this is inconvenient, custom macro interrupts should be controlled by specifying M96 and M97 in the program. When a custom macro interrupt is being executed, no other custom macro interrupts are generated; when an interrupt is generated, additional interrupts are inhibited automatically. Executing M99 makes it possible for another custom macro interrupt to occur. M99 specified alone in a block is executed before the previous block terminates. In the following example, an interrupt is enabled for the Gxx block of O1234. When the signal is input, O1234 is executed again. O5678 is controlled by M96 and M97. In this case, an interrupt is not enabled for O5678 (enabled after control is returned to O1000).
M99;
GxxXxxx;
O1234
O1000;
M96P1234;
M96P5678
M97
O5678
GxxXxxx;
M96;
M99;
M97
X
Interrupt
Interrupt
Interrupt
Interrupt
� Return from a custom macro interrupt
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0816. CUSTOM MACRO B
344
NOTE When an M99 block consists only of address O, N, P, L, or M, this block is regarded as belonging to the previous block in the program. Therefore, a single–block stop does not occur for this block. In terms of programming, the following � and � are basically the same. (The difference is whether G�� is executed before M99 is recognized.)
G�� X��� ; M99 ; G�� X��� M99 ;�
�
A custom macro interrupt is different from a normal program call. It is initiated by an interrupt signal (UINT) during program execution. In general, any modifications of modal information made by the interrupt program should not affect the interrupted program. For this reason, even when modal information is modified by the interrupt program, the modal information before the interrupt is restored when control is returned to the interrupted program by M99. When control is returned from the interrupt program to the interrupted program by M99 Pxxxx, modal information can again be controlled by the program. In this case, the new continuous information modified by the interrupt program is passed to the interrupted program. Restoration of the old modal information present before the interrupt is not desirable. This is because after control is returned, some programs may operate differently depending on the modal information present before the interrupt. In this case, the following measures are applicable:
� The interrupt program provides modal information to be used after control is returned to the interrupted program.
� After control is returned to the interrupted program, modal information is specified again as necessary.
O∆∆∆∆
M96Pxxx
N����;
M99(P����);
Oxxx;
Interrupt signal (UINT)
(Without P specification) Modify modal information
Modal information remains unchanged before and after the interrupt.
(With P specification)
The new modal information modified by the interrupt program is present.
� Custom macro interrupt and modal information
ww w.
cn cc
en ter
.co m
B–61404E/08 16. CUSTOM MACRO BPROGRAMMING
345
The modal information present before the interrupt becomes valid. The new modal information modified by the interrupt program is made invalid.
The new modal information modified by the interrupt program remains valid even after control is returned. The old modal information which was valid in the interrupted block can be read using custom macro system variables #4001 to #4120. Note that when modal information is modified by the interrupt program, system variables #4001 to #4120 are not changed.
� The coordinates of point A can be read using system variables #5001 and up until the first NC statement is encountered.
� The coordinates of point A’ can be read after an NC statement with no move specifications appears.
� The machine coordinates and workpiece coordinates of point B’ can be read using system variables #5021 and up and #5041 and up.
B’
B
A’
A
Interrupt generated Tool center path
Offset vector
Programmed tool path
When the interrupt signal (UINT) is input and an interrupt program is called, the custom macro modal call is canceled (G67). However, when G66 is specified in the interrupt program, the custom macro modal call becomes valid. When control is returned from the interrupt program by M99, the modal call is restored to the state it was in before the interrupt was generated. When control is returned by M99Pxxxx;, the modal call in the interrupt program remains valid.
When the interrupt signal (UINT) is input while a return operation is being performed in the dry run mode after the search operation for program restart, the interrupt program is called after restart operation terminates for all axes. This means that interrupt type II is used regardless of the parameter setting.
Modal information when control is returned by M99
Modal information when control is returned by M99 P����
� System variables (position information values) for the interrupt program
� Custom macro interrupt and custom macro modal call
� Custom macro interrupt and program restart
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0817. PATTERN DATA INPUT FUNCTION
346
17 PATTERN DATA INPUT FUNCTION This function enables users to perform programming simply by extracting numeric data (pattern data) from a drawing and specifying the numerical values from the CRT/MDI panel. This eliminates the need for programming using an existing NC language.
With the aid of this function, a machine tool builder can prepare the program of a hole machining cycle (such as a boring cycle or tapping cycle) using the custom macro function, and can store it into the program memory. This cycle is assigned pattern names, such as BOR1, TAP3, and DRL2.
An operator can select a pattern from the menu of pattern names displayed on the screen. Data (pattern data) which is to be specified by the operator should be created in advance with variables in a drilling cycle. The operator can identify these variables using names such as DEPTH, RETURN RELIEF, FEED, MATERIAL or other pattern data names. The operator assigns values (pattern data) to these names.
ww w.
cn cc
en ter
.co m
B–61404E/08 17. PATTERN DATA INPUT FUNCTIONPROGRAMMING
347
Pressing the MENU OFSET key and the soft key [MENU] is displayed on the
following pattern menu screen.
1. BOLT HOLE 2. GRID 3. LINE ANGLE 4. TAPPING 5. DRILLING 6. BORING 7. POCKET 8. PECK 9. TEST PATRN 10. BACK
MENU : HOLE PATTERN O0000 N00000
SELECT = S 0 T 10:01:29 MDI [ OFFSET ] [ MACRO ] [ MENU ] [ ] [ ]
HOLE PATTERN : This is the menu title. An arbitrary character string consisting of up to 12 characters can be specified.
BOLT HOLE : This is the pattern name. An arbitrary character string consisting of up to 10 characters can be specified, including katakana.
The machine tool builder should specify the character strings for the menu title and pattern name using the custom macro, and load the character strings into program memory as a subprogram of program No. 9500.
17.1 DISPLAYING THE PATTERN MENU
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0817. PATTERN DATA INPUT FUNCTION
348
Menu title : C1 C2 C3 C4 C5 C6 C7 C8 C9C10 C11 C12 C1,C2, ,C12 : Characters in the menu title (12 characters). . Macro instruction G65 H90 Pp Qq Rr Ii Jj Kk : H90:Specifies the menu title
p : Assume a1 and a2 to be the codes of characters C1 and C2. Then,
P��� ���
Code a2 of character C2
Code a1 of character C1
q : Assume a3 and a4 to be the codes of characters C3 and C4. Then, q=a3103+a4
r : Assume a5 and a6 to be the codes of characters C5 and C6. Then, r=a5103+a6
i : Assume a7 and a8 to be the codes of characters C7 and C8. Then, i=a7103+a8
j : Assume a9 and a10 to be the codes of characters C9 and C10. Then, j=a9103+a10
k : Assume a11 and a12 to be the codes of characters C11 and C12.Then, k=a11103+a12
Example) If the title of the menu is “HOLE PATTERN” then the macro instruction is as follows:
G65 H90 P072079 Q076069 R032080 HO LE P
I065084 J084069 K082078; AT TE RN
For codes corresponding to these characters, refer to the table in 17.3.
� Macro commands specifying the menu title
ww w.
cn cc
en ter
.co m
B–61404E/08 17. PATTERN DATA INPUT FUNCTIONPROGRAMMING
349
Pattern name: C1 C2 C3 C4 C5 C6 C7 C8 C9C10 C1, C2, ,C10: Characters in the pattern name (10 characters). . . Macro instruction G65 H91 Pn Qq Rr Ii Jj Kk ; H91: Specifies the menu title
n : Specifies the menu No. of the pattern name n=1 to 10
q : Assume a1 and a2 to be the codes of characters C1 and C2. Then, q=a1�103+a2
r : Assume a3 and a4 to be the codes of characters C3 and C4. Then, r=a3�103+a4
i : Assume a5 and a6 to be the codes of characters C5 and C6. Then, i=a5�103+a6
j : Assume a7 and a8 to be the codes of characters C7 and C8. Then, j=a7�103+a8
k : Assume a9 and a10 to be the codes of characters C9 and C10. Then, k=a9�103+a10
Example) If the pattern name of menu No. 1 is “BOLT HOLE” then the macro instruction is as follows.
G65 H91 P1 Q066079 R076084 I032072 J079076 K069032 ; BO LT H OL E
To select a pattern from the pattern menu screen, enter the corresponding pattern No. The following is an example.
1 INPUT
The selected pattern No. is assigned to system variable #5900. The custom macro of the selected pattern can be started by starting a fixed program (external program No. search) with an external signal then referring to the system variable #5900 in the program.
NOTE If each characters of P, Q, R, I, J, and K are not specified in a macro instruction, two spaces are assigned to each omitted character.
� ����� ������� ��
��� � �� �� ���� ��
���
� ���� �� ��� � � �� ��
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0817. PATTERN DATA INPUT FUNCTION
350
Custom macros for the menu title and hole pattern names.
1. BOLT HOLE 2. GRID 3. LINE ANGLE 4. TAPPING 5. DRILLING 6. BORING 7. POCKET 8. PECK 9. TEST PATRN 10. BACK
MENU : HOLE PATTERN O0000 N00000
SELECT = S 0 T 10:01:29 MDI [ OFFSET ] [ MACRO ] [ MENU ] [ ] [ ]
O9500 ;
N1G65 H90 P072 079 Q076 069 R032 080 I 065 084 J 084 069 K082 078; HOLE PATTERN
N2G65 H91 P1 Q066 079 R076 084 I 032 072 J 079 076 K069 032 ; 1.BOLT HOLE
N3G65 H91 P2 Q071 082 R073 068 ; 2.GRID
N4G65 H91 P3 Q076 073 R078 069 I 032 065 J 078071 K076069 3.LINE ANGLE
N5G65 H91 P4 Q084 065 R080 080 I 073 078 J 071 032 ; 4.TAPPING
N6G65 H91 P5 Q068 082 R073 076 I 076 073 J 078 071 ; 5.DRILLING
N7G65 H91 P6 Q066079 R082073 I 078 071 ; 6.BORING
N8G65 H91 P7 Q080 079 R067 075 I 069 084 ; 7.POCKET
N9G65 H91 P8 Q080069 R067075 ; 8.PECK
N10G65 H91 P9 Q084 069 R083 084 I032 080 J065 084 K082 078 ; 9.TEST PATRN
N11G65 H91 P10 Q066 065 R067 0750 ; 10.BACK
N12M99 ;
�������
ww w.
cn cc
en ter
.co m
B–61404E/08 17. PATTERN DATA INPUT FUNCTIONPROGRAMMING
351
When a pattern menu is selected, the necessary pattern data is displayed.
NO. NAME DATA COMMENT 500 TOOL 0 501 KIJUN X 0 *BOLT HOLE 502 KIJUN Y 0 CIRCLE* 503 RADIUS 0 SET PATTERN 504 S. ANGL 0 DATA TO VAR. 505 HOLES NO 0 NO.500–505. 506 0 507 0
ACTUAL POSITION (RELATIVE) X 0.000 Y 0.000 Z 0.000
VAR. : BOLT HOLE O9501 N0014
NO. 500 = S 0 T
10:00:48
[ OFFSET ] [ MACRO ] [ MENU ] [ ] [ ]
––
BOLT HOLE : This is the pattern data title. A character string consisting of up to 12 characters can be set.
TOOL : This is the variable name. A character string consisting of up to 10 characters can be set.
*BOLT HOLE CIRCLE* : This is a comment statement. A character string
can be displayed consisting of up to 8 lines, 12 characters per line.
(It is permissible to use katakana in a character string or line.) The machine tool builder should program the character strings of pattern data title, pattern name, and variable name using the custom macro, and load them into the program memory as a subprogram whose No. is 9500 plus the pattern No. (O9501 to O9510).
17.2 PATTERN DATA DISPLAY
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0817. PATTERN DATA INPUT FUNCTION
352
Menu title : C1 C2 C3 C4 C5 C6 C7 C8 C9C10C11C12 C1 ,C2,…, C12 : Characters in the menu title (12 characters) Macro instruction G65 H92 Pn Qq Rr Ii Jj Kk ; H92 : Specifies the pattern name p : Assume a1 and a2 to be the codes of characters C1 and C2. Then,
p=a1�103+a2 See 17.3 for character codes.
q : Assume a3 and a4 to be the codes of characters C3 and C4. Then, q=a3�103+a4
r : Assume a5 and a6 to be the codes of characters C5 and C6. Then, r=a5�103+a6
i : Assume a7 and a8 to be the codes of characters C7 and C8. Then, i=a7�103+a8
j : Assume a9 and a10 to be the codes of characters C9 and C10. Then, j=a9�103+a10
k : Assume a11 and a12 to be the codes of characters C11 and C12. Then, k=a11�103+a12
Example) Assume that the pattern data title is ”BOLT HOLE.”The macro instruction is given as follows:
G65 H92 P066079 Q076084 R032072 I079076 J069032; BO LT H OL E
Variable name : C1 C2 C3 C4 C5 C6 C7 C8 C9C10 C1, C2,…, C10 : Characters in the variable name (10 characters) Macro instruction G65 H93 Pn Qq Rr Ii Jj Kk ; H93 : Specifies the variable name n : Specifies the menu No. of the variable name
n=1 to 10 q : Assume a1 and a2 to be the codes of characters C1 and C2. Then,
q=a1�103+a2 r : Assume a3 and a4 to be the codes of characters C3 and C4. Then,
r=a3�103+a4 i : Assume a5 and a6 to be the codes of characters C5 and C6. Then,
i=a5�103+a6 j : Assume a7 and a8 to be the codes of characters C7 and C8. Then,
j=a7�103+a8 k : Assume a9 and a10 to be the codes of characters C9 and C10. Then,
k=a9�103a+a10 Example) Assume that the variable name of the variable No. 503 is
“RADIUS.” The macro instruction is given as follows:
G65 H93 P503 Q082065 R068073 I085083 ; RA DI US
NOTE Variable names can be assigned to 32 common variables #500 to #531, which are not cleared when the power is turned off.
� Macro instruction specifying the pattern data title (the menu title)
� Macro instruction specifying the variable name
ww w.
cn cc
en ter
.co m
B–61404E/08 17. PATTERN DATA INPUT FUNCTIONPROGRAMMING
353
One comment line: C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C1, C2,…, C12 : Character string in one comment line (12 characters) Macro instruction G65 H94 Pn Qq Rr Ii Jj Kk ; H94 : Specifies the comment
p : Assume a1 and a2 to be the codes of characters C1 and C2. Then, p=a1�103+a2 See 17.7 for character codes.
q : Assume a3 and a4 to be the codes of characters C3 and C4. Then, q=a3�103+a4
r : Assume a5 and a6 to be the codes of characters C5 and C6. Then, r=a5�103+a6
i : Assume a7 and a8 to be the codes of characters C7 and C8. Then, i=a7�103+a8
j : Assume a9 and a10 to be the codes of characters C9 and C10. Then, j=a9�103+a10
k : Assume a11 and a12 to be the codes of characters C11 and C12. Then, k=a11�103+a12
A comment can be displayed in up to eight lines. The comment consists of the first line to the eighth line in the programmed sequence of G65 H94 for each line.
Example) Assume that the comment is “BOLT HOLE.” The macro instruction is given as follows:
G65 H94 P042066 Q079076 R084032 I072079 J076069; *B OL T HO LE
� Macro instruction to describe a comment
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0817. PATTERN DATA INPUT FUNCTION
354
Macro instruction to describe a parameter title , the variable name, and a comment.
NO. NAME DATA COMMENT 500 TOOL 0 501 KIJUN X 0 *BOLT HOLE 502 KIJUN Y 0 CIRCLE* 503 RADIUS 0 SET PATTERN 504 S. ANGL 0 DATA TO VAR. 505 HOLES NO 0 NO.500–505. 506 0 507 0
ACTUAL POSITION (RELATIVE) X 0.000 Y 0.000 Z 0.000
VAR. : BOLT HOLE O9501 N0014
NO. 500 = S 0 T
10:00:48
[ OFFSET ] [ MACRO ] [ MENU ] [ ] [ ]
––
O9501 ;
N1G65 H92 P066 079 Q076 084 R032 072 I 079 076 J069 032; VAR:BOLT HOLE
N2G65 H93 P500 Q084 079 R079076; #500 TOOL
N3G65 H93 P501 Q075 073 R074 085 I078 032 J088 032 ; #501 KIJUN X
N4G65 H93 P502 Q075 073 R074 085 I 078 032 J089 032 ; #502 KIJUN Y
N5G65 H93 P503 Q082 065 R068 073 I 085 083 ; #503 RADIUS
N6G65 H93 P504 Q083 046 R032 065 I 078 071 J 076 032; #504 S.ANGL
N7G65 H93 P505 Q072 079 R076 069 I 083 032 J078 079 K046 032 ; #505 HOLES NO
N8G65 H94; Comment
N9G65 H94 P042 066 Q079 076 R084 032 I072 079 J076 069 ; *BOLT HOLE
N10G65 H94 R032 067 I073 082 J067 076 K069 042 ; CIRCLE*
N11G65 H94 P083 069 Q084 032 080 065 I084 084 J069 082 K078 032 ; SET PATTERN
N12G65 H94 P068 065 Q084 065 R032 084 I079 032 J086 065 K082046 ; DATA NO VAR.
N13G65 H94 P078 079 Q046 053 R048 048 I045 053 J048 053 K046 032 ; No.500–505
N14M99 ;
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 17. PATTERN DATA INPUT FUNCTIONPROGRAMMING
355
Table. 17.3(a) Characters and codes to be used for the pattern data input function
Char- acter
Code Comment Char- acter
Code Comment
A 065 6 054
B 066 7 055
C 067 8 056
D 068 9 057
E 069 032 Space
F 070 ! 033 Exclamation mark
G 071 ” 034 Quotation mark
H 072 # 035 Hash sign
I 073 $ 036 Dollar sign
J 074 % 037 Percent
K 075 & 038 Ampersand
L 076 ’ 039 Apostrophe
M 077 ( 040 Left parenthesis
N 078 ) 041 Right parenthesis
O 079 � 042 Asterisk
P 080 + 043 Plus sign
Q 081 , 044 Comma
R 082 – 045 Minus sign
S 083 . 046 Period
T 084 / 047 Slash
U 085 : 058 Colon
V 086 ; 059 Semicolon
W 087 < 060 Left angle bracket
X 088 = 061 Equal sign
Y 089 > 062 Right angle bracket
Z 090 ? 063 Question mark
0 048 @ 064 “At”mark
1 049 [ 091 Left square bracket
2 050 ^ 092
3 051 ¥ 093 Yen sign
4 052 ] 094 Right squar bracket
5 053 _ 095 Underscore
17.3 CHARACTERS AND CODES TO BE USED FOR THE PATTERN DATA INPUT FUNCTION
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0817. PATTERN DATA INPUT FUNCTION
356
Table 17.3 (b) Numbers of subprograms employed in the pattern data input function
Subprogram No. Function
O9500 Specifies character strings displayed on the pattern data menu.
O9501 Specifies a character string of the pattern data corresponding to pattern No.1
O9502 Specifies a character string of the pattern data corresponding to pattern No.2
O9503 Specifies a character string of the pattern data corresponding to pattern No.3
O9504 Specifies a character string of the pattern data corresponding to pattern No.4
O9505 Specifies a character string of the pattern data corresponding to pattern No.5
O9506 Specifies a character string of the pattern data corresponding to pattern No.6
O9507 Specifies a character string of the pattern data corresponding to pattern No.7
O9508 Specifies a character string of the pattern data corresponding to pattern No.8
O9509 Specifies a character string of the pattern data corresponding to pattern No.9
O9510 Specifies a character string of the pattern data corresponding to pattern No.10
Table. 17.3 (c) Macro instructions used in the pattern data input function
G code H code Function
G65 H90 Specifies the menu title.
G65 H91 Specifies the pattern name.
G65 H92 Specifies the pattern data title.
G65 G93 Specifies the variable name.
G65 H94 Specifies the comment.
Table. 17.3 (d) System variables employed in the pattern data input function
System variable Function
#5900 Pattern No. selected by user.
ww w.
cn cc
en ter
.co m
B–61404E/08 18. PROGRAMMABLE PARAMETER
ENTRY (G10)PROGRAMMING
357
18 PROGRAMMABLE PARAMETER ENTRY (G10) The values of parameters can be entered in a lprogram. This function is used for setting pitch error compensation data when attachments are changed or the maximum cutting feedrate or cutting time constants are changed to meet changing machining conditions.
General
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/08 18. PROGRAMMABLE PARAMETER
ENTRY (G10)
358
G10L50; Parameter entry mode setting N_P_;
G11; Parameter entry mode cancel
N_: Parameter No. (4digids) or data No. for pitch errors compensation P_: Parameter setting value (Leading zeros can be omitted.)
Meaning of command
Format
Can not use a decimal point in a value set in a parameter (P_). a decimal point cannot be used in a custom macro variable for P_ either.
WARNING 1 Do not fail to perform reference point return manually after
changing the pitch error compensation data or backlash compensation data. Without this, the machine position can deviate from the correct position.
2 The canned–cycle mode must be cancelled before entering of parameters.
NOTE Other NC statements cannot be specified while in parameter input mode.
G10L50 ; Parameter entry mode N500 P50 ; G11 ; cancel parameter entry mode
To change the length of the effective area (in–position) along the X–axis
Format
Explanations
� Parameter setting value (P_)
Examples
ww w.
cn cc
en ter
.co m
B–61404E/08 19. MEMORY OPERATION USING Series
10/11 TAPE FORMATPROGRAMMING
359
19 MEMORY OPERATION USING Series 10/11 TAPE FORMAT Memory operation of the program registered by Series 10/11 tape format is possible with setting of the setting parameter (TAPEF).
Data formats for cutter compensation, subprogram calling, and canned cycles are different between the Series 0 and Series 10/11. The Series 10/11 data formats can be processed for memory operation.Other data formats must comply with the Series 0.When a value out of the specified range for the Series 0 is registered, an alarm occurs. Functions not available in the Series 0 cannot be registered or used for memory operation.
Offset numbers are specified by address D in the Series 10/11. When an offset number is specified by address D, the modal value specified by address H is replaced with the offset number specified by address D.
If a subprogram number of more than four digits is specified, the four low–order digits are regarded as the subprogram number. If no repeat count is specified, 1 is assumed.
Table 19 (a) Subprogram call data format
CNC Data format
Series 10/11 M98 P����� L���� ; P : Subprogram number L : Repetition count
Series 0 M98 P��� ���� ;
Repetition count Subprogram number
The Series 10/11 and Series 0 use different addresses for the repeat count for canned cycles as listed in Table 19 (b).
Table 19 (b) Address for times of repetition of canned cycle
CNC Address
Series 10/11 L
Series 0 K
General
Explanations
� Address for the cutter compensation offset number
� Subprogram call
� Address for the canned cycle repetition count
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0820. HIGH SPEED CYCLE CUTTING
360
20 HIGH SPEED CYCLE CUTTING This function can convert the machining profile to a data group that can be distributed as pulses at high–speed by the macro compiler or macro executor. The function can also call and execute the data group as a machining cycle using the CNC command (G05 command).
G05 P10��� L��� ;
P10��� is number of the machining cycle to be called first: P10001 to P10999 L��� is repetition count of the machining cycle (L1 applies when this parameter is omitted.) : L1 to L999
Call and execute the data for the high speed cutting cycle specified by the macro compiler and macro executor using the above command. Cycle data can be prepared for up to 999 cycles. Select the machining cycle by address P. More than one cycle can be called and executed in series using the cycle connection data in the header. Specify the repetition count of the called machining cycle by address L. The repetition count in the header can be specified for each cycle. The connection of cycles and their repetition count are explained below with an example.
Example) Assume the following: Cycle 1 Cycle connection data 2 Repetition count 1 Cycle 2 Cycle connection data 3 Repetition count 3 Cycle 3 Cycle connection data 0 Repetition count 1 G05 P10001 L2 ; The following cycles are executed in sequence: Cycles 1, 2, 2, 2, 3, 1, 2, 2, 2, and3
General
Format
ww w.
cn cc
en ter
.co m
B–61404E/08 20. HIGH SPEED CYCLE CUTTINGPROGRAMMING
361
Four axes maximum (Four axes can be controlled simultaneously.).
Set the number of pulses per cycle in parameter 055 #4 to #6 as a macro variable (#20000 to #85535) for high speed cycle cutting using the macro compiler and macro executor. The unit for the number of pulses is the least input increment.
20.1 NUMBER OF CONTROL AXES
20.2 PULSE DISTRIBUTION
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0820. HIGH SPEED CYCLE CUTTING
362
Data for the high speed cycle cutting is assigned to variables (#20000 to #85535) for the high speed cycle cutting by the macro compiler and macro executor.
Configuration of the high speed cutting cycle data
Number of registered cycles
Header of cycle 1
Header of cycle 2
#20000
#20001
#20017
#20033 Header of cycle 3
Data group of cycle 1
Data group of cycle 2
Data group of cycle 3
Specify the number of cycles (number of headers) of high–speed machining cycle data. Values from 1 to 999 can be specified.
The header for high–speed cycle machining data has the following configuration:
Total number of fixed data items for the 4th axis
Cycle repetition count#20001/20017/20033..
Cycle connection data#20002/20018/20034..
Number of data items#20003/20019/20035..
Data type#20004/20020/20036..
Variable assigned to the 1st axis data#20005/20021/20037..
#20006/20022/20038..
#20007/20023/20039..
#20008/20024/20040..
#20009/20025/20041..
#20010/20026/20042..
#20011/20027/20043..
#20012/20028/20044..
#20013/20029/20045..
#20014/20030/20046..
#20015/20031/20047..
Header configuration
#20016/20032/20048..
Variable assigned to the 2nd axis data
Variable assigned to the 3rd axis data
Variable assigned to the 4th axis data
Total number of fixed data items for the 1st axis
Total number of fixed data items for the 2nd axis
Total number of fixed data items for the 3rd axis
20.3 CONFIGURATION OF HIGH SPEED CYCLE CUTTING DATA
20.3.1 Number of Registered Cycles
20.3.2 Header
ww w.
cn cc
en ter
.co m
B–61404E/08 20. HIGH SPEED CYCLE CUTTINGPROGRAMMING
363
Specify the repetition count for this cycle. Values from 0 to 32767 can be specified. When 0 or 1 is specified, the cycle is executed once.
Specify the number (1 to 999) of the cycle to be executed after this cycle. When no connection cycle exists because of the last cycle, specify 0.
Specify the number of data items per cycle. Valid values are from 1 to 32767. When a fixed data item is specified, the fixed data is repeated for the specified number of times in one cycle.
– – – –r4 r3 r2 r1 t4 t3 t2 t1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
– – – –
The bits from t1 to t4, corresponding to the 1st to 4th axes, have the following meanings: 0: Distribution data is always constant. 1: Distribution data is variable or fixed. When the distribution data is variable or fixed, the bits from r1 to r4, corresponding to the 1st to 4th axes, have the following meanings: 0: Distribution data is read forward. 1: Distribution data is read backwards. Because the data consists of bits, it is necessary to use a binary–coded decimal value when setting it using the macro compiler and macro executor. Example) When constant data is assigned to the 1st and 2nd axes and variable data is assigned to the 3rd and 4th axes, #20004 = 12; (t4 and t3: 0, t2 and t1: 1)
� Constant data When the corresponding data type bit (t4 to t1) is 0, specify “distribution data value”.
� Variable data When the corresponding data type bit (t4 to t1) is 1 and the total number of fixed data items = 0, specify “(Storing start data variable No. of the distribution data)/10”.
� Fixed data When the corresponding data type bit (t4 to t1) is 1 and the total number of fixed data items is other than 0, specify “(Storing start data variable No. of the distribution data)/10”. The applicable value for the variable data and fixed data is 2001 to 8553. It is not possible to start storing data in the executable format from a variable No. that is not a multiple of 10. To read the distribution data backwards, set the variable No. of the data to be distributed last. For example, to read the distribution data in #25000 to #25999 backwards, set 25000 as the data assignment variable.
Set the length of the fixed data for the cycle. The first address of the fixed data must be specified by the data assignment variable. When the total number of fixed data items = 0 and the corresponding data type bit (t4 to t1) is 1, the data is regarded as a variable data.
� ����� ����
� Cycle repetition count
� Cycle connection data
� Number of data items
� Data type
� Variables assigned to data for the 1st to 4th axes
� Total number of fixed data items for the first to 4th axes
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0820. HIGH SPEED CYCLE CUTTING
364
NOTE 1 When the high–speed machining function is used, an extended
RAM is necessary. The length of tape that can be specified is
limited to 80 meters.
2 An alarm is issued if the function is executed in the G41/G42 mode.
3 Single block stop, dry run/feedrate override, automatic
acceleration/deceleration and handle interruption are disabled
during high–speed cycle machining.
4 When the distribution cycle is 2 ms or 1 ms set the total number
of distribution data items for one cycle to a multiple of the following
values. This does not apply when the distribution cycle is 16 ms
8 ms or 4 ms.
If the total number is not a multiple of one of the following values,
movement in the remaining cycle becomes zero.
Example) When all 41 data items (distribution cycle: 1 ms) are specified, movement is zero in the remaining 3 ms. Distribution cycle 2 ms: Multiple of 2 Distribution cycle 1 ms: Multiple of 4
���
� �� ���� ����� �
115 The contents of the header are invalid. This alarm is issued in the following cases. 1. The header corresponding to the number of the specified call
machining cycle was not found. 2. A cycle connection data value is not in the valid range
(0 to 999). 3. The number of data items in the header is not in the valid range
(1 to 32767). 4. The first variable No. for storing data in the executable format
is not in the valid range (#20000 to #85535). 5. The last variable No. for storing data in the executable format
exceeds the limit (#85535). 6. The first variable No. for start data in the executable format
overlaps with a variable No. used in the header.
178 High–speed cycle machining was specified in the G41/G42 mode.
179 The number of control axes specified in parameter 597 exceeds the maximum number.
��� �
ww w.
cn cc
en ter
.co m
B–61404E/08 21. SIMPLE SYNCHRONOUS CONTROLPROGRAMMING
365
21 SIMPLE SYNCHRONOUS CONTROL It is possible to change the operating mode for two or more specified axes to either synchronous operation or normal operation by an input signal from the machine. For example, The following operating modes are applicable to machines having two tables driven independently by separate control axes. The following example is of a machine with two tables driven independently by the Y axis and V axis. If the axis names are different, substitute a suitable name for the ones below.
V
X
Y
Z
Fig. 21 Example of axis configuration of the machine operated by simple synchronous control
General
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0821. SIMPLE SYNCHRONOUS CONTROL
366
This mode is used for machining large workpieces that extend over two tables. While operating one axis with a move command, it is possible to synchronously move the other axis. In the synchronous mode, the axis to which the move command applies is called the master axis, and the axis that moves synchronously with the master axis is called the slave axis. In this example, it is assumed that Y axis is the master axis and V axis is the slave axis. Here, the Y axis and the V axis move synchronously in accordance with program command Yyyyy issued to the Y axis (master axis). Synchronous operation here means that the move command for the master axis is issued simultaneously to both the servo motor for the master axis and that for the slave axis. In synchronous operation, the servo motor for the slave axis is not compensated for the deviation which is always detected between the two servo motors. Synchronous operation is possible during automatic operation, jog feed, manual handle feed using the manual pulse generator, and incremental feed, but is not possible during manual reference position return.
This operating mode is used for machining different workpieces on each table. The operation is the same as in ordinary CNC control, where the movement of the master axis and slave axis is controlled by the independent axis address (Y and V). It is possible to issue the move commands to both the master axis and slave axis in the same block.
� The Y axis moves normally according to program command Yyyyy issued to the master axis.
� The V axis moves normally according to program command Vvvvv issued to the slave axis.
� The Y axis and the V axis move simultaneously according to program command YyyyyVvvvv. Both automatic and manual operations are the same as in ordinary CNC control.
Explanations
� Synchronous operation
� Normal operation
ww w.
cn cc
en ter
.co m
B–61404E/08 21. SIMPLE SYNCHRONOUS CONTROLPROGRAMMING
367
CAUTION 1 When the automatic reference position return command (G28) and the 2nd/3rd/4th reference
position return command (G30) are issued during synchronous operation, the V axis follows the same movement as the Y axis returns to the reference position. If the V axis is positioned at the reference position after the return movement is complete, the reference position return complete signal of the V axis goes on when that of the Y axis goes on. As a rule, commands G28 and G30 must be issued in the normal operating mode.
2 The machine must be manually returned to the reference position in the normal operating mode.
3 Both the pitch error and backlash are compensated independently for the master axis and the slave axis.
4 Turn on the manual absolute switch (ABS = 1) during synchronous operation. If it is off, the slave axis may not move correctly.
5 When the machine is manually returned to the reference position during synchronous operation, both the master axis and the slave axis move synchronously until the acceleration movement is complete. However, grid detection thereafter is carried out independently.
6 The operation can be switched between synchronous operation and normal operation by using a signal input from the PMC.
NOTE 1 When the automatic reference position return check command (G27) is issued during
synchronous operation, the V axis and Y axis move in tandem. If both the Y axis and the V axis have reached their respective reference positions after the movement is complete, the reference position return complete signals go on. If either axis is not at the reference position, an alarm is issued. As a rule, command G27 must be issued in the normal operating mode.
2 In synchronous axis control, commands that require no axis motion, such as the workpiece coordinate system setup command (G92) and the local coordinate system setup command (G52), are set to the Y axis by program command Yyyyy issued to the master axis.
3 For signals such as external deceleration, interlock, and machine lock, only the signals issued to the master axis are valid in the synchronous operating mode. Signals issued to other axes are ignored.
4 The axis which is to be the master axis must be specified by parameter No. 075#0, #1. 5 The slave axis is exclusively set to the 4th axis. 6 When a move command is issued to the slave axis during synchronous operation, a P/S alarm
(No. 213) is issued.
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0822. ROTARY AXIS ROLL–OVER
368
22 ROTARY AXIS ROLL–OVER The roll–over function prevents coordinates for the rotation axis from overflowing. The roll–over function is enabled by setting bit 1 of parameter 398 to 1.
For an incremental command, the tool moves the angle specified in the command. For an absolute command, the coordinates after the tool has moved are values set in parameter No. 860, and rounded by the angle corresponding to one rotation. The tool moves in the direction in which the final coordinates are closest when bit 2 of parameter No. 398 is set to 0. Displayed values for relative coordinates are also rounded by the angle corresponding to one rotation when bit 3 of parameter No. 398 is set to 1.
Assume that axis A is the rotating axis and that the amount of movement per rotation is 360.000 (parameter No. 1260 = 360000). When the following program is executed using the roll–over function of the rotating axis, the axis moves as shown below.
G90 A0 ; Sequence number
Actual movement
value
Absolute coordinate value after movement end
N1 G90 A–150.0 ; N1 –150 210
N2 G90 A540.0 ; N2 –30 180
N3 G90 A–620.0 ; N3 –80 100
N4 G91 A380.0 ; N4 +380 120
N5 G91 A–840.0 ; N5 –840 0
Absolute coordinate value
Relative coordinate value –720°
–0°
–360°
–0° –0°
–0° 360°
–0°
N1
N2
N3
N4
N5
210° (Absolute)
180° 100°
120°
NOTE This function cannot be used together with the indexing function of the index table.
Genera �
Explanations
��������
ww w.
cn cc
en ter
.co m
B–61404E/08 23. ANGULAR AXIS CONTROL
(0–GSC, 0–GSD/II)PROGRAMMING
369
23 ANGULAR AXIS CONTROL (0–GSC, 0–GSD/II) When the Y–axis makes an angle other than 90° with the Z–axis, the inclined axis control function controls the distance traveled along each axis according to the inclination angle. A program, when created, assumes that the Y–axis and Z–axis intersect at right angles. However, the actual distance traveled is controlled according to an inclination angle.
+Y
+Y
Program coordinate system
Coordinate system actually used
+Z
θ
θ : Inclination angle
The distance traveled along each axis is controlled according to the formulas described below. The distance traveled along the Y–axis is determined by the following formula: Ya=Yp/cos θ The distance traveled along the Z–axis is corrected by the inclination of the Y–axis, and is determined by the following formula: Za=Zp–Yp* tanθ The feedrate is determined as described below. The speed component along the Y–axis is determined by the following formula: Fa=Fp/cos θ Ya, Za, Fa : Actual distance and speed Yp, Zp, Fp : Programmed distance and speed
Parameter (No. 077#5) enables or disables the inclined axis control function. If the function is enabled, the distance traveled along each axis is controlled according to an inclination angle (No. 837). Parameter (No. 077#4) enables Y–axis manual reference point return only with a distance along the Y–axis.
An absolute and a relative position are indicated in the programmed Cartesian coordinate system. Machine position display
A machine position indication is provided in the machine coordinate system where an actual movement is taking place according to an inclination angle. However, when inch/metric conversion is performed, a position is indicated which incorporates inch/metric conversion applied to the results of inclination angle operation.
General
Explanations
� �� ��� �� ��
� Absolute and relative position display
� Machine position display
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/08 23. ANGULAR AXIS CONTROL
(0–GSC, 0–GSD/II)
370
WARNING 1 After inclined axis control parameter setting, be sure to
perform manual reference point return operation. 2 If a movement along the Z–axis occurs in Y–axis manual
reference point return operation, be sure to perform reference point return operation starting with the Y–axis.
3 If an inclination angle close to 0° or �90° is set, an error can occur. (A range from �20° to �90° should be used.)
4 Before a Z–axis reference point return check (G37) can be made, Y–axis reference point return operation must be completed.
ww w.
cn cc
en ter
.co m
B–61404E/08 24. ADVANCED PREVIEW CONTROLPROGRAMMING
371
24 ADVANCED PREVIEW CONTROL This function is designed to enable high–speed, high–precision machining. This function can suppress the delay that is incurred by acceleration/deceleration and the servo system and which increases as a higher feedrate is used. Thus, the tool can exactly follow the specified values, minimizing the machining figure error. This function is optional.
Using the command shown below, advanced preview control mode can be turned on and off. High–speed, high–precision machining is performed in advanced preview control mode.
G08 P p ;
p = 1: Turns advanced preview control mode on. = 0: Turns advanced preview control mode off.
Note) A block containing G08 must not include any other codes.
In advanced preview control mode, the following functions are enabled:
1 Cutting feed linear acceleration/deceleration before interpolation
2 Automatic corner deceleration
3 Block overlap
4 Look–ahead feed forward
For information about these functions, see the relevant sections. Note that dedicated parameters for advanced preview control are available.
General
Explanations
ww w.
cn cc
en ter
.co m
PROGRAMMING B–61404E/0824. ADVANCED PREVIEW CONTROL
372
NOTE 1 In advanced preview control mode, the following cannot be
specified: � Control along the C–axis normal � Cylindrical interpolation � Polar coordinate specification � F 1–digit feed/threading/synchronous feed � Index table indexing � Rigid tapping � High–speed cycle machining/high–speed remote buffer � Handle interrupt � Program restart � Simple synchronous control � Interrupt–type custom macro � Automatic tool length measurement � Small–diameter peck drilling cycle � PMC–based axis control � Cs contour control � Skip cutting/high–speed skip cutting � Automatic signal–based reference position return
2 In advanced preview control mode, servo look–ahead feed forward control is used. For information about the servo software and parameters to be set, refer to the documentation provided with the servo system.
3 Advanced preview control mode is canceled by the input of a reset signal.
ww w.
cn cc
en ter
.co m
III. OPERATION
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
375
1 GENERAL
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
376
The CNC machine tool has a position used to determine the machine position. This position is called the reference position, where the tool is replaced or the coordinate are set. Ordinarily, after the power is turned on, the tool is moved to the reference position. Manual reference position return is to move the tool to the reference position using switches and pushbuttons located on the operator’s panel.
Reference position
Tool
Machine operator’s panel
Fig. 1.1 (a) Manual reference position return
The tool can be moved to the reference position also with program commands. This operation is called automatic reference position return (See Section II–6).
1.1 MANUAL OPERATION
Explanations
� Manual reference position return (See Section III–3.1)
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
377
Using machine operator’s panel switches, pushbuttons, or the manual handle, the tool can be moved along each axis.
Tool
Workpiece
Machine operator’s panel
Manual pulse generator
Fig. 1.1 (b) The tool movement by manual operation
The tool can be moved in the following ways:
(i) Jog feed (See Section III–3.2) The tool moves continuously while a pushbutton remains pressed.
(ii) Incremental feed (See Section III–3.3) The tool moves by the predetermined distance each time a button is pressed.
(iii) Manual handle feed (See Section III–3.4) By rotating the manual handle,the tool moves by the distance corresponding to the degree of handle rotation.
� The tool movement by manual operation
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
378
Automatic operation is to operate the machine according to the created program. It includes memory, DNC, and MDI operations. (See Section III–4).
Program
Tool
01000 ; M_S_T ; G92_X_ ; G00... ; G01...... ;
.
.
.
.
Fig. 1.2 (a) Tool Movement by Programming
After the program is once registered in memory of CNC, the machine can be run according to the program instructions. This operation is called memory operation.
CNC Machine
Memory
Fig. 1.2 (b) Tool Movement by Programming
In this mode of operation, the program is not registered in the CNC memory. It is read from the connected I/O unit instead. This mode is useful when the program is too large to fit the CNC memory. It can also be used for high–speed machining by means of a remote buffer.
1.2 TOOL MOVEMENT BY PROGRAMMING– AUTOMATIC OPERATION
Explanations
� ���� � � � �����
� DNC operation
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
379
After the program is entered, as an command group, from the MDI keyboard, the machine can be run according to the program. This operation is called MDI operation.
MDI keyboardCNC
Manual program input
Machine
Fig. 1.2 (c) MDI operation
� MDI operation
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
380
Select the program used for the workpiece. Ordinarily, one program is prepared for one workpiece. If two or more programs are in memory, select the program to be used, by searching the program number (Section III–9.3).
G92
O1001 Program number
M30
G92
O1002 G92
M30
Program number Program number search
Automatic operation
O1003 ––––––
M30
––––––
––––––
Work–1 program
Work–2 program
Program number
Work–3 program
In memory or on a tape
Fig. 1.3 (a) Program selection for automatic operation
Pressing the cycle start pushbutton causes automatic operation to start. By pressing the feed hold or reset pushbutton, automatic operation pauses or stops. By specifying the program stop or program termination command in the program, the running will stop during automatic operation. When one process machining is completed, automatic operation stops.
Cycle start
Feed hold Reset
Program stop Program end
Stop caused by program
Start
Stop Automatic operation
Fig. 1.3 (b) Start and stop for automatic operation
1.3 AUTOMATIC OPERATION
Explanations
� Program selection
� Start and stop (See Section III–4)
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
381
While automatic operation is being executed, tool movement can overlap automatic operation by rotating the manual handle.
Z
X
Programmed depth of cut
Depth of cut by handle interruption
Tool position after handle interruption
Tool position during automatic operation
Fig. 1.3 (c) Handle interruption for automatic operation
� Handle interruption (See Section III–4.7)
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
382
Before machining is started, the automatic running check can be executed. It checks whether the created program can operate the machine as desired. This check can be accomplished by running the machine actually or viewing the position display change (without running the machine) (See Section III–5).
Remove the workpiece, check only movement of the tool. Select the tool movement rate using the dial on the operator’s panel.
Tool
Table
Fig. 1.4.1 (a) Dry run
Check the program by changing the feed rate specified by the program.
Tool
Feed rate specified by program : 100 mm/min.
Feed rate after feed rate override : 20 mm/min.
Workpiece
Fig. 1.4.1 (b) Feedrate override
1.4 TESTING A PROGRAM
1.4.1 Check by Running the Machine
Explanations
� Dry run (See Section III–5.4)
� Feedrate override (See Section III–5.2)
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
383
When the cycle start pushbutton is pressed, the tool executes one operation then stops. By pressing the cycle start again, the tool executes the next operation then stops. The program is checked in this manner.
Cycle start
Cycle start
Cycle start
Cycle start
StopStop
Stop
Tool
Workpiece
Fig. 1.4.1 (c) Single block
Tool
CRT/MDI
X Y Z
The tool remains stopped, and only the positional displays of the axes change.
Workpiece
Fig. 1.4.2 Machine lock
When automatic running is placed into the auxiliary function lock mode during the machine lock mode, all auxiliary functions (spindle rotation, tool replacement, coolant on/off, etc.) are disabled.
� Single block (See Section III–5.5)
1.4.2 How to View the Position Display Change without Running the Machine
Explanations
� Machine lock (See Sections III–5.1)
� Auxiliary function lock (See Section III–5.1)
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
384
After a created program is once registered in memory, it can be corrected or modified from the CRT/MDI panel (See Section III–9). This operation can be executed using the part program storage/edit function.
Program registration
CRT/MDI
CNC CNC
Program correction or modification
Tape reader
CNC tape (program)
Fig. 1.5 Part program editing
1.5 EDITING A PART PROGRAM
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
385
The operator can display or change a value stored in CNC internal memory by key operation on the CRT/MDI screen (See III–11).
Data setting
CRT/MDI
Data display
Screen Keys
CNC memory
Fig. 1.6 (a) Displaying and setting data
Tool compensation number1 12.3 25.0 Tool compensation number2 20.0 40.0 Tool compensation number3 ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅
Setting
Display
CNC memory
Screen Keys
CRT/MDI
Geometry compensation
Wear com- pensation
Fig. 1.6 (b) Displaying and setting offset values
The tool has the tool dimension (length, diameter). When a workpiece is machined, the tool movement value depends on the tool dimensions. By setting tool dimension data in CNC memory beforehand, automatically generates tool routes that permit any tool to cut the workpiece specified by the program. Tool dimension data is called the offset value (See Section III–11.4.1).
1.6 DISPLAYING AND SETTING DATA
Explanations
� Offset value
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
386
Machined shape
1st tool path
2nd tool path
Offset value of the 1st tool
Offset value of the 2nd tool
Fig. 1.6 (c) Offset value
Apart from parameters, there is data that is set by the operator in operation. This data causes machine characteristics to change. For example, the following data can be set: ⋅ Inch/Metric switching ⋅ Selection of I/O devices ⋅ Mirror image cutting on/off The above data is called setting data (See Section III–11.5.3).
⋅ ⋅ ⋅
Setting
DisplayingScreen Keys
Setting data
⋅Inch/Metric switching ⋅Selection of I/O device ⋅Mirror image ON/OFF setting
CNC Memory
Program Automatic operation
Operational characteristics
Movement of the machine
Fig. 1.6 (d) Displaying and setting operator’s setting data
� Displaying and setting operator’s setting data
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
387
The CNC functions have versatility in order to take action in characteristics of various machines. For example, CNC can specify the following: ⋅ Rapid traverse rate of each axis ⋅ Whether increment system is based on metric system or inch system. ⋅ How to set command multiply/detect multiply (CMR/DMR) Data to make the above specification is called parameters (See Section III–11.5.1). Parameters differ depending on machine tool.
CRT/MDI
CNC memory
Parameter Rapid traverse rate Position control Reference position return Backlash compensation data Pitch error compensation data ⋅
⋅ ⋅
Program
Operational characteristics
Setting
DisplayScreen Keys
Automatic operation
Movement of the machine
Fig. 1.6 (e) Displaying and setting parameters
A key called the data protection key can be defined. It is used to prevent part programs from being registered, modified, or deleted erroneously (See Section III–11).
Program
CNC memory
Screen Keys
CRT/MDI Protection Key
Registration / modification inhibition
Program edition
Fig. 1.6 (f) Data protection key
� Displaying and setting parameters
� Data protection key
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
388
The contents of the currently active program are displayed. In addition, the programs scheduled next and the program list are displayed.
PROGRAM O1100 N0005 N1 G90 G17 G00 G41 D07 X250.0 Y550.0 ; N2 G01 Y900.0 F150 ; N3 X450.0 ; N4 G03 X500.0 Y1150.0 R650.0 ; N5 G02 X900.0 R–250.0 ; N6 G03 X950.0 Y900.0 R650.0 ; N7 G01 X1150.0 ; N8 Y550.0 ; N9 X700.0 Y650.0 ; N10 X250.0 Y550.0 ; N11 G00 G40 X0 Y0 ;
[ PRGRM ] [CURRNT] [ NEXT ] [ CHECK ]
Active program number Active sequence number
Program content
The cursor indicates the currently executed location Currently executed program
PROGRAM O1100 N0003
SYSTEM EDITION 0466 – 24 PROGRAM NO. USED : 14 FREE : 53 MEMORY AREA USED : 960 FREE : 5280
PROGRAM LIBRARY LIST O0001 O0002 O0010 O0020 O0040 O0050 O0100 O0200 O1000 O1100
[ PROGRAM ][ CONDNS ][ ][ ][ ]
1.7 DISPLAY
1.7.1 Program Display (See Subsections III–11.2.1 and III–11.3.1)
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
389
The current position of the tool is displayed with the coordinate values. The distance from the current position to the target position can also be displayed.
Y
�
�
�
Workpiece coordinate system
ACTUAL POSITION (ABSOLUTE) O0003 N0003
[ ABS ][ REL ][ ALL ][ HNDL ][ ]
X 150.000 Y 300.000 Z 100.000
When a trouble occurs during operation, error code and alarm message are displayed on CRT screen. See APPENDIX G for the list of error codes and their meanings.
ALARM MESSAGE O1000 N0003
010 P/S ALARM
S 0T
09:52:24 ALARM
[ ALARM ][ OPR ][ MSG ][ ][ ]
1.7.2 Current Position Display (See Section III–11.1.1 to 11.1.3)
1.7.3 Alarm Display (See Section III–7.1)
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/081. GENERAL
390
When an option is selected, two types of run time and number of parts are displayed on the screen.
ACTUAL POSITION (ABSOLUTE) O0003 N0003
PART COUNT 1 RUN TIME 0H 0M CYCLE TIME 0H 0M44S ACT.F 3000 MM/M S 0 T 01:35:22 BUF AUTO
[ ABS ][ REL ][ ALL ][ HNDL ][ ]
X 150.000 Y 300.000 Z 100.000
Programmed tool movement can be displayed on the following planes: 1) XY plane 2) YZ plane 3) XZ plane 4) Three dimensional display
Z
X
Z
Z
X Y
Y
Y
X
Three dimensional display (isometric)
Display on the XY plane Display on the YZ plane
Display on the XZ plane
� �
� �
Fig . 1.7.5 Graphic display
1.7.4 Parts Count Display, Run Time Display (See Section III–11.1.5)
1.7.5 Graphic Display (See Section III–12)
ww w.
cn cc
en ter
.co m
B–61404E/08 1. GENERALOPERATION
391
Programs, offset values, parameters, etc. input in CNC memory can be output to paper tape, cassette, or a floppy disk for saving. After once output to a medium, the data can be input into CNC memory.
Memory
Program
Offset
Parameters
Reader/puncher interface
Portable tape reader
CNC Automatic programming system
Floppy disk
FANUC Floppy cassette adaptor
FANUC cassette
SYSTEM P
FANUC PPR
Paper tape
.
.
.
Fig. 1.8 Data output
1.8 DATA OUTPUT (SEE CHAPTER III–8)
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
392
2 OPERATIONAL DEVICES The peripheral devices available include the CRT/MDI panel attached to the CNC, machine operator’s panel and external input/output devices such as tape reader, PPR, floppy cassette, and FA card.
ww w.
cn cc
en ter
.co m
B–61404E/08 2.

CRT (9″ amber) Reset key Data input key
Program edit key
Input key
Start/output keyFunction key
Cursor move key
Page change key
Fig. 2.1 (a) 9 ″ small monochrome or color CRT/MDI (with softkey)
CRT (9″ amber) Reset key Data input key
Function key
Cursor move key
Page change key
Program edit key
Start/output key
Input key
Fig. 2.1 (b) 9 ″ monochrome or color CRT/MDI panel (without softkey)
2.1 CRT/MDI PANELS AND LCD/MDI PANELS
External view
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
394
Reset key Data input key
Program edit key
Input key
Function key Cursor move key Page change key Start/output key
Fig. 2.1 (c) 9 ″ monochrome or color CRT/MDI panel (with full key)
6–φ4
130
20 0
19 0
5
5 5 5130 130
400
Fig. 2.1 (d) Thin type display/MDI panel
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
395
10–φ4.8 520
168 170 168
37 0
17 8
17 8
7 7
7 7
Fig. 2.1 (e) 14 ″ color CRT/MDI panel
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
396
8–φ4
400
20 0
130 130 130 5
5 5
19 0
5
Fig. 2.1 (f) 9 ″ small monochrome/or color CRT/MDI panel (with soft key)
Table 2.1 Explanation of the MDI keyboard
Number Name Explanation
1 Power ON and OFF but- tons
O OFF I ON
Press theses buttons to turn CNC power ON and OFF.
2 RESET key
RESET
Press this key to reset the CNC, to cancel an alarm, etc.
3 START key
OUTPT- START
This key is used to start MDI operation or automatic operation, depending on the ma- chine. Refer to the manual provided by the machine tool builder. This key is also used to output data to an input/output unit.
4 Soft keys (option) The soft keys have various functions, according to the Applications. The soft key functions are displayed at the bottom of the CRT screen.
5 Address and numeric keys
(N 4 …
Press these keys to input alphabetic, numeric, and other characters.
6 SHIFT key
SHIFT
Some keys have two characters on their keytop. Pressing the <SHIFT> key switches the characters. Special character Λ is displayed on the screen when a character indicated at the bottom right corner on the keytop can be entered. (The standard MDI key panel does not have this key.)
7 INPUT key
INPUT
When an address or a numerical key is pressed, the data is input to the buffer, and it is displayed on the CRT screen. To copy the data in the key input buffer to the offset register, etc., press the <INPUT> key. This key is also used to input data from an input/output unit.
Explanation of the keyboard
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
397
Table 2.1 Explanation of the MDI keyboard
Number ExplanationName
8 Cancel key
CAN
Press this key to delete the last character or symbol input to the key input buffer.
9 Program edit keys
ALTER INSRT DELET
Press these keys when editing the program.
: Alteration
: Insertion
: Deletion
ALTER
DELET
INSRT
10 Function keys
…POS PRGRM
Press theses keys to switch display screens for each function. See sec. 2.2 for detailas of the function keys.
11 Cursor move keys
CURSOR
There are two different cursor move keys.
: This key is used to move the cursor in a downward or forward direction. The cursor is moved in small units in the forward direction.
: This key is used to move the cursor in an upward or reverse direction. The cursor is moved in small units in the reverse direction.
12 Page change keys PAGE
Two kinds of page change keys are described below.
: This key is used to changeover the page on the CRT screen in the forward direction.
: This key is used to changeover the page on the CRT screen in the reverse direction.
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
398
1 Press a function key on the CRT/MDI panel. The chapter selection soft keys that belong to the selected function appear.
2 Press one of the soft keys. The screen for the selected chapter appears. If the soft key for a target chapter is not displayed, press the continuous menu key (next–menu key). In some cases, additional chapters can be selected within a chapter.
3 To redisplay the previous soft keys, press the return menu key.
The general screen display procedure is explained above. However, the actual display procedure varies from one screen to another. For details, see the description of individual operations.
If the soft keys are not provided, press a key having the equivalent function to select the desired chapter. The functions of the soft keys are automatically displayed, depending on the configuration. The functions are displayed, irrespective of the function configuration, if bit 7 of parameter 048 is specified accordingly.
2.2 FUNCTION KEYS AND SOFT KEYS
2.2.1 General Screen Operations
Function keys
Chapter selection soft keys Operation selection key
Return menu key Continuous menu key
MENU
OFSET PRGRMPOS
DGNOS
PARAM
OPR
ALARM
AUX
GRAPH
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
399
Function keys are provided to select the type of screen to be displayed. The following function keys are provided on the CRT/MDI panel:
Press this key to display the position screen .
Press this key to display the program screen .
Press this key to display the offset screen .
Press this key to display the parameter/diagnosis screen .
Press this key to display the alarm screen.
Press this key to display the graphics screen .
2.2.2 Function Keys
POS
PRGRM
MENU
OFSET
DGNOS
PARAM
OPR
ALARM
AUX
GRAPH
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
400
When an address and a numerical key are pressed, the character corresponding to that key is input once into the key input buffer. The contents of the key input buffer is displayed at the bottom of the CRT screen. The key input buffer begins with “ADDRESS”. When an address is input, the key input buffer begins with “NUMERIC”.
Key input buffer display
[ ] [ ] [ ] [ ] [ ]
Key input buffer display af- ter address input
[ ] [ ] [ ] [ ] [ ]
Address
Numeric
Fig. 2.2.3 (a) Key input buffer display
On the standard key panel, the same key is used to input both an address and a numeric value. When the key input buffer begins with “ADDRESS”, pressing that key inputs the address. When the key input buffer begins “NUMERIC”, pressing that key inputs the numeric value.
[ ]
[ ]
4 X
[ ]
[ ]
4 X
Address
Numeric X
Numeric X
Numeric X 4
Press key Press key
2.2.3 Key Input and Input Buffer
Explanations
� For standard key
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
401
Data of one word (address + numeric value) can be entered into the key input buffer at one time. The following data input keys are used to input addresses. Each time the key is pressed, the input address changes as shown below:
4th B D B 4th
K J I I J K
L P Q P Q L
NO.
D 4th is the address of the fourth axis. If an additional axis is not provided, either D or B is input.
(C)*
* If the optional–angle chamfering/ corner rounding function is provided, the address C can be entered using
the key.4th B
D
Pressing the CAN key deletes all the data input to the key input buffer.
When bit 7 of parameter 0394 is set to 1, each press of the CAN key deletes
only the most recently entered character during data input using the parameter, diagnostic, or offset screen.
When an address and a numerical key are pressed, the character corresponding to that key is input once into the key input buffer. The contents of the key input buffer is displayed at the bottom of the CRT screen. A “ <” is displayed at the end of the key input data indicating the input position of the next character.
Key input buffer display
[ ] [ ] [ ] [ ] [ ]
N001X100Z<
Fig. 2.2.3 (b) Key input buffer display
� For full key
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
402
To input the lower character of the keys that have two characters inscribed
on them, first press theSHIFT key and then the key in question.
When the SHIFT key is pressed, “<” indicating the next character input position changes to “Λ”. Now lowercase characters can be entered (shift state). When a character is input in shift status the shift status is canceled.
Furthermore, if theSHIFT key is pressed in shift status, the shift status is
canceled. It is possible to input up to 32 characters at a time in the key input buffer.
Press theCAN key to cancel the last character or symbol input in the key
input buffer.
(Example) When the key input buffer displays N001X100Z< and the cancel key is pressed, Z is canceled and N001X100< is displayed.
There are 12 soft keys in the 14″ CRT/MDI panel. As illustrated below, the 5 soft keys on the right and those on the right and left edges operate in the same way as the 9″ CRT, whereas the 5 keys on the left hand side are expansion keys dedicated to the 14″ CRT.
ÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇ
9″ CRT soft key
14″ CRT dedicated expansion soft keys
14″ CRT soft key
Fig. 2.2.4 CRT and LCD soft key configuration
Whenever a position display appears in the left half of the screen after a
function key other than POS is pressed, the soft keys on the left half of
the soft key display area are displayed as follows:
ABS REL ALL HNDL
2.2.4 14″ CRT Soft Key Configuration
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
403
Five types of external input/output devices are available. This section outlines each device. For details on these devices, refer to the corresponding manuals listed below.
Table 2.3 External I/O device
Device name Usage Max. storage capacit
Reference manual
FANUC Handy File Easy–to–use, multi function input/output device. It is de- signed for FA equipment and uses floppy disks.
3600m B–61834E
FANUC Floppy Cas- sette
Input/output device. Uses floppy disks.
2500m B–66040E
FANUC FA Card Compact input/output de- vice. Uses FA cards.
160m B–61274E
FANUC PPR Input/output device consist- ing of a paper tape reader, tape punch, and printer.
275m B–58584E
Portable Tape Reader Input device for reading pa- per tape.
Appendix H
The following data can be input/output to or from external input/output devices: 1. Programs 2. Offset data 3. Parameters 4. Custom macro common variables For how data is input and output, see Chapter 8.
2.3 EXTERNAL I/O DEVICES
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
404
Before an external input/output device can be used, parameters must be set as follows.
Series 0
MEMORY CARD
Channel 1 Channel 2 Channel 3
M5 M74
RS–422RS–232–CRS–232–C
M77
RS–232–C
Reader/ puncher
Host computer
Host computer
Reader/ puncher
I/O = 0 or I/O = 1
I/O = 2 I/O = 3 I/O = 3
REMOTE BUFFER
Series 0 has three channels of reader/punch interfaces. The input/output device to be used is specified by setting the channel connected to that device in setting parameter I/O. The specified data, such as a baud rate and the number of stop bits, of an input/output device connected to a specific channel must be set in parameters for that channel in advance. For channel 1, two combinations of parameters to specify the input/output device data are provided. The following shows the interrelation between the reader/punch interface parameters for the channels.
I/O
Specify a channel for an input/output device.
I/O = 0 : Channel 1 = 1 : Channel 1 = 2 : Channel 2 = 3 : Channel 3
I/O = 0 (channel 1)
002 Stop bit and other data
038 #6,#7 Number specified for the input/output device
552 Baud rate
I/O = 1 (channel1 )
012 Stop bit and other data
038 #6,#7 Number specified for the input/output device
553 Baud rate
I/O = 2 (channel 2)
050
038 #4,#5
250
I/O = 3 (channel 3)
051
038 #1,#2
251
055#2 Selection of protocol
055 #3 Selection of RS–422 or RS–232C, and other data
Parameter Number
Stop bit and other data
Number specified for the input/output device
Baud rate
Stop bit and other data
Number specified for the input/output device
Baud rate
SETTING
Parameter
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
405
The Handy File is an easy–to–use, multi function floppy disk input/output device designed for FA equipment. By operating the Handy File directly or remotely from a unit connected to the Handy File, programs can be transferred and edited. The Handy File uses 3.5–inch floppy disks, which do not have the problems of paper tape (i.e., noisy during input/output, easily broken, and bulky). One or more programs (up to 1.44M bytes, which is equivalent to the memory capacity of 3600–m paper tape) can be stored on one floppy disk.
RS–232–C or RS–422 Interface (Punch panel, etc.)
Handy File
RS–232–C Interface
RS–422 Interface
FANUC
When the Floppy Cassette is connected to the NC, machining programs stored in the NC can be saved on a Floppy Cassette, and machining programs saved in the Floppy Cassette can be transferred to the NC.
 OPERATIONAL DEVICES
406
An FA Card is a memory card used as an input medium in the FA field. It is compact, but has a large memory capacity with high reliability, and requires no special maintenance. When an FA Card is connected to the CNC via the card adapter, NC machining programs stored in the CNC can be transferred to and saved in an FA Card. Machining programs stored on an FA Card can also be transferred to the CNC.
RS–232–C Interface (Punch panel, etc.)
READY
EJECT
READ
WRITE
ALARM
RESET
FANUC
The FANUC PPR consists of three units: A printer, paper tape punch, and paper tape reader. When the PPR is used alone, data can be read from the tape reader and printed or punched out. It is also possible to perform TH and TV checks on data that was read.
RS–232–C Interface (Punch panel, etc.)
2.3.3 FANUC FA Card
2.3.4 FANUC PPR
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
407
The portable tape reader is used to input data from paper tape.
�
+
�
+ +
RS–232–C Interface (Punch panel, etc.)
2.3.5 Portable Tape Reader
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/082. OPERATIONAL DEVICES
408
Procedure of turning on the power
1 Check that the appearance of the CNC machine tool is normal. (For example, check that front door and rear door are closed.)
2 Turn on the power according to the manual issued by the machine tool builder.
3 After the power is turned on, check that the position screen is displayed. If the software configuration screen is being displayed, a system failure may have occurred.
ACTUAL POSITION (ABSOLUTE) O0010 N0010
PART COUNT 16 RUN TIME 0H57M CYCLE TIME 0H 0M38S ACT.F 3000 MM/M S 0 T 16:17:47 BUF AUTO
[ ABS ][ REL ][ ALL ][ HNDL ][ ]
X 123. 456 Y 363. 233 Z 0.000
Position display (for 9 ″ CRT)
4 Check that the fan motor is rotating.
WARNING When pressing the <POWER ON> key, do not touch any other CRT/MDI or thin type display/MDI panel keys, until the positional or alarm screen is displayed. Some keys are used for the maintenance or special operation purpose. When they are pressed, unexpected operation may be caused.
2.4 POWER ON/OFF
2.4.1 Turning on the Power
���������
ww w.
cn cc
en ter
.co m
B–61404E/08 2. OPERATIONAL DEVICESOPERATION
409
O466–22 CNC control software SERVO : 9030–16
SUB : xxxx–xx OMM : yyyy–yy PMC : zzzz–zz
Digital servo ROM
Sub CPU (remote buffer) Order–made macro/macro compiler PMC
1 Check that the LED indicating the cycle start is off on the operator’s panel.
2 Check that all movable parts of the CNC machine tool is stopping.
3 If an external input/output device such as the Handy File is connected to the CNC, turn off the external input/output device.
4 Continue to press the POWER OFF pushbutton for about 5 seconds.
NOTE Refer to the machine tool builder’s manual for turning off the power to the machine.
2.4.2 Display of Software Configuration
2.4.3 Power Disconnection
���������
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/083.  MANUAL OPERATIONOPERATION
411
The tool is returned to the reference position as follows : The tool is moved in the direction specified in parameter (bit 0 to #3 of No. 003) for each axis with the reference position return switch on the machine operator’s panel. The tool moves to the deceleration point at the rapid traverse rate, then moves to the reference position at the FL speed. The rapid traverse rate and FL speed are specified in parameters (No. 518 to 521, 533, and 534). Fourstep rapid traverse override is effective during rapid traverse. When the tool has returned to the reference position, the reference position return completion LED goes on. The tool generally moves along only a single axis, but can move along three axes simultaneously when specified so in parameter (bit 4 of No.049).
ÇÇ ÇÇ ÇÇ
Rapid traverse rate (rapid traverse override is effective)
Rapid traverse motion Decelerated motion FL speed
ÇÇ ÇÇ ÇÇ
Reference position
Deceleration point
Procedure for Manual Reference Position Return
1 Press the reference position return switch, one of the mode selection swithces.
2 To decerease the feedrate, press a rapid traverse override switch. When the tool has returned to the reference position, the reference position return completion LED goes on.
3 Press the feed axis and direction selection switch corresponding to the axis and direction for reference position return. Continue pressing the switch until the tool returns to the reference position. The tool can be moved along three axes simultaneously when specified so in an appropriate parameter setting. The tool moves to the deceleration point at the rapid traverse rate, then moves to the reference position at the FL speed set in a parameter.
4 Perform the same operations for other axes, if necessary. The above is an example. Refer to the appropriate manual provided by the machine tool builder for the actual operations.
 MC?
3.1 MANUAL REFERENCE POSITION RETURN
REMOTE MDIMEMORYEDIT
ZERO RETURN
TEACHJOGHANDLE
MODE
50 10025F0
RAPID TRAVERSE OVERRIDE (%)
+C +Z +Y
+X–X
–C–Y –Z
RAPID
AXIS DIRECTION
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/083. MANUAL OPERATION
412
If the parameter for automatic coordinate system setting (bit 7 of parameter 010) is specified, the coordinate system is determined automatically when a manual reference position return is made. If α, β, γ, and δare specified in parameters 708 to 711, the system specifies a workpiece coordinate system such that the tip of the basic tool or a reference position on the tool holder, after reference position return, becomes X =α, Y = β, Z =γ, and 4th =δ.
Once the REFERENCE POSITION RETURN COMPLETION LED lights at the completion of reference position return, the tool does not move unless the REFERENCE POSITION RETURN switch is turned off.
The REFERENCE POSITION RETURN COMPLETION LED is extinguished by either of the following operations: – Moving from the reference position. – Entering an emergency stop state.
For the distance (Not in the deceleration condition) to return the tool to the reference position, refer to the manual issued by the machine tool builder.
Explanations
� Automatic coordinate system setting
Restrictions
� ����� ��� ���� � ���
� ������� � �������� ������
��������� ���
� ��� ����� � �� ������ ��
������� � ��������
ww w.
cn cc
en ter
.co m
B–61404E/08 3. MANUAL OPERATIONOPERATION
413
In the jog mode, pressing a feed axis and direction selection switch on the machine operator’s panel continuously moves the tool along the selected axis in the selected direction. The jog feedrate is specified in Table 3.2.
Table 3.2 Jog Feedrate
Rotary switch
Feedrate Rotary switch
Feedrate switch
position Metric input (mm/min)
Inch input (inch/min)
switch position Metric input
(mm/min) Inch input (inch/min)
0 0 0 8 50 2.0
1 2.0 0.08 9 79 3.0
2 3.2 0.12 10 126 5.0
3 5.0 0.2 11 200 8.0
4 7.9 0.3 12 320 12
5 12.6 0.5 13 500 20
6 20 0.8 14 790 30
7 32 1.2 15 1260 50
NOTE The feedrate error (about ±3%) affects on the feedrate in the table above.
The jog feedrate can be adjusted with the jog feedrate override dial. Pressing the rapid traverse switch moves the tool at the rapid traverse feedrate regardless of the postiotion of the jog feedrate override dial. Manual operation is allowed for one axis at a time. 3 axes can be selected at a time by parameter JAX (No.049#4).
ÇÇ ÇÇ
Z
X
Y
While a switch is pressed, the tool moves in the direction specified by the switch.
3.2 JOG FEED
ÅÅ ÅÅ ÅÅ
REMOTE MDIMEMORYEDIT
ZERO RETURN
TEACHJOGHANDLE
MODE
ww w.
cn cc
en ter
.co m
OPERATION B–61404E/083. MANUAL OPERATION
414
Procedure for Jog Feed