The machine is equipped with safety devices which serve to protect personnel and the machine
itself from hazards arising from unforeseen accidents. However, operators must not rely exclusively
on these safety devices: they must also become fully familiar with the safety guidelines presented
below to ensure accident-free operation.
This instruction manual and the warning signs attached to the machine cover only those hazards
which Okuma can predict. Be aware that they do not cover all possible hazards.
1.Precautions Relating to Machine Installation
(1) Install the machine at a site where the following conditions (the conditions for achievement of
the guaranteed accuracy) apply.
• Ambient temperature:17 to 25°C
• Ambient humidity:40% to 75% at 20°C (no condensation)
• Site not subject to direct sunlight or excessive vibration; environment as free of dust, acid,
corrosive gases, and salt spray as possible.
(2) Prepare a primary power supply that complies with the following requirements.
• Voltage: 200 V
• Voltage fluctuation: ±10% max.
• Power supply frequency: 50/60 Hz
• Do not draw the primary power supply from a distribution panel that also supplies a major
noise source (for example, an electric welder or electric discharge machine) since this could
cause malfunction of the CNC unit.
Eeoemm7pl001
Eeoemm7pl002
• If possible, connect the machine to a ground not used by any other equipment. If there is no
choice but to use a common ground, the other equipment must not generate a large amount
of noise (such as an electric welder or electric discharge machine).
(3) Installation Environment
Observe the following points when installing the control enclosure.
• Make sure that the CNC unit will not be subject to direct sunlight.
• Make sure that the control enclosure will not be splashed with chips, water, or oil.
• Make sure that the control enclosure and operation panel are not subject to excessive vibra-
tions or shock.
• The permissible ambient temperature range for the control enclosure is 0 to 40°C.
• The permissible ambient humidity range for the control enclosure is 30 to 95% (no conden-
sation).
• The maximum altitude at which the control enclosure can be used is 1000 m (3281ft.).
2.Points to Check before Turning on the Power
(1) Close all the doors of the control enclosure and operation panel to prevent the entry of water,
chips, and dust.
(2) Make absolutely sure that there is nobody near the moving parts of the machine, and that there
are no obstacles around the machine, before starting machine operation.
Eeoemm7pl003
(3) When turning on the power, turn on the main power disconnect switch first, then the CONTROL
ON switch on the operation panel.
3.Precautions Relating to Operation
4292-E P-(ii)
SAFETY PRECAUTIONS
(1) After turning on the power, carry out inspection and adjustment in accordance with the daily
inspection procedure described in this instruction manual.
(2) Use tools whose dimensions and type are appropriate for the work undertaken and the machine
specifications. Do not use badly worn tools since they can cause accidents.
(3) Do not, for any reason, touch the spindle or tool while spindle indexing is in progress since the
spindle could rotate: this is dangerous.
(4) Check that the workpiece and tool are properly secured.
(5) Never touch a workpiece or tool while it is rotating: this is extremely dangerous.
(6) Do not remove chips by hand while machining is in progress since this is dangerous. Always
stop the machine first, then remove the chips with a brush or broom.
(7) Do not operate the machine with any of the safety devices removed. Do not operate the
machine with any of the covers removed unless it is necessary to do so.
(8) Always stop the machine before mounting or removing a tool.
(9) Do not approach or touch any moving part of the machine while it is operating.
(10) Do not touch any switch or button with wet hands. This is extremely dangerous.
(11) Before using any switch or button on the operation panel, check that it is the one intended.
4.Precautions Relating to the ATC
(1) The tool clamps of the magazine, spindle, etc., are designed for reliability, but it is possible that
a tool could be released and fall in the event of an unforeseen accident, exposing you to danger: do not touch or approach the ATC mechanism during ATC operation.
(2) Always inspect and change tools in the magazine in the manual magazine interrupt mode.
Eeoemm7pl004
Eeoemm7pl005
(3) Remove chips adhering to the magazine at appropriate intervals since they can cause misoper-
ation. Do not use compressed air to remove these chips since it will only push the chips further
in.
(4) If the ATC stops during operation for some reason and it has to be inspected without turning the
power off, do not touch the ATC since it may start moving suddenly.
5.On Finishing Work
(1) On finishing work, clean the vicinity of the machine.
(2) Return the ATC, APC and other equipment to the predetermined retraction position.
(3) Always turn off the power to the machine before leaving it.
(4) To turn off the power, turn off the CONTROL ON switch on the operation panel first, then the
main power disconnect switch.
Eeoemm7pl006
4292-E P-(iii)
SAFETY PRECAUTIONS
6.Precautions during Maintenance Inspection and When
Trouble Occurs
In order to prevent unforeseen accidents, damage to the machine, etc., it is essential to observe the
following points when performing maintenance inspections or during checking when trouble has
occurred.
(1) When trouble occurs, press the emergency stop button on the operation panel to stop the
machine.
(2) Consult the person responsible for maintenance to determine what corrective measures need to
be taken.
(3) If two or more persons must work together, establish signals so that they can communicate to
confirm safety before proceeding to each new step.
(4) Use only the specified replacement parts and fuses.
(5) Always turn the power off before starting inspection or changing parts.
(6) When parts are removed during inspection or repair work, always replace them as they were
and secure them properly with their screws, etc.
(7) When carrying out inspections in which measuring instruments are used - for example voltage
checks - make sure the instrument is properly calibrated.
(8) Do not keep combustible materials or metals inside the control enclosure or terminal box.
(9) Check that cables and wires are free of damage: damaged cables and wires will cause current
leakage and electric shocks.
(10) Maintenance inside the Control Enclosure
a) Switch the main power disconnect switch OFF before opening the control enclosure door.
Eeoemm7pl007
b) Even when the main power disconnect switch is OFF, there may some residual charge in the
MCS drive unit (servo/spindle), and for this reason only service personnel are permitted to
perform any work on this unit. Even then, they must observe the following precautions.
• MCS drive unit (servo/spindle)
The residual voltage discharges two minutes after the main switch is turned OFF.
c) The control enclosure contains the NC unit, and the NC unit has a printed circuit board
whose memory stores the machining programs, parameters, etc. In order to ensure that the
contents of this memory will be retained even when the power is switched off, the memory is
supplied with power by a battery. Depending on how the printed circuit boards are handled,
the contents of the memory may be destroyed and for this reason only service personnel
should handle these boards.
(11) Periodic Inspection of the Control Enclosure
a) Cleaning the cooling unit
The cooling unit in the door of the control enclosure serves to prevent excessive temperature
rise inside the control enclosure and increase the reliability of the NC unit. Inspect the following points every three months.
• Is the fan motor inside the cooling unit working?
The motor is normal if there is a strong draft from the unit.
• Is the external air inlet blocked?
If it is blocked, clean it with compressed air.
7.General Precautions
4292-E P-(iv)
SAFETY PRECAUTIONS
(1) Keep the vicinity of the machine clean and tidy.
(2) Wear appropriate clothing while working, and follow the instructions of someone with sufficient
training.
(3) Make sure that your clothes and hair cannot become entangled in the machine. Machine opera-
tors must wear safety equipment such as safety shoes and goggles.
(4) Machine operators must read the instruction manual carefully and make sure of the correct pro-
cedure before operating the machine.
(5) Memorize the position of the emergency stop button so that you can press it immediately at any
time and from any position.
(6) Do not access the inside of the control panel, transformer, motor, etc., since they contain high-
voltage terminals and other components which are extremely dangerous.
(7) If two or more persons must work together, establish signals so that they can communicate to
confirm safety before proceeding to each new step.
8.Symbols Used in This Manual
The following warning indications are used in this manual to draw attention to information of particular importance. Read the instructions marked with these symbols carefully and follow them.
Indicates an imminent hazard which, if not avoided, will result in death or serious
DANGER
injury.
Eeoemm7pl008
Eeoemm7pl009
Indicates hazards which, if not avoided, could result in death or serious injury.
WARNING
Indicates hazards which, if not avoided, could result in minor injuries or damage to
CAUTION
devices or equipment.
Indicates precautions relating to operation or use.
NOTICE
INTRODUCTION
4292-E P-(i)
INTRODUCTION
Thank you very much for choosing our CNC system. This numerical control system is a expandable
CNC with various features including a multi-main CPU system. Major features of the CNC system
are described below.
(1) Expandable CNC with a multi-main CPU system
A multi-main CPU system on which up to seven engines (main CPUs) can be mounted is used.
An excellent performance and cost effectiveness have been realized as a leader of increasingly
rapid and accurate machine tools. The CNC system can be adapted to any models and variations by changing the construction of the main CPUs. The machine is controlled by a built-in
PLC.
(2) Compact and highly reliable
The CNC system has become compact and highly reliable because of advanced hardware
technology, including UCMB (Universal Compact Main Board), I/O link, and servo link. The
'variable software' as a technical philosophy of the OSPs supported by a flash memory. Functions may be added to the CNC system as required after delivery.
(3) NC operation panels
The following types of NC operation panels are offered to improve the user-friendliness.
• Color CRT operation panels
• Thin color operation panels (horizontal)
• Thin color operation panels (vertical)
One or more of the above types may not be used for some models.
(4) Machining management functions
These functions contribute to the efficient operation of the CNC system and improve the profitability from small quantity production of multiple items and variable quantity production of variations. Major control functions are described below.
Eeoemm7an001
a) Reduction of setup time
With increase in small-volume production, machining data setting is more frequently
needed. The simplified file operation facilitates such troublesome operation. The documents
necessary for setup, such as work instructions, are displayed on the CNC system to eliminate the necessity of controlling drawings and further reduce the setup time.
b) Production Status Monitor
The progress and operation status can be checked on a real-time basis on the screen of the
CNC system.
c) Reduction of troubleshooting time
Correct information is quickly available for troubleshooting.
(5) Help functions
When an alarm is raised, press the help key to view the content of the alarm.
This helps take quick action against the alarm.
To operate the CNC system to its maximum performance, thoroughly read and understand this
instruction manual before use.
Keep this instruction manual at hand so that it will be available when you need a help.
Screens
Different screens are used for different models. Therefore, the
screens used on your CNC system may differ from those shown
in this manual.
1. G Code Table ........................................................................................................................... 235
2. Table of Mnemonic Codes ........................................................................................................ 239
3. M Code Table ........................................................................................................................... 240
4. Table of Reserved Local Variable Words ................................................................................. 246
5. Table of System Variables ........................................................................................................ 247
SECTION 1 PROGRAM CONFIGURATIONS
SECTION 1PROGRAM CONFIGURATIONS
1.Program Types and Extensions
4292-E P-1
For OSP-E100M/E10M, four kinds of programs are used: schedule programs, main programs, subprograms, and library programs. The following briefly explains these four kinds of programs.
Eeoemm7p1001
Schedule Program
When more than one type of workpiece is machined using a pallet changer or other loading and
unloading equipment, multiple main programs are used. A schedule program is used to specify the
order in which the main programs are executed and the number of times the individual main program is executed. Using a schedule program makes it possible to carry out untended operation
easily.
It is not necessary to assign a program name. The END code must be specified at the end of a
schedule program. For details, refer to SECTION 12, “SCHEDULE PROGRAMS”.
Main Program
A main program contains a series of commands to machine one type of workpiece. Subprograms
can be called from a main program to simplify programming.
A main program begins with a program name which begins with address character “O” and ends
with M02 or M30.
Subprogram
A subprogram can be called from a main program or another subprogram. There are two types of
subprograms: those written and supplied by Okuma (maker subprogram), and those written by the
customer (user subprogram).
The program name, which must start with “O”, is required at the beginning of the subprogram. The
RTS command must be specified at the end of the subprogram. For details, refer to SECTION 10,
“SUBPROGRAM FUNCTIONS”.
Library Program
Subprograms and G code macros which are used frequently may be stored as library programs.
Since library programs are automatically stored in the operation buffer area when the power is
turned on, they can be accessed at any time.
When a library program is stored in the operation buffer area, both a file name and an extension are
stored. The file name format is shown below.
• Program file format
Main file name: Begins with alphabetic characters (max. 16 characters)
•••.
ExtensionMain file name
EIOEMM7P1001r01
• Extensions
SDF: Schedule program file
MIN: Main program file
MSB: Maker subprogram file
SSB: System subprogram file
SUB: User subprogram file
LIB: Library program file
2.Program Name
4292-E P-2
SECTION 1 PROGRAM CONFIGURATIONS
All programs are assigned a program name or a program number, and a desired program can be
called and executed by simply specifying the program name or number.
A program name that contains only alphabetic characters is called a program label and the one that
contains only numbers is called a program number. In this manual, both of them are referred to as a
program name.
Eeoemm7p1002
Program Name Designation
• Enter letters of the alphabet (A to Z) or numbers (0 to 9) following address character “O”. Note
that no space is allowed between “O” and a letter of the alphabet or a number. Similarly, no
space is allowed between letters of the alphabet and numbers.
• Up to four characters can be used.
• An alphabetic character can only be used in a program name if it begins with an alphabetic
character. Although a program beginning with an alphabetic character can contain a number in
it, one that begins with a number cannot contain an alphabetic character.
• Although all of the four characters may be numeric, program names of the type “OO***” (***:
alphanumeric) cannot be used since this kind of program name is used for system operation,
automating functions, etc.
• A block which contains a program name must not contain other commands.
• A program name may not be used for a schedule program.
• The program name assigned to a main program / subprogram must begin with address charac-
ter “O”.
• Since program names are handled in units of characters, the following names are judged to be
different program names.
• O0123 and O123
• O00 and O0
• All program names must be unique.
If program name “O1” is used for more than one program, the operation to call program “O1”
may call a program differing from the desired one.
4292-E P-3
SECTION 1 PROGRAM CONFIGURATIONS
3.
Sequence Name
All blocks in a program are assigned a sequence name that begins with address character “N” followed by an alphanumeric sequence.
Functions such as a sequence search function, a sequence stop function and a branching function
can be used for blocks assigned a sequence name.
A sequence name that contains only alphabetic characters is called a sequence label and the one
that contains only numbers is called a sequence number. In this manual, both of them are referred
to as a sequence name.
Sequence Name Designation
• Enter letters of the alphabet (A to Z) or numbers (0 to 9) following address character “N”.
• Up to five characters can be used.
• Both alphabetic characters and numbers may be used in a sequence name. If an alphabetic
character is used in a sequence name, however, the sequence name must begin with an alphabetic character.
• Although a sequence name must be specified at the beginning of a block, an optional block skip
code may be placed before a sequence name.
• Sequence numbers may be specified in any order.
• Since sequence names are handled in units of characters, the following names are judged to be
different sequence names.
Eeoemm7p1003
• N0123 and N123
• N00 and N0
• When a sequence label is used, place a space or a tab after the sequence label.
4.Program Format
4-1.Word Configuration
A word is defined as an address character followed by a group of numeric values, an expression, or
a variable name. If a word consists of an expression or a variable, the address character must be
followed by an equal sign “=”.
Examples:
X - 100
Address Numeric value
Word
• An address character is one of the alphabetic characters A through Z and defines the meaning
of the entry specified following it. In addition, an extended address character, consisting of two
alphabetic characters, may also be used.
Y = 100∗SIN[50]
Address
Expression
Word
Z = VC1+VC2
Address
Variable
Word
Eeoemm7p1004
EIOEMM7P1002r01
• Refer to SECTION 11, “Variable Function” for more information on variables.
• Hexadecimals may be used for numeric values.
Example: X#1000H (same as X4096)
4-2.Block Configuration
4292-E P-4
SECTION 1 PROGRAM CONFIGURATIONS
A group consisting of several words is called a block, and a block expresses a command. Blocks
Eeoemm7p1005
are delimited by an end of block code.
• The end of block code differs depending on the selected code system, lSO or EIA:
ISO: LF
ElA: CR
• A block comprises several words.
• A block may contain up to 158 characters.
A block consists of the following commands, for example.
LC
N__G__X__Y__F__S__T__M__
Feedrate
Sequence No.
Preparatory function
Coordinate values
Spindle speed
Tool No.
Miscellaneous function
FR
EIOEMM7P1003r01
4-3.Program
A program consists of several blocks.
Eeoemm7p1006
SECTION 1 PROGRAM CONFIGURATIONS
4-4.Programmable Range of Address Characters
4292-E P-5
The programmable ranges of numerical values of individual address characters are shown in the following table.
AddressFunction
OProgram name0000 - 9999Same as metric
NSequence name00000 - 99999Same as metric
G
X, Y, Z, U, V, W
I, J, K
RRadius of arc±99999.999mm±9999.9999inch
A, B, C
F
SSpindle speed0 - 65535Same as metric
TTool number1 - 9999Same as metric
M
H
D
P
Q
R
Preparatory func-
Coordinate values
(linear axis)
Coordinate values
of center of arc
Coordinate values
of rotary axis
Feed per minute
Feed per revolution
Dwell time period
Miscellaneous
Tool length offset
Cutter radius com-
pensation number
Dwell time period
(during fixed cycle)
Second dwell time
period (during fixed
Depth of cut (dur-
ing fixed cycle)
Repetition time
(schedule pro-
Cut starting level
(during fixed cycle)
tion
±99999.999mm±9999.9999inch
±99999.999mm±9999.9999inch
0.001 - 500.000
0.001 - 99999.999
function
1 to maximum tool
number
1 to maximum tool
0.001 - 99999.999
0.001 - 99999.999
cycle)
gram)
±99999.999mm±9999.9999inch
Programmable Range
MetricInch
0 - 399Same as metric
±360.0000degSame as metric
0.1 - 24000.0
mm/min
mm/rev
sec
0 - 511Same as metric
data number
data number
sec
sec
0 - 99999.999
mm
1 - 9999Same as metric
0.1 - 24000.0
inch/min
0.0001 - 50.0000
inch/rev
Same as metric
Same as metric
Same as metric
Same as metric
Same as metric
0 - 9999.9999inch
Eeoemm7p1007
Remarks
Alphabetic charac-
ters available
Alphabetic charac-
ters available
Mnemonics avail-
Multi-turn specifi-
cation
±9999.9999deg
able
*: An alarm occurs when any of the following addresses is specified more than once within a
block: X, Y, Z, U, V, W, A, B, C, F.
SECTION 1 PROGRAM CONFIGURATIONS
5.Mathematical Operation Functions
4292-E P-6
Mathematical operation functions are used to convey logical operations, arithmetic operations, and
trigonometric functions. A table of the operation symbols is shown below. Operation functions can
be used together with variables to control peripherals or to pass on the results of an operation.
Here, note that the logic operations and the function operations are available as optional functions.
Eeoemm7p1008
SECTION 1 PROGRAM CONFIGURATIONS
CategoryOperationOperatorRemarks
Exclusive OREOR0110 = 1010 EOR 1100 (See *3.)
Logical operation
Arithmetic operation
Trigonometric
functions, etc.
Brackets
Logical OROR1110 = 1010 OR 1100 (See *3.)
Logical ANDAND1000 = 1010 AND 1100 (See *3.)
NegationNOT1010 = NOT 0101
Addition+8 = 5 + 3
Subtraction-2 = 5 - 3
Multiplication*15 = 5 * 3
Division/ (slash)3 = 15/5
SineSIN0.5 = SIN [30] (See *4.)
CosineCOS0.5 = COS [60] (See *4.)
TangentTAN1 = TAN [45] (See *4.)
Arctangent (1)ATAN45 = ATAN [1] (value range: -90 to 90)
Arctangent (2)ATAN230 = ATAN 2 [1,(Square root 3)] (See *1.)
Square rootSQRT4 = SQRT [16]
Absolute valueABS3 = ABS [-3]
Decimal to binary
conversion
Binary to decimal
conversion
Integer imple-
mentation (rounding)
Integer implementation (truncation)
Integer implementation (raising)
Unit integer
implementation
(rounding)
Unit integer
implementation
(truncation)
Unit integer
implementation
(raising)
RemainderMOD2 = MOD [17, 5]
Opening bracket[Determines the order of calculation.
Closing bracket]
BIN25 = BIN [$25]
($ represents a hexadecimal number.)
BCD$25 = BCD [25]
ROUND128 = ROUND [1.2763 x 102]
FIX127 = FIX [1.2763 x 102]
FUP128 = FUP [1.2763 x 102]
DROUND13.265 = DROUND [13.26462] (See *2.)
DFlX13.264 = DFlX [13.26462] (See *2.)
DFUP13.265 = DFUP [13.26462] (See *2.)
(Expression in inner brackets is calculated first.)
4292-E P-7
*1.The value of ATAN2 [b, a] is an argument (range: -180° to 180°) of the point that is
expressed by coordinate values (a, b).
*2.In this example, the setting unit is mm.
*3.Blanks must be placed before and after the logical operation symbols (EOR, OR, AND,
NOT).
4292-E P-8
SECTION 1 PROGRAM CONFIGURATIONS
*4.Numbers after function operation symbols (SIN, COS, TAN, etc.) must be enclosed in brack-
ets “[ ]”. ( “a”, “b”, and “c” are used to indicate the contents of the corresponding bits.)
Logical Operations
• Exclusive OR (EOR) c = a EOR b
If the two corresponding values agree, EOR outputs 0.
If the two values do not agree, EOR outputs 1.
abc
000
011
101
110
• Logical OR (OR) c = a OR b
If both corresponding values are 0, OR outputs 0.
If not, OR outputs 1.
abc
000
011
101
111
• Logical AND (AND) c = a AND b
If both corresponding values are 1, AND outputs 1.
If not, AND outputs 0.
abc
000
010
100
111
• Negation (NOT) b = NOT a
NOT inverts the value (from 0 to 1, and 1 to 0).
ab
01
10
• Arc tangent (1) (ATAN)
θ = ATAN [b/a]
Arc tangent (2) (ATAN2)
θ = ATAN2 [b/a]
EIOEMM7P1004r01
• Integer implementation (ROUND, FIX, FUP)
Converts a specified value into an integer (in units of microns) by rounding off, truncating, or
raising the number at the first place to the right of the decimal point.
6.Optional Block Skip
4292-E P-9
SECTION 1 PROGRAM CONFIGURATIONS
[Function]
Blocks preceded by “/n” are ignored in automatic operation mode if the BLOCK SKIP switch, on the
machine panel, is set ON. If the switch is OFF, these blocks are executed normally. The optional
block skip function allows an operator to determine if a specific block should be executed or ignored
in automatic mode operation.
When the block skip function is called, the entire block will be ignored.
[Details]
• In the standard specification, one optional block skip can be specified; as an option, up to three
are possible. These are distinguished in code as follows: “/1”, “/2”, “/3”. Note that “/” has the
same meaning as “/1” when this option is selected.
• A slash code “/” must be placed at the start of a block. If it is placed in the middle of a block, an
alarm is activated. A sequence name may precede a slash code “/”.
• A slash code “/” may not be contained in the program name block.
• Blocks which contain a slash code “/” are also subjected to the sequence search function,
regardless of the BLOCK SKIP switch position.
• Sequence stop is not executed at a block which contains a slash code “/” in single block mode
operation if the BLOCK SKIP switch is ON. The succeeding block is executed, and then the
operation stops.
Eeoemm7p1009
SECTION 1 PROGRAM CONFIGURATIONS
7.Program Branch Function (Optional)
4292-E P-10
[Function]
Eeoemm7p1010
The program branch function executes or ignores the program branch command specified in a part
program according to the ON/OFF setting of the PROGRAM BRANCH switch on the machine panel.
The function corresponds to two program branch switches, PROGRAM BRANCH 1 and PROGRAM
BRANCH 2. If the switch is ON, the program branches when the following command is read.
• IF VPBR1 N*** The program branches to N*** block if the PROGRAM BRANCH 1 switch is
ON.
• IF VPBR2 N*** The program branches to N*** block if the PROGRAM BRANCH 2 switch is
ON.
Example:
IF VPBR1 N100
G00 X100 Z100
G00 Y100N100
IF VPBR1 N200
G00 X200 Z200
G00 Y200
N200
M02
Branching to N100 if PROGRAM BRANCH 1 switch is ON.
Branching to N200 if PROGRAM BRANCH 2 switch is ON.
EIOEMM7P1005r01
[Details]
• In operation method B (large-volume program operation mode), use a sequence label name to
specify the branch destination.
• The program branch function has the same restrictions as the branch function of User Task 1.
• A program branch command (IF VPBR1 N*** or IF VPBR2 N***) must be specified in a block
without other commands.
8.Comment Function (Control OUT/IN)
A program may be made easier to understand by using comments in parentheses.
• A comment must be parenthesized to distinguish it from general operation information. All
information placed in parentheses is regarded by the machine as comments.
• Comments are displayed in the normal character size.
Example:
N100 G00 X200 (FIRST STEP)
Comment
Eeoemm7p1011
EIOEMM7P1006r01
9.Message Function (Optional)
4292-E P-11
SECTION 1 PROGRAM CONFIGURATIONS
[Function]
For conditional branching it may be necessary to display a message, depending on the processing
at the destination of the branching. The message function is used in such cases, and the message
is displayed in enlarged characters.
[Format]
MSG (message statement)
[Details]
• The display of a message statement on the screen is twice the size of normal characters.
• If the MSG code is not followed by a message statement, the comment statement given last up
to the present block will be displayed.
• Up to 128 characters may be used in a message statement.
• The message function is possible only during machine operation mode.
• The following code can be used in the program to return the screen to he previous status after
the message has been displayed: NMSG
Eeoemm7p1012
10.Operation Methods and Program Storage Memory Capacity
(1) Operation Capacity
The NC has a memory to store machining programs. The memory capacity is selected depending on the size of the user program. On execution of a program, the program is transferred from
the memory to the operation buffer (RAM).
If the program size is larger than the operation buffer capacity, (for example, if the program size
is larger than 320 m (1050 ft.) although the operation buffer capacity is 320 m (1050 ft.)), the
program cannot be transferred from the memory to the operation buffer in batch (at one time).
Depending on the size of a program in comparison to the operation buffer capacity, two types of
operation methods are available (operation method A and operation method B), and restrictions
apply in programming according to the operation method used.
Eeoemm7p1013
Machining programMemory
Operation buffer
Program selection
(RAM)
Operation
EIOEMM7P1007r01
4292-E P-12
SECTION 1 PROGRAM CONFIGURATIONS
(2) Operation Methods
Select the operation method using the pop-up window MAIN PROGRAM SELECT (MEMORY
MODE) that appears when calling a program to be run. The operation method can be also
selected by the setting at the NC optional parameter (word) No. 11.
EIOEMM7P1008r01
• When A-Mtd is selected
Program running method A becomes effective.
The program to be executed is transferred to the operation buffer in batch.
This method is used when the program is smaller than the operation buffer capacity.
• When B-Mtd is selected
Program running method B becomes effective.
The program to be executed is called to the operation buffer in several segments.
This method is used when the program is larger than the operation buffer capacity.
Since schedule programs, subprograms, and library programs are generally called to the
operation buffer in batch, these programs must be created with restriction placed on their
capacities.
• When S-Mtd is selected
Program running method S becomes effective.
This method is used to execute a large program which does not use branch or subprogram
call functions.
4292-E P-13
SECTION 1 PROGRAM CONFIGURATIONS
• When selecting an operation method, also select the program size and whether the program
has a sub program branch or not (only in the case of operation A and B). The table below
shows the relation between the operation method and the program size.
ItemProgram of normal sizeLarge program
Program running methodMethod AMethod BMethod S
Main program
Sub program
Program size
limit
Sub program functionUsableUsableUnusable (alarm)
Branch functionUsableUsableUnusable (alarm)
Destination of
a jump specified in branch
command
Main program sequence label
limit
Program selection time*2*2Completed immediately
Library program
Schedule program
Main program
Sub program
Library pro-
gram
Schedule pro-
gram
Total program size is
limited to the operation
buffer capacity. *1
Sequence label or
sequence number
UnlimitedMax 30Unlimited
Up to the total size of stored main program
Total program size
depends on the
selected operation
buffer capacity. *1
Sequence label only
Sequence label or
sequence number
Total program size
depends on the
selected operation
buffer capacity. *1
-
-
*1.Use of extension memory can increase the operation buffer capacity.
*2.Time varies with the selected program size.
(3) Programming Restrictions for the Operation Method
For details of restrictions that must be taken into consideration when writing a program, refer to
SECTION 12, “PSELECT BLOCK”.
(4) Operation Buffer Expansion
The operation buffer capacity can be expanded to 320 m (1050 ft.), 640 m (2100 ft.), or 1280 m
(4200 ft.) within the range of the tape storage memory capacity.
The expanded memory capacity allows larger volume programs to be handled by Operation
Method A and Method B, individually.
• The maximum operation capacity of a main program when using operation method B
depends on tape storage capacity.
• The library program capacity is equivalent to the designated library program buffer size.
This means that the library program buffer size is always contained in the operation capacity
even if a library program is not registered.
• The number of subprograms and library programs stored in memory is independent of the
operation buffer size. They are always 126 and 65, respectively.
4292-E P-14
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
SECTION 2COORDINATE SYSTEMS AND COORDI-
NATE COMMANDS
1.Coordinate System
1-1.Coordinate Systems and Values
In order to move a cutting tool to a target position, a coordinate system must be established to specify the target position using coordinate values in the coordinate system.
The OSP-E100M/E10M uses three types of coordinate system (machine coordinate system, work
coordinate system, and local coordinate system). These coordinate systems are briefly explained
below.
• Machine coordinate system
The machine coordinate system is set by the machine tool manufactures. Although the setting
may be changed by the user, machine dependent setting values such as pitch error compensation data and travel limit values must be changed accordingly.
• Work coordinate system
A work coordinate system is set by the user.
• Local coordinate system
A local coordinate system set temporarily by the commands in a program.
The user can select the coordinate system to be used as needed from the coordinate systems
indicated above.
The coordinate value is represented by components of the axes which make up the coordinate
system. Usually, a maximum of six axis components is used (the number differs depending on
the NC unit specifications.)
Example:
X__Y__Z__W__A__C__
Eeoemm7p2001
EIOEMM7P2001r01
The number of programmable axes, that is, the number of axis components used to define a
coordinate value varies depending on the machine specifications. This manual, therefore, uses
the following designation to indicate a coordinate value.
IP__
1-2.Machine Zero and Machine Coordinate System
The reference point specific to the individual machine is referred to as the machine zero and the
coordinate system having the machine zero as the origin is referred to as the machine coordinate
system.
The machine zero is set for each individual machine using system parameters.
Since the travel end limits and the home positions are set in the machine coordinate system, the
user should not change the location of the machine zero at his/her own discretion.
A cutting tool may not always be moved to the machine zero.
Eeoemm7p2002
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
1-3.Work Coordinate System
4292-E P-15
The coordinate system used to machine workpieces is referred to as the work coordinate system.
• Work coordinate systems are established and stored with work coordinate system numbers in
the memory before starting operation. The desired work coordinate system may be called at
the start of machining.
• Work coordinate systems are set by specifying the distance from the machine zero to the origin
of a work coordinate system as an offset value (work zero offset).
• For details, see SECTION 4, “Selection of Work Coordinate System” and SECTION 4, “Change
of Work Coordinate System”.
1-4.Local Coordinate System
Programming the entire operation of a workpiece using only a work coordinate system may sometimes be difficult on some portions of the workpiece. In such cases, programming is facilitated by
setting a new coordinate system appropriate for a specific workpiece portion.
The new coordinate system is referred to as a local coordinate system.
• The desired local coordinate system can be established by specifying the origin in reference to
the origin of the presently selected work coordinate system and the angle of rotation on the
specified plane about the origin of the local coordinate system to be set with G11. Once a local
coordinate system has been established, all coordinate values are executed in the newly set
local coordinate system.
To change the local coordinate system to another one, the position of the origin of the new local
coordinate system and the angle of rotation about the origin should be specified with G11.
As explained above, a local coordinate system can be established only by specifying the coordinate values of the origin and the angle of rotation in a program.
Eeoemm7p2003
Eeoemm7p2004
• To designate coordinate values in the work coordinate system, cancel the local coordinate system by specifying G10.
• For details, refer to SECTION 4, “Parallel Shift and Rotation of Coordinates System”.
Coordinate system parallel shift amount
(Specified in a program)
Work zero offset amount
(Set by zero point data)
Machine zero offset amount
(Set by system parameter)
Zero point for position encoder
Rotating angle of local coordinate system
Local coordinate system zero point
Work coordinate system zero point
Machine zero
EIOEMM7P2002r01
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
2.COORDINATE COMMANDS
2-1.Numerically Controlled Axes
4292-E P-16
• The following table lists the addresses to be specified to control the axes.
AddressContents
Basic axisX, Y, Z
Parallel axisU, V, W
Rotary axisA, B, C
Circular interpola-
tion parameters
• An axis movement command consists of an axis address, a sign indicating the direction of the
axis movement, and a numeric value which describes the axis movement. Refer to “Absolute
and Incremental Commands” for the designation of numeric values.
• In this manual, to simplify the explanation for axis designation, “Xp”, “Yp”, and “Zp” are used
instead of the actual axis addresses. They represent the axis as follows:
Xp X-axis and the axis parallel to X-axis (U-axis)
Yp Y-axis and the axis parallel to Y-axis (V-axis)
Zp Z-axis and the axis parallel to Z-axis (W-axis)
• The maximum number of controllable axes is six. This capability varies depending on the NC
model.
l, J, K
RAddresses specifying the radius of an arc
Addresses corresponding to the three axes
orthogonal to one another
Addresses of three orthogonal axes parallel
to the basic axes
Addresses of rotary axis in a plane right
angle to the basic axis
Addresses specifying distances, parallel to
an individual axis, from a start point to the
center of an arc
Eeoemm7p2005
• The following table shows the number of simultaneously controllable axes in each of the axis
movement modes.
Number of Simultaneously Controllable
Axes (“n” represents the number of controllable axes.)
Positioningn
Linear interpolationn
Circular interpolation2
Helical cutting3
Manual operation1
Pulse handle operation1
In pulse handle operation, the optional 3-axis control function is available.
• The positive directions of the linear and rotary axes are defined as follows:
The definition of the coordinate axes and directions conforms to ISO R841.
ISO: International Organization of Standardization
2-2.Unit Systems
4292-E P-17
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
EIOEMM7P2003r01
The unit systems that can be used in a program are described below. Note that the unit system
selected for programming and the unit system used for setting data such as zero point, tool data,
and parameters are independent of each other. The unit systems to be used for inputting the data
are set at NC optional parameter (INPUT UNIT SYSTEM).
2-2-1.Minimum Input Unit
The minimum input unit is the smallest unit of a value that may be entered in a program. For a linear
axis, the minimum input unit is 0.001 mm or 0.0001 inch.
For the NC with metric / inch switchable specification, the unit system can be selected by the setting
at LENGTH UNIT SYSTEM of NC optional parameter (INPUT UNIT SYSTEM).
For a rotary axis, the minimum input unit is 0.001 degree or 0.0001 degree. Either 0.001 degree or
0.0001 degree can be selected by the setting at ANGLE of NC optional parameter (INPUT UNIT
SYSTEM).
2-2-2.Basic Input Unit
The input unit may be changed to the “basic” unit by the setting at LENGTH of NC optional parameter (INPUT UNIT SYSTEM). The fundamental units are then 1 mm, 1 inch, 1 degree, and 1 second.
Eeoemm7p2006
Eeoemm7p2007
Eeoemm7p2008
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
2-2-3.Numeric Values (inch / metric switchable as optional function)
4292-E P-18
As the unit for specifying program values, “mm”, “deg.”, “sec”, etc. are used. For these units, a decimal point may be used.
• Cautions on using a decimal point value
a) A decimal point value must not be used for addresses O, N, G, and M.
b) If a decimal point is not entered in a numeric value, the decimal point is assumed to exist at
the end of the specified numeric value.
c) If a value is set below the specified minimum input unit, the data is processed in the follow-
ing manner.
• For addresses S, T, H, D, Q, etc. that require integer type data, the value below the minimum input unit is truncated.
• For addresses that use real data, the value below the minimum input unit is rounded.
• The input unit of dimension commands is determined by the setting at NC optional parameter
(INPUT UNIT SYSTEM) or NC optional parameter (bit) No. 3, bit 0 to bit 7 and No. 4, bit 0. How
these bits set the input unit is shown below.
• NC optional parameter (INPUT UNIT SYSTEM) screen
Eeoemm7p2009
EIOEMM7P2004r01
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
• NC optional parameter (bit) No. 3, bit 0 to bit 7 and No. 4, bit 0
4292-E P-19
Parame-
ter No.
Bit
No.
3
40
Contents
Sets the unit system of length, “inch” or “mm”.
0
(*2)
Sets the unit of 1 mm, 1 inch, 1 deg., and 1
1
sec.
With Check
Mark
inchmm
Unit of 1 mm, 1
inch, 1 deg.,
and 1 sec is
selected.
Without Check
Mark
Conforms to the
setting for bit 2
to bit 5 and bit 7
of No. 3 and bit
0 of No. 4.
2Sets unit of length, “0.01 mm” or “0.001 mm”.0.01 mm0.001 mm
Sets the unit of feedrate, 0.1 mm/min, 0.01
3
inch/min, or 1 mm/min, 0.1 inch/min
Sets the unit of feedrate, 0.001 mm/rev, 0.0001
4
inch/rev, or 0.01 mm/rev, 0.001 inch/rev
0.1 mm/min
0.01 inch/min
0.001 mm/rev
0.0001 inch/rev
1 mm/min
0.1 inch/min
0.01 mm/rev
0.001 inch/rev
5Sets the unit of time, “0.01 sec” or “0.1 sec”.0.01 sec0.1 sec
Sets the unit place at “1 mm”, “1 inch”, “1 deg”,
6
and “1 sec” when decimal point input is
selected.
Unit place is set
at “1 mm”, “1
inch”, “1 deg”,
and “1 sec”.
Conforms to the
setting for bit 1
to bit 5, and bit
7.
7Sets the unit time, “0.001 sec” or “0.1 sec”.(*1)0.001 sec0.1 sec
Sets the unit of angle, “0.001 deg” or “0.0001
deg”.
0.0001 deg0.001 deg
*1:The unit of time is always “0.01 sec” if “1” is set for bit 5.
*2:The setting for bit 0 is valid only when the inch/mm switchable specification is selected.
• Examples of parameter setting are given below.
(: With check mark, O: Without check mark)
EIOEMM7P2005r01
EIOEMM7P2006r01
An asterisk (*) in the table indicates setting of “0” or “1” is allowed.
•µm / mm unit system
The unit system that handles the data in units of mm (inch) for real data and in units of microns
(1/10000 inch) is called the “µm / mm unit system”. For this unit system, the unit is determined
4292-E P-20
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
depending on whether or not a decimal point is used in the data when YES is selected at REAL
NUMBER of NC optional parameter (INPUT UNIT SYSTEM). If a decimal point is used, the unit
of “mm (inch)” is set and if a decimal point is not used, the unit of “microns (1/10000 inch)” is
set.
Example 1:
X100.
X100
100mm
100µm
EIOEMM7P2007r01
If an expression or a variable is used for the command of this unit system, the values are
always treated as real data.
Example 2: Local variables
PX 100=
PX=X
100mm
PX 100.=
PX=X
100µm
EIOEMM7P2008r01
(The value is not “100 µm”.)
4292-E P-21
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
The following is a comparison how a numeric value is interpreted according to whether or not a
decimal point is used when “µm / mm unit system” is selected.
Command ElementValue
X100100 µm–
X=100100 µm–
X100.100 mmDecimal point
X=100.100 mmDecimal point
X100+100200 mmExpression
X=100.+100200 mmExpression
X=100+100.200 mmExpression
X100+100*2300 mmExpression
X=100+100*2300 mmExpression
X=100+100*2.5350 mmExpression
PK=100
X=100+PK
PK=100.
X=200-PK
X=200-100100 mmExpression
X-100100 µm–
X-100.-100 mmDecimal point
X+100100 m–
X+100.100 mmDecimal point
X=ROUND[100]100 mm (*1)Expression
X=FIX[100.]100 mm (*1)Expression
X=FUP[-100]-100 mm (*1)Expression
X=ROUND[100.]100 µm (*2)–
X=FIX[100.]100 µm (*2)–
X=FUP[-100.]-100 µm (*2)–
200 mmVariable
100 mmVariable
“mm unit system”
element
LA1=4F=FIX[LA1]4 mm/min
Variable
* 1.Decimal point is selected for designation of ROUND/FIX/FUP real number command.
* 2.Integer is selected for designation of ROUND/FIX/FUP real number command.
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
2-3.Travel Limit Commands (G22, G23) (Optional)
4292-E P-22
Since the NC is equipped with absolute position encoders, it is possible to set the travel limit with the
Eeoemm7p2010
software. That is, if the travel limit is set as an absolute value by the software, the limit switch usually used to detect the travel limit may not be used. If the travel limit is set in this manner, it is possible to change the travel limit position by changing the travel limit value in a program.
Note that two types of travel limit, one set by the manufacture (factory-set travel limit) and the other
set by the user (user-set travel limit), are provided.
(1) Factory-Set Travel Limit (Soft-Limit)
• The travel limit is set in accordance with the maximum travel distance from the machine zero
of each axis. The travel limits are set both in the positive (P) and negative (N) directions
using the system parameters.
• The area inside of the set values (from the N direction travel limit to the P direction travel
limit) is available for operation (operation permitted area). The outside area is called the
operation inhibited area and axis movements into this area are not allowed.
• The travel limit function always monitors the programmed tool path. If the tool path enters
the operation inhibited area, even if the end point lies in the operation permitted area, this
function disables the tool movement.
The travel limit may be set by the user either with user parameters or by programs using the
programmable travel limit function. Since both settings (user parameter and programmed command) establish an identical area and since the data is stored in the same area, the data
entered last becomes the valid data, updating the previously set data. For example, when the
travel limits are set using a program after setting them with the user parameters, the travel limit
setting data is replaced with the data set for the user parameters. When setting the travel limits,
both positive (P) and negative (N) direction limit data must be set.
The area between the P and N travel limits is defined as the operation permitted area and that
outside the travel limits is defined as the operation inhibited area.
• Setting the travel limits by a program
EIOEMM7P2009r01
4292-E P-23
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
[Programming format]
G22 X__Y__Z__α__β__γ__I__J__K__P__Q__R__
X
Y
Z
α
β
γ
I
J
K
P
Q
R
X Programmable limit in the P direction of X-axis
...........
Y Programmable limit in the P direction of Y-axis
...........
Z Programmable limit in the P direction of Z-axis
...........
α Programmable limit in the P direction of 4th-axis
...........
β Programmable limit in the P direction of 5th-axis
...........
γ Programmable limit in the P direction of 6th-axis
...........
I Programmable limit in the N direction of X-axis
...........
J Programmable limit in the N direction of Y-axis
...........
K Programmable limit in the N direction of Z-axis
...........
P Programmable limit in the N direction of 4th-axis
...........
Q Programmable limit in the N direction of 5th-axis
...........
R Programmable limit in the N direction of 6th-axis
...........
EIOEMM7P2010r01
The numeric values entered are processed as coordinate values in the work coordinate system.
“α”, “β”, and “γ” above do not represent an address. In actual programming, use axis
addresses of the 4th to 6th axis (A, B, C, U, V, and W).
[Details]
• An alarm occurs if the command indicated above is executed for the machine equipped with a
multi-turn type rotary axis.
• The data set using G22 is backed up and is therefore valid even after the power is turned off.
• If the setting data is outside the factory-set soft limits, an alarm will occur.
• Which of the travel limits - the limits set with the system parameters (soft-limit) or the limits set
with user parameters or by a program (programmable limits) - becomes valid as the operation
permitted area can be set by specifying an appropriate G code.
G22: Selects the travel limits set with user parameters or those newly set by G22 are as the
travel limits and checks the program according to the selected operation permitted area.
G23: Cancels the G22 mode and selects the travel limits set with the system parameters. The
program is checked according to the selected operation permitted area.
If G22 is specified independently, the programmable limit values set with user parameters
become valid.
• For setting the travel limits with user parameters, refer to User Parameter, SECTION 4 PARAMETER in III DATA OPERATION of OPERATION MANUAL.
• The programmed tool path is checked for entry into the operation inhibited area even if the end
point lies inside the operation permitted area.
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
2-4.Home Position Command (G30)
4292-E P-24
[Function]
The term “home position” refers to a particular position that can be set for individual machines. The
home position command is used to move the axes to the preset home position.
The home position is used as the tool change position or the pallet change position.
[Programming format]
G30 P__
P: Home position number. Up to 32 home positions may be set.
Home positions are set with coordinate values in the machine coordinate system using system
parameters.
Eeoemm7p2011
CAUTION
The operating sequence of the axes to move to the home position and the position of the home
position are determined by the machine tool builder and differ according to machine. Before
operating the machine, you must thoroughly understand the axis operating sequence and the
position of the home position for each home position number.
For details on home positions, refer to SECTION 4 PARAMETER in III DATA OPERATION of
OPERATION MANUAL.
How the individual axes move to the home position is determined according to the setting for NC
optional parameter (bit) No. 46, bit 2, whether the path is generated along a straight line (linear interpolation mode) or not.
NOTICE
After the execution of a home position command, it is necessary to execute positioning for all
axes in the G90 mode (absolute command) before starting the next operation.
SECTION 2 COORDINATE SYSTEMS AND COORDINATE COMMANDS
2-5.Absolute and Incremental Commands (G90, G91)
4292-E P-25
For the designation of axis movement distance, two types of commands (absolute commands, incre-
Eeoemm7p2012
mental commands) are available.
(1) Absolute Commands
G90 specifies the absolute dimensioning mode.
In this mode, the coordinate values in the selected work coordinate system are used to specify
the movement of axes.
(2) Incremental Commands
G91 specifies the incremental dimensioning mode.
In this mode, the axis movement distance from the current position to the target position is used
to specify the movement of axes.
[Details]
• It is not permissible to specify G90 and G91 in the same block.
• Either G90 or G91 is always valid.
• Which of G90 and G91 is made valid when the power is turned ON or when the NC is reset
is determined by the setting for a parameter (NC optional parameter (bit) No. 18, bit 4).
• When an incremental command needs to be designated right after the completion of a fixed
cycle, specify the movement of the cycle axis of the fixed cycle in the absolute mode before
specifying incremental commands.
G81 X_Y_Z_R_F_
X_Y_
•
•
•
•
X_Y_
G80
G00 Z_
G91 X_Y_Z_
•
•
•
•
EIOEMM7P2011r01
• After executing a command such as G15, G16, or G92 that changes a coordinate system, it
is necessary to execute positioning in the G90 mode for all axes. (After changing the coordinate system, a coordinate system must be established using absolute commands.)
SECTION 3FEED FUNCTIONS
1.Rapid Feed
4292-E P-26
SECTION 3 FEED FUNCTIONS
In the rapid feed mode, each of the axes moves at the specified rapid feedrate independently of
other axes that are moved at the same time. Note that rapid feedrate differs depending on the
machine specification. Consequently, the individual axes arrive at the target point at different times.
Override is possible.
2.Cutting Feed
2-1.Feed per Minute (G94)
[Function]
This function sets the feedrate per minute of a cutting tool with a numeric value following address
“F”.
[Programming format]
G94
Setting unit:
Selection is possible from among 1 mm/min, 0.1 mm/min, 1 inch/min, 0.1 inch/min and 0.01 inch/min
by setting NC optional parameter (INPUT UNIT SYSTEM).
Setting range: 0.1 ~ 24000.0 mm/min, 0.01 ~ 2400.00 inch/min
[Details]
• The allowable maximum feedrate that is called the “clamp feedrate” is set with NC optional
parameter (long word) No. 10. If an axis is going to move beyond this limit, its feedrate is
clamped at this clamp feedrate and the following alarm message is displayed at the alarm display line on the screen.
4204 ALARM-D Feedrate command limit over (replacing)
Eeoemm7p3001
Eeoemm7p3002
• The programmed feedrate can be overridden. The clamp feedrate is applied to the actual feedrate, or the overridden feedrate.
2-2.Feed per Revolution (G95)
[Function]
This function sets the feedrate per revolution of a cutting tool with a numeric value following address
“F”.
[Programming format]
G95
Setting unit:
Selection is possible from among l mm/rev, 0.01 mm/rev, 0.001 mm/rev, 1 inch/rev, 0.001 inch/rev
or 0.0001 inch/rev by setting NC optional parameter (INPUT UNIT SYSTEM).
Setting range:0.001 ~ 500.000 mm/rev, 0.0001 ~ 50.000 inch
[Details]
• Since the clamp feedrate is set in units of “mm/min” it is converted into a value in “mm/rev” units
using the following formula:
fm = fr × N
where,
N = spindle speed (rpm)
fm = feedrate (mm/min)
fr = feedrate (mm/rev)
Eeoemm7p3003
2-3.F1-digit Feed Function (Optional)
4292-E P-27
SECTION 3 FEED FUNCTIONS
The F1-digit feed function has two types of control:
Eeoemm7p3004
Switch-type control:
In a program, feedrate commands are written with F1 to F8 and the actual feedrate is set with the
corresponding setting switches (up to 8 sets) provided on the machine operation panel.
Parameter-type control:
The feedrate commands are written in a program in the same manner as with the switch-type control. Actual feedrates are set for 9 sets of parameters F1 through F9.
For details of feedrate setting procedure for the parameter-type control, refer to the SECTION 11
F1-digit Feed Command Function in Special Functions Manual.
• F1-digit feed designation is distinguished from F4-digit feed designation as follows.
(1) F1-digit Feed
Switch-type control: An integer in the range of 1 to 8
Parameter-type control: An integer in the range of 1 to 9
(2) F4-digit Feed
If a real number (including a variable) is specified following address F (F1. for example), the
feedrate command is interpreted as an F4-digit command. Therefore, for the F1-digit feed function, a variable cannot be used to specify 1 to 8 (for switch-type control) or 1 to 9 (for parametertype control).
Examples:
F1
F5.
LA1 = 8
F = LA1
The feedrate is determined by the setting of rotary switch F1.
Feedrate = 5 mm/min
Feedrate = 8 mm/min
EIOEMM7P3001r01
• The selected feedrate code (F1 to F8 in the case of switch-type control and F1 to F9 in the
case of parameter-type control) is not cleared even when the NC is reset. It is cleared if an
F4-digit command is specified or when power is turned OFF and then back ON.
• A feedrate override setting is invalid if a feedrate is specified by an F1-digit feedrate command.
• If an F1-digit feedrate command is specified in the G95 mode (feed per revolution), an alarm
occurs.
SECTION 3 FEED FUNCTIONS
3.Exact Stop Check Function (G09, G61, G64)
4292-E P-28
[Function]
• During axis feed control, the calculated value always precedes the actual value when an axis is
moving to the target point. Therefore, if the calculated value is at the target point, the actual
value is behind the calculated value and is not at the target position. If the next block is executed at the time the calculated value reaches the target point, the actual position follows the
calculated value, causing the tool path to stray from the programmed path at the join between
two blocks.
• The exact stop function successfully eliminates errors caused by the axis control indicated
above. With the exact stop function, operation for the next block does not start until the actual
value arrives at the target point even if the operation of the current block has completed, so that
the tool path exactly follows the programmed path.
The state where the current position has reached the target point is referred to as the “in-posi-
tion” state. To establish the in-position state, the target point is defined with a band that is set
using a system parameter.
Calculated value
Actual value
Eeoemm7p3005
EIOEMM7P3002r01
• The exact stop check mode may be either one-shot (valid only for a programmed block) or
modal, as explained in the following.
Note that in the positioning mode (G00, G60), an exact stop check is always executed regardless of whether or not an exact stop check G code is specified.
[Programming format]
• One-shot exact stop check command: G09 IP
Exact stop check is executed only in the specified block.
• Modal exact stop check command: G61 IP__
Exact stop check is executed for all blocks until a cutting mode (G64) is specified.
• Cutting mode (cancel G61): G64 IP__
At a join between blocks containing cutting commands, the commands in the next block are
executed immediately so that axis movements will not be decelerated at the join.
Even in the cutting mode, however, an exact stop check is executed in the positioning mode
(G00, G60) or in a block containing the one-shot exact stop command (G09).
An exact stop check is also executed at blocks where cutting feed does not continue.
SECTION 3 FEED FUNCTIONS
4.Automatic Acceleration and Deceleration
4292-E P-29
At the start and end of axis movements, axis feedrate is automatically accelerated and decelerated.
Eeoemm7p3006
(1) Automatic Acceleration/Deceleration in Positioning Mode / Manual Feed Mode
Axis feed is accelerated and decelerated in a linear pattern as shown below.
Feedrate
Start pointEnd point
Position
EIOEMM7P3003r01
(2) Automatic Acceleration/Deceleration in the Cutting Feed Mode (G01, G02, G03)
In the cutting feed mode, axis feed is automatically accelerated and decelerated in the appropriate pattern as shown below.
Feedrate
Start pointEnd point
Position
(3) Processing Between Blocks
Type of New Block
PositioningCutting FeedNo Axis Movement
Type of Old Block
PositioningOOO
Cutting FeedOXO
No axis movementOOO
O: Program advances to the next block after executing the in-position check.
X: Program advances to the next block without executing the in-position check.
The term “in-position check” indicates the check if the actual axis position is within a predetermined width from the specified coordinate value. The in-position width is set for a system
parameter.
(4) Exact Stop (G61, G09)
As indicated in the table above, since in-position check is not performed when cutting feed
blocks continue, the join between cutting feed blocks will be dulled or rounded. The exact stop
function prevents the join between such blocks from being dulled or rounded. For details, refer
to SECTION 3, “Exact Stop Check”.
EIOEMM7P3004r01
5.Following Error Check
4292-E P-30
SECTION 3 FEED FUNCTIONS
Following error is defined as the difference between the command value output from the NC and the
Eeoemm7p3007
output of the position encoder. A DIFF over alarm occurs if a following error exceeds a certain value
during rapid feed or cutting feed of an axis.
Axis Move Distance
Command position
Actual machine position
Following error (ODIFF)
Calculated value with acceleration/deceleration processing
EIOEMM7P3005r01
6.Positioning (G00)
4292-E P-31
SECTION 3 FEED FUNCTIONS
[Function]
Eeoemm7p3008
The axes move from the present position to the target position at rapid feedrate. During this movement, axes are automatically accelerated and decelerated.
[Programming format]
G00 IP__
In the positioning operation executed in the G00 mode, in-position check is executed. The commands in the next block are executed only after the in-position state is confirmed (in-position width is
set for a system parameter).
[Details]
• Whether positioning is executed in the linear pattern or a non-linear pattern is determined by
the setting for NC optional parameter (bit) No. 46, bit 0.
a) Linear interpolation pattern
The tool path is generated along a straight line from the actual position to the target position.
In this movement, the feedrates of the individual axes are determined within the individual
rapid feedrates so that positioning time can be minimized.
Target position
Actual position
EIOEMM7P3006r01
b) Non-linear interpolation pattern
The individual axes move independently of each other at the individual rapid feedrates.
Therefore, the resultant tool path is not always a straight line.
Target position
Actual position
EIOEMM7P3007r01
• The rapid feedrate of the individual axes is set by the machine tool builder and cannot be
changed.
• The in-position range is set for each axis using system parameters.
7.Uni-directional Positioning (G60)
4292-E P-32
SECTION 3 FEED FUNCTIONS
[Function]
Eeoemm7p3009
• In the positioning called by G00, positional error is unavoidable if positioning is executed in different directions due to backlash in the axis feed mechanism. If positioning is always executed
in the same direction, the influence of backlash is eliminated and therefore high positioning
accuracy can be obtained. The function to always execute positioning in the same direction is
called the unidirectional positioning function.
• If the positioning is going to be executed in the direction opposite to the direction set at positioning direction of NC optional parameter (uni-directional positioning), the axis passes over the target point once and then moves back to the target point. The amount by which the axis passes
beyond the target point (overrun amount) is set at either G60 overrun amount of NC optional
parameter (uni-directional positioning) or user parameter.
[Programming format]
G60 IP__
G00
P direction
(positive)
N direction
(negative)
Target position
G60
P direction
(positive)
Target position
Overrun amount
N direction
(negative)
EIOEMM7P3008r01
[Details]
• When the linear interpolation mode positioning specification is provided, whether or not the
positioning is executed in the linear interpolation pattern is determined by the setting for NC
optional parameter (bit) No. 46, bit 1.
• If the direction of the specified positioning agrees with the positioning direction set at positioning
direction of NC optional parameter (uni-directional positioning), the axis does not pass over the
end point.
Start point
Overrun
• G60 is a modal command.
End pointStart point
EIOEMM7P3009r01
• Uni-directional positioning is not valid for a cycle axis or shift movement in a fixed cycle.
• Uni-directional positioning is not valid on an axis for which no pass-over amount is set.
• Mirror image is not applied to the positioning direction.
8.Linear Interpolation (G01)
4292-E P-33
SECTION 3 FEED FUNCTIONS
[Function]
Eeoemm7p3010
In the G01 linear interpolation mode, axes move directly from the actual position to the specified target point at the specified feedrate.
[Programming format]
G01 IP__F__
IP: Target point (end point)
F: Feedrate. The specified feedrate remains valid until updated by another value.
[Details]
• A feedrate value specified with address “F” is cleared to zero when the NC is reset. Note that
the F command value is saved when the NC is reset if a feedrate is specified in an F1-digit command.
• The feedrate for each axis is as indicated below. (For values X, Y, and Z, convert them into an
incremental value.)
G01 XxYyZzFf
Calculation of feedrates:
X-axis feedrate: FX =
Y-axis feedrate: FY =
Z-axis feedrate: FZ =
Where, L = x2+y2+z
x
f
L
y
f
L
z
f
L
2
EIOEMM7P3010r01
For the rotary axis, the unit of feedrate is regarded as indicated below:
1 mm/min = 1 deg/min
1 inch/min = 1 deg/min
In linear interpolation including a rotary axis, the feedrates are determined according to the formulas
given above for the individual axes.
Example:
G91 G01 X10 C20 F30.0
<“mm” input>
X-axis feedrate =x 30 13.41 mm/min
C-axis feedrate =x 30 26.83 deg/min
10
102+20
20
102+20
2
2
EIOEMM7P3011r01
<“inch” input>
4292-E P-34
SECTION 3 FEED FUNCTIONS
X-axis feedrate =x 30 13.41 inch/min
C-axis feedrate =x 30 26.83 deg/min
10
102+20
20
102+20
2
2
• In the inch system, it is possible to specify whether “F1” is interpreted as 1 deg/min or as 25.4
deg/min by the setting for NC optional parameter (bit) No. 15, bit 7.
9.Plane Selection (G17, G18, G19)
[Function]
Selecting a plane is necessary in order to perform the following functions:
• Circular interpolation (Helical cutting)
• Angle command (AG)
• Cutter radius compensation
• Coordinate rotation (Local coordinate system)
• Fixed cycle
• Coordinate calculation
EIOEMM7P3012r01
Eeoemm7p3011
• Area machining
The planes that can be selected are indicated below:
• Whether a basic axis (X, Y, Z) or a parallel axis (U, V, W) is selected is determined by the axis
addresses specified in the block containing G17, G18 or G19.
Examples:
4292-E P-35
SECTION 3 FEED FUNCTIONS
G17
G17
G18
G18
G19
G19
Y
_
X
Y
_
U
X
_
Z
X
_
W
Z
_
Y
W
_
Y
plane
XY
_
plane
UY
_
plane
ZX
_
plane
WX
_
plane
YZ
_
plane
YW
_
EIOEMM7P3015r01
• In blocks where none of G17, G18, and G19 are specified, the selected plane remains
unchanged even if axis addresses are changed.
• In blocks where G17, G18, or G19 is specified, if an axis address is omitted, the basic axis (X,
Y, Z) is assumed to be omitted.
Examples:
G17
G17
G17
G18
G18
X
U
W
plane
XY
plane
XY
_
plane
UY
_
plane
ZX
plane
WX
_
EIOEMM7P3016r01
• If a command is specified for an axis that does not exist in the selected plane, the programmed
command will nonetheless be executed as programmed, and the selected plane will be temporarily ignored.
• The plane to be selected when the power is turned ON or the NC is reset can be designated by
the setting at THE G CODE TO BE SET AUTOMATICALLY (PLANE) of the NC optional parameter (AUTO SET AT NC RESET/POWER ON).
• An alarm occurs if both the basic axis and its parallel axis are specified in a plane selection
block.
10.Circular Interpolation (G02, G03)
4292-E P-36
SECTION 3 FEED FUNCTIONS
[Function]
Eeoemm7p3012
The circular interpolation function moves a tool from the actual position to the specified position
along an arc at the specified feedrate.
[Programming format]
Arc on Xp-Yp plane : G17
Arc on Zp-Xp plane : G18
Arc on Yp-Zp plane : G19
G02
Xp__Yp__F__
G03
G02
Zp__Xp__F__
G03
G02
Yp__Zp__F__
G03
R_
I_J_
R_
K_I_
R_
J_K_
EIOEMM7P3017r01
Xp = X-axis or U-axis
Yp = Y-axis or V-axis
Zp = Z-axis or W-axis
• G codes used for the circular interpolation function are indicated below.
G17 : Plane selection: Sets the circular arc in the Xp-Yp plane.
G18 : Plane selection: Sets the circular arc in the Zp-Xp plane.
G19 : Plane selection: Sets the circular arc in the Yp-Zp plane.
G02 : Direction of rotation : Sets the clockwise direction.
G03 : Direction of rotation : Sets the counterclockwise direction.
Two axes among Xp, Yp, and Zp, G90 mode:
Sets the end point in the work coordinate system
Two axes among Xp, Yp, and Zp, G91 mode:
Sets the position in reference to the start point with signed values.
Two axes among I, J, and K:
Sets the distance from the start point to the center with signed values.
R: Sets the radius of an arc.
F: Sets the feedrate.
[Details]
• Direction of rotation, clockwise or counterclockwise, is defined when viewing the plane from the
positive direction of the Zp-axis (Yp-axis, Xp-axis) on the Xp-Yp (Zp-Xp, Yp-Zp) plane, as
shown in the illustrations below.
EIOEMM7P3018r01
• The end point is defined by either an absolute value or an incremental value according to G90
or G91.
4292-E P-37
SECTION 3 FEED FUNCTIONS
• The center point of an arc is determined by the I, J, and K values which correspond to Xp, Yp,
and Zp, respectively. Their coordinate values are always specified as incremental values,
regardless of G90 or G91.
End point
Center
Start point
End point
Center
Start point
End point
Center
Start point
EIOEMM7P3019r01
A minus sign should be used for the I, J, and K values when necessary.
• The end point of an arc can be designated by specifying the coordinate value on one of the two
axes.
If only one axis is specified, the processing may be selected from the following two methods.
a) For the omitted axis, the previous command value is used as the end point of the arc. For
this processing, set “0” for NC optional parameter (bit) No. 20, bit 1.
Vertical axis
Horizontal axis
Start pointEnd point
X -70.711, Y -70.711
ex :
G02 X70.711 I70.711 J70.711
X -70.711, Y -70.711
G02 X10 I70.711 J70.711
When programming an arc as illustrated to the left,
the end point of the arc can be designated with
only the coordinate value of the horizontal axis,
since the coordinate value of the vertical axis is
the same at the start and end points. An alarm
occurs if the end point does not lie on an arc.
The left program defines a clockwise arc:
Radius: 100
Center: (0, 0)
Start point: (-70.711, -70.711)
End point: (70.711, -70.711)
The left program will cause an alarm, since the
end point (10, -70.711) is not on the arc.
EIOEMM7P3020r01
b) For the omitted axis, the coordinate value is calculated using the coordinate value of the
specified axis. For this processing, choose point on arc at command value for the axis not
programmed (single-axis) of NC optional parameter (circular interpolation).
When programming an arc as illustrated in the left,
the end point can be designated with only the
horizontal axis coordinate value. The vertical axis
coordinate value is calculated from the horizontal
axis coordinate value.
EIOEMM7P3021r01
G02
Start point
End point
G03
• If more than one end point is possible, the one which is reached first in the designated arc direction is selected.
The operations explained above also apply when designation of a vertical axis is omitted.
• The center of an arc can be defined by specifying the radius (R) of the arc instead of specifying
I, J, and K. If an arc is specified by the radius, four arcs that pass the same start and end points
are defined. To define a specific arc from among these four arcs, an R value is used in the manner indicated below.
• Clockwise arc (G02)
An arc whose central angle is smaller than or equal to 180 degrees: Radius R > 0
An arc whose central angle is greater than 180 degrees: Radius R < 0
• Counterclockwise arc (G03)
An arc whose central angle is smaller than or equal to 180 degrees: Radius R > 0
An arc whose central angle is greater than 180 degrees: Radius R < 0
End point
End point
Start point
ii) Counterclockwise arci) Clockwise arc
Start point
EIOEMM7P3023r01
• The feedrate in circular interpolation is the feedrate component tangential to the arc.
[Supplement]
• If I, J, or K is omitted, it is regarded that “0” is specified.
• An arc with radius 0 (R = 0) cannot be specified.
• If the values for Xp, Yp, and Zp are omitted, an arc having the start and end points on the same
point is defined in the following manner:
a) If the center is specified by I, J, and/or K, a 360-degree arc
b) If the radius is specified by R, a 0-degree arc
• It is not possible to specify R, and I, J, and K at the same time.
• It is not possible to specify any axis parallel to the axes which make up the selected plane. For
example, designation of the W-axis is not allowed when the Z-X plane is selected.
• An alarm will occur if the difference in radius between the start point and the end point of an arc
is greater than or equal to the value set at arc check data (difference in radius between start
and end) of the NC optional parameter (circular interpolation).
11.Helical Cutting (G02, G03) (Optional)
4292-E P-39
SECTION 3 FEED FUNCTIONS
[Function]
Eeoemm7p3013
Helical cutting or helical interpolation may be executed by synchronizing circular interpolation with
linear interpolation of the axis which intersects at right angles the plane in which the arc is defined.
[Programming format]
XpYp plane : G17
α : An axis not parallel to the axes comprising the arc plane
G02
Xp__Yp__α__F__
G03
R_
I_J_
EIOEMM7P3024r01
[Details]
• Helical cutting may also be programmed on the Zp-Xp (G18) and Yp-Zp (G19) planes, using a
format similar to that above.
• To program helical cutting, simply add the command of the axis which intersects the arc plane
to the circular interpolation.
• Helical cutting is possible for an arc having a center angle of smaller than 360 degrees.
• The feedrate specified by an F command is valid for circular interpolation. Therefore, the fee-
drate in the direction of the linear axis is calculated by the following formula:
Feedrate in the linear axis direction =
Motion distance of the linear axis
Arc length
x F
• Tool length offset is valid for the axis at right angles to the arc plane.
• Cutter radius compensation is valid only for circular interpolation commands.
EIOEMM7P3025r01
SECTION 4 PREPARATORY FUNCTIONS
SECTION 4PREPARATORY FUNCTIONS
4292-E P-40
G codes consisting of address character G and a three-digit number (00 to 399) set the mode that
specifies how the commands are executed.
Instead of using address character G, some G codes are expressed by mnemonics. A mnemonic
code consists of up to eight alphabetic characters (A to Z).
• Valid range of G codes
One-shot G codes:
Valid only in the specified block. Such G codes are automatically canceled when a program
advances to the next block.
Modal G codes:
Once specified, such G codes remain valid until another G code in the same group is specified.
• Special G codes
Mnemonic codes used for subprogram call and those used as branch instructions are called
special G codes.
Special G codes must be specified at the beginning of a block and entry of such codes at a middle of a block is not allowed. Note, however, that a slash “/” code (optional block skip code) or
a sequence name may be placed before a special G code.
• For the tables of G codes and mnemonic codes, refer to “G Code Table” and “Table of Mne-
monic Codes” in APPENDIX.
1.Dwell Command (G04)
[Function]
At the end of the specified block, the dwell function suspends the execution of a program for the
specified length of time before proceeding to the next block.
[Programming format]
The following two programming formats may be used to specify the dwell function.
Eeoemm7p4001
Eeoemm7p4002
• G04 F__
F: Sets the length of dwell time
The unit of dwell time can be selected from 1, 0.1, 0.01 and 0.001 seconds by the NC optional
parameter (INPUT UNIT SYSTEM).
The maximum programmable dwell time is 99999.999 seconds.
• G04 P__
P: Sets the length of dwell time
The unit of dwell time is selected in the same manner as when specified by F.
SECTION 4 PREPARATORY FUNCTIONS
2.Programmable Mirror Image (G62) (Optional)
4292-E P-41
[Function]
Eeoemm7p4003
The mirror image function creates a geometry which is symmetric around a specific axis. In addition
to the mirror image switch on the machine panel, the programmable image function creates mirror
images using programmed commands.
The axis which is in the mirror image mode is identified on the screen display; a dash “-” is added
before the axis name on the ACTUAL POSITION screen.
[Programming format]
G62 IP
0
1
0 : Normal (Mirror image OFF)
1 : Mirror image
EIOEMM7P4001r01
[Details]
• The actual state of the mirror image function based on the specification of G62 and the MIRROR IMAGE switch setting is displayed in the table below.
• A block in which G62 is specified must not contain any other commands.
• The mirror image function is modal.
• The axes not specified in the G62 block are assumed to be in the normal mode.
• All axes are in the normal mode when the power supply is turned on.
• Whether all axes will be set in the normal mode or not when the NC is reset can be set at AT AN
NC RESET, CLEARS THE G62 MIRROR IMAGE FOR ALL AXES of NC optional parameter
(MIRROR IMAGE).
• The coordinate system (local or work) in which the mirror image function will be active can be
selected at local/work coordinate system select of NC optional parameter (MIRROR IMAGE).
Example:
G11 X40 Y10 P45
G01 X5
G62 X1
X30
Y5
Y5
Y30
Y5
S__F__
EIOEMM7P4002r01
4292-E P-42
SECTION 4 PREPARATORY FUNCTIONS
(1) If work is selected at local/work coordinate system select of NC optional parameter (MIRROR
IMAGE)
X - Y
: Work coordinate system
X' - Y'
: Local coordinate system
EIOEMM7P4003r01
(2) If local is selected at local/work coordinate system of NC optional parameter (MIRROR IMAGE)
EIOEMM7P4004r01
SECTION 4 PREPARATORY FUNCTIONS
3.Work Coordinate System Selection (G15, G16)
4292-E P-43
[Function]
20 sets of work coordinate systems are supplied as a standard feature and this can be expanded to
50, 100 or 200 sets optionally.
[Programming format]
Modal G code: G15 Hn (0 ≤ n ≤ 200)
Once a new work coordinate system “n” is set using the modal G code, the coordinate values specified in the same and later blocks are interpreted as coordinate values in the selected work coordinate system “n”.
One-shot G code: G16 Hn (0 ≤ n ≤ 200)
If a new work coordinate system “n” is set using the one-shot G code, only the coordinate values
specified in the same block are interpreted as coordinate values in the selected work coordinate
system “n”.
[Details]
• The work coordinate system number between 1 and 200 is specified by “n” (1 to 200). If “0” is
specified for “n”, the machine coordinate system is selected.
• When the power supply is turned ON, and after the NC is reset, the work coordinate system
previously selected by G15 is automatically selected.
• G15 and G16 may not be specified in the following modes:
• Cutter radius compensation mode
• Three-dimensional offset mode
• Geometry enlargement/reduction mode
Eeoemm7p4004
• Coordinate system parallel shift/rotation mode
CAUTION
Axis feed commands specified immediately after G15 must be specified in the absolute mode.
SECTION 4 PREPARATORY FUNCTIONS
4.Work Coordinate System Change (G92)
4292-E P-44
[Function]
The work coordinate system change function changes the work coordinate system.
[Programming format]
G92 IP__
[Details]
• G92 automatically changes the work zero offset value of the presently selected work coordinate
system so that the coordinate value of the present tool position will be the coordinate value
specified as IP__.
• G92 changes only the work coordinate system that is selected at the time it is executed; it does
not affect any other work coordinate systems.
• The coordinate value IP__ specified in this block is always treated as an absolute value regardless of the specification of G90 (absolute mode) and G91 (incremental mode).
• For the axis not specified with the coordinate value P, the work zero offset value remains
unchanged.
• G92 may not be specified in the following modes:
• Cutter radius compensation mode
• Three-dimensional offset mode
• Geometry enlargement/reduction mode
• Coordinate system parallel shift/rotation mode
• Machine coordinate system selected mode
Eeoemm7p4005
5.Unit System Check (G20, G21) (Optional)
[Function]
The unit system check function checks the unit system selected by the setting at LENGTH UNIT
SYSTEM of NC optional parameter (INPUT UNIT SYSTEM). If the selected system does not agree
with the unit system specified by G20 / G21, an alarm occurs.
[Programming format]
G20:Checking for the selection of the inch system
An alarm occurs if the metric system is selected by the setting for the parameter.
G21:Checking for the selection of the metric system
An alarm occurs if the inch system is selected by the setting for the parameter.
Eeoemm7p4006
4292-E P-45
SECTION 4 PREPARATORY FUNCTIONS
6.Coordinate System Conversion Functions (Optional)
6-1.Parallel Shift and Rotation of Coordinate Systems (G11, G10)
[Function]
The parallel shift / rotation function shifts or rotates a work coordinate system. The new coordinate
system defined by shifting or rotating a work coordinate system is called a local coordinate system.
It is possible to cancel a local coordinate system.
[Programming format]
Parallel shift / rotation of coordinate system: G11 IP__ P__
IP:Parallel shift amount to establish a local coordinate system
Specify the shift amount as an absolute value in reference to the origin of the presently
selected work coordinate system, regardless of the selected dimensioning mode (G90, G91)
or the mirror image state.
P:Rotation amount to establish a local coordinate system
Specify the angle of rotation in units of 1 degree, 0.001 degree, or 0.0001 degree in accordance with the selected unit system (LENGTH UNIT SYSTEM and ANGLE of NC optional
parameter (INPUT UNIT SYSTEM)).
If “P0” is specified or a P command is not specified, only work coordinate system shift takes
place, without rotation.
Rotation of a work coordinate system is executed in the plane (G17, G18, G19) that is active
when G11 is specified, and it does not affect the axes not included in this plane. The direction of rotation is counterclockwise viewed from the positive direction of the axis not included
in the rotation plane.
Specify the angle of rotation as an absolute value, regardless of the selected dimensioning
mode (G90, G91).
• Cancellation of local coordinate system: G10
When G10 is specified, the parallel shift amount and angle of rotation are canceled.
Eeoemm7p4007
[Details]
• Once G11 is executed, the NC enters the state in which a local coordinate system is defined. If
G11 is executed again in this state, it will change the previously defined local coordinate system. At the second designation of G11, if the designation of an axis address is omitted, the
value designated in the first G11 is assumed to apply. The set values are cleared when the
power supply is turned OFF / ON, the NC is reset, or G10 (local coordinate system cancel) is
executed.
• A block which contains G10 or G11 must not contain any other G codes.
• G10 and G11 are modal. G10 is set when the power is turned ON or when the NC is reset.
• G11 must not be specified in the following modes:
• Geometry enlargement/reduction mode
• Machine coordinate system selected mode
• Copy function mode
4292-E P-46
SECTION 4 PREPARATORY FUNCTIONS
[Example program]
If a local coordinate system is used, the example workpiece shown below would be programmed as
indicated in the example program.
Machine coordinate system
Zero point of local coordinate system
Zero point of work coordinate system
Y0
N1
G15
G90
G00
N2
G01
X60
F100
N3
Y40
N4
X0
N5
Y0
N6
G17
G11
X20X0Y10
N7
X0
Y0
N8
X30
N9
Y10
N10
X0
N11
Y0
N12
G10
...................................
∗ : The zero offset values of work coordinate system 1 are : x= 25, y = 15
H01
..........
P40
....................
....................
Selecting work coordinate system 1
Setting a local coordinate system
Canceling a local coordinate system
EIOEMM7P4005r01
6-2.Copy Function (COPY, COPYE)
4292-E P-47
SECTION 4 PREPARATORY FUNCTIONS
[Function]
The copy function is used to facilitate part machining by repeating the same pattern with parallel
shift and rotation.
First, specify parallel shift and rotation of a local coordinate system using COPY instead of G11,
then program the pattern to be repeated. Finally, specify the incremental value of parallel shift /
rotation.
[Programming format]
Parallel shift/rotation of local coordinate system: COPY IP__ P__ Q__
IP:Initial value of parallel shift component to establish a local coordinate system
Specify this as an absolute value in reference to the origin of the presently selected work
coordinate system.
P:Initial value of rotation component to establish a local coordinate system
Specify this value in units of 1 degree, 0.001 degree, or 0.0001 degree in accordance with
the selected unit system (“LENGTH UNIT SYSTEM” and “ANGLE” of NC optional parameter
(INPUT UNIT SYSTEM)).
If a P command is not specified in the G11 mode, the previous setting is valid.
Q:The number of times the pattern should be repeated.
Setting range: 1 to 9999
Default value: 1
Repeated pattern program: COPYE IP__ P__
IP:Incremental value for parallel shift of a local coordinate system.
Default value: 0
P:Incremental value for rotation of a local coordinate system.
Default value: 0
Eeoemm7p4008
[Details]
• Both G11 and COPY may be specified while a local coordinate system is established by the
execution of G11. Once COPY is specified, however, an alarm occurs if G11 or COPY is specified again.
• If COPY is specified in the main program selected for operation method B (large-volume tape
operation), designation of IF and GOTO is not permissible in the program that defines the pattern to be repeated.
The size of the program beginning with COPY and ending with COPYE must be within 10 m (33
ft) in tape length.
[Example program]
Zero point of local
coordinate system
G11
G01
COPY
G01
G03
G01
COPYE
X15
X30
Q4
X30
X0
X0
Y25
P - 30
F100
M03
Y0
...........................................
Y30I - 20J10
Y30
.........................................
P90
4292-E P-48
SECTION 4 PREPARATORY FUNCTIONS
Zero point of work coordinate system
Start point of arc
End point of arc
∗ : Circular interpolation commands must not be specified in the block immediately
after the COPY block and the one immediately before the COPYE block.
EIOEMM7P4006r01
4292-E P-49
SECTION 4 PREPARATORY FUNCTIONS
7.Workpiece Geometry Enlargement / Reduction Function
(G51, G50) (Optional)
[Function]
The workpiece geometry enlargement / reduction function enlarges or reduces the geometry
defined by a program in reference to the point specified in a local coordinate system. If a local coordinate system is not specified, a work coordinate system is used to specify the reference point for
enlargement / reduction.
[Programming format]
Enlargement / reduction of geometry: G51 IP __ P__
IP:The center of the enlargement / reduction of geometry.
Specify this point in a local coordinate system.
For axes not specified in this block, the coordinate value (in the local coordinate system) of
the point at which G51 is specified is assumed to apply.
P:Multiplication factor for enlargement or reduction.
Programmable range: 0.000001 to 99.999999
Default value: 1
P0
P1 - P4
P1' - P4'
: Center of enlargement / reduction
: Programmed geometry
: Reduced geometry
Eeoemm7p4009
Cancellation of enlargement / reduction : G50
[Details]
• The enlargement/reduction function is made valid or invalid on individual axes according to the
setting for NC optional parameter (geometry enlargement/reduction). However, an alarm will
occur in the radius check if the parameter setting differs among the axes in the plane specified
for circular interpolation.
• The enlargement/reduction function does not affect the following:
• The following amounts for Z-axis movement in a fixed cycle
• Pecking feed and retraction amount in the deep hole drilling fixed cycle along Z-axis (G73,
G83)
• X- and Y-shift amount in the fine boring and back boring fixed cycle along Z-axis (G76, G87)
EIOEMM7P4007r01
4292-E P-50
SECTION 4 PREPARATORY FUNCTIONS
Example:
Cutter radius compensation and enlargement and reduction of workpiece geometry
EIOEMM7P4008r01
[Example program]
An example program for setting a local coordinate system and enlarging/reducing workpiece geometry is shown below.
N1
N2
N3
N4
N5
N6
G17
G90
G01
G11
G51
X40
Y20
X0
Y0
X50
X20
Y30
Y10
P45
P0.5
Geometry after setting a local coordinate
system and reducing geometry
Setting of local coordinate system
Reduction of geometry
Positioning at P'1
Positioning at P'2
Positioning at P'3
Positioning at P'4
Geometry after setting a local coordinate system
Local coordinate
system
Reduction only
Geometry defined by a program
Work coordinate system
EIOEMM7P4009r01
SECTION 5 S, T, AND M FUNCTIONS
SECTION 5S, T, AND M FUNCTIONS
4292-E P-51
This section describes the S, T, and M codes which specify necessary machine operations other
than axis movement commands.
S: Spindle speed
T: Tool number for tool change cycle
M: Turning solenoids and other similar devices on and off
Only one of each of these types of code may be specified in one block.
1.S Code Function (Spindle Function)
[Function]
The spindle function specifies a spindle speed with a numeric value (up to five digits) entered following address S.
[Details]
• The desired spindle speed (min
S.
Programmable range: 0 to 65535
• If an S command is specified with axis movement commands in the same block, the S command becomes valid at the same time axis movement commands are executed.
• Although an S command is not canceled when the NC is reset, it is cleared when the power
supply is turned off.
• To execute a spindle rotation command (M03, M04), an S command must be specified in the
same or a previous block.
-1
) is directly specified by a numeric value following the address
Eeoemm7p5001
Eeoemm7p5002
2.T Code Function
[Function]
The tool function selects a tool in the machine with a numeric value (up to four digits) entered following address T.
[Details]
• The programmable range of a T command is indicated below.
Programmable range: 0 to 9999
• When a T code is executed, the next tool is prepared (indexing the next tool in the magazine, or
taking the next tool out of the magazine and setting it in the ready station position).
• The actual tool change cycle is executed by M06.
• If a T command is specified with axis movement commands in the same block, the execution
timing of the T code can be selected from the following two timings:
Executed simultaneously with axis movement commands
Executed after the completion of axis movement commands
Eeoemm7p5003
SECTION 5 S, T, AND M FUNCTIONS
3.M Code Function (Miscellaneous Function)
4292-E P-52
[Function]
The M code function outputs an M code number, consisting of a three-digit number and address M,
and the strobe to the PLC. The programmable range of M codes is from 0 to 511.
3-1.Examples of M Codes
The followings are examples of M codes.
(1) M02, M30 (End of Program)
These M codes indicate the end of a program.
When M02 or M30 is executed, the main program ends and reset processing is executed. The
program is rewound to its start. (In the case of a schedule program, execution of M02 or M30 in
the main program does not reset the NC.)
(2) M03, M04, M05 (Spindle CW/CCW and Stop)
These M codes control spindle rotation and stop; spindle CW (M03), spindle CCW (M04), and
spindle stop (M05).
(3) M19 (Spindle Orientation)
The M19 command is used with machines equipped with the spindle orientation mechanism.
The spindle orientation function stops the spindle at a specified angular position.
• Multi-point spindle indexing
By specifying “RS=angle” following M19, it is possible to index the spindle at the specified
angular position.
Although the following explanation uses M19 as an example, the same applies to M118 and
M119.
M19 RS = θ
Eeoemm7p5004
Eeoemm7p5005
•θ represents the desired index angle and it is specified in units of 1°. If a value smaller
than 1° is specified, it is truncated.
• Programmable range of θ: 0 to 360°
•θ specifies the desired index angle of the spindle, measured in the CW rotation angle in
reference to the spindle orientation position.
[Supplement]
• If M19 (M118, M119) is specified without argument RS, ordinary spindle orientation is performed. That is, the called operation is the same as that called by “M19 RS=0”.
• RS must always be specified in the same block as M19 (M118, M119).
(4) M52 (Fixed Cycle - Return to the Retract End)
In various fixed cycles, this command sets the return position of the cycle axis 0.1 mm away
from the travel limit of the Z-axis in the positive direction.
For details, refer to SECTION 7, “Fixed Cycle Operations”.
(5) M53 (Fixed Cycle - Return to the Specified Point)
In various fixed cycles, this command sets the return position of the cycle axis at the position
specified by G71.
For details, refer to SECTION 7, “Fixed Cycle Operations”.
(6) M54 (Fixed Cycle - Return to Point R Level)
In various fixed cycles, this command sets the return position of the cycle axis at the position
specified by R command.
For details, refer to SECTION 7, “Fixed Cycle Operations”.
4292-E P-53
SECTION 5 S, T, AND M FUNCTIONS
(7) M132, M133 (Single Block Valid/Invalid)
These M codes set whether the single block function is made invalid (M132) or valid (M133)
independently of the setting of the single block switch on the machine operation panel.
(8) M201 to M210 (M Code Macro)
By setting the program names which correspond to M201 to M210 in the parameters, the sub
programs can be executed by specifying the M codes.
For details of M code macro, refer to SECTION 10, “G and M Code Macro Functions”.
(9) M238, M239 (Soft-override Valid/Invalid)
These commands set whether or not the soft-override value (%) set for system variables
<VFSOV> is valid (M238) or invalid (M239) for the cutting feedrate (F command × override
value).
(10) M00 (Program Stop)
After the execution of M00, the program stops. If the NC is started in this program stop state,
the program restarts.
(11) M01 (Optional Stop)
When M01 is executed while the optional stop switch on the machine operation panel is ON, the
program stops. If the NC is started in this optional stop state, the program restarts.
(12) M06 (Tool Change)
This M code is used with machines equipped with the tool change mechanism as the tool
change cycle start command.
These M codes are used with machines equipped with the rotary table as the fourth axis to
specify the direction of rotary table rotation; CW (M15), CCW (M16).
For details of the rotary table control, refer to “Additional Axis (Rotary Axis) Function” is SPECIAL FUNCTIONS Manual No.2.
These M codes are used with machines equipped with the rotary table as the fifth axis to specify the direction of rotary table rotation; CW (M115), CCW (M116)
For details of rotary table control, refer to “Additional Axis (Rotary Axis) Function” is SPECIAL
FUNCTIONS Manual No.2.
(15) M118, M119 (Spindle Index - CCW, Shorter Path)
These M codes are used with machines equipped with the spindle index mechanism as the
spindle orientation direction specifying command.
[Programming format]
Usually, in the G01, G02, and G03 modes, the spindle must be rotating to execute axis feed.
These M codes are set to ignore this condition (M130) or validate it (M131).
Even in the status in which spindle speed override control from the PLC is valid, the spindle
speed override function can be made invalid (M134) or valid (M135) with these commands.
These M codes set whether the axis feed override function is made invalid (M136) or valid
(M137) independently of the ON status of the axis feed override signal from the PLC.
(19) M138, M139 (Dry Run Valid / Invalid)
These M codes set whether the dry run function is made invalid (M138) or valid (M139) independently of the setting of the dry run switch on the machine operation panel.
4292-E P-54
SECTION 5 S, T, AND M FUNCTIONS
(20) M140, M141 (Slide Hold Valid / Invalid)
These M codes set whether the slide hold function is made invalid (M140) or valid (M141) independently of the setting of the slide hold switch on the machine operation panel.
(21) M234 to M237 (Gear Selection Range for Synchronized Tapping)
These M codes set the gear selection range for synchronized tapping.
For details, refer to “Torque Monitoring Function” in Synchronized Tapping of SPECIAL FUNCTIONS Manual.
(22) M326, M327 (Torque Monitor ON / OFF for Synchronized Tapping)
These M codes turn ON (M326) and OFF (M327) the torque monitor mode for synchronized
tapping.
These M codes are used with machines equipped with the rotary table as the sixth axis to specify the direction of rotary table rotation; CW (M331), CCW (M332)
For details of rotary table control, refer to “Additional Axis (Rotary Axis) Function” is SPECIAL
FUNCTIONS Manual No.2.
(24) M396 to M399 (Gear Position Selection for Synchronized Tapping)
These are gear position commands, specially for synchronized tapping, introduced by the gear
selection range specifying M codes (M234 to M237) and the S command. They are automatically generated by the NC.
• M396: 1st gear command for synchronized tapping
• M397: 2nd gear command for synchronized tapping
• M398: 3rd gear command for synchronized tapping
• M399: 4th gear command for synchronized tapping
SECTION 6 OFFSET FUNCTIONS
SECTION 6OFFSET FUNCTIONS
1.Tool Length Offset Function (G53 - G59)
4292-E P-55
[Function]
The tool length offset function compensates for the position of a cutting tool so that the tip of the cutting tool is located at the programmed position.
Available G Codes
IP:Current position of tool tip after compensation
H:Tool offset number
The standard tool offset numbers are H00 to H50, and this can be expanded to H00 to
H100, H200, or H300.
The offset amount of H00 is always zero.
Offset data is set in the tool data setting mode.
Setting range: 0 to ±999.999 mm (0 to ±39.3700 inches)
Eeoemm7p6001
[Details]
• The displayed actual tool position value always includes the tool length offset amount.
• The tool length offset cannot be applied to two or more axes at the same time or to the rotary
axis.
• The tool length offset may be changed directly without having to cancel the previous command
with G53.
• When the NC is reset, H00 is automatically set.
SECTION 6 OFFSET FUNCTIONS
2.Cutter Radius Compensation (G40, G41, G42)
2-1.Cutter Radius Compensation Function
4292-E P-56
[Function]
The cutter radius compensation function automatically compensates for the cutter radius.
Programming the geometry of a workpiece as it is will not result in a correct final product because
the size (diameter) of the tool is not taken into consideration. It would, however, be extremely complicated and difficult to develop a program which takes the tool diameter into account. This problem
may be solved by a function called cutter radius compensation which automatically compensates for
the tool diameter. If the cutter radius compensation function is used for programming, the correctly
offset tool center path is automatically generated by programming the tool path along the geometry
of workpiece to be machined.
[Programming format]
G40: Cancel cutter radius compensation (The mode automatically selected when the power is
turned ON.)
For details, refer to “Tool Movement when Cutter Radius Compensation is Canceled”.
G41: Cutting at left (Offset - the left side as seen from the tool moving direction; downward cut-
ting)
For details, refer to “Changing Compensation Direction in Cutter Radius Compensation
Mode”.
G42: Cutting at right (Offset to the right side as seen from the direction of tool motion; upward cut-
ting)
The cutter radius compensation mode is set when either G41 or G42 is specified and this
mode is canceled by G40. For details, refer to “Changing Compensation Direction in Cutter
Radius Compensation Mode”.
G17: Xp-Yp plane selection Select the plane in the same manner as in the G02 or G03 mode.
G18: Zp-Xp plane selection Select the plane in the same manner as in the G02 or G03 mode.
G19: Yp-Zp plane selection Select the plane in the same manner as in the G02 or G03 mode.
D**:Cutter radius compensation number. (For details, refer to “Notes on Cutter Radius Compen-
sation”.)
Eeoemm7p6002
4292-E P-57
SECTION 6 OFFSET FUNCTIONS
[Supplement]
• The explanation below assumes G17 (Xp-Yp plane), which is automatically set when power is
turned ON. For the Zp-Yp plane and the Yp-Zp plane, the same explanation applies.
• Entry to the cutter radius compensation mode is allowed only in the G00 or G01 mode. An
alarm occurs if the cutter radius compensation mode is called in other modes.
• The mode is changed to the cutter radius compensation mode in the first block that contains a
command that actually causes axis movement after the designation of the cutter radius compensation command.
• The terms “inside” and “outside” are defined as follows:
The angle made between consecutive tool paths is measured at the workpiece side and “inside”
and “outside” are defined by the magnitude of this angle. If the angle is larger than 180°, it is
defined as “inside” and if the angle is in the range between 0 and 180°, it is defined as “outside”.
EIOEMM7P6001r01
• The symbols used in the illustrations in “Tool Movement in Start-up” to “Notes on Cutter Radius
Compensation” have the following meaning:
Single block stop point
:
S
Linear motion
:
L
Circular motion
:
C
Tangent to an arc
:
T
Cutter radius compensation amount
:
D
Angle at the workpiece side
:
θ
Cross point, made when a programmed path (or the tangent to an arc) is shifted
Outside cutting at an acute angle of 0.1° or less is considered to be “inside” as shown below.
EIOEMM7P6008r01
EIOEMM7P6009r01
2-2-4.Start-up with Imaginary Approach Direction
4292-E P-60
SECTION 6 OFFSET FUNCTIONS
If the block which starts up the cutter radius compensation includes any I__, J__, or K__ belonging
Eeoemm7p6006
to the offset plane (I__, J__ in the case of G17 plane), the axes move to the target point specified in
this block from the direction defined by I__ and/or J__. In this case, note that the cross point is
always calculated regardless of whether the cutting is “inside” or “outside.”
Imaginary approach
direction
N1 G41
N2
N1 G41
N2
Imaginary approach
direction
X5000 Y5000 I-1J1D1
X100000
X5000 Y5000 I-1J1D1
X100000
EIOEMM7P6010r01
If no cross point exists, positioning is executed to the point obtained by a vertical shift by the compensation amount from the target point specified in the G41 block.
N1 G41
N2
Imaginary approach direction
X5000 Y5000 I-1J0
X100000
EIOEMM7P6011r01
SECTION 6 OFFSET FUNCTIONS
;
2-3.Tool Movement in Cutter Radius Compensation Mode
Eeoemm7p6007
NOTICE
This section describes how the tool moves after the cutter radius compensation mode has been
established until that mode is canceled.
In the cutter radius compensation mode, the following four axis movement modes can be specified: G00, G01, G02, and G03. In this mode, up to three blocks which do not contain movement
commands of the axes in the selected plane may be given successively. However, if zero movements of the axes in the selected plane are specified successively in four blocks, or even one
block of zero movement of an axis in the selected plane is specified, the commands are processed in the manner shown below, resulting in over-or under-cutting. Therefore, avoid such
commands in a program.
Example: Consecutive 4 blocks (zero movements of the axes in the selected plane)
Example: One block (zero movement of the axes in the selected plane)
Over-cutting•
Stops 5 times
in single block
•
N4 G91 X5000 Y5000
N5 X0
N6 X5000
•
•
EIOEMM7P6012r01
EIOEMM7P6013r01
2-3-1.Inside Cutting (θ ≥ 180°)
4292-E P-62
SECTION 6 OFFSET FUNCTIONS
(1) Straight line - Straight line
(2) Straight line - Arc
Eeoemm7p6008
EIOEMM7P6014r01
(3) Arc - Straight line
EIOEMM7P6015r01
EIOEMM7P6016r01
4292-E P-63
SECTION 6 OFFSET FUNCTIONS
(4) Arc - arc
(5) Exception
There is an exception in processing where inside cutting at 0.1 degrees or less for the straight
line - straight line configuration is replaced by outside cutting (this is explained later) because
the ordinary method of finding the cross point will deviate significantly from the command value.
EIOEMM7P6017r01
EIOEMM7P6018r01
(6) The processing shown above is limited to the straight line - straight line configuration. In other
cases, such as the straight line - arc shown below, the ordinary method is used.
2-3-4.Inside Cutting, with Failure to Find Cross Point
4292-E P-66
SECTION 6 OFFSET FUNCTIONS
EIOEMM7P6027r01
As shown in the illustration below, there may be situations in which a cross point exists with a small
compensation amount (D1), but not with a large compensation amount (D2). In this case, an alarm
occurs and operation stops.
In the single block mode, the alarm occurs in the block which precedes the one which will cause the
alarm state. In other modes, the alarm occurs several blocks before the block causing the “no cross
point” condition.
Alarm stop (in the single block mode)
Eeoemm7p6011
EIOEMM7P6028r01
2-4.Tool Movement when Cutter Radius Compensation is Canceled
[Function]
When the following commands are executed in the cutter radius compensation mode, the cutter
radius compensation cancel mode is set.
[Programming format]
G40 G00 (G01) Xp__ Yp__
The axis movement mode for canceling the cutter radius compensation mode must be either G00 or
G01.
Outside cutting at an acute angle of 1 degree or less is considered to be “inside” as shown
below.
EIOEMM7P6034r01
EIOEMM7P6035r01
2-4-4.Independent G40 Command
4292-E P-69
SECTION 6 OFFSET FUNCTIONS
G40 given independently will position the axes at a point shifted in the vertical direction by an
amount equivalent to the compensation amount (D) from the position specified in the preceding
block.
Straight line
Stops two times
in the single block mode
2-4-5.Cancel with Imaginary Approach Direction
If the block which cancels the cutter radius compensation mode includes any I__, J__, or K__
belonging to the offset plane (I__, J__ in the case of G17 plane), the axes move to the target point
specified in this block from the direction defined by I__ and/or J__. In this case, note that the cross
point is always calculated regardless of whether the cutting is “inside” or “outside”.
Eeoemm7p6016
G41 X__Y__
•
•
•
•
•
•
G40
Eeoemm7p6017
N6 G41 X10000
N7 G40 X20000 Y5000I-1J-1
EIOEMM7P6036r01
Imaginary approach
direction
Imaginary approach direction
N6 G41 X10000
N7 G40 X20000 Y5000I1J-1
EIOEMM7P6037r01
4292-E P-70
SECTION 6 OFFSET FUNCTIONS
If no cross point exists, positioning is executed to the point obtained by a vertical shift by the compensation amount from the target point specified in the block immediately preceding the G40 block.
N6 G41 X10000
N7 G40 X20000 Y5000I1J0
EIOEMM7P6038r01
2-5.Changing Compensation Direction in Cutter Radius Compensa-
tion Mode
• The direction of compensation may be changed even in the cutter radius compensation mode
by executing G41 or G42 or by reversing the sign (plus or minus) of the compensation amount.
G Code
G41
G42
• Execution conditions
Mode
G41G41Not valid
G42G42
G41G42
G42G41
When changing the offset direction, there are no distinctions between inside and outside cutting, but there are differences depending on whether or not a cross point exists.
The following descriptions assume that the compensation amount is positive.
Command
Offset to left
(cutting left side)
Offset to right
(cutting right side)
Straight line -
Straight line
(When the plus or minus sign of the offset amount is not
Positive/Negative Sign
+-
Offset to right
(cutting right side)
Offset to left
(cutting left side)
Straight line -
Arc
ExecutableAlarm if no cross point exists
Arc - Straight
line
changed)
Eeoemm7p6018
Arc - Arc
2-5-1.With Cross Point
4292-E P-71
SECTION 6 OFFSET FUNCTIONS
(1) Straight line - Straight line
(2) Straight line - Arc
Eeoemm7p6019
EIOEMM7P6039r01
(3) Arc - Straight line
(4) Arc - Arc
EIOEMM7P6040r01
EIOEMM7P6041r01
EIOEMM7P6042r01
2-5-2.Without Cross Point
4292-E P-72
SECTION 6 OFFSET FUNCTIONS
(1) Straight line - Straight line
(2) Straight line - Arc
Eeoemm7p6020
EIOEMM7P6043r01
2-5-3.Circular Arc Forming an Overlapping Circle
If an overlapping circle (exceeding a full circle) is generated as the result of offset direction change,
the tool will move along a shorter arc to reach the target point. To avoid this, the circular arc should
be divided.
EIOEMM7P6044r01
Eeoemm7p6021
EIOEMM7P6045r01
SECTION 6 OFFSET FUNCTIONS
2-6.Notes on Cutter Radius Compensation
2-6-1.Specifying the Cutter Radius Compensation Amount
4292-E P-73
• The compensation amount is specified as a D command. A D command is usually specified
with G41 or G42 in the same block. If no D command is included in a G41 or G42 block, the
previously specified D command is used.
• The range of cutter radius compensation numbers is from D00 to D50 for the standard specification, and this can be expanded to D00 to D100, D200, or D300.
The compensation amount of D00 is “0”. The compensation data is set in the tool data setting
mode.
2-6-2.Changing the Compensation Amount
If the compensation amount is changed in the compensation mode, the new compensation amount
becomes valid starting at the end of the block in which the new compensation amount is specified.
Eeoemm7p6022
Eeoemm7p6023
N1 G41 X__Y__D1
•
•
•
•
•
•
N6 Xa1 Yb1
N7 Xa2 D2
N8 Xa3 Yb3
2-6-3.Actual Position Data Display
For the present position display, the coordinate value of the tool center is displayed.
2-6-4.Inside Cutting of an Arc Smaller than the Cutter Radius
An alarm occurs and operation stops if the inside of an arc that is smaller than the cutter radius is
going to be cut.
In the single block mode, operation stops at the end point two blocks ahead of the block which specifies such an operation, and in other modes, operation stops several blocks ahead.
EIOEMM7P6046r01
Eeoemm7p6024
Eeoemm7p6025
EIOEMM7P6047r01
2-6-5.Under-cutting
4292-E P-74
SECTION 6 OFFSET FUNCTIONS
Under-cutting may occur when cutting a step with a height smaller than the cutter radius.
2-6-6.Cautions on Corner Cutting
• When cutting an outside corner, a polygonal tool path is generated. The axis move mode and
feedrate at the corners will follow the commands specified in the next block. If the interpolation
mode in the next block is either G02 or G03, the tool moves in the G01 mode along the generated polygonal tool path.
Eeoemm7p6026
Under-cutting
Eeoemm7p6027
Axis movement for this inserted path is controlled
by the command (F800) specified in N5.
N4 X__Y__
N5 Z__
N6 X__Y__
Z-axis movement is executed at point S
F500
F800
EIOEMM7P6048r01
EIOEMM7P6049r01
• If the tool path inserted to cut a corner is very small (∆Vx and ∆Vy in the illustration), the second
point defining this movement is disregarded.
The second point defining extra
movement is disregarded if ∆Vx ∆V
and ∆Vy ∆V.
∆V value: Set for COMPENSATION
VECTOR CHECK of NC optional
parameter (CUTTER R COMPENSATION )
≤
≤
EIOEMM7P6050r01
In this manner, the additional minute axis movement may be reduced.
SECTION 6 OFFSET FUNCTIONS
Note that this processing is not executed when the next block forms a full circle.
In the illustration shown above, correct movement should be as follows:
1) P0 - P1 - P2 Straight line
2) P2 - P3
3) From point P3 Full circle
However, if the movement from point P2 to point P3 is disregarded due to the minute movement
processing, the movement up to point P3 is as follows:
1) P0 - P1 - P2 Straight line
2) P2 - P3 Arc
Thus, the program generates a minute arc from P2 to P3 and disregards the full circle that should
be generated after P3.
Straight line
4292-E P-75
EIOEMM7P6051r01
2-6-7.Interference
NOTICE
Interference refers to problems in which a cutting tool over-cuts or makes too deep a cut into a
workpiece. The NC always monitors and checks the occurrence of interference.
The NC judges interference to have occurred in the following case:
When the difference between the direction of the programmed path and that of the path resulting
from cutter radius compensation is between 90° and 270°.
It is therefore possible that conditions that do not cause interference are regarded as interference
and conditions that actually cause interference are regarded as an interference-free state.
When a corner is cut along a polygonal tool path, each corner can be formed by up to four points.
To check for interference, two corners, P1, P2, P3, P4 and P5, P6, P7, P8, are evaluated. Interference checks are made sequentially; the first interference check is made between the last point
of a corner (P4) and the first point of the next corner (P5). If an interference is found, the point is
disregarded and the next point is checked. If no interference is found halfway through the procedure, the interference check is not executed for the later points. The movement mode during the
check is straight line movement. For the circular interpolation block, axes move along the
inserted polygonal path in the G01 linear interpolation mode.
If an interference remains after all points have been checked, an interference alarm occurs, but
the very last point is not disregarded. As a result, over-cut can occur if the program is executed in
the single block mode.
4292-E P-76
SECTION 6 OFFSET FUNCTIONS
Eeoemm7p6028
How the interference check is executed is explained below using several examples.
(1) Interference not found
In this example, no interference is found in the first check (N4 → N5 and P4 → P5). Therefore,
no checks are made on the later points and the interference is not discovered.
Although direction P3-P6 is reversed,
this is not checked since there is no
interference in the check on P4-P5.
EIOEMM7P6052r01
4292-E P-77
SECTION 6 OFFSET FUNCTIONS
(2) Interference check resulting in a path change
In this example, the following directions of movement are checked and disregarded because
interference is discovered: N4 - N5, P4 - P5, P3 - P6 and P2 - P7. However, since interference
is not found in the check on P1 - P8, the tool moves along this path (P1 - P8) in the G01 mode.
(3) Interference check resulting in an alarm
In this example, each corner has only one point and point P1 remains and is not disregarded.
In the single block mode, an alarm occurs and operation stops after positioning is executed at
P1. In other operation modes, an alarm occurs and operation stops several blocks ahead of the
block causing positioning at P1.
EIOEMM7P6053r01
(4) Non-interference considered interference
In this example, if N4-N5 is smaller than the cutter diameter, no interference will take place.
However, since the direction of P4-P5 is opposite to that of N4-N5, an interference alarm
occurs.
EIOEMM7P6054r01
EIOEMM7P6055r01
4292-E P-78
SECTION 6 OFFSET FUNCTIONS
(5) Minute arc and quasi-full circle
A minute arc is defined as an arc in which the horizontal and vertical distances from start to end
point is smaller than the value set at ERROR DATA RESULTING FROM CUTTER R COMP.
CAL. of NC optional parameter (cutter R compensation).
A quasi-full circle is defined as an arc which is close to a full circle; the horizontal and vertical
distances of the break is smaller than the value set at ERROR DATA RESULTING FROM CUTTER R COMP. CAL. of NC optional parameter (cutter R compensation).
Minute arc
Quasi-full circle
EIOEMM7P6056r01
Here,
Assume that ∆X ≤ ∆Y and ∆Y ≤ ∆V.∆V: Set at ERROR DATA RESULTING FROM CUTTER R COMP. CAL. of NC optional parameter (cutter R compensation).
For these two types of arcs, special interference checks are provided. “Problem” conditions
detected in minute arcs and quasi-full circles by an interference check are not considered interference, but are regarded as operational errors. In the case of a minute arc, the end point is
disregarded and the shape is regarded as a point; no movements along an arc are executed. In
4292-E P-79
SECTION 6 OFFSET FUNCTIONS
the case of a quasi-full circle, the end point is disregarded and the shape is processed as a full
circle.
P2 is disregarded and circular interpolation
is not executed.
Minute arc
Quasi-full Circle
P2 is disregarded and a full circle
from P1 is formed.
EIOEMM7P6057r01
2-6-8.Manual Data Input
4292-E P-80
SECTION 6 OFFSET FUNCTIONS
• If the cutter radius compensation mode is set while in the MDI mode, or if the MDI mode is set
Eeoemm7p6029
in the cutter radius compensation mode, execution of a block of commands including an axis
movement command is not allowed immediately after their input from the keyboard. In this
case, the commands of the next axis movement must be input before executing the presently
input commands. Alternatively, instead of inputting the next axis movement commands, inputting four successive blocks of commands not including axis movements also allows the execution of the presently input commands.
• In automatic operation with single block function OFF, if the mode is changed to the MDI mode,
the program is executed up to the block immediately ahead of the block that has been read to
the buffer (the line identified by a “>>” symbol on the screen) and then operation stops. The
commands input in the MDI mode are read next to the block in the buffer, then the cutter radius
compensation function is executed.
Stop
MDI input
EIOEMM7P6058r01
Example:
Suppose that the MDI mode is established while block N1 is being executed. If the screen displays
the program shown in Fig. 1, operation stops after block N4 is executed. After the operation is
stopped, the screen displays the program as shown in Fig. 2.
When the commands of block N56 are input from the keyboard and the CYCLE START button is
pressed, block N5 is executed and then operation stops. If the operation mode is returned to an
automatic mode and the CYCLE START button is pressed, blocks are executed in the order N56,
N6', then N7.
2-6-9.Zero Cutter Radius Compensation Amount
4292-E P-81
SECTION 6 OFFSET FUNCTIONS
(1) During start-up
Eeoemm7p6030
The cutter radius compensation mode is established when G41 or G42 is executed in the cancel mode, and the cutter radius compensation mode start-up operation is executed with a cutter
radius compensation amount of zero. In this case, however, cutter radius compensation is not
executed. When the cutter radius compensation number is changed to the one that calls a
compensation amount other than zero in the cutter radius compensation mode, the processing
described in “Changing the Compensation Amount” is executed.
Tool path
Programmed path
N1
N2
N3
N4
G41 X__
X__
X__
Y__
Y__
Y__
D01
D02
Offset data in D01 = 0
Offset data in D02 0
(2) During compensation mode
Even if the cutter radius compensation number is changed to one that calls a compensation
amount of “zero” while in the cutter radius compensation mode, the cancel processing is not
executed, and neither is the cancel mode set. In this case, the processing described in
“Changing the Compensation Amount” is executed. When the cutter radius compensation
number is changed again to one that calls a compensation amount other than zero, the same
processing as described in “Changing the Compensation Amount” is also executed.
EIOEMM7P6060r01
Programmed path
X__
N1
X__
N2
X__
N3
X__
N4
X__
N5
Tool path
Y__
Y__
Y__
Offset data in D01 = 0
D01
Offset data in D02 0
D02
EIOEMM7P6061r01
4292-E P-82
SECTION 6 OFFSET FUNCTIONS
3.Cutter Radius Compensation Mode Override Function
3-1.Automatic Override at Corners
[Function]
In the cutter radius compensation mode, depth of cut may increase while cutting the inside of a corner, resulting in an increased tool load. To reduce the load applied to the tool, feedrates are automatically overridden.
[Setting values]
Set the following four parameters directly in the PARAMETER SET mode.
• *Slowdown distance at the end point of a corner
le: End Point Decelerating Distance of NC optional parameter (cutter R compensation) Setting
range: 0 to 99999.999 mm or 0 to 3937.0078 inches
Default: 0
• Slowdown distance at the start point of a corner
ls: Starting Point Decelerating Distance of NC optional parameter (cutter R compensation)
Setting range: 0 to 99999.999 mm or 0 to 3937.0078 inches
Default: 0
• Slowdown rate
γ: Decelerating Rate of NC optional parameter (cutter R compensation)
Setting range: 1 to 100%
Default: 100%
• Angle of inside cut
θ: Corner's Internal Identification Angle of NC optional parameter (cutter R compensation)Setting range: 1 to 179°
Eeoemm7p6031
Default: 90°
Programmed path
Tool path
N1 X__Y__F1000
N2 X__Y__F2000
Feedrate
4292-E P-83
SECTION 6 OFFSET FUNCTIONS
A : Override ON position
B : Position at which
positioning is carried
out by the N1 block
commands
C : Override OFF position
Position
EIOEMM7P6062r01
• Requirements for turning ON the override function
The override function will be turned ON if both of the two blocks that form a corner satisfy the
following requirements.
• The block is specified in the cutter radius compensation mode.
• The axis movement mode is G01, G02, or G03.
• The corner's inner angle is smaller than the value, θ, set for the “angle of inside cut”.
• No more than three blocks calling no axis movements are entered between these two
blocks.
• G40, G41, or G42 is not specified in these two blocks.
• A rotary axis command is not specified in these two blocks.
• The slowdown rate is not 100%.
• The direction of compensation does not change.
• The slowdown distance at the corner start point and end point is not “0”.
The override function is also valid for F1-digit feed commands as long as the above requirements
are satisfied.
The override function is invalid for dry run operation even if the above requirements are satisfied.
3-2.Circular Arc Inside Cutting Override
4292-E P-84
SECTION 6 OFFSET FUNCTIONS
[Function]
Eeoemm7p6032
In the cutter radius compensation mode, feedrate is normally controlled so that the feedrate on the
tool path (the path along which the tool center moves) will be the specified feedrate. When cutting
the inside of a circular arc, however, the feedrate is overridden so that the feedrate on the programmed path will the feedrate specified in the program.
[Setting value]
The lower limit of the feedrate for cutting the inside of a circular arc is set.
Override rate: Set at Decelerating Rate For Comp. Arc's Internal Override of NC optional parameter
(cutter R compensation)
Setting range: 1 to 100%
Default: 100%
Programmed path
Tool path
EIOEMM7P6063r01
[Details]
• When cutting the inside of an arc as shown in the illustration above, the actual feedrate is
expressed by the formulas indicated below.
γc
1.
x 100 ≥ Parameter setting
γp
Actual feedrate = Programmed feedrate x
γc
2.
x 100 < Parameter setting
γp
Actual feedrate = Programmed feedrate x Parameter setting
γc
γp
EIOEMM7P6064r01
• Requirements for turning ON the circular arc inside cutting override function
The override function will be turned ON when the following requirements are satisfied.
• The block is specified in the cutter radius compensation mode.
• Inside cutting of a circular arc is being executed.
• The above two override functions are effective for both F4-digit and F1-digit commands
specified in the tool radius compensation mode.
• If override functions (automatic corner override, arc inside cutting override, and standard F4digit feed command override) overlap, the actual feedrate is obtained by the following calculation.
The three-dimensional tool offset function executes tool offset in three dimensions based on the axis
move commands and the I, J, and K values which specify the tool offset direction.
4-1.Three-dimensional Tool Offset Start-up
[Programming format]
The three-dimensional offset mode will begin when the following command is executed during the
cancel mode for tool offset (cutter radius compensation, three-dimensional tool offset):
G44 Xp__ Yp__ Zp__ I__ J__ K__ D__
[Details]
• The three-dimensional space where the offset will be applied is determined by the axis
addresses (Xp, Yp, Zp) specified in this start-up block. If axis addresses are not specified in the
start-up block, the default settings that apply are the X-, Y-, and/or Z-axes.
Example:
G44 X__ I__ J__ K__X, Y, Z space
G44 U__ V__ Z__ I__ J__ K__U, V, Z space
G44 W__ I__ J__ K__X, Y, W space
Where
Xp is the X-axis or its parallel axis, U
Yp is the Y-axis or its parallel axis, V
Zp is the Z-axis or its parallel axis, W
Eeoemm7p6033
Eeoemm7p6034
EIOEMM7P6077r01
• If none of the X, Y, and Z axes are specified, the axes move by the tool offset amount, D.
Tool path
3D offset vectorprogrammed path
• At the start-up, if any of the values for I, J, and K is not specified, “0” is assumed for the
address(es).
• The tool offset number, or compensation amount, is specified by a D command, just as with the
cutter radius compensation function.
• The standard three-dimensional tool offset numbers are D00 to D50, and this can be expanded
to D00 to D100, D200, or D300.
• If no D command is specified, the previously specified D number will be used. If there is no previously specified D command, D00 will be assumed to apply.
N1 G44N2I__J__K__
X__Y__Z__
EIOEMM7P6066r01
4292-E P-86
SECTION 6 OFFSET FUNCTIONS
• Even with a tool offset amount of zero (D00), the three-dimensional offset mode will be started,
but no offset movement will take place.
In the three-dimensional tool offset mode, a three-dimensional offset vector is generated at the end
of each block, as shown in the illustration below.
Tool path in the G44 mode
Programmed path
[Function]
A three-dimensional offset vector is expressed as indicated below.
3D offset vector
EIOEMM7P6067r01
Eeoemm7p6035
EIOEMM7P6068r01
Xp-axis vector component: Vx =
Yp-axis vector component: Vy =
Zp-axis vector component: Vz =
i x γ
p
j x γ
p
k x γ
p
EIOEMM7P6069r01
i, j, k: Values specified by the addresses I, J, and K.
γ: Cutter radius compensation amount that corresponds to the cutter radius offset number specified
by D
p: Value set for a parameter. When “0” is set for the parameter, the value of p is obtained by the following formula.
P =
2
i
+ j2 + k
2
EIOEMM7P6070r01
Default: 0
4292-E P-87
SECTION 6 OFFSET FUNCTIONS
Setting range: 0 to ±99999.999 mm or 0 to ±3937.0078 inches
Parameter: NC optional parameter (long word) No. 7
[Details]
In a block where none of I, J, and K is specified, the same vector as the one generated in the previous block is generated.
• In a block where one of I, J, and K is not specified, a vector with a zero component in the omitted direction is generated.
• If no axis movement command (Xp, Yp, and Zp) is specified although I, J, and K are specified,
only the vector is updated and the axes move according to the vector changes.
Axis movement by vector change amount
Tool path
N1 X__Y__Z__
N2 I__J__K__
N3 X__Y__Z__
Programmed path
EIOEMM7P6071r01
• I, J, and K specified in a G02 or G03 block (arc or helical cutting) are used to indicate the coordinates of the center of that arc. In this case, the same vector as the one generated in the preceding block is generated.
The same block as generated
in the preceding block is generated.
Tool path
Vector generated in the block
Programmed path
ahead of the circular interpolation block
EIOEMM7P6072r01
• At the start-up of the three-dimensional offset, if the axis name of a parallel axis is used for the
axis names that define the three-dimensional space, the three-dimensional offset is not valid for
the basic axis of the specified parallel axis. This designation does not cause an alarm to occur.
N1G44 W__ I__ J__ K__Specifies XYW space
N1X_ _Y__
N3Z__Z-axis is not offset.
EIOEMM7P6078r01
4-3.Canceling Three-dimensional Tool Offset
4292-E P-88
SECTION 6 OFFSET FUNCTIONS
G43 is used to cancel the three-dimensional tool offset mode.
Eeoemm7p6036
(a) Canceling in a block with axis commands
Tool path
N1
N2 G43
Programmed path
X__Y__Z__
X__Y__Z__
(b) Canceling in a block without other commands
Tool path
N1
N2 G43
N3
Programmed path
X__Y__Z__
X__Y__Z__
(c) Setting tool offset number to D00 (zero offset amount)
If an axis movement command is executed by changing the tool offset number to D00, which
calls for zero offset amount, although the axes move in the same manner as when canceling the
three-dimensional offset mode, the three-dimensional offset mode is not canceled.
EIOEMM7P6073r01
EIOEMM7P6074r01
Tool path
Programmed path
X__Y__Z__
N1
D00
N2
X__Y__Z__
N3
X__Y__Z__
N4
X__Y__Z__D01
N5
X__Y__Z__
N6
If D01 is specified independently in block N5, the axes will not move.
4-4.Actual Position Data Display And Feedrate
The coordinate values on the position display screen indicate the actual tool path after offset.
The feedrate is controlled so that the axes move along the offset tool path at the programmed feedrate.
EIOEMM7P6075r01
Eeoemm7p6037
4-5.Relationship with Other G Functions
4292-E P-89
SECTION 6 OFFSET FUNCTIONS
• G codes that must not be specified in the three-dimensional tool offset mode.
G15, G16, G40, G41, G42, G92
G codes for area machining
G codes for coordinate system parallel shift/rotation
G codes calling a fixed cycle
• The three-dimensional tool offset command must not be specified in the fixed cycle mode.
4-6.Relationship to Other Tool Offset Functions
(1) Tool length offset (G53 - G56)
The three-dimensional tool offset mode may be executed in the tool length offset mode; and the
tool length offset mode may be executed in the three-dimensional tool offset mode. In these
cases, tool length offset and three-dimensional tool offset are executed simultaneously.
Example:
Three-dimensional tool offset command is specified in the tool length offset mode.
Tool length offset vector
Tool path
Eeoemm7p6038
Eeoemm7p6039
N1 G56
N2 G44
N3
N4 G53
N5 G43
Programmed path
X__Y__Z__H01
X__Y__Z__I__J__K__D02
X__Y__Z__
X__Y__Z__
X__Y__Z__
... Tool length offset mode
... Three-dimensional tool offset mode
... Cancels tool length offset mode
... Cancels three-dimensional tool offset mode
Three-dimensional tool offset vector
(2) Cutter radius compensation (G40 to G42)
An alarm occurs if a cutter radius compensation command (G41 or G42) is specified in the
three-dimensional tool offset mode, or if a three-dimensional tool offset command (G44) is
specified in the cutter radius compensation mode. Therefore, these two offset functions must
not be performed simultaneously.
EIOEMM7P6076r01
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.